methods to determine if the loaded scene is animated or not
This commit is contained in:
parent
9e8b06fa9d
commit
2ac2dd5b61
|
@ -80,10 +80,12 @@
|
||||||
</Link>
|
</Link>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
<ClCompile Include="src\assimputils\assimpsceneinfo.cpp" />
|
||||||
<ClCompile Include="src\main.cpp" />
|
<ClCompile Include="src\main.cpp" />
|
||||||
<ClCompile Include="src\utils\fileutils.cpp" />
|
<ClCompile Include="src\utils\fileutils.cpp" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
<ClInclude Include="src\assimputils\utils.h" />
|
||||||
<ClInclude Include="src\utils\utils.h" />
|
<ClInclude Include="src\utils\utils.h" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||||
|
|
|
@ -21,10 +21,16 @@
|
||||||
<ClCompile Include="src\utils\fileutils.cpp">
|
<ClCompile Include="src\utils\fileutils.cpp">
|
||||||
<Filter>Source Files</Filter>
|
<Filter>Source Files</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
|
<ClCompile Include="src\assimputils\assimpsceneinfo.cpp">
|
||||||
|
<Filter>Source Files</Filter>
|
||||||
|
</ClCompile>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ClInclude Include="src\utils\utils.h">
|
<ClInclude Include="src\utils\utils.h">
|
||||||
<Filter>Header Files</Filter>
|
<Filter>Header Files</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
|
<ClInclude Include="src\assimputils\utils.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
</Project>
|
</Project>
|
25
AssimpToMesh/src/assimputils/assimpsceneinfo.cpp
Normal file
25
AssimpToMesh/src/assimputils/assimpsceneinfo.cpp
Normal file
|
@ -0,0 +1,25 @@
|
||||||
|
#include "utils.h"
|
||||||
|
|
||||||
|
bool IsSceneAnimated(const aiScene *scene)
|
||||||
|
{
|
||||||
|
return scene->HasAnimations();
|
||||||
|
}
|
||||||
|
|
||||||
|
bool IsSceneSkeletal(const aiScene *scene)
|
||||||
|
{
|
||||||
|
for (unsigned int i = 0; i < scene->mNumMeshes; ++i)
|
||||||
|
{
|
||||||
|
if (scene->mMeshes[i]->HasBones())
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool IsSceneStatic(const aiScene *scene)
|
||||||
|
{
|
||||||
|
if (IsSceneAnimated(scene) || IsSceneSkeletal(scene))
|
||||||
|
return false;
|
||||||
|
else
|
||||||
|
return true;
|
||||||
|
}
|
11
AssimpToMesh/src/assimputils/utils.h
Normal file
11
AssimpToMesh/src/assimputils/utils.h
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
#ifndef __ASSIMPUTILS_UTILS_H_INCLUDED__
|
||||||
|
#define __ASSIMPUTILS_UTILS_H_INCLUDED__
|
||||||
|
|
||||||
|
#include <assimp.hpp>
|
||||||
|
#include <aiScene.h>
|
||||||
|
|
||||||
|
bool IsSceneAnimated(const aiScene *scene);
|
||||||
|
bool IsSceneSkeletal(const aiScene *scene);
|
||||||
|
bool IsSceneStatic(const aiScene *scene);
|
||||||
|
|
||||||
|
#endif
|
|
@ -7,6 +7,7 @@
|
||||||
#include <aiPostProcess.h>
|
#include <aiPostProcess.h>
|
||||||
|
|
||||||
#include "utils/utils.h"
|
#include "utils/utils.h"
|
||||||
|
#include "assimputils/utils.h"
|
||||||
|
|
||||||
int main(int argc, char *argv[])
|
int main(int argc, char *argv[])
|
||||||
{
|
{
|
||||||
|
@ -46,5 +47,8 @@ int main(int argc, char *argv[])
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
printf("Scene loaded.\n");
|
||||||
|
printf("Animated? %d\nSkeletal? %d\nStatic? %d\n", IsSceneAnimated(scene), IsSceneSkeletal(scene), IsSceneStatic(scene));
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
Reference in a new issue