Fixed loading mesh from COLLADA
authorm.kucher <m.kucher@samsung.com>
Mon, 23 Dec 2013 13:09:28 +0000 (15:09 +0200)
committerm.kucher <m.kucher@samsung.com>
Mon, 23 Dec 2013 13:09:28 +0000 (15:09 +0200)
Change-Id: I70d35b5d99ac04cb0d4b7958092c22906faf065a
Signed-off-by: m.kucher <m.kucher@samsung.com>
src/ui/animations/import-collada/library-geometries/FUiAnim_ImportColladaLibGeomGeometryMesh.cpp

index 10ca450..cac8de0 100644 (file)
@@ -247,6 +247,29 @@ GeometryMesh::GetOffsets(const xmlNodePtr root,
                if (semantic.compare("VERTEX") == 0)
                {
                        vertexOffset = Offset;
+
+                       const xmlNodePtr mesh = root->parent;
+                       xmlNodePtr vertices = Tools::FindFirst(mesh->children, "vertices", false);
+                       if (vertices != null)
+                       {
+                               xmlNodePtr input = Tools::FindFirst(vertices->children, "input", false);
+                               while(input)
+                               {
+                                       std::string semantic = Tools::GetAttrValueAsString(input, "semantic");
+
+                                       if (semantic.compare("NORMAL") == 0)
+                                       {
+                                               normalOffset = vertexOffset;
+                                       }
+
+                                       if (semantic.compare("TEXCOORD") == 0)
+                                       {
+                                               texCoordOffset = vertexOffset;
+                                       }
+
+                                       input = Tools::FindFirst(input->next, "input", false);
+                               }
+                       }
                }
 
                if (semantic.compare("NORMAL") == 0)