ipe::Arc Class Reference
[Ipe Geometry]
An arc of an ellipse.
More...
#include <ipegeo.h>
List of all members.
Public Member Functions
- Arc ()
- Arc (const Matrix &m, Angle alpha, Angle beta)
- Arc (const Matrix &m)
- Arc (const Matrix &m0, const Vector &begp, const Vector &endp)
- bool isEllipse () const
- double distance (const Vector &v, double bound) const
- double distance (const Vector &v, double bound, Vector &pos, Angle &angle) const
- Rect bbox () const
- Vector beginp () const
- Vector endp () const
- void intersect (const Line &l, std::vector< Vector > &result) const
- void intersect (const Segment &s, std::vector< Vector > &result) const
- void intersect (const Arc &a, std::vector< Vector > &result) const
- void intersect (const Bezier &b, std::vector< Vector > &result) const
Public Attributes
Detailed Description
An arc of an ellipse.
The ellipse is represented using the matrix that transforms the unit circle x^2 + y^2 = 1 to the desired ellipse. The arc coordinate system is the coordinate system of this unit circle.
A full ellipse is described by iAlpha = 0, iBeta = IpeTwoPi.
An elliptic arc is the image of the circular arc from iAlpha to iBeta (in increasing angle in arc coordinate system).
Constructor & Destructor Documentation
| ipe::Arc::Arc |
( |
|
) |
[inline] |
Construct with given parameters.
| ipe::Arc::Arc |
( |
const Matrix & |
m |
) |
[inline] |
Construct arc for ellipse defined by m, from begp to endp.
This assumes that m has been correctly computed such that begb and endp already lie on the ellipse.
Member Function Documentation
| bool ipe::Arc::isEllipse |
( |
|
) |
const [inline] |
Is this an entire ellipse?
| double Arc::distance |
( |
const Vector & |
v, |
|
|
double |
bound | |
|
) |
| | const |
This doesn't really compute the distance, but a reasonable approximation.
| double Arc::distance |
( |
const Vector & |
v, |
|
|
double |
bound, |
|
|
Vector & |
pos, |
|
|
Angle & |
angle | |
|
) |
| | const |
Like distance(), but sets pos to point on arc and angle to its angle in arc coordinates. angle and pos are not modified if result is larger than bound.
Return a tight bounding box.
| Vector ipe::Arc::beginp |
( |
|
) |
const [inline] |
Return begin point of arc.
| Vector ipe::Arc::endp |
( |
|
) |
const [inline] |
| void Arc::intersect |
( |
const Line & |
l, |
|
|
std::vector< Vector > & |
result | |
|
) |
| | const |
Compute intersection points of Arc with Line.
| void Arc::intersect |
( |
const Segment & |
s, |
|
|
std::vector< Vector > & |
result | |
|
) |
| | const |
| void Arc::intersect |
( |
const Arc & |
a, |
|
|
std::vector< Vector > & |
result | |
|
) |
| | const |
Compute intersection points of Arc with Arc.
| void Arc::intersect |
( |
const Bezier & |
b, |
|
|
std::vector< Vector > & |
result | |
|
) |
| | const |
Compute intersection points of Arc with Bezier.
Member Data Documentation
The documentation for this class was generated from the following files: