Assimp
v3.1.1 (June 2014)
|
This post processing step removes bones nearly losslessly or according to a configured threshold. More...
Inherits Assimp::BaseProcess.
Public Member Functions | |
DeboneProcess () | |
bool | IsActive (unsigned int pFlags) const |
Returns whether the processing step is present in the given flag. More... | |
void | SetupProperties (const Importer *pImp) |
Called prior to ExecuteOnScene(). More... | |
~DeboneProcess () | |
![]() | |
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 | |
bool | mAllOrNone |
unsigned int | mNumBones |
Number of bones present in the scene. More... | |
unsigned int | mNumBonesCanDoWithout |
std::vector< std::vector < std::pair< unsigned int, aiNode * > > > | mSubMeshIndices |
Per mesh index: Array of indices of the new submeshes. More... | |
float | mThreshold |
Protected Member Functions | |
void | ApplyTransform (aiMesh *mesh, const aiMatrix4x4 &mat) const |
bool | ConsiderMesh (const aiMesh *pMesh) |
Counts bones total/removable in a given mesh. More... | |
void | Execute (aiScene *pScene) |
Executes the post processing step on the given imported data. More... | |
void | SplitMesh (const aiMesh *pMesh, std::vector< std::pair< aiMesh *, const aiBone * > > &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... | |
This post processing step removes bones nearly losslessly or according to a configured threshold.
In order to remove the bone, the primitives affected by the bone are split from the mesh. The split off (new) mesh is boneless. At any point in time, bones without affect upon a given mesh are to be removed.
DeboneProcess::DeboneProcess | ( | ) |
DeboneProcess::~DeboneProcess | ( | ) |
|
protected |
|
protected |
Counts bones total/removable in a given mesh.
pMesh | The mesh to process. |
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.
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. |
Recursively updates the node's mesh list to account for the changed mesh list.
bool Assimp::DeboneProcess::mAllOrNone |
unsigned int Assimp::DeboneProcess::mNumBones |
Number of bones present in the scene.
unsigned int Assimp::DeboneProcess::mNumBonesCanDoWithout |
std::vector< std::vector< std::pair< unsigned int,aiNode* > > > Assimp::DeboneProcess::mSubMeshIndices |
Per mesh index: Array of indices of the new submeshes.
float Assimp::DeboneProcess::mThreshold |