Arc

class Arc(center: ndarray[3], start: ndarray[3], midpoint: ndarray[3], end: ndarray[3], attributes: ElementAttributes)

An Arc represents a circular arc in space.

Attributes

angle_span

The angle spanned by this arc.

center

The center of this arc.

radius

The radius of this arc.

start_angle

The angle of the start point on this arc's carrier.

midpoint_angle

The angle of the midpoint on this arc's carrier.

end_angle

The angle of the end point on this arc's carrier.

endpoints

(start point, end point) of this arc.

carrier

The Carrier underlying this element.

attributes

The ElementAttributes of this element.

Methods

boolean_subtract

Returns the boolean difference between this element and another.

bulk_subtract

coincident_with

Returns True if this element is coincident with another.

contains_point

Returns True if point is coincident to this element.

equivalent_to

Returns True if this element is equivalent to another.

from_carrier_and_range

Returns the Arc specified by the given ArcCarrier and the given range.

is_embedded_in

Returns True if this element is embedded in another.

transform

Transform this Arc by a given Transformation.

__le__(other)

Calls is_embedded_in().

__rmatmul__(transformation: Transformation) T_co

Computes transformable.transform(t) when performing t @ transformable for a Transformation t and TransformableMixin transformable.

__sub__(other)

Calls boolean_subtract().

boolean_subtract(other: Arc) List[Arc]

Returns the boolean difference between this element and another.

classmethod bulk_subtract(lhs: Sequence[E_co], rhs: Sequence[E_co]) List[E_co]
coincident_with(other: Arc) bool

Returns True if this element is coincident with another. This occurs when the result of maximizing the two elements returns an element that both are embedded in (see is_embedded_in()).

Specifically, the two elements must be coequal and at least one part of the boundary of one element must be contained within the boundary of the other.

Fuzzy with tolerance.

contains_point(point: ArrayLike) bool

Returns True if point is coincident to this element. Fuzzy with tolerance.

equivalent_to(other: Arc) bool

Returns True if this element is equivalent to another. They must be coequal and have equivalent boundaries. Fuzzy with tolerance.

classmethod from_carrier_and_range(carrier: ArcCarrier, arc_range: Tuple[float, float], attributes: ElementAttributes) Arc

Returns the Arc specified by the given ArcCarrier and the given range. This range is equivalent to (arc.start_angle, arc.end_angle).

is_embedded_in(other: Arc) bool

Returns True if this element is embedded in another. This occurs when the result of maximizing the two elements returns an element equivalent to the other.

Specifically, the two elements must be coequal and the boundary of this element must be entirely contained within the boundary of the other.

Fuzzy with tolerance.

transform(transformation: Transformation) Arc

Transform this Arc by a given Transformation.

property angle_span

The angle spanned by this arc.

attributes

The ElementAttributes of this element. These must be equatable and hashable and are made to be immutable upon carrier initialization.

carrier

The Carrier underlying this element.

property center: ndarray[3]

The center of this arc.

end_angle

The angle of the end point on this arc’s carrier.

endpoints: Tuple[ndarray[3], ndarray[3]]

(start point, end point) of this arc.

midpoint_angle

The angle of the midpoint on this arc’s carrier.

property radius

The radius of this arc.

start_angle

The angle of the start point on this arc’s carrier.