OpenMesh
Loading...
Searching...
No Matches
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 >:
Collaboration diagram for OpenMesh::Kernel_OSG::AttribKernelT< MeshItems >:

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
typedef PropertyContainer::iterator prop_iterator
 You should not use this function directly.
typedef PropertyContainer::const_iterator const_prop_iterator
 You should not use this function directly.

Public Member Functions

 AttribKernelT (const AttribKernelT &_rhs)
AttribKernelToperator= (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 StatusInfostatus (VertexHandle _vh) const
StatusInfostatus (VertexHandle _vh)
const StatusInfostatus (HalfedgeHandle _eh) const
StatusInfostatus (HalfedgeHandle _eh)
const StatusInfostatus (EdgeHandle _eh) const
StatusInfostatus (EdgeHandle _eh)
const Color * edge_colors () const
const Color & color (EdgeHandle _eh) const
void set_color (EdgeHandle _eh, const Color &_c)
const StatusInfostatus (FaceHandle _fh) const
StatusInfostatus (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<>
size_t n_elements () const
template<>
size_t n_elements () const
template<>
size_t n_elements () const
template<>
size_t n_elements () const
template<class T>
void add_property (VPropHandleT< T > &_ph, const std::string &_name="<vprop>")
 You should not use this function directly.
template<class T>
void add_property (HPropHandleT< T > &_ph, const std::string &_name="<hprop>")
 You should not use this function directly.
template<class T>
void add_property (EPropHandleT< T > &_ph, const std::string &_name="<eprop>")
 You should not use this function directly.
template<class T>
void add_property (FPropHandleT< T > &_ph, const std::string &_name="<fprop>")
 You should not use this function directly.
template<class T>
void add_property (MPropHandleT< T > &_ph, const std::string &_name="<mprop>")
 You should not use this function directly.
template<typename T>
void remove_property (VPropHandleT< T > &_ph)
 You should not use this function directly.
template<typename T>
void remove_property (HPropHandleT< T > &_ph)
 You should not use this function directly.
template<typename T>
void remove_property (EPropHandleT< T > &_ph)
 You should not use this function directly.
template<typename T>
void remove_property (FPropHandleT< T > &_ph)
 You should not use this function directly.
template<typename T>
void remove_property (MPropHandleT< T > &_ph)
 You should not use this function directly.
template<class T>
bool get_property_handle (VPropHandleT< T > &_ph, const std::string &_name) const
 You should not use this function directly.
template<class T>
bool get_property_handle (HPropHandleT< T > &_ph, const std::string &_name) const
 You should not use this function directly.
template<class T>
bool get_property_handle (EPropHandleT< T > &_ph, const std::string &_name) const
 You should not use this function directly.
template<class T>
bool get_property_handle (FPropHandleT< T > &_ph, const std::string &_name) const
 You should not use this function directly.
template<class T>
bool get_property_handle (MPropHandleT< T > &_ph, const std::string &_name) const
 You should not use this function directly.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
template<class T>
VPropHandleT< T >::reference property (VPropHandleT< T > _ph, VertexHandle _vh)
 You should not use this function directly.
template<class T>
VPropHandleT< T >::const_reference property (VPropHandleT< T > _ph, VertexHandle _vh) const
 You should not use this function directly.
template<class T>
HPropHandleT< T >::reference property (HPropHandleT< T > _ph, HalfedgeHandle _hh)
 You should not use this function directly.
template<class T>
HPropHandleT< T >::const_reference property (HPropHandleT< T > _ph, HalfedgeHandle _hh) const
 You should not use this function directly.
template<class T>
EPropHandleT< T >::reference property (EPropHandleT< T > _ph, EdgeHandle _eh)
 You should not use this function directly.
template<class T>
EPropHandleT< T >::const_reference property (EPropHandleT< T > _ph, EdgeHandle _eh) const
 You should not use this function directly.
template<class T>
FPropHandleT< T >::reference property (FPropHandleT< T > _ph, FaceHandle _fh)
 You should not use this function directly.
template<class T>
FPropHandleT< T >::const_reference property (FPropHandleT< T > _ph, FaceHandle _fh) const
 You should not use this function directly.
template<class T>
MPropHandleT< T >::reference property (MPropHandleT< T > _ph)
 You should not use this function directly.
template<class T>
MPropHandleT< T >::const_reference property (MPropHandleT< T > _ph) const
 You should not use this function directly.
template<class T>
void copy_property (VPropHandleT< T > &_ph, VertexHandle _vh_from, VertexHandle _vh_to)
 You should not use this function directly.
template<class T>
void copy_property (HPropHandleT< T > _ph, HalfedgeHandle _hh_from, HalfedgeHandle _hh_to)
 You should not use this function directly.
template<class T>
void copy_property (EPropHandleT< T > _ph, EdgeHandle _eh_from, EdgeHandle _eh_to)
 You should not use this function directly.
template<class T>
void copy_property (FPropHandleT< T > _ph, FaceHandle _fh_from, FaceHandle _fh_to)
 You should not use this function directly.
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)
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)
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)
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)
void copy_all_kernel_properties (const BaseKernel &_other)
 copy_all_kernel_properties uses the = operator to copy all properties from a given other BaseKernel.
size_t n_vprops (void) const
 You should not use this function directly.
size_t n_eprops (void) const
 You should not use this function directly.
size_t n_hprops (void) const
 You should not use this function directly.
size_t n_fprops (void) const
 You should not use this function directly.
size_t n_mprops (void) const
 You should not use this function directly.
BaseProperty_get_vprop (const std::string &_name)
 You should not use this function directly.
BaseProperty_get_eprop (const std::string &_name)
 You should not use this function directly.
BaseProperty_get_hprop (const std::string &_name)
 You should not use this function directly.
BaseProperty_get_fprop (const std::string &_name)
 You should not use this function directly.
BaseProperty_get_mprop (const std::string &_name)
 You should not use this function directly.
const BaseProperty_get_vprop (const std::string &_name) const
 You should not use this function directly.
const BaseProperty_get_eprop (const std::string &_name) const
 You should not use this function directly.
const BaseProperty_get_hprop (const std::string &_name) const
 You should not use this function directly.
const BaseProperty_get_fprop (const std::string &_name) const
 You should not use this function directly.
const BaseProperty_get_mprop (const std::string &_name) const
 You should not use this function directly.
BaseProperty_vprop (size_t _idx)
 You should not use this function directly.
BaseProperty_eprop (size_t _idx)
 You should not use this function directly.
BaseProperty_hprop (size_t _idx)
 You should not use this function directly.
BaseProperty_fprop (size_t _idx)
 You should not use this function directly.
BaseProperty_mprop (size_t _idx)
 You should not use this function directly.
const BaseProperty_vprop (size_t _idx) const
 You should not use this function directly.
const BaseProperty_eprop (size_t _idx) const
 You should not use this function directly.
const BaseProperty_hprop (size_t _idx) const
 You should not use this function directly.
const BaseProperty_fprop (size_t _idx) const
 You should not use this function directly.
const BaseProperty_mprop (size_t _idx) const
 You should not use this function directly.
size_t _add_vprop (BaseProperty *_bp)
 You should not use this function directly.
size_t _add_eprop (BaseProperty *_bp)
 You should not use this function directly.
size_t _add_hprop (BaseProperty *_bp)
 You should not use this function directly.
size_t _add_fprop (BaseProperty *_bp)
 You should not use this function directly.
size_t _add_mprop (BaseProperty *_bp)
 You should not use this function directly.
virtual size_t n_vertices () const
 You should not use this function directly.
virtual size_t n_halfedges () const
 You should not use this function directly.
virtual size_t n_edges () const
 You should not use this function directly.
virtual size_t n_faces () const
 You should not use this function directly.
template<typename HandleT>
size_t n_elements () const
 You should not use this function directly.
void property_stats () const
 You should not use this function directly.
void property_stats (std::ostream &_ostr) const
 You should not use this function directly.
void vprop_stats (std::string &_string) const
 You should not use this function directly.
void hprop_stats (std::string &_string) const
 You should not use this function directly.
void eprop_stats (std::string &_string) const
 You should not use this function directly.
void fprop_stats (std::string &_string) const
 You should not use this function directly.
void mprop_stats (std::string &_string) const
 You should not use this function directly.
void vprop_stats () const
 You should not use this function directly.
void hprop_stats () const
 You should not use this function directly.
void eprop_stats () const
 You should not use this function directly.
void fprop_stats () const
 You should not use this function directly.
void mprop_stats () const
 You should not use this function directly.
void vprop_stats (std::ostream &_ostr) const
 You should not use this function directly.
void hprop_stats (std::ostream &_ostr) const
 You should not use this function directly.
void eprop_stats (std::ostream &_ostr) const
 You should not use this function directly.
void fprop_stats (std::ostream &_ostr) const
 You should not use this function directly.
void mprop_stats (std::ostream &_ostr) const
 You should not use this function directly.
prop_iterator vprops_begin ()
 You should not use this function directly.
prop_iterator vprops_end ()
 You should not use this function directly.
const_prop_iterator vprops_begin () const
 You should not use this function directly.
const_prop_iterator vprops_end () const
 You should not use this function directly.
prop_iterator eprops_begin ()
 You should not use this function directly.
prop_iterator eprops_end ()
 You should not use this function directly.
const_prop_iterator eprops_begin () const
 You should not use this function directly.
const_prop_iterator eprops_end () const
 You should not use this function directly.
prop_iterator hprops_begin ()
 You should not use this function directly.
prop_iterator hprops_end ()
 You should not use this function directly.
const_prop_iterator hprops_begin () const
 You should not use this function directly.
const_prop_iterator hprops_end () const
 You should not use this function directly.
prop_iterator fprops_begin ()
 You should not use this function directly.
prop_iterator fprops_end ()
 You should not use this function directly.
const_prop_iterator fprops_begin () const
 You should not use this function directly.
const_prop_iterator fprops_end () const
 You should not use this function directly.
prop_iterator mprops_begin ()
 You should not use this function directly.
prop_iterator mprops_end ()
 You should not use this function directly.
const_prop_iterator mprops_begin () const
 You should not use this function directly.
const_prop_iterator mprops_end () const
 You should not use this function directly.

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)
_t2vn< T >::prop & vnormals (VPropHandleT< T > _ph)
_t2vc< T >::prop & vcolors (VPropHandleT< T > _ph)
_t2vtc< T >::prop & vtexcoords (VPropHandleT< T > _ph)
GeoPTypesfptypes (FPTypesHandle _ph)
GeoPLengthsfplengths (FPLengthsHandle _ph)
GeoIndicesfindices (FIndicesHandle _ph)
BaseProperty_vprop (BaseHandle _h)
 You should not use this function directly.
BaseProperty_eprop (BaseHandle _h)
 You should not use this function directly.
BaseProperty_hprop (BaseHandle _h)
 You should not use this function directly.
BaseProperty_fprop (BaseHandle _h)
 You should not use this function directly.
BaseProperty_mprop (BaseHandle _h)
 You should not use this function directly.
const BaseProperty_vprop (BaseHandle _h) const
 You should not use this function directly.
const BaseProperty_eprop (BaseHandle _h) const
 You should not use this function directly.
const BaseProperty_hprop (BaseHandle _h) const
 You should not use this function directly.
const BaseProperty_fprop (BaseHandle _h) const
 You should not use this function directly.
const BaseProperty_mprop (BaseHandle _h) const
 You should not use this function directly.
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.
void vprops_clear ()
 You should not use this function directly.
void vprops_swap (unsigned int _i0, unsigned int _i1) const
 You should not use this function directly.
void hprops_reserve (size_t _n) const
 You should not use this function directly.
void hprops_resize (size_t _n) const
 You should not use this function directly.
void hprops_clear ()
 You should not use this function directly.
void hprops_swap (unsigned int _i0, unsigned int _i1) const
 You should not use this function directly.
void eprops_reserve (size_t _n) const
 You should not use this function directly.
void eprops_resize (size_t _n) const
 You should not use this function directly.
void eprops_clear ()
 You should not use this function directly.
void eprops_swap (unsigned int _i0, unsigned int _i1) const
 You should not use this function directly.
void fprops_reserve (size_t _n) const
 You should not use this function directly.
void fprops_resize (size_t _n) const
 You should not use this function directly.
void fprops_clear ()
 You should not use this function directly.
void fprops_swap (unsigned int _i0, unsigned int _i1) const
 You should not use this function directly.
void mprops_resize (size_t _n) const
 You should not use this function directly.
void mprops_clear ()
 You should not use this function directly.

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:

Project OpenMesh, ©  Visual Computing Institute, RWTH Aachen. Documentation generated using doxygen .