Trimming & cutting from python

This commit is contained in:
wmayer
2012-08-15 15:47:57 +02:00
parent 8599c154d4
commit e152820fc8
6 changed files with 154 additions and 4 deletions

View File

@@ -587,6 +587,16 @@ void Matrix_invert (Matrix a, Matrix inva)
Matrix_gauss(temp,inva);
}
void Matrix4D::inverseOrthogonal(void)
{
Base::Vector3d c(dMtrx4D[0][3],dMtrx4D[1][3],dMtrx4D[2][3]);
transpose();
c = this->operator * (c);
dMtrx4D[0][3] = -c.x; dMtrx4D[3][0] = 0;
dMtrx4D[1][3] = -c.y; dMtrx4D[3][1] = 0;
dMtrx4D[2][3] = -c.z; dMtrx4D[3][2] = 0;
}
void Matrix4D::inverseGauss (void)
{
double matrix [16];

View File

@@ -135,6 +135,8 @@ public:
void transform (const Vector3f& rclVct, const Matrix4D& rclMtrx);
void transform (const Vector3d& rclVct, const Matrix4D& rclMtrx);
void inverse (void);
/// if matrix is orthogonal a special way of getting the inverse is used
void inverseOrthogonal(void);
void inverseGauss (void);
void transpose (void);
//@}