MCPcopy Create free account
hub / github.com/NVIDIA-RTX/Donut / SkinnedMeshInstance

Method SkinnedMeshInstance

src/engine/SceneGraph.cpp:49–72  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

47}
48
49SkinnedMeshInstance::SkinnedMeshInstance(std::shared_ptr<SceneTypeFactory> sceneTypeFactory, std::shared_ptr<MeshInfo> prototypeMesh)
50 : MeshInstance(nullptr)
51 , m_SceneTypeFactory(sceneTypeFactory)
52{
53 m_PrototypeMesh = std::move(prototypeMesh);
54
55 auto skinnedMesh = m_SceneTypeFactory->CreateMesh();
56 skinnedMesh->skinPrototype = m_PrototypeMesh;
57 skinnedMesh->name = m_PrototypeMesh->name;
58 skinnedMesh->objectSpaceBounds = m_PrototypeMesh->objectSpaceBounds;
59 skinnedMesh->indexOffset = m_PrototypeMesh->indexOffset;
60 skinnedMesh->totalVertices = m_PrototypeMesh->totalVertices;
61 skinnedMesh->totalIndices = m_PrototypeMesh->totalIndices;
62 skinnedMesh->geometries.reserve(m_PrototypeMesh->geometries.size());
63
64 for (const auto& geometry : m_PrototypeMesh->geometries)
65 {
66 std::shared_ptr<MeshGeometry> newGeometry = m_SceneTypeFactory->CreateMeshGeometry();
67 *newGeometry = *geometry;
68 skinnedMesh->geometries.push_back(newGeometry);
69 }
70
71 m_Mesh = skinnedMesh;
72}
73
74std::shared_ptr<SceneGraphLeaf> SkinnedMeshInstance::Clone()
75{

Callers

nothing calls this directly

Calls 4

CreateMeshMethod · 0.80
CreateMeshGeometryMethod · 0.80
push_backMethod · 0.80
sizeMethod · 0.45

Tested by

no test coverage detected