Developer Documentation
Remeshing::UniformRemesherT< Mesh > Class Template Reference
Inheritance diagram for Remeshing::UniformRemesherT< Mesh >:
Remeshing::BaseRemesherT< Mesh >

Public Types

typedef BaseRemesherT< MeshBase
 
typedef Mesh::Scalar Scalar
 
typedef Mesh::Point Point
 
typedef Mesh::EdgeHandle EdgeHandle
 
typedef Mesh::VertexHandle VertexHandle
 
- Public Types inherited from Remeshing::BaseRemesherT< Mesh >
enum  Selection { VERTEX_SELECTION , FACE_SELECTION }
 
typedef Mesh::Scalar Scalar
 
typedef Mesh::Point Point
 
typedef Mesh::EdgeHandle EdgeHandle
 
typedef Mesh::HalfedgeHandle HalfedgeHandle
 
typedef Mesh::VertexHandle VertexHandle
 

Public Member Functions

 UniformRemesherT (Mesh &_mesh, ProgressEmitter *_progress=NULL)
 
void remesh (Scalar _edge_length, unsigned int _iters, unsigned int _area_iters, bool _use_projection=true, Selection _selection=BaseRemesherT< Mesh >::VERTEX_SELECTION)
 
- Public Member Functions inherited from Remeshing::BaseRemesherT< Mesh >
 BaseRemesherT (Mesh &_mesh, ProgressEmitter *_progress=NULL)
 
void remesh (unsigned int _iters, unsigned int _area_iters, bool _use_projection=true, Selection _selection=VERTEX_SELECTION)
 

Protected Member Functions

virtual bool is_too_long (VertexHandle _v0, VertexHandle _v1) const override
 
virtual bool is_too_short (VertexHandle _v0, VertexHandle _v1) const override
 
- Protected Member Functions inherited from Remeshing::BaseRemesherT< Mesh >
void prepare_vertex_selection ()
 prepare for remeshing only selected vertices (if no vertex was selected, remesh whole mesh) More...
 
void prepare_face_selection ()
 prepare for remeshing only vertices which are fully surrounded by selected faces (if no face was selected, remesh whole mesh) More...
 
void remeshh (unsigned int _iters, unsigned int _aiters, bool _proj)
 
void cleanup ()
 
virtual void init_reference ()
 
virtual void delete_reference ()
 
virtual void project_to_reference (VertexHandle _vh) const
 
void split_long_edges ()
 
void collapse_short_edges ()
 
void flip_edges ()
 
void tangential_smoothing (bool _use_projection)
 
void balanace_area (unsigned int _iters, bool _use_projection)
 
void remove_caps ()
 
virtual bool is_too_long (VertexHandle _v0, VertexHandle _v1) const =0
 
virtual bool is_too_short (VertexHandle _v0, VertexHandle _v1) const =0
 
bool edge_flip_flips_normal (EdgeHandle _eh)
 
bool collapse_flips_normal (HalfedgeHandle _heh)
 

Protected Attributes

Scalar emax_
 
Scalar sqr_emax_
 
Scalar emin_
 
Scalar sqr_emin_
 
- Protected Attributes inherited from Remeshing::BaseRemesherT< Mesh >
Meshmesh_
 
Meshrefmesh_
 
BSPbsp_
 
bool nothing_selected_
 
OpenMesh::VPropHandleT< int > valences_
 
OpenMesh::VPropHandleT< Point > update_
 
OpenMesh::VPropHandleT< Scalar > area_
 
ProgressEmitterprogress_
 

Private Types

typedef BaseRemesherT< Mesh >::Selection Selection
 

Additional Inherited Members

- Protected Types inherited from Remeshing::BaseRemesherT< Mesh >
typedef OpenMeshTriangleBSPT< MeshBSP
 

Detailed Description

template<class Mesh>
class Remeshing::UniformRemesherT< Mesh >

Definition at line 69 of file UniformRemesherT.hh.

Member Typedef Documentation

◆ Base

template<class Mesh >
typedef BaseRemesherT<Mesh> Remeshing::UniformRemesherT< Mesh >::Base

Definition at line 74 of file UniformRemesherT.hh.

◆ EdgeHandle

template<class Mesh >
typedef Mesh::EdgeHandle Remeshing::UniformRemesherT< Mesh >::EdgeHandle

Definition at line 77 of file UniformRemesherT.hh.

◆ Point

template<class Mesh >
typedef Mesh::Point Remeshing::UniformRemesherT< Mesh >::Point

Definition at line 76 of file UniformRemesherT.hh.

◆ Scalar

template<class Mesh >
typedef Mesh::Scalar Remeshing::UniformRemesherT< Mesh >::Scalar

Definition at line 75 of file UniformRemesherT.hh.

◆ Selection

template<class Mesh >
typedef BaseRemesherT<Mesh>::Selection Remeshing::UniformRemesherT< Mesh >::Selection
private

Definition at line 71 of file UniformRemesherT.hh.

◆ VertexHandle

template<class Mesh >
typedef Mesh::VertexHandle Remeshing::UniformRemesherT< Mesh >::VertexHandle

Definition at line 78 of file UniformRemesherT.hh.

Constructor & Destructor Documentation

◆ UniformRemesherT()

template<class Mesh >
Remeshing::UniformRemesherT< Mesh >::UniformRemesherT ( Mesh _mesh,
ProgressEmitter _progress = NULL 
)
inline

Definition at line 81 of file UniformRemesherT.hh.

Member Function Documentation

◆ is_too_long()

template<class Mesh >
virtual bool Remeshing::UniformRemesherT< Mesh >::is_too_long ( VertexHandle  _v0,
VertexHandle  _v1 
) const
inlineoverrideprotectedvirtual

Implements Remeshing::BaseRemesherT< Mesh >.

Definition at line 101 of file UniformRemesherT.hh.

◆ is_too_short()

template<class Mesh >
virtual bool Remeshing::UniformRemesherT< Mesh >::is_too_short ( VertexHandle  _v0,
VertexHandle  _v1 
) const
inlineoverrideprotectedvirtual

Implements Remeshing::BaseRemesherT< Mesh >.

Definition at line 107 of file UniformRemesherT.hh.

◆ remesh()

template<class Mesh >
void Remeshing::UniformRemesherT< Mesh >::remesh ( Scalar  _edge_length,
unsigned int  _iters,
unsigned int  _area_iters,
bool  _use_projection = true,
Selection  _selection = BaseRemesherT<Mesh>::VERTEX_SELECTION 
)
inline

Definition at line 84 of file UniformRemesherT.hh.

Member Data Documentation

◆ emax_

template<class Mesh >
Scalar Remeshing::UniformRemesherT< Mesh >::emax_
protected

Definition at line 116 of file UniformRemesherT.hh.

◆ emin_

template<class Mesh >
Scalar Remeshing::UniformRemesherT< Mesh >::emin_
protected

Definition at line 116 of file UniformRemesherT.hh.

◆ sqr_emax_

template<class Mesh >
Scalar Remeshing::UniformRemesherT< Mesh >::sqr_emax_
protected

Definition at line 116 of file UniformRemesherT.hh.

◆ sqr_emin_

template<class Mesh >
Scalar Remeshing::UniformRemesherT< Mesh >::sqr_emin_
protected

Definition at line 116 of file UniformRemesherT.hh.


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