VolMesh

class compas.datastructures.VolMesh[source]

Bases: Datastructure

Geometric implementation of a face data structure for volumetric meshes.

Parameters:
default_vertex_attributesdict, optional

Default values for vertex attributes.

default_edge_attributesdict, optional

Default values for edge attributes.

default_face_attributesdict, optional

Default values for face attributes.

default_cell_attributesdict, optional

Default values for cell attributes.

namestr, optional

The name of the volmesh.

**kwargsdict, optional

Additional keyword arguments, which are stored in the attributes dict.

Attributes:
default_vertex_attributesdict[str, Any]

Default attributes of the vertices.

default_edge_attributesdict[str, Any]

Default values for edge attributes.

default_face_attributesdict[str, Any]

Default values for face attributes.

default_cell_attributesdict[str, Any]

Default values for cell attributes.

Methods

Constructors

from_json

Construct an object of this type from a JSON file.

from_obj

Construct a volmesh object from the data described in an OBJ file.

from_vertices_and_cells

Construct a volmesh object from vertices and cells.

Conversions

cell_to_mesh

Construct a mesh object from from a cell of a volmesh.

cell_to_vertices_and_faces

Return the vertices and faces of a cell.

to_json

Convert an object to its native data representation and save it to a JSON file.

to_obj

Write the volmesh to an OBJ file.

to_vertices_and_cells

Return the vertices and cells of a volmesh.

Builders and Modifiers

add_cell

Add a cell to the volmesh object.

add_halfface

Add a face to the volmesh object.

add_vertex

Add a vertex to the volmesh object.

delete_cell

Delete a cell from the volmesh.

delete_vertex

Delete a vertex from the volmesh and everything that is attached to it.

remove_unused_vertices

Remove all unused vertices from the volmesh object.

Accessors

cell_sample

Get the identifiers of a set of random cells.

cells

Iterate over the cells of the volmesh.

cells_on_boundaries

Find the cells on the boundary.

cells_where

Get cells for which a certain condition or set of conditions is true.

cells_where_predicate

Get cells for which a certain condition or set of conditions is true using a lambda function.

edge_sample

Get the identifiers of a set of random edges.

edges

Iterate over the edges of the volmesh.

edges_where

Get edges for which a certain condition or set of conditions is true.

edges_where_predicate

Get edges for which a certain condition or set of conditions is true using a lambda function.

face_sample

Get the identifiers of a set of random faces.

faces

"Iterate over the halffaces of the volmesh and yield faces.

faces_where

Get faces for which a certain condition or set of conditions is true.

faces_where_predicate

Get faces for which a certain condition or set of conditions is true using a lambda function.

halffaces

Iterate over the halffaces of the volmesh.

halffaces_on_boundaries

Find the faces on the boundary.

vertex_sample

Get the identifiers of a set of random vertices.

vertices

Iterate over the vertices of the volmesh.

vertices_on_boundaries

Find the vertices on the boundary.

vertices_where

Get vertices for which a certain condition or set of conditions is true.

vertices_where_predicate

Get vertices for which a certain condition or set of conditions is true using a lambda function.

Attributes

cell_attribute

Get or set an attribute of a cell.

cell_attributes

Get or set multiple attributes of a cell.

cells_attribute

Get or set an attribute of multiple cells.

cells_attributes

Get or set multiple attributes of multiple cells.

edge_attribute

Get or set an attribute of an edge.

edge_attributes

Get or set multiple attributes of an edge.

edges_attribute

Get or set an attribute of multiple edges.

edges_attributes

Get or set multiple attributes of multiple edges.

face_attribute

Get or set an attribute of a face.

face_attributes

Get or set multiple attributes of a face.

faces_attribute

Get or set an attribute of multiple faces.

faces_attributes

Get or set multiple attributes of multiple faces.

vertex_attribute

Get or set an attribute of a vertex.

vertex_attributes

Get or set multiple attributes of a vertex.

vertices_attribute

Get or set an attribute of multiple vertices.

vertices_attributes

Get or set multiple attributes of multiple vertices.

update_default_cell_attributes

Update the default cell attributes.

update_default_edge_attributes

Update the default edge attributes.

update_default_face_attributes

Update the default face attributes.

update_default_vertex_attributes

Update the default vertex attributes.

unset_cell_attribute

Unset the attribute of a cell.

unset_edge_attribute

Unset the attribute of an edge.

unset_face_attribute

