OpenMesh::Kernel_OSG::AttribKernelT< MeshItems > Class Template Reference

This class adds the standard properties to the mesh type. More...

`#include <OpenMesh/Tools/Kernel_OSG/AttribKernelT.hh>`

Inheritance diagram for OpenMesh::Kernel_OSG::AttribKernelT< MeshItems >:
[legend]
Collaboration diagram for OpenMesh::Kernel_OSG::AttribKernelT< MeshItems >:
[legend]

## Public Types

enum | Attribs { VAttribs = MeshItems::VAttribs, HAttribs = MeshItems::HAttribs, EAttribs = MeshItems::EAttribs, FAttribs = MeshItems::FAttribs }
typedef MeshItems::Vertex | Vertex
typedef MeshItems::Halfedge | Halfedge
typedef MeshItems::Edge | Edge
typedef MeshItems::Face | Face
typedef MeshItems::Point | Point
typedef MeshItems::Normal | Normal
typedef MeshItems::Color | Color
typedef MeshItems::TexCoord | TexCoord
typedef MeshItems::Scalar | Scalar
typedef Attributes::StatusInfo | StatusInfo
typedef GenProg::Bool2Type<(bool)(HAttribs &Attributes::PrevHalfedge)> | HasPrevHalfedge
typedef _t2vp< Point >::prop | GeoPositions
typedef _t2vn< Normal >::prop | GeoNormals
typedef _t2vc< Color >::prop | GeoColors
typedef _t2vtc< TexCoord >::prop | GeoTexCoords
typedef GenProg::Bool2Type<(bool)(VAttribs &Attributes::Normal)> | HasVertexNormals
typedef GenProg::Bool2Type<(bool)(VAttribs &Attributes::Color)> | HasVertexColors
typedef GenProg::Bool2Type<(bool)(VAttribs &Attributes::TexCoord)> | HasVertexTexCoords
typedef GenProg::Bool2Type<(bool)(VAttribs &Attributes::Status)> | HasVertexStatus
typedef GenProg::Bool2Type<(bool)(HAttribs &Attributes::PrevHalfedge)> | HasPrevHalfedge
typedef GenProg::Bool2Type<(bool)(HAttribs &Attributes::Status)> | HasHalfedgeStatus
typedef GenProg::Bool2Type<(bool)(EAttribs &Attributes::Status)> | HasEdgeStatus
typedef GenProg::Bool2Type<(bool)(EAttribs &Attributes::Color)> | HasEdgeColors
typedef GenProg::Bool2Type<(bool)(FAttribs &Attributes::Normal)> | HasFaceNormals
typedef GenProg::Bool2Type<(bool)(FAttribs &Attributes::Color)> | HasFaceColors
typedef GenProg::Bool2Type<(bool)(FAttribs &Attributes::Status)> | HasFaceStatus
Public Types inherited from OpenMesh::Kernel_OSG::PropertyKernel< MeshItems::Face::IsTriangle >
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< MeshItems::Face::IsTriangle > | GeoIndices
Public Types inherited from OpenMesh::BaseKernel
typedef PropertyContainer::iterator | prop_iterator
typedef PropertyContainer::const_iterator | const_prop_iterator

## Public Member Functions

| AttribKernelT (const AttribKernelT &_rhs)
AttribKernelT & | operator= (const AttribKernelT &_rhs)
GeoPositions::property_ptr_t | osg_vpositions ()
GeoNormals::property_ptr_t | osg_vnormals ()
GeoColors::property_ptr_t | osg_vcolors ()
GeoTexCoords::property_ptr_t | osg_vtexcoords ()
GeoColors::property_ptr_t | osg_ecolors ()
GeoPTypes::property_ptr_t | osg_ptypes ()
GeoPLengths::property_ptr_t | osg_plengths ()
GeoIndices::property_ptr_t | osg_indices ()
void | set_face_types (FaceHandle _fh, GeoPTypes::value_type _t)
void | set_face_lengths (FaceHandle _fh, GeoPLengths::value_type _l)
void | set_face_indices (FaceHandle _fh, typename GeoIndices::value_type _i)
const Point * | points () const
const Point & | point (VertexHandle _vh) const
void | set_point (VertexHandle _vh, const Point &_p)
const Normal * | vertex_normals () const
const Normal & | normal (VertexHandle _vh) const
void | set_normal (VertexHandle _vh, const Normal &_n)
const Color * | vertex_colors () const
const Color & | color (VertexHandle _vh) const
void | set_color (VertexHandle _vh, const Color &_c)
const TexCoord * | texcoords () const
const TexCoord & | texcoord (VertexHandle _vh) const
void | set_texcoord (VertexHandle _vh, const TexCoord &_t)
const StatusInfo & | status (VertexHandle _vh) const
StatusInfo & | status (VertexHandle _vh)
const StatusInfo & | status (HalfedgeHandle _eh) const
StatusInfo & | status (HalfedgeHandle _eh)
const StatusInfo & | status (EdgeHandle _eh) const
StatusInfo & | status (EdgeHandle _eh)
const Color * | edge_colors () const
const Color & | color (EdgeHandle _eh) const
void | set_color (EdgeHandle _eh, const Color &_c)
const StatusInfo & | status (FaceHandle _fh) const
StatusInfo & | status (FaceHandle _fh)
const Normal & | normal (FaceHandle _fh) const
void | set_normal (FaceHandle _fh, const Normal &_n)
const Color & | color (FaceHandle _fh) const
void | set_color (FaceHandle _fh, const Color &_c)
void | request_vertex_normals ()
void | request_vertex_colors ()
void | request_vertex_texcoords ()
void | request_vertex_status ()
void | request_halfedge_status ()
void | request_edge_status ()
void | request_edge_colors ()
void | request_face_normals ()
void | request_face_colors ()
void | request_face_status ()
void | release_vertex_normals ()
void | release_vertex_colors ()
void | release_vertex_texcoords ()
void | release_vertex_status ()
void | release_halfedge_status ()
void | release_edge_status ()
void | release_edge_colors ()
void | release_face_normals ()
void | release_face_colors ()
void | release_face_status ()
bool | has_vertex_normals () const
bool | has_vertex_colors () const
bool | has_vertex_texcoords () const
bool | has_vertex_status () const
bool | has_edge_status () const
bool | has_halfedge_status () const
bool | has_edge_colors () const
bool | has_face_normals () const
bool | has_face_colors () const
bool | has_face_status () const
osg::GeometryPtr | createGeometryPtr ()
bool | bind (osg::GeometryPtr &_geo)
Public Member Functions inherited from OpenMesh::Kernel_OSG::PropertyKernel< MeshItems::Face::IsTriangle >
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...
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
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...

## Static Public Member Functions

static bool | has_prev_halfedge ()

## Protected Types

typedef MeshItems::Face::IsTriangle | IsTriMesh
typedef PropertyKernel< IsTriMesh > | Base
typedef Base::FPTypesHandle | FPTypesHandle
typedef Base::FPLengthsHandle | FPLengthsHandle
typedef Base::FIndicesHandle | FIndicesHandle

## Additional Inherited Members

Protected Member Functions inherited from OpenMesh::Kernel_OSG::PropertyKernel< MeshItems::Face::IsTriangle >
VPropHandleT< T > | add_vpositions (const T &_t, const std::string &_n)
VPropHandleT< T > | add_vnormals (const T &_t, const std::string &_n)
VPropHandleT< T > | add_vcolors (const T &_t, const std::string &_n)
VPropHandleT< T > | add_vtexcoords (const T &_t, const std::string &_n)
FPTypesHandle | add_fptypes ()
FPLengthsHandle | add_fplengths ()
FIndicesHandle | add_findices (FPTypesHandle _pht, FPLengthsHandle _phl)
_t2vp< T >::prop & | vpositions (VPropHandleT< T > _ph)
const _t2vp< T >::prop & | vpositions (VPropHandleT< T > _ph) const
T & | vpositions (VPropHandleT< T > _ph, VertexHandle _vh)
const T & | vpositions (VPropHandleT< T > _ph, VertexHandle _vh) const
_t2vn< T >::prop & | vnormals (VPropHandleT< T > _ph)
const _t2vn< T >::prop & | vnormals (VPropHandleT< T > _ph) const
T & | vnormals (VPropHandleT< T > _ph, VertexHandle _vh)
const T & | vnormals (VPropHandleT< T > _ph, VertexHandle _vh) const
_t2vc< T >::prop & | vcolors (VPropHandleT< T > _ph)
const _t2vc< T >::prop & | vcolors (VPropHandleT< T > _ph) const
T & | vcolors (VPropHandleT< T > _ph, VertexHandle _vh)
const T & | vcolors (VPropHandleT< T > _ph, VertexHandle _vh) const
_t2vtc< T >::prop & | vtexcoords (VPropHandleT< T > _ph)
const _t2vtc< T >::prop & | vtexcoords (VPropHandleT< T > _ph) const
T & | vtexcoords (VPropHandleT< T > _ph, VertexHandle _vh)
const T & | vtexcoords (VPropHandleT< T > _ph, VertexHandle _vh) const
GeoPTypes & | fptypes (FPTypesHandle _ph)
const GeoPTypes & | fptypes (FPTypesHandle _ph) const
FPTypesHandle::value_type & | fptypes (FPTypesHandle _ph, FaceHandle _fh)
const FPTypesHandle::value_type & | fptypes (FPTypesHandle _ph, FaceHandle _fh) const
GeoPLengths & | fplengths (FPLengthsHandle _ph)
const GeoPLengths & | fplengths (FPLengthsHandle _ph) const
FPLengthsHandle::value_type & | fplengths (FPLengthsHandle _ph, FaceHandle _fh)
const FPLengthsHandle::value_type & | fplengths (FPLengthsHandle _ph, FaceHandle _fh) const
GeoIndices & | findices (FIndicesHandle _ph)
const GeoIndices & | findices (FIndicesHandle _ph) 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<class MeshItems>
class OpenMesh::Kernel_OSG::AttribKernelT< MeshItems >

This class adds the standard properties to the mesh type.

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

- OpenMesh/Tools/Kernel_OSG/AttribKernelT.hh