This commit is contained in:
cjw
2026-02-12 23:22:11 +08:00
parent 7b09eb3d89
commit 89660bba4e
5988 changed files with 2517516 additions and 0 deletions
@@ -0,0 +1,136 @@
"""Module containing pyvista implementation of :vtk:`vtkAxes`."""
from __future__ import annotations
from pyvista._deprecate_positional_args import _deprecate_positional_args
from pyvista.core.utilities.misc import _NoNewAttrMixin
from . import _vtk
from .actor import Actor
from .axes_actor import AxesActor
class Axes(_NoNewAttrMixin, _vtk.DisableVtkSnakeCase, _vtk.vtkAxes):
"""PyVista wrapper for the VTK Axes class.
Parameters
----------
show_actor : bool, optional
Hide or show the actor of these axes. Default ``False``.
actor_scale : float, optional
Scale the size of the axes actor. Default ``1``.
line_width : float, optional
Width of the axes lines. Default ``1``.
symmetric : bool, optional
If true, the axis continue to negative values.
Examples
--------
Create an instance of axes at the pyvista module level.
>>> import pyvista as pv
>>> axes = pv.Axes()
"""
@_deprecate_positional_args
def __init__( # noqa: PLR0917
self,
show_actor: bool = False, # noqa: FBT001, FBT002
actor_scale=1,
line_width=1.0,
symmetric: bool = False, # noqa: FBT001, FBT002
): # numpydoc ignore=PR01,RT01
"""Initialize a new axes descriptor."""
super().__init__()
self.SetSymmetric(symmetric)
# Add the axes mapper
self.mapper = _vtk.vtkPolyDataMapper()
self.mapper.SetInputConnection(self.GetOutputPort())
# Add the axes actor
self.actor = Actor(mapper=self.mapper)
self.axes_actor = AxesActor()
self.actor.visibility = show_actor
self.actor.scale = actor_scale
self.actor.prop.line_width = line_width
@property
def origin(self): # numpydoc ignore=RT01
"""Return or set th origin of the axes in world coordinates.
Examples
--------
>>> import pyvista as pv
>>> axes = pv.Axes()
>>> axes.origin
(0.0, 0.0, 0.0)
Set the origin of the camera.
>>> axes.origin = (2.0, 1.0, 1.0)
>>> axes.origin
(2.0, 1.0, 1.0)
"""
return self.GetOrigin()
@origin.setter
def origin(self, value):
self.SetOrigin(value)
def show_actor(self):
"""Show an actor of axes.
Examples
--------
>>> import pyvista as pv
>>> axes = pv.Axes()
>>> axes.show_actor()
"""
self.actor.visibility = True
def hide_actor(self):
"""Hide an actor of axes.
Examples
--------
>>> import pyvista as pv
>>> axes = pv.Axes()
>>> axes.hide_actor()
"""
self.actor.visibility = False
def show_symmetric(self):
"""Show symmetric of axes.
Examples
--------
>>> import pyvista as pv
>>> axes = pv.Axes()
>>> axes.show_symmetric()
"""
self.SymmetricOn()
def hide_symmetric(self):
"""Hide symmetric of axes.
Examples
--------
>>> import pyvista as pv
>>> axes = pv.Axes()
>>> axes.hide_symmetric()
"""
self.SymmetricOff()
def __del__(self):
"""Clean the attributes of the class."""
self.axes_actor = None # type: ignore[assignment]
self.actor = None # type: ignore[assignment]
self.mapper = None # type: ignore[assignment]