Developer Documentation
OpenMesh::BaseKernel Class Reference

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

Inheritance diagram for OpenMesh::BaseKernel:
OpenMesh::ArrayKernel OpenMesh::Kernel_OSG::PropertyKernel< IsTriMesh > OpenMesh::Kernel_OSG::PropertyKernel< MeshItems::Face::IsTriangle > OpenMesh::PolyConnectivity OpenMesh::Kernel_OSG::AttribKernelT< MeshItems > OpenMesh::TriConnectivity

Public Types

typedef PropertyContainer::iterator prop_iterator
 
typedef PropertyContainer::const_iterator const_prop_iterator
 

Public Member Functions

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)
 
virtual size_t n_vertices () const
 
virtual size_t n_halfedges () const
 
virtual size_t n_edges () const
 
virtual size_t n_faces () const
 
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
 
Add a property to a mesh item
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>")
 
Removing a property from a mesh tiem
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)
 
Get property handle by name
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
 
Access a property
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
 
Access a property element using a handle to a mesh item
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
 

Protected Member Functions

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 ()
 

Private Attributes

PropertyContainer vprops_
 
PropertyContainer hprops_
 
PropertyContainer eprops_
 
PropertyContainer fprops_
 
PropertyContainer mprops_
 

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.

Definition at line 97 of file BaseKernel.hh.

Member Function Documentation

