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>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="src\assimputils\assimpsceneinfo.cpp" />
|
||||
<ClCompile Include="src\main.cpp" />
|
||||
<ClCompile Include="src\utils\fileutils.cpp" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="src\assimputils\utils.h" />
|
||||
<ClInclude Include="src\utils\utils.h" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
|
|
|
@ -21,10 +21,16 @@
|
|||
<ClCompile Include="src\utils\fileutils.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\assimputils\assimpsceneinfo.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="src\utils\utils.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\assimputils\utils.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
</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 "utils/utils.h"
|
||||
#include "assimputils/utils.h"
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
|
@ -46,5 +47,8 @@ int main(int argc, char *argv[])
|
|||
return 1;
|
||||
}
|
||||
|
||||
printf("Scene loaded.\n");
|
||||
printf("Animated? %d\nSkeletal? %d\nStatic? %d\n", IsSceneAnimated(scene), IsSceneSkeletal(scene), IsSceneStatic(scene));
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
Reference in a new issue