HalfFace

class compas.datastructures.HalfFace(name=None, default_vertex_attributes=None, default_edge_attributes=None, default_face_attributes=None, default_cell_attributes=None)[source]

Bases: Datastructure

Base half-face data structure for representing volumetric meshes.

Parameters
  • name (str, optional) – The name of the graph.

  • default_vertex_attributes (dict[str, Any], optional) – Default values for vertex attributes.

  • default_edge_attributes (dict[str, Any], optional) – Default values for edge attributes.

  • default_face_attributes (dict[str, Any], optional) – Default values for face attributes.

  • default_cell_attributes (dict[str, Any], optional) – Default values for cell attributes.

Attributes
  • attributes (dict[str, Any]) – General attributes of the data structure which will be included in the data representation.

  • default_vertex_attributes (dict[str, Any]) – Default attributes of the vertices.

  • default_edge_attributes (dict[str, Any]) – Default values for edge attributes.

  • default_face_attributes (dict[str, Any]) – Default values for face attributes.

  • default_cell_attributes (dict[str, Any]) – Default values for cell attributes.

Methods

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.

cell_attribute

Get or set an attribute of a cell.

cell_attributes

Get or set multiple attributes of a cell.

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_sample

Get the identifiers of a set of random cells.

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.

cells

Iterate over the cells of the volmesh.

cells_attribute

Get or set an attribute of multiple cells.

cells_attributes

Get or set multiple attributes of multiple cells.

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.

clear

Clear all the volmesh data.

cull_vertices

Remove all unused vertices from 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.

edge_attribute

Get or set an attribute of an edge.

edge_attributes

Get or set multiple attributes of an edge.

edge_cells

Ordered cells around edge (u, v).

edge_halffaces

Ordered halffaces around edge (u, v).

edge_sample

Get the identifiers of a set of random edges.

edges

Iterate over the edges of the volmesh.

edges_attribute

Get or set an attribute of multiple edges.

edges_attributes

Get or set multiple attributes of multiple edges.

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_attribute

Get or set an attribute of a face.

face_attributes

Get or set multiple attributes of a face.

face_sample

Get the identifiers of a set of random faces.

faces

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

faces_attribute

Get or set an attribute of multiple faces.

faces_attributes

Get or set multiple attributes of multiple 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.

get_any_face

Get the identifier of a random face.

get_any_vertex

Get the identifier of a random vertex.

halfface_adjacent_halfface

Return the halfface adjacent to the halfface across the halfedge.

halfface_cell

The cell to which the halfface belongs to.

halfface_halfedges

The halfedges of a halfface.

halfface_manifold_neighborhood

Return the halfface neighborhood of a halfface across their edges.

halfface_manifold_neighbors

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.

halffaces

Iterate over the halffaces of the volmesh.

halffaces_on_boundaries

Find the faces on the boundary.

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.

index_vertex

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

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

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.

remove_unused_vertices

Remove all unused vertices from the volmesh object.

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.

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.

vertex_attribute

Get or set an attribute of a vertex.

vertex_attributes

Get or set multiple attributes of a vertex.

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_index

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

vertex_max_degree

Compute the maximum degree of all vertices.

vertex_min_degree

Compute the minimum degree of all vertices.

vertex_neighborhood

Return the vertices in the neighborhood of a vertex.

vertex_neighbors

Return the vertex neighbors of a vertex.

vertex_sample

Get the identifiers of a set of random vertices.

vertices

Iterate over the vertices of the volmesh.

vertices_attribute

Get or set an attribute of multiple vertices.

vertices_attributes

Get or set multiple attributes of multiple vertices.

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.

Inherited Methods

ToString

Converts the instance to a string.

copy

Make an independent copy of the data object.

from_data

Construct an object of this type from the provided data.

from_json

Construct an object from serialized data contained in a JSON file.

from_jsonstring

Construct an object from serialized data contained in a JSON string.

sha256

Compute a hash of the data for comparison during version control using the sha256 algorithm.

to_data

Convert an object to its native data representation.

to_json

Serialize the data representation of an object to a JSON file.

to_jsonstring

Serialize the data representation of an object to a JSON string.

validate_data

Validate the object's data against its data schema.

validate_json

Validate the object's data against its json schema.