Developer Documentation
Remeshing::AdaptiveRemesherT< Mesh > Class Template Reference
Inheritance diagram for Remeshing::AdaptiveRemesherT< 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

 AdaptiveRemesherT (Mesh &_mesh, ProgressEmitter *_progress=NULL)
 
void remesh (Scalar _error, Scalar _min_edge_length, Scalar _max_edge_length, unsigned int _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 void init_reference () override
 
virtual void project_to_reference (VertexHandle _vh) const override
 
void compute_curvature (Mesh &_mesh, OpenMesh::VPropHandleT< Scalar > _ph)
 
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 error_
 
Scalar emax_
 
Scalar emin_
 
OpenMesh::VPropHandleT< Scalar > refcurv_
 
OpenMesh::VPropHandleT< Scalar > curvature_
 
- 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::AdaptiveRemesherT< Mesh >

Definition at line 71 of file AdaptiveRemesherT.hh.

Member Typedef Documentation

◆ Base

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

Definition at line 76 of file AdaptiveRemesherT.hh.

◆ EdgeHandle

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

Definition at line 79 of file AdaptiveRemesherT.hh.

◆ Point

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

Definition at line 78 of file AdaptiveRemesherT.hh.

◆ Scalar

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

Definition at line 77 of file AdaptiveRemesherT.hh.

◆ Selection

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

Definition at line 73 of file AdaptiveRemesherT.hh.

◆ VertexHandle

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

Definition at line 80 of file AdaptiveRemesherT.hh.

Constructor & Destructor Documentation

◆ AdaptiveRemesherT()

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

Definition at line 83 of file AdaptiveRemesherT.hh.

Member Function Documentation

◆ compute_curvature()

template<class Mesh >
void Remeshing::AdaptiveRemesherT< Mesh >::compute_curvature ( Mesh _mesh,
OpenMesh::VPropHandleT< Scalar >  _ph 
)
protected

Definition at line 146 of file AdaptiveRemesherT_impl.hh.

◆ init_reference()

template<class Mesh >
void Remeshing::AdaptiveRemesherT< Mesh >::init_reference
overrideprotectedvirtual

Reimplemented from Remeshing::BaseRemesherT< Mesh >.

Definition at line 69 of file AdaptiveRemesherT_impl.hh.

◆ is_too_long()

template<class Mesh >
bool Remeshing::AdaptiveRemesherT< Mesh >::is_too_long ( VertexHandle  _v0,
VertexHandle  _v1 
) const
overrideprotectedvirtual

Implements Remeshing::BaseRemesherT< Mesh >.

Definition at line 190 of file AdaptiveRemesherT_impl.hh.

◆ is_too_short()

template<class Mesh >
bool Remeshing::AdaptiveRemesherT< Mesh >::is_too_short ( VertexHandle  _v0,
VertexHandle  _v1 
) const
overrideprotectedvirtual

Implements Remeshing::BaseRemesherT< Mesh >.

Definition at line 214 of file AdaptiveRemesherT_impl.hh.

◆ project_to_reference()

template<class Mesh >
void Remeshing::AdaptiveRemesherT< Mesh >::project_to_reference ( typename Mesh::VertexHandle  _vh) const
overrideprotectedvirtual

Reimplemented from Remeshing::BaseRemesherT< Mesh >.

Definition at line 87 of file AdaptiveRemesherT_impl.hh.

◆ remesh()

template<class Mesh >
void Remeshing::AdaptiveRemesherT< Mesh >::remesh ( Scalar  _error,
Scalar  _min_edge_length,
Scalar  _max_edge_length,
unsigned int  _iters,
bool  _use_projection = true,
Selection  _selection = BaseRemesherT<Mesh>::VERTEX_SELECTION 
)

Definition at line 164 of file AdaptiveRemesherT_impl.hh.

Member Data Documentation

◆ curvature_

template<class Mesh >
OpenMesh::VPropHandleT<Scalar> Remeshing::AdaptiveRemesherT< Mesh >::curvature_
protected

Definition at line 109 of file AdaptiveRemesherT.hh.

◆ emax_

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

Definition at line 107 of file AdaptiveRemesherT.hh.

◆ emin_

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

Definition at line 107 of file AdaptiveRemesherT.hh.

◆ error_

template<class Mesh >
Scalar Remeshing::AdaptiveRemesherT< Mesh >::error_
protected

Definition at line 107 of file AdaptiveRemesherT.hh.

◆ refcurv_

template<class Mesh >
OpenMesh::VPropHandleT<Scalar> Remeshing::AdaptiveRemesherT< Mesh >::refcurv_
protected

Definition at line 109 of file AdaptiveRemesherT.hh.


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