OpenMesh: OpenMesh::BaseKernel Class Reference

| OpenMesh

Public Member Functions | List of all members
OpenMesh::BaseKernel Class Reference

This class provides low-level property management like adding/removing properties and access to properties. More...

`#include <OpenMesh/Core/Mesh/BaseKernel.hh>`

Inheritance diagram for OpenMesh::BaseKernel:
[legend]

## Public Member Functions
template<>
size_t | n_elements () const
template<>
size_t | n_elements () const
template<>
size_t | n_elements () const
template<>
size_t | n_elements () const
Add a property to a mesh item
template<class T >
void | add_property (VPropHandleT< T > &_ph, const std::string &_name="<vprop>")
| You should not use this function directly. More...
template<class T >
void | add_property (HPropHandleT< T > &_ph, const std::string &_name="<hprop>")
| You should not use this function directly. More...
template<class T >
void | add_property (EPropHandleT< T > &_ph, const std::string &_name="<eprop>")
| You should not use this function directly. More...
template<class T >
void | add_property (FPropHandleT< T > &_ph, const std::string &_name="<fprop>")
| You should not use this function directly. More...
template<class T >
void | add_property (MPropHandleT< T > &_ph, const std::string &_name="<mprop>")
| You should not use this function directly. More...
Removing a property from a mesh tiem
template<typename T >
void | remove_property (VPropHandleT< T > &_ph)
| You should not use this function directly. More...
template<typename T >
void | remove_property (HPropHandleT< T > &_ph)
| You should not use this function directly. More...
template<typename T >
void | remove_property (EPropHandleT< T > &_ph)
| You should not use this function directly. More...
template<typename T >
void | remove_property (FPropHandleT< T > &_ph)
| You should not use this function directly. More...
template<typename T >
void | remove_property (MPropHandleT< T > &_ph)
| You should not use this function directly. More...
Get property handle by name
template<class T >
bool | get_property_handle (VPropHandleT< T > &_ph, const std::string &_name) const
| You should not use this function directly. More...
template<class T >
bool | get_property_handle (HPropHandleT< T > &_ph, const std::string &_name) const
| You should not use this function directly. More...
template<class T >
bool | get_property_handle (EPropHandleT< T > &_ph, const std::string &_name) const
| You should not use this function directly. More...
template<class T >
bool | get_property_handle (FPropHandleT< T > &_ph, const std::string &_name) const
| You should not use this function directly. More...
template<class T >
bool | get_property_handle (MPropHandleT< T > &_ph, const std::string &_name) const
| You should not use this function directly. More...
Access a property
template<class T >
PropertyT< T > & | property (VPropHandleT< T > _ph)
| In most cases you should use the convenient PropertyManager wrapper and use of this function should not be necessary. More...
template<class T >
const PropertyT< T > & | property (VPropHandleT< T > _ph) const
| In most cases you should use the convenient PropertyManager wrapper and use of this function should not be necessary. More...
template<class T >
PropertyT< T > & | property (HPropHandleT< T > _ph)
| In most cases you should use the convenient PropertyManager wrapper and use of this function should not be necessary. More...
template<class T >
const PropertyT< T > & | property (HPropHandleT< T > _ph) const
| In most cases you should use the convenient PropertyManager wrapper and use of this function should not be necessary. More...
template<class T >
PropertyT< T > & | property (EPropHandleT< T > _ph)
| In most cases you should use the convenient PropertyManager wrapper and use of this function should not be necessary. More...
template<class T >
const PropertyT< T > & | property (EPropHandleT< T > _ph) const
| In most cases you should use the convenient PropertyManager wrapper and use of this function should not be necessary. More...
template<class T >
PropertyT< T > & | property (FPropHandleT< T > _ph)
| In most cases you should use the convenient PropertyManager wrapper and use of this function should not be necessary. More...
template<class T >
const PropertyT< T > & | property (FPropHandleT< T > _ph) const
| In most cases you should use the convenient PropertyManager wrapper and use of this function should not be necessary. More...
template<class T >
PropertyT< T > & | mproperty (MPropHandleT< T > _ph)
| In most cases you should use the convenient PropertyManager wrapper and use of this function should not be necessary. More...
template<class T >
const PropertyT< T > & | mproperty (MPropHandleT< T > _ph) const
| In most cases you should use the convenient PropertyManager wrapper and use of this function should not be necessary. More...

## Access a property element using a handle to a mesh item
typedef PropertyContainer::iterator | prop_iterator
| You should not use this function directly. More...
typedef PropertyContainer::const_iterator | const_prop_iterator
| You should not use this function directly. More...
template<class T >
VPropHandleT< T >::reference | property (VPropHandleT< T > _ph, VertexHandle _vh)
| You should not use this function directly. More...
template<class T >
VPropHandleT< T >::const_reference | property (VPropHandleT< T > _ph, VertexHandle _vh) const
| You should not use this function directly. More...
template<class T >
HPropHandleT< T >::reference | property (HPropHandleT< T > _ph, HalfedgeHandle _hh)
| You should not use this function directly. More...
template<class T >
HPropHandleT< T >::const_reference | property (HPropHandleT< T > _ph, HalfedgeHandle _hh) const
| You should not use this function directly. More...
template<class T >
EPropHandleT< T >::reference | property (EPropHandleT< T > _ph, EdgeHandle _eh)
| You should not use this function directly. More...
template<class T >
EPropHandleT< T >::const_reference | property (EPropHandleT< T > _ph, EdgeHandle _eh) const
| You should not use this function directly. More...
template<class T >
FPropHandleT< T >::reference | property (FPropHandleT< T > _ph, FaceHandle _fh)
| You should not use this function directly. More...
template<class T >
FPropHandleT< T >::const_reference | property (FPropHandleT< T > _ph, FaceHandle _fh) const
| You should not use this function directly. More...
template<class T >
MPropHandleT< T >::reference | property (MPropHandleT< T > _ph)
| You should not use this function directly. More...
template<class T >
MPropHandleT< T >::const_reference | property (MPropHandleT< T > _ph) const
| You should not use this function directly. More...
template<class T >
void | copy_property (VPropHandleT< T > &_ph, VertexHandle _vh_from, VertexHandle _vh_to)
| You should not use this function directly. More...
template<class T >
void | copy_property (HPropHandleT< T > _ph, HalfedgeHandle _hh_from, HalfedgeHandle _hh_to)
| You should not use this function directly. More...
template<class T >
void | copy_property (EPropHandleT< T > _ph, EdgeHandle _eh_from, EdgeHandle _eh_to)
| You should not use this function directly. More...
template<class T >
void | copy_property (FPropHandleT< T > _ph, FaceHandle _fh_from, FaceHandle _fh_to)
| You should not use this function directly. More...
void | copy_all_properties (VertexHandle _vh_from, VertexHandle _vh_to, bool _copyBuildIn=false)
| Copies all properties from one mesh element to another (of the same type) More...
void | copy_all_properties (HalfedgeHandle _hh_from, HalfedgeHandle _hh_to, bool _copyBuildIn=false)
| Copies all properties from one mesh element to another (of the same type) More...
void | copy_all_properties (EdgeHandle _eh_from, EdgeHandle _eh_to, bool _copyBuildIn=false)
| Copies all properties from one mesh element to another (of the same type) More...
void | copy_all_properties (FaceHandle _fh_from, FaceHandle _fh_to, bool _copyBuildIn=false)
| Copies all properties from one mesh element to another (of the same type) More...
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
| You should not use this function directly. More...
size_t | n_eprops (void) const
| You should not use this function directly. More...
size_t | n_hprops (void) const
| You should not use this function directly. More...
size_t | n_fprops (void) const
| You should not use this function directly. More...
size_t | n_mprops (void) const
| You should not use this function directly. More...
BaseProperty * | _get_vprop (const std::string &_name)
| You should not use this function directly. More...
BaseProperty * | _get_eprop (const std::string &_name)
| You should not use this function directly. More...
BaseProperty * | _get_hprop (const std::string &_name)
| You should not use this function directly. More...
BaseProperty * | _get_fprop (const std::string &_name)
| You should not use this function directly. More...
BaseProperty * | _get_mprop (const std::string &_name)
| You should not use this function directly. More...
const BaseProperty * | _get_vprop (const std::string &_name) const
| You should not use this function directly. More...
const BaseProperty * | _get_eprop (const std::string &_name) const
| You should not use this function directly. More...
const BaseProperty * | _get_hprop (const std::string &_name) const
| You should not use this function directly. More...
const BaseProperty * | _get_fprop (const std::string &_name) const
| You should not use this function directly. More...
const BaseProperty * | _get_mprop (const std::string &_name) const
| You should not use this function directly. More...
BaseProperty & | _vprop (size_t _idx)
| You should not use this function directly. More...
BaseProperty & | _eprop (size_t _idx)
| You should not use this function directly. More...
BaseProperty & | _hprop (size_t _idx)
| You should not use this function directly. More...
BaseProperty & | _fprop (size_t _idx)
| You should not use this function directly. More...
BaseProperty & | _mprop (size_t _idx)
| You should not use this function directly. More...
const BaseProperty & | _vprop (size_t _idx) const
| You should not use this function directly. More...
const BaseProperty & | _eprop (size_t _idx) const
| You should not use this function directly. More...
const BaseProperty & | _hprop (size_t _idx) const
| You should not use this function directly. More...
const BaseProperty & | _fprop (size_t _idx) const
| You should not use this function directly. More...
const BaseProperty & | _mprop (size_t _idx) const
| You should not use this function directly. More...
size_t | _add_vprop (BaseProperty *_bp)
| You should not use this function directly. More...
size_t | _add_eprop (BaseProperty *_bp)
| You should not use this function directly. More...
size_t | _add_hprop (BaseProperty *_bp)
| You should not use this function directly. More...
size_t | _add_fprop (BaseProperty *_bp)
| You should not use this function directly. More...
size_t | _add_mprop (BaseProperty *_bp)
| You should not use this function directly. More...
virtual size_t | n_vertices () const
| You should not use this function directly. More...
virtual size_t | n_halfedges () const
| You should not use this function directly. More...
virtual size_t | n_edges () const
| You should not use this function directly. More...
virtual size_t | n_faces () const
| You should not use this function directly. More...
template<typename HandleT >
size_t | n_elements () const
| You should not use this function directly. More...
void | property_stats () const
| You should not use this function directly. More...
void | property_stats (std::ostream &_ostr) const
| You should not use this function directly. More...
void | vprop_stats (std::string &_string) const
| You should not use this function directly. More...
void | hprop_stats (std::string &_string) const
| You should not use this function directly. More...
void | eprop_stats (std::string &_string) const
| You should not use this function directly. More...
void | fprop_stats (std::string &_string) const
| You should not use this function directly. More...
void | mprop_stats (std::string &_string) const
| You should not use this function directly. More...
void | vprop_stats () const
| You should not use this function directly. More...
void | hprop_stats () const
| You should not use this function directly. More...
void | eprop_stats () const
| You should not use this function directly. More...
void | fprop_stats () const
| You should not use this function directly. More...
void | mprop_stats () const
| You should not use this function directly. More...
void | vprop_stats (std::ostream &_ostr) const
| You should not use this function directly. More...
void | hprop_stats (std::ostream &_ostr) const
| You should not use this function directly. More...
void | eprop_stats (std::ostream &_ostr) const
| You should not use this function directly. More...
void | fprop_stats (std::ostream &_ostr) const
| You should not use this function directly. More...
void | mprop_stats (std::ostream &_ostr) const
| You should not use this function directly. More...
prop_iterator | vprops_begin ()
| You should not use this function directly. More...
prop_iterator | vprops_end ()
| You should not use this function directly. More...
const_prop_iterator | vprops_begin () const
| You should not use this function directly. More...
const_prop_iterator | vprops_end () const
| You should not use this function directly. More...
prop_iterator | eprops_begin ()
| You should not use this function directly. More...
prop_iterator | eprops_end ()
| You should not use this function directly. More...
const_prop_iterator | eprops_begin () const
| You should not use this function directly. More...
const_prop_iterator | eprops_end () const
| You should not use this function directly. More...
prop_iterator | hprops_begin ()
| You should not use this function directly. More...
prop_iterator | hprops_end ()
| You should not use this function directly. More...
const_prop_iterator | hprops_begin () const
| You should not use this function directly. More...
const_prop_iterator | hprops_end () const
| You should not use this function directly. More...
prop_iterator | fprops_begin ()
| You should not use this function directly. More...
prop_iterator | fprops_end ()
| You should not use this function directly. More...
const_prop_iterator | fprops_begin () const
| You should not use this function directly. More...
const_prop_iterator | fprops_end () const
| You should not use this function directly. More...
prop_iterator | mprops_begin ()
| You should not use this function directly. More...
prop_iterator | mprops_end ()
| You should not use this function directly. More...
const_prop_iterator | mprops_begin () const
| You should not use this function directly. More...
const_prop_iterator | mprops_end () const
| You should not use this function directly. More...
BaseProperty & | _vprop (BaseHandle _h)
| You should not use this function directly. More...
BaseProperty & | _eprop (BaseHandle _h)
| You should not use this function directly. More...
BaseProperty & | _hprop (BaseHandle _h)
| You should not use this function directly. More...
BaseProperty & | _fprop (BaseHandle _h)
| You should not use this function directly. More...
BaseProperty & | _mprop (BaseHandle _h)
| You should not use this function directly. More...
const BaseProperty & | _vprop (BaseHandle _h) const
| You should not use this function directly. More...
const BaseProperty & | _eprop (BaseHandle _h) const
| You should not use this function directly. More...
const BaseProperty & | _hprop (BaseHandle _h) const
| You should not use this function directly. More...
const BaseProperty & | _fprop (BaseHandle _h) const
| You should not use this function directly. More...
const BaseProperty & | _mprop (BaseHandle _h) const
| You should not use this function directly. More...
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
| Same as vprops_resize() but ignores vertex property vectors that have a size larger than `_n`. More...
void | vprops_clear ()
| You should not use this function directly. More...
void | vprops_swap (unsigned int _i0, unsigned int _i1) const
| You should not use this function directly. More...
void | hprops_reserve (size_t _n) const
| You should not use this function directly. More...
void | hprops_resize (size_t _n) const
| You should not use this function directly. More...
void | hprops_clear ()
| You should not use this function directly. More...
void | hprops_swap (unsigned int _i0, unsigned int _i1) const
| You should not use this function directly. More...
void | eprops_reserve (size_t _n) const
| You should not use this function directly. More...
void | eprops_resize (size_t _n) const
| You should not use this function directly. More...
void | eprops_clear ()
| You should not use this function directly. More...
void | eprops_swap (unsigned int _i0, unsigned int _i1) const
| You should not use this function directly. More...
void | fprops_reserve (size_t _n) const
| You should not use this function directly. More...
void | fprops_resize (size_t _n) const
| You should not use this function directly. More...
void | fprops_clear ()
| You should not use this function directly. More...
void | fprops_swap (unsigned int _i0, unsigned int _i1) const
| You should not use this function directly. More...
void | mprops_resize (size_t _n) const
| You should not use this function directly. More...
void | mprops_clear ()
| You should not use this function directly. More...

## Detailed Description

This class provides low-level property management like adding/removing properties and access to properties.

Under most circumstances, it is advisable to use the high-level property management provided by PropertyManager, instead.

All operations provided by BaseKernel need at least a property handle (VPropHandleT, EPropHandleT, HPropHandleT, FPropHandleT, MPropHandleT). which keeps the data type of the property, too.

There are two types of properties:

1. Standard properties - mesh data (e.g. vertex normal or face color)
2. Custom properties - user defined data

The differentiation is only semantically, technically both are equally handled. Therefore the methods provided by the BaseKernel are applicable to both property types.

Attention
  Since the class PolyMeshT derives from a kernel, hence all public elements of BaseKernel are usable.

## Member Typedef Documentation

## ◆ const_prop_iterator

typedef PropertyContainer::const_iterator OpenMesh::BaseKernel::const_prop_iterator

You should not use this function directly.

Instead, use the convenient PropertyManager wrapper.

Return value of property for an item

