Simplygon C++ API  8.3.35800.0
SimplygonSDK::IMatrix4x4 Class Referenceabstract

#include <SimplygonSDK.h>

Inheritance diagram for SimplygonSDK::IMatrix4x4:
SimplygonSDK::IObject

Public Member Functions

virtual void DeepCopy (IMatrix4x4 *mtxin)=0
 
virtual real Determinant3x3 ()=0
 
virtual void Direction3ArrayMultiply (IRealArray *vecarray)=0
 
virtual const char * GetClass ()
 
virtual real GetElement (unsigned int column, unsigned int row)=0
 
virtual void GetElements (real *realReturnDataPtr)=0
 
virtual void Identity ()=0
 
virtual void Invert ()=0
 
virtual void Invert (IMatrix4x4 *mtxin)=0
 
virtual bool IsA (const char *type) const
 
virtual void Point3ArrayMultiply (IRealArray *vecarray)=0
 
virtual void SetElement (unsigned int column, unsigned int row, real value)=0
 
virtual void SetToRotationTransform (real angle, real ax, real ay, real az)=0
 
virtual void SetToScalingTransform (real sx, real sy, real sz)=0
 
virtual void SetToTranslationTransform (real tx, real ty, real tz)=0
 
virtual void Transpose ()=0
 
virtual void Transpose (IMatrix4x4 *mtxin)=0
 
virtual void Vector4ArrayMultiply (IRealArray *vecarray)=0
 
virtual void Zero ()=0
 
- Public Member Functions inherited from SimplygonSDK::IObject
virtual rid AddObserver (robserver *Observer, rid EventId)=0
 
virtual void AddRef ()=0
 
virtual rstring GetName ()=0
 
virtual void * GetUserComponentArea (rid userid)=0
 
virtual void PrintInfo ()=0
 
virtual void Release ()=0
 
virtual void RemoveObserver (rid ObserverId)=0
 
virtual void SetName (const char *Name)=0
 

Static Public Member Functions

static bool IsClassA (const char *type)
 
static IMatrix4x4SafeCast (IObject *ptr)
 
- Static Public Member Functions inherited from SimplygonSDK::IObject
static bool IsClassA (const char *type)
 
static IObjectSafeCast (IObject *ptr)
 

Detailed Description

IMatrix4x4 is used to represent and manipulate 4x4 transformation matrices, which can be either standard matrices, or homogeneous 4x4 matrices used to transform 3D homogeneous coordinates [x y z w]. The transformations are defined in row-major order.

Definition at line 7306 of file SimplygonSDK.h.

Member Function Documentation

◆ DeepCopy()

virtual void SimplygonSDK::IMatrix4x4::DeepCopy ( IMatrix4x4 mtxin)
pure virtual

Copies the contents of an input matrix to the current matrix

Parameters
mtxinis the source matrix

◆ Determinant3x3()

virtual real SimplygonSDK::IMatrix4x4::Determinant3x3 ( )
pure virtual

Returns the top 3x3 determinant

◆ Direction3ArrayMultiply()

virtual void SimplygonSDK::IMatrix4x4::Direction3ArrayMultiply ( IRealArray vecarray)
pure virtual

Multiply in-place an array with 3D direction vectors [x y z 0].

Parameters
vecarrayis the vectors to be multiplied and written to

◆ GetClass()

virtual const char* SimplygonSDK::IMatrix4x4::GetClass ( )
virtual

GetClass returns the name of the class of the object.

Returns
the name of the actual class of the object, as a const char string

Reimplemented from SimplygonSDK::IObject.

◆ GetElement()

virtual real SimplygonSDK::IMatrix4x4::GetElement ( unsigned int  column,
unsigned int  row 
)
pure virtual

Get a matrix element.

Parameters
columnis column index
rowis the row index
Returns
the value of the element

◆ GetElements()

virtual void SimplygonSDK::IMatrix4x4::GetElements ( real realReturnDataPtr)
pure virtual

Gets the elements of the matrix

Parameters
realReturnDataPtrpointer to a user-provided data area to receive the return value. Note! Needs to be at least 16 elements in size
Returns
an array containing all elements

◆ Identity()

virtual void SimplygonSDK::IMatrix4x4::Identity ( )
pure virtual

Set the current matrix to the identity matrix.

