compas.geometry.Polyline
- class compas.geometry.Polyline(points)[source]
Bases:
compas.geometry.primitives._primitive.PrimitiveA 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.0Methods
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
DATASCHEMAThe schema of the data of this object.
JSONSCHEMAThe schema of the JSON representation of the data of this object.
dataReturns the data dictionary that represents the polyline.
dtypeThe type of the object in the form of a “2-level” import and a class name.
guidThe globally unique identifier of the object.
lengthThe length of the polyline.
linesThe lines of the polyline.
nameThe name of the object.
pointsThe points of the polyline.