geoparticle.ops.Rotate
- class Rotate(geo: Geometry, angle_deg: float, axis_direction: str | None = None, axis_point1: Sequence[float] | None = None, axis_point2: Sequence[float] | None = None, name=None)[source]
Bases:
GeometryRotate geometry around an axis by a given angle.
Shortest import: from geoparticle import Rotate
- __init__(geo: Geometry, angle_deg: float, axis_direction: str | None = None, axis_point1: Sequence[float] | None = None, axis_point2: Sequence[float] | None = None, name=None)[source]
Initialize a Rotate object that rotates a geometry around a specified axis.
- Rules:
If axis_direction is provided, axis_point1 and axis_point2 must not be provided
If axis_direction is None, both axis_point1 and axis_point2 must be provided
- Parameters:
geo (Geometry) – The source geometry to rotate.
angle_deg (float) – Rotation angle in degrees.
axis_direction (str | None) – Principal axis (‘x’, ‘y’, or ‘z’).
axis_point1 (Sequence[float] | None) – First point defining the custom axis.
axis_point2 (Sequence[float] | None) – Second point defining the custom axis.
- Raises:
ValueError – If invalid axis parameters are provided.
Methods
__init__(geo, angle_deg[, axis_direction, ...])Initialize a Rotate object that rotates a geometry around a specified axis.
check_overlap([tol])Check if there are overlapping points in the geometry.
clip(keep, *[, plane_name, plane_normal, ...])Clip geometry by a half-space defined by a named plane or an arbitrary plane.
coord2id(x, y, z)Find the nearest vertex index/indices and its/their coordinates.
copy([name])Create a deep copy of the geometry object.
equal(geo)Check if two geometries are equal based on their coordinates.
get_and_delete(ids)Extract points by their indices and remove them from the geometry.
get_counter()Get the current value of the class-wide counter.
intersect(geometries[, rmax, inplace, name])Keep points from self that are within rmax of at least one point in every other geometry.
load_from(other)Copy coordinate arrays and dimension from another Geometry into this instance.
mirror(plane_name, plane_pos[, inplace, name])Mirror the geometry across a principal plane.
plot([ax, ms, alpha])Plot the geometry points in 2D.
rotate(angle_deg[, axis_direction, ...])Rotate the geometry around a principal axis or a custom axis.
set_coord(xs, ys, zs)Set the coordinates of the geometry, broadcasting scalars if necessary.
shift([x, y, z, inplace, name])Translate the geometry by the given offsets.
stack(axis, n_axis, dl, dimension[, ...])Stack a planar layer (self) along axis by repeating points at spacing dl.
subtract(geo2[, rmax, inplace, name])Return points from self that are at least rmax away from any point in geo2.
union(geometries[, inplace, name])Concatenate this geometry with others and return a new Geometry.
Attributes
flatten_coordsGet the flattened array of coordinates.
matrix_coordsGet the coordinates as a 2D array.
sizeGet the number of points in the geometry.
- counter = 0