45 #ifndef AI_SCENE_COMBINER_H_INC 46 #define AI_SCENE_COMBINER_H_INC 48 #include <assimp/ai_assert.h> 50 #include <assimp/Defines.h> 86 , attachToNode (_attachToNode)
105 , attachToNode (_attachToNode)
120 #define AI_INT_MERGE_SCENE_GEN_UNIQUE_NAMES 0x1 126 #define AI_INT_MERGE_SCENE_GEN_UNIQUE_MATNAMES 0x2 131 #define AI_INT_MERGE_SCENE_DUPLICATES_DEEP_CPY 0x4 137 #define AI_INT_MERGE_SCENE_RESOLVE_CROSS_ATTACHMENTS 0x8 144 #define AI_INT_MERGE_SCENE_GEN_UNIQUE_NAMES_IF_NECESSARY 0x10 146 typedef std::pair<aiBone*,unsigned int> BoneSrcIndex;
152 std::vector<BoneSrcIndex> pSrcBones;
174 AI_FORCE_INLINE
aiScene* operator-> ()
const 189 std::set<unsigned int> hashes;
221 static void MergeScenes(
aiScene** dest,std::vector<aiScene*>& src,
222 unsigned int flags = 0);
239 std::vector<AttachmentInfo>& src,
240 unsigned int flags = 0);
256 static void MergeMeshes(
aiMesh** dest,
unsigned int flags,
257 std::vector<aiMesh*>::const_iterator begin,
258 std::vector<aiMesh*>::const_iterator end);
268 static void MergeBones(
aiMesh* out,std::vector<aiMesh*>::const_iterator it,
269 std::vector<aiMesh*>::const_iterator end);
283 std::vector<aiMaterial*>::const_iterator begin,
284 std::vector<aiMaterial*>::const_iterator end);
293 static void BuildUniqueBoneList(std::list<BoneWithHash>& asBones,
294 std::vector<aiMesh*>::const_iterator it,
295 std::vector<aiMesh*>::const_iterator end);
304 static void AddNodePrefixes(
aiNode* node,
const char* prefix,
313 static void OffsetNodeMeshIndices (
aiNode* node,
unsigned int offset);
327 static void AttachToGraph (
aiScene* master,
328 std::vector<NodeAttachmentInfo>& srcList);
330 static void AttachToGraph (
aiNode* attach,
331 std::vector<NodeAttachmentInfo>& srcList);
340 static void CopyScene(
aiScene** dest,
const aiScene* source,
bool allocate =
true);
382 static void AddNodePrefixesChecked(
aiNode* node,
const char* prefix,
384 std::vector<SceneHelper>& input,
389 static void AddNodeHashes(
aiNode* node, std::set<unsigned int>& hashes);
394 static bool FindNameMatch(
const aiString& name,
395 std::vector<SceneHelper>& input,
unsigned int cur);
400 #endif // !! AI_SCENE_COMBINER_H_INC An animation consists of key-frame data for a number of nodes.
Definition: anim.h:411
Static helper class providing various utilities to merge two scenes.
Definition: SceneCombiner.h:200
Basic data types and primitives, such as vectors or colors.
Assimp's CPP-API and all internal APIs.
Definition: DefaultIOStream.h:51
A node in the imported hierarchy.
Definition: scene.h:78
enum aiMorphingMethod
Definition: mesh.h:496
Helper structure to describe a light source.
Definition: light.h:113
Helper structure to describe a virtual camera.
Definition: camera.h:100
Definition: SceneCombiner.h:94
Helper data structure for SceneCombiner::MergeBones.
Definition: SceneCombiner.h:151
A single bone of a mesh.
Definition: mesh.h:234
Represents an UTF-8 string, zero byte terminated.
Definition: types.h:252
Helper structure to describe an embedded texture.
Definition: texture.h:133
The root structure of the imported data.
Definition: scene.h:240
Describes the animation of a single node.
Definition: anim.h:271
Helper data structure for SceneCombiner.
Definition: SceneCombiner.h:77
Utility for SceneCombiner.
Definition: SceneCombiner.h:158
Data structure for a material.
Definition: material.h:642