diff options
Diffstat (limited to 'src/3rdparty/assimp/code/OptimizeGraph.cpp')
-rw-r--r-- | src/3rdparty/assimp/code/OptimizeGraph.cpp | 19 |
1 files changed, 11 insertions, 8 deletions
diff --git a/src/3rdparty/assimp/code/OptimizeGraph.cpp b/src/3rdparty/assimp/code/OptimizeGraph.cpp index ec37bd447..11a6fcf65 100644 --- a/src/3rdparty/assimp/code/OptimizeGraph.cpp +++ b/src/3rdparty/assimp/code/OptimizeGraph.cpp @@ -3,7 +3,8 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2016, assimp team +Copyright (c) 2006-2017, assimp team + All rights reserved. @@ -48,7 +49,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #include "OptimizeGraph.h" #include "ProcessHelper.h" -#include "SceneCombiner.h" +#include <assimp/SceneCombiner.h> #include "Exceptional.h" #include <stdio.h> @@ -230,15 +231,17 @@ void OptimizeGraphProcess::CollectNewChildren(aiNode* nd, std::list<aiNode*>& no else nd->mChildren = NULL; } - nd->mNumChildren = child_nodes.size(); + nd->mNumChildren = static_cast<unsigned int>(child_nodes.size()); - aiNode** tmp = nd->mChildren; - for (std::list<aiNode*>::iterator it = child_nodes.begin(); it != child_nodes.end(); ++it) { - aiNode* node = *tmp++ = *it; - node->mParent = nd; + if (nd->mChildren) { + aiNode** tmp = nd->mChildren; + for (std::list<aiNode*>::iterator it = child_nodes.begin(); it != child_nodes.end(); ++it) { + aiNode* node = *tmp++ = *it; + node->mParent = nd; + } } - nodes_out += child_nodes.size(); + nodes_out += static_cast<unsigned int>(child_nodes.size()); } // ------------------------------------------------------------------------------------------------ |