Unset the attribute of a face.

unset_vertex_attribute

Unset the attribute of a vertex.

Topology

cell_edges

Return all edges of a cell.

cell_face_neighbors

Find the faces adjacent to a given face of a cell.

cell_faces

The faces of a cell.

cell_halfedge_face

Find the face corresponding to a specific halfedge of a cell.

cell_halfedge_opposite_face

Find the opposite face corresponding to a specific halfedge of a cell.

cell_halfedges

The halfedges of a cell.

cell_neighbors

Find the neighbors of a given cell.

cell_vertex_faces

Ordered faces connected to a vertex of a cell.

cell_vertex_neighbors

Ordered vertex neighbors of a vertex of a cell.

cell_vertices

The vertices of a cell.

edge_cells

Ordered cells around edge (u, v).

edge_halffaces

Ordered halffaces around edge (u, v).

halfface_cell

The cell to which the halfface belongs to.

halfface_adjacent_halfface

Return the halfface adjacent to the halfface across the halfedge.

halfface_halfedges

The halfedges of a halfface.

halfface_manifold_neighbors

Return the halfface neighbors of a halfface that are on the same manifold.

halfface_manifold_neighborhood

Return the halfface neighborhood of a halfface across their edges.

halfface_opposite_cell

The cell to which the opposite halfface belongs to.

halfface_opposite_halfface

The opposite face of a face.

halfface_vertex_ancestor

Return the vertex before the specified vertex in a specific face.

halfface_vertex_descendent

Return the vertex after the specified vertex in a specific face.

halfface_vertices

The vertices of a halfface.

has_edge

Verify that the volmesh contains a directed edge (u, v).

has_halfface

Verify that a face is part of the volmesh.

has_vertex

Verify that a vertex is in the volmesh.

is_cell_on_boundary

Verify that a cell is on the boundary.

is_edge_on_boundary

Verify that an edge is on the boundary.

is_halfface_on_boundary

Verify that a face is on the boundary.

is_valid

Verify that the volmesh is valid.

is_vertex_on_boundary

Verify that a vertex is on a boundary.

number_of_cells

Count the number of faces in the volmesh.

number_of_edges

Count the number of edges in the volmesh.

number_of_faces

Count the number of faces in the volmesh.

number_of_vertices

Count the number of vertices in the volmesh.

vertex_cells

Return all cells connected to a vertex.

vertex_degree

Count the neighbors of a vertex.

vertex_halffaces

Return all halffaces connected to a vertex.

vertex_max_degree

Compute the maximum degree of all vertices.

vertex_min_degree

Compute the minimum degree of all vertices.

vertex_neighbors

Return the vertex neighbors of a vertex.

vertex_neighborhood

Return the vertices in the neighborhood of a vertex.

Geometry

cell_center

Compute the point at the center of mass of a cell.

cell_centroid

Compute the point at the centroid of a cell.

cell_points

Compute the points of the vertices of a cell.

cell_polyhedron

Construct a polyhedron from the vertices and faces of a cell.

cell_vertex_normal

Return the normal vector at the vertex of a boundary cell as the weighted average of the normals of the neighboring faces.

edge_direction

Return the direction vector of an edge.

edge_end

Return the end point of an edge.

edge_length

Return the length of an edge.

edge_line

Return the line representation of an edge.

edge_vector

Return the vector of an edge.

edge_start

Return the start point of an edge.

face_area

Compute the oriented area of a face.

face_center

Compute the point at the center of mass of a face.

face_centroid

Compute the point at the centroid of a face.

face_coordinates

Compute the coordinates of the vertices of a face.

face_normal

Compute the oriented normal of a face.

face_points

Compute the points of the vertices of a face.

face_polygon

Compute the polygon of a face.

vertex_coordinates

Return the coordinates of a vertex.

vertex_point

Return the point representation of a vertex.

Paths

Matrices

Mappings

gkey_vertex

Returns a dictionary that maps geometric keys of a certain precision to the keys of the corresponding vertices.

index_vertex

Returns a dictionary that maps the indices of a vertex list to keys in the vertex dictionary.

vertex_gkey

Returns a dictionary that maps vertex dictionary keys to the corresponding geometric key up to a certain precision.

vertex_index

Returns a dictionary that maps vertex dictionary keys to the corresponding index in a vertex list or array.

Utilities

clear

Clear all the volmesh data.

copy

Make an independent copy of the data object.

Other