Developer Documentation

Classes | Public Types | Public Member Functions | Static Public Member Functions | Protected Attributes | Private Types | Private Member Functions | Private Attributes | Friends | List of all members
OpenMesh::ArrayKernel Class Reference
Mesh Kernels

`#include <OpenFlipper/libs_required/OpenMesh/src/OpenMesh/Core/Mesh/ArrayKernel.hh>`

Inheritance diagram for OpenMesh::ArrayKernel:

## Classes
class | AutoStatusSetT
| AutoStatusSetT: A status set that automatically picks a status bit. More...
class | ExtStatusSetT
| ExtStatusSet: A status set augmented with 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 Types inherited from OpenMesh::BaseKernel
typedef PropertyContainer::iterator | prop_iterator
typedef PropertyContainer::const_iterator | const_prop_iterator

## Public Member Functions
void | assign_connectivity (const ArrayKernel &_other)
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
| checks handle validity - useful for debugging
bool | is_valid_handle (HalfedgeHandle _heh) const
| checks handle validity - useful for debugging
bool | is_valid_handle (EdgeHandle _eh) const
| checks handle validity - useful for debugging
bool | is_valid_handle (FaceHandle _fh) const
| checks handle validity - useful for debugging
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 (unsigned int _i) const
HalfedgeHandle | halfedge_handle (unsigned int _i) const
EdgeHandle | edge_handle (unsigned int _i) const
FaceHandle | face_handle (unsigned int _i) const
VertexHandle | new_vertex ()
| Add a new vertex. More...
VertexHandle | new_vertex_dirty ()
HalfedgeHandle | new_edge (VertexHandle _start_vh, VertexHandle _end_vh)
FaceHandle | new_face ()
FaceHandle | new_face (const Face &_f)
void | resize (size_t _n_vertices, size_t _n_edges, size_t _n_faces)
void | reserve (size_t _n_vertices, size_t _n_edges, size_t _n_faces)
void | garbage_collection (bool _v=true, bool _e=true, bool _f=true)
| garbage collection More...
template<typename std_API_Container_VHandlePointer , typename std_API_Container_HHandlePointer , typename std_API_Container_FHandlePointer >
void | garbage_collection (std_API_Container_VHandlePointer &vh_to_update, std_API_Container_HHandlePointer &hh_to_update, std_API_Container_FHandlePointer &fh_to_update, bool _v=true, bool _e=true, bool _f=true)
| garbage collection with handle tracking More...
void | clear ()
| Does the same as clean() and in addition erases all properties.
void | clean ()
| Remove all vertices, edges and faces and deallocates their memory. More...
void | clean_keep_reservation ()
| Remove all vertices, edges and faces but keep memory allocated. More...
size_t | n_vertices () const
size_t | n_halfedges () const
size_t | n_edges () const
size_t | 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)
unsigned int | 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::TrueType)
void | set_prev_halfedge_handle (HalfedgeHandle, HalfedgeHandle, GenProg::FalseType)
HalfedgeHandle | prev_halfedge_handle (HalfedgeHandle _heh) const
HalfedgeHandle | prev_halfedge_handle (HalfedgeHandle _heh, GenProg::TrueType) const
HalfedgeHandle | prev_halfedge_handle (HalfedgeHandle _heh, GenProg::FalseType) 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, unsigned int _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)
void | reset_status ()
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 ()
Public Member Functions inherited from OpenMesh::BaseKernel
template<class T >
void | copy_property (VPropHandleT< T > &_ph, VertexHandle _vh_from, VertexHandle _vh_to)
template<class T >
void | copy_property (HPropHandleT< T > _ph, HalfedgeHandle _hh_from, HalfedgeHandle _hh_to)
template<class T >
void | copy_property (EPropHandleT< T > _ph, EdgeHandle _eh_from, EdgeHandle _eh_to)
template<class T >
void | copy_property (FPropHandleT< T > _ph, FaceHandle _fh_from, FaceHandle _fh_to)
void | copy_all_properties (VertexHandle _vh_from, VertexHandle _vh_to, bool _copyBuildIn=false)
void | copy_all_properties (HalfedgeHandle _hh_from, HalfedgeHandle _hh_to, bool _copyBuildIn=false)
void | copy_all_properties (EdgeHandle _eh_from, EdgeHandle _eh_to, bool _copyBuildIn=false)
void | copy_all_properties (FaceHandle _fh_from, FaceHandle _fh_to, bool _copyBuildIn=false)
void | copy_all_kernel_properties (const BaseKernel &_other)
| copy_all_kernel_properties uses the = operator to copy all properties from a given other BaseKernel. More...
size_t | n_vprops (void) const
size_t | n_eprops (void) const
size_t | n_hprops (void) const
size_t | n_fprops (void) const
size_t | n_mprops (void) const
BaseProperty * | _get_vprop (const std::string &_name)
BaseProperty * | _get_eprop (const std::string &_name)
BaseProperty * | _get_hprop (const std::string &_name)
BaseProperty * | _get_fprop (const std::string &_name)
BaseProperty * | _get_mprop (const std::string &_name)
const BaseProperty * | _get_vprop (const std::string &_name) const
const BaseProperty * | _get_eprop (const std::string &_name) const
const BaseProperty * | _get_hprop (const std::string &_name) const
const BaseProperty * | _get_fprop (const std::string &_name) const
const BaseProperty * | _get_mprop (const std::string &_name) const
BaseProperty & | _vprop (size_t _idx)
BaseProperty & | _eprop (size_t _idx)
BaseProperty & | _hprop (size_t _idx)
BaseProperty & | _fprop (size_t _idx)
BaseProperty & | _mprop (size_t _idx)
const BaseProperty & | _vprop (size_t _idx) const
const BaseProperty & | _eprop (size_t _idx) const
const BaseProperty & | _hprop (size_t _idx) const
const BaseProperty & | _fprop (size_t _idx) const
const BaseProperty & | _mprop (size_t _idx) const
size_t | _add_vprop (BaseProperty *_bp)
size_t | _add_eprop (BaseProperty *_bp)
size_t | _add_hprop (BaseProperty *_bp)
size_t | _add_fprop (BaseProperty *_bp)
size_t | _add_mprop (BaseProperty *_bp)
void | property_stats () const
void | property_stats (std::ostream &_ostr) const
void | vprop_stats (std::string &_string) const
void | hprop_stats (std::string &_string) const
void | eprop_stats (std::string &_string) const
void | fprop_stats (std::string &_string) const
void | mprop_stats (std::string &_string) const
void | vprop_stats () const
void | hprop_stats () const
void | eprop_stats () const
void | fprop_stats () const
void | mprop_stats () const
void | vprop_stats (std::ostream &_ostr) const
void | hprop_stats (std::ostream &_ostr) const
void | eprop_stats (std::ostream &_ostr) const
void | fprop_stats (std::ostream &_ostr) const
void | mprop_stats (std::ostream &_ostr) const
prop_iterator | vprops_begin ()
prop_iterator | vprops_end ()
const_prop_iterator | vprops_begin () const
const_prop_iterator | vprops_end () const
prop_iterator | eprops_begin ()
prop_iterator | eprops_end ()
const_prop_iterator | eprops_begin () const
const_prop_iterator | eprops_end () const
prop_iterator | hprops_begin ()
prop_iterator | hprops_end ()
const_prop_iterator | hprops_begin () const
const_prop_iterator | hprops_end () const
prop_iterator | fprops_begin ()
prop_iterator | fprops_end ()
const_prop_iterator | fprops_begin () const
const_prop_iterator | fprops_end () const
prop_iterator | mprops_begin ()
prop_iterator | mprops_end ()
const_prop_iterator | mprops_begin () const
const_prop_iterator | mprops_end () const
template<class T >
void | add_property (VPropHandleT< T > &_ph, const std::string &_name="<vprop>")
template<class T >
void | add_property (HPropHandleT< T > &_ph, const std::string &_name="<hprop>")
template<class T >
void | add_property (EPropHandleT< T > &_ph, const std::string &_name="<eprop>")
template<class T >
void | add_property (FPropHandleT< T > &_ph, const std::string &_name="<fprop>")
template<class T >
void | add_property (MPropHandleT< T > &_ph, const std::string &_name="<mprop>")
template<typename T >
void | remove_property (VPropHandleT< T > &_ph)
template<typename T >
void | remove_property (HPropHandleT< T > &_ph)
template<typename T >
void | remove_property (EPropHandleT< T > &_ph)
template<typename T >
void | remove_property (FPropHandleT< T > &_ph)
template<typename T >
void | remove_property (MPropHandleT< T > &_ph)
template<class T >
bool | get_property_handle (VPropHandleT< T > &_ph, const std::string &_name) const
template<class T >
bool | get_property_handle (HPropHandleT< T > &_ph, const std::string &_name) const
template<class T >
bool | get_property_handle (EPropHandleT< T > &_ph, const std::string &_name) const
template<class T >
bool | get_property_handle (FPropHandleT< T > &_ph, const std::string &_name) const
template<class T >
bool | get_property_handle (MPropHandleT< T > &_ph, const std::string &_name) const
template<class T >
PropertyT< T > & | property (VPropHandleT< T > _ph)
template<class T >
const PropertyT< T > & | property (VPropHandleT< T > _ph) const
template<class T >
PropertyT< T > & | property (HPropHandleT< T > _ph)
template<class T >
const PropertyT< T > & | property (HPropHandleT< T > _ph) const
template<class T >
PropertyT< T > & | property (EPropHandleT< T > _ph)
template<class T >
const PropertyT< T > & | property (EPropHandleT< T > _ph) const
template<class T >
PropertyT< T > & | property (FPropHandleT< T > _ph)
template<class T >
const PropertyT< T > & | property (FPropHandleT< T > _ph) const
template<class T >
PropertyT< T > & | mproperty (MPropHandleT< T > _ph)
template<class T >
const PropertyT< T > & | mproperty (MPropHandleT< T > _ph) const
template<class T >
VPropHandleT< T >::reference | property (VPropHandleT< T > _ph, VertexHandle _vh)
template<class T >
VPropHandleT< T >::const_reference | property (VPropHandleT< T > _ph, VertexHandle _vh) const
template<class T >
HPropHandleT< T >::reference | property (HPropHandleT< T > _ph, HalfedgeHandle _hh)
template<class T >
HPropHandleT< T >::const_reference | property (HPropHandleT< T > _ph, HalfedgeHandle _hh) const
template<class T >
EPropHandleT< T >::reference | property (EPropHandleT< T > _ph, EdgeHandle _eh)
template<class T >
EPropHandleT< T >::const_reference | property (EPropHandleT< T > _ph, EdgeHandle _eh) const
template<class T >
FPropHandleT< T >::reference | property (FPropHandleT< T > _ph, FaceHandle _fh)
template<class T >
FPropHandleT< T >::const_reference | property (FPropHandleT< T > _ph, FaceHandle _fh) const
template<class T >
MPropHandleT< T >::reference | property (MPropHandleT< T > _ph)
template<class T >
MPropHandleT< T >::const_reference | property (MPropHandleT< T > _ph) const

## Static Public Member Functions
static HalfedgeHandle | s_halfedge_handle (EdgeHandle _eh, unsigned int _i)
static EdgeHandle | s_edge_handle (HalfedgeHandle _heh)

## Protected Attributes
VertexStatusPropertyHandle | vertex_status_
HalfedgeStatusPropertyHandle | halfedge_status_
EdgeStatusPropertyHandle | edge_status_
FaceStatusPropertyHandle | face_status_
unsigned int | refcount_vstatus_
unsigned int | refcount_hstatus_
unsigned int | refcount_estatus_
unsigned int | refcount_fstatus_

## Private Types
typedef std::vector< Vertex > | VertexContainer
typedef std::vector< Edge > | EdgeContainer
typedef std::vector< Face > | FaceContainer
typedef VertexContainer::iterator | KernelVertexIter
typedef VertexContainer::const_iterator | KernelConstVertexIter
typedef EdgeContainer::iterator | KernelEdgeIter
typedef EdgeContainer::const_iterator | KernelConstEdgeIter
typedef FaceContainer::iterator | KernelFaceIter
typedef FaceContainer::const_iterator | KernelConstFaceIter
typedef std::vector< unsigned int > | BitMaskContainer

## Private Member Functions
KernelVertexIter | vertices_begin ()
KernelConstVertexIter | vertices_begin () const
KernelVertexIter | vertices_end ()
KernelConstVertexIter | vertices_end () const
KernelEdgeIter | edges_begin ()
KernelConstEdgeIter | edges_begin () const
KernelEdgeIter | edges_end ()
KernelConstEdgeIter | edges_end () const
KernelFaceIter | faces_begin ()
KernelConstFaceIter | faces_begin () const
KernelFaceIter | faces_end ()
KernelConstFaceIter | faces_end () const
BitMaskContainer & | bit_masks (VertexHandle)
| bit mask container by handle
BitMaskContainer & | bit_masks (EdgeHandle)
BitMaskContainer & | bit_masks (FaceHandle)
BitMaskContainer & | bit_masks (HalfedgeHandle)
template<class Handle >
unsigned int | pop_bit_mask (Handle _hnd)
template<class Handle >
void | push_bit_mask (Handle _hnd, unsigned int _bit_mask)
void | init_bit_masks (BitMaskContainer &_bmc)
void | init_bit_masks ()

## Private Attributes
VertexContainer | vertices_
EdgeContainer | edges_
FaceContainer | faces_
BitMaskContainer | halfedge_bit_masks_
BitMaskContainer | edge_bit_masks_
BitMaskContainer | vertex_bit_masks_
BitMaskContainer | face_bit_masks_

## 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 >

## Additional Inherited Members
Protected Member Functions inherited from OpenMesh::BaseKernel
BaseProperty & | _vprop (BaseHandle _h)
BaseProperty & | _eprop (BaseHandle _h)
BaseProperty & | _hprop (BaseHandle _h)
BaseProperty & | _fprop (BaseHandle _h)
BaseProperty & | _mprop (BaseHandle _h)
const BaseProperty & | _vprop (BaseHandle _h) const
const BaseProperty & | _eprop (BaseHandle _h) const
const BaseProperty & | _hprop (BaseHandle _h) const
const BaseProperty & | _fprop (BaseHandle _h) const
const BaseProperty & | _mprop (BaseHandle _h) const
void | vprops_reserve (size_t _n) const
| Reserves space for `_n` elements in all vertex property vectors.
void | vprops_resize (size_t _n) const
| Resizes all vertex property vectors to the specified size.
void | vprops_resize_if_smaller (size_t _n) const
void | vprops_clear ()
void | vprops_swap (unsigned int _i0, unsigned int _i1) const
void | hprops_reserve (size_t _n) const
void | hprops_resize (size_t _n) const
void | hprops_clear ()
void | hprops_swap (unsigned int _i0, unsigned int _i1) const
void | eprops_reserve (size_t _n) const
void | eprops_resize (size_t _n) const
void | eprops_clear ()
void | eprops_swap (unsigned int _i0, unsigned int _i1) const
void | fprops_reserve (size_t _n) const
void | fprops_resize (size_t _n) const
void | fprops_clear ()
void | fprops_swap (unsigned int _i0, unsigned int _i1) const
void | mprops_resize (size_t _n) const
void | mprops_clear ()

