Main Page | Modules | Class Hierarchy | Class List | Class Members

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::AppendReversed 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: