Go to the documentation of this file.
   49            RotationalInterpolation* _orient,
 
   53                V_base_start(startpos.p),
 
   58         V_start_end = V_base_end - V_base_start;
 
   59         double dist = V_start_end.Normalize();
 
   60         orient->SetStartEnd(startpos.M,endpos.M);
 
   61         double alpha = orient->Angle();
 
   68         if ( alpha != 0 && alpha*eqradius > dist) {
 
   70             pathlength = alpha*eqradius;
 
   71             scalerot   = 1/eqradius;
 
   72             scalelin   = dist/pathlength;
 
   73         } 
else if ( dist != 0 ) {
 
   76             scalerot   = alpha/pathlength;
 
   87            const Twist& starttwist,
 
   92                V_base_start(startpos.p),
 
   93                V_base_end(startpos.p + starttwist.vel),
 
  111         if ( alpha != 0 && alpha*
eqradius > dist) {
 
  116         } 
else if ( dist != 0 ) {
 
  
Vector rot
The rotational velocity of that point.
virtual void SetStartEnd(Rotation start, Rotation end)=0
virtual Vector Vel(double theta, double thetad) const =0
double Norm(double eps=epsilon) const
virtual Twist Acc(double s, double sd, double sdd) const
double Normalize(double eps=epsilon)
virtual double PathLength()
represents both translational and rotational velocities.
virtual void Write(std::ostream &os) const =0
represents a frame transformation in 3D space (rotation + translation)
Path_Line(const Frame &F_base_start, const Frame &F_base_end, RotationalInterpolation *orient, double eqradius, bool _aggregate=true)
virtual void Write(std::ostream &os)
RotationalInterpolation * orient
virtual Vector Acc(double theta, double thetad, double thetadd) const =0
Vector vel
The velocity of that point.
double LengthToS(double length)
static Rotation Rot(const Vector &rotvec, double angle)
virtual Twist Vel(double s, double sd) const
Rotation M
Orientation of the Frame.
virtual RotationalInterpolation * Clone() const =0
virtual Frame Pos(double s) const
virtual Rotation Pos(double theta) const =0