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

Public Types

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

 BaseRemesherT (Mesh &_mesh, ProgressEmitter *_progress=NULL)
 
void remesh (unsigned int _iters, unsigned int _area_iters, bool _use_projection=true, Selection _selection=VERTEX_SELECTION)
 

Protected Types

typedef OpenMeshTriangleBSPT< MeshBSP
 

Protected Member Functions

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

Meshmesh_
 
Meshrefmesh_
 
BSPbsp_
 
bool nothing_selected_
 
OpenMesh::VPropHandleT< int > valences_
 
OpenMesh::VPropHandleT< Point > update_
 
OpenMesh::VPropHandleT< Scalar > area_
 
ProgressEmitterprogress_
 

Detailed Description

template<class Mesh>
class Remeshing::BaseRemesherT< Mesh >

Definition at line 79 of file BaseRemesherT.hh.

Member Typedef Documentation

◆ BSP

template<class Mesh >
typedef OpenMeshTriangleBSPT<Mesh> Remeshing::BaseRemesherT< Mesh >::BSP
protected

Definition at line 135 of file BaseRemesherT.hh.

◆ EdgeHandle

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

Definition at line 91 of file BaseRemesherT.hh.

◆ HalfedgeHandle

template<class Mesh >
typedef Mesh::HalfedgeHandle Remeshing::BaseRemesherT< Mesh >::HalfedgeHandle

Definition at line 92 of file BaseRemesherT.hh.

◆ Point

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

Definition at line 90 of file BaseRemesherT.hh.

◆ Scalar

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

Definition at line 89 of file BaseRemesherT.hh.

◆ VertexHandle

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

Definition at line 93 of file BaseRemesherT.hh.

Member Enumeration Documentation

◆ Selection

template<class Mesh >
enum Remeshing::BaseRemesherT::Selection

Definition at line 83 of file BaseRemesherT.hh.

Constructor & Destructor Documentation

◆ BaseRemesherT()

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

Definition at line 76 of file BaseRemesherT_impl.hh.

◆ ~BaseRemesherT()

template<class Mesh >
Remeshing::BaseRemesherT< Mesh >::~BaseRemesherT
virtual

Definition at line 87 of file BaseRemesherT_impl.hh.

Member Function Documentation

◆ balanace_area()

template<class Mesh >
void Remeshing::BaseRemesherT< Mesh >::balanace_area ( unsigned int  _iters,
bool  _use_projection 
)
protected

Definition at line 1016 of file BaseRemesherT_impl.hh.

◆ cleanup()

template<class Mesh >
void Remeshing::BaseRemesherT< Mesh >::cleanup ( void  )
protected

Definition at line 497 of file BaseRemesherT_impl.hh.

◆ collapse_flips_normal()

template<class Mesh >
bool Remeshing::BaseRemesherT< Mesh >::collapse_flips_normal ( HalfedgeHandle  _heh)
protected

Definition at line 1233 of file BaseRemesherT_impl.hh.

◆ collapse_short_edges()

template<class Mesh >
void Remeshing::BaseRemesherT< Mesh >::collapse_short_edges
protected

Definition at line 628 of file BaseRemesherT_impl.hh.

◆ delete_reference()

template<class Mesh >
void Remeshing::BaseRemesherT< Mesh >::delete_reference
protectedvirtual

Definition at line 172 of file BaseRemesherT_impl.hh.

◆ edge_flip_flips_normal()

template<class Mesh >
bool Remeshing::BaseRemesherT< Mesh >::edge_flip_flips_normal ( EdgeHandle  _eh)
protected

Definition at line 1200 of file BaseRemesherT_impl.hh.

◆ flip_edges()

template<class Mesh >
void Remeshing::BaseRemesherT< Mesh >::flip_edges
protected

Definition at line 791 of file BaseRemesherT_impl.hh.

◆ init_reference()

template<class Mesh >
void Remeshing::BaseRemesherT< Mesh >::init_reference
protectedvirtual

Definition at line 100 of file BaseRemesherT_impl.hh.

◆ prepare_face_selection()

template<class Mesh >
void Remeshing::BaseRemesherT< Mesh >::prepare_face_selection
protected

prepare for remeshing only vertices which are fully surrounded by selected faces (if no face was selected, remesh whole mesh)

Definition at line 340 of file BaseRemesherT_impl.hh.

◆ prepare_vertex_selection()

template<class Mesh >
void Remeshing::BaseRemesherT< Mesh >::prepare_vertex_selection
protected

prepare for remeshing only selected vertices (if no vertex was selected, remesh whole mesh)

Definition at line 257 of file BaseRemesherT_impl.hh.

◆ project_to_reference()

template<class Mesh >
void Remeshing::BaseRemesherT< Mesh >::project_to_reference ( typename Mesh::VertexHandle  _vh) const
protectedvirtual

Definition at line 185 of file BaseRemesherT_impl.hh.

◆ remesh()

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

Definition at line 230 of file BaseRemesherT_impl.hh.

◆ remeshh()

template<class Mesh >
void Remeshing::BaseRemesherT< Mesh >::remeshh ( unsigned int  _iters,
unsigned int  _aiters,
bool  _proj 
)
protected

Definition at line 445 of file BaseRemesherT_impl.hh.

◆ remove_caps()

template<class Mesh >
void Remeshing::BaseRemesherT< Mesh >::remove_caps
protected

Definition at line 1128 of file BaseRemesherT_impl.hh.

◆ split_long_edges()

template<class Mesh >
void Remeshing::BaseRemesherT< Mesh >::split_long_edges
protected

Definition at line 552 of file BaseRemesherT_impl.hh.

◆ tangential_smoothing()

template<class Mesh >
void Remeshing::BaseRemesherT< Mesh >::tangential_smoothing ( bool  _use_projection)
protected

Definition at line 897 of file BaseRemesherT_impl.hh.

Member Data Documentation

◆ area_

template<class Mesh >
OpenMesh::VPropHandleT<Scalar> Remeshing::BaseRemesherT< Mesh >::area_
protected

Definition at line 144 of file BaseRemesherT.hh.

◆ bsp_

template<class Mesh >
BSP* Remeshing::BaseRemesherT< Mesh >::bsp_
protected

Definition at line 139 of file BaseRemesherT.hh.

◆ mesh_

template<class Mesh >
Mesh& Remeshing::BaseRemesherT< Mesh >::mesh_
protected

Definition at line 137 of file BaseRemesherT.hh.

◆ nothing_selected_

template<class Mesh >
bool Remeshing::BaseRemesherT< Mesh >::nothing_selected_
protected

Definition at line 140 of file BaseRemesherT.hh.

◆ progress_

template<class Mesh >
ProgressEmitter* Remeshing::BaseRemesherT< Mesh >::progress_
protected

Definition at line 146 of file BaseRemesherT.hh.

◆ refmesh_

template<class Mesh >
Mesh* Remeshing::BaseRemesherT< Mesh >::refmesh_
protected

Definition at line 138 of file BaseRemesherT.hh.

◆ update_

template<class Mesh >
OpenMesh::VPropHandleT<Point> Remeshing::BaseRemesherT< Mesh >::update_
protected

Definition at line 143 of file BaseRemesherT.hh.

◆ valences_

template<class Mesh >
OpenMesh::VPropHandleT<int> Remeshing::BaseRemesherT< Mesh >::valences_
protected

Definition at line 142 of file BaseRemesherT.hh.


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