pyvale.render.mesh module

Renderer independent surface mesh data.

class EElemType(*values)[source]

Bases: Enum

Finite element geometry types supported by Riley.

Members

TRI3str

3-node linear triangle.

TRI6str

6-node quadratic triangle.

TRI7str

7-node quadratic triangle with face center.

QUAD4str

4-node bilinear quadrilateral.

QUAD8str

8-node serendipity quadratic quadrilateral.

QUAD9str

9-node biquadratic quadrilateral with center node.

TET4str

4-node linear tetrahedron.

TET10str

10-node quadratic tetrahedron.

HEX8str

8-node trilinear hexahedron.

HEX20str

20-node serendipity quadratic hexahedron.

HEX27str

27-node triquadratic hexahedron with face and center nodes.

TRI3 = 'tri3'
TRI6 = 'tri6'
TRI7 = 'tri7'
QUAD4 = 'quad4'
QUAD8 = 'quad8'
QUAD9 = 'quad9'
TET4 = 'tet4'
TET10 = 'tet10'
HEX8 = 'hex8'
HEX20 = 'hex20'
HEX27 = 'hex27'
get_para_coords()[source]

Get the parametric coordinates of nodes in Riley canonical order.

Returns:

numpy.ndarray – Array of shape (N, D) and dtype np.float64, where N is the node count for the element type and D is the parametric dimension (2 for 2D surface elements, 3 for 3D volume elements).

class Mesh3D(element_type, coords, connectivity, shader, displacements=None)[source]

Bases: object

A deformable surface mesh prepared for a three dimensional renderer.

Parameters:
  • element_type (riley.EElemType) – Topology of every element in connectivity.

  • coords (np.ndarray) – World coordinates array with shape (num_nodes, 3) and dtype float64 representing (X, Y, Z) coordinates of each node.

  • connectivity (np.ndarray) – Zero based element connectivity table with shape (num_elements, nodes_per_element) and dtype uintp or int_.

  • shader (object) – Backend owned material or shader definition.

  • displacements (np.ndarray or None, optional) – Nodal displacements array with shape (num_frames, num_nodes, 3) and dtype float64 representing (dX, dY, dZ) displacements for each frame.

element_type
coords
connectivity
shader
displacements
__init__(element_type, coords, connectivity, shader, displacements=None)