## ◆ prop_iterator

typedef PropertyContainer::iterator OpenMesh::BaseKernel::prop_iterator

You should not use this function directly.

Instead, use the convenient PropertyManager wrapper.

Return value of property for an item

## Member Function Documentation

## ◆ _add_eprop()

size_t OpenMesh::BaseKernel::_add_eprop | ( | BaseProperty * | _bp | ) |
| inline

You should not use this function directly.

Instead, use the convenient PropertyManager wrapper.

Return value of property for an item

## ◆ _add_fprop()

size_t OpenMesh::BaseKernel::_add_fprop | ( | BaseProperty * | _bp | ) |
| inline

You should not use this function directly.

Instead, use the convenient PropertyManager wrapper.

Return value of property for an item

## ◆ _add_hprop()

size_t OpenMesh::BaseKernel::_add_hprop | ( | BaseProperty * | _bp | ) |
| inline

You should not use this function directly.

Instead, use the convenient PropertyManager wrapper.

Return value of property for an item

## ◆ _add_mprop()

size_t OpenMesh::BaseKernel::_add_mprop | ( | BaseProperty * | _bp | ) |
| inline

You should not use this function directly.

Instead, use the convenient PropertyManager wrapper.

Return value of property for an item

## ◆ _add_vprop()

size_t OpenMesh::BaseKernel::_add_vprop | ( | BaseProperty * | _bp | ) |
| inline

You should not use this function directly.

Instead, use the convenient PropertyManager wrapper.

Return value of property for an item

## ◆ _eprop() [1/4]

BaseProperty& OpenMesh::BaseKernel::_eprop | ( | BaseHandle | _h | ) |
| inlineprotected

You should not use this function directly.

Instead, use the convenient PropertyManager wrapper.

Return value of property for an item

## ◆ _eprop() [2/4]

const BaseProperty& OpenMesh::BaseKernel::_eprop | ( | BaseHandle | _h | ) | const
| inlineprotected

You should not use this function directly.

Instead, use the convenient PropertyManager wrapper.

Return value of property for an item

## ◆ _eprop() [3/4]

BaseProperty& OpenMesh::BaseKernel::_eprop | ( | size_t | _idx | ) |
| inline

You should not use this function directly.

Instead, use the convenient PropertyManager wrapper.

Return value of property for an item

## ◆ _eprop() [4/4]

const BaseProperty& OpenMesh::BaseKernel::_eprop | ( | size_t | _idx | ) | const
| inline

You should not use this function directly.

Instead, use the convenient PropertyManager wrapper.

Return value of property for an item

## ◆ _fprop() [1/4]

BaseProperty& OpenMesh::BaseKernel::_fprop | ( | BaseHandle | _h | ) |
| inlineprotected

You should not use this function directly.

Instead, use the convenient PropertyManager wrapper.

Return value of property for an item

## ◆ _fprop() [2/4]

const BaseProperty& OpenMesh::BaseKernel::_fprop | ( | BaseHandle | _h | ) | const
| inlineprotected

You should not use this function directly.

Instead, use the convenient PropertyManager wrapper.

Return value of property for an item

## ◆ _fprop() [3/4]

BaseProperty& OpenMesh::BaseKernel::_fprop | ( | size_t | _idx | ) |
| inline

You should not use this function directly.

Instead, use the convenient PropertyManager wrapper.

Return value of property for an item

## ◆ _fprop() [4/4]

const BaseProperty& OpenMesh::BaseKernel::_fprop | ( | size_t | _idx | ) | const
| inline

You should not use this function directly.

Instead, use the convenient PropertyManager wrapper.

Return value of property for an item

## ◆ _get_eprop() [1/2]

BaseProperty* OpenMesh::BaseKernel::_get_eprop | ( | const std::string & | _name | ) |
| inline

You should not use this function directly.

Instead, use the convenient PropertyManager wrapper.

Return value of property for an item

## ◆ _get_eprop() [2/2]

const BaseProperty* OpenMesh::BaseKernel::_get_eprop | ( | const std::string & | _name | ) | const
| inline

You should not use this function directly.

Instead, use the convenient PropertyManager wrapper.

Return value of property for an item

## ◆ _get_fprop() [1/2]

BaseProperty* OpenMesh::BaseKernel::_get_fprop | ( | const std::string & | _name | ) |
| inline

You should not use this function directly.

Instead, use the convenient PropertyManager wrapper.

Return value of property for an item

## ◆ _get_fprop() [2/2]

const BaseProperty* OpenMesh::BaseKernel::_get_fprop | ( | const std::string & | _name | ) | const
| inline

You should not use this function directly.

Instead, use the convenient PropertyManager wrapper.

Return value of property for an item

## ◆ _get_hprop() [1/2]

BaseProperty* OpenMesh::BaseKernel::_get_hprop | ( | const std::string & | _name | ) |
| inline

You should not use this function directly.

Instead, use the convenient PropertyManager wrapper.

Return value of property for an item

## ◆ _get_hprop() [2/2]

const BaseProperty* OpenMesh::BaseKernel::_get_hprop | ( | const std::string & | _name | ) | const
| inline

You should not use this function directly.

Instead, use the convenient PropertyManager wrapper.

Return value of property for an item

## ◆ _get_mprop() [1/2]

BaseProperty* OpenMesh::BaseKernel::_get_mprop | ( | const std::string & | _name | ) |
| inline

You should not use this function directly.

Instead, use the convenient PropertyManager wrapper.

Return value of property for an item

## ◆ _get_mprop() [2/2]

const BaseProperty* OpenMesh::BaseKernel::_get_mprop | ( | const std::string & | _name | ) | const
| inline

You should not use this function directly.

Instead, use the convenient PropertyManager wrapper.

Return value of property for an item

## ◆ _get_vprop() [1/2]

BaseProperty* OpenMesh::BaseKernel::_get_vprop | ( | const std::string & | _name | ) |
| inline

You should not use this function directly.

Instead, use the convenient PropertyManager wrapper.

Return value of property for an item

## ◆ _get_vprop() [2/2]

const BaseProperty* OpenMesh::BaseKernel::_get_vprop | ( | const std::string & | _name | ) | const
| inline

You should not use this function directly.

Instead, use the convenient PropertyManager wrapper.

Return value of property for an item

## ◆ _hprop() [1/4]

BaseProperty& OpenMesh::BaseKernel::_hprop | ( | BaseHandle | _h | ) |
| inlineprotected

You should not use this function directly.

Instead, use the convenient PropertyManager wrapper.

Return value of property for an item

## ◆ _hprop() [2/4]

const BaseProperty& OpenMesh::BaseKernel::_hprop | ( | BaseHandle | _h | ) | const
| inlineprotected

You should not use this function directly.

Instead, use the convenient PropertyManager wrapper.

Return value of property for an item

## ◆ _hprop() [3/4]

BaseProperty& OpenMesh::BaseKernel::_hprop | ( | size_t | _idx | ) |
| inline

You should not use this function directly.

Instead, use the convenient PropertyManager wrapper.

Return value of property for an item

## ◆ _hprop() [4/4]

const BaseProperty& OpenMesh::BaseKernel::_hprop | ( | size_t | _idx | ) | const
| inline

You should not use this function directly.

Instead, use the convenient PropertyManager wrapper.

Return value of property for an item

## ◆ _mprop() [1/4]

BaseProperty& OpenMesh::BaseKernel::_mprop | ( | BaseHandle | _h | ) |
| inlineprotected

You should not use this function directly.

Instead, use the convenient PropertyManager wrapper.

Return value of property for an item

## ◆ _mprop() [2/4]

const BaseProperty& OpenMesh::BaseKernel::_mprop | ( | BaseHandle | _h | ) | const
| inlineprotected

You should not use this function directly.

Instead, use the convenient PropertyManager wrapper.

Return value of property for an item

## ◆ _mprop() [3/4]

BaseProperty& OpenMesh::BaseKernel::_mprop | ( | size_t | _idx | ) |
| inline

You should not use this function directly.

Instead, use the convenient PropertyManager wrapper.

Return value of property for an item

## ◆ _mprop() [4/4]

const BaseProperty& OpenMesh::BaseKernel::_mprop | ( | size_t | _idx | ) | const
| inline

You should not use this function directly.

Instead, use the convenient PropertyManager wrapper.

Return value of property for an item

## ◆ _vprop() [1/4]

BaseProperty& OpenMesh::BaseKernel::_vprop | ( | BaseHandle | _h | ) |
| inlineprotected

You should not use this function directly.

Instead, use the convenient PropertyManager wrapper.

Return value of property for an item

## ◆ _vprop() [2/4]

const BaseProperty& OpenMesh::BaseKernel::_vprop | ( | BaseHandle | _h | ) | const
| inlineprotected

You should not use this function directly.

Instead, use the convenient PropertyManager wrapper.

Return value of property for an item

## ◆ _vprop() [3/4]

BaseProperty& OpenMesh::BaseKernel::_vprop | ( | size_t | _idx | ) |
| inline

You should not use this function directly.

Instead, use the convenient PropertyManager wrapper.

Return value of property for an item

## ◆ _vprop() [4/4]

const BaseProperty& OpenMesh::BaseKernel::_vprop | ( | size_t | _idx | ) | const
| inline

You should not use this function directly.

Instead, use the convenient PropertyManager wrapper.

Return value of property for an item

## ◆ add_property() [1/5]

template<class T >

void OpenMesh::BaseKernel::add_property | ( | EPropHandleT< T > & | _ph,
|  | const std::string & | _name = `"<eprop>"`
| ) |  |
| inline

You should not use this function directly.

Instead, use the convenient PropertyManager wrapper and/or one of its helper functions such as makePropertyManagerFromNew, makePropertyManagerFromExisting, or makePropertyManagerFromExistingOrNew.

Adds a property

Depending on the property handle type a vertex, (half-)edge, face or mesh property is added to the mesh. If the action fails the handle is invalid. On success the handle must be used to access the property data with property().

Parameters

  _ph | A property handle defining the data type to bind to mesh. On success the handle is valid else invalid.
  _name | Optional name of property. Following restrictions apply to the name: Maximum length of name is 256 characters The prefixes matching "^[vhefm]:" are reserved for internal usage. The expression "^<.*>$" is reserved for internal usage.

## ◆ add_property() [2/5]

template<class T >

void OpenMesh::BaseKernel::add_property | ( | FPropHandleT< T > & | _ph,
|  | const std::string & | _name = `"<fprop>"`
| ) |  |
| inline

You should not use this function directly.

Instead, use the convenient PropertyManager wrapper and/or one of its helper functions such as makePropertyManagerFromNew, makePropertyManagerFromExisting, or makePropertyManagerFromExistingOrNew.

Adds a property

Depending on the property handle type a vertex, (half-)edge, face or mesh property is added to the mesh. If the action fails the handle is invalid. On success the handle must be used to access the property data with property().

Parameters

  _ph | A property handle defining the data type to bind to mesh. On success the handle is valid else invalid.
  _name | Optional name of property. Following restrictions apply to the name: Maximum length of name is 256 characters The prefixes matching "^[vhefm]:" are reserved for internal usage. The expression "^<.*>$" is reserved for internal usage.

## ◆ add_property() [3/5]

template<class T >

void OpenMesh::BaseKernel::add_property | ( | HPropHandleT< T > & | _ph,
|  | const std::string & | _name = `"<hprop>"`
| ) |  |
| inline

You should not use this function directly.

Instead, use the convenient PropertyManager wrapper and/or one of its helper functions such as makePropertyManagerFromNew, makePropertyManagerFromExisting, or makePropertyManagerFromExistingOrNew.

Adds a property

Depending on the property handle type a vertex, (half-)edge, face or mesh property is added to the mesh. If the action fails the handle is invalid. On success the handle must be used to access the property data with property().

Parameters

  _ph | A property handle defining the data type to bind to mesh. On success the handle is valid else invalid.
  _name | Optional name of property. Following restrictions apply to the name: Maximum length of name is 256 characters The prefixes matching "^[vhefm]:" are reserved for internal usage. The expression "^<.*>$" is reserved for internal usage.

## ◆ add_property() [4/5]

template<class T >

void OpenMesh::BaseKernel::add_property | ( | MPropHandleT< T > & | _ph,
|  | const std::string & | _name = `"<mprop>"`
| ) |  |
| inline

You should not use this function directly.

Instead, use the convenient PropertyManager wrapper and/or one of its helper functions such as makePropertyManagerFromNew, makePropertyManagerFromExisting, or makePropertyManagerFromExistingOrNew.

Adds a property

Depending on the property handle type a vertex, (half-)edge, face or mesh property is added to the mesh. If the action fails the handle is invalid. On success the handle must be used to access the property data with property().

Parameters

  _ph | A property handle defining the data type to bind to mesh. On success the handle is valid else invalid.
  _name | Optional name of property. Following restrictions apply to the name: Maximum length of name is 256 characters The prefixes matching "^[vhefm]:" are reserved for internal usage. The expression "^<.*>$" is reserved for internal usage.

## ◆ add_property() [5/5]

template<class T >

void OpenMesh::BaseKernel::add_property | ( | VPropHandleT< T > & | _ph,
|  | const std::string & | _name = `"<vprop>"`
| ) |  |
| inline

You should not use this function directly.

Instead, use the convenient PropertyManager wrapper and/or one of its helper functions such as makePropertyManagerFromNew, makePropertyManagerFromExisting, or makePropertyManagerFromExistingOrNew.

Adds a property

Depending on the property handle type a vertex, (half-)edge, face or mesh property is added to the mesh. If the action fails the handle is invalid. On success the handle must be used to access the property data with property().

Parameters

  _ph | A property handle defining the data type to bind to mesh. On success the handle is valid else invalid.
  _name | Optional name of property. Following restrictions apply to the name: Maximum length of name is 256 characters The prefixes matching "^[vhefm]:" are reserved for internal usage. The expression "^<.*>$" is reserved for internal usage.

## ◆ copy_all_kernel_properties()

void OpenMesh::BaseKernel::copy_all_kernel_properties | ( | const BaseKernel & | _other | ) |
| inline

copy_all_kernel_properties uses the = operator to copy all properties from a given other BaseKernel.

Parameters

  _other | Another BaseKernel, to copy the properties from.

## ◆ copy_all_properties() [1/4]

void OpenMesh::BaseKernel::copy_all_properties | ( | EdgeHandle | _eh_from,
|  | EdgeHandle | _eh_to,
|  | bool | _copyBuildIn = `false`
| ) |  |
| inline

Copies all properties from one mesh element to another (of the same type)

Parameters

  _eh_from | An edge handle - source
  _eh_to | An edge handle - target
  _copyBuildIn | Should the internal properties (position, normal, texture coordinate,..) be copied?

## ◆ copy_all_properties() [2/4]

void OpenMesh::BaseKernel::copy_all_properties | ( | FaceHandle | _fh_from,
|  | FaceHandle | _fh_to,
|  | bool | _copyBuildIn = `false`
| ) |  |
| inline

Copies all properties from one mesh element to another (of the same type)

Parameters

  _fh_from | A face handle - source
  _fh_to | A face handle - target
  _copyBuildIn | Should the internal properties (position, normal, texture coordinate,..) be copied?

## ◆ copy_all_properties() [3/4]

void OpenMesh::BaseKernel::copy_all_properties | ( | HalfedgeHandle | _hh_from,
|  | HalfedgeHandle | _hh_to,
|  | bool | _copyBuildIn = `false`
| ) |  |
| inline

Copies all properties from one mesh element to another (of the same type)

Parameters

  _hh_from | A halfedge handle - source
  _hh_to | A halfedge handle - target
  _copyBuildIn | Should the internal properties (position, normal, texture coordinate,..) be copied?

## ◆ copy_all_properties() [4/4]

void OpenMesh::BaseKernel::copy_all_properties | ( | VertexHandle | _vh_from,
|  | VertexHandle | _vh_to,
|  | bool | _copyBuildIn = `false`
| ) |  |
| inline

Copies all properties from one mesh element to another (of the same type)

Parameters

  _vh_from | A vertex handle - source
  _vh_to | A vertex handle - target
  _copyBuildIn | Should the internal properties (position, normal, texture coordinate,..) be copied?

## ◆ copy_property() [1/4]

template<class T >

void OpenMesh::BaseKernel::copy_property | ( | EPropHandleT< T > | _ph,
|  | EdgeHandle | _eh_from,
|  | EdgeHandle | _eh_to
| ) |  |
| inline

You should not use this function directly.

Instead, use the convenient PropertyManager wrapper (e.g. PropertyManager::copy_to or PropertyManager::copy).

Copies a single property from one mesh element to another (of the same type)

Parameters

  _ph | An edge property handle
  _eh_from | From edge handle
  _eh_to | To edge handle

## ◆ copy_property() [2/4]

template<class T >

void OpenMesh::BaseKernel::copy_property | ( | FPropHandleT< T > | _ph,
|  | FaceHandle | _fh_from,
|  | FaceHandle | _fh_to
| ) |  |
| inline

You should not use this function directly.

Instead, use the convenient PropertyManager wrapper (e.g. PropertyManager::copy_to or PropertyManager::copy).

Copies a single property from one mesh element to another (of the same type)

Parameters

  _ph | A face property handle
  _fh_from | From face handle
  _fh_to | To face handle

## ◆ copy_property() [3/4]

template<class T >

void OpenMesh::BaseKernel::copy_property | ( | HPropHandleT< T > | _ph,
|  | HalfedgeHandle | _hh_from,
|  | HalfedgeHandle | _hh_to
| ) |  |
| inline

You should not use this function directly.

Instead, use the convenient PropertyManager wrapper (e.g. PropertyManager::copy_to or PropertyManager::copy).

Copies a single property from one mesh element to another (of the same type)

Parameters

  _ph | A halfedge property handle
  _hh_from | From halfedge handle
  _hh_to | To halfedge handle

## ◆ copy_property() [4/4]

template<class T >

void OpenMesh::BaseKernel::copy_property | ( | VPropHandleT< T > & | _ph,
|  | VertexHandle | _vh_from,
|  | VertexHandle | _vh_to
| ) |  |
| inline

You should not use this function directly.

Instead, use the convenient PropertyManager wrapper (e.g. PropertyManager::copy_to or PropertyManager::copy).

Copies a single property from one mesh element to another (of the same type)

Parameters

  _ph | A vertex property handle
  _vh_from | From vertex handle
  _vh_to | To vertex handle

## ◆ eprop_stats() [1/3]

void OpenMesh::BaseKernel::eprop_stats | ( |  | ) | const

You should not use this function directly.

Instead, use the convenient PropertyManager wrapper.

Return value of property for an item

## ◆ eprop_stats() [2/3]

void OpenMesh::BaseKernel::eprop_stats | ( | std::ostream & | _ostr | ) | const

You should not use this function directly.

Instead, use the convenient PropertyManager wrapper.

Return value of property for an item

## ◆ eprop_stats() [3/3]

void OpenMesh::BaseKernel::eprop_stats | ( | std::string & | _string | ) | const

You should not use this function directly.

Instead, use the convenient PropertyManager wrapper.

Return value of property for an item

## ◆ eprops_begin() [1/2]

prop_iterator OpenMesh::BaseKernel::eprops_begin | ( |  | ) |
| inline

You should not use this function directly.

Instead, use the convenient PropertyManager wrapper.

Return value of property for an item

## ◆ eprops_begin() [2/2]

const_prop_iterator OpenMesh::BaseKernel::eprops_begin | ( |  | ) | const
| inline

You should not use this function directly.

Instead, use the convenient PropertyManager wrapper.

Return value of property for an item

## ◆ eprops_clear()

void OpenMesh::BaseKernel::eprops_clear | ( |  | ) |
| inlineprotected

You should not use this function directly.

Instead, use the convenient PropertyManager wrapper.

Return value of property for an item

## ◆ eprops_end() [1/2]

prop_iterator OpenMesh::BaseKernel::eprops_end | ( |  | ) |
| inline

You should not use this function directly.

Instead, use the convenient PropertyManager wrapper.

Return value of property for an item

## ◆ eprops_end() [2/2]

const_prop_iterator OpenMesh::BaseKernel::eprops_end | ( |  | ) | const
| inline

You should not use this function directly.

Instead, use the convenient PropertyManager wrapper.

Return value of property for an item

## ◆ eprops_reserve()

void OpenMesh::BaseKernel::eprops_reserve | ( | size_t | _n | ) | const
| inlineprotected

You should not use this function directly.

Instead, use the convenient PropertyManager wrapper.

Return value of property for an item

## ◆ eprops_resize()

void OpenMesh::BaseKernel::eprops_resize | ( | size_t | _n | ) | const
| inlineprotected

You should not use this function directly.

Instead, use the convenient PropertyManager wrapper.

Return value of property for an item

## ◆ eprops_swap()

void OpenMesh::BaseKernel::eprops_swap | ( | unsigned int | _i0,
|  | unsigned int | _i1
| ) |  | const
| inlineprotected

You should not use this function directly.

Instead, use the convenient PropertyManager wrapper.

Return value of property for an item

## ◆ fprop_stats() [1/3]

void OpenMesh::BaseKernel::fprop_stats | ( |  | ) | const

You should not use this function directly.

Instead, use the convenient PropertyManager wrapper.

Return value of property for an item

## ◆ fprop_stats() [2/3]

void OpenMesh::BaseKernel::fprop_stats | ( | std::ostream & | _ostr | ) | const

You should not use this function directly.

Instead, use the convenient PropertyManager wrapper.

Return value of property for an item

## ◆ fprop_stats() [3/3]

void OpenMesh::BaseKernel::fprop_stats | ( | std::string & | _string | ) | const

You should not use this function directly.

Instead, use the convenient PropertyManager wrapper.

Return value of property for an item

## ◆ fprops_begin() [1/2]

prop_iterator OpenMesh::BaseKernel::fprops_begin | ( |  | ) |
| inline

You should not use this function directly.

Instead, use the convenient PropertyManager wrapper.

Return value of property for an item

## ◆ fprops_begin() [2/2]

const_prop_iterator OpenMesh::BaseKernel::fprops_begin | ( |  | ) | const
| inline

You should not use this function directly.

Instead, use the convenient PropertyManager wrapper.

Return value of property for an item

## ◆ fprops_clear()

void OpenMesh::BaseKernel::fprops_clear | ( |  | ) |
| inlineprotected

You should not use this function directly.

Instead, use the convenient PropertyManager wrapper.

Return value of property for an item

## ◆ fprops_end() [1/2]

prop_iterator OpenMesh::BaseKernel::fprops_end | ( |  | ) |
| inline

You should not use this function directly.

Instead, use the convenient PropertyManager wrapper.

Return value of property for an item

## ◆ fprops_end() [2/2]

const_prop_iterator OpenMesh::BaseKernel::fprops_end | ( |  | ) | const
| inline

You should not use this function directly.

Instead, use the convenient PropertyManager wrapper.

Return value of property for an item

## ◆ fprops_reserve()

void OpenMesh::BaseKernel::fprops_reserve | ( | size_t | _n | ) | const
| inlineprotected

You should not use this function directly.

Instead, use the convenient PropertyManager wrapper.

Return value of property for an item

## ◆ fprops_resize()

void OpenMesh::BaseKernel::fprops_resize | ( | size_t | _n | ) | const
| inlineprotected

You should not use this function directly.

Instead, use the convenient PropertyManager wrapper.

Return value of property for an item

## ◆ fprops_swap()

void OpenMesh::BaseKernel::fprops_swap | ( | unsigned int | _i0,
|  | unsigned int | _i1
| ) |  | const
| inlineprotected

You should not use this function directly.

Instead, use the convenient PropertyManager wrapper.

Return value of property for an item

## ◆ get_property_handle() [1/5]

template<class T >

bool OpenMesh::BaseKernel::get_property_handle | ( | EPropHandleT< T > & | _ph,
|  | const std::string & | _name
| ) |  | const
| inline

You should not use this function directly.

