Biorbd
RotoTransNode.h
1 #ifndef BIORBD_UTILS_ROTO_TRANS_NODE_H
2 #define BIORBD_UTILS_ROTO_TRANS_NODE_H
3 
4 #include <memory>
5 #include "biorbdConfig.h"
6 #include "Utils/RotoTrans.h"
7 #include "Utils/Node.h"
8 
9 namespace biorbd {
10 namespace utils {
11 class String;
16 {
17 public:
21  RotoTransNode();
22 
30  const biorbd::utils::RotoTrans& rt,
31  const biorbd::utils::String &name,
32  const biorbd::utils::String &parentName);
33 
34 #ifdef BIORBD_USE_EIGEN3_MATH
35  template<typename OtherDerived> RotoTransNode(
40  const Eigen::MatrixBase<OtherDerived>& other) :
42 #endif
43 
48  biorbd::utils::RotoTransNode DeepCopy() const;
49 
54  void DeepCopy(const biorbd::utils::RotoTransNode& other);
55 
56 #ifndef SWIG
57 
62  void operator=(
63  const biorbd::utils::RotoTrans& other);
64 
65 #endif
66 
71  biorbd::utils::RotoTrans operator*(
72  const biorbd::utils::RotoTransNode& other) const;
73 
74 #ifndef SWIG
75 
76 #ifdef BIORBD_USE_EIGEN3_MATH
77  template<typename OtherDerived>
82  biorbd::utils::RotoTransNode& operator=(const Eigen::MatrixBase <OtherDerived>& other){
83  this->biorbd::utils::RotoTrans::operator=(other);
84  return *this;
85  }
86 #endif
87 
88 #endif
89 
90 protected:
94  void setType();
95 
96 };
97 
103  const biorbd::utils::RotoTrans& other,
104  const biorbd::utils::RotoTransNode& me);
105 
106 
107 }}
108 
109 #endif // BIORBD_UTILS_ROTO_TRANS_NODE_H
biorbd::utils::Node
A node is an abstract element which is assigned to a parent.
Definition: Node.h:16
biorbd::utils::RotoTransNode
A RotoTrans which is attached to a segment.
Definition: RotoTransNode.h:16
biorbd::utils::RotoTrans
Homogenous matrix to describe translations and rotations simultaneously.
Definition: RotoTrans.h:34
biorbd::utils::String
Wrapper around the std::string class with augmented functionality.
Definition: String.h:17