geometor.model.circles

Provides circle construction and manipulation for the Model class.

This module manages the creation of symbolic circles defined by a center point and a radius point, handling deduplication and exact symbolic intersections.

Classes

CirclesMixin

Mixin for the Model class containing circle construction operations.

Module Contents

class geometor.model.circles.CirclesMixin

Mixin for the Model class containing circle construction operations.

construct_circle_by_IDs(pt_1_ID: str, pt_2_ID: str, classes: list[str] | None = None, ID: str = '', *, guide: bool = False, intersect: bool | collections.abc.Sequence[geometor.model.element.Struct] | None = None, by: str = '') → sympy.geometry.Circle

Find points by ID and construct a circle via Model.construct_circle().

construct_circle(pt_center: sympy.geometry.Point, pt_radius: sympy.geometry.Point, classes: list[str] | None = None, ID: str = '', guide: bool = False, *, intersect: bool | collections.abc.Sequence[geometor.model.element.Struct] | None = None, by: str = '') → sympy.geometry.Circle

Construct a sympy.geometry.Circle from center and radius points.

Parameters:
  • pt_center – The center point of the circle.

  • pt_radius – A point on the circumference of the circle.

  • classes – A list of class labels.

  • ID – A string ID for the circle. If empty, ( A B ) is generated.

  • guide – If True, the circle is excluded from automatic intersections.

  • intersect – Override automatic intersection behavior (None, False, True, or a Sequence[Struct]).

  • by – Optional Euclidean citation (e.g., "Post.3").

Returns:

The constructed or existing sympy.geometry.Circle.