|
Assimp
v4.1. (December 2018)
|
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 () | |
Public Member Functions inherited from Assimp::BaseProcess | |
| BaseProcess () AI_NO_EXCEPT | |
| 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 | |
Protected Attributes inherited from Assimp::BaseProcess | |
| 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.