57 bool _aggregate,
int _nrofpoints):
58 comp(_comp), radius(_radius), eqradius(_eqradius), orient(_orient), nrofpoints(_nrofpoints), aggregate(_aggregate) {
81 double abdist = ab.
Norm();
82 double bcdist = bc.
Norm();
91 if ((
PI - alpha) < eps) {
117 Frame F_base_circlestart = line1->Pos(line1->LengthToS(abdist - d));
118 Frame F_base_circleend = line2->Pos(line2->LengthToS(d));
120 Vector V_base_t = ab * (ab * bc);
127 F_base_circlestart.
p - V_base_t *
radius,
128 F_base_circleend.
p, F_base_circleend.
M, alpha,
185 int& segment_number,
double& inner_s) {
void Add(Path *geom, bool aggregate=true)
void Add(const Frame &F_base_point)
virtual ~Path_RoundedComposite()
virtual double PathLength()
double Normalize(double eps=epsilon)
const double PI
the value of pi
virtual RotationalInterpolation * Clone() const =0
virtual double LengthToS(double length)
virtual double PathLength()
doubleAcc dot(const VectorAcc &lhs, const VectorAcc &rhs)
virtual Path * GetSegment(int i)
Rotation M
Orientation of the Frame.
represents both translational and rotational velocities.
virtual Twist Acc(double s, double sd, double sdd) const
virtual int GetNrOfSegments()
A concrete implementation of a 3 dimensional vector class.
virtual Path * GetSegment(int i)
virtual void Write(std::ostream &os)
virtual void GetCurrentSegmentLocation(double s, int &segment_number, double &inner_s)
Path_RoundedComposite(Path_Composite *comp, double radius, double eqradius, RotationalInterpolation *orient, bool aggregate, int nrofpoints)
Vector p
origine of the Frame
virtual Frame Pos(double s) const
double min(double a, double b)
virtual Twist Vel(double s, double sd) const
virtual Twist Vel(double s, double sd) const
virtual void GetCurrentSegmentLocation(double s, int &segment_number, double &inner_s)
virtual int GetNrOfSegments()
INLINE Rall1d< T, V, S > acos(const Rall1d< T, V, S > &x)
virtual void Write(std::ostream &os)
represents a frame transformation in 3D space (rotation + translation)
virtual double GetLengthToEndOfSegment(int i)
virtual Frame Pos(double s) const
INLINE Rall1d< T, V, S > tan(const Rall1d< T, V, S > &arg)
virtual double LengthToS(double length)
virtual Twist Acc(double s, double sd, double sdd) const
double max(double a, double b)
double Norm(double eps=epsilon) const
RotationalInterpolation * orient
virtual double GetLengthToEndOfSegment(int i)