Capsule

class compas.geometry.Capsule(line, radius)[source]

Bases: compas.geometry.shapes._shape.Shape

A capsule is defined by a line segment and a radius.

Parameters
  • line (tuple or compas.geometry.Line) – The axis line of the capsule.

  • radius (float) – The radius of the capsule.

Attributes
  • line (compas.geometry.Line) – The axis line of the capsule.

  • start (compas.geometry.Point) – The start point of the axis line. This is the base point of the capsule.

  • end (compas.geometry.Point) – The end point of the axis line. This is the top of the capsule.

  • radius (float) – The radius of the capsule.

  • length (read-only) (float) – The length of the capsule axis line.

  • area (read-only) (float) – The surface area of the capsule.

  • volume (read-only) (float) – The volume of the capsule.

Examples

>>> line = Line((1, 2, 3), (5, 3, 1))
>>> capsule = Capsule(line, 2.3)

Methods

__init__(line, radius)

Initialize self.

copy()

Makes a copy of this primitive.

from_data(data)

Construct a capsule from its data representation.

from_json(filepath)

Construct a primitive from structured data contained in a json file.

to_data()

Returns the data dictionary that represents the primitive.

to_json(filepath)

Serialise the structured data representing the primitive to json.

to_vertices_and_faces([u, v])

Returns a list of vertices and faces.

transform(transformation)

Transform this Capsule using a given transformation.

transformed(transformation)

Returns a transformed copy of this primitive.

validate_data()

Validate the data of this object against its data schema (self.DATASCHEMA).

validate_json()

Validate the data loaded from a JSON representation of the data of this object against its data schema (self.DATASCHEMA).