Inherits IpeSubPath.
IpeSegmentSubPath::IpeSegmentSubPath | ( | ) |
Create an empty, open subpath.
IpeSubPath::TType IpeSegmentSubPath::Type | ( | ) | const [virtual] |
virtual bool IpeSegmentSubPath::Closed | ( | ) | const [inline, virtual] |
const IpeSegmentSubPath * IpeSegmentSubPath::AsSegs | ( | ) | const [virtual] |
IpeSegmentSubPath * IpeSegmentSubPath::AsSegs | ( | ) | [virtual] |
IpeSubPath * IpeSegmentSubPath::Clone | ( | ) | const [virtual] |
IpeSubPath * IpeSegmentSubPath::Transform | ( | const IpeMatrix & | m | ) | const [virtual] |
void IpeSegmentSubPath::SaveAsXml | ( | IpeStream & | stream | ) | const [virtual] |
void IpeSegmentSubPath::Draw | ( | IpePainter & | painter | ) | const [virtual] |
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.
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.