MKI_3D_MATRIX (Basic Classes) New in Version 2026.1

www.CAD6.com

This class contains a 4 x 3 matrix for 3D modification purposes.

 

C++ Syntax

class MKI_3D_MATRIX

{

  public:

 

  double vx,

         vy,

         vz;

 

  MKI_3D_MATRIX( void );

 

  MKI_3D_MATRIX(

 MKI_3D_MATRIX* f_pThis );

 

  MKI_3D_MATRIX(

 const double f_d11,

 const double f_d12,

 const double f_d13,

 const double f_d21,

 const double f_d22,

 const double f_d23,

 const double f_d31,

 const double f_d32,

 const double f_d33,

 const double f_d41,

 const double f_d42,

 const double f_d43 );

 

  bool

  operator ==(

 const MKI_3D_MATRIX& f_rMatrix ) const;

 

  bool

  operator !=(

 const MKI_3D_MATRIX& f_rMatrix ) const;

 

  void

  Init( void );

 

  void

  SetZero( void );

 

  double

  x(

 const double f_dX,

 const double f_dY,

 const double f_dZ ) const;

 

  double

  y(

 const double f_dX,

 const double f_dY,

 const double f_dZ ) const;

 

  double

  z(

 const double f_dX,

 const double f_dY,

 const double f_dZ ) const;

 

  double

  x(

 const MKI_3D_POINT& f_rPoint ) const;

 

  double

  y(

 const MKI_3D_POINT& f_rPoint ) const;

 

  double

  z(

 const MKI_3D_POINT& f_rPoint ) const;

 

  double

  dx(

 const double f_dX,

 const double f_dY,

 const double f_dZ ) const;

 

  double

  dy(

 const double f_dX,

 const double f_dY,

 const double f_dZ ) const;

 

  double

  dz(

 const double f_dX,

 const double f_dY,

 const double f_dZ ) const;

 

  double

  dx(

 const MKI_3D_VECTOR& f_rVector ) const;

 

  double

  dy(

 const MKI_3D_VECTOR& f_rVector ) const;

 

  double

  dz(

 const MKI_3D_VECTOR& f_rVector ) const;

 

  void

  Optimize( void );

 

  void

  RotateX(

 const double f_dAlpha );

 

  void

  RotateY(

 const double f_dBeta );

 

  void

  RotateZ(

 const double f_dGamma );

 

  void

  DistortX(

 const double f_dAlpha );

 

  void

  DistortY(

 const double f_dBeta );

 

  void

  DistortZ(

 const double f_dGamma );

 

  void

  Move(

 const double f_dX,

 const double f_dY,

 const double f_dZ );

 

  void

  Move(

 const MKI_3D_VECTOR& f_rVector );

 

  void

  Scale(

 const double f_dX,

 const double f_dY,

 const double f_dZ );

 

  void

  Scale(

 const double f_dFactor );

 

  void

  Scale(

 const MKI_3D_VECTOR& f_rVector );

 

  void

  Multiply(

 MKI_CONST_MATRIX_REF f_rFactor );

 

  void

  Multiply(

 const MKI_3D_MATRIX& f_rFactor );

 

  void

  SetMultiply(

 const MKI_3D_MATRIX& f_rBase,

 const MKI_3D_MATRIX& f_rFactor );

 

  bool

  Separate(

 double* f_pRotateX,

 double* f_pRotateY,

 double* f_pRotateZ ) const;

 

  double

  Determinant( void ) const;

 

  bool

  Normalize( void );

 

  bool

  SetInvert(

 const MKI_3D_MATRIX& f_rSource );

 

  bool

  Invert( void );

 

  bool

  IsStandard( void ) const;

 

  bool

  IsIdentical(

 const MKI_3D_MATRIX& f_rMatrix ) const;

};

 

Element Description

m11, m12, m13

[double] First line of a 4 × 3 matrix.

m21, m22, m23

[double] Second line of a 4 × 3 matrix.

m31, m32, m33

[double] Third line of a 4 × 3 matrix.

m41, m42, m43

[double] Fourth line of a 4 × 3 matrix.

 

MKD Syntax

Unused.

 

CAD6interface 2026.1 - Copyright 2026 Malz++Kassner® GmbH