MCPcopy Create free account
hub / github.com/RenderKit/embree / loadBGFMesh

Method loadBGFMesh

tutorials/common/scenegraph/xml_loader.cpp:1886–1901  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1884 }
1885
1886 Ref<SceneGraph::Node> XMLLoader::loadBGFMesh(const Ref<XML>& xml)
1887 {
1888 size_t matid = xml->child("materiallist")->body[0].Int();
1889 Ref<SceneGraph::MaterialNode> material = id2material.at(matid);
1890 Ref<SceneGraph::TriangleMeshNode> mesh = new SceneGraph::TriangleMeshNode(material,BBox1f(0,1),0);
1891
1892 mesh->positions.push_back(loadVec3faArray(xml->childOpt("vertex")));
1893 mesh->normals.push_back(loadVec3faArray(xml->childOpt("normal")));
1894 mesh->texcoords = loadVec2fArray(xml->childOpt("texcoord"));
1895
1896 std::vector<Vec4i> triangles = loadVec4iArray(xml->childOpt("prim"));
1897 for (size_t i=0; i<triangles.size(); i++)
1898 mesh->triangles.push_back(SceneGraph::TriangleMeshNode::Triangle(triangles[i].x,triangles[i].y,triangles[i].z));
1899
1900 return mesh.dynamicCast<SceneGraph::Node>();
1901 }
1902
1903 Ref<SceneGraph::Node> XMLLoader::loadBGFTransformNode(const Ref<XML>& xml)
1904 {

Callers

nothing calls this directly

Calls 7

IntMethod · 0.80
childOptMethod · 0.80
TriangleClass · 0.70
childMethod · 0.45
atMethod · 0.45
push_backMethod · 0.45
sizeMethod · 0.45

Tested by

no test coverage detected