◆ Invert() [1/2]

virtual void SimplygonSDK::IMatrix4x4::Invert ( )
pure virtual

Invert the current matrix.

◆ Invert() [2/2]

virtual void SimplygonSDK::IMatrix4x4::Invert ( IMatrix4x4 mtxin)
pure virtual

Invert the input matrix and save it to the current matrix.

Parameters
mtxinis the input matrix

◆ IsA()

virtual bool SimplygonSDK::IMatrix4x4::IsA ( const char *  type) const
virtual

The IsA function returns true if the object is a or is a descendant of the class named as the type parameter

Parameters
typeis the name of the class to check if the object is, or is a descendant of
Returns
true if the object is of the specified class, false if not

Reimplemented from SimplygonSDK::IObject.

◆ IsClassA()

static bool SimplygonSDK::IMatrix4x4::IsClassA ( const char *  type)
inlinestatic

The IsClassA function returns true if IMatrix4x4 is a or is a descendant of the class named as the type parameter

Parameters
typeis the name of the class to check if the class is, or is a descendant of
Returns
true if the class is of the specified class, false if not

Definition at line 7327 of file SimplygonSDK.h.

◆ Point3ArrayMultiply()

virtual void SimplygonSDK::IMatrix4x4::Point3ArrayMultiply ( IRealArray vecarray)
pure virtual

Multiply in-place an array with 3D points [x y z 1].

Parameters
vecarrayis the vectors to be multiplied and written to

◆ SafeCast()

static IMatrix4x4* SimplygonSDK::IMatrix4x4::SafeCast ( IObject ptr)
inlinestatic

SafeCast makes sure the pointer is of a class that can be cast into a IMatrix4x4 pointer, and if this is possible, returns the cast pointer.

Parameters
ptris the pointer to be cast into a IMatrix4x4 pointer
Returns
a pointer to the IMatrix4x4 object, if the cast can be made, and a NULL pointer otherwise

Definition at line 7340 of file SimplygonSDK.h.

◆ SetElement()

virtual void SimplygonSDK::IMatrix4x4::SetElement ( unsigned int  column,
unsigned int  row,
real  value 
)
pure virtual

Set a matrix element.

Parameters
columnis column index
rowis the row index
valueis the value to which the element will be set

◆ SetToRotationTransform()

virtual void SimplygonSDK::IMatrix4x4::SetToRotationTransform ( real  angle,
real  ax,
real  ay,
real  az 
)
pure virtual

Creates a 3D rotation in a homogeneous transformation 4x4 matrix around the specified axis.

Parameters
angleis the angle
axis the x component of the rotation axis
ayis the y component of the rotation axis
azis the z component of the rotation axis

◆ SetToScalingTransform()

virtual void SimplygonSDK::IMatrix4x4::SetToScalingTransform ( real  sx,
real  sy,
real  sz 
)
pure virtual

Creates a 3D scaling in a homogeneous transformation 4x4 matrix

Parameters
sxis the x component of the scaling
syis the y component of the scaling
szis the z component of the scaling

◆ SetToTranslationTransform()

virtual void SimplygonSDK::IMatrix4x4::SetToTranslationTransform ( real  tx,
real  ty,
real  tz 
)
pure virtual

Creates a 3D translation in a homogeneous 4x4 matrix.

Parameters
txis the x component of the scaling
tyis the y component of the scaling
tzis the z component of the scaling

◆ Transpose() [1/2]

virtual void SimplygonSDK::IMatrix4x4::Transpose ( )
pure virtual

Transpose the current matrix

◆ Transpose() [2/2]

virtual void SimplygonSDK::IMatrix4x4::Transpose ( IMatrix4x4 mtxin)
pure virtual

Transpose the input matrix and save it to the current matrix.

Parameters
mtxinis the input matrix

◆ Vector4ArrayMultiply()

virtual void SimplygonSDK::IMatrix4x4::Vector4ArrayMultiply ( IRealArray vecarray)
pure virtual

Multiply in-place an array with full 4D vectors [x y z w].

Parameters
vecarrayis the vectors to be multiplied and written to

◆ Zero()

virtual void SimplygonSDK::IMatrix4x4::Zero ( )
pure virtual

Set the current matrix to the zero matrix (all zeros).


The documentation for this class was generated from the following file: