Mesh kernel using arrays for mesh item storage. More...
#include <ArrayKernel.hh>


Classes | |
| class | AutoStatusSetT |
| --- AutoStatusSet API --- More... | |
| class | ExtStatusSetT |
| --- ExtStatusSet API --- (hybrid between a set and an array) More... | |
| class | StatusSetT |
| --- StatusSet API --- More... | |
Public Types | |
| typedef OpenMesh::VertexHandle | VertexHandle |
| typedef OpenMesh::HalfedgeHandle | HalfedgeHandle |
| typedef OpenMesh::EdgeHandle | EdgeHandle |
| typedef OpenMesh::FaceHandle | FaceHandle |
| typedef Attributes::StatusInfo | StatusInfo |
| typedef VPropHandleT< StatusInfo > | VertexStatusPropertyHandle |
| typedef HPropHandleT< StatusInfo > | HalfedgeStatusPropertyHandle |
| typedef EPropHandleT< StatusInfo > | EdgeStatusPropertyHandle |
| typedef FPropHandleT< StatusInfo > | FaceStatusPropertyHandle |
|
typedef AutoStatusSetT < VertexHandle > | VertexStatusSet |
|
typedef AutoStatusSetT < EdgeHandle > | EdgeStatusSet |
|
typedef AutoStatusSetT < FaceHandle > | FaceStatusSet |
|
typedef AutoStatusSetT < HalfedgeHandle > | HalfedgeStatusSet |
| typedef ExtStatusSetT< FaceHandle > | ExtFaceStatusSet |
|
typedef ExtStatusSetT < VertexHandle > | ExtVertexStatusSet |
| typedef ExtStatusSetT< EdgeHandle > | ExtEdgeStatusSet |
|
typedef ExtStatusSetT < HalfedgeHandle > | ExtHalfedgeStatusSet |
Public Member Functions | |
| void | assign_connectivity (const ArrayKernel &_other) |
| ArrayKernel uses the default copy constructor and assignment operator, which means that the connectivity and all properties are copied, including reference counters, allocated bit status masks, etc. | |
| VertexHandle | handle (const Vertex &_v) const |
| HalfedgeHandle | handle (const Halfedge &_he) const |
| EdgeHandle | handle (const Edge &_e) const |
| FaceHandle | handle (const Face &_f) const |
| bool | is_valid_handle (VertexHandle _vh) const |
| bool | is_valid_handle (HalfedgeHandle _heh) const |
| bool | is_valid_handle (EdgeHandle _eh) const |
| bool | is_valid_handle (FaceHandle _fh) const |
| const Vertex & | vertex (VertexHandle _vh) const |
| Vertex & | vertex (VertexHandle _vh) |
| const Halfedge & | halfedge (HalfedgeHandle _heh) const |
| Halfedge & | halfedge (HalfedgeHandle _heh) |
| const Edge & | edge (EdgeHandle _eh) const |
| Edge & | edge (EdgeHandle _eh) |
| const Face & | face (FaceHandle _fh) const |
| Face & | face (FaceHandle _fh) |
| VertexHandle | vertex_handle (uint _i) const |
| HalfedgeHandle | halfedge_handle (uint _i) const |
| EdgeHandle | edge_handle (uint _i) const |
| FaceHandle | face_handle (uint _i) const |
| VertexHandle | new_vertex () |
| HalfedgeHandle | new_edge (VertexHandle _start_vh, VertexHandle _end_vh) |
| FaceHandle | new_face () |
| FaceHandle | new_face (const Face &_f) |
| void | resize (uint _n_vertices, uint _n_edges, uint _n_faces) |
| void | reserve (uint _n_vertices, uint _n_edges, uint _n_faces) |
| void | garbage_collection (bool _v=true, bool _e=true, bool _f=true) |
| void | clear () |
| uint | n_vertices () const |
| uint | n_halfedges () const |
| uint | n_edges () const |
| uint | n_faces () const |
| bool | vertices_empty () const |
| bool | halfedges_empty () const |
| bool | edges_empty () const |
| bool | faces_empty () const |
| HalfedgeHandle | halfedge_handle (VertexHandle _vh) const |
| void | set_halfedge_handle (VertexHandle _vh, HalfedgeHandle _heh) |
| bool | is_isolated (VertexHandle _vh) const |
| void | set_isolated (VertexHandle _vh) |
| uint | delete_isolated_vertices () |
| VertexHandle | to_vertex_handle (HalfedgeHandle _heh) const |
| VertexHandle | from_vertex_handle (HalfedgeHandle _heh) const |
| void | set_vertex_handle (HalfedgeHandle _heh, VertexHandle _vh) |
| FaceHandle | face_handle (HalfedgeHandle _heh) const |
| void | set_face_handle (HalfedgeHandle _heh, FaceHandle _fh) |
| void | set_boundary (HalfedgeHandle _heh) |
| bool | is_boundary (HalfedgeHandle _heh) const |
| Is halfedge _heh a boundary halfedge (is its face handle invalid) ? | |
| HalfedgeHandle | next_halfedge_handle (HalfedgeHandle _heh) const |
| void | set_next_halfedge_handle (HalfedgeHandle _heh, HalfedgeHandle _nheh) |
| void | set_prev_halfedge_handle (HalfedgeHandle _heh, HalfedgeHandle _pheh) |
| void | set_prev_halfedge_handle (HalfedgeHandle _heh, HalfedgeHandle _pheh, GenProg::True) |
| void | set_prev_halfedge_handle (HalfedgeHandle, HalfedgeHandle, GenProg::False) |
| HalfedgeHandle | prev_halfedge_handle (HalfedgeHandle _heh) const |
| HalfedgeHandle | prev_halfedge_handle (HalfedgeHandle _heh, GenProg::True) const |
| HalfedgeHandle | prev_halfedge_handle (HalfedgeHandle _heh, GenProg::False) const |
| HalfedgeHandle | opposite_halfedge_handle (HalfedgeHandle _heh) const |
| HalfedgeHandle | ccw_rotated_halfedge_handle (HalfedgeHandle _heh) const |
| HalfedgeHandle | cw_rotated_halfedge_handle (HalfedgeHandle _heh) const |
| HalfedgeHandle | halfedge_handle (EdgeHandle _eh, uint _i) const |
| EdgeHandle | edge_handle (HalfedgeHandle _heh) const |
| HalfedgeHandle | halfedge_handle (FaceHandle _fh) const |
| void | set_halfedge_handle (FaceHandle _fh, HalfedgeHandle _heh) |
| const StatusInfo & | status (VertexHandle _vh) const |
| Status Query API. | |
| StatusInfo & | status (VertexHandle _vh) |
| const StatusInfo & | status (HalfedgeHandle _hh) const |
| StatusInfo & | status (HalfedgeHandle _hh) |
| const StatusInfo & | status (EdgeHandle _eh) const |
| StatusInfo & | status (EdgeHandle _eh) |
| const StatusInfo & | status (FaceHandle _fh) const |
| StatusInfo & | status (FaceHandle _fh) |
| bool | has_vertex_status () const |
| bool | has_halfedge_status () const |
| bool | has_edge_status () const |
| bool | has_face_status () const |
| VertexStatusPropertyHandle | vertex_status_pph () const |
| HalfedgeStatusPropertyHandle | halfedge_status_pph () const |
| EdgeStatusPropertyHandle | edge_status_pph () const |
| FaceStatusPropertyHandle | face_status_pph () const |
| VertexStatusPropertyHandle | status_pph (VertexHandle) const |
| status property by handle | |
| HalfedgeStatusPropertyHandle | status_pph (HalfedgeHandle) const |
| EdgeStatusPropertyHandle | status_pph (EdgeHandle) const |
| FaceStatusPropertyHandle | status_pph (FaceHandle) const |
| void | request_vertex_status () |
| Status Request API. | |
| void | request_halfedge_status () |
| void | request_edge_status () |
| void | request_face_status () |
| void | release_vertex_status () |
| Status Release API. | |
| void | release_halfedge_status () |
| void | release_edge_status () |
| void | release_face_status () |
Friends | |
| class | StatusSetT< VertexHandle > |
| class | StatusSetT< EdgeHandle > |
| class | StatusSetT< FaceHandle > |
| class | StatusSetT< HalfedgeHandle > |
| class | AutoStatusSetT< VertexHandle > |
| class | AutoStatusSetT< EdgeHandle > |
| class | AutoStatusSetT< FaceHandle > |
| class | AutoStatusSetT< HalfedgeHandle > |
Mesh kernel using arrays for mesh item storage.
This mesh kernel uses the std::vector as container to store the mesh items. Therefore all handle types are internally represented by integers. To get the index from a handle use the handle's idx() method.
| void OpenMesh::ArrayKernel::assign_connectivity | ( | const ArrayKernel & | _other | ) |
ArrayKernel uses the default copy constructor and assignment operator, which means that the connectivity and all properties are copied, including reference counters, allocated bit status masks, etc.
. In contrast assign_connectivity copies only the connectivity, i.e. vertices, edges, faces and their status fields. NOTE: The geometry (the points property) is NOT copied. Poly/TriConnectivity override(and hide) that function to provide connectivity consistence.
Reimplemented in OpenMesh::PolyConnectivity, and OpenMesh::TriConnectivity.