![]() |
OpenMesh
|
This file contains all code required to use Eigen3 vectors as Mesh vectors. More...
Namespaces | |
Attributes | |
Concepts | |
Decimater | |
GenProg | |
IO | |
Iterators | |
Kernel_OSG | |
Utils | |
VDPM | |
Classes | |
class | ArrayKernel |
class | AttribKernelT |
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 |
class | BaseProperty |
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 |
struct | EdgeHandle |
Handle for a edge entity. More... | |
class | Endian |
Determine byte order of host system. More... | |
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 | HandleToPropHandle |
struct | HandleToPropHandle< OpenMesh::EdgeHandle, T > |
struct | HandleToPropHandle< OpenMesh::FaceHandle, T > |
struct | HandleToPropHandle< OpenMesh::HalfedgeHandle, T > |
struct | HandleToPropHandle< OpenMesh::VertexHandle, T > |
struct | HandleToPropHandle< void, T > |
struct | HPropHandleT |
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 |
class | NormalConeT |
/class NormalCone NormalCone.hh <ACG/Geometry/Types/NormalCone.hh> More... | |
class | PolyConnectivity |
Connectivity Class for polygonal meshes. More... | |
struct | PolyConnectivityTag |
Connectivity tag indicating that the tagged mesh has polygon connectivity. 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 |
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 | SmartTaggerET |
class | SmartTaggerFT |
class | SmartTaggerHT |
class | SmartTaggerT |
Smart Tagger. More... | |
class | SmartTaggerVT |
class | StripifierT |
class | TriConnectivity |
Connectivity Class for Triangle Meshes. More... | |
struct | TriConnectivityTag |
Connectivity tag indicating that the tagged mesh has triangle connectivity. 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_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< Custom::Vec< DIM > > |
struct | vector_traits< Eigen::Matrix< _Scalar, _Rows, _Cols, _Options > > |
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 |
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) |
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) |
osg::Vec2f::ValueType | dot (const osg::Vec2f &_v1, const osg::Vec2f &_v2) |
osg::Vec3f | cross (const osg::Vec3f &_v1, const osg::Vec3f &_v2) |
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. | |
Variables | |
const float | flt_eps__ = (float)1e-05 |
const double | dbl_eps__ = 1e-09 |
return | os |
return | is |
This file contains all code required to use Eigen3 vectors as Mesh vectors.
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.
Contains all the mesh ingredients like the polygonal mesh, the triangle mesh, different mesh kernels and mesh traits.
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 |