MEPP2 Project
Namespaces | Functions
progressive_compression_filter.hpp File Reference
#include "FEVV/Wrappings/Geometry_traits.h"
#include <boost/graph/graph_traits.hpp>
#include "FEVV/Wrappings/properties.h"
#include <CGAL/boost/graph/helpers.h>
#include "FEVV/Filters/CGAL/Progressive_Compression/Parameters.h"
#include "FEVV/Filters/CGAL/Progressive_Compression/Metrics/Edge_length_metric.h"
#include "FEVV/Filters/CGAL/Progressive_Compression/Metrics/Volume_preserving.h"
#include "FEVV/Filters/CGAL/Progressive_Compression/Metrics/QEM_3D.h"
#include "FEVV/Filters/CGAL/Progressive_Compression/Compression/Batch_collapser.h"
#include "FEVV/Filters/CGAL/Progressive_Compression/Predictors/Raw_positions.h"
#include "FEVV/Filters/CGAL/Progressive_Compression/Predictors/Delta_predictor.h"
#include "FEVV/Filters/CGAL/Progressive_Compression/Helpers/Header_handler.h"
#include "FEVV/Filters/CGAL/Progressive_Compression/Compression/Binary_batch_encoder.h"
#include "FEVV/Filters/CGAL/Progressive_Compression/Geometric_metrics.h"
#include "FEVV/Filters/CGAL/Progressive_Compression/Uniform_quantization.h"
#include "FEVV/Filters/CGAL/Progressive_Compression/Uniform_dequantization.h"
#include "FEVV/Filters/CGAL/Progressive_Compression/Compression/Preprocessing.h"
#include "FEVV/Filters/Generic/minmax_map.h"
#include "FEVV/Filters/Generic/color_mesh.h"
Include dependency graph for progressive_compression_filter.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

 FEVV
 Interfaces for plugins These interfaces will be used for different plugins.
 
 FEVV::Filters
 

Functions

template<typename HalfedgeGraph , typename PointMap >
void FEVV::Filters::preprocess_mesh (HalfedgeGraph &g, PointMap &pm, FEVV::Filters::Uniform_quantization< HalfedgeGraph, PointMap > &pq, bool allow_duplicates=false)
 Isolated vertices and isolated edges are removed, then vertex positions are quantized, and eventually, vertex duplicates are moved until there is no more vertex position duplicate. This function implements line 1 of Algorithm 1. More...
 
template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap , typename EdgeColorMap , typename GeometryTraits = FEVV::Geometry_traits< HalfedgeGraph >>
void FEVV::Filters::progressive_compression_filter (HalfedgeGraph &g, PointMap &pm, FEVV::Filters::Uniform_quantization< HalfedgeGraph, PointMap > &pq, VertexColorMap &v_cm, EdgeColorMap &e_cm, const GeometryTraits &gt, FEVV::Filters::Error_metric< HalfedgeGraph, PointMap > *EM, const FEVV::Filters::Kept_position< HalfedgeGraph, PointMap > *KP, FEVV::Filters::Predictor< HalfedgeGraph, PointMap > *predict, int nb_q_bits, int nb_max_batches, int nb_min_vertices, FEVV::Filters::BATCH_CONDITION batch_condition, draco::EncoderBuffer &buffer, const std::string &measure_path, bool preprocess=true, bool dequantiz=false, bool save_preprocess=false, const std::string &output_file_path_save_preprocess="", bool allow_duplicates=false)
 Takes a mesh g, applies batches of simplification until either the number of max batches or the minimum number of vertices is reached. After that, it encodes the coarse mesh and the refinement data into a buffer. This function implements Algorithm 1 (Progressive encoder). More...
 
template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap , typename EdgeColorMap , typename GeometryTraits = FEVV::Geometry_traits< HalfedgeGraph >>
void FEVV::Filters::progressive_compression_filter (HalfedgeGraph &g, PointMap &pm, VertexColorMap &v_cm, EdgeColorMap &e_cm, const GeometryTraits &gt, const FEVV::Filters::Parameters &params, int nb_max_batches, int nb_min_vertices, FEVV::Filters::BATCH_CONDITION batch_condition, const std::string &output_path, std::string &binary_path, bool preprocess=true, bool dequantiz=false, bool save_preprocess=false, const std::string &output_file_path_save_preprocess="")
 Takes a mesh g, applies batches of simplification until either the number of max batches or the minimum number of vertices is reached. After that, it encodes the coarse mesh and the refinement data to a binary file. More...
 
template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap , typename EdgeColorMap , typename GeometryTraits = FEVV::Geometry_traits< HalfedgeGraph >>
void FEVV::Filters::progressive_compression_filter (HalfedgeGraph &g, PointMap &pm, VertexColorMap &v_cm, EdgeColorMap &e_cm, const FEVV::Filters::Parameters &params, const std::string &output_path, std::string &binary_path, int nb_max_batches, int nb_min_vertices, FEVV::Filters::BATCH_CONDITION batch_condition, bool preprocess=true, bool dequantiz=false, bool save_preprocess=false, const std::string &output_file_path_save_preprocess="")
 Takes a mesh g, applies batches of simplification until either the number of max batches or the minimum number of vertices is reached. After that, it encodes the coarse mesh and the refinement data to a binary file. The geometry trait object is set automatically (syntactic sugar). More...