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
()Makes a copy of this primitive.
divide_polyline
(num_segments)Divide a polyline in equal segments.
divide_polyline_by_length
(length[, strict])Splits a polyline in segments of a given length
from_data
(data)Construct a polyline from a data dict.
from_json
(filepath)Construct a primitive from structured data contained in a json file.
Determine if the polyline is closed.
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
()Returns the data dictionary that represents the primitive.
to_json
(filepath)Serialise the structured data representing the primitive to json.
transform
(T)Transform this polyline.
transformed
(transformation)Returns a transformed copy of this primitive.
Validate the data of this object against its data schema (self.DATASCHEMA).
Validate the data loaded from a JSON representation of the data of this object against its data schema (self.DATASCHEMA).