Instead, use the convenient PropertyManager wrapper (e.g. PropertyManager::propertyExists) or one of its higher level helper functions such as makePropertyManagerFromExisting, or makePropertyManagerFromExistingOrNew.

Retrieves the handle to a named property by it's name.

Parameters

  _ph | A property handle. On success the handle is valid else invalid.
  _name | Name of wanted property.

Returns
  `true` if such a named property is available, else `false`.

## ◆ get_property_handle() [2/5]

template<class T >

bool OpenMesh::BaseKernel::get_property_handle | ( | FPropHandleT< T > & | _ph,
|  | const std::string & | _name
| ) |  | const
| inline

You should not use this function directly.

Instead, use the convenient PropertyManager wrapper (e.g. PropertyManager::propertyExists) or one of its higher level helper functions such as makePropertyManagerFromExisting, or makePropertyManagerFromExistingOrNew.

Retrieves the handle to a named property by it's name.

Parameters

  _ph | A property handle. On success the handle is valid else invalid.
  _name | Name of wanted property.

Returns
  `true` if such a named property is available, else `false`.

## ◆ get_property_handle() [3/5]

template<class T >

bool OpenMesh::BaseKernel::get_property_handle | ( | HPropHandleT< T > & | _ph,
|  | const std::string & | _name
| ) |  | const
| inline

You should not use this function directly.

Instead, use the convenient PropertyManager wrapper (e.g. PropertyManager::propertyExists) or one of its higher level helper functions such as makePropertyManagerFromExisting, or makePropertyManagerFromExistingOrNew.

Retrieves the handle to a named property by it's name.

Parameters

  _ph | A property handle. On success the handle is valid else invalid.
  _name | Name of wanted property.

Returns
  `true` if such a named property is available, else `false`.

## ◆ get_property_handle() [4/5]

template<class T >

bool OpenMesh::BaseKernel::get_property_handle | ( | MPropHandleT< T > & | _ph,
|  | const std::string & | _name
| ) |  | const
| inline

You should not use this function directly.

Instead, use the convenient PropertyManager wrapper (e.g. PropertyManager::propertyExists) or one of its higher level helper functions such as makePropertyManagerFromExisting, or makePropertyManagerFromExistingOrNew.

Retrieves the handle to a named property by it's name.

Parameters

  _ph | A property handle. On success the handle is valid else invalid.
  _name | Name of wanted property.

Returns
  `true` if such a named property is available, else `false`.

## ◆ get_property_handle() [5/5]

template<class T >

bool OpenMesh::BaseKernel::get_property_handle | ( | VPropHandleT< T > & | _ph,
|  | const std::string & | _name
| ) |  | const
| inline

You should not use this function directly.

Instead, use the convenient PropertyManager wrapper (e.g. PropertyManager::propertyExists) or one of its higher level helper functions such as makePropertyManagerFromExisting, or makePropertyManagerFromExistingOrNew.

Retrieves the handle to a named property by it's name.

Parameters

  _ph | A property handle. On success the handle is valid else invalid.
  _name | Name of wanted property.

Returns
  `true` if such a named property is available, else `false`.

## ◆ hprop_stats() [1/3]

void OpenMesh::BaseKernel::hprop_stats | ( |  | ) | const

You should not use this function directly.

Instead, use the convenient PropertyManager wrapper.

Return value of property for an item

## ◆ hprop_stats() [2/3]

void OpenMesh::BaseKernel::hprop_stats | ( | std::ostream & | _ostr | ) | const

You should not use this function directly.

Instead, use the convenient PropertyManager wrapper.

Return value of property for an item

## ◆ hprop_stats() [3/3]

void OpenMesh::BaseKernel::hprop_stats | ( | std::string & | _string | ) | const

You should not use this function directly.

Instead, use the convenient PropertyManager wrapper.

Return value of property for an item

## ◆ hprops_begin() [1/2]

prop_iterator OpenMesh::BaseKernel::hprops_begin | ( |  | ) |
| inline

You should not use this function directly.

Instead, use the convenient PropertyManager wrapper.

Return value of property for an item

## ◆ hprops_begin() [2/2]

const_prop_iterator OpenMesh::BaseKernel::hprops_begin | ( |  | ) | const
| inline

You should not use this function directly.

Instead, use the convenient PropertyManager wrapper.

Return value of property for an item

## ◆ hprops_clear()

void OpenMesh::BaseKernel::hprops_clear | ( |  | ) |
| inlineprotected

You should not use this function directly.

Instead, use the convenient PropertyManager wrapper.

Return value of property for an item

## ◆ hprops_end() [1/2]

prop_iterator OpenMesh::BaseKernel::hprops_end | ( |  | ) |
| inline

You should not use this function directly.

Instead, use the convenient PropertyManager wrapper.

Return value of property for an item

## ◆ hprops_end() [2/2]

const_prop_iterator OpenMesh::BaseKernel::hprops_end | ( |  | ) | const
| inline

You should not use this function directly.

Instead, use the convenient PropertyManager wrapper.

Return value of property for an item

## ◆ hprops_reserve()

void OpenMesh::BaseKernel::hprops_reserve | ( | size_t | _n | ) | const
| inlineprotected

You should not use this function directly.

Instead, use the convenient PropertyManager wrapper.

Return value of property for an item

## ◆ hprops_resize()

void OpenMesh::BaseKernel::hprops_resize | ( | size_t | _n | ) | const
| inlineprotected

You should not use this function directly.

Instead, use the convenient PropertyManager wrapper.

Return value of property for an item

## ◆ hprops_swap()

void OpenMesh::BaseKernel::hprops_swap | ( | unsigned int | _i0,
|  | unsigned int | _i1
| ) |  | const
| inlineprotected

You should not use this function directly.

Instead, use the convenient PropertyManager wrapper.

Return value of property for an item

## ◆ mprop_stats() [1/3]

void OpenMesh::BaseKernel::mprop_stats | ( |  | ) | const

You should not use this function directly.

Instead, use the convenient PropertyManager wrapper.

Return value of property for an item

## ◆ mprop_stats() [2/3]

void OpenMesh::BaseKernel::mprop_stats | ( | std::ostream & | _ostr | ) | const

You should not use this function directly.

Instead, use the convenient PropertyManager wrapper.

Return value of property for an item

## ◆ mprop_stats() [3/3]

void OpenMesh::BaseKernel::mprop_stats | ( | std::string & | _string | ) | const

You should not use this function directly.

Instead, use the convenient PropertyManager wrapper.

Return value of property for an item

## ◆ mproperty() [1/2]

template<class T >

PropertyT<T>& OpenMesh::BaseKernel::mproperty | ( | MPropHandleT< T > | _ph | ) |
| inline

In most cases you should use the convenient PropertyManager wrapper and use of this function should not be necessary.

Under some circumstances, however (i.e. making a property persistent), it might be necessary to use this function.

Access a property

This method returns a reference to property. The property handle must be valid! The result is unpredictable if the handle is invalid!

Parameters

  _ph | A valid (!) property handle.

Returns
  The wanted property if the handle is valid.

## ◆ mproperty() [2/2]

template<class T >

const PropertyT<T>& OpenMesh::BaseKernel::mproperty | ( | MPropHandleT< T > | _ph | ) | const
| inline

In most cases you should use the convenient PropertyManager wrapper and use of this function should not be necessary.

Under some circumstances, however (i.e. making a property persistent), it might be necessary to use this function.

Access a property

This method returns a reference to property. The property handle must be valid! The result is unpredictable if the handle is invalid!

Parameters

  _ph | A valid (!) property handle.

Returns
  The wanted property if the handle is valid.

## ◆ mprops_begin() [1/2]

prop_iterator OpenMesh::BaseKernel::mprops_begin | ( |  | ) |
| inline

You should not use this function directly.

Instead, use the convenient PropertyManager wrapper.

Return value of property for an item

## ◆ mprops_begin() [2/2]

const_prop_iterator OpenMesh::BaseKernel::mprops_begin | ( |  | ) | const
| inline

You should not use this function directly.

Instead, use the convenient PropertyManager wrapper.

Return value of property for an item

## ◆ mprops_clear()

void OpenMesh::BaseKernel::mprops_clear | ( |  | ) |
| inlineprotected

You should not use this function directly.