◆ add_property() [1/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
_phA property handle defining the data type to bind to mesh. On success the handle is valid else invalid.
_nameOptional name of property. Following restrictions apply to the name:
  1. Maximum length of name is 256 characters
  2. The prefixes matching "^[vhefm]:" are reserved for internal usage.
  3. The expression "^<.*>$" is reserved for internal usage.

Definition at line 141 of file BaseKernel.hh.

◆ add_property() [2/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
_phA property handle defining the data type to bind to mesh. On success the handle is valid else invalid.
_nameOptional name of property. Following restrictions apply to the name:
  1. Maximum length of name is 256 characters
  2. The prefixes matching "^[vhefm]:" are reserved for internal usage.
  3. The expression "^<.*>$" is reserved for internal usage.

Definition at line 148 of file BaseKernel.hh.

◆ add_property() [3/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
_phA property handle defining the data type to bind to mesh. On success the handle is valid else invalid.
_nameOptional name of property. Following restrictions apply to the name:
  1. Maximum length of name is 256 characters
  2. The prefixes matching "^[vhefm]:" are reserved for internal usage.
  3. The expression "^<.*>$" is reserved for internal usage.

Definition at line 155 of file BaseKernel.hh.

◆ add_property() [4/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
_phA property handle defining the data type to bind to mesh. On success the handle is valid else invalid.
_nameOptional name of property. Following restrictions apply to the name:
  1. Maximum length of name is 256 characters
  2. The prefixes matching "^[vhefm]:" are reserved for internal usage.
  3. The expression "^<.*>$" is reserved for internal usage.

Definition at line 162 of file BaseKernel.hh.

◆ add_property() [5/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
_phA property handle defining the data type to bind to mesh. On success the handle is valid else invalid.
_nameOptional name of property. Following restrictions apply to the name:
  1. Maximum length of name is 256 characters
  2. The prefixes matching "^[vhefm]:" are reserved for internal usage.
  3. The expression "^<.*>$" is reserved for internal usage.

Definition at line 169 of file BaseKernel.hh.

◆ 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
_otherAnother BaseKernel, to copy the properties from.

Definition at line 585 of file BaseKernel.hh.

◆ copy_all_properties() [1/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_fromA vertex handle - source
_vh_toA vertex handle - target
_copyBuildInShould the internal properties (position, normal, texture coordinate,..) be copied?

Definition at line 511 of file BaseKernel.hh.

◆ copy_all_properties() [2/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_fromA halfedge handle - source
_hh_toA halfedge handle - target
_copyBuildInShould the internal properties (position, normal, texture coordinate,..) be copied?

Definition at line 530 of file BaseKernel.hh.

◆ copy_all_properties() [3/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_fromAn edge handle - source
_eh_toAn edge handle - target
_copyBuildInShould the internal properties (position, normal, texture coordinate,..) be copied?

Definition at line 549 of file BaseKernel.hh.

◆ copy_all_properties() [4/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_fromA face handle - source
_fh_toA face handle - target
_copyBuildInShould the internal properties (position, normal, texture coordinate,..) be copied?

Definition at line 568 of file BaseKernel.hh.

◆ copy_property() [1/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
_phA vertex property handle
_vh_fromFrom vertex handle
_vh_toTo vertex handle

Definition at line 447 of file BaseKernel.hh.

◆ copy_property() [2/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
_phA halfedge property handle
_hh_fromFrom halfedge handle
_hh_toTo halfedge handle

Definition at line 463 of file BaseKernel.hh.

◆ copy_property() [3/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
_phAn edge property handle
_eh_fromFrom edge handle
_eh_toTo edge handle

Definition at line 479 of file BaseKernel.hh.

◆ copy_property() [4/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
_phA face property handle
_fh_fromFrom face handle
_fh_toTo face handle

Definition at line 495 of file BaseKernel.hh.

◆ get_property_handle() [1/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
_phA property handle. On success the handle is valid else invalid.
_nameName of wanted property.
Returns
true if such a named property is available, else false.

Definition at line 254 of file BaseKernel.hh.

◆ get_property_handle() [2/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
_phA property handle. On success the handle is valid else invalid.
_nameName of wanted property.
Returns
true if such a named property is available, else false.

Definition at line 261 of file BaseKernel.hh.

◆ get_property_handle() [3/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
_phA property handle. On success the handle is valid else invalid.
_nameName of wanted property.
Returns
true if such a named property is available, else false.

Definition at line 268 of file BaseKernel.hh.

◆ get_property_handle() [4/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
_phA property handle. On success the handle is valid else invalid.
_nameName of wanted property.
Returns
true if such a named property is available, else false.

Definition at line 275 of file BaseKernel.hh.

◆ get_property_handle() [5/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
_phA property handle. On success the handle is valid else invalid.
_nameName of wanted property.
Returns
true if such a named property is available, else false.

Definition at line 282 of file BaseKernel.hh.

◆ 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
_phA valid (!) property handle.
Returns
The wanted property if the handle is valid.

Definition at line 346 of file BaseKernel.hh.

◆ 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
_phA valid (!) property handle.
Returns
The wanted property if the handle is valid.

Definition at line 350 of file BaseKernel.hh.

◆ property() [1/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
_phA valid (!) property handle.
Returns
The wanted property if the handle is valid.

Definition at line 310 of file BaseKernel.hh.

◆ property() [2/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
_phA valid (!) property handle.
Returns
The wanted property if the handle is valid.

Definition at line 314 of file BaseKernel.hh.

◆ property() [3/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
_phA valid (!) property handle.
Returns
The wanted property if the handle is valid.

Definition at line 319 of file BaseKernel.hh.

◆ property() [4/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
_phA valid (!) property handle.
Returns
The wanted property if the handle is valid.

Definition at line 323 of file BaseKernel.hh.

◆ property() [5/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
_phA valid (!) property handle.
Returns
The wanted property if the handle is valid.

Definition at line 328 of file BaseKernel.hh.

◆ property() [6/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
_phA valid (!) property handle.
Returns
The wanted property if the handle is valid.

Definition at line 332 of file BaseKernel.hh.

◆ property() [7/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
_phA valid (!) property handle.
Returns
The wanted property if the handle is valid.

Definition at line 337 of file BaseKernel.hh.

◆ property() [8/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
_phA valid (!) property handle.
Returns
The wanted property if the handle is valid.

Definition at line 341 of file BaseKernel.hh.

◆ property() [9/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

Definition at line 369 of file BaseKernel.hh.

◆ property() [10/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

Definition at line 375 of file BaseKernel.hh.

◆ 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

Definition at line 382 of file BaseKernel.hh.

◆ 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

Definition at line 388 of file BaseKernel.hh.

◆ property() [13/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

Definition at line 395 of file BaseKernel.hh.

◆ property() [14/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

Definition at line 401 of file BaseKernel.hh.

◆ property() [15/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

Definition at line 408 of file BaseKernel.hh.

◆ property() [16/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

Definition at line 414 of file BaseKernel.hh.

◆ property() [17/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

Definition at line 421 of file BaseKernel.hh.

◆ property() [18/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

Definition at line 427 of file BaseKernel.hh.

◆ remove_property() [1/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
_phProperty to be removed. The handle is invalid afterwords.

Definition at line 194 of file BaseKernel.hh.

◆ remove_property() [2/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
_phProperty to be removed. The handle is invalid afterwords.

Definition at line 202 of file BaseKernel.hh.

◆ remove_property() [3/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
_phProperty to be removed. The handle is invalid afterwords.

Definition at line 210 of file BaseKernel.hh.

◆ remove_property() [4/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
_phProperty to be removed. The handle is invalid afterwords.

Definition at line 218 of file BaseKernel.hh.

◆ remove_property() [5/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
_phProperty to be removed. The handle is invalid afterwords.

Definition at line 226 of file BaseKernel.hh.

◆ 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.

Definition at line 710 of file BaseKernel.hh.


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