Assimp
v3.1.1 (June 2014)
|
The MakeLeftHandedProcess converts all imported data to a left-handed coordinate system. More...
Inherits Assimp::BaseProcess.
Public Member Functions | |
void | Execute (aiScene *pScene) |
Executes the post processing step on the given imported data. More... | |
bool | IsActive (unsigned int pFlags) const |
Returns whether the processing step is present in the given flag. More... | |
MakeLeftHandedProcess () | |
~MakeLeftHandedProcess () | |
![]() | |
BaseProcess () | |
Constructor to be privately used by Importer. More... | |
void | ExecuteOnScene (Importer *pImp) |
Executes the post processing step on the given imported data. More... | |
SharedPostProcessInfo * | GetSharedData () |
Get the shared data that is assigned to the step. More... | |
virtual bool | RequireVerboseFormat () const |
Check whether this step expects its input vertex data to be in verbose format. More... | |
void | SetSharedData (SharedPostProcessInfo *sh) |
Assign a new SharedPostProcessInfo to the step. More... | |
virtual void | SetupProperties (const Importer *pImp) |
Called prior to ExecuteOnScene(). More... | |
virtual | ~BaseProcess () |
Destructor, private as well. More... | |
Protected Member Functions | |
void | ProcessAnimation (aiNodeAnim *pAnim) |
Converts the given animation to LH coordinates. More... | |
void | ProcessMaterial (aiMaterial *pMat) |
Converts a single material to left-handed coordinates. More... | |
void | ProcessMesh (aiMesh *pMesh) |
Converts a single mesh to left handed coordinates. More... | |
void | ProcessNode (aiNode *pNode, const aiMatrix4x4 &pParentGlobalRotation) |
Recursively converts a node and all of its children. More... | |
Additional Inherited Members | |
![]() | |
ProgressHandler * | progress |
Currently active progress handler. More... | |
SharedPostProcessInfo * | shared |
See the doc of #SharedPostProcessInfo for more details. More... | |
The MakeLeftHandedProcess converts all imported data to a left-handed coordinate system.
This implies a mirroring of the Z axis of the coordinate system. But to keep transformation matrices free from reflections we shift the reflection to other places. We mirror the meshes and adapt the rotations.
MakeLeftHandedProcess::MakeLeftHandedProcess | ( | ) |
MakeLeftHandedProcess::~MakeLeftHandedProcess | ( | ) |
|
virtual |
Executes the post processing step on the given imported data.
A process should throw an ImportErrorException* if it fails. This method must be implemented by deriving classes.
pScene | The imported data to work at. |
Implements Assimp::BaseProcess.
|
virtual |
Returns whether the processing step is present in the given flag.
pFlags | The processing flags the importer was called with. A bitwise combination of aiPostProcessSteps. |
Implements Assimp::BaseProcess.
|
protected |
Converts the given animation to LH coordinates.
The rotation and translation keys are transformed, the scale keys work in local space and can therefore be left untouched.
pAnim | The bone animation to transform |
|
protected |
Converts a single material to left-handed coordinates.
pMat | Material to convert |
|
protected |
Converts a single mesh to left handed coordinates.
This means that positions, normals and tangents are mirrored at the local Z axis and the order of all faces are inverted.
pMesh | The mesh to convert. |
|
protected |
Recursively converts a node and all of its children.