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