1 #ifndef __GLTF_SceneData_h__
2 #define __GLTF_SceneData_h__
41 void setMatrix(
const float* mat);
44 void setTranslate(
const float*
trans);
47 void setRotation(
const float*
rot);
50 void setScale(
const float*
scale);
78 , myCurrentVisitingNode(0)
83 if (myScene->myRootNodes.entries() == 0)
89 myCurrentVisitingNode = myScene->myRootNodes[0];
95 return myScene->myNodes.at(myCurrentVisitingNode);
111 return myScene == other.myScene &&
112 myCurrentVisitingNode == other.myCurrentVisitingNode;
117 return !(*
this == other);
124 myScene->myNodes.at(myCurrentVisitingNode);
128 for (
exint i = 1; i < myScene->myRootNodes.entries(); ++i)
129 prepareSceneGraphDFS(myScene->myRootNodes[i]);
132 void prepareSceneGraphDFS(
const GLTF_Index node_id)
134 myVisitOrder.push(node_id);
136 myScene->myNodes.at(node_id);
147 if (myVisitOrder.size() > 0)
149 myCurrentVisitingNode = myVisitOrder.popFirst();
154 myCurrentVisitingNode = 0;
155 myVisitOrder.clear();
170 #endif // __GLTF_SceneData_h__
ConstIterator(const GLTF_SceneData *scene)
const Node & operator*() const
GA_API const UT_StringHolder rot
ConstIterator end() const
bool operator==(const ConstIterator &other) const
GA_API const UT_StringHolder scale
bool operator!=(const ConstIterator &other) const
GA_API const UT_StringHolder trans
ConstIterator begin() const
const Node & getNode(GLTF_Index id) const
ConstIterator & operator++()
const Node * operator->() const
exint entries() const
Alias of size(). size() is preferred.
UT_Array< GLTF_Index > myChildren
Node & getNode(GLTF_Index id)
void setScene(const GLTF_Index id)