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: