aimstil  5.0.5
til::Vertex_remover< TVertexNode, TFaceNode > Class Template Reference

A class to remove a vertex from a mesh, and remeshing the hole. More...

#include <cathier/mesh_decimation.h>

Public Types

enum  Error { none = 0, invalid_neighborhood, triangulation_failure }
 

Public Member Functions

 Vertex_remover (std::list< TVertexNode > &graph_vertices, std::list< TFaceNode > &graph_faces)
 
std::vector< VertexPointer > & neighbors ()
 
Error error () const
 
bool isRemovable (VertexPointer i)
 Check that vertex i can be removed from the mesh. More...
 
VertexPointer remove (VertexPointer i)
 Remove a vertex that has already been nodded as removable by the 'isRemovable' method. More...
 
bool operator() (VertexPointer &i)
 

Detailed Description

template<typename TVertexNode, typename TFaceNode>
class til::Vertex_remover< TVertexNode, TFaceNode >

A class to remove a vertex from a mesh, and remeshing the hole.

NB: remeshing is not always possible, therefore removing a given point in a mesh is not always possible. Therefore, it may be important to check the return value of operator() to check if the point has actually been removed.

Definition at line 681 of file mesh_decimation.h.

Member Enumeration Documentation

◆ Error

template<typename TVertexNode, typename TFaceNode>
enum til::Vertex_remover::Error
Enumerator
none 
invalid_neighborhood 
triangulation_failure 

Definition at line 685 of file mesh_decimation.h.

Constructor & Destructor Documentation

◆ Vertex_remover()

template<typename TVertexNode, typename TFaceNode>
til::Vertex_remover< TVertexNode, TFaceNode >::Vertex_remover ( std::list< TVertexNode > &  graph_vertices,
std::list< TFaceNode > &  graph_faces 
)
inline

Definition at line 699 of file mesh_decimation.h.

Member Function Documentation

◆ error()

template<typename TVertexNode, typename TFaceNode>
Error til::Vertex_remover< TVertexNode, TFaceNode >::error ( ) const
inline

◆ isRemovable()

template<typename TVertexNode, typename TFaceNode>
bool til::Vertex_remover< TVertexNode, TFaceNode >::isRemovable ( VertexPointer  i)
inline

Check that vertex i can be removed from the mesh.

Definition at line 967 of file mesh_decimation.h.

References til::copy().

◆ neighbors()

template<typename TVertexNode, typename TFaceNode>
std::vector<VertexPointer>& til::Vertex_remover< TVertexNode, TFaceNode >::neighbors ( )
inline

Definition at line 707 of file mesh_decimation.h.

◆ operator()()

template<typename TVertexNode, typename TFaceNode>
bool til::Vertex_remover< TVertexNode, TFaceNode >::operator() ( VertexPointer &  i)
inline

◆ remove()

template<typename TVertexNode, typename TFaceNode>
VertexPointer til::Vertex_remover< TVertexNode, TFaceNode >::remove ( VertexPointer  i)
inline

Remove a vertex that has already been nodded as removable by the 'isRemovable' method.

Return a pointer to the vertex 'after' the vertex that has been removed, in the list sense.

Definition at line 998 of file mesh_decimation.h.

References til::addNeighbors(), and til::remove_vertex().


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