Instead, use the convenient PropertyManager wrapper.

Return value of property for an item

## ◆ mprops_end() [1/2]

prop_iterator OpenMesh::BaseKernel::mprops_end | ( |  | ) |
| inline

You should not use this function directly.

Instead, use the convenient PropertyManager wrapper.

Return value of property for an item

## ◆ mprops_end() [2/2]

const_prop_iterator OpenMesh::BaseKernel::mprops_end | ( |  | ) | const
| inline

You should not use this function directly.

Instead, use the convenient PropertyManager wrapper.

Return value of property for an item

## ◆ mprops_resize()

void OpenMesh::BaseKernel::mprops_resize | ( | size_t | _n | ) | const
| inlineprotected

You should not use this function directly.

Instead, use the convenient PropertyManager wrapper.

Return value of property for an item

## ◆ n_edges()

virtual size_t OpenMesh::BaseKernel::n_edges | ( |  | ) | const
| inlinevirtual

You should not use this function directly.

Instead, use the convenient PropertyManager wrapper.

Return value of property for an item

Reimplemented in OpenMesh::ArrayKernel.

## ◆ n_elements()

template<typename HandleT >

size_t OpenMesh::BaseKernel::n_elements | ( |  | ) | const

You should not use this function directly.

Instead, use the convenient PropertyManager wrapper.

Return value of property for an item

## ◆ n_eprops()

size_t OpenMesh::BaseKernel::n_eprops | ( | void |  | ) | const
| inline

You should not use this function directly.

Instead, use the convenient PropertyManager wrapper.

Return value of property for an item

## ◆ n_faces()

virtual size_t OpenMesh::BaseKernel::n_faces | ( |  | ) | const
| inlinevirtual

You should not use this function directly.

Instead, use the convenient PropertyManager wrapper.

Return value of property for an item

Reimplemented in OpenMesh::ArrayKernel.

## ◆ n_fprops()

size_t OpenMesh::BaseKernel::n_fprops | ( | void |  | ) | const
| inline

You should not use this function directly.

Instead, use the convenient PropertyManager wrapper.

Return value of property for an item

## ◆ n_halfedges()

virtual size_t OpenMesh::BaseKernel::n_halfedges | ( |  | ) | const
| inlinevirtual

You should not use this function directly.

Instead, use the convenient PropertyManager wrapper.

Return value of property for an item

Reimplemented in OpenMesh::ArrayKernel.

## ◆ n_hprops()

size_t OpenMesh::BaseKernel::n_hprops | ( | void |  | ) | const
| inline

You should not use this function directly.

Instead, use the convenient PropertyManager wrapper.

Return value of property for an item

## ◆ n_mprops()

size_t OpenMesh::BaseKernel::n_mprops | ( | void |  | ) | const
| inline

You should not use this function directly.

Instead, use the convenient PropertyManager wrapper.

Return value of property for an item

## ◆ n_vertices()

virtual size_t OpenMesh::BaseKernel::n_vertices | ( |  | ) | const
| inlinevirtual

You should not use this function directly.

Instead, use the convenient PropertyManager wrapper.

Return value of property for an item

Reimplemented in OpenMesh::ArrayKernel.

## ◆ n_vprops()

size_t OpenMesh::BaseKernel::n_vprops | ( | void |  | ) | const
| inline

You should not use this function directly.

Instead, use the convenient PropertyManager wrapper.

Return value of property for an item

## ◆ property() [1/18]

template<class T >

PropertyT<T>& OpenMesh::BaseKernel::property | ( | EPropHandleT< T > | _ph | ) |
| inline

In most cases you should use the convenient PropertyManager wrapper and use of this function should not be necessary.

Under some circumstances, however (i.e. making a property persistent), it might be necessary to use this function.

Access a property

This method returns a reference to property. The property handle must be valid! The result is unpredictable if the handle is invalid!

Parameters

  _ph | A valid (!) property handle.

Returns
  The wanted property if the handle is valid.

## ◆ property() [2/18]

template<class T >

const PropertyT<T>& OpenMesh::BaseKernel::property | ( | EPropHandleT< T > | _ph | ) | const
| inline

In most cases you should use the convenient PropertyManager wrapper and use of this function should not be necessary.

Under some circumstances, however (i.e. making a property persistent), it might be necessary to use this function.

Access a property

This method returns a reference to property. The property handle must be valid! The result is unpredictable if the handle is invalid!

Parameters

  _ph | A valid (!) property handle.

Returns
  The wanted property if the handle is valid.

## ◆ property() [3/18]

template<class T >

EPropHandleT<T>::reference OpenMesh::BaseKernel::property | ( | EPropHandleT< T > | _ph,
|  | EdgeHandle | _eh
| ) |  |
| inline

You should not use this function directly.

Instead, use the convenient PropertyManager wrapper.

Return value of property for an item

## ◆ property() [4/18]

template<class T >

EPropHandleT<T>::const_reference OpenMesh::BaseKernel::property | ( | EPropHandleT< T > | _ph,
|  | EdgeHandle | _eh
| ) |  | const
| inline

You should not use this function directly.

Instead, use the convenient PropertyManager wrapper.

Return value of property for an item

## ◆ property() [5/18]

template<class T >

PropertyT<T>& OpenMesh::BaseKernel::property | ( | FPropHandleT< T > | _ph | ) |
| inline

In most cases you should use the convenient PropertyManager wrapper and use of this function should not be necessary.

Under some circumstances, however (i.e. making a property persistent), it might be necessary to use this function.

Access a property

This method returns a reference to property. The property handle must be valid! The result is unpredictable if the handle is invalid!

Parameters

  _ph | A valid (!) property handle.

Returns
  The wanted property if the handle is valid.

## ◆ property() [6/18]

template<class T >

const PropertyT<T>& OpenMesh::BaseKernel::property | ( | FPropHandleT< T > | _ph | ) | const
| inline

In most cases you should use the convenient PropertyManager wrapper and use of this function should not be necessary.

Under some circumstances, however (i.e. making a property persistent), it might be necessary to use this function.

Access a property

This method returns a reference to property. The property handle must be valid! The result is unpredictable if the handle is invalid!

Parameters

  _ph | A valid (!) property handle.

Returns
  The wanted property if the handle is valid.

## ◆ property() [7/18]

template<class T >

FPropHandleT<T>::reference OpenMesh::BaseKernel::property | ( | FPropHandleT< T > | _ph,
|  | FaceHandle | _fh
| ) |  |
| inline

You should not use this function directly.

Instead, use the convenient PropertyManager wrapper.

Return value of property for an item

## ◆ property() [8/18]

template<class T >

FPropHandleT<T>::const_reference OpenMesh::BaseKernel::property | ( | FPropHandleT< T > | _ph,
|  | FaceHandle | _fh
| ) |  | const
| inline

You should not use this function directly.

Instead, use the convenient PropertyManager wrapper.

Return value of property for an item

## ◆ property() [9/18]

template<class T >

PropertyT<T>& OpenMesh::BaseKernel::property | ( | HPropHandleT< T > | _ph | ) |
| inline

In most cases you should use the convenient PropertyManager wrapper and use of this function should not be necessary.

Under some circumstances, however (i.e. making a property persistent), it might be necessary to use this function.

Access a property

This method returns a reference to property. The property handle must be valid! The result is unpredictable if the handle is invalid!

Parameters

  _ph | A valid (!) property handle.

Returns
  The wanted property if the handle is valid.

## ◆ property() [10/18]

template<class T >

const PropertyT<T>& OpenMesh::BaseKernel::property | ( | HPropHandleT< T > | _ph | ) | const
| inline

In most cases you should use the convenient PropertyManager wrapper and use of this function should not be necessary.

Under some circumstances, however (i.e. making a property persistent), it might be necessary to use this function.

Access a property

This method returns a reference to property. The property handle must be valid! The result is unpredictable if the handle is invalid!

Parameters

  _ph | A valid (!) property handle.

Returns
  The wanted property if the handle is valid.

## ◆ property() [11/18]

template<class T >

HPropHandleT<T>::reference OpenMesh::BaseKernel::property | ( | HPropHandleT< T > | _ph,
|  | HalfedgeHandle | _hh
| ) |  |
| inline

