fastscapelib.TriMesh#

class fastscapelib.TriMesh#

A 2-dimensional, triangular (irregular) mesh.

__init__(*args, **kwargs) None#

TriMesh initializer (from an existing triangulation).

Overloaded initializer.

  1. __init__(self, points: numpy.ndarray, triangles: numpy.ndarray, nodes_status: Dict[int, NodeStatus] | None = None) -> None

Create a new mesh with a dictionary of node status (optional).

  1. __init__(self, points: numpy.ndarray, triangles: numpy.ndarray, nodes_status: np.ndarray) -> None

Create a new mesh with an array of node status.

Parameters:
  • points (array-like) – Mesh node x,y coordinates (array of shape [N, 2]).

  • triangles (array-like) – Indices of triangle vertices (array of shape [K, 3]).

  • nodes_status (dict or array-like, optional) – A dictionary where keys are node indices and values are NodeStatus values for setting the status at any node on the mesh. If None (default), “fixed value” is set for all boundary nodes (i.e., end-points of all the edges that are not shared by more than one triangle). Alternatively, an array of shape [N] can be given for setting the status of all nodes at once.

Methods

__init__(*args, **kwargs)

TriMesh initializer (from an existing triangulation).

neighbors(idx)

Returns the neighbors of a given node.

neighbors_count(idx)

Returns the number of neighbors at a given node.

neighbors_distances(idx)

Returns the distances from a given node to its neighbors.

neighbors_indices(idx)

Returns the (flat) indices of the neighbors of a given node.

nodes_areas(*args)

Returns the area of the direct vicinity of a given node or all nodes.

nodes_indices(*args)

Returns the (flattened) indices of grid nodes, possibly filtered by node status.

nodes_status(*args)

Returns the status of a given node or all nodes.

Attributes

is_structured

is_uniform

n_neighbors_max

shape

Returns the shape of the grid node arrays.

size

Returns the total number of grid nodes.

neighbors(idx: int) List[Neighbor]#

Returns the neighbors of a given node.

Parameters:

idx (int) – The grid node (flat) index.

Returns:

neighbors (list) – A list of Neighbor instances.

Notes

For a RasterGrid, it is also possible to provide row and col indices as arguments, which returns a list of RasterNeighbor instances.

neighbors_count(idx: int) int#

Returns the number of neighbors at a given node.

Parameters:

idx (int) – The grid node (flat) index.

neighbors_distances(idx: int) numpy.ndarray#

Returns the distances from a given node to its neighbors.

Parameters:

idx (int) – The grid node (flat) index.

Returns:

distances (numpy.ndarray) – A 1-dimensional array of node distances (float). The neighbor order is the same than the one returned by neighbors_indices(idx).

neighbors_indices(idx: int) numpy.ndarray#

Returns the (flat) indices of the neighbors of a given node.

Parameters:

idx (int) – The grid node (flat) index.

Returns:

indices (numpy.ndarray) – A 1-dimensional array of node (flat) indices (int).

Notes

For a RasterGrid, it is also possible to provide row and col indices as arguments.

nodes_areas(*args) float | numpy.ndarray#

Returns the area of the direct vicinity of a given node or all nodes.

Overloaded method that supports the following signatures:

  1. nodes_areas() -> numpy.ndarray

  2. nodes_areas(idx: int) -> float

Parameters:

idx (int) – The grid node (flat) index.

nodes_indices(*args) numpy.ndarray#

Returns the (flattened) indices of grid nodes, possibly filtered by node status.

Overloaded method that supports the following signatures:

  1. nodes_indices() -> numpy.ndarray

  2. nodes_indices(status: NodeStatus) -> numpy.ndarray

Parameters:

status (NodeStatus) – The status of the grid nodes to filter in.

Returns:

indices (numpy.ndarray) – A new, 1-dimensional array with grid node (filtered) flat indices.

nodes_status(*args) NodeStatus | numpy.ndarray#

Returns the status of a given node or all nodes.

Overloaded method that supports the following signatures:

  1. nodes_status() -> numpy.ndarray

  2. nodes_status(idx: int) -> NodeStatus

Parameters:

idx (int) – The grid node (flat) index.

Returns:

status (NodeStatus or numpy.ndarray) – If an array is returned, it is a copy of the original array and has the NodeStatus enum class values (int) as values.

property shape#

Returns the shape of the grid node arrays.

property size#

Returns the total number of grid nodes.