Conscience Core
CscDaeNodes.h
Go to the documentation of this file.
1 //
2 // CscDaeNode.hpp
3 // ConscienceRobotManager
4 //
5 // Created by Thomas Mercier on 18/05/2020.
6 // Copyright © 2020 IliesZaoui. All rights reserved.
7 //
8 
9 #ifndef CscDaeNodes_h
10 #define CscDaeNodes_h
11 
12 #include "CscCommon.h"
13 #include <array>
14 #include "Axiomes/Csc3dTypes.h"
15 
16 #include <unordered_set>
17 
18 using std::array, std::unordered_set;
19 using namespace conscience_core::axiomes;
20 
22 
23  class CscDaeNode {
24  public:
25  const string nodeName;
26  vector<CscDaeNode *> *childs;
27  vector<CscPoint3d *> *positions;
28  vector<CscPoint3d *> *normals;
29  vector<CscPolygon *> *polygons;
30 
34  vector<vector<int>> * geometryTriangleIndices;
35 
36  array< array< float, 4 >, 4 > matrixNode;
37  vector< array< array< float, 4 >, 4 > > * matrixToCompute;
38  unordered_set<string> nodeInstances;
39  unordered_set<string> geometryInstances;
40 
41  CscDaeNode(string _nodeName);
42  virtual ~CscDaeNode();
43 
44  void deleteDataRecursively(vector<CscPoint3d *> & deletedPoints, vector<CscPolygon *> & deletedPolygons);
45 
46  void getMatrixTranslation();
47 
48  inline bool matchesNodeText(const string &word) const {
49  auto it = nodeInstances.find(word);
50  return it != nodeInstances.end();
51  }
52 
53  inline bool matchesGeometryText(const string &word) const {
54  auto it = geometryInstances.find(word);
55  return it != geometryInstances.end();
56  }
57 
58  void collectDebugDescription(string &description, int &nodeIndex) const;
59 
60 
61  };
62 
63 }
64 
65 #endif /* CscDaeNodes_h */
conscience_core::core_objects::exchange::dae::CscDaeNode::childs
vector< CscDaeNode * > * childs
Definition: CscDaeNodes.h:26
conscience_core::core_objects::exchange::dae::CscDaeNode::matchesNodeText
bool matchesNodeText(const string &word) const
Definition: CscDaeNodes.h:48
conscience_core::axiomes
Definition: Csc2dTypes.cpp:9
conscience_core::core_objects::exchange::dae::CscDaeNode
Definition: CscDaeNodes.h:23
conscience_core::core_objects::exchange::dae::CscDaeNode::matchesGeometryText
bool matchesGeometryText(const string &word) const
Definition: CscDaeNodes.h:53
conscience_core::core_objects::exchange::dae::CscDaeNode::matrixToCompute
vector< array< array< float, 4 >, 4 > > * matrixToCompute
Definition: CscDaeNodes.h:37
conscience_core::core_objects::exchange::dae::CscDaeNode::geometryInstances
unordered_set< string > geometryInstances
Definition: CscDaeNodes.h:39
conscience_core::core_objects::exchange::dae::CscDaeNode::normals
vector< CscPoint3d * > * normals
Definition: CscDaeNodes.h:28
conscience_core::core_objects::exchange::dae
Definition: CscDaeGeometries.cpp:11
conscience_core::core_objects::exchange::dae::CscDaeNode::polygons
vector< CscPolygon * > * polygons
Definition: CscDaeNodes.h:29
CscCommon.h
Csc3dTypes.h
conscience_core::core_objects::exchange::dae::CscDaeNode::geometryTriangleIndices
vector< vector< int > > * geometryTriangleIndices
Definition: CscDaeNodes.h:34
conscience_core::core_objects::exchange::dae::CscDaeNode::positions
vector< CscPoint3d * > * positions
Definition: CscDaeNodes.h:27
conscience_core::core_objects::exchange::dae::CscDaeNode::matrixNode
array< array< float, 4 >, 4 > matrixNode
Definition: CscDaeNodes.h:36
conscience_core::core_objects::exchange::dae::CscDaeNode::nodeInstances
unordered_set< string > nodeInstances
Definition: CscDaeNodes.h:38
conscience_core::core_objects::exchange::dae::CscDaeNode::nodeName
const string nodeName
Definition: CscDaeNodes.h:25