You should not use this function directly.

Instead, use the convenient PropertyManager wrapper.

Return value of property for an item

## ◆ property() [12/18]

template<class T >

HPropHandleT<T>::const_reference OpenMesh::BaseKernel::property | ( | HPropHandleT< T > | _ph,
|  | HalfedgeHandle | _hh
| ) |  | const
| inline

You should not use this function directly.

Instead, use the convenient PropertyManager wrapper.

Return value of property for an item

## ◆ property() [13/18]

template<class T >

MPropHandleT<T>::reference OpenMesh::BaseKernel::property | ( | MPropHandleT< T > | _ph | ) |
| inline

You should not use this function directly.

Instead, use the convenient PropertyManager wrapper.

Return value of property for an item

## ◆ property() [14/18]

template<class T >

MPropHandleT<T>::const_reference OpenMesh::BaseKernel::property | ( | MPropHandleT< T > | _ph | ) | const
| inline

You should not use this function directly.

Instead, use the convenient PropertyManager wrapper.

Return value of property for an item

## ◆ property() [15/18]

template<class T >

PropertyT<T>& OpenMesh::BaseKernel::property | ( | VPropHandleT< T > | _ph | ) |
| inline

In most cases you should use the convenient PropertyManager wrapper and use of this function should not be necessary.

Under some circumstances, however (i.e. making a property persistent), it might be necessary to use this function.

Access a property

This method returns a reference to property. The property handle must be valid! The result is unpredictable if the handle is invalid!

Parameters

  _ph | A valid (!) property handle.

Returns
  The wanted property if the handle is valid.

## ◆ property() [16/18]

template<class T >

const PropertyT<T>& OpenMesh::BaseKernel::property | ( | VPropHandleT< T > | _ph | ) | const
| inline

In most cases you should use the convenient PropertyManager wrapper and use of this function should not be necessary.

Under some circumstances, however (i.e. making a property persistent), it might be necessary to use this function.

Access a property

This method returns a reference to property. The property handle must be valid! The result is unpredictable if the handle is invalid!

Parameters

  _ph | A valid (!) property handle.

Returns
  The wanted property if the handle is valid.

## ◆ property() [17/18]

template<class T >

VPropHandleT<T>::reference OpenMesh::BaseKernel::property | ( | VPropHandleT< T > | _ph,
|  | VertexHandle | _vh
| ) |  |
| inline

You should not use this function directly.

Instead, use the convenient PropertyManager wrapper.

Return value of property for an item

## ◆ property() [18/18]

template<class T >

VPropHandleT<T>::const_reference OpenMesh::BaseKernel::property | ( | VPropHandleT< T > | _ph,
|  | VertexHandle | _vh
| ) |  | const
| inline

You should not use this function directly.

Instead, use the convenient PropertyManager wrapper.

Return value of property for an item

## ◆ property_stats() [1/2]

void OpenMesh::BaseKernel::property_stats | ( |  | ) | const

You should not use this function directly.

Instead, use the convenient PropertyManager wrapper.

Return value of property for an item

## ◆ property_stats() [2/2]

void OpenMesh::BaseKernel::property_stats | ( | std::ostream & | _ostr | ) | const

You should not use this function directly.

Instead, use the convenient PropertyManager wrapper.

Return value of property for an item

## ◆ remove_property() [1/5]

template<typename T >

void OpenMesh::BaseKernel::remove_property | ( | EPropHandleT< T > & | _ph | ) |
| inline

You should not use this function directly.

Instead, use the convenient PropertyManager wrapper to manage (and remove) properties.

Remove a property.

Removes the property represented by the handle from the apropriate mesh item.

Parameters

  _ph | Property to be removed. The handle is invalid afterwords.

## ◆ remove_property() [2/5]

template<typename T >

void OpenMesh::BaseKernel::remove_property | ( | FPropHandleT< T > & | _ph | ) |
| inline

You should not use this function directly.

Instead, use the convenient PropertyManager wrapper to manage (and remove) properties.

Remove a property.

Removes the property represented by the handle from the apropriate mesh item.

Parameters

  _ph | Property to be removed. The handle is invalid afterwords.

## ◆ remove_property() [3/5]

template<typename T >

void OpenMesh::BaseKernel::remove_property | ( | HPropHandleT< T > & | _ph | ) |
| inline

You should not use this function directly.

Instead, use the convenient PropertyManager wrapper to manage (and remove) properties.

Remove a property.

Removes the property represented by the handle from the apropriate mesh item.

Parameters

  _ph | Property to be removed. The handle is invalid afterwords.

## ◆ remove_property() [4/5]

template<typename T >

void OpenMesh::BaseKernel::remove_property | ( | MPropHandleT< T > & | _ph | ) |
| inline

You should not use this function directly.

Instead, use the convenient PropertyManager wrapper to manage (and remove) properties.

Remove a property.

Removes the property represented by the handle from the apropriate mesh item.

Parameters

  _ph | Property to be removed. The handle is invalid afterwords.

## ◆ remove_property() [5/5]

template<typename T >

void OpenMesh::BaseKernel::remove_property | ( | VPropHandleT< T > & | _ph | ) |
| inline

You should not use this function directly.

Instead, use the convenient PropertyManager wrapper to manage (and remove) properties.

Remove a property.

Removes the property represented by the handle from the apropriate mesh item.

Parameters

  _ph | Property to be removed. The handle is invalid afterwords.

## ◆ vprop_stats() [1/3]

void OpenMesh::BaseKernel::vprop_stats | ( |  | ) | const

You should not use this function directly.

Instead, use the convenient PropertyManager wrapper.

Return value of property for an item

## ◆ vprop_stats() [2/3]

void OpenMesh::BaseKernel::vprop_stats | ( | std::ostream & | _ostr | ) | const

You should not use this function directly.

Instead, use the convenient PropertyManager wrapper.

Return value of property for an item

## ◆ vprop_stats() [3/3]

void OpenMesh::BaseKernel::vprop_stats | ( | std::string & | _string | ) | const

You should not use this function directly.

Instead, use the convenient PropertyManager wrapper.

Return value of property for an item

## ◆ vprops_begin() [1/2]

prop_iterator OpenMesh::BaseKernel::vprops_begin | ( |  | ) |
| inline

You should not use this function directly.

Instead, use the convenient PropertyManager wrapper.

Return value of property for an item

## ◆ vprops_begin() [2/2]

const_prop_iterator OpenMesh::BaseKernel::vprops_begin | ( |  | ) | const
| inline

You should not use this function directly.

Instead, use the convenient PropertyManager wrapper.

Return value of property for an item

## ◆ vprops_clear()

void OpenMesh::BaseKernel::vprops_clear | ( |  | ) |
| inlineprotected

You should not use this function directly.

Instead, use the convenient PropertyManager wrapper.

Return value of property for an item

## ◆ vprops_end() [1/2]

prop_iterator OpenMesh::BaseKernel::vprops_end | ( |  | ) |
| inline

You should not use this function directly.

Instead, use the convenient PropertyManager wrapper.

Return value of property for an item

## ◆ vprops_end() [2/2]

const_prop_iterator OpenMesh::BaseKernel::vprops_end | ( |  | ) | const
| inline

You should not use this function directly.

Instead, use the convenient PropertyManager wrapper.

Return value of property for an item

## ◆ vprops_resize_if_smaller()

void OpenMesh::BaseKernel::vprops_resize_if_smaller | ( | size_t | _n | ) | const
| inlineprotected

Same as vprops_resize() but ignores vertex property vectors that have a size larger than `_n`.

Use this method instead of vprops_resize() if you plan to frequently reduce and enlarge the property container and you don't want to waste time reallocating the property vectors every time.

## ◆ vprops_swap()

void OpenMesh::BaseKernel::vprops_swap | ( | unsigned int | _i0,
|  | unsigned int | _i1
| ) |  | const
| inlineprotected

You should not use this function directly.

Instead, use the convenient PropertyManager wrapper.

Return value of property for an item

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

- OpenMesh/Core/Mesh/BaseKernel.hh
- OpenMesh/Core/Mesh/BaseKernel.cc