upxo.geoEntities.surface module

3D surface geometric entity for UPXO.

Usage

from upxo.geoEntities.surface import Surface

Classes

Surface : 3D surface representation with meshing and smoothing operations.

Limitations

  • All methods are stubs awaiting implementation.

class upxo.geoEntities.surface.Surface[source]

Bases: object

Represents a 3D surface in UPXO.

x

X-coordinates of surface points.

Type:

array-like

y

Y-coordinates of surface points.

Type:

array-like

z

Z-coordinates of surface points.

Type:

array-like

Limitations
-----------
- All methods are stubs awaiting implementation.
classmethod from_points()[source]

Construct a surface from a collection of 3D points.

classmethod from_vertices()[source]

Construct a surface from a vertex array.

compute_normals()[source]

Compute surface normals at each vertex.

shortest_path(point)[source]

Find the shortest geodesic path from a reference point on the surface.

Parameters:

point (array-like) – Query point coordinates.

triangulate(point)[source]

Triangulate the surface from the given reference point.

Parameters:

point (array-like) – Reference point for triangulation.

distribute_points(n, min_distance=-1)[source]

Distribute n points on the surface with optional minimum separation.

Parameters:
  • n (int) – Number of points to distribute.

  • min_distance (float, optional) – Minimum distance between points. Default is -1 (no constraint).

pyvista_mesh()[source]

Return a PyVista mesh representation of this surface.

smooth_laplace(niterations)[source]

Apply Laplacian smoothing to the surface.

Parameters:

niterations (int) – Number of smoothing iterations.

smooth_taubin(niterations)[source]

Apply Taubin smoothing to the surface.

Parameters:

niterations (int) – Number of smoothing iterations.

x
y
z