Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class SceneNode
- {
- public:
- SceneNode(const char *nodeName, SceneNode *parent);
- ~SceneNode();
- SceneNode* addChildSceneNode(const char *name);
- void deleteChildSceneNode(const char *name);
- void deleteAllChildSceneNodes();
- SceneNode* findFirstSceneNode(const char *name);
- SceneNode* getChildSceneNode(const char *name);
- SceneNode* getChildSceneNode(unsigned int index);
- void attachRenderMeshData(RenderMeshData *renderMeshData);
- void setName(const char *name) { _name = name; }
- void setTranformation(const glm::mat4 &transformation) {
- _transformation = transformation;
- _toRoot = (_parent ? _parent->toRootTransformation() : glm::mat4(1)) * _transformation;
- }
- unsigned int getNumChildren() const { return _children.size(); }
- const char *name() const { return _name.c_str(); }
- SceneNode* parent() const { return _parent; }
- const glm::mat4& transformation() const { return _transformation; }
- const glm::mat4& toRootTransformation() const { return _toRoot; }
- const std::vector<RenderMeshData*>* renderMeshDatas() { return &_meshDatas; }
- private:
- std::string _name;
- glm::mat4 _transformation;
- glm::mat4 _toRoot;
- SceneNode *_parent;
- std::vector<SceneNode*> _children;
- std::vector<RenderMeshData*> _meshDatas;
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement