Loading...
Searching...
No Matches
OpenMesh Namespace Reference

Contains all the mesh ingredients like the polygonal mesh, the triangle mesh, different mesh kernels and mesh traits. More...

## Namespaces

namespace | Concepts
| Descriptions of the concepts used in OpenMesh.
namespace | Iterators
| Contains all mesh iterators and circulators.
namespace | IO
| This namespace contains functions for reading and writing polygonal meshes and a list of supported file formats.
namespace | GenProg
| Utilities for generative programming.
namespace | Attributes
| This namespace holds per item attributes like normal/color.
namespace | Kernel_OSG
| In this namespace resides the OpenSG integration of OpenMesh.
namespace | Decimater
| Software related to mesh decimation.
namespace | VDPM
| Software related to view dependent progressive meshes.
namespace | Utils
| Collection of little utility classes and helpers.

## Classes

class | VDPMSynthesizerViewerWidget
struct | vector_traits< Eigen::Matrix< _Scalar, _Rows, _Cols, _Options > >
class | LoopSchemeMaskT
| implements cache for the weights of the original Loop scheme supported: More...
class | NormalConeT
| /class NormalCone NormalCone.hh <OpenMesh/Core/Geometry/NormalConeT.hh> More...
class | VectorT
class | ArrayKernel
| Mesh kernel using arrays for mesh item storage. More...
class | AttribKernelT
| The attribute kernel adds all standard properties to the kernel. More...
class | BaseKernel
| This class provides low-level property management like adding/removing properties and access to properties. More...
class | BaseMesh
| Base class for all meshes. More...
class | CirculatorRange
| Generic class for iterator ranges. More...
struct | FinalMeshItemsT
| Definition of the mesh entities (items). More...
struct | MeshCast
| Cast a mesh with different but identical traits into each other. More...
struct | MeshCast< LhsMeshT &, RhsMeshT & >
struct | MeshCast< const LhsMeshT &, const RhsMeshT & >
struct | MeshCast< LhsMeshT *, RhsMeshT * >
struct | MeshCast< const LhsMeshT *, const RhsMeshT * >
class | BaseHandle
| Base class for all handle types. More...
struct | VertexHandle
| Handle for a vertex entity. More...
struct | HalfedgeHandle
| Handle for a halfedge entity. More...
struct | EdgeHandle
| Handle for a edge entity. More...
struct | FaceHandle
| Handle for a face entity. More...
struct | MeshHandle
| Handle type for meshes to simplify some template programming. More...
class | EntityRange
| Generic class for vertex/halfedge/edge/face ranges. More...
struct | RangeTraitT
struct | CirculatorRangeTraitT
class | PolyConnectivity
| Connectivity Class for polygonal meshes. More...
class | TriMesh_ArrayKernelT
| Triangle mesh based on the ArrayKernel. More...
struct | PolyMesh_ArrayKernel_GeneratorT
| Helper class to build a PolyMesh-type. More...
class | PolyMesh_ArrayKernelT
| Polygonal mesh based on the ArrayKernel. More...
class | PolyMeshT
| Base type for a polygonal mesh. More...
class | SmartBaseHandle
| Base class for all smart handle types. More...
class | SmartHandleStatusPredicates
| Base class for all smart handle types that contains status related methods. More...
class | SmartHandleBoundaryPredicate
| Base class for all smart handle types that contains status related methods. More...
struct | SmartVertexHandle
| Smart version of VertexHandle contains a pointer to the corresponding mesh and allows easier access to navigation methods. More...
struct | SmartHalfedgeHandle
struct | SmartEdgeHandle
struct | SmartFaceHandle
struct | SmartHandle
struct | SmartHandle< VertexHandle >
struct | SmartHandle< HalfedgeHandle >
struct | SmartHandle< EdgeHandle >
struct | SmartHandle< FaceHandle >
struct | FilteredSmartRangeT
| Class which applies a filter when iterating over elements. More...
struct | SmartRangeT
| Base class for all smart range types. More...
struct | PolyConnectivityTag
| Connectivity tag indicating that the tagged mesh has polygon connectivity. More...
struct | TriConnectivityTag
| Connectivity tag indicating that the tagged mesh has triangle connectivity. More...
class | DefaultTraits
| Base class for all traits. More...
class | DefaultTraitsDouble
| Version of Default Traits that uses double precision for points and normals as well as floating point vectors for colors. More...
struct | MergeTraits
| Helper class to merge two mesh traits. More...
class | TriConnectivity
| Connectivity Class for Triangle Meshes. More...
struct | TriMesh_ArrayKernel_GeneratorT
| Helper class to create a TriMesh-type based on ArrayKernelT. More...
class | TriMeshT
| Base type for a triangle mesh. More...
class | AutoPropertyHandleT
class | BaseProperty
| Abstract class defining the basic interface of a dynamic property. More...
class | Endian
| Determine byte order of host system. More...
struct | HandleToPropHandle
struct | HandleToPropHandle< OpenMesh::VertexHandle, T >
struct | HandleToPropHandle< OpenMesh::HalfedgeHandle, T >
struct | HandleToPropHandle< OpenMesh::EdgeHandle, T >
struct | HandleToPropHandle< OpenMesh::FaceHandle, T >
struct | HandleToPropHandle< void, T >
struct | HandleToPropHandle< OpenMesh::MeshHandle, T >
class | PropertyT
| Default property class for any type T. More...
class | PropertyT< bool >
| Property specialization for bool type. More...
struct | BasePropHandleT
| Base property handle. More...
struct | VPropHandleT
| Handle representing a vertex property. More...
struct | HPropHandleT
| Handle representing a halfedge property. More...
struct | EPropHandleT
| Handle representing an edge property. More...
struct | FPropHandleT
| Handle representing a face property. More...
struct | MPropHandleT
| Handle representing a mesh property. More...
struct | PropHandle
struct | PropHandle< VertexHandle >
struct | PropHandle< HalfedgeHandle >
struct | PropHandle< EdgeHandle >
struct | PropHandle< FaceHandle >
struct | PropHandle< MeshHandle >
class | PropertyContainer
| A a container for properties. More...
class | PropertyCreator
| Base class for property creators. More...
class | PropertyCreatorImpl
| Helper class that contains the implementation of the create_<HandleT>_property methods. More...
class | PropertyCreationManager
| Class for adding properties based on strings. More...
class | PropertyManager
| This class is intended to manage the lifecycle of properties. More...
class | ConstPropertyViewer
class | RandomNumberGenerator
| Generate a random number between 0.0 and 1.0 with a guaranteed resolution ( Number of possible values ). More...
class | SingletonT
| A simple singleton template. More...
struct | vector_traits
| Helper class providing information about a vector type. More...
struct | color_caster< osg::Color3ub, osg::Color3f >
| Helper struct. More...
struct | color_caster< osg::Color3f, osg::Color3ub >
| Helper struct. More...
struct | vector_traits< osg::Pnt4f >
| Vector traits for OpenSG vector type. More...
struct | vector_traits< osg::Pnt3f >
| Vector traits for OpenSG vector type. More...
struct | vector_traits< osg::Pnt2f >
| Vector traits for OpenSG vector type. More...
struct | vector_traits< osg::Vec4f >
| Vector traits for OpenSG vector type. More...
struct | vector_traits< osg::Vec3f >
| Vector traits for OpenSG vector type. More...
struct | vector_traits< osg::Vec2f >
| Vector traits for OpenSG vector type. More...
struct | vector_traits< osg::Pnt4d >
| Vector traits for OpenSG vector type. More...
struct | vector_traits< osg::Pnt3d >
| Vector traits for OpenSG vector type. More...
struct | vector_traits< osg::Pnt2d >
| Vector traits for OpenSG vector type. More...
struct | vector_traits< osg::Vec4d >
| Vector traits for OpenSG vector type. More...
struct | vector_traits< osg::Vec3d >
| Vector traits for OpenSG vector type. More...
struct | vector_traits< osg::Vec4ub >
| Vector traits for OpenSG vector type. More...
struct | vector_traits< osg::Color3ub >
| Vector traits for OpenSG color type. More...
struct | vector_traits< osg::Color4ub >
| Vector traits for OpenSG color type. More...
struct | vector_traits< osg::Color3f >
| Vector traits for OpenSG color type. More...
struct | vector_traits< osg::Color4f >
| Vector traits for OpenSG color type. More...
struct | vector_caster< osg::Vec3f, osg::Pnt3f >
| convert Pnt3f to Vec3f More...
struct | vector_caster< osg::Vec4f, osg::Pnt4f >
| convert Pnt4f to Vec4f More...
struct | vector_caster< osg::Vec3d, osg::Pnt3d >
| convert Pnt3d to Vec3d More...
struct | vector_caster< osg::Vec4d, osg::Pnt4d >
| convert Pnt4d to Vec4d More...
class | SmartTaggerVT
class | SmartTaggerET
class | SmartTaggerFT
class | SmartTaggerHT
class | SmartTaggerT
| Smart Tagger. More...
class | StripifierT
| This class decomposes a triangle mesh into several triangle strips. More...
struct | vector_traits< Custom::Vec< DIM > >
class | Plane3d
| ax + by + cz + d = 0 More...
class | VFront
| Active nodes in vertex hierarchy. More...
class | VHierarchy
| Keeps the vertex hierarchy build during analyzing a progressive mesh. More...
class | VHierarchyNode
| Vertex hierarchy node. More...
class | VHierarchyNodeIndex
| Index of vertex hierarchy node. More...
struct | VHierarchyNodeHandle
| Handle for vertex hierarchy nodes. More...
class | ViewingParameters

## Typedefs

typedef TriMesh_ArrayKernelT< VDPM::MeshTraits > | VDPMMesh
typedef MeshViewerWidgetT< VDPMMesh > | MeshViewerWidget
typedef LoopSchemeMaskT< double, 100 > | LoopSchemeMaskDouble
typedef SingletonT< LoopSchemeMaskDouble > | LoopSchemeMaskDoubleSingleton
typedef VectorT< signed char, 1 > | Vec1c
| 1-byte signed vector
typedef VectorT< unsigned char, 1 > | Vec1uc
| 1-byte unsigned vector
typedef VectorT< signed short int, 1 > | Vec1s
| 1-short signed vector
typedef VectorT< unsigned short int, 1 > | Vec1us
| 1-short unsigned vector
typedef VectorT< signed int, 1 > | Vec1i
| 1-int signed vector
typedef VectorT< unsigned int, 1 > | Vec1ui
| 1-int unsigned vector
typedef VectorT< float, 1 > | Vec1f
| 1-float vector
typedef VectorT< double, 1 > | Vec1d
| 1-double vector
typedef VectorT< signed char, 2 > | Vec2c
| 2-byte signed vector
typedef VectorT< unsigned char, 2 > | Vec2uc
| 2-byte unsigned vector
typedef VectorT< signed short int, 2 > | Vec2s
| 2-short signed vector
typedef VectorT< unsigned short int, 2 > | Vec2us
| 2-short unsigned vector
typedef VectorT< signed int, 2 > | Vec2i
| 2-int signed vector
typedef VectorT< unsigned int, 2 > | Vec2ui
| 2-int unsigned vector
typedef VectorT< float, 2 > | Vec2f
| 2-float vector
typedef VectorT< double, 2 > | Vec2d
| 2-double vector
typedef VectorT< signed char, 3 > | Vec3c
| 3-byte signed vector
typedef VectorT< unsigned char, 3 > | Vec3uc
| 3-byte unsigned vector
typedef VectorT< signed short int, 3 > | Vec3s
| 3-short signed vector
typedef VectorT< unsigned short int, 3 > | Vec3us
| 3-short unsigned vector
typedef VectorT< signed int, 3 > | Vec3i
| 3-int signed vector
typedef VectorT< unsigned int, 3 > | Vec3ui
| 3-int unsigned vector
typedef VectorT< float, 3 > | Vec3f
| 3-float vector
typedef VectorT< double, 3 > | Vec3d
| 3-double vector
typedef VectorT< bool, 3 > | Vec3b
| 3-bool vector
typedef VectorT< signed char, 4 > | Vec4c
| 4-byte signed vector
typedef VectorT< unsigned char, 4 > | Vec4uc
| 4-byte unsigned vector
typedef VectorT< signed short int, 4 > | Vec4s
| 4-short signed vector
typedef VectorT< unsigned short int, 4 > | Vec4us
| 4-short unsigned vector
typedef VectorT< signed int, 4 > | Vec4i
| 4-int signed vector
typedef VectorT< unsigned int, 4 > | Vec4ui
| 4-int unsigned vector
typedef VectorT< float, 4 > | Vec4f
| 4-float vector
typedef VectorT< double, 4 > | Vec4d
| 4-double vector
typedef VectorT< signed char, 5 > | Vec5c
| 5-byte signed vector
typedef VectorT< unsigned char, 5 > | Vec5uc
| 5-byte unsigned vector
typedef VectorT< signed short int, 5 > | Vec5s
| 5-short signed vector
typedef VectorT< unsigned short int, 5 > | Vec5us
| 5-short unsigned vector
typedef VectorT< signed int, 5 > | Vec5i
| 5-int signed vector
typedef VectorT< unsigned int, 5 > | Vec5ui
| 5-int unsigned vector
typedef VectorT< float, 5 > | Vec5f
| 5-float vector
typedef VectorT< double, 5 > | Vec5d
| 5-double vector
typedef VectorT< signed char, 6 > | Vec6c
| 6-byte signed vector
typedef VectorT< unsigned char, 6 > | Vec6uc
| 6-byte unsigned vector
typedef VectorT< signed short int, 6 > | Vec6s
| 6-short signed vector
typedef VectorT< unsigned short int, 6 > | Vec6us
| 6-short unsigned vector
typedef VectorT< signed int, 6 > | Vec6i
| 6-int signed vector
typedef VectorT< unsigned int, 6 > | Vec6ui
| 6-int unsigned vector
typedef VectorT< float, 6 > | Vec6f
| 6-float vector
typedef VectorT< double, 6 > | Vec6d
| 6-double vector
typedef PolyMesh_ArrayKernelT< DefaultTraitsDouble > | PolyMesh
typedef TriMesh_ArrayKernelT< DefaultTraitsDouble > | TriMesh
template<typename HandleT, typename T>
using | Prop = PropertyManager<typename PropHandle<HandleT>::template type<T>>
template<typename T>
using | VProp = PropertyManager<OpenMesh::VPropHandleT<T>>
template<typename T>
using | HProp = PropertyManager<OpenMesh::HPropHandleT<T>>
template<typename T>
using | EProp = PropertyManager<OpenMesh::EPropHandleT<T>>
template<typename T>
using | FProp = PropertyManager<OpenMesh::FPropHandleT<T>>
template<typename T>
using | MProp = PropertyManager<OpenMesh::MPropHandleT<T>>
typedef std::vector< VHierarchyNodeHandle > | VHierarchyNodeHandleContainer
| Container for vertex hierarchy node handles.

## Functions

template<class T, typename Real>
bool | is_zero (const T &_a, Real _eps)
| comparison operators with user-selected precision control
template<class T1, class T2, typename Real>
bool | is_eq (const T1 &a, const T2 &b, Real _eps)
template<class T1, class T2, typename Real>
bool | is_gt (const T1 &a, const T2 &b, Real _eps)
template<class T1, class T2, typename Real>
bool | is_ge (const T1 &a, const T2 &b, Real _eps)
template<class T1, class T2, typename Real>
bool | is_lt (const T1 &a, const T2 &b, Real _eps)
template<class T1, class T2, typename Real>
bool | is_le (const T1 &a, const T2 &b, Real _eps)
float | eps__ (float)
double | eps__ (double)
template<class T>
bool | is_zero (const T &a)
template<class T1, class T2>
bool | is_eq (const T1 &a, const T2 &b)
template<class T1, class T2>
bool | is_gt (const T1 &a, const T2 &b)
template<class T1, class T2>
bool | is_ge (const T1 &a, const T2 &b)
template<class T1, class T2>
bool | is_lt (const T1 &a, const T2 &b)
template<class T1, class T2>
bool | is_le (const T1 &a, const T2 &b)
template<class T>
T | sane_aarg (T _aarg)
| Trigonometry/angles - related.
template<class T>
T | angle (T _cos_angle, T _sin_angle)
| returns the angle determined by its cos and the sign of its sin result is positive if the angle is in [0:pi] and negative if it is in [pi:2pi]
template<class T>
T | positive_angle (T _angle)
template<class T>
T | positive_angle (T _cos_angle, T _sin_angle)
template<class T>
T | deg_to_rad (const T &_angle)
template<class T>
T | rad_to_deg (const T &_angle)
double | log_ (double _value)
template<typename Scalar, int DIM, typename OtherScalar>
auto | operator* (const OtherScalar &_s, const VectorT< Scalar, DIM > &rhs) -> decltype(rhs.operator*(_s))
| Component wise multiplication from the left.
template<typename Scalar, int DIM>
auto | operator<< (std::ostream &os, const VectorT< Scalar, DIM > &_vec) -> typename std::enable_if< sizeof(decltype(os<< _vec[0])) >=0
| output a vector by printing its space-separated compontens
| for (int i=1;i< DIM;++i)
template<typename Scalar, int DIM>
auto | operator>> (std::istream &is, VectorT< Scalar, DIM > &_vec) -> typename std::enable_if< sizeof(decltype(is > > _vec[0])) >=0
| read the space-separated components of a vector from a stream
template<class Traits>
TriMesh_ArrayKernelT< Traits > & | TRIMESH_CAST (PolyMesh_ArrayKernelT< Traits > &_poly_mesh)
template<class Traits>
const TriMesh_ArrayKernelT< Traits > & | TRIMESH_CAST (const PolyMesh_ArrayKernelT< Traits > &_poly_mesh)
template<class Traits>
PolyMesh_ArrayKernelT< Traits > & | POLYMESH_CAST (TriMesh_ArrayKernelT< Traits > &_tri_mesh)
template<class Traits>
const PolyMesh_ArrayKernelT< Traits > & | POLYMESH_CAST (const TriMesh_ArrayKernelT< Traits > &_tri_mesh)
size_t | hash_value (const BaseHandle &h)
std::ostream & | operator<< (std::ostream &_os, const BaseHandle &_hnd)
| Write handle `_hnd` to stream `_os`.
template<typename LHS, typename KERNEL>
LHS | mesh_cast (PolyMeshT< KERNEL > &rhs)
| Cast a mesh with different but identical traits into each other.
template<typename LHS, typename KERNEL>
LHS | mesh_cast (PolyMeshT< KERNEL > *rhs)
template<typename LHS, typename KERNEL>
const LHS | mesh_cast (const PolyMeshT< KERNEL > &rhs)
template<typename LHS, typename KERNEL>
const LHS | mesh_cast (const PolyMeshT< KERNEL > *rhs)
SmartVertexHandle | make_smart (VertexHandle _vh, const PolyConnectivity *_mesh)
| Creats a SmartVertexHandle from a VertexHandle and a Mesh.
SmartHalfedgeHandle | make_smart (HalfedgeHandle _hh, const PolyConnectivity *_mesh)
| Creats a SmartHalfedgeHandle from a HalfedgeHandle and a Mesh.
SmartEdgeHandle | make_smart (EdgeHandle _eh, const PolyConnectivity *_mesh)
| Creats a SmartEdgeHandle from an EdgeHandle and a Mesh.
SmartFaceHandle | make_smart (FaceHandle _fh, const PolyConnectivity *_mesh)
| Creats a SmartFaceHandle from a FaceHandle and a Mesh.
SmartVertexHandle | make_smart (VertexHandle _vh, const PolyConnectivity &_mesh)
| Creats a SmartVertexHandle from a VertexHandle and a Mesh.
SmartHalfedgeHandle | make_smart (HalfedgeHandle _hh, const PolyConnectivity &_mesh)
| Creats a SmartHalfedgeHandle from a HalfedgeHandle and a Mesh.
SmartEdgeHandle | make_smart (EdgeHandle _eh, const PolyConnectivity &_mesh)
| Creats a SmartEdgeHandle from an EdgeHandle and a Mesh.
SmartFaceHandle | make_smart (FaceHandle _fh, const PolyConnectivity &_mesh)
| Creats a SmartFaceHandle from a FaceHandle and a Mesh.
template<typename HandleT>
void | create_property_from_string (BaseKernel &_mesh, const std::string &_type_name, const std::string &_property_name)
| Create a property with type corresponding to _type_name on _mesh with name _property_name.
template<typename T>
std::string | get_type_name ()
osg::Vec3f::ValueType | dot (const osg::Vec3f &_v1, const osg::Vec3f &_v2)
| Adapter for osg vector member computing a scalar product.
osg::Vec3f::ValueType | dot (const osg::Vec3f &_v1, const osg::Pnt3f &_v2)
osg::Vec2f::ValueType | dot (const osg::Vec2f &_v1, const osg::Vec2f &_v2)
osg::Vec3f | cross (const osg::Vec3f &_v1, const osg::Vec3f &_v2)
template<class _Mesh, class _PropertyHandle>
void | smooth_mesh_property (unsigned int _n_iters, _Mesh &_m, _PropertyHandle _pph)
template<class _Mesh>
void | smooth_mesh (_Mesh &_m, uint _n_iters)
template<typename Scalar, int DIM>
Scalar | dot (const VectorT< Scalar, DIM > &_v1, const VectorT< Scalar, DIM > &_v2)
| symmetric version of the dot product
template<typename LScalar, typename RScalar, int DIM>
auto | cross (const VectorT< LScalar, DIM > &_v1, const VectorT< RScalar, DIM > &_v2) -> decltype(_v1 % _v2)
| symmetric version of the cross product
template<typename Scalar, int DIM>
void | swap (VectorT< Scalar, DIM > &_v1, VectorT< Scalar, DIM > &_v2) noexcept(noexcept(_v1.swap(_v2)))
| non-member swap
template<typename Scalar, int DIM>
Scalar | norm (const VectorT< Scalar, DIM > &_v)
| non-member norm
template<typename Scalar, int DIM>
Scalar | sqrnorm (const VectorT< Scalar, DIM > &_v)
| non-member sqrnorm
template<typename Scalar, int DIM, typename OtherScalar>
VectorT< Scalar, DIM > & | vectorize (VectorT< Scalar, DIM > &_v, OtherScalar const &_val)
| non-member vectorize
template<typename Scalar, int DIM>
VectorT< Scalar, DIM > & | normalize (VectorT< Scalar, DIM > &_v)
| non-member normalize
template<typename Scalar, int DIM>
VectorT< Scalar, DIM > & | maximize (VectorT< Scalar, DIM > &_v1, VectorT< Scalar, DIM > &_v2)
| non-member maximize
template<typename Scalar, int DIM>
VectorT< Scalar, DIM > & | minimize (VectorT< Scalar, DIM > &_v1, VectorT< Scalar, DIM > &_v2)
| non-member minimize
template<typename Scalar, int DIM>
VectorT< Scalar, DIM > | max (const VectorT< Scalar, DIM > &_v1, const VectorT< Scalar, DIM > &_v2)
| non-member max
template<typename Scalar, int DIM>
VectorT< Scalar, DIM > | min (const VectorT< Scalar, DIM > &_v1, const VectorT< Scalar, DIM > &_v2)
| non-member min
template<typename ElementT, typename T>
PropertyManager< typename HandleToPropHandle< ElementT, T >::type > | makeTemporaryProperty (PolyConnectivity &mesh, const char *propname)
template<typename ElementT, typename T>
PropertyManager< typename HandleToPropHandle< ElementT, T >::type > | makeTemporaryProperty (PolyConnectivity &mesh)
| Creates a new property whose lifetime is limited to the current scope.
template<typename ElementT, typename T>
bool | hasProperty (const PolyConnectivity &mesh, const char *propname)
| Tests whether a property with the given element type, value type, and name is present on the given mesh.
template<typename ElementT, typename T>
PropertyManager< typename HandleToPropHandle< ElementT, T >::type > | getProperty (PolyConnectivity &mesh, const char *propname)
| Obtains a handle to a named property.
template<typename ElementT, typename T>
PropertyManager< typename HandleToPropHandle< ElementT, T >::type > | getOrMakeProperty (PolyConnectivity &mesh, const char *propname)
| Obtains a handle to a named property if it exists or creates a new one otherwise.
template<typename PROPTYPE>
PropertyManager< PROPTYPE > | makePropertyManagerFromNew (PolyConnectivity &mesh, const char *propname)
template<typename PROPTYPE, typename MeshT = int>
PropertyManager< PROPTYPE, MeshT > | makePropertyManagerFromExisting (PolyConnectivity &mesh, const char *propname)
template<typename PROPTYPE, typename MeshT = int>
PropertyManager< PROPTYPE, MeshT > | makePropertyManagerFromExistingOrNew (PolyConnectivity &mesh, const char *propname)
template<typename PROPTYPE, typename ITERATOR_TYPE, typename PROP_VALUE>
PropertyManager< PROPTYPE > | makePropertyManagerFromExistingOrNew (PolyConnectivity &mesh, const char *propname, const ITERATOR_TYPE &begin, const ITERATOR_TYPE &end, const PROP_VALUE &init_value)
| Like the two parameter version of makePropertyManagerFromExistingOrNew() except it initializes the property with the specified value over the specified range if it needs to be created.
template<typename PROPTYPE, typename ITERATOR_RANGE, typename PROP_VALUE>
PropertyManager< PROPTYPE > | makePropertyManagerFromExistingOrNew (PolyConnectivity &mesh, const char *propname, const ITERATOR_RANGE &range, const PROP_VALUE &init_value)
| Like the two parameter version of makePropertyManagerFromExistingOrNew() except it initializes the property with the specified value over the specified range if it needs to be created.
template<typename MeshT>
PropertyManager< OpenMesh::VPropHandleT< typename MeshT::Point > > | getPointsProperty (MeshT &mesh)
| Returns a convenience wrapper around the points property of a mesh.
template<typename MeshT>
ConstPropertyViewer< OpenMesh::VPropHandleT< typename MeshT::Point > > | getPointsProperty (const MeshT &mesh)
| Returns a convenience wrapper around the points property of a mesh that only allows const access.
Cast vector type to another vector type.
template<typename src_t, typename dst_t, int n>
void | vector_cast (const src_t &_src, dst_t &_dst, GenProg::Int2Type< n >)
| Cast vector type to another vector type by copying the vector elements.
template<typename src_t, typename dst_t>
void | vector_cast (const src_t &, dst_t &, GenProg::Int2Type< 0 >)
| Cast vector type to another vector type by copying the vector elements.
template<typename src_t, typename dst_t, int n>
void | vector_copy (const src_t &_src, dst_t &_dst, GenProg::Int2Type< n >)
| Cast vector type to another vector type by copying the vector elements.
template<typename src_t, typename dst_t>
void | vector_copy (const src_t &, dst_t &, GenProg::Int2Type< 0 >)
| Cast vector type to another vector type by copying the vector elements.
template<typename dst_t, typename src_t>
vector_caster< dst_t, src_t >::return_type | vector_cast (const src_t &_src)
| Cast vector type to another vector type by copying the vector elements.

## Variables

const float | flt_eps__ = (float)1e-05
const double | dbl_eps__ = 1e-09
return | os
return | is
template<class T>
T * | SingletonT< T >::pInstance__ = 0
template<class T>
bool | SingletonT< T >::destroyed__ = false

## Detailed Description

Contains all the mesh ingredients like the polygonal mesh, the triangle mesh, different mesh kernels and mesh traits.

Martin, 26.12.2004: 1) replaced resize(size()-1) with pop_back(), since the later is more efficient 2) replaced interface_.set_heap_position(entry(0), -1); with reset_heap_position() 3) added const modifier to various functions TODO: in the moment the heap does not conform to the HeapInterface specification, i.e., copies are passed instead of references.

Get an internal name for a type Important, this is depends on compilers and versions, do NOT use in file formats!

This file contains all code required to use Eigen3 vectors as Mesh vectors.

This provides property type safety when only limited RTTI is available Solution adapted from OpenVolumeMesh

This is especially important for set_heap_position(), where the reference argument is non-const. The specification should be changed to reflect that the heap actually (only?) works when the heap entry is nothing more but a handle. TODO: change the specification of HeapInterface to make less(), greater() and get_heap_position() const. Needs changing DecimaterT. Might break someone's code.

## Function Documentation

## create_property_from_string()

template<typename HandleT>

void OpenMesh::create_property_from_string | ( | BaseKernel & | _mesh,
|  | const std::string & | _type_name,
|  | const std::string & | _property_name )

Create a property with type corresponding to _type_name on _mesh with name _property_name.

For user defined types you need to register the type using OM_REGISTER_PROPERTY_TYPE(ClassName, TypeString)

## mesh_cast()

template<typename LHS, typename KERNEL>

LHS OpenMesh::mesh_cast | ( | PolyMeshT< KERNEL > & | rhs | ) |

Cast a mesh with different but identical traits into each other.

Example:

struct TriTraits1 : public OpenMesh::DefaultTraits {
typedef Vec3d Point;
};
struct TriTraits2 : public OpenMesh::DefaultTraits {
typedef Vec3d Point;
};
struct TriTraits3 : public OpenMesh::DefaultTraits {
typedef Vec3f Point;
};
TriMesh_ArrayKernelT<TriTraits1> a;
TriMesh_ArrayKernelT<TriTraits2> &b = mesh_cast<TriMesh_ArrayKernelT<TriTraits2>&>(a); // OK
TriMesh_ArrayKernelT<TriTraits3> &c = mesh_cast<TriMesh_ArrayKernelT<TriTraits3>&>(a); // ERROR
OpenMesh::Vec3d
VectorT< double, 3 > Vec3d
3-double vector
Definition Vector11T.hh:853
OpenMesh::mesh_cast
LHS mesh_cast(PolyMeshT< KERNEL > &rhs)
Cast a mesh with different but identical traits into each other.
Definition PolyMeshT.hh:636
OpenMesh::Vec3f
VectorT< float, 3 > Vec3f
3-float vector
Definition Vector11T.hh:851
OpenMesh::TriMesh_ArrayKernelT
Triangle mesh based on the ArrayKernel.
Definition TriMesh_ArrayKernelT.hh:96
OpenMesh::DefaultTraits
Base class for all traits.
Definition Traits.hh:122
OpenMesh::DefaultTraits::Point
Vec3f Point
The default coordinate type is OpenMesh::Vec3f.
Definition Traits.hh:124

See also
  MeshCast

Parameters

  rhs |

Returns