Segment¶
Description¶
A Contour
object is a list of segments. A Segment
is a list of points with some special attributes and methods.
Overview¶
Parents¶
The segment's parent contour. |
|
The segment's parent glyph. |
|
The segment's parent layer. |
|
The segment's parent font. |
Identification¶
The index of the segment within the ordered list of the parent contour's segments. |
Attributes¶
The segment type. |
|
Boolean indicating if the segment is smooth or not. |
Points¶
A list of points in the segment. |
|
The on curve point in the segment. |
|
The off curve points in the segment. |
Transformations¶
Transform the object. |
|
Move the object. |
|
Scale the object. |
|
Rotate the object. |
|
Skew the object. |
Normalization¶
Round coordinates in all points. |
Environment¶
Return the environment's native object that has been wrapped by this object. |
|
Tell the environment that something has changed in the object. |
Reference¶
Parents¶
- BaseSegment.contour¶
The segment’s parent contour.
- BaseSegment.glyph¶
The segment’s parent glyph.
- BaseSegment.layer¶
The segment’s parent layer.
- BaseSegment.font¶
The segment’s parent font.
Identification¶
- BaseSegment.index¶
The index of the segment within the ordered list of the parent contour’s segments.
Attributes¶
- BaseSegment.type¶
The segment type. The possible types are move, line, curve, qcurve.
- BaseSegment.smooth¶
Boolean indicating if the segment is smooth or not.
Points¶
- BaseSegment.points¶
A list of points in the segment.
- BaseSegment.onCurve¶
The on curve point in the segment.
- BaseSegment.offCurve¶
The off curve points in the segment.
Transformations¶
- BaseSegment.transformBy(matrix, origin=None)¶
Transform the object.
>>> obj.transformBy((0.5, 0, 0, 2.0, 10, 0)) >>> obj.transformBy((0.5, 0, 0, 2.0, 10, 0), origin=(500, 500))
matrix must be a Transformation Matrix. origin defines the point at with the transformation should originate. It must be a Coordinate or
None
. The default is(0, 0)
.
- BaseSegment.moveBy(value)¶
Move the object.
>>> obj.moveBy((10, 0))
value must be an iterable containing two Integer/Float values defining the x and y values to move the object by.
- BaseSegment.scaleBy(value, origin=None)¶
Scale the object.
>>> obj.scaleBy(2.0) >>> obj.scaleBy((0.5, 2.0), origin=(500, 500))
value must be an iterable containing two Integer/Float values defining the x and y values to scale the object by. origin defines the point at with the scale should originate. It must be a Coordinate or
None
. The default is(0, 0)
.
- BaseSegment.rotateBy(value, origin=None)¶
Rotate the object.
>>> obj.rotateBy(45) >>> obj.rotateBy(45, origin=(500, 500))
value must be a Integer/Float values defining the angle to rotate the object by. origin defines the point at with the rotation should originate. It must be a Coordinate or
None
. The default is(0, 0)
.
- BaseSegment.skewBy(value, origin=None)¶
Skew the object.
>>> obj.skewBy(11) >>> obj.skewBy((25, 10), origin=(500, 500))
value must be rone of the following:
single Integer/Float indicating the value to skew the x direction by.
iterable cointaining type Integer/Float defining the values to skew the x and y directions by.
origin defines the point at with the skew should originate. It must be a Coordinate or
None
. The default is(0, 0)
.
Normalization¶
Environment¶
- BaseSegment.naked()¶
Return the environment’s native object that has been wrapped by this object.
>>> loweLevelObj = obj.naked()
- BaseSegment.changed(*args, **kwargs)¶
Tell the environment that something has changed in the object. The behavior of this method will vary from environment to environment.
>>> obj.changed()