Biorbd
PathModifiers.h
1 #ifndef BIORBD_MUSCLES_PATH_MODIFIERS_H
2 #define BIORBD_MUSCLES_PATH_MODIFIERS_H
3 
4 #include <memory>
5 #include <vector>
6 #include "biorbdConfig.h"
7 
8 namespace biorbd {
9 namespace utils {
10 class Vector3d;
11 }
12 
13 namespace muscles {
17 class BIORBD_API PathModifiers
18 {
19 public:
23  PathModifiers();
24 
29  biorbd::muscles::PathModifiers DeepCopy() const;
30 
35  void DeepCopy(
36  const biorbd::muscles::PathModifiers& other);
37 
42  void addPathChanger(
43  biorbd::utils::Vector3d& object);
44 
45  // Set and get
50  unsigned int nbWraps() const;
51 
56  unsigned int nbVia() const;
57 
62  unsigned int nbObjects() const;
63 
69  biorbd::utils::Vector3d& object(unsigned int idx);
70 
76  const biorbd::utils::Vector3d& object(unsigned int idx) const;
77 
78 protected:
79  std::shared_ptr<std::vector<biorbd::utils::Vector3d>> m_obj;
80  std::shared_ptr<unsigned int> m_nbWraps;
81  std::shared_ptr<unsigned int> m_nbVia;
82  std::shared_ptr<unsigned int> m_totalObjects;
83 
84 };
85 
86 }}
87 
88 #endif // BIORBD_MUSCLES_PATH_MODIFIERS_H
biorbd::muscles::PathModifiers::m_obj
std::shared_ptr< std::vector< biorbd::utils::Vector3d > > m_obj
set of objects
Definition: PathModifiers.h:79
biorbd::muscles::PathModifiers::m_totalObjects
std::shared_ptr< unsigned int > m_totalObjects
Number of total objects in the set.
Definition: PathModifiers.h:82
biorbd::utils::Vector3d
Wrapper around Eigen Vector3d and attach it to a parent.
Definition: Vector3d.h:24
biorbd::muscles::PathModifiers::m_nbVia
std::shared_ptr< unsigned int > m_nbVia
Number of via points in the set.
Definition: PathModifiers.h:81
biorbd::muscles::PathModifiers
Holder of all the path modifiers of a muscle.
Definition: PathModifiers.h:18
biorbd::muscles::PathModifiers::m_nbWraps
std::shared_ptr< unsigned int > m_nbWraps
Number of wrapping object in the set.
Definition: PathModifiers.h:80