Developer Documentation
IsotropicRemesher< MeshT > Class Template Reference

Public Member Functions

 IsotropicRemesher (IsoRemesherProgressEmitter *_prgEmt=NULL)
 
void remesh (MeshT &_mesh, const double _targetEdgeLength)
 do the remeshing More...
 

Private Member Functions

void splitLongEdges (MeshT &_mesh, const double _maxEdgeLength)
 performs edge splits until all edges are shorter than the threshold More...
 
void collapseShortEdges (MeshT &_mesh, const double _minEdgeLength, const double _maxEdgeLength)
 collapse edges shorter than minEdgeLength if collapsing doesn't result in new edge longer than maxEdgeLength More...
 
void equalizeValences (MeshT &_mesh)
 
int targetValence (MeshT &_mesh, const typename MeshT::VertexHandle &_vh)
 returns 4 for boundary vertices and 6 otherwise More...
 
void tangentialRelaxation (MeshT &_mesh)
 
template<class SpatialSearchT >
MeshT::Point findNearestPoint (const MeshT &_mesh, const typename MeshT::Point &_point, typename MeshT::FaceHandle &_fh, SpatialSearchT *_ssearch, double *_dbest)
 
OpenMeshTriangleBSPT< MeshT > * getTriangleBSP (MeshT &_mesh)
 
template<class SpatialSearchT >
void projectToSurface (MeshT &_mesh, MeshT &_original, SpatialSearchT *_ssearch)
 
bool isBoundary (MeshT &_mesh, const typename MeshT::VertexHandle &_vh)
 
bool isFeature (MeshT &_mesh, const typename MeshT::VertexHandle &_vh)
 

Private Attributes

IsoRemesherProgressEmitterprgEmt_
 

Detailed Description

template<class MeshT>
class IsotropicRemesher< MeshT >

Definition at line 50 of file IsotropicRemesherT.hh.

Constructor & Destructor Documentation

◆ IsotropicRemesher()

template<class MeshT >
IsotropicRemesher< MeshT >::IsotropicRemesher ( IsoRemesherProgressEmitter _prgEmt = NULL)
inlineexplicit

Definition at line 54 of file IsotropicRemesherT.hh.

◆ ~IsotropicRemesher()

template<class MeshT >
IsotropicRemesher< MeshT >::~IsotropicRemesher ( )
inline

Definition at line 55 of file IsotropicRemesherT.hh.

Member Function Documentation

◆ collapseShortEdges()

template<class MeshT >
void IsotropicRemesher< MeshT >::collapseShortEdges ( MeshT _mesh,
const double  _minEdgeLength,
const double  _maxEdgeLength 
)
private

collapse edges shorter than minEdgeLength if collapsing doesn't result in new edge longer than maxEdgeLength

Definition at line 157 of file IsotropicRemesherT_impl.hh.

◆ equalizeValences()

template<class MeshT >
void IsotropicRemesher< MeshT >::equalizeValences ( MeshT _mesh)
private

Definition at line 227 of file IsotropicRemesherT_impl.hh.

◆ findNearestPoint()

template<class MeshT >
template<class SpatialSearchT >
MeshT::Point IsotropicRemesher< MeshT >::findNearestPoint ( const MeshT _mesh,
const typename MeshT::Point &  _point,
typename MeshT::FaceHandle &  _fh,
SpatialSearchT *  _ssearch,
double *  _dbest 
)
private

Definition at line 337 of file IsotropicRemesherT_impl.hh.

◆ getTriangleBSP()

template<class MeshT >
OpenMeshTriangleBSPT< MeshT > * IsotropicRemesher< MeshT >::getTriangleBSP ( MeshT _mesh)
private

Definition at line 100 of file IsotropicRemesherT_impl.hh.

◆ isBoundary()

template<class MeshT >
bool IsotropicRemesher< MeshT >::isBoundary ( MeshT _mesh,
const typename MeshT::VertexHandle &  _vh 
)
inlineprivate

Definition at line 278 of file IsotropicRemesherT_impl.hh.

◆ isFeature()

template<class MeshT >
bool IsotropicRemesher< MeshT >::isFeature ( MeshT _mesh,
const typename MeshT::VertexHandle &  _vh 
)
inlineprivate

Definition at line 289 of file IsotropicRemesherT_impl.hh.

◆ projectToSurface()

template<class MeshT >
template<class SpatialSearchT >
void IsotropicRemesher< MeshT >::projectToSurface ( MeshT _mesh,
MeshT _original,
SpatialSearchT *  _ssearch 
)
private

Definition at line 412 of file IsotropicRemesherT_impl.hh.

◆ remesh()

template<class MeshT >
void IsotropicRemesher< MeshT >::remesh ( MeshT _mesh,
const double  _targetEdgeLength 
)

do the remeshing

Definition at line 58 of file IsotropicRemesherT_impl.hh.

◆ splitLongEdges()

template<class MeshT >
void IsotropicRemesher< MeshT >::splitLongEdges ( MeshT _mesh,
const double  _maxEdgeLength 
)
private

performs edge splits until all edges are shorter than the threshold

Definition at line 119 of file IsotropicRemesherT_impl.hh.

◆ tangentialRelaxation()

template<class MeshT >
void IsotropicRemesher< MeshT >::tangentialRelaxation ( MeshT _mesh)
private

Definition at line 299 of file IsotropicRemesherT_impl.hh.

◆ targetValence()

template<class MeshT >
int IsotropicRemesher< MeshT >::targetValence ( MeshT _mesh,
const typename MeshT::VertexHandle &  _vh 
)
inlineprivate

returns 4 for boundary vertices and 6 otherwise

Definition at line 268 of file IsotropicRemesherT_impl.hh.

Member Data Documentation

◆ prgEmt_

template<class MeshT >
IsoRemesherProgressEmitter* IsotropicRemesher< MeshT >::prgEmt_
private

Definition at line 92 of file IsotropicRemesherT.hh.


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