gepetto-viewer  4.12.0
An user-friendly Graphical Interface
leaf-node-arrow.h
Go to the documentation of this file.
1 //
2 // leaf-node-arrow.h
3 // gepetto-viewer
4 //
5 // Created by Pierre Fernbach in june 2015.
6 // Copyright (c) 2014 LAAS-CNRS. All rights reserved
7 //
8 
9 #ifndef GEPETTO_VIEWER_LEAFNODEARROW_HH
10 #define GEPETTO_VIEWER_LEAFNODEARROW_HH
11 
13 
14 namespace gepetto {
15 namespace viewer {
16 
17  DEF_CLASS_SMART_PTR(LeafNodeArrow)
18 
19 
21  {
22  private:
24  LeafNodeArrowWeakPtr weak_ptr_;
25 
27  float radius_;
29  float size_;
30  ::osg::ShapeDrawableRefPtr cylinder_drawable_;
31  ::osg::ShapeDrawableRefPtr cone_drawable_;
32 
33  osgVector4 color_;
34 
35  void init ();
36 
37  void resetGeodeContent ();
38 
39 
40  /* Default constructor */
41  LeafNodeArrow(const std::string& name, const osgVector4& color, float radiusCenter, float sizeAxis);
42 
43 
44  /* Copy constructor */
45  LeafNodeArrow(const LeafNodeArrow& other);
46 
48  void initWeakPtr(LeafNodeArrowWeakPtr other_weak_ptr);
49 
50 
51 
52 
53  protected:
54  public:
55  void addVertex (const osgVector3& vertex);
59  static LeafNodeArrowPtr_t create(const std::string& name, const osgVector4& color, float radiusCenter, float sizeAxis);
62  static LeafNodeArrowPtr_t create (const std::string& name, const osgVector4& color, float radiusCenter);
63 
66  static LeafNodeArrowPtr_t createCopy(LeafNodeArrowPtr_t other);
67 
70  virtual LeafNodeArrowPtr_t clone(void) const;
71 
75  virtual NodePtr_t copy() const { return clone(); }
76 
79  LeafNodeArrowPtr_t self(void) const;
80 
81  // set color
82  void setColor (const osgVector4& color);
84  {
85  return color_;
86  }
89  float getRadius() const;
90  void setRadius (const float& radius);
91  void setSize(const float& size);
94  float getSize() const;
95  void resize(float radius,float length);
96 
98 
100  virtual ~LeafNodeArrow();
101 
102  };
103 } /* namespace viewer */
104 } /* namespace gepetto */
105 
106 #endif /* GEPETTO_VIEWER_LeafNodeArrow_HH */
Definition: node-drawable.h:19
::osg::Vec3f osgVector3
Definition: config-osg.h:109
osgVector4 getColor() const
Definition: leaf-node-arrow.h:83
::osg::Vec4f osgVector4
Definition: config-osg.h:110
virtual NodePtr_t copy() const
Proceed to a copy of the currend object as clone.
Definition: leaf-node-arrow.h:75
viewer::NodePtr_t NodePtr_t
Definition: fwd.hh:47
Definition: action-search-bar.hh:27
SCENE_VIEWER_ACCEPT_VISITOR
Definition: leaf-node-arrow.h:97
#define DEF_CLASS_SMART_PTR(className)
Definition: macros.h:50
Definition: leaf-node-arrow.h:20