|
Assimp
v4.1. (December 2018)
|
Postprocessing filter to split meshes with many bones into submeshes so that each submesh has a certain max bone count. More...
Inherits Assimp::BaseProcess.
Public Member Functions | |
| bool | IsActive (unsigned int pFlags) const |
| Returns whether the processing step is present in the given flag. More... | |
| virtual void | SetupProperties (const Importer *pImp) |
| Called prior to ExecuteOnScene(). More... | |
| SplitByBoneCountProcess () | |
| ~SplitByBoneCountProcess () | |
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 | ~BaseProcess () |
| Destructor, private as well. More... | |
Public Attributes | |
| size_t | mMaxBoneCount |
| Max bone count. Splitting occurs if a mesh has more than that number of bones. More... | |
| std::vector< std::vector< unsigned int > > | mSubMeshIndices |
| Per mesh index: Array of indices of the new submeshes. More... | |
Protected Member Functions | |
| void | Execute (aiScene *pScene) |
| Executes the post processing step on the given imported data. More... | |
| void | SplitMesh (const aiMesh *pMesh, std::vector< aiMesh * > &poNewMeshes) const |
| Splits the given mesh by bone count. More... | |
| void | UpdateNode (aiNode *pNode) const |
| Recursively updates the node's mesh list to account for the changed mesh list. 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... | |
Postprocessing filter to split meshes with many bones into submeshes so that each submesh has a certain max bone count.
Applied BEFORE the JoinVertices-Step occurs. Returns NON-UNIQUE vertices, splits by bone count.
| SplitByBoneCountProcess::SplitByBoneCountProcess | ( | ) |
| SplitByBoneCountProcess::~SplitByBoneCountProcess | ( | ) |
|
protectedvirtual |
Executes the post processing step on the given imported data.
At the moment a process is not supposed to fail.
| 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.
|
virtual |
Called prior to ExecuteOnScene().
The function is a request to the process to update its configuration basing on the Importer's configuration property list.
Reimplemented from Assimp::BaseProcess.
|
protected |
Splits the given mesh by bone count.
| pMesh | the Mesh to split. Is not changed at all, but might be superfluous in case it was split. |
| poNewMeshes | Array of submeshes created in the process. Empty if splitting was not necessary. |
|
protected |
Recursively updates the node's mesh list to account for the changed mesh list.
| size_t Assimp::SplitByBoneCountProcess::mMaxBoneCount |
Max bone count. Splitting occurs if a mesh has more than that number of bones.
| std::vector< std::vector<unsigned int> > Assimp::SplitByBoneCountProcess::mSubMeshIndices |
Per mesh index: Array of indices of the new submeshes.