pCon.planner Plugin SDK  Version 8.9
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Properties Events
Public Member Functions | Static Public Member Functions | Static Public Attributes | List of all members
X3g::Plugin::GeMatrix Class Reference

Matrix class. More...

Public Member Functions

 GeMatrix ()
 Creates an identity matrix. More...
 
 GeMatrix (double a00, double a01, double a02, double a03, double a10, double a11, double a12, double a13, double a20, double a21, double a22, double a23, double a30, double a31, double a32, double a33)
 Creates a matrix from each component. More...
 
 GeMatrix (array< double >^pValues)
 Creates matrix from array with 16 elements. More...
 
 GeMatrix (GeMatrix^ other)
 Duplicates a matrix. More...
 
 GeMatrix (GeVec3d xAxis, GeVec3d yAxis, GeVec3d zAxis, GeVec3d origin)
 Creates a transformation, based on a coordinate system. More...
 
virtual StringToString () override
 Serializes the matrix. More...
 
array< double >^ Get ()
 Return the components of this matrix as double array with 16 elements. More...
 
void Decompose ([Out] GeVec3d% pTranslation,[Out] GeQuat% pRotation,[Out] GeVec3d% pScale,[Out] GeQuat% pScaleOrientation)
 Decomposes this matrix into translation, rotation, scale and scale orientation. More...
 
GeMatrixPreMult (GeMatrix^ pOther)
 Performs matrix multiplication pOther*this. More...
 
GeMatrixPostMult (GeMatrix^ pOther)
 Performs matrix multiplication this*other. More...
 
GeVec2d Transform (GeVec2d v)
 Transforms a vector. More...
 
GeVec2f Transform (GeVec2f v)
 Transforms a vector. More...
 
GeVec3d Transform (GeVec3d v)
 Transforms a vector. More...
 
GeVec3f Transform (GeVec3f v)
 Transforms a vector. More...
 
GeVec4d Transform (GeVec4d v)
 Transforms a vector. More...
 
GeVec4f Transform (GeVec4f v)
 Transforms a vector. More...
 
GeVec3d TransformDirection (GeVec3d v)
 Transforms a vector with this matrix by transforming its rotation and scale only. More...
 
GeVec3f TransformDirection (GeVec3f v)
 Transforms a vector with this matrix by transforming its rotation and scale only. More...
 
bool IsIdentity ()
 Returns true if this matrix is the identity matrix. More...
 
virtual bool Equals (System::Object^ pOther) override
 Returns true if this matrix equals another matrix. More...
 

Static Public Member Functions

static GeMatrixTranslate (double x, double y, double z)
 Creates a translation transformation. More...
 
static GeMatrixTranslate (GeVec3d v)
 Creates a translation transformation. More...
 
static GeMatrixTranslate (GeVec3f v)
 Creates a translation transformation. More...
 
static GeMatrixScale (double x, double y, double z)
 Creates a scaling transformation. More...
 
static GeMatrixScale (double v)
 Creates a uniform scaling transformation. More...
 
static GeMatrixScale (GeVec3d v)
 Creates a scaling transformation. More...
 
static GeMatrixScale (GeVec3f v)
 Creates a scaling transformation. More...
 
static GeMatrixRotate (double angle, double x, double y, double z)
 Creates a rotation transformation. More...
 
static GeMatrixRotate (double angle, GeVec3d axis)
 Creates a rotation transformation. More...
 
static GeMatrixRotate (double angle, GeVec3f axis)
 Creates a rotation transformation. More...
 
static GeMatrixRotate (GeQuat q)
 Creates rotation matrix from quaternion. More...
 
static GeMatrixInvert (GeMatrix^ pMatrix)
 Invertes a matrix. More...
 
static GeMatrixTranspose (GeMatrix^ pMatrix)
 Transposes a matrix. More...
 
static GeMatrixNormalMatrix (GeMatrix^ pMatrix)
 Returns the transposed inverse of the linear part. More...
 

Static Public Attributes

static GeMatrixIdentity = gcnew GeMatrix()
 Identity matrix. More...
 

Detailed Description

Matrix class.

Constructor & Destructor Documentation

X3g::Plugin::GeMatrix::GeMatrix ( )

Creates an identity matrix.

X3g::Plugin::GeMatrix::GeMatrix ( double  a00,
double  a01,
double  a02,
double  a03,
double  a10,
double  a11,
double  a12,
double  a13,
double  a20,
double  a21,
double  a22,
double  a23,
double  a30,
double  a31,
double  a32,
double  a33 
)

Creates a matrix from each component.

X3g::Plugin::GeMatrix::GeMatrix ( array< double >^  pValues)

Creates matrix from array with 16 elements.

