TreeNode.h
Go to the documentation of this file.
1 
18 #pragma once
19 
20 // Global includes
21 #include <queue>
22 #include <vector>
23 
24 // Package includes
25 #include <boost/foreach.hpp>
26 #include <boost/shared_ptr.hpp>
27 #include <boost/enable_shared_from_this.hpp>
28 
29 // Local includes
31 #include <ISM/common_type/ObjectSet.hpp>
32 namespace SceneModel {
33 
40  class TreeNode : public boost::enable_shared_from_this<TreeNode> {
41  public:
42 
49 
56 
60  ~TreeNode();
61 
69 
76 
82  std::vector<boost::shared_ptr<TreeNode> > getChildren();
83 
90 
96  unsigned int getNumberOfNodes();
97 
104 
111  void printTreeToConsole(unsigned int space);
112 
116  void setIDs();
117 
118  public:
119 
124 
130 
134  std::vector<boost::shared_ptr<TreeNode> > mChildren;
135 
139  bool mIsReference = false;
140 
145 
149  unsigned int mID;
150 
151  private:
158 
165  void updateIDs(unsigned int& pID, bool pUpdateReferencIDs);
166 
173  std::vector<boost::shared_ptr<TreeNode>> updateReferences(boost::shared_ptr<TreeNode> pRoot);
174 
175  };
176 }
boost::shared_ptr< TreeNode > setNewRootNodeByType(std::string pType)
Definition: TreeNode.cpp:40
boost::shared_ptr< ISM::ObjectSet > getObjectSet()
Definition: TreeNode.cpp:90
std::vector< boost::shared_ptr< TreeNode > > getChildren()
Definition: TreeNode.cpp:95
boost::shared_ptr< TreeNode > f()
Definition: TreeNode.cpp:116
TreeNode(boost::shared_ptr< ISM::ObjectSet > pObjectSet)
Definition: TreeNode.cpp:22
boost::shared_ptr< ISM::ObjectSet > mObjectSet
Definition: TreeNode.h:123
unsigned int mID
Definition: TreeNode.h:149
void printTreeToConsole(unsigned int space)
Definition: TreeNode.cpp:121
unsigned int getNumberOfNodes()
Definition: TreeNode.cpp:106
std::vector< boost::shared_ptr< TreeNode > > updateReferences(boost::shared_ptr< TreeNode > pRoot)
Definition: TreeNode.cpp:182
void updateIDs(unsigned int &pID, bool pUpdateReferencIDs)
Definition: TreeNode.cpp:171
boost::shared_ptr< TreeNode > mReferenceTo
Definition: TreeNode.h:144
void addChild(boost::shared_ptr< TreeNode > pChild)
Definition: TreeNode.cpp:100
std::vector< boost::shared_ptr< TreeNode > > mChildren
Definition: TreeNode.h:134
void reassignNewParentNode(boost::shared_ptr< TreeNode > pParent)
Definition: TreeNode.cpp:139
boost::shared_ptr< TreeNode > mParent
Definition: TreeNode.h:129


asr_relation_graph_generator
Author(s): Meißner Pascal
autogenerated on Fri Nov 15 2019 03:39:19