IpeSegmentSubPath Class Reference
[Ipe Objects]

Subpath consisting of a sequence of IpePathSegment's. More...

Inherits IpeSubPath.

List of all members.

Public Member Functions


Detailed Description

Subpath consisting of a sequence of IpePathSegment's.


Constructor & Destructor Documentation

IpeSegmentSubPath::IpeSegmentSubPath (  ) 

Create an empty, open subpath.


Member Function Documentation

IpeSubPath::TType IpeSegmentSubPath::Type (  )  const [virtual]

Return type of this subpath.

Implements IpeSubPath.

virtual bool IpeSegmentSubPath::Closed (  )  const [inline, virtual]

Is this subpath closed?

Default implementation returns true.

Reimplemented from IpeSubPath.

const IpeSegmentSubPath * IpeSegmentSubPath::AsSegs (  )  const [virtual]

Return this object as an IpeSegmentSubPath, or else 0.

Reimplemented from IpeSubPath.

IpeSegmentSubPath * IpeSegmentSubPath::AsSegs (  )  [virtual]

Return this object as an IpeSegmentSubPath, or else 0.

Reimplemented from IpeSubPath.

IpeSubPath * IpeSegmentSubPath::Clone (  )  const [virtual]

Return a copy of this subpath.

Implements IpeSubPath.

IpeSubPath * IpeSegmentSubPath::Transform ( const IpeMatrix m  )  const [virtual]

Return a transformed copy of this subpath.

Implements IpeSubPath.

void IpeSegmentSubPath::SaveAsXml ( IpeStream stream  )  const [virtual]

Save subpath to XML stream.

Implements IpeSubPath.

void IpeSegmentSubPath::Draw ( IpePainter painter  )  const [virtual]

Draw subpath (does not call DrawPath()).

Implements IpeSubPath.

void IpeSegmentSubPath::AddToBBox ( IpeRect box,
const IpeMatrix m 
) const [virtual]

Add subpath to box.

Implements IpeSubPath.

double IpeSegmentSubPath::Distance ( const IpeVector v,
const IpeMatrix m,
double  bound 
) const [virtual]

Return distance from v to subpath transformed by m.

Implements IpeSubPath.

void IpeSegmentSubPath::SnapVtx ( const IpeVector mouse,
const IpeMatrix m,
IpeVector pos,
double &  bound 
) const [virtual]

Snap to vertex.

Implements IpeSubPath.

void IpeSegmentSubPath::SnapBnd ( const IpeVector mouse,
const IpeMatrix m,
IpeVector pos,
double &  bound 
) const [virtual]

Snap to boundary of subpath.

Implements IpeSubPath.

int IpeSegmentSubPath::NumSegments (  )  const [inline]

Return number of segments.

This does not include the closing segment for a closed path.

IpePathSegment IpeSegmentSubPath::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)!

IpePathSegment IpeSegmentSubPath::ClosingSegment ( IpeVector  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.

void IpeSegmentSubPath::Append ( const IpePathSegment seg  ) 

Append a segment (from a different path) to the subpath.

void IpeSegmentSubPath::Append ( const IpeMatrix m,
const IpePathSegment seg 
)

Append a segment (from a different path) to the subpath.

Transform segment before appending.

void IpeSegmentSubPath::AppendReversed ( const IpeMatrix m,
const IpePathSegment seg 
)

Append a segment to the subpath, reversing its orientation.

void IpeSegmentSubPath::AppendSegment ( const IpeVector v0,
const IpeVector v1 
)

Append a straight segment to the subpath.

void IpeSegmentSubPath::AppendArc ( const IpeMatrix m,
const IpeVector v0,
const IpeVector v1 
)

Append elliptic arc to the subpath.

void IpeSegmentSubPath::AppendQuad ( const IpeVector v0,
const IpeVector v1,
const IpeVector v2 
)

Append quadratic Bezier spline.

void IpeSegmentSubPath::AppendBezier ( const IpeVector v0,
const IpeVector v1,
const IpeVector v2,
const IpeVector v3 
)

Append cubic Bezier spline.

void IpeSegmentSubPath::AppendSpline ( const std::vector< IpeVector > &  v  ) 

Append B-spline curve.

void IpeSegmentSubPath::SetClosed ( bool  closed  ) 

Set whether subpath is closed or not.

void IpeSegmentSubPath::MoveCP ( int  seg,
int  cp,
const IpeVector pos 
)

Move control point cp of segment cp to position pos.

If seg or cp are negative, they count from the end.

void IpeSegmentSubPath::InsertCP ( int  seg,
int  cp,
const IpeVector pos 
)

Insert a control point into a spline segment.

If seg is negative, counts from the end. If cp is negative, append to segment.

void IpeSegmentSubPath::InsertSegment ( int  seg  ) 

Insert a zero-length segment before segment seg.

If seg is negative, it counts from the end.

void IpeSegmentSubPath::DeleteSegment ( int  seg  ) 

Delete a segment from the subpath.

If seg is negative, it counts from the end. If a segment in the middle is deleted, the first and last control point must be identical.

void IpeSegmentSubPath::DeleteCP ( int  seg,
int  cp 
)

Delete a control point from a spline segment.

If seg or cp are negative, count from the end. This cannot be used to remove the first or last CP of a spline curve, unless the spline is the first or last segment of the subpath. If the spline has only two vertices, it is simply deleted.

void IpeSegmentSubPath::Straighten ( int  seg  ) 

Replace segment by a straight segment.

If seg is negative, counts from the end.

void IpeSegmentSubPath::SetMatrix ( int  seg,
const IpeMatrix m 
)

Change the matrix of arc segment.

If seg is negative, counts from the end.


The documentation for this class was generated from the following files: