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

Namespaces

namespace  Attributes
 
namespace  Concepts
 
namespace  Decimater
 
namespace  GenProg
 
namespace  IO
 
namespace  Iterators
 
namespace  Kernel_OSG
 
namespace  Utils
 
namespace  VDPM
 

Classes

class  ArrayKernel
 
class  AttribKernelT
 
class  AutoPropertyHandleT
 
class  BaseHandle
 Base class for all handle types. More...
 
class  BaseKernel
 
class  BaseMesh
 
class  BaseProperty
 
struct  BasePropHandleT
 Base property handle. More...
 
class  CirculatorRange
 Generic class for iterator ranges. More...
 
struct  CirculatorRangeTraitT
 
struct  color_caster< osg::Color3f, osg::Color3ub >
 
struct  color_caster< osg::Color3ub, osg::Color3f >
 
class  ConstPropertyViewer
 
class  DefaultTraits
 
class  DefaultTraitsDouble
 
struct  EdgeHandle
 Handle for a edge entity. More...
 
class  Endian
 
class  EntityRange
 Generic class for vertex/halfedge/edge/face ranges. More...
 
struct  EPropHandleT
 
struct  FaceHandle
 Handle for a face entity. More...
 
struct  FilteredSmartRangeT
 Class which applies a filter when iterating over elements. More...
 
struct  FinalMeshItemsT
 Definition of the mesh entities (items). More...
 
struct  FPropHandleT
 
struct  HalfedgeHandle
 Handle for a halfedge entity. More...
 
struct  HandleToPropHandle
 
struct  HandleToPropHandle< OpenMesh::EdgeHandle, T >
 
struct  HandleToPropHandle< OpenMesh::FaceHandle, T >
 
struct  HandleToPropHandle< OpenMesh::HalfedgeHandle, T >
 
struct  HandleToPropHandle< OpenMesh::MeshHandle, T >
 
struct  HandleToPropHandle< OpenMesh::VertexHandle, T >
 
struct  HandleToPropHandle< void, T >
 
struct  HPropHandleT
 
class  LoopSchemeMaskT
 
struct  MergeTraits
 
struct  MeshCast
 Cast a mesh with different but identical traits into each other. More...
 
struct  MeshCast< const LhsMeshT &, const RhsMeshT & >
 
struct  MeshCast< const LhsMeshT *, const RhsMeshT * >
 
struct  MeshCast< LhsMeshT &, RhsMeshT & >
 
struct  MeshCast< LhsMeshT *, RhsMeshT * >
 
struct  MeshHandle
 Handle type for meshes to simplify some template programming. More...
 
struct  MPropHandleT
 
class  NormalConeT
 
class  PolyConnectivity
 Connectivity Class for polygonal meshes. More...
 
struct  PolyConnectivityTag
 Connectivity tag indicating that the tagged mesh has polygon connectivity. More...
 
struct  PolyMesh_ArrayKernel_GeneratorT
 Helper class to build a PolyMesh-type. More...
 
class  PolyMesh_ArrayKernelT
 
class  PolyMeshT
 
class  PropertyContainer
 A a container for properties. More...
 
class  PropertyCreationManager
 Class for adding properties based on strings. More...
 
class  PropertyCreator
 Base class for property creators. More...
 
class  PropertyCreatorImpl
 
class  PropertyManager
 
class  PropertyT
 Default property class for any type T. More...
 
class  PropertyT< bool >
 
struct  PropHandle
 
struct  PropHandle< EdgeHandle >
 
struct  PropHandle< FaceHandle >
 
struct  PropHandle< HalfedgeHandle >
 
struct  PropHandle< MeshHandle >
 
struct  PropHandle< VertexHandle >
 
class  RandomNumberGenerator
 
struct  RangeTraitT
 
class  SingletonT
 
class  SmartBaseHandle
 Base class for all smart handle types. More...
 
struct  SmartEdgeHandle
 
struct  SmartFaceHandle
 
struct  SmartHalfedgeHandle
 
struct  SmartHandle
 
struct  SmartHandle< EdgeHandle >
 
struct  SmartHandle< FaceHandle >
 
struct  SmartHandle< HalfedgeHandle >
 
struct  SmartHandle< VertexHandle >
 
class  SmartHandleBoundaryPredicate
 Base class for all smart handle types that contains status related methods. More...
 
class  SmartHandleStatusPredicates
 Base class for all smart handle types that contains status related methods. More...
 
struct  SmartRangeT
 Base class for all smart range types. More...
 
class  SmartTaggerET
 
class  SmartTaggerFT
 
class  SmartTaggerHT
 
class  SmartTaggerT
 Smart Tagger. More...
 
class  SmartTaggerVT
 
struct  SmartVertexHandle
 Smart version of VertexHandle contains a pointer to the corresponding mesh and allows easier access to navigation methods. More...
 
class  StripifierT
 
class  TriConnectivity
 Connectivity Class for Triangle Meshes. More...
 
struct  TriConnectivityTag
 Connectivity tag indicating that the tagged mesh has triangle connectivity. More...
 
struct  TriMesh_ArrayKernel_GeneratorT
 Helper class to create a TriMesh-type based on ArrayKernelT. More...
 
class  TriMesh_ArrayKernelT
 
class  TriMeshT
 
class  VDPMSynthesizerViewerWidget
 
struct  vector_traits
 
struct  vector_traits< Custom::Vec< DIM > >
 
struct  vector_traits< Eigen::Matrix< _Scalar, _Rows, _Cols, _Options > >
 
class  VectorDataT
 
class  VectorT
 
struct  VertexHandle
 Handle for a vertex entity. More...
 
struct  VPropHandleT
 

Typedefs

typedef TriMesh_ArrayKernelT< VDPM::MeshTraitsVDPMMesh
 
typedef MeshViewerWidgetT< VDPMMeshMeshViewerWidget
 
typedef LoopSchemeMaskT< double, 100 > LoopSchemeMaskDouble
 
typedef SingletonT< LoopSchemeMaskDoubleLoopSchemeMaskDoubleSingleton
 
typedef VectorT< signed char, 1 > Vec1c
 
typedef VectorT< unsigned char, 1 > Vec1uc
 
typedef VectorT< signed short int, 1 > Vec1s
 
typedef VectorT< unsigned short int, 1 > Vec1us
 
typedef VectorT< signed int, 1 > Vec1i
 
typedef VectorT< unsigned int, 1 > Vec1ui
 
typedef VectorT< float, 1 > Vec1f
 
typedef VectorT< double, 1 > Vec1d
 
typedef VectorT< signed char, 2 > Vec2c
 
typedef VectorT< unsigned char, 2 > Vec2uc
 
typedef VectorT< signed short int, 2 > Vec2s
 
typedef VectorT< unsigned short int, 2 > Vec2us
 
typedef VectorT< signed int, 2 > Vec2i
 
typedef VectorT< unsigned int, 2 > Vec2ui
 
typedef VectorT< float, 2 > Vec2f
 
typedef VectorT< double, 2 > Vec2d
 
typedef VectorT< signed char, 3 > Vec3c
 
typedef VectorT< unsigned char, 3 > Vec3uc
 
typedef VectorT< signed short int, 3 > Vec3s
 
typedef VectorT< unsigned short int, 3 > Vec3us
 
typedef VectorT< signed int, 3 > Vec3i
 
typedef VectorT< unsigned int, 3 > Vec3ui
 
typedef VectorT< float, 3 > Vec3f
 
typedef VectorT< double, 3 > Vec3d
 
typedef VectorT< bool, 3 > Vec3b
 
typedef VectorT< signed char, 4 > Vec4c
 
typedef VectorT< unsigned char, 4 > Vec4uc
 
typedef VectorT< signed short int, 4 > Vec4s
 
typedef VectorT< unsigned short int, 4 > Vec4us
 
typedef VectorT< signed int, 4 > Vec4i
 
typedef VectorT< unsigned int, 4 > Vec4ui
 
typedef VectorT< float, 4 > Vec4f
 
typedef VectorT< double, 4 > Vec4d
 
typedef VectorT< signed char, 5 > Vec5c
 
typedef VectorT< unsigned char, 5 > Vec5uc
 
typedef VectorT< signed short int, 5 > Vec5s
 
typedef VectorT< unsigned short int, 5 > Vec5us
 
typedef VectorT< signed int, 5 > Vec5i
 
typedef VectorT< unsigned int, 5 > Vec5ui
 
typedef VectorT< float, 5 > Vec5f
 
typedef VectorT< double, 5 > Vec5d
 
typedef VectorT< signed char, 6 > Vec6c
 
typedef VectorT< unsigned char, 6 > Vec6uc
 
typedef VectorT< signed short int, 6 > Vec6s
 
typedef VectorT< unsigned short int, 6 > Vec6us
 
typedef VectorT< signed int, 6 > Vec6i
 
typedef VectorT< unsigned int, 6 > Vec6ui
 
typedef VectorT< float, 6 > Vec6f
 
typedef VectorT< double, 6 > Vec6d
 
typedef PolyMesh_ArrayKernelT< DefaultTraitsDoublePolyMesh
 
typedef TriMesh_ArrayKernelT< DefaultTraitsDoubleTriMesh
 
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 > >
 

Functions

template<class T , typename Real >
bool is_zero (const T &_a, Real _eps)
 
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 >
sane_aarg (T _aarg)
 Trigonometry/angles - related.
 
template<class T >
angle (T _cos_angle, T _sin_angle)
 
template<class T >
positive_angle (T _angle)
 
template<class T >
positive_angle (T _cos_angle, T _sin_angle)
 
template<class T >
deg_to_rad (const T &_angle)
 
template<class 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_VECTOR_TRAITS (osg::Pnt4f)
 Vector traits for OpenSG vector type.
 
 OSG_VECTOR_TRAITS (osg::Pnt3f)
 Vector traits for OpenSG vector type.
 
 OSG_VECTOR_TRAITS (osg::Pnt2f)
 Vector traits for OpenSG vector type.
 
 OSG_VECTOR_TRAITS (osg::Vec4f)
 Vector traits for OpenSG vector type.
 
 OSG_VECTOR_TRAITS (osg::Vec3f)
 Vector traits for OpenSG vector type.
 
 OSG_VECTOR_TRAITS (osg::Vec2f)
 Vector traits for OpenSG vector type.
 
 OSG_VECTOR_TRAITS (osg::Pnt4d)
 Vector traits for OpenSG vector type.
 
 OSG_VECTOR_TRAITS (osg::Pnt3d)
 Vector traits for OpenSG vector type.
 
 OSG_VECTOR_TRAITS (osg::Pnt2d)
 Vector traits for OpenSG vector type.
 
 OSG_VECTOR_TRAITS (osg::Vec4d)
 Vector traits for OpenSG vector type.
 
 OSG_VECTOR_TRAITS (osg::Vec3d)
 Vector traits for OpenSG vector type.
 
 OSG_VECTOR_TRAITS (osg::Vec4ub)
 Vector traits for OpenSG vector type.
 
 OSG_COLOR_TRAITS (osg::Color3ub, 3)
 Vector traits for OpenSG color type.
 
 OSG_COLOR_TRAITS (osg::Color4ub, 4)
 Vector traits for OpenSG color type.
 
 OSG_COLOR_TRAITS (osg::Color3f, 3)
 Vector traits for OpenSG color type.
 
 OSG_COLOR_TRAITS (osg::Color4f, 4)
 Vector traits for OpenSG color type.
 
 PNT2VEC_CASTER (osg::Vec3f, osg::Pnt3f)
 convert Pnt3f to Vec3f
 
 PNT2VEC_CASTER (osg::Vec4f, osg::Pnt4f)
 convert Pnt4f to Vec4f
 
 PNT2VEC_CASTER (osg::Vec3d, osg::Pnt3d)
 convert Pnt3d to Vec3d
 
 PNT2VEC_CASTER (osg::Vec4d, osg::Pnt4d)
 convert Pnt4d to Vec4d
 
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)
 
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
 

Detailed Description

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

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

Get an internal name for a type Important, this is depends on compilers and versions, do NOT use in file formats! This provides property type safety when only limited RTTI is available Solution adapted from OpenVolumeMesh

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. 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.

Typedef Documentation

◆ EProp

template<typename T >
using OpenMesh::EProp = typedef PropertyManager<OpenMesh::EPropHandleT<T> >

Definition at line 945 of file PropertyManager.hh.

◆ FProp

template<typename T >
using OpenMesh::FProp = typedef PropertyManager<OpenMesh::FPropHandleT<T> >

Definition at line 948 of file PropertyManager.hh.

◆ HProp

template<typename T >
using OpenMesh::HProp = typedef PropertyManager<OpenMesh::HPropHandleT<T> >

Definition at line 942 of file PropertyManager.hh.

◆ LoopSchemeMaskDouble

Definition at line 185 of file LoopSchemeMaskT.hh.

◆ LoopSchemeMaskDoubleSingleton

◆ MeshViewerWidget

◆ MProp

template<typename T >
using OpenMesh::MProp = typedef PropertyManager<OpenMesh::MPropHandleT<T> >

Definition at line 951 of file PropertyManager.hh.

◆ PolyMesh

◆ Prop

template<typename HandleT , typename T >
using OpenMesh::Prop = typedef PropertyManager<typename PropHandle<HandleT>::template type<T> >

Definition at line 936 of file PropertyManager.hh.

◆ TriMesh

◆ VDPMMesh

◆ Vec1c

typedef VectorT< signed char, 1 > OpenMesh::Vec1c

1-byte signed vector

Definition at line 805 of file Vector11T.hh.

◆ Vec1d

typedef VectorT< double, 1 > OpenMesh::Vec1d

1-double vector

Definition at line 819 of file Vector11T.hh.

◆ Vec1f

typedef VectorT< float, 1 > OpenMesh::Vec1f

1-float vector

Definition at line 817 of file Vector11T.hh.

◆ Vec1i

typedef VectorT< signed int, 1 > OpenMesh::Vec1i

1-int signed vector

Definition at line 813 of file Vector11T.hh.

◆ Vec1s

typedef VectorT< signed short int, 1 > OpenMesh::Vec1s

1-short signed vector

Definition at line 809 of file Vector11T.hh.

◆ Vec1uc

typedef VectorT< unsigned char, 1 > OpenMesh::Vec1uc

1-byte unsigned vector

Definition at line 807 of file Vector11T.hh.

◆ Vec1ui

typedef VectorT< unsigned int, 1 > OpenMesh::Vec1ui

1-int unsigned vector

Definition at line 815 of file Vector11T.hh.

◆ Vec1us

typedef VectorT< unsigned short int, 1 > OpenMesh::Vec1us

1-short unsigned vector

Definition at line 811 of file Vector11T.hh.

◆ Vec2c

typedef VectorT< signed char, 2 > OpenMesh::Vec2c

2-byte signed vector

Definition at line 822 of file Vector11T.hh.

◆ Vec2d

typedef VectorT< double, 2 > OpenMesh::Vec2d

2-double vector

Definition at line 836 of file Vector11T.hh.

◆ Vec2f

typedef VectorT< float, 2 > OpenMesh::Vec2f

2-float vector

Definition at line 834 of file Vector11T.hh.

◆ Vec2i

typedef VectorT< signed int, 2 > OpenMesh::Vec2i

2-int signed vector

Definition at line 830 of file Vector11T.hh.

◆ Vec2s

typedef VectorT< signed short int, 2 > OpenMesh::Vec2s

2-short signed vector

Definition at line 826 of file Vector11T.hh.

◆ Vec2uc

typedef VectorT< unsigned char, 2 > OpenMesh::Vec2uc

2-byte unsigned vector

Definition at line 824 of file Vector11T.hh.

◆ Vec2ui

typedef VectorT< unsigned int, 2 > OpenMesh::Vec2ui

2-int unsigned vector

Definition at line 832 of file Vector11T.hh.

◆ Vec2us

typedef VectorT< unsigned short int, 2 > OpenMesh::Vec2us

2-short unsigned vector

Definition at line 828 of file Vector11T.hh.

◆ Vec3b

typedef VectorT< bool, 3 > OpenMesh::Vec3b

3-bool vector

Definition at line 855 of file Vector11T.hh.

◆ Vec3c

typedef VectorT< signed char, 3 > OpenMesh::Vec3c

3-byte signed vector

Definition at line 839 of file Vector11T.hh.

◆ Vec3d

typedef VectorT< double, 3 > OpenMesh::Vec3d

3-double vector

Definition at line 853 of file Vector11T.hh.

◆ Vec3f

typedef VectorT< float, 3 > OpenMesh::Vec3f

3-float vector

Definition at line 851 of file Vector11T.hh.

◆ Vec3i

typedef VectorT< signed int, 3 > OpenMesh::Vec3i

3-int signed vector

Definition at line 847 of file Vector11T.hh.

◆ Vec3s

typedef VectorT< signed short int, 3 > OpenMesh::Vec3s

3-short signed vector

Definition at line 843 of file Vector11T.hh.

◆ Vec3uc

typedef VectorT< unsigned char, 3 > OpenMesh::Vec3uc

3-byte unsigned vector

Definition at line 841 of file Vector11T.hh.

◆ Vec3ui

typedef VectorT< unsigned int, 3 > OpenMesh::Vec3ui

3-int unsigned vector

Definition at line 849 of file Vector11T.hh.

◆ Vec3us

typedef VectorT< unsigned short int, 3 > OpenMesh::Vec3us

3-short unsigned vector

Definition at line 845 of file Vector11T.hh.

◆ Vec4c

typedef VectorT< signed char, 4 > OpenMesh::Vec4c

4-byte signed vector

Definition at line 858 of file Vector11T.hh.

◆ Vec4d

typedef VectorT< double, 4 > OpenMesh::Vec4d

4-double vector

Definition at line 872 of file Vector11T.hh.

◆ Vec4f

typedef VectorT< float, 4 > OpenMesh::Vec4f

4-float vector

Definition at line 870 of file Vector11T.hh.

◆ Vec4i

typedef VectorT< signed int, 4 > OpenMesh::Vec4i

4-int signed vector

Definition at line 866 of file Vector11T.hh.

◆ Vec4s

typedef VectorT< signed short int, 4 > OpenMesh::Vec4s

4-short signed vector

Definition at line 862 of file Vector11T.hh.

◆ Vec4uc

typedef VectorT< unsigned char, 4 > OpenMesh::Vec4uc

4-byte unsigned vector

Definition at line 860 of file Vector11T.hh.

◆ Vec4ui

typedef VectorT< unsigned int, 4 > OpenMesh::Vec4ui

4-int unsigned vector

Definition at line 868 of file Vector11T.hh.

◆ Vec4us

typedef VectorT< unsigned short int, 4 > OpenMesh::Vec4us

4-short unsigned vector

Definition at line 864 of file Vector11T.hh.

◆ Vec5c

typedef VectorT< signed char, 5 > OpenMesh::Vec5c

5-byte signed vector

Definition at line 875 of file Vector11T.hh.

◆ Vec5d

typedef VectorT< double, 5 > OpenMesh::Vec5d

5-double vector

Definition at line 889 of file Vector11T.hh.

◆ Vec5f

typedef VectorT< float, 5 > OpenMesh::Vec5f

5-float vector

Definition at line 887 of file Vector11T.hh.

◆ Vec5i

typedef VectorT< signed int, 5 > OpenMesh::Vec5i

5-int signed vector

Definition at line 883 of file Vector11T.hh.

◆ Vec5s

typedef VectorT< signed short int, 5 > OpenMesh::Vec5s

5-short signed vector

Definition at line 879 of file Vector11T.hh.

◆ Vec5uc

typedef VectorT< unsigned char, 5 > OpenMesh::Vec5uc

5-byte unsigned vector

Definition at line 877 of file Vector11T.hh.

◆ Vec5ui

typedef VectorT< unsigned int, 5 > OpenMesh::Vec5ui

5-int unsigned vector

Definition at line 885 of file Vector11T.hh.

◆ Vec5us

typedef VectorT< unsigned short int, 5 > OpenMesh::Vec5us

5-short unsigned vector

Definition at line 881 of file Vector11T.hh.

◆ Vec6c

typedef VectorT< signed char, 6 > OpenMesh::Vec6c

6-byte signed vector

Definition at line 892 of file Vector11T.hh.

◆ Vec6d

typedef VectorT< double, 6 > OpenMesh::Vec6d

6-double vector

Definition at line 906 of file Vector11T.hh.

◆ Vec6f

typedef VectorT< float, 6 > OpenMesh::Vec6f

6-float vector

Definition at line 904 of file Vector11T.hh.

◆ Vec6i

typedef VectorT< signed int, 6 > OpenMesh::Vec6i

6-int signed vector

Definition at line 900 of file Vector11T.hh.

◆ Vec6s

typedef VectorT< signed short int, 6 > OpenMesh::Vec6s

6-short signed vector

Definition at line 896 of file Vector11T.hh.

◆ Vec6uc

typedef VectorT< unsigned char, 6 > OpenMesh::Vec6uc

6-byte unsigned vector

Definition at line 894 of file Vector11T.hh.

◆ Vec6ui

typedef VectorT< unsigned int, 6 > OpenMesh::Vec6ui

6-int unsigned vector

Definition at line 902 of file Vector11T.hh.

◆ Vec6us

typedef VectorT< unsigned short int, 6 > OpenMesh::Vec6us

6-short unsigned vector

Definition at line 898 of file Vector11T.hh.

◆ VProp

template<typename T >
using OpenMesh::VProp = typedef PropertyManager<OpenMesh::VPropHandleT<T> >

Definition at line 939 of file PropertyManager.hh.

Function Documentation

◆ angle()

template<class T >
T OpenMesh::angle ( _cos_angle,
_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]

Definition at line 140 of file MathDefs.hh.

◆ 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)

Definition at line 237 of file PropertyCreator.hh.

◆ cross()

osg::Vec3f OpenMesh::cross ( const osg::Vec3f &  _v1,
const osg::Vec3f &  _v2 
)
inline

Definition at line 191 of file VectorAdapter.hh.

◆ deg_to_rad()

template<class T >
T OpenMesh::deg_to_rad ( const T &  _angle)
inline

Definition at line 155 of file MathDefs.hh.

◆ dot() [1/3]

osg::Vec2f::ValueType OpenMesh::dot ( const osg::Vec2f &  _v1,
const osg::Vec2f &  _v2 
)
inline

Definition at line 186 of file VectorAdapter.hh.

◆ dot() [2/3]

osg::Vec3f::ValueType OpenMesh::dot ( const osg::Vec3f &  _v1,
const osg::Pnt3f &  _v2 
)
inline

Definition at line 181 of file VectorAdapter.hh.

◆ dot() [3/3]

osg::Vec3f::ValueType OpenMesh::dot ( const osg::Vec3f &  _v1,
const osg::Vec3f &  _v2 
)
inline

Adapter for osg vector member computing a scalar product.

Definition at line 176 of file VectorAdapter.hh.

◆ eps__() [1/2]

double OpenMesh::eps__ ( double  )
inline

Definition at line 92 of file MathDefs.hh.

◆ eps__() [2/2]

float OpenMesh::eps__ ( float  )
inline

Definition at line 89 of file MathDefs.hh.

◆ for()

OpenMesh::for ( )

Definition at line 706 of file Vector11T.hh.

◆ get_type_name()

template<typename T >
std::string OpenMesh::get_type_name ( )

Definition at line 17 of file typename.hh.

◆ hash_value()

size_t OpenMesh::hash_value ( const BaseHandle h)
inline

Definition at line 105 of file Handles.hh.

◆ is_eq() [1/2]

template<class T1 , class T2 >
bool OpenMesh::is_eq ( const T1 &  a,
const T2 &  b 
)
inline

Definition at line 100 of file MathDefs.hh.

◆ is_eq() [2/2]

template<class T1 , class T2 , typename Real >
bool OpenMesh::is_eq ( const T1 &  a,
const T2 &  b,
Real  _eps 
)
inline

Definition at line 65 of file MathDefs.hh.

◆ is_ge() [1/2]

template<class T1 , class T2 >
bool OpenMesh::is_ge ( const T1 &  a,
const T2 &  b 
)
inline

Definition at line 108 of file MathDefs.hh.

◆ is_ge() [2/2]

template<class T1 , class T2 , typename Real >
bool OpenMesh::is_ge ( const T1 &  a,
const T2 &  b,
Real  _eps 
)
inline

Definition at line 73 of file MathDefs.hh.

◆ is_gt() [1/2]

template<class T1 , class T2 >
bool OpenMesh::is_gt ( const T1 &  a,
const T2 &  b 
)
inline

Definition at line 104 of file MathDefs.hh.

◆ is_gt() [2/2]

template<class T1 , class T2 , typename Real >
bool OpenMesh::is_gt ( const T1 &  a,
const T2 &  b,
Real  _eps 
)
inline

Definition at line 69 of file MathDefs.hh.

◆ is_le() [1/2]

template<class T1 , class T2 >
bool OpenMesh::is_le ( const T1 &  a,
const T2 &  b 
)
inline

Definition at line 116 of file MathDefs.hh.

◆ is_le() [2/2]

template<class T1 , class T2 , typename Real >
bool OpenMesh::is_le ( const T1 &  a,
const T2 &  b,
Real  _eps 
)
inline

Definition at line 81 of file MathDefs.hh.

◆ is_lt() [1/2]

template<class T1 , class T2 >
bool OpenMesh::is_lt ( const T1 &  a,
const T2 &  b 
)
inline

Definition at line 112 of file MathDefs.hh.

◆ is_lt() [2/2]

template<class T1 , class T2 , typename Real >
bool OpenMesh::is_lt ( const T1 &  a,
const T2 &  b,
Real  _eps 
)
inline

Definition at line 77 of file MathDefs.hh.

◆ is_zero() [1/2]

template<class T , typename Real >
bool OpenMesh::is_zero ( const T &  _a,
Real  _eps 
)
inline

comparison operators with user-selected precision control

Definition at line 61 of file MathDefs.hh.

◆ is_zero() [2/2]

template<class T >
bool OpenMesh::is_zero ( const T &  a)
inline

Definition at line 96 of file MathDefs.hh.

◆ log_()

double OpenMesh::log_ ( double  _value)
inline

Definition at line 162 of file MathDefs.hh.

◆ make_smart() [1/8]

SmartEdgeHandle OpenMesh::make_smart ( EdgeHandle  _eh,
const PolyConnectivity _mesh 
)
inline

Creats a SmartEdgeHandle from an EdgeHandle and a Mesh.

Definition at line 278 of file SmartHandles.hh.

◆ make_smart() [2/8]

SmartEdgeHandle OpenMesh::make_smart ( EdgeHandle  _eh,
const PolyConnectivity _mesh 
)
inline

Creats a SmartEdgeHandle from an EdgeHandle and a Mesh.

Definition at line 269 of file SmartHandles.hh.

◆ make_smart() [3/8]

SmartFaceHandle OpenMesh::make_smart ( FaceHandle  _fh,
const PolyConnectivity _mesh 
)
inline

Creats a SmartFaceHandle from a FaceHandle and a Mesh.

Definition at line 280 of file SmartHandles.hh.

◆ make_smart() [4/8]

SmartFaceHandle OpenMesh::make_smart ( FaceHandle  _fh,
const PolyConnectivity _mesh 
)
inline

Creats a SmartFaceHandle from a FaceHandle and a Mesh.

Definition at line 271 of file SmartHandles.hh.

◆ make_smart() [5/8]

SmartHalfedgeHandle OpenMesh::make_smart ( HalfedgeHandle  _hh,
const PolyConnectivity _mesh 
)
inline

Creats a SmartHalfedgeHandle from a HalfedgeHandle and a Mesh.

Definition at line 276 of file SmartHandles.hh.

◆ make_smart() [6/8]

SmartHalfedgeHandle OpenMesh::make_smart ( HalfedgeHandle  _hh,
const PolyConnectivity _mesh 
)
inline

Creats a SmartHalfedgeHandle from a HalfedgeHandle and a Mesh.

Definition at line 267 of file SmartHandles.hh.

◆ make_smart() [7/8]

SmartVertexHandle OpenMesh::make_smart ( VertexHandle  _vh,
const PolyConnectivity _mesh 
)
inline

Creats a SmartVertexHandle from a VertexHandle and a Mesh.

Definition at line 274 of file SmartHandles.hh.

◆ make_smart() [8/8]

SmartVertexHandle OpenMesh::make_smart ( VertexHandle  _vh,
const PolyConnectivity _mesh 
)
inline

Creats a SmartVertexHandle from a VertexHandle and a Mesh.

Definition at line 265 of file SmartHandles.hh.

◆ mesh_cast() [1/4]

template<typename LHS , typename KERNEL >
const LHS OpenMesh::mesh_cast ( const PolyMeshT< KERNEL > &  rhs)

Definition at line 663 of file PolyMeshT.hh.

◆ mesh_cast() [2/4]

template<typename LHS , typename KERNEL >
const LHS OpenMesh::mesh_cast ( const PolyMeshT< KERNEL > *  rhs)

Definition at line 668 of file PolyMeshT.hh.

◆ mesh_cast() [3/4]

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
See also
MeshCast
Parameters
rhs
Returns

Definition at line 653 of file PolyMeshT.hh.

◆ mesh_cast() [4/4]

template<typename LHS , typename KERNEL >
LHS OpenMesh::mesh_cast ( PolyMeshT< KERNEL > *  rhs)

Definition at line 658 of file PolyMeshT.hh.

◆ operator*()

template<typename Scalar , int DIM, typename OtherScalar >
auto OpenMesh::operator* ( const OtherScalar &  _s,
const VectorT< Scalar, DIM > &  rhs 
) -> decltype(rhs.operator*(_s))

Component wise multiplication from the left.

Definition at line 693 of file Vector11T.hh.

◆ operator<<()

std::ostream & OpenMesh::operator<< ( std::ostream &  _os,
const BaseHandle _hnd 
)
inline

Write handle _hnd to stream _os.

Definition at line 110 of file Handles.hh.

◆ POLYMESH_CAST() [1/2]

template<class Traits >
const PolyMesh_ArrayKernelT< Traits > & OpenMesh::POLYMESH_CAST ( const TriMesh_ArrayKernelT< Traits > &  _tri_mesh)
inline

Definition at line 68 of file Casts.hh.

◆ POLYMESH_CAST() [2/2]

template<class Traits >
PolyMesh_ArrayKernelT< Traits > & OpenMesh::POLYMESH_CAST ( TriMesh_ArrayKernelT< Traits > &  _tri_mesh)
inline

Definition at line 64 of file Casts.hh.

◆ positive_angle() [1/2]

template<class T >
T OpenMesh::positive_angle ( _angle)
inline

Definition at line 147 of file MathDefs.hh.

◆ positive_angle() [2/2]

template<class T >
T OpenMesh::positive_angle ( _cos_angle,
_sin_angle 
)
inline

Definition at line 151 of file MathDefs.hh.

◆ rad_to_deg()

template<class T >
T OpenMesh::rad_to_deg ( const T &  _angle)
inline

Definition at line 159 of file MathDefs.hh.

◆ sane_aarg()

template<class T >
T OpenMesh::sane_aarg ( _aarg)
inline

Trigonometry/angles - related.

Definition at line 122 of file MathDefs.hh.

◆ smooth_mesh()

template<class _Mesh >
void OpenMesh::smooth_mesh ( _Mesh &  _m,
uint  _n_iters 
)

Definition at line 98 of file smooth_mesh.hh.

◆ smooth_mesh_property()

template<class _Mesh , class _PropertyHandle >
void OpenMesh::smooth_mesh_property ( unsigned int  _n_iters,
_Mesh &  _m,
_PropertyHandle  _pph 
)

Definition at line 56 of file smooth_mesh.hh.

◆ TRIMESH_CAST() [1/2]

template<class Traits >
const TriMesh_ArrayKernelT< Traits > & OpenMesh::TRIMESH_CAST ( const PolyMesh_ArrayKernelT< Traits > &  _poly_mesh)
inline

Definition at line 60 of file Casts.hh.

◆ TRIMESH_CAST() [2/2]

template<class Traits >
TriMesh_ArrayKernelT< Traits > & OpenMesh::TRIMESH_CAST ( PolyMesh_ArrayKernelT< Traits > &  _poly_mesh)
inline

Definition at line 56 of file Casts.hh.

◆ vector_cast() [1/3]

template<typename src_t , typename dst_t >
void OpenMesh::vector_cast ( const src_t &  ,
dst_t &  ,
GenProg::Int2Type< 0 >   
)
inline

Cast vector type to another vector type by copying the vector elements.

Definition at line 89 of file vector_cast.hh.

◆ vector_cast() [2/3]

template<typename dst_t , typename src_t >
vector_caster< dst_t, src_t >::return_type OpenMesh::vector_cast ( const src_t &  _src)
inline

Cast vector type to another vector type by copying the vector elements.

Definition at line 145 of file vector_cast.hh.

◆ vector_cast() [3/3]

template<typename src_t , typename dst_t , int n>
void OpenMesh::vector_cast ( const src_t &  _src,
dst_t &  _dst,
GenProg::Int2Type< n >   
)
inline

Cast vector type to another vector type by copying the vector elements.

Definition at line 81 of file vector_cast.hh.

◆ vector_copy() [1/2]

template<typename src_t , typename dst_t >
void OpenMesh::vector_copy ( const src_t &  ,
dst_t &  ,
GenProg::Int2Type< 0 >   
)
inline

Cast vector type to another vector type by copying the vector elements.

Definition at line 102 of file vector_cast.hh.

◆ vector_copy() [2/2]

template<typename src_t , typename dst_t , int n>
void OpenMesh::vector_copy ( const src_t &  _src,
dst_t &  _dst,
GenProg::Int2Type< n >   
)
inline

Cast vector type to another vector type by copying the vector elements.

Definition at line 94 of file vector_cast.hh.

Variable Documentation

◆ dbl_eps__

const double OpenMesh::dbl_eps__ = 1e-09

Definition at line 87 of file MathDefs.hh.

◆ flt_eps__

const float OpenMesh::flt_eps__ = (float)1e-05

Definition at line 86 of file MathDefs.hh.

◆ is

return OpenMesh::is

Definition at line 719 of file Vector11T.hh.

◆ os

return OpenMesh::os

Definition at line 709 of file Vector11T.hh.