mixins#

Mixin classes that compose the four functional areas of Plot3d.

All four mixins are defined in this module and are assembled into Plot3d via multiple inheritance.

Mixin responsibilities#

ObserverMixin

Camera and observer controls in spherical coordinates — position, focal point, up vector, position angle, line-of-sight FOV, and a live camera-state readout.

GeometryMixin

Solar geometry primitives — Sun sphere, spherical shells, planar discs, longitude/latitude grid lines, and the Thomson sphere.

GridMeshMixin

Structured-grid rendering from independent 1-D or pre-broadcast 3-D coordinate arrays: 1-D line slices, 2-D surface slices, 3-D volume slices, and isosurface contours.

StackMeshMixin

Rendering from stacked N-D coordinate arrays (all axes share the same shape): single points, point clouds, single splines, spline bundles, magnetic fieldlines, and free-form surfaces.

Common patterns#

Methods in GridMeshMixin and StackMeshMixin that accept r, t, p positional arguments are decorated with parse_mesh_params(), which promotes scalar inputs to 1-D arrays before the method body runs.

Keyword arguments are passed through to add_mesh() by merging stylistic defaults from pyvisual.core._styling with caller-supplied overrides.

Classes

GeometryMixin()

Mixin for adding solar geometry primitives to the 3-D scene.

GridMeshMixin()

Mixin for rendering geometry from independent structured-grid coordinate arrays.

ObserverMixin()

Mixin for camera and observer controls expressed in spherical coordinates.

StackMeshMixin()

Mixin for rendering geometry from stacked N-D coordinate arrays.