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
 
struct  VectorDataT
 
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_HEADER std::istream & operator>> (std::istream &is, VectorT< Scalar, DIM > &vec)
 read the space-separated components of a vector from a stream
 
TEMPLATE_HEADER std::ostream & operator<< (std::ostream &os, const VectorT< Scalar, DIM > &vec)
 output a vector by printing its space-separated compontens
 
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)
 
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 >
void vector_copy (const src_t &_src, dst_t &_dst, GenProg::Int2Type< 1 >)
 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 &_src, dst_t &_dst, GenProg::Int2Type< 2 >)
 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 &_src, dst_t &_dst, GenProg::Int2Type< 3 >)
 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 &_src, dst_t &_dst, GenProg::Int2Type< 4 >)
 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 &_src, dst_t &_dst, GenProg::Int2Type< 5 >)
 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 &_src, dst_t &_dst, GenProg::Int2Type< 6 >)
 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
 

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 274 of file VectorT.hh.

typedef VectorT<double,1> OpenMesh::Vec1d

1-double vector

Definition at line 288 of file VectorT.hh.

typedef VectorT<float,1> OpenMesh::Vec1f

1-float vector

Definition at line 286 of file VectorT.hh.

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

1-int signed vector

Definition at line 282 of file VectorT.hh.

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

1-short signed vector

Definition at line 278 of file VectorT.hh.

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

1-byte unsigned vector

Definition at line 276 of file VectorT.hh.

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

1-int unsigned vector

Definition at line 284 of file VectorT.hh.

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

1-short unsigned vector

Definition at line 280 of file VectorT.hh.

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

2-byte signed vector

Definition at line 291 of file VectorT.hh.

typedef VectorT<double,2> OpenMesh::Vec2d

2-double vector

Definition at line 305 of file VectorT.hh.

typedef VectorT<float,2> OpenMesh::Vec2f

2-float vector

Definition at line 303 of file VectorT.hh.

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

2-int signed vector

Definition at line 299 of file VectorT.hh.

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

2-short signed vector

Definition at line 295 of file VectorT.hh.

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

2-byte unsigned vector

Definition at line 293 of file VectorT.hh.

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

2-int unsigned vector

Definition at line 301 of file VectorT.hh.

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

2-short unsigned vector

Definition at line 297 of file VectorT.hh.

typedef VectorT<bool,3> OpenMesh::Vec3b

3-bool vector

Definition at line 324 of file VectorT.hh.

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

3-byte signed vector

Definition at line 308 of file VectorT.hh.

typedef VectorT<double,3> OpenMesh::Vec3d

3-double vector

Definition at line 322 of file VectorT.hh.

typedef VectorT<float,3> OpenMesh::Vec3f

3-float vector

Definition at line 320 of file VectorT.hh.

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

3-int signed vector

Definition at line 316 of file VectorT.hh.

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

3-short signed vector

Definition at line 312 of file VectorT.hh.

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

3-byte unsigned vector

Definition at line 310 of file VectorT.hh.

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

3-int unsigned vector

Definition at line 318 of file VectorT.hh.

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

3-short unsigned vector

Definition at line 314 of file VectorT.hh.

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

4-byte signed vector

Definition at line 327 of file VectorT.hh.

typedef VectorT<double,4> OpenMesh::Vec4d

4-double vector

Definition at line 341 of file VectorT.hh.

typedef VectorT<float,4> OpenMesh::Vec4f

4-float vector

Definition at line 339 of file VectorT.hh.

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

4-int signed vector

Definition at line 335 of file VectorT.hh.

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

4-short signed vector

Definition at line 331 of file VectorT.hh.

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

4-byte unsigned vector

Definition at line 329 of file VectorT.hh.

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

4-int unsigned vector

Definition at line 337 of file VectorT.hh.

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

4-short unsigned vector

Definition at line 333 of file VectorT.hh.

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

5-byte signed vector

Definition at line 344 of file VectorT.hh.

typedef VectorT<double, 5> OpenMesh::Vec5d

5-double vector

Definition at line 358 of file VectorT.hh.

typedef VectorT<float, 5> OpenMesh::Vec5f

5-float vector

Definition at line 356 of file VectorT.hh.

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

5-int signed vector

Definition at line 352 of file VectorT.hh.

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

5-short signed vector

Definition at line 348 of file VectorT.hh.

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

5-byte unsigned vector

Definition at line 346 of file VectorT.hh.

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

5-int unsigned vector

Definition at line 354 of file VectorT.hh.

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

5-short unsigned vector

Definition at line 350 of file VectorT.hh.

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

6-byte signed vector

Definition at line 361 of file VectorT.hh.

typedef VectorT<double,6> OpenMesh::Vec6d

6-double vector

Definition at line 375 of file VectorT.hh.

typedef VectorT<float,6> OpenMesh::Vec6f

6-float vector

Definition at line 373 of file VectorT.hh.

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

6-int signed vector

Definition at line 369 of file VectorT.hh.

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

6-short signed vector

Definition at line 365 of file VectorT.hh.

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

6-byte unsigned vector

Definition at line 363 of file VectorT.hh.

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

6-int unsigned vector

Definition at line 371 of file VectorT.hh.

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

6-short unsigned vector

Definition at line 367 of file VectorT.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 137 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 58 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 544 of file PolyMeshT.hh.