| Ipelib
    | 
#include <ipeshape.h>
Inherits ipe::SubPath.
| Public Member Functions | |
| Curve () | |
| virtual Type | type () const | 
| virtual bool | closed () const | 
| virtual const Curve * | asCurve () const | 
| virtual void | save (Stream &stream) const | 
| virtual void | draw (Painter &painter) const | 
| virtual void | addToBBox (Rect &box, const Matrix &m, bool cp) const | 
| virtual double | distance (const Vector &v, const Matrix &m, double bound) const | 
| virtual void | snapVtx (const Vector &mouse, const Matrix &m, Vector &pos, double &bound, bool cp) const | 
| virtual void | snapBnd (const Vector &mouse, const Matrix &m, Vector &pos, double &bound) const | 
| int | countSegments () const | 
| CurveSegment | segment (int i) const | 
| CurveSegment | closingSegment (Vector u[2]) const | 
| void | appendSegment (const Vector &v0, const Vector &v1) | 
| void | appendArc (const Matrix &m, const Vector &v0, const Vector &v1) | 
| void | appendSpline (const std::vector< Vector > &v) | 
| void | appendOldSpline (const std::vector< Vector > &v) | 
| void | setClosed (bool closed) | 
|  Public Member Functions inherited from ipe::SubPath | |
| virtual | ~SubPath ()=0 | 
| virtual const Ellipse * | asEllipse () const | 
| virtual const ClosedSpline * | asClosedSpline () const | 
| Additional Inherited Members | |
|  Public Types inherited from ipe::SubPath | |
| enum | Type { ECurve, EEllipse, EClosedSpline } | 
Subpath consisting of a sequence of CurveSegment's.
| Curve::Curve | ( | ) | 
Create an empty, open subpath.
| 
 | virtual | 
| 
 | inlinevirtual | 
Is this subpath closed?
Default implementation returns true. 
Reimplemented from ipe::SubPath.
Referenced by distance(), draw(), save(), setClosed(), and snapBnd().
| 
 | virtual | 
Return this object as an Curve, or else 0.
Reimplemented from ipe::SubPath.
| 
 | virtual | 
Save subpath to XML stream.
Implements ipe::SubPath.
References closed(), ipe::CurveSegment::EArc, ipe::CurveSegment::EOldSpline, ipe::CurveSegment::ESegment, and ipe::CurveSegment::ESpline.
| 
 | virtual | 
Draw subpath (does not call drawPath()).
Implements ipe::SubPath.
References closed(), ipe::Painter::closePath(), countSegments(), ipe::CurveSegment::draw(), ipe::Painter::moveTo(), and segment().
Add subpath to box.
Implements ipe::SubPath.
References ipe::CurveSegment::addToBBox(), countSegments(), and segment().
Return distance from v to subpath transformed by m.
Implements ipe::SubPath.
References closed(), closingSegment(), countSegments(), ipe::CurveSegment::distance(), and segment().
| 
 | virtual | 
Snap to vertex.
Implements ipe::SubPath.
References countSegments(), segment(), and ipe::CurveSegment::snapVtx().
| 
 | virtual | 
Snap to boundary of subpath.
Implements ipe::SubPath.
References closed(), closingSegment(), countSegments(), segment(), and ipe::CurveSegment::snapBnd().
| 
 | inline | 
Return number of segments. This does not include the closing segment for a closed path.
Referenced by addToBBox(), distance(), draw(), ipe::Shape::isSegment(), ipe::Shape::load(), snapBnd(), and snapVtx().
| CurveSegment Curve::segment | ( | int | i | ) | const | 
Return segment.
If i is negative, elements from the end are returned. The closing segment of a closed path is not accessible this way (use closingSegment() instead)!
Referenced by addToBBox(), distance(), ipe::Path::draw(), draw(), ipe::Shape::isSegment(), snapBnd(), and snapVtx().
| CurveSegment Curve::closingSegment | ( | Vector | u[2] | ) | const | 
Returns the closing segment of a closed path.
Since the closing segment isn't actually stored inside this object, you have to provide a length-2 vector for the control points.
This method panics if the Curve is not closed.
References ipe::CurveSegment::ESegment.
Referenced by distance(), and snapBnd().
Append a straight segment to the subpath.
References ipe::CurveSegment::ESegment.
Referenced by ipe::Shape::load(), and ipe::Shape::Shape().
Append elliptic arc to the subpath.
References ipe::CurveSegment::EArc.
Referenced by ipe::Shape::load(), and ipe::Shape::Shape().
| 
 | inline | 
References ipe::CurveSegment::ESpline.
Referenced by appendOldSpline(), and ipe::Shape::load().
| 
 | inline | 
References appendSpline(), and ipe::CurveSegment::EOldSpline.
Referenced by ipe::Shape::load().
| void Curve::setClosed | ( | bool | closed | ) | 
Set whether subpath is closed or not.
References closed().
Referenced by ipe::Shape::load(), and ipe::Shape::Shape().