Line

class compas.geometry.Line(p1, p2, **kwargs)[source]

Bases: compas.geometry.primitives._primitive.Primitive

A line is defined by two points.

Parameters
  • p1 (point) – The first point.

  • p2 (point) – The second point.

Attributes

Examples

>>> line = Line([0, 0, 0], [1, 1, 1])
>>> line
Line(Point(0.000, 0.000, 0.000), Point(1.000, 1.000, 1.000))
>>> line.start
Point(0.000, 0.000, 0.000)
>>> line.midpoint
Point(0.500, 0.500, 0.500)
>>> line.length == math.sqrt(1 + 1 + 1)
True
>>> line.direction
Vector(0.577, 0.577, 0.577)

Attributes

DATASCHEMA

The schema of the data of this object.

JSONSCHEMANAME

data

The data dictionary that represents the line.

direction

A unit vector pointing from start and end.

end

The end point of the line.

length

The length of the vector from start to end.

midpoint

The midpoint between start and end.

start

The start point of the line.

vector

A vector pointing from start to end.

Inherited Attributes

JSONSCHEMA

The schema of the JSON representation of the data of this object.

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.

jsondefinitions

Reusable schema definitions.

jsonstring

The representation of the object data in JSON format.

jsonvalidator

JSON schema validator for draft 7.

name

The name of the object.

Methods

from_data

Construct a frame from a data dict.

point

A point between start and end at a specific normalized parameter.

transform

Transform this line.

transform_collection

Transform a collection of Line objects.

transformed_collection

Create a collection of transformed Line objects.

Inherited Methods

copy

Make an independent copy of the data object.

from_json

Construct an object from serialized data contained in a JSON file.

from_jsonstring

Construct an object from serialized data contained in a JSON string.

to_data

Convert an object to its native data representation.

to_json

Serialize the data representation of an object to a JSON file.

to_jsonstring

Serialize the data representation of an object to a JSON string.

transformed

Returns a transformed copy of this geometry.

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).