Developer Documentation
|
Namespaces | |
Attributes | |
Concepts | |
Decimater | |
GenProg | |
IO | |
Iterators | |
Kernel_OSG | |
Utils | |
VDPM | |
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 |
typedef PolyMesh_ArrayKernelT< DefaultTraitsDouble > | PolyMesh |
typedef TriMesh_ArrayKernelT< DefaultTraitsDouble > | TriMesh |
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 > | |
T | sane_aarg (T _aarg) |
Trigonometry/angles - related. | |
template<class T > | |
T | angle (T _cos_angle, T _sin_angle) |
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) |
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 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 | |
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.
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 VectorT< signed char, 1 > OpenMesh::Vec1c |
1-byte signed vector
Definition at line 785 of file Vector11T.hh.
typedef VectorT< double, 1 > OpenMesh::Vec1d |
1-double vector
Definition at line 799 of file Vector11T.hh.
typedef VectorT< float, 1 > OpenMesh::Vec1f |
1-float vector
Definition at line 797 of file Vector11T.hh.
typedef VectorT< signed int, 1 > OpenMesh::Vec1i |
1-int signed vector
Definition at line 793 of file Vector11T.hh.
typedef VectorT< signed short int, 1 > OpenMesh::Vec1s |
1-short signed vector
Definition at line 789 of file Vector11T.hh.
typedef VectorT< unsigned char, 1 > OpenMesh::Vec1uc |
1-byte unsigned vector
Definition at line 787 of file Vector11T.hh.
typedef VectorT< unsigned int, 1 > OpenMesh::Vec1ui |
1-int unsigned vector
Definition at line 795 of file Vector11T.hh.
typedef VectorT< unsigned short int, 1 > OpenMesh::Vec1us |
1-short unsigned vector
Definition at line 791 of file Vector11T.hh.
typedef VectorT< signed char, 2 > OpenMesh::Vec2c |
2-byte signed vector
Definition at line 802 of file Vector11T.hh.
typedef VectorT< double, 2 > OpenMesh::Vec2d |
2-double vector
Definition at line 816 of file Vector11T.hh.
typedef VectorT< float, 2 > OpenMesh::Vec2f |
2-float vector
Definition at line 814 of file Vector11T.hh.
typedef VectorT< signed int, 2 > OpenMesh::Vec2i |
2-int signed vector
Definition at line 810 of file Vector11T.hh.
typedef VectorT< signed short int, 2 > OpenMesh::Vec2s |
2-short signed vector
Definition at line 806 of file Vector11T.hh.
typedef VectorT< unsigned char, 2 > OpenMesh::Vec2uc |
2-byte unsigned vector
Definition at line 804 of file Vector11T.hh.
typedef VectorT< unsigned int, 2 > OpenMesh::Vec2ui |
2-int unsigned vector
Definition at line 812 of file Vector11T.hh.
typedef VectorT< unsigned short int, 2 > OpenMesh::Vec2us |
2-short unsigned vector
Definition at line 808 of file Vector11T.hh.
typedef VectorT< bool, 3 > OpenMesh::Vec3b |
3-bool vector
Definition at line 835 of file Vector11T.hh.
typedef VectorT< signed char, 3 > OpenMesh::Vec3c |
3-byte signed vector
Definition at line 819 of file Vector11T.hh.
typedef VectorT< double, 3 > OpenMesh::Vec3d |
3-double vector
Definition at line 833 of file Vector11T.hh.
typedef VectorT< float, 3 > OpenMesh::Vec3f |
3-float vector
Definition at line 831 of file Vector11T.hh.
typedef VectorT< signed int, 3 > OpenMesh::Vec3i |
3-int signed vector
Definition at line 827 of file Vector11T.hh.
typedef VectorT< signed short int, 3 > OpenMesh::Vec3s |
3-short signed vector
Definition at line 823 of file Vector11T.hh.
typedef VectorT< unsigned char, 3 > OpenMesh::Vec3uc |
3-byte unsigned vector
Definition at line 821 of file Vector11T.hh.
typedef VectorT< unsigned int, 3 > OpenMesh::Vec3ui |
3-int unsigned vector
Definition at line 829 of file Vector11T.hh.
typedef VectorT< unsigned short int, 3 > OpenMesh::Vec3us |
3-short unsigned vector
Definition at line 825 of file Vector11T.hh.
typedef VectorT< signed char, 4 > OpenMesh::Vec4c |
4-byte signed vector
Definition at line 838 of file Vector11T.hh.
typedef VectorT< double, 4 > OpenMesh::Vec4d |
4-double vector
Definition at line 852 of file Vector11T.hh.
typedef VectorT< float, 4 > OpenMesh::Vec4f |
4-float vector
Definition at line 850 of file Vector11T.hh.
typedef VectorT< signed int, 4 > OpenMesh::Vec4i |
4-int signed vector
Definition at line 846 of file Vector11T.hh.
typedef VectorT< signed short int, 4 > OpenMesh::Vec4s |
4-short signed vector
Definition at line 842 of file Vector11T.hh.
typedef VectorT< unsigned char, 4 > OpenMesh::Vec4uc |
4-byte unsigned vector
Definition at line 840 of file Vector11T.hh.
typedef VectorT< unsigned int, 4 > OpenMesh::Vec4ui |
4-int unsigned vector
Definition at line 848 of file Vector11T.hh.
typedef VectorT< unsigned short int, 4 > OpenMesh::Vec4us |
4-short unsigned vector
Definition at line 844 of file Vector11T.hh.
typedef VectorT< signed char, 5 > OpenMesh::Vec5c |
5-byte signed vector
Definition at line 855 of file Vector11T.hh.
typedef VectorT< double, 5 > OpenMesh::Vec5d |
5-double vector
Definition at line 869 of file Vector11T.hh.
typedef VectorT< float, 5 > OpenMesh::Vec5f |
5-float vector
Definition at line 867 of file Vector11T.hh.
typedef VectorT< signed int, 5 > OpenMesh::Vec5i |
5-int signed vector
Definition at line 863 of file Vector11T.hh.
typedef VectorT< signed short int, 5 > OpenMesh::Vec5s |
5-short signed vector
Definition at line 859 of file Vector11T.hh.
typedef VectorT< unsigned char, 5 > OpenMesh::Vec5uc |
5-byte unsigned vector
Definition at line 857 of file Vector11T.hh.
typedef VectorT< unsigned int, 5 > OpenMesh::Vec5ui |
5-int unsigned vector
Definition at line 865 of file Vector11T.hh.
typedef VectorT< unsigned short int, 5 > OpenMesh::Vec5us |
5-short unsigned vector
Definition at line 861 of file Vector11T.hh.
typedef VectorT< signed char, 6 > OpenMesh::Vec6c |
6-byte signed vector
Definition at line 872 of file Vector11T.hh.
typedef VectorT< double, 6 > OpenMesh::Vec6d |
6-double vector
Definition at line 886 of file Vector11T.hh.
typedef VectorT< float, 6 > OpenMesh::Vec6f |
6-float vector
Definition at line 884 of file Vector11T.hh.
typedef VectorT< signed int, 6 > OpenMesh::Vec6i |
6-int signed vector
Definition at line 880 of file Vector11T.hh.
typedef VectorT< signed short int, 6 > OpenMesh::Vec6s |
6-short signed vector
Definition at line 876 of file Vector11T.hh.
typedef VectorT< unsigned char, 6 > OpenMesh::Vec6uc |
6-byte unsigned vector
Definition at line 874 of file Vector11T.hh.
typedef VectorT< unsigned int, 6 > OpenMesh::Vec6ui |
6-int unsigned vector
Definition at line 882 of file Vector11T.hh.
typedef VectorT< unsigned short int, 6 > OpenMesh::Vec6us |
6-short unsigned vector
Definition at line 878 of file Vector11T.hh.
T OpenMesh::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]
Definition at line 140 of file MathDefs.hh.
|
inline |
comparison operators with user-selected precision control
Definition at line 61 of file MathDefs.hh.
LHS OpenMesh::mesh_cast | ( | PolyMeshT< KERNEL > & | rhs | ) |
Cast a mesh with different but identical traits into each other.
Example:
rhs |
Definition at line 639 of file PolyMeshT.hh.