compas.geometry.Polyline
- class compas.geometry.Polyline(points)[source]
Bases:
compas.geometry.primitives._primitive.Primitive
A polyline is a sequence of points connected by line segments.
A polyline is a piecewise linear element. It does not have an interior. It can be open or closed. It can be self-intersecting.
- Parameters
points (list of point) – An ordered list of points. Each consecutive pair of points forms a segment of the polyline.
- Attributes
data (dict) – The data representation of the polyline.
points (list of
compas.geometry.Point
) – The polyline points.lines (list of
compas.geometry.Line
, read-only) – The polyline segments.length (float, read-only) – The length of the polyline.
Examples
>>> polyline = Polyline([[0,0,0], [1,0,0], [2,0,0], [3,0,0]]) >>> polyline.length 3.0
>>> type(polyline.points[0]) == Point True >>> polyline.points[0].x 0.0
>>> type(polyline.lines[0]) == Line True >>> polyline.lines[0].length 1.0
Methods
copy
([cls])Make an independent copy of the data object.
divide_polyline
(num_segments)Divide a polyline in equal segments.
divide_polyline_by_length
(length[, strict, tol])Splits a polyline in segments of a given length.
from_data
(data)Construct a polyline from a data dict.
from_json
(filepath)Construct an object from serialized data contained in a JSON file.
from_jsonstring
(string)Construct an object from serialized data contained in a JSON string.
is_closed
()Determine if the polyline is closed.
is_selfintersecting
()Determine if the polyline is self-intersecting.
point
(t[, snap])Point on the polyline at a specific normalized parameter.
split_at_corners
(angle_threshold)Splits a polyline at corners larger than the given angle_threshold
tangent_at_point_on_polyline
(point)Calculates the tangent vector of a point on a polyline
to_data
()Convert an object to its native data representation.
to_json
(filepath[, pretty])Serialize the data representation of an object to a JSON file.
to_jsonstring
([pretty])Serialize the data representation of an object to a JSON string.
transform
(T)Transform this polyline.
transformed
(transformation)Returns a transformed copy of this primitive.
validate_data
()Validate the object’s data against its data schema (self.DATASCHEMA).
validate_json
()Validate the object’s data against its json schema (self.JSONSCHEMA).
Attributes
DATASCHEMA
The schema of the data of this object.
JSONSCHEMA
The schema of the JSON representation of the data of this object.
data
Returns the data dictionary that represents the polyline.
dtype
The type of the object in the form of a “2-level” import and a class name.
guid
The globally unique identifier of the object.
length
The length of the polyline.
lines
The lines of the polyline.
name
The name of the object.
points
The points of the polyline.