Refactoring: Cleanup post-processing steps.

This commit is contained in:
Kim Kulling
2023-04-16 18:20:14 +02:00
parent 7e5a178637
commit 5d841ec9a5
16 changed files with 75 additions and 163 deletions

View File

@@ -76,6 +76,10 @@ public:
/// basing on the Importer's configuration property list.
virtual void SetupProperties(const Importer* pImp) override;
/// @brief Will return the maximal number of bones.
/// @return The maximal number of bones.
size_t getMaxNumberOfBones() const;
protected:
/// Executes the post processing step on the given imported data.
/// At the moment a process is not supposed to fail.
@@ -90,14 +94,19 @@ protected:
/// Recursively updates the node's mesh list to account for the changed mesh list
void UpdateNode( aiNode* pNode) const;
public:
private:
/// Max bone count. Splitting occurs if a mesh has more than that number of bones.
size_t mMaxBoneCount;
/// Per mesh index: Array of indices of the new submeshes.
std::vector< std::vector<unsigned int> > mSubMeshIndices;
using IndexArray = std::vector<unsigned int>;
std::vector<IndexArray> mSubMeshIndices;
};
inline size_t SplitByBoneCountProcess::getMaxNumberOfBones() const {
return mMaxBoneCount;
}
} // end of namespace Assimp
#endif // !!AI_SPLITBYBONECOUNTPROCESS_H_INC