Segment::Arc Class Reference

Arc shaped segment. More...

Inheritance diagram for Segment::Arc:

Inheritance graph
[legend]
Collaboration diagram for Segment::Arc:

Collaboration graph
[legend]

List of all members.

Public Member Functions

 Arc (Point *_p1, Point *_p2, double _radius)
virtual ~Arc ()
virtual void setMaxV (const TrajectoryConstraints &constr)
virtual double getLength () const
 Length of the segment in meters.
virtual void getPointAt (double distance, Point *p)
 Returns the point of the segment, located at the specific distance from the beginning or end.
virtual void shortenBy (double distance, Point *newEnd)
 Shorten the segment by a specific length.
virtual
TrajectorySegment
splitAt (double distance, Point *newEnd)
 Splits the segment at the specified point.
virtual void getRefPos (double time, Pos &rp)
 Return the reference position at some time.

Private Attributes

Pointp1
Pointp2
double angle
double startAngle
double radius
double length
Point center


Detailed Description

Arc shaped segment.

Definition at line 124 of file trgen.cc.


Member Function Documentation

virtual double Segment::Arc::getLength (  )  const [inline, virtual]

Length of the segment in meters.

Implements TrajectorySegment.

Definition at line 164 of file trgen.cc.

References length.

virtual void Segment::Arc::getPointAt ( double  distance,
Point p 
) [inline, virtual]

Returns the point of the segment, located at the specific distance from the beginning or end.

Parameters:
[in] distance Distance from the beginning (if positive) or end (if negative) of the segment in meters.
[out] p Pointer to the point to sore the result.

Implements TrajectorySegment.

Definition at line 166 of file trgen.cc.

References angle, center, length, radius, startAngle, Point::x, and Point::y.

Referenced by shortenBy(), and splitAt().

Here is the caller graph for this function:

virtual void Segment::Arc::shortenBy ( double  distance,
Point newEnd 
) [inline, virtual]

Shorten the segment by a specific length.

Parameters:
[in] distance Distance from the end (if positive) of the segment, where should be the end of the segment.
[in] newEnd Point which will be set to the position of the new end.

Implements TrajectorySegment.

Definition at line 178 of file trgen.cc.

References angle, getPointAt(), length, p1, p2, and startAngle.

Here is the call graph for this function:

virtual TrajectorySegment* Segment::Arc::splitAt ( double  distance,
Point newEnd 
) [inline, virtual]

Splits the segment at the specified point.

The result will be two segments following the same trajectory as the original one.

Parameters:
[in] distance Distance of the split from the beginning of the segment.
[in] newEnd Point which will be used as a middle point joining the two segments.
Returns:
Pointer to the newly created segment.

Implements TrajectorySegment.

Definition at line 192 of file trgen.cc.

References angle, Arc(), getPointAt(), length, p1, p2, and startAngle.

Here is the call graph for this function:

virtual void Segment::Arc::getRefPos ( double  time,
Pos rp 
) [inline, virtual]

Return the reference position at some time.

Parameters:
[in] time Time (within this segment time range).
[out] rp Reference position.

Implements TrajectorySegment.

Definition at line 211 of file trgen.cc.

References TrajectorySegment::acc, angle, center, length, Pos::omega, Pos::phi, radius, startAngle, TrajectorySegment::t1, TrajectorySegment::t2, Pos::v, TrajectorySegment::v1, TrajectorySegment::v2, Point::x, Pos::x, Point::y, and Pos::y.


The documentation for this class was generated from the following file:
Generated on Thu Sep 13 11:28:30 2007 for DCE-Eurobot by  doxygen 1.5.3