aimstil  5.0.5
mesh_decimation.h File Reference
#include "graph.h"
#include "mesh_conversion.h"
#include "meshUtils.h"
Include dependency graph for mesh_decimation.h:

Go to the source code of this file.

Classes

struct  til::MeshWaveletEnergy2< TVertexXsr, TNeighborhoodXsr, TPrec >
 
struct  til::MeshWaveletEnergy< TVertexCollection, TNeighborhoods, TPrec >
 Distance of a vertex to the mean of its neighbors divided by the area of its Voronoi cell. More...
 
class  til::Vertex_remover< TVertexNode, TFaceNode >
 A class to remove a vertex from a mesh, and remeshing the hole. More...
 
class  til::Remove_indexed_graph_vertices< TIndexCollection >
 Remove vertices from a graph list mesh, given a set of index. More...
 
class  til::Remove_indexed_vertices< TVertexCollection, TFaceCollection, TCNeighborhoods, TIndexCollection >
 Remove vertices from a mesh, given a set of index. More...
 
class  til::Neigh_decimation_labeler< TVertexCollection, TNeighborhoodCollection >
 Attempt to label a vertex as removable, and if successfull, label its neighbors as unremovable. More...
 

Namespaces

 til
 Belongs to package Box Do not include directly, include til/Box.h instead.
 

Functions

template<typename TPointIterator , typename TOutIterator >
TOutIterator til::bounding_triangle (TPointIterator pbegin, TPointIterator pend, TOutIterator out)
 Given a list of 2D points, compute a bounding equilateral triangle. More...
 
std::list< boost::array< std::size_t, 3 > > til::simple_delaunay_triangulation (std::vector< numeric_array< float, 2 > > points)
 
template<typename TVertexNode , typename TFaceNode >
std::list< TVertexNode >::iterator til::remove_vertex (typename std::list< TVertexNode >::iterator i, std::list< TVertexNode > &graph_vertices, std::list< TFaceNode > &graph_faces)
 Remove a vertex from a mesh. More...
 
template<typename TNeighbors >
std::vector< numeric_array< float, 2 > > til::simple_neighborhood_flattening (const numeric_array< float, 3 > &point, const TNeighbors &neighbors)
 
template<typename TVertexCollection , typename TFaceCollection , typename TCNeighborhoods , typename TIndexCollection >
std::vector< unsigned char > til::remove_vertices (TVertexCollection &vertices, TFaceCollection &faces, TCNeighborhoods const &neighc, TIndexCollection const &removed)
 NB: vertices are not removed one by one but in groups via this kind of functions, because the static "vector" collection is incompatible with this kind of operation. More...
 
template<typename TVertexCollection , typename TFaceCollection >
std::list< std::size_t > til::quantizer (TVertexCollection &vertices, TFaceCollection &faces, std::size_t newSize)
 Decimates a mesh until a specified number of vertices is reached. More...
 
template<typename TVertexCollection , typename TFaceCollection >
std::list< std::size_t > til::quantizer_2 (TVertexCollection &vertices, TFaceCollection &faces)
 Decimates a mesh until no more vertex with unremoved neighbors can be removed. More...