

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 | |
| Point * | p1 |
| Point * | p2 |
| double | angle |
| double | startAngle |
| double | radius |
| double | length |
| Point | center |
Definition at line 124 of file trgen.cc.
| 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.
| [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().

| virtual void Segment::Arc::shortenBy | ( | double | distance, | |
| Point * | newEnd | |||
| ) | [inline, virtual] |
Shorten the segment by a specific length.
| [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.

| 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.
| [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. |
Implements TrajectorySegment.
Definition at line 192 of file trgen.cc.
References angle, Arc(), getPointAt(), length, p1, p2, and startAngle.

| virtual void Segment::Arc::getRefPos | ( | double | time, | |
| Pos & | rp | |||
| ) | [inline, virtual] |
Return the reference position at some time.
| [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.
1.5.3