Loading [MathJax]/extensions/tex2jax.js
gepetto-viewer  6.0.0
An user-friendly Graphical Interface
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
roadmap-viewer.h
Go to the documentation of this file.
1 //
2 // roadmap-viewer.h
3 // gepetto-viewer
4 //
5 // Created by Pierre Fernbach in april 2015.
6 // Copyright (c) 2015 LAAS-CNRS. All rights reserved.
7 //
8 
9 #ifndef GEPETTO_VIEWER_ROADMAPVIEWER_HH
10 #define GEPETTO_VIEWER_ROADMAPVIEWER_HH
11 
15 #include <gepetto/viewer/node.h>
16 
17 #include <OpenThreads/Mutex>
18 
19 namespace gepetto {
20 namespace viewer {
21 
22 DEF_CLASS_SMART_PTR(RoadmapViewer)
23 
24 class RoadmapViewer : public Node {
25  private:
29  std::list<LeafNodeXYZAxisPtr_t> list_nodes_;
30  std::list<LeafNodeLinePtr_t> list_edges_;
31 
33  RoadmapViewerWeakPtr weak_ptr_;
34  // ---
35  float radiusSphere_;
36  float sizeAxis_;
37  osgVector4 colorNode_;
38  osgVector4 colorEdge_;
40  void initWeakPtr(RoadmapViewerWeakPtr other_weak_ptr);
41 
42  protected:
46  RoadmapViewer(const std::string& name, const osgVector4& colorNode,
47  float radiusSphere, float sizeAxis,
48  const osgVector4& colorEdge);
49 
52 
53  public:
56  static RoadmapViewerPtr_t create(const std::string& name,
57  const osgVector4& colorNode,
58  float radiusSphere, float sizeAxis,
59  const osgVector4& colorEdge);
60 
63  static RoadmapViewerPtr_t createCopy(RoadmapViewerPtr_t other);
64 
67  virtual RoadmapViewerPtr_t clone(void) const;
68 
71  RoadmapViewerPtr_t self(void) const;
72 
73  bool addNode(osgVector3 position, osgQuat quat, ::OpenThreads::Mutex& mtx);
74 
76 
77  virtual void removeAllChildren();
78 
83  virtual void setVisibilityMode(const VisibilityMode& visibility_state);
84 
89  virtual void setLightingMode(const LightingMode& lighting_state);
90 
95  virtual void setWireFrameMode(const WireFrameMode& wireframe_state);
96 
97  virtual size_t getNumOfNodes() const { return list_nodes_.size(); }
98 
99  virtual size_t getNumOfEdges() const { return list_edges_.size(); }
100 
101  virtual LeafNodeXYZAxisPtr_t getNode(size_t i) const {
102  std::list<LeafNodeXYZAxisPtr_t>::const_iterator it = list_nodes_.begin();
103  if (list_nodes_.size() > i) {
104  std::advance(it, (long)i);
105  }
106  return *it;
107  }
108 
109  virtual LeafNodeLinePtr_t getEdge(size_t i) const {
110  std::list<LeafNodeLinePtr_t>::const_iterator it = list_edges_.begin();
111  if (list_edges_.size() > i) {
112  std::advance(it, (long)i);
113  }
114  return *it;
115  }
116 
117  virtual float getRadiusSphere() const { return radiusSphere_; }
118 
119  virtual float getSizeAxis() const { return sizeAxis_; }
120 
121  virtual osgVector4 getColorNode() const { return colorNode_; }
122 
123  virtual osgVector4 getColorEdge() const { return colorEdge_; }
124 
125  void setColorNode(const osgVector4& color);
126 
127  void setColorEdge(const osgVector4& color);
128 
129  void setColor(const osgVector4& color) { setColorEdge(color); }
130 
131 }; // class
132 
133 } /* namespace viewer */
134 } /* namespace gepetto */
135 
136 #endif
Abstract base class of 3D objects in a scene.
Definition: node.h:25
Definition: roadmap-viewer.h:24
virtual LeafNodeLinePtr_t getEdge(size_t i) const
Definition: roadmap-viewer.h:109
virtual size_t getNumOfEdges() const
Definition: roadmap-viewer.h:99
bool addNode(osgVector3 position, osgQuat quat, ::OpenThreads::Mutex &mtx)
static RoadmapViewerPtr_t create(const std::string &name, const osgVector4 &colorNode, float radiusSphere, float sizeAxis, const osgVector4 &colorEdge)
virtual float getRadiusSphere() const
Definition: roadmap-viewer.h:117
virtual float getSizeAxis() const
Definition: roadmap-viewer.h:119
virtual LeafNodeXYZAxisPtr_t getNode(size_t i) const
Definition: roadmap-viewer.h:101
void setColorNode(const osgVector4 &color)
static RoadmapViewerPtr_t createCopy(RoadmapViewerPtr_t other)
virtual void setLightingMode(const LightingMode &lighting_state)
Virtual method for setting the lighting mode of the object : influence by light or not.
virtual osgVector4 getColorNode() const
Definition: roadmap-viewer.h:121
virtual void setVisibilityMode(const VisibilityMode &visibility_state)
Virtual method for setting the visibility mode of the object : visible or not visible.
virtual void setWireFrameMode(const WireFrameMode &wireframe_state)
Virtual method for setting the wireframe mode of the object : visible or not.
void setColorEdge(const osgVector4 &color)
RoadmapViewer(const std::string &name, const osgVector4 &colorNode, float radiusSphere, float sizeAxis, const osgVector4 &colorEdge)
Default constructor.
RoadmapViewer(const RoadmapViewer &other)
virtual size_t getNumOfNodes() const
Definition: roadmap-viewer.h:97
bool addEdge(osgVector3 from, osgVector3 to, ::OpenThreads::Mutex &mtx)
virtual RoadmapViewerPtr_t clone(void) const
void setColor(const osgVector4 &color)
Definition: roadmap-viewer.h:129
virtual osgVector4 getColorEdge() const
Definition: roadmap-viewer.h:123
::osg::Vec3f osgVector3
Definition: config-osg.h:99
::osg::Quat osgQuat
Definition: config-osg.h:102
::osg::Vec4f osgVector4
Definition: config-osg.h:100
#define DEF_CLASS_SMART_PTR(className)
Definition: macros.h:51
LightingMode
Definition: config-osg.h:109
WireFrameMode
Definition: config-osg.h:111
OpenThreads::Mutex Mutex
Definition: windows-manager.h:30
VisibilityMode
Definition: config-osg.h:107
Definition: action-search-bar.hh:27