This class provides the basic property management like adding/removing properties and access to properties.
More...
Public Member Functions |
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 uint | n_vertices () const |
virtual uint | n_halfedges () const |
virtual uint | n_edges () const |
virtual uint | n_faces () const |
void | property_stats (std::ostream &_ostr=std::clog) 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 (std::ostream &_ostr=std::clog) const |
void | hprop_stats (std::ostream &_ostr=std::clog) const |
void | eprop_stats (std::ostream &_ostr=std::clog) const |
void | fprop_stats (std::ostream &_ostr=std::clog) const |
void | mprop_stats (std::ostream &_ostr=std::clog) const |
prop_iterator | vprops_begin () |
prop_iterator | vprops_end () |
const_prop_iterator | vprops_begin () const |
const_prop_iterator | vprops_end () const |
prop_iterator | eprops_begin () |
prop_iterator | eprops_end () |
const_prop_iterator | eprops_begin () const |
const_prop_iterator | eprops_end () const |
prop_iterator | hprops_begin () |
prop_iterator | hprops_end () |
const_prop_iterator | hprops_begin () const |
const_prop_iterator | hprops_end () const |
prop_iterator | fprops_begin () |
prop_iterator | fprops_end () |
const_prop_iterator | fprops_begin () const |
const_prop_iterator | fprops_end () const |
prop_iterator | mprops_begin () |
prop_iterator | mprops_end () |
const_prop_iterator | mprops_begin () const |
const_prop_iterator | mprops_end () const |
|
template<class T > |
void | add_property (VPropHandleT< T > &_ph, const std::string &_name="<vprop>") |
| Adds a property.
|
template<class T > |
void | add_property (HPropHandleT< T > &_ph, const std::string &_name="<hprop>") |
| Adds a property.
|
template<class T > |
void | add_property (EPropHandleT< T > &_ph, const std::string &_name="<eprop>") |
| Adds a property.
|
template<class T > |
void | add_property (FPropHandleT< T > &_ph, const std::string &_name="<fprop>") |
| Adds a property.
|
template<class T > |
void | add_property (MPropHandleT< T > &_ph, const std::string &_name="<mprop>") |
| Adds a property.
|
|
template<typename T > |
void | remove_property (VPropHandleT< T > &_ph) |
| Remove a property.
|
template<typename T > |
void | remove_property (HPropHandleT< T > &_ph) |
| Remove a property.
|
template<typename T > |
void | remove_property (EPropHandleT< T > &_ph) |
| Remove a property.
|
template<typename T > |
void | remove_property (FPropHandleT< T > &_ph) |
| Remove a property.
|
template<typename T > |
void | remove_property (MPropHandleT< T > &_ph) |
| Remove a property.
|
|
template<class T > |
bool | get_property_handle (VPropHandleT< T > &_ph, const std::string &_name) const |
| Retrieves the handle to a named property by it's name.
|
template<class T > |
bool | get_property_handle (HPropHandleT< T > &_ph, const std::string &_name) const |
| Retrieves the handle to a named property by it's name.
|
template<class T > |
bool | get_property_handle (EPropHandleT< T > &_ph, const std::string &_name) const |
| Retrieves the handle to a named property by it's name.
|
template<class T > |
bool | get_property_handle (FPropHandleT< T > &_ph, const std::string &_name) const |
| Retrieves the handle to a named property by it's name.
|
template<class T > |
bool | get_property_handle (MPropHandleT< T > &_ph, const std::string &_name) const |
| Retrieves the handle to a named property by it's name.
|
|
template<class T > |
PropertyT< T > & | property (VPropHandleT< T > _ph) |
| Access a property.
|
template<class T > |
const PropertyT< T > & | property (VPropHandleT< T > _ph) const |
| Access a property.
|
template<class T > |
PropertyT< T > & | property (HPropHandleT< T > _ph) |
| Access a property.
|
template<class T > |
const PropertyT< T > & | property (HPropHandleT< T > _ph) const |
| Access a property.
|
template<class T > |
PropertyT< T > & | property (EPropHandleT< T > _ph) |
| Access a property.
|
template<class T > |
const PropertyT< T > & | property (EPropHandleT< T > _ph) const |
| Access a property.
|
template<class T > |
PropertyT< T > & | property (FPropHandleT< T > _ph) |
| Access a property.
|
template<class T > |
const PropertyT< T > & | property (FPropHandleT< T > _ph) const |
| Access a property.
|
template<class T > |
PropertyT< T > & | mproperty (MPropHandleT< T > _ph) |
| Access a property.
|
template<class T > |
const PropertyT< T > & | mproperty (MPropHandleT< T > _ph) const |
| Access a property.
|
|
template<class T > |
VPropHandleT< T >::reference | property (VPropHandleT< T > _ph, VertexHandle _vh) |
| Return value of property for an item.
|
template<class T > |
VPropHandleT< T >::const_reference | property (VPropHandleT< T > _ph, VertexHandle _vh) const |
| Return value of property for an item.
|
template<class T > |
HPropHandleT< T >::reference | property (HPropHandleT< T > _ph, HalfedgeHandle _hh) |
| Return value of property for an item.
|
template<class T > |
HPropHandleT< T >::const_reference | property (HPropHandleT< T > _ph, HalfedgeHandle _hh) const |
| Return value of property for an item.
|
template<class T > |
EPropHandleT< T >::reference | property (EPropHandleT< T > _ph, EdgeHandle _eh) |
| Return value of property for an item.
|
template<class T > |
EPropHandleT< T >::const_reference | property (EPropHandleT< T > _ph, EdgeHandle _eh) const |
| Return value of property for an item.
|
template<class T > |
FPropHandleT< T >::reference | property (FPropHandleT< T > _ph, FaceHandle _fh) |
| Return value of property for an item.
|
template<class T > |
FPropHandleT< T >::const_reference | property (FPropHandleT< T > _ph, FaceHandle _fh) const |
| Return value of property for an item.
|
template<class T > |
MPropHandleT< T >::reference | property (MPropHandleT< T > _ph) |
| Return value of property for an item.
|
template<class T > |
MPropHandleT< T >::const_reference | property (MPropHandleT< T > _ph) const |
| Return value of property for an item.
|
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 (unsigned int _n) const |
void | vprops_resize (unsigned int _n) const |
void | vprops_clear () |
void | vprops_swap (unsigned int _i0, unsigned int _i1) const |
void | hprops_reserve (unsigned int _n) const |
void | hprops_resize (unsigned int _n) const |
void | hprops_clear () |
void | hprops_swap (unsigned int _i0, unsigned int _i1) const |
void | eprops_reserve (unsigned int _n) const |
void | eprops_resize (unsigned int _n) const |
void | eprops_clear () |
void | eprops_swap (unsigned int _i0, unsigned int _i1) const |
void | fprops_reserve (unsigned int _n) const |
void | fprops_resize (unsigned int _n) const |
void | fprops_clear () |
void | fprops_swap (unsigned int _i0, unsigned int _i1) const |
void | mprops_resize (unsigned int _n) const |
void | mprops_clear () |
This class provides the basic property management like adding/removing properties and access to properties.
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:
- Standard properties - mesh data (e.g. vertex normal or face color)
- 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.