OpenMesh
OpenMesh::Kernel_OSG::PropertyKernel< IsTriMesh > Class Template Reference

Helper class, extending functionaliy of OpenMesh::BaseKernel to OpenSG specific property adaptors. More...

#include <OpenMesh/Tools/Kernel_OSG/PropertyKernel.hh>

Inheritance diagram for OpenMesh::Kernel_OSG::PropertyKernel< IsTriMesh >:
Collaboration diagram for OpenMesh::Kernel_OSG::PropertyKernel< IsTriMesh >:

Public Types

typedef FPropHandleT< osg::UInt8 > FPTypesHandle
 
typedef FPropHandleT< osg::UInt32 > FPLengthsHandle
 
typedef FPropHandleT< osg::UInt32 > FIndicesHandle
 
typedef FP::GeoPTypesUI8 GeoPTypes
 
typedef FP::GeoPLengthsUI32 GeoPLengths
 
typedef FP::GeoIndicesUI32< IsTriMesh > GeoIndices
 
- Public Types inherited from OpenMesh::BaseKernel
typedef PropertyContainer::iterator prop_iterator
 
typedef PropertyContainer::const_iterator const_prop_iterator
 

Public Member Functions

void stats (void)
 
- Public Member Functions inherited from OpenMesh::BaseKernel
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
 
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...
 
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...
 
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...
 
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...
 
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

template<typename T >
VPropHandleT< T > add_vpositions (const T &_t, const std::string &_n)
 
template<typename T >
VPropHandleT< T > add_vnormals (const T &_t, const std::string &_n)
 
template<typename T >
VPropHandleT< T > add_vcolors (const T &_t, const std::string &_n)
 
template<typename T >
VPropHandleT< T > add_vtexcoords (const T &_t, const std::string &_n)
 
FPTypesHandle add_fptypes ()
 
FPLengthsHandle add_fplengths ()
 
FIndicesHandle add_findices (FPTypesHandle _pht, FPLengthsHandle _phl)
 
template<typename T >
_t2vp< T >::prop & vpositions (VPropHandleT< T > _ph)
 
template<typename T >
const _t2vp< T >::prop & vpositions (VPropHandleT< T > _ph) const
 
template<typename T >
_t2vn< T >::prop & vnormals (VPropHandleT< T > _ph)
 
template<typename T >
const _t2vn< T >::prop & vnormals (VPropHandleT< T > _ph) const
 
template<typename T >
_t2vc< T >::prop & vcolors (VPropHandleT< T > _ph)
 
template<typename T >
const _t2vc< T >::prop & vcolors (VPropHandleT< T > _ph) const
 
template<typename T >
_t2vtc< T >::prop & vtexcoords (VPropHandleT< T > _ph)
 
template<typename T >
const _t2vtc< T >::prop & vtexcoords (VPropHandleT< T > _ph) const
 
GeoPTypesfptypes (FPTypesHandle _ph)
 
const GeoPTypesfptypes (FPTypesHandle _ph) const
 
GeoPLengthsfplengths (FPLengthsHandle _ph)
 
const GeoPLengthsfplengths (FPLengthsHandle _ph) const
 
GeoIndicesfindices (FIndicesHandle _ph)
 
const GeoIndicesfindices (FIndicesHandle _ph) const
 
template<typename T >
T & vpositions (VPropHandleT< T > _ph, VertexHandle _vh)
 
template<class T >
const T & vpositions (VPropHandleT< T > _ph, VertexHandle _vh) const
 
template<typename T >
T & vnormals (VPropHandleT< T > _ph, VertexHandle _vh)
 
template<class T >
const T & vnormals (VPropHandleT< T > _ph, VertexHandle _vh) const
 
template<typename T >
T & vcolors (VPropHandleT< T > _ph, VertexHandle _vh)
 
template<class T >
const T & vcolors (VPropHandleT< T > _ph, VertexHandle _vh) const
 
template<typename T >
T & vtexcoords (VPropHandleT< T > _ph, VertexHandle _vh)
 
template<class T >
const T & vtexcoords (VPropHandleT< T > _ph, VertexHandle _vh) const
 
FPTypesHandle::value_type & fptypes (FPTypesHandle _ph, FaceHandle _fh)
 
const FPTypesHandle::value_type & fptypes (FPTypesHandle _ph, FaceHandle _fh) const
 
FPLengthsHandle::value_type & fplengths (FPLengthsHandle _ph, FaceHandle _fh)
 
const FPLengthsHandle::value_type & fplengths (FPLengthsHandle _ph, FaceHandle _fh) const
 
FIndicesHandle::value_type & findices (FIndicesHandle _ph, FaceHandle _fh)
 
const FIndicesHandle::value_type & findices (FIndicesHandle _ph, FaceHandle _fh) const
 
- Protected Member Functions inherited from OpenMesh::BaseKernel
BaseProperty_vprop (BaseHandle _h)
 
BaseProperty_eprop (BaseHandle _h)
 
BaseProperty_hprop (BaseHandle _h)
 
BaseProperty_fprop (BaseHandle _h)
 
BaseProperty_mprop (BaseHandle _h)
 
const BaseProperty_vprop (BaseHandle _h) const
 
const BaseProperty_eprop (BaseHandle _h) const
 
const BaseProperty_hprop (BaseHandle _h) const
 
const BaseProperty_fprop (BaseHandle _h) const
 
const BaseProperty_mprop (BaseHandle _h) const
 
void vprops_reserve (size_t _n) const
 Reserves space for _n elements in all vertex property vectors.
 
void vprops_resize (size_t _n) const
 Resizes all vertex property vectors to the specified size.
 
void vprops_resize_if_smaller (size_t _n) const
 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 ()
 

Detailed Description

template<typename IsTriMesh>
class OpenMesh::Kernel_OSG::PropertyKernel< IsTriMesh >

Helper class, extending functionaliy of OpenMesh::BaseKernel to OpenSG specific property adaptors.

Todo:
Follow coding convention and rename class to PropertyKernelT

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

Project OpenMesh, ©  Computer Graphics Group, RWTH Aachen. Documentation generated using doxygen .