Biorbd
WrappingSphere.h
1 #ifndef BIORBD_MUSCLES_WRAPPING_SPHERE_H
2 #define BIORBD_MUSCLES_WRAPPING_SPHERE_H
3 
4 #include "biorbdConfig.h"
5 #include "Muscles/WrappingObject.h"
6 
7 namespace biorbd {
8 namespace muscles {
13 {
14 public:
15 
20 
29  const biorbd::utils::Scalar& x,
30  const biorbd::utils::Scalar& y,
31  const biorbd::utils::Scalar& z,
32  const biorbd::utils::Scalar& diameter);
33 
44  const biorbd::utils::Scalar& x,
45  const biorbd::utils::Scalar& y,
46  const biorbd::utils::Scalar& z,
47  const biorbd::utils::Scalar& diameter,
48  const biorbd::utils::String &name,
49  const biorbd::utils::String &parentName);
50 
57  const biorbd::utils::Vector3d &v,
58  const biorbd::utils::Scalar& diameter);
59 
64  biorbd::muscles::WrappingSphere DeepCopy() const;
65 
70  void DeepCopy(
71  const biorbd::muscles::WrappingSphere& other);
72 
76  virtual void wrapPoints(
82  biorbd::utils::Scalar* = nullptr) {}
83 
87  virtual void wrapPoints(
94  biorbd::utils::Scalar* = nullptr) {}
95 
99  virtual void wrapPoints(
102  biorbd::utils::Scalar* = nullptr) {}
103 
111  const biorbd::utils::RotoTrans& RT(
114  bool updateKin = true);
115 
120  void setDiameter(
121  const biorbd::utils::Scalar& val);
122 
127  const biorbd::utils::Scalar& diameter() const;
128 
129 protected:
130  std::shared_ptr<biorbd::utils::Scalar> m_dia;
131 
132 };
133 
134 }}
135 
136 #endif // BIORBD_MUSCLES_WRAPPING_SPHERE_H
biorbd::muscles::WrappingSphere::wrapPoints
virtual void wrapPoints(const biorbd::utils::RotoTrans &, const biorbd::utils::Vector3d &, const biorbd::utils::Vector3d &, biorbd::utils::Vector3d &, biorbd::utils::Vector3d &, biorbd::utils::Scalar *=nullptr)
Not yet implemented.
Definition: WrappingSphere.h:76
biorbd::muscles::WrappingSphere
Sphere object that makes the muscle to wrap around.
Definition: WrappingSphere.h:13
biorbd::utils::Vector3d
Wrapper around Eigen Vector3d and attach it to a parent.
Definition: Vector3d.h:24
biorbd::muscles::WrappingSphere::wrapPoints
virtual void wrapPoints(biorbd::utils::Vector3d &, biorbd::utils::Vector3d &, biorbd::utils::Scalar *=nullptr)
Not yet implemented.
Definition: WrappingSphere.h:99
biorbd::rigidbody::GeneralizedCoordinates
Class GeneralizedCoordinates.
Definition: GeneralizedCoordinates.h:15
biorbd::rigidbody::Joints
This is the core of the musculoskeletal model in biorbd.
Definition: Joints.h:40
biorbd::utils::RotoTrans
Homogenous matrix to describe translations and rotations simultaneously.
Definition: RotoTrans.h:34
biorbd::muscles::WrappingSphere::m_dia
std::shared_ptr< biorbd::utils::Scalar > m_dia
Diameter of the wrapping sphere.
Definition: WrappingSphere.h:130
biorbd::muscles::WrappingObject
Base class for the wrapping objects.
Definition: WrappingObject.h:23
biorbd::utils::String
Wrapper around the std::string class with augmented functionality.
Definition: String.h:17
biorbd::muscles::WrappingSphere::wrapPoints
virtual void wrapPoints(biorbd::rigidbody::Joints &, const biorbd::rigidbody::GeneralizedCoordinates &, const biorbd::utils::Vector3d &, const biorbd::utils::Vector3d &, biorbd::utils::Vector3d &, biorbd::utils::Vector3d &, biorbd::utils::Scalar *=nullptr)
Not yet implemented.
Definition: WrappingSphere.h:87