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 () | |
![]() | |
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 | ~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 | |
![]() | |
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.