OpenMesh
|
This class provides low-level property management like adding/removing properties and access to properties. More...
#include <OpenMesh/Core/Mesh/BaseKernel.hh>
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) |
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... | |
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>") |
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 | |
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... | |
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 |
Same as vprops_resize() but ignores vertex property vectors that have a size larger than _n . More... | |
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 () |
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:
The differentiation is only semantically, technically both are equally handled. Therefore the methods provided by the BaseKernel are applicable to both property types.
|
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().
_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:
|
|
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().
_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:
|
|
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().
_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:
|
|
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().
_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:
|
|
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().
_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:
|
|
inline |
Copies all properties from one mesh element to another (of the same type)
_vh_from | A vertex handle - source |
_vh_to | A vertex handle - target |
_copyBuildIn | Should the internal properties (position, normal, texture coordinate,..) be copied? |
|
inline |
Copies all properties from one mesh element to another (of the same type)
_hh_from | A halfedge handle - source |
_hh_to | A halfedge handle - target |
_copyBuildIn | Should the internal properties (position, normal, texture coordinate,..) be copied? |
|
inline |
Copies all properties from one mesh element to another (of the same type)
_eh_from | An edge handle - source |
_eh_to | An edge handle - target |
_copyBuildIn | Should the internal properties (position, normal, texture coordinate,..) be copied? |
|
inline |
Copies all properties from one mesh element to another (of the same type)
_fh_from | A face handle - source |
_fh_to | A face handle - target |
_copyBuildIn | Should the internal properties (position, normal, texture coordinate,..) be copied? |
|
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)
_ph | A vertex property handle |
_vh_from | From vertex handle |
_vh_to | To vertex handle |
|
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)
_ph | A halfedge property handle |
_hh_from | From halfedge handle |
_hh_to | To halfedge handle |
|
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)
_ph | An edge property handle |
_eh_from | From edge handle |
_eh_to | To edge handle |
|
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)
_ph | A face property handle |
_fh_from | From face handle |
_fh_to | To face handle |
|
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.
_ph | A property handle. On success the handle is valid else invalid. |
_name | Name of wanted property. |
true
if such a named property is available, else false
.
|
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.
_ph | A property handle. On success the handle is valid else invalid. |
_name | Name of wanted property. |
true
if such a named property is available, else false
.
|
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.
_ph | A property handle. On success the handle is valid else invalid. |
_name | Name of wanted property. |
true
if such a named property is available, else false
.
|
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.
_ph | A property handle. On success the handle is valid else invalid. |
_name | Name of wanted property. |
true
if such a named property is available, else false
.
|
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.
_ph | A property handle. On success the handle is valid else invalid. |
_name | Name of wanted property. |
true
if such a named property is available, else false
.
|
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!
_ph | A valid (!) property handle. |
|
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!
_ph | A valid (!) property handle. |
|
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!
_ph | A valid (!) property handle. |
|
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!
_ph | A valid (!) property handle. |
|
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!
_ph | A valid (!) property handle. |
|
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!
_ph | A valid (!) property handle. |
|
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!
_ph | A valid (!) property handle. |
|
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!
_ph | A valid (!) property handle. |
|
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!
_ph | A valid (!) property handle. |
|
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!
_ph | A valid (!) property handle. |
|
inline |
You should not use this function directly.
Instead, use the convenient PropertyManager wrapper.
Return value of property for an item
|
inline |
You should not use this function directly.
Instead, use the convenient PropertyManager wrapper.
Return value of property for an item
|
inline |
You should not use this function directly.
Instead, use the convenient PropertyManager wrapper.
Return value of property for an item
|
inline |
You should not use this function directly.
Instead, use the convenient PropertyManager wrapper.
Return value of property for an item
|
inline |
You should not use this function directly.
Instead, use the convenient PropertyManager wrapper.
Return value of property for an item
|
inline |
You should not use this function directly.
Instead, use the convenient PropertyManager wrapper.
Return value of property for an item
|
inline |
You should not use this function directly.
Instead, use the convenient PropertyManager wrapper.
Return value of property for an item
|
inline |
You should not use this function directly.
Instead, use the convenient PropertyManager wrapper.
Return value of property for an item
|
inline |
You should not use this function directly.
Instead, use the convenient PropertyManager wrapper.
Return value of property for an item
|
inline |
You should not use this function directly.
Instead, use the convenient PropertyManager wrapper.
Return value of property for an item
|
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.
_ph | Property to be removed. The handle is invalid afterwords. |
|
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.
_ph | Property to be removed. The handle is invalid afterwords. |
|
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.
_ph | Property to be removed. The handle is invalid afterwords. |
|
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.
_ph | Property to be removed. The handle is invalid afterwords. |
|
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.
_ph | Property to be removed. The handle is invalid afterwords. |
|
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.