GCC Code Coverage Report


Directory: ./
File: include/gepetto/viewer/node-rod.h
Date: 2024-08-14 11:04:57
Exec Total Coverage
Lines: 0 5 0.0%
Branches: 0 0 -%

Line Branch Exec Source
1 //
2 // node-rod.cpp
3 // gepetto-viewer
4 //
5 // Created by Pierre Fernbach in may 2015.
6 // Copyright (c) 2015 LAAS-CNRS. All rights reserved.
7 //
8
9 #ifndef ROD_HH
10 #define ROD_HH
11
12 #include <gepetto/viewer/config-osg.h>
13 #include <gepetto/viewer/group-node.h>
14 #include <gepetto/viewer/leaf-node-capsule.h>
15
16 #include <vector>
17
18 namespace gepetto {
19 namespace viewer {
20
21 DEF_CLASS_SMART_PTR(NodeRod)
22
23 class NodeRod : public Node {
24 private:
25 std::vector<LeafNodeCapsulePtr_t> list_of_capsule_;
26 NodeRodWeakPtr weak_ptr_;
27 void initWeakPtr(NodeRodWeakPtr other_weak_ptr);
28 osgVector4 color_;
29 float radius_;
30 float totalLength_;
31 size_t maxCapsule_; // max number of capsule for this rod
32 protected:
33 /** Default constructor */
34 NodeRod(const std::string& name, osgVector4 color, float radius,
35 float totalLength, size_t maxCapsule);
36
37 /** Copy constructor */
38 NodeRod(const NodeRod& other);
39
40 public:
41 typedef osg::Vec3f::value_type value_type;
42 /** Static method which create the new rod */
43 static NodeRodPtr_t create(const std::string& name, osgVector4 color,
44 float radius, float totalLength, short maxCapsule);
45
46 /** Return the ID of the capsule at the index i */
47 virtual std::string getCapsuleName(size_t i);
48
49 virtual LeafNodeCapsulePtr_t getCapsule(size_t i) const;
50
51 /** Static method for creating a clone of the rod other with the copy
52 * constructor */
53 static NodeRodPtr_t createCopy(NodeRodPtr_t other);
54
55 /** Return a shared pointer of the current object */
56 NodeRodPtr_t self(void) const;
57
58 virtual float radius() const { return radius_; }
59
60 virtual float totalLength() const { return totalLength_; }
61
62 void setColor(const osgVector4& color) { color_ = color; }
63
64 virtual osgVector4 color() const { return color_; }
65
66 virtual size_t maxCapsule() const { return maxCapsule_; }
67
68 virtual void applyConfiguration(std::vector<std::vector<value_type> > params);
69 };
70 } /* namespace viewer */
71 } /* namespace gepetto */
72
73 #endif // ROD_HH
74