X3g::Plugin::GeMatrix::GeMatrix ( GeMatrix other)

Duplicates a matrix.

X3g::Plugin::GeMatrix::GeMatrix ( GeVec3d  xAxis,
GeVec3d  yAxis,
GeVec3d  zAxis,
GeVec3d  origin 
)

Creates a transformation, based on a coordinate system.

Member Function Documentation

void X3g::Plugin::GeMatrix::Decompose ( [Out] GeVec3d pTranslation,
[Out] GeQuat pRotation,
[Out] GeVec3d pScale,
[Out] GeQuat pScaleOrientation 
)

Decomposes this matrix into translation, rotation, scale and scale orientation.

bool X3g::Plugin::GeMatrix::Equals ( System::Object^  pOther)
overridevirtual

Returns true if this matrix equals another matrix.

array< double > X3g::Plugin::GeMatrix::Get ( )

Return the components of this matrix as double array with 16 elements.

GeMatrix X3g::Plugin::GeMatrix::Invert ( GeMatrix pMatrix)
static

Invertes a matrix.

bool X3g::Plugin::GeMatrix::IsIdentity ( )

Returns true if this matrix is the identity matrix.

GeMatrix X3g::Plugin::GeMatrix::NormalMatrix ( GeMatrix pMatrix)
static

Returns the transposed inverse of the linear part.

Normal matrix may be used to transform normals.

GeMatrix X3g::Plugin::GeMatrix::PostMult ( GeMatrix pOther)

Performs matrix multiplication this*other.

If result is used to transform a vector the order is vector*this*other;

GeMatrix X3g::Plugin::GeMatrix::PreMult ( GeMatrix pOther)

Performs matrix multiplication pOther*this.

If result is used to transform a vector the order is vector*other*this;

GeMatrix X3g::Plugin::GeMatrix::Rotate ( double  angle,
double  x,
double  y,
double  z 
)
static

Creates a rotation transformation.

Angle in radians.

GeMatrix X3g::Plugin::GeMatrix::Rotate ( double  angle,
GeVec3d  axis 
)
static

Creates a rotation transformation.

Angle in radians.

GeMatrix X3g::Plugin::GeMatrix::Rotate ( double  angle,
GeVec3f  axis 
)
static

Creates a rotation transformation.

Angle in radians.

GeMatrix X3g::Plugin::GeMatrix::Rotate ( GeQuat  q)
static

Creates rotation matrix from quaternion.

GeMatrix X3g::Plugin::GeMatrix::Scale ( double  x,
double  y,
double  z 
)
static

Creates a scaling transformation.

GeMatrix X3g::Plugin::GeMatrix::Scale ( double  v)
static

Creates a uniform scaling transformation.

GeMatrix X3g::Plugin::GeMatrix::Scale ( GeVec3d  v)
static

Creates a scaling transformation.

GeMatrix X3g::Plugin::GeMatrix::Scale ( GeVec3f  v)
static

Creates a scaling transformation.

String X3g::Plugin::GeMatrix::ToString ( )
overridevirtual

Serializes the matrix.

GeVec2d X3g::Plugin::GeMatrix::Transform ( GeVec2d  v)

Transforms a vector.

GeVec2f X3g::Plugin::GeMatrix::Transform ( GeVec2f  v)

Transforms a vector.

GeVec3d X3g::Plugin::GeMatrix::Transform ( GeVec3d  v)

Transforms a vector.

GeVec3f X3g::Plugin::GeMatrix::Transform ( GeVec3f  v)

Transforms a vector.

GeVec4d X3g::Plugin::GeMatrix::Transform ( GeVec4d  v)

Transforms a vector.

GeVec4f X3g::Plugin::GeMatrix::Transform ( GeVec4f  v)

Transforms a vector.

GeVec3d X3g::Plugin::GeMatrix::TransformDirection ( GeVec3d  v)

Transforms a vector with this matrix by transforming its rotation and scale only.

GeVec3f X3g::Plugin::GeMatrix::TransformDirection ( GeVec3f  v)

Transforms a vector with this matrix by transforming its rotation and scale only.

GeMatrix X3g::Plugin::GeMatrix::Translate ( double  x,
double  y,
double  z 
)
static

Creates a translation transformation.

GeMatrix X3g::Plugin::GeMatrix::Translate ( GeVec3d  v)
static

Creates a translation transformation.

GeMatrix X3g::Plugin::GeMatrix::Translate ( GeVec3f  v)
static

Creates a translation transformation.

GeMatrix X3g::Plugin::GeMatrix::Transpose ( GeMatrix pMatrix)
static

Transposes a matrix.

Member Data Documentation

GeMatrix ^ X3g::Plugin::GeMatrix::Identity = gcnew GeMatrix()
static

Identity matrix.