## Detailed Description

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.

Note
  For a description of the minimal kernel interface see OpenMesh::Mesh::BaseKernel.
  You do not have to use this class directly, use the predefined mesh-kernel combinations in Predefined Mesh Types.

See also
  OpenMesh::Concepts::KernelT, Specifying your MyMesh

Definition at line 87 of file ArrayKernel.hh.

## Member Function Documentation

## ◆ assign_connectivity()

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.

Definition at line 71 of file ArrayKernel.cc.

## ◆ clean()

void OpenMesh::ArrayKernel::clean | ( |  | ) |

Remove all vertices, edges and faces and deallocates their memory.

In contrast to clear() this method does neither erases the properties nor clears the property vectors. Depending on how you add any new entities to the mesh after calling this method, your properties will be initialized with old values.

See also
  clean_keep_reservation()

Definition at line 184 of file ArrayKernel.cc.

## ◆ clean_keep_reservation()

void OpenMesh::ArrayKernel::clean_keep_reservation | ( |  | ) |

Remove all vertices, edges and faces but keep memory allocated.

This method behaves like clean() (also regarding the properties) but leaves the memory used for vertex, edge and face storage allocated. This leads to no reduction in memory consumption but allows for faster performance when rebuilding the mesh.

Definition at line 174 of file ArrayKernel.cc.

