Developer Documentation
VoronoiAreaTriMeshT< MeshT > Class Template Reference

Implementation of Voronoi area computation as described in "Discrete Differential-Geometry Operators for Triangulated 2-Manifolds" by M. Meyer et al. More...

#include <OpenFlipper/libs_required/MeshTools/VoronoiAreaTriMeshT.hpp>

Public Member Functions

 VoronoiAreaTriMeshT (const MeshT &_mesh, bool _obtuse_handling=true)
 
const OpenMesh::EPropHandleT< typename MeshT::Scalar > & cotan_weight_prop () const
 
MeshT::Scalar get_voronoi_area (const typename MeshT::VertexHandle &_vh) const
 

Private Member Functions

MeshT::Scalar area (const typename MeshT::FaceHandle &_fh) const
 
MeshT::Scalar voronoi_area (const typename MeshT::HalfedgeHandle &_heh) const
 
void tag_obtuse_triangles () const
 
void compute_cotan_weights () const
 
MeshT::Scalar cotan_weight (const typename MeshT::HalfedgeHandle &_he) const
 
bool is_obtuse (const typename MeshT::FaceHandle &_fh) const
 

Private Attributes

const MeshTmesh_
 
const bool obtuse_handling_
 
OpenMesh::FPropHandleT< bool > obtuse_tag_
 
OpenMesh::EPropHandleT< typename MeshT::Scalar > cotan_weights_
 

Detailed Description

template<class MeshT>
class VoronoiAreaTriMeshT< MeshT >

Implementation of Voronoi area computation as described in "Discrete Differential-Geometry Operators for Triangulated 2-Manifolds" by M. Meyer et al.

Definition at line 20 of file VoronoiAreaTriMeshT.hpp.

Constructor & Destructor Documentation

◆ VoronoiAreaTriMeshT()

template<class MeshT >
VoronoiAreaTriMeshT< MeshT >::VoronoiAreaTriMeshT ( const MeshT _mesh,
bool  _obtuse_handling = true 
)
inline

Definition at line 22 of file VoronoiAreaTriMeshT.hpp.

◆ ~VoronoiAreaTriMeshT()

template<class MeshT >
virtual VoronoiAreaTriMeshT< MeshT >::~VoronoiAreaTriMeshT ( )
inlinevirtual

Definition at line 38 of file VoronoiAreaTriMeshT.hpp.

Member Function Documentation

◆ area()

template<class MeshT >
MeshT::Scalar VoronoiAreaTriMeshT< MeshT >::area ( const typename MeshT::FaceHandle &  _fh) const
inlineprivate

Definition at line 97 of file VoronoiAreaTriMeshT.hpp.

◆ compute_cotan_weights()

template<class MeshT >
void VoronoiAreaTriMeshT< MeshT >::compute_cotan_weights ( ) const
inlineprivate

Definition at line 137 of file VoronoiAreaTriMeshT.hpp.

◆ cotan_weight()

template<class MeshT >
MeshT::Scalar VoronoiAreaTriMeshT< MeshT >::cotan_weight ( const typename MeshT::HalfedgeHandle &  _he) const
inlineprivate

Definition at line 149 of file VoronoiAreaTriMeshT.hpp.

◆ cotan_weight_prop()

template<class MeshT >
const OpenMesh::EPropHandleT< typename MeshT::Scalar > & VoronoiAreaTriMeshT< MeshT >::cotan_weight_prop ( ) const
inline

Definition at line 47 of file VoronoiAreaTriMeshT.hpp.

◆ get_voronoi_area()

template<class MeshT >
MeshT::Scalar VoronoiAreaTriMeshT< MeshT >::get_voronoi_area ( const typename MeshT::VertexHandle &  _vh) const
inline

Definition at line 51 of file VoronoiAreaTriMeshT.hpp.

◆ is_obtuse()

template<class MeshT >
bool VoronoiAreaTriMeshT< MeshT >::is_obtuse ( const typename MeshT::FaceHandle &  _fh) const
inlineprivate

Definition at line 166 of file VoronoiAreaTriMeshT.hpp.

◆ tag_obtuse_triangles()

template<class MeshT >
void VoronoiAreaTriMeshT< MeshT >::tag_obtuse_triangles ( ) const
inlineprivate

Definition at line 118 of file VoronoiAreaTriMeshT.hpp.

◆ voronoi_area()

template<class MeshT >
MeshT::Scalar VoronoiAreaTriMeshT< MeshT >::voronoi_area ( const typename MeshT::HalfedgeHandle &  _heh) const
inlineprivate

Definition at line 108 of file VoronoiAreaTriMeshT.hpp.

Member Data Documentation

◆ cotan_weights_

template<class MeshT >
OpenMesh::EPropHandleT<typename MeshT::Scalar> VoronoiAreaTriMeshT< MeshT >::cotan_weights_
private

Definition at line 175 of file VoronoiAreaTriMeshT.hpp.

◆ mesh_

template<class MeshT >
const MeshT& VoronoiAreaTriMeshT< MeshT >::mesh_
private

Definition at line 170 of file VoronoiAreaTriMeshT.hpp.

◆ obtuse_handling_

template<class MeshT >
const bool VoronoiAreaTriMeshT< MeshT >::obtuse_handling_
private

Definition at line 171 of file VoronoiAreaTriMeshT.hpp.

◆ obtuse_tag_

template<class MeshT >
OpenMesh::FPropHandleT<bool> VoronoiAreaTriMeshT< MeshT >::obtuse_tag_
private

Definition at line 173 of file VoronoiAreaTriMeshT.hpp.


The documentation for this class was generated from the following file: