![]() |
OpenMesh
|
Contains all the mesh ingredients like the polygonal mesh, the triangle mesh, different mesh kernels and mesh traits. More...
Namespaces | |
| Attributes | |
| This namespace holds per item attributes like normal/color. | |
| Concepts | |
| Descriptions of the concepts used in OpenMesh. | |
| Decimater | |
| Software related to mesh decimation. | |
| GenProg | |
| Utilities for generative programming. | |
| IO | |
| This namespace contains functions for reading and writing polygonal meshes and a list of supported file formats. | |
| Iterators | |
| Contains all mesh iterators and circulators. | |
| Kernel_OSG | |
| In this namespace resides the OpenSG integration of OpenMesh. | |
| Python | |
| This namespace contains classes and functions that are used to expose OpenMesh to Python. | |
| Utils | |
| Collection of little utility classes and helpers. | |
| VDPM | |
| Software related to view dependent progressive meshes. | |
Classes | |
| 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 | AutoPropertyHandleT |
| class | BaseHandle |
| Base class for all handle types. More... | |
| class | BaseKernel |
| This class provides the basic property management like adding/removing properties and access to properties. More... | |
| class | BaseMesh |
| Base class for all meshes. More... | |
| class | BaseProperty |
| Abstract class defining the basic interface of a dynamic property. More... | |
| struct | BasePropHandleT |
| Base property handle. More... | |
| struct | color_caster< osg::Color3f, osg::Color3ub > |
| Helper struct. More... | |
| struct | color_caster< osg::Color3ub, osg::Color3f > |
| Helper struct. More... | |
| class | DefaultTraits |
| Base class for all traits. More... | |
| struct | EdgeHandle |
| Handle for a edge entity. More... | |
| class | Endian |
| Determine byte order of host system. More... | |
| struct | EPropHandleT |
| Handle representing an edge property. More... | |
| struct | FaceHandle |
| Handle for a face entity. More... | |
| struct | FinalMeshItemsT |
| Definition of the mesh entities (items). More... | |
| struct | FPropHandleT |
| Handle representing a face property. More... | |
| struct | HalfedgeHandle |
| Handle for a halfedge entity. More... | |
| struct | HPropHandleT |
| Handle representing a halfedge property. More... | |
| class | LoopSchemeMaskT |
| implements cache for the weights of the original Loop scheme supported: More... | |
| struct | MergeTraits |
| Helper class to merge two mesh traits. More... | |
| 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 |
| Handle representing a mesh property. More... | |
| class | NormalConeT |
| /class NormalCone NormalCone.hh <ACG/Geometry/Types/NormalCone.hh> More... | |
| class | PolyConnectivity |
| Connectivity Class for polygonal meshes. 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 | PropertyContainer |
| A a container for properties. More... | |
| class | PropertyManager |
| This class is intended to manage the lifecycle of properties. More... | |
| class | PropertyT |
| Default property class for any type T. More... | |
| class | PropertyT< bool > |
| Property specialization for bool type. More... | |
| class | PropertyT< std::string > |
| Property specialization for std::string type. More... | |
| 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... | |
| class | StripifierT |
| This class decomposes a triangle mesh into several triangle strips. 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 | TriMesh_ArrayKernelT |
| Triangle mesh based on the ArrayKernel. More... | |
| class | TriMeshT |
| Base type for a triangle mesh. More... | |
| class | VDPMSynthesizerViewerWidget |
| struct | vector_caster< osg::Vec3d, osg::Pnt3d > |
| convert Pnt3d to Vec3d More... | |
| struct | vector_caster< osg::Vec3f, osg::Pnt3f > |
| convert Pnt3f to Vec3f More... | |
| struct | vector_caster< osg::Vec4d, osg::Pnt4d > |
| convert Pnt4d to Vec4d More... | |
| struct | vector_caster< osg::Vec4f, osg::Pnt4f > |
| convert Pnt4f to Vec4f More... | |
| struct | vector_traits |
| Helper class providing information about a vector type. More... | |
| struct | vector_traits< osg::Color3f > |
| Vector traits for OpenSG color type. More... | |
| struct | vector_traits< osg::Color3ub > |
| Vector traits for OpenSG color type. More... | |
| struct | vector_traits< osg::Color4f > |
| Vector traits for OpenSG color type. More... | |
| struct | vector_traits< osg::Color4ub > |
| Vector traits for OpenSG color type. More... | |
| struct | vector_traits< osg::Pnt2d > |
| Vector traits for OpenSG vector type. More... | |
| struct | vector_traits< osg::Pnt2f > |
| Vector traits for OpenSG vector type. More... | |
| struct | vector_traits< osg::Pnt3d > |
| Vector traits for OpenSG vector type. More... | |
| struct | vector_traits< osg::Pnt3f > |
| Vector traits for OpenSG vector type. More... | |
| struct | vector_traits< osg::Pnt4d > |
| Vector traits for OpenSG vector type. More... | |
| struct | vector_traits< osg::Pnt4f > |
| Vector traits for OpenSG vector type. More... | |
| struct | vector_traits< osg::Vec2f > |
| Vector traits for OpenSG vector type. More... | |
| struct | vector_traits< osg::Vec3d > |
| Vector traits for OpenSG vector type. More... | |
| struct | vector_traits< osg::Vec3f > |
| Vector traits for OpenSG vector type. More... | |
| struct | vector_traits< osg::Vec4d > |
| Vector traits for OpenSG vector type. More... | |
| struct | vector_traits< osg::Vec4f > |
| Vector traits for OpenSG vector type. More... | |
| struct | vector_traits< osg::Vec4ub > |
| Vector traits for OpenSG vector type. More... | |
| class | VectorT |
| struct | VertexHandle |
| Handle for a vertex entity. More... | |
| struct | VPropHandleT |
| Handle representing a vertex property. More... | |
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 | |
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. 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) |
| 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 |
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.
| LHS OpenMesh::mesh_cast | ( | PolyMeshT< KERNEL > & | rhs | ) |
Cast a mesh with different but identical traits into each other.
Example:
| rhs |