gepetto-viewer 6.0.0
An user-friendly Graphical Interface
Loading...
Searching...
No Matches
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
19namespace gepetto {
20namespace viewer {
21
22DEF_CLASS_SMART_PTR(RoadmapViewer)
23
24class 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
75 bool addEdge(osgVector3 from, osgVector3 to, ::OpenThreads::Mutex& mtx);
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
RoadmapViewerPtr_t self(void) const
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
VisibilityMode
Definition config-osg.h:107
Definition action-search-bar.hh:27