Developer Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
OpenMesh Namespace Reference

Namespaces

 Attributes
 
 Concepts
 
 Decimater
 
 GenProg
 
 IO
 
 Iterators
 
 Kernel_OSG
 
 Python
 
 Utils
 
 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  CLASSNAME
 
struct  color_caster< osg::Color3f, osg::Color3ub >
 
struct  color_caster< osg::Color3ub, osg::Color3f >
 
class  DefaultTraits
 
struct  EdgeHandle
 Handle for a edge entity. More...
 
class  Endian
 
struct  EPropHandleT
 
struct  FaceHandle
 Handle for a face entity. More...
 
struct  FinalMeshItemsT
 Definition of the mesh entities (items). More...
 
struct  FPropHandleT
 
struct  HalfedgeHandle
 Handle for a halfedge entity. More...
 
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  MPropHandleT
 
class  NormalConeT
 
class  PolyConnectivity
 Connectivity Class for polygonal meshes. 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  PropertyManager
 
class  PropertyT
 Default property class for any type T. More...
 
class  PropertyT< bool >
 
class  PropertyT< std::string >
 
class  RandomNumberGenerator
 
class  SingletonT
 
class  StripifierT
 
class  TriConnectivity
 Connectivity Class for Triangle Meshes. 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
 
class  VectorDataT
 
class  VectorT
 
struct  VertexHandle
 Handle for a vertex entity. More...
 
struct  VPropHandleT
 

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

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. More...
 
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)
 
 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
 
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.
 
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)
 Adapter for osg vector member computing a scalar product.
 
osg::Vec2f::ValueType dot (const osg::Vec2f &_v1, const osg::Vec2f &_v2)
 Adapter for osg vector member computing a scalar product.
 
osg::Vec3f cross (const osg::Vec3f &_v1, const osg::Vec3f &_v2)
 Adapter for osg vector member computing a scalar product.
 

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.

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

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

1-byte signed vector

Definition at line 723 of file Vector11T.hh.

typedef VectorT< double, 1 > OpenMesh::Vec1d

1-double vector

Definition at line 737 of file Vector11T.hh.

typedef VectorT< float, 1 > OpenMesh::Vec1f

1-float vector

Definition at line 735 of file Vector11T.hh.

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

1-int signed vector

Definition at line 731 of file Vector11T.hh.

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

1-short signed vector

Definition at line 727 of file Vector11T.hh.

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

1-byte unsigned vector

Definition at line 725 of file Vector11T.hh.

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

1-int unsigned vector

Definition at line 733 of file Vector11T.hh.

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

1-short unsigned vector

Definition at line 729 of file Vector11T.hh.

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

2-byte signed vector

Definition at line 740 of file Vector11T.hh.

typedef VectorT< double, 2 > OpenMesh::Vec2d

2-double vector

Definition at line 754 of file Vector11T.hh.

typedef VectorT< float, 2 > OpenMesh::Vec2f

2-float vector

Definition at line 752 of file Vector11T.hh.

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

2-int signed vector

Definition at line 748 of file Vector11T.hh.

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

2-short signed vector

Definition at line 744 of file Vector11T.hh.

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

2-byte unsigned vector

Definition at line 742 of file Vector11T.hh.

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

2-int unsigned vector

Definition at line 750 of file Vector11T.hh.

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

2-short unsigned vector

Definition at line 746 of file Vector11T.hh.

typedef VectorT< bool, 3 > OpenMesh::Vec3b

3-bool vector

Definition at line 773 of file Vector11T.hh.

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

3-byte signed vector

Definition at line 757 of file Vector11T.hh.

typedef VectorT< double, 3 > OpenMesh::Vec3d

3-double vector

Definition at line 771 of file Vector11T.hh.

typedef VectorT< float, 3 > OpenMesh::Vec3f

3-float vector

Definition at line 769 of file Vector11T.hh.

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

3-int signed vector

Definition at line 765 of file Vector11T.hh.

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

3-short signed vector

Definition at line 761 of file Vector11T.hh.

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

3-byte unsigned vector

Definition at line 759 of file Vector11T.hh.

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

3-int unsigned vector

Definition at line 767 of file Vector11T.hh.

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

3-short unsigned vector

Definition at line 763 of file Vector11T.hh.

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

4-byte signed vector

Definition at line 776 of file Vector11T.hh.

typedef VectorT< double, 4 > OpenMesh::Vec4d

4-double vector

Definition at line 790 of file Vector11T.hh.

typedef VectorT< float, 4 > OpenMesh::Vec4f

4-float vector

Definition at line 788 of file Vector11T.hh.

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

4-int signed vector

Definition at line 784 of file Vector11T.hh.

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

4-short signed vector

Definition at line 780 of file Vector11T.hh.

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

4-byte unsigned vector

Definition at line 778 of file Vector11T.hh.

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

4-int unsigned vector

Definition at line 786 of file Vector11T.hh.

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

4-short unsigned vector

Definition at line 782 of file Vector11T.hh.

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

5-byte signed vector

Definition at line 793 of file Vector11T.hh.

typedef VectorT< double, 5 > OpenMesh::Vec5d

5-double vector

Definition at line 807 of file Vector11T.hh.

typedef VectorT< float, 5 > OpenMesh::Vec5f

5-float vector

Definition at line 805 of file Vector11T.hh.

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

5-int signed vector

Definition at line 801 of file Vector11T.hh.

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

5-short signed vector

Definition at line 797 of file Vector11T.hh.

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

5-byte unsigned vector

Definition at line 795 of file Vector11T.hh.

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

5-int unsigned vector

Definition at line 803 of file Vector11T.hh.

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

5-short unsigned vector

Definition at line 799 of file Vector11T.hh.

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

6-byte signed vector

Definition at line 810 of file Vector11T.hh.

typedef VectorT< double, 6 > OpenMesh::Vec6d

6-double vector

Definition at line 824 of file Vector11T.hh.

typedef VectorT< float, 6 > OpenMesh::Vec6f

6-float vector

Definition at line 822 of file Vector11T.hh.

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

6-int signed vector

Definition at line 818 of file Vector11T.hh.

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

6-short signed vector

Definition at line 814 of file Vector11T.hh.

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

6-byte unsigned vector

Definition at line 812 of file Vector11T.hh.

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

6-int unsigned vector

Definition at line 820 of file Vector11T.hh.

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

6-short unsigned vector

Definition at line 816 of file Vector11T.hh.

Function Documentation

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 145 of file MathDefs.hh.

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 66 of file MathDefs.hh.

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 592 of file PolyMeshT.hh.