2#include "eigen_matrix_defs.h"
4#include "sfh/cable/catenary.h"
16 virtual void Compute(
double parameter_coordinate,
double element_length, vec3& Position, Quat& Orientation) = 0;
17 virtual double Length() = 0;
18 vec3 GetStartPoint(){vec3 P; Quat Q; Compute(0,0,P,Q);
return P;}
19 vec3 GetEndPoint(){vec3 P; Quat Q; Compute(Length(),0,P,Q);
return P;}
28 virtual void Compute(
double parameter_coordinate,
double element_length, vec3& Position, Quat& Orientation)
override;
30 virtual double Length()
override;
33 std::vector<segment> m_segments;
34 double m_accumulated_length;
43 virtual void Compute(
double parameter_coordinate,
double element_length, vec3& Position, Quat& Orientation)
override;
44 virtual double Length()
override;
46 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
60 virtual void Compute(
double parameter_coordinate,
double element_length, vec3& Position, Quat& Orientation)
override;
61 virtual double Length()
override;
63 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
65 sfh::cable::Catenary3D m_curve;
71 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
73 virtual void Compute(
double parameter_coordinate,
double element_length, vec3& Position, Quat& Orientation)
override;
83 HelixSegment(
double inner_radius,
double curve_radius,
double z_offset,
double length = std::numeric_limits<double>::max());
84 virtual void Compute(
double parameter_coordinate,
double element_length, vec3& Position, Quat& Orientation)
override;
85 virtual double Length()
override;
87 void SetOrientation(
const vec3& P,
const Quat& Q);
88 void SetOrientation(
const vec3& P,
const Quat& Q,
bool right_winding);
90 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
92 double m_major_radius;
94 double m_theta_offset;
95 double m_helix_length_factor;
111 void Compute(
double cable_coordinate,
double element_length, vec3& P, Quat& Q);
112 double Length(){
return m_Length;}
114 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
116 static double Length_Function(
double D,
double H);
117 static double Length_Function_Derivative(
double D,
double H);
121 vec3 m_unit_rotation_axis;
Definition: InitializerTools3DCurve.h:57
Definition: InitializerTools3DCurve.h:107
Definition: InitializerTools3DCurve.h:25
Definition: InitializerTools3DCurve.h:13
Definition: InitializerTools3DCurve.h:81
Definition: InitializerTools3DCurve.h:69
Definition: InitializerTools3DCurve.h:40
Definition: CollisionManager.h:6
Definition: InitializerTools3DCurve.h:32