## ◆ garbage_collection() [1/2]

void OpenMesh::ArrayKernel::garbage_collection | ( | bool | _v = `true`,
|  | bool | _e = `true`,
|  | bool | _f = `true`
| ) |  |

garbage collection

Usually if you delete primitives in OpenMesh, they are only flagged as deleted. Only when you call garbage collection, they will be actually removed.

Note
  Garbage collection invalidates all handles. If you need to keep track of a set of handles, you can pass them to the second garbage collection function, which will update a vector of handles. See also Deleted Elements.

Parameters

  _v | Remove deleted vertices?
  _e | Remove deleted edges?
  _f | Remove deleted faces?

Definition at line 166 of file ArrayKernel.cc.

## ◆ garbage_collection() [2/2]

template<typename std_API_Container_VHandlePointer , typename std_API_Container_HHandlePointer , typename std_API_Container_FHandlePointer >

void OpenMesh::ArrayKernel::garbage_collection | ( | std_API_Container_VHandlePointer & | vh_to_update,
|  | std_API_Container_HHandlePointer & | hh_to_update,
|  | std_API_Container_FHandlePointer & | fh_to_update,
|  | bool | _v = `true`,
|  | bool | _e = `true`,
|  | bool | _f = `true`
| ) |  |

garbage collection with handle tracking

Usually if you delete primitives in OpenMesh, they are only flagged as deleted. Only when you call garbage collection, they will be actually removed.

Note
  Garbage collection invalidates all handles. If you need to keep track of a set of handles, you can pass them to this function. The handles that the given pointers point to are updated in place. See also Deleted Elements.

Parameters

  vh_to_update | Pointers to vertex handles that should get updated
  hh_to_update | Pointers to halfedge handles that should get updated
  fh_to_update | Pointers to face handles that should get updated
  _v | Remove deleted vertices?
  _e | Remove deleted edges?
  _f | Remove deleted faces?

Definition at line 58 of file ArrayKernelT_impl.hh.

## ◆ new_vertex()

VertexHandle OpenMesh::ArrayKernel::new_vertex | ( |  | ) |
| inline

Add a new vertex.

If you are rebuilding a mesh that you previously erased using clean() or clean_keep_reservation() you probably want to use new_vertex_dirty() instead.

See also
  new_vertex_dirty()

Definition at line 216 of file ArrayKernel.hh.

## ◆ new_vertex_dirty()

VertexHandle OpenMesh::ArrayKernel::new_vertex_dirty | ( |  | ) |
| inline

Same as new_vertex() but uses PropertyContainer::resize_if_smaller() to resize the vertex property container.

If you are rebuilding a mesh that you erased with clean() or clean_keep_reservation() using this method instead of new_vertex() saves reallocation and reinitialization of property memory.

See also
  new_vertex()

Definition at line 234 of file ArrayKernel.hh.

## ◆ reset_status()

void OpenMesh::ArrayKernel::reset_status | ( |  | ) |
| inline

Reinitializes the status of all vertices using the StatusInfo default constructor, i.e. all flags will be set to false.

Definition at line 511 of file ArrayKernel.hh.

The documentation for this class was generated from the following files:

- OpenFlipper/libs_required/OpenMesh/src/OpenMesh/Core/Mesh/ArrayKernel.hh
- OpenFlipper/libs_required/OpenMesh/src/OpenMesh/Core/Mesh/ArrayKernel.cc
- OpenFlipper/libs_required/OpenMesh/src/OpenMesh/Core/Mesh/ArrayKernelT_impl.hh