MEPP2 Project
Public Member Functions | Static Public Member Functions | Private Attributes | List of all members
FEVV::Filters::Binary_batch_encoder< HalfedgeGraph, PointMap, Vector, Point, vertex_descriptor, Geometry > Class Template Reference

Encode binary data with draco. Also contains static methods to generate csv files. More...

#include <Binary_batch_encoder.h>

Collaboration diagram for FEVV::Filters::Binary_batch_encoder< HalfedgeGraph, PointMap, Vector, Point, vertex_descriptor, Geometry >:
Collaboration graph

Public Member Functions

size_t quantize_encode_coarse_mesh (HalfedgeGraph &g, PointMap &pm, const Geometry &gt, draco::EncoderBuffer &buffer)
 Encodes a non-textured quantized mesh with draco single-rate mesh encoder. More...
 
std::pair< int, double > encode_bitmask (const std::list< bool > &bitmask, draco::EncoderBuffer &buffer)
 Encodes a bit mask with draco's non-adaptive RAns coder (RAnsBitEncoder). More...
 
std::pair< int, double > encode_residuals (const std::list< std::vector< Vector > > &residuals, draco::EncoderBuffer &buffer, int bit_quantization)
 Encodes a set of residuals with draco's entropy coder (SymbolBitEncoder) More...
 

Static Public Member Functions

static void init_measure_file (const std::string &csv_file_path)
 Add column titles to cvs file (to call before the addition of measurement lines). More...
 
static void add_line_measure_file (const std::string &csv_file_path, int num_batch, std::pair< int, double > &data_bitmask, std::pair< int, double > &data_connectivity, std::pair< int, double > &data_residuals, std::pair< int, double > &data_other_info, double dist_RMSE, double dist_hausdorff, size_t num_values_bitmask, size_t num_values_connectivity, size_t num_values_other_info, size_t size_header, size_t num_vertices)
 Add a line of measurements to cvs file. More...
 

Private Attributes

draco::Mesh g_draco
 

Detailed Description

template<typename HalfedgeGraph, typename PointMap, typename Vector = typename FEVV::Geometry_traits< HalfedgeGraph >::Vector, typename Point = typename FEVV::Geometry_traits< HalfedgeGraph >::Point, typename vertex_descriptor = typename boost::graph_traits< HalfedgeGraph >::vertex_descriptor, typename Geometry = FEVV::Geometry_traits< HalfedgeGraph >>
class FEVV::Filters::Binary_batch_encoder< HalfedgeGraph, PointMap, Vector, Point, vertex_descriptor, Geometry >

Encode binary data with draco. Also contains static methods to generate csv files.

Binary_batch_encoder class.

Definition at line 52 of file Binary_batch_encoder.h.

Member Function Documentation

◆ add_line_measure_file()

template<typename HalfedgeGraph , typename PointMap , typename Vector = typename FEVV::Geometry_traits< HalfedgeGraph >::Vector, typename Point = typename FEVV::Geometry_traits< HalfedgeGraph >::Point, typename vertex_descriptor = typename boost::graph_traits< HalfedgeGraph >::vertex_descriptor, typename Geometry = FEVV::Geometry_traits< HalfedgeGraph >>
static void FEVV::Filters::Binary_batch_encoder< HalfedgeGraph, PointMap, Vector, Point, vertex_descriptor, Geometry >::add_line_measure_file ( const std::string &  csv_file_path,
int  num_batch,
std::pair< int, double > &  data_bitmask,
std::pair< int, double > &  data_connectivity,
std::pair< int, double > &  data_residuals,
std::pair< int, double > &  data_other_info,
double  dist_RMSE,
double  dist_hausdorff,
size_t  num_values_bitmask,
size_t  num_values_connectivity,
size_t  num_values_other_info,
size_t  size_header,
size_t  num_vertices 
)
inlinestatic

Add a line of measurements to cvs file.

Definition at line 74 of file Binary_batch_encoder.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ encode_bitmask()

