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

#include <SimplygonSDK.h>

Inheritance diagram for SimplygonSDK::ITransform3:
SimplygonSDK::IObject

Public Member Functions

virtual void AddRotation (real angle, real rx, real ry, real rz)=0
 
virtual void AddScaling (real sx, real sy, real sz)=0
 
virtual void AddTransformation (IMatrix4x4 *transform)=0
 
virtual void AddTransformation (ITransform3 *transform)=0
 
virtual void AddTranslation (real tx, real ty, real tz)=0
 
virtual void Clear ()=0
 
virtual const char * GetClass ()
 
virtual CountedPointer< IMatrix4x4GetMatrix ()=0
 
virtual CountedPointer< IRealArrayGetStack ()=0
 
virtual bool IsA (const char *type) const
 
virtual bool IsPostMultiply ()=0
 
virtual bool IsPreMultiply ()=0
 
virtual void Pop ()=0
 
virtual void PostMultiply ()=0
 
virtual void PreMultiply ()=0
 
virtual void Push ()=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 ITransform3SafeCast (IObject *ptr)
 
- Static Public Member Functions inherited from SimplygonSDK::IObject
static bool IsClassA (const char *type)
 
static IObjectSafeCast (IObject *ptr)
 

Detailed Description

ITransform3 handles homogeneous 4x4 transforms, i.e. transformations which can be represented by multiplying a 4x4 matrix with a homogeneous 3D coordinate.
ITransform3 can either pre-multiply a matrix onto the transformation, which will add a transform around the current transform, or it can post-multiply the matrix, which will add a transform inside the current transform. Post-multiply is the default mode.

Definition at line 7479 of file SimplygonSDK.h.

Member Function Documentation

◆ AddRotation()

virtual void SimplygonSDK::ITransform3::AddRotation ( real  angle,
real  rx,
real  ry,
real  rz 
)
pure virtual

Concatenates a rotation transform to the current transform

Parameters
anglethe rotation angle around the axis
rxthe x axis rotation component
rythe y axis rotation component
rzthe z axis rotation component

◆ AddScaling()

virtual void SimplygonSDK::ITransform3::AddScaling ( real  sx,
real  sy,
real  sz 
)
pure virtual

Concatenates a scaling transform to the current transform

Parameters
sxthe scaling vector's x axis component
sythe scaling vector's y axis component
szthe scaling vector's z axis component

◆ AddTransformation() [1/2]

virtual void SimplygonSDK::ITransform3::AddTransformation ( IMatrix4x4 transform)
pure virtual

Concatenates a generic transform to the current transform

Parameters
transformthe input transform

◆ AddTransformation() [2/2]

virtual void SimplygonSDK::ITransform3::AddTransformation ( ITransform3 transform)
pure virtual

Concatenates a generic transform to the current transform

Parameters
transformthe input transform

◆ AddTranslation()

virtual void SimplygonSDK::ITransform3::AddTranslation ( real  tx,
real  ty,
real  tz 
)
pure virtual

Concatenates a translation transform to the current transform

Parameters
txthe translation vector's x component
tythe translation vector's y component
tzthe translation vector's z component

◆ Clear()

virtual void SimplygonSDK::ITransform3::Clear ( )
pure virtual

Resets the transformation to the identity transform, resets the multiplication mode to postmultiply, and clears the matrix stack

◆ GetClass()

virtual const char* SimplygonSDK::ITransform3::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.

◆ GetMatrix()

virtual CountedPointer<IMatrix4x4> SimplygonSDK::ITransform3::GetMatrix ( )
pure virtual

Get the matrix that is used to specify the transform

Returns
the transform matrix

◆ GetStack()

virtual CountedPointer<IRealArray> SimplygonSDK::ITransform3::GetStack ( )
pure virtual

Get the real array that is used to store the matrix stack

Returns
the matrix stack array

◆ IsA()

virtual bool SimplygonSDK::ITransform3::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::ITransform3::IsClassA ( const char *  type)
inlinestatic

The IsClassA function returns true if ITransform3 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 7500 of file SimplygonSDK.h.

◆ IsPostMultiply()

virtual bool SimplygonSDK::ITransform3::IsPostMultiply ( )
pure virtual

Get the transform concatenation mode.

Returns
true if the mode is set to post-multiply, false otherwise

◆ IsPreMultiply()

virtual bool SimplygonSDK::ITransform3::IsPreMultiply ( )
pure virtual

Get the transform concatenation mode.

Returns
true if the mode is set to pre-multiply, false otherwise

◆ Pop()

virtual void SimplygonSDK::ITransform3::Pop ( )
pure virtual

Pops the topmost matrix on the the matrix stack, and replaces the current transform with the popped matrix.

◆ PostMultiply()

virtual void SimplygonSDK::ITransform3::PostMultiply ( )
pure virtual

Set the transform concatenation mode to post-multiply, any added transform will be concatenated using this mode.

◆ PreMultiply()

virtual void SimplygonSDK::ITransform3::PreMultiply ( )
pure virtual

Set the transform concatenation mode to pre-multiply, any added transform will be concatenated using this mode.

◆ Push()

virtual void SimplygonSDK::ITransform3::Push ( )
pure virtual

Pushes the current transform onto the matrix stack

◆ SafeCast()

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

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

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

Definition at line 7513 of file SimplygonSDK.h.


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