template<typename HalfedgeGraph , typename PointMap , typename Vector = typename FEVV::Geometry_traits< HalfedgeGraph >::Vector, typename Point = typename FEVV::Geometry_traits< HalfedgeGraph >::Point, typename vertex_descriptor = typename boost::graph_traits< HalfedgeGraph >::vertex_descriptor, typename Geometry = FEVV::Geometry_traits< HalfedgeGraph >>
std::pair< int, double > FEVV::Filters::Binary_batch_encoder< HalfedgeGraph, PointMap, Vector, Point, vertex_descriptor, Geometry >::encode_bitmask ( const std::list< bool > &  bitmask,
draco::EncoderBuffer &  buffer 
)
inline

Encodes a bit mask with draco's non-adaptive RAns coder (RAnsBitEncoder).

Definition at line 199 of file Binary_batch_encoder.h.

Here is the caller graph for this function:

◆ encode_residuals()

template<typename HalfedgeGraph , typename PointMap , typename Vector = typename FEVV::Geometry_traits< HalfedgeGraph >::Vector, typename Point = typename FEVV::Geometry_traits< HalfedgeGraph >::Point, typename vertex_descriptor = typename boost::graph_traits< HalfedgeGraph >::vertex_descriptor, typename Geometry = FEVV::Geometry_traits< HalfedgeGraph >>
std::pair< int, double > FEVV::Filters::Binary_batch_encoder< HalfedgeGraph, PointMap, Vector, Point, vertex_descriptor, Geometry >::encode_residuals ( const std::list< std::vector< Vector > > &  residuals,
draco::EncoderBuffer &  buffer,
int  bit_quantization 
)
inline

Encodes a set of residuals with draco's entropy coder (SymbolBitEncoder)

Definition at line 228 of file Binary_batch_encoder.h.

Here is the caller graph for this function:

◆ init_measure_file()

template<typename HalfedgeGraph , typename PointMap , typename Vector = typename FEVV::Geometry_traits< HalfedgeGraph >::Vector, typename Point = typename FEVV::Geometry_traits< HalfedgeGraph >::Point, typename vertex_descriptor = typename boost::graph_traits< HalfedgeGraph >::vertex_descriptor, typename Geometry = FEVV::Geometry_traits< HalfedgeGraph >>
static void FEVV::Filters::Binary_batch_encoder< HalfedgeGraph, PointMap, Vector, Point, vertex_descriptor, Geometry >::init_measure_file ( const std::string &  csv_file_path)
inlinestatic

Add column titles to cvs file (to call before the addition of measurement lines).

draco mesh to fill with right data before its encoding

Definition at line 60 of file Binary_batch_encoder.h.

Here is the caller graph for this function:

◆ quantize_encode_coarse_mesh()

template<typename HalfedgeGraph , typename PointMap , typename Vector = typename FEVV::Geometry_traits< HalfedgeGraph >::Vector, typename Point = typename FEVV::Geometry_traits< HalfedgeGraph >::Point, typename vertex_descriptor = typename boost::graph_traits< HalfedgeGraph >::vertex_descriptor, typename Geometry = FEVV::Geometry_traits< HalfedgeGraph >>
size_t FEVV::Filters::Binary_batch_encoder< HalfedgeGraph, PointMap, Vector, Point, vertex_descriptor, Geometry >::quantize_encode_coarse_mesh ( HalfedgeGraph &  g,
PointMap &  pm,
const Geometry &  gt,
draco::EncoderBuffer &  buffer 
)
inline

Encodes a non-textured quantized mesh with draco single-rate mesh encoder.

desactivate draco quantization for attributes

Parameters
pmMesh to encode
gtVertex positions property map
bufferGeometry trait object Output encoded buffer (using draco)

Definition at line 105 of file Binary_batch_encoder.h.

Here is the call graph for this function:
Here is the caller graph for this function:

Member Data Documentation

◆ g_draco

template<typename HalfedgeGraph , typename PointMap , typename Vector = typename FEVV::Geometry_traits< HalfedgeGraph >::Vector, typename Point = typename FEVV::Geometry_traits< HalfedgeGraph >::Point, typename vertex_descriptor = typename boost::graph_traits< HalfedgeGraph >::vertex_descriptor, typename Geometry = FEVV::Geometry_traits< HalfedgeGraph >>
draco::Mesh FEVV::Filters::Binary_batch_encoder< HalfedgeGraph, PointMap, Vector, Point, vertex_descriptor, Geometry >::g_draco
private

Definition at line 55 of file Binary_batch_encoder.h.


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