MEPP2 Project
Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | Private Attributes | List of all members
Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap > Class Template Reference

Compression valence component. More...

#include <Compression_Valence_Component.h>

Collaboration diagram for Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >:
Collaboration graph

Public Types

typedef boost::graph_traits< HalfedgeGraph > GraphTraits
 
typedef GraphTraits::vertex_descriptor vertex_descriptor
 
typedef GraphTraits::vertex_iterator vertex_iterator
 
typedef GraphTraits::face_descriptor face_descriptor
 
typedef GraphTraits::face_iterator face_iterator
 
typedef GraphTraits::halfedge_descriptor halfedge_descriptor
 
typedef GraphTraits::halfedge_iterator halfedge_iterator
 
typedef FEVV::Geometry_traits< HalfedgeGraph >::Vector Vector
 
typedef FEVV::Geometry_traits< HalfedgeGraph >::Point Point3d
 

Public Member Functions

 Compression_Valence_Component (void)
 Default Constructor. More...
 
 ~Compression_Valence_Component ()
 Destructor. More...
 
std::string Main_Function (HalfedgeGraph &pMesh, PointMap *_pm, VertexColorMap *_v_cm, const std::string &Input_File_Name, const std::string &File_Name, const int &Qbit, const int &NVertices, const bool Is_normal_flipping_selected, const bool Is_use_metric_selected, const float &Metric_thread, const bool Is_use_forget_metric_selected, const int &Forget_value, const bool Is_compression_selected, const bool Is_adaptive_quantization_selected, const bool Is_bijection_selected)
 Main function of compression. More...
 
void Global_Initialization (HalfedgeGraph &pMesh, const int &Quantization_bit, const char *File_name, const PointMap *pm, VertexColorMap *v_cm)
 Global initialization to select the input gate. More...
 
void Quantization (HalfedgeGraph &pMesh, const PointMap *pm)
 
void Color_Initialization (HalfedgeGraph &pMesh, VertexColorMap *v_cm)
 Color initialization. More...
 
void Multiple_Components_Initialization (HalfedgeGraph &pMesh, const PointMap *pm, const int &Quantization_bit)
 
void Init (HalfedgeGraph &mesh)
 Initialize all flags of verticeces and facets to FREE and give order to vertices (manifold property check). This function is called every conquest. More...
 
void Simplification (HalfedgeGraph &pMesh, const PointMap *_pm, const int &NVertices, const bool Is_normal_flipping_selected, const bool Is_use_metric_selected, const float &Metric_thread, const bool Is_use_forget_metric_selected, const int &Forget_value)
 Mesh Simplification which applies iteratively decimation and regulation in pair. More...
 
int Decimation_Conquest (HalfedgeGraph &pMesh, const PointMap *_pm, const bool Is_normal_flipping_selected, const bool Is_use_metric_selected, const float &Metric_thread, const bool Is_use_forget_metric_selected, const int &Forget_value, const int &Component_ID)
 Removal of a set of independent vertices. More...
 
int Regulation (HalfedgeGraph &_pMesh, const bool Normal_flipping, const bool Use_metric, const float &Metric_thread, const bool Use_forget_metric, const int &Forget_value, const int &Component_ID, const PointMap *_pm)
 Removal of a set of independent vertices. More...
 
void Adaptive_Quantization (HalfedgeGraph &pMesh, PointMap *_pm, VertexColorMap *_v_cm, const int &NVertices, const bool Is_normal_flipping_selected, const bool Is_use_metric_selected, const float &Metric_thread, const bool Is_use_forget_metric_selected, const int &Forget_value, const int &Qbit)
 Adaptive quantization which not only decimates a input mesh but also adapts quantization precision for all intermediate meshes. More...
 
void Augment_Geometry_Quantization_Precision (HalfedgeGraph &pMesh, Arithmetic_Codec &Decoder, const int &Component_ID, PointMap *_pm)
 Refines quantization precision of mesh geometry. More...
 
void Diminush_Geometry_Quantization_Precision (HalfedgeGraph &pMesh, const int &Component_ID, PointMap *_pm)
 Decreasing of quantization resolution based on the prediction of PENG. Opposite function is Augment_Geometry_Quantization_Precision. More...
 
void Calculate_Edge_Color_Difference (HalfedgeGraph &pMesh, const int &Component_ID, double &Max_color, double &Mean_color, int &Number_of_vertices)
 Calculates the edge color difference. More...
 
void Diminush_Color_Quantization_Precision (HalfedgeGraph &pMesh, const int Component_ID, VertexColorMap *_v_cm)
 Reduces quantization precision of color coordinates. More...
 
void Augment_Color_Quantization_Precision (HalfedgeGraph &_pMesh, Arithmetic_Codec &Decoder, const int &Component_ID, VertexColorMap *_v_cm)
 Refine quantization precision of mesh color coordinates. More...
 
void Compression (HalfedgeGraph &pMesh, const char *File_Name, const int &Qbit, unsigned &Connectivity_size, unsigned &Color_size, unsigned &Total_size, const PointMap *_pm)
 Compressions. More...
 
void Calculate_Geometry_Color_Offset_Range (void)
 Calculates the geometry color offset range. This function is needed since the coder/decoder deals only with the positive symbol numbers. More...
 
void Remove_Last_Phase_Elements (const int &Component_ID)
 When the last simplification operation has to be cancelled, we need to remove its elements in order not to compress these elements. More...
 
void Write_Base_Mesh (const HalfedgeGraph &pMesh, Arithmetic_Codec &Enc, unsigned &Connectivity_size, unsigned &Color_size, const int &Num_color_base_mesh, const PointMap *_pm)
 Writes a base mesh. More...
 
void Decompress_Init (HalfedgeGraph &pMesh, PointMap *_pm, VertexColorMap *_v_cm, bool &has_color, const std::string &Input_File_Name)
 Initialize the Decompression by loading the base mesh into pMesh. aka decompress the first (simplest) level of the mesh. More...
 
void Write_Info (HalfedgeGraph &pMesh)
 Write information of each LoD at decompression in a file. More...
 
void write_intermediate_mesh (HalfedgeGraph &_pMesh, const VertexColorMap *_v_cm)
 Write intermediate mesh to file. More...
 
void keep_intermediate_mesh (const HalfedgeGraph &_pMesh, const VertexColorMap *_v_cm, std::vector< HalfedgeGraph * > *intermediate_meshes, std::vector< VertexColorMap * > *intermediate_vertexColorMaps)
 Store a copy of the current mesh and vertex color map to be able to display all levels of decompression. More...
 
std::string Decompression_All_From_File (HalfedgeGraph &_pMesh, PointMap *_pm, VertexColorMap *_v_cm, bool do_write_info, std::vector< HalfedgeGraph * > *intermediate_meshes, std::vector< VertexColorMap * > *intermediate_vertexColorMaps, int stop_level=-1, bool do_write_intermediate_meshes=false)
 Decompression of all LoDs from file, or until a specified level. The finest LoD is visualized without creating mesh sequence. More...
 
int Decompress_Each_Step (HalfedgeGraph &_pMesh, PointMap *_pm, VertexColorMap *_v_cm)
 Decompress the each step to visualize intermediate meshes. More...
 
void Un_Decimation_Conquest (HalfedgeGraph &pMesh, Arithmetic_Codec &Decoder, const int &Component_ID, PointMap *_pm, VertexColorMap *_v_cm)
 Decoding of the decimation conquest. More...
 
void Un_Regulation (HalfedgeGraph &_pMesh, Arithmetic_Codec &Decoder, const int &Component_ID, PointMap *_pm, VertexColorMap *_v_cm)
 Decoding of the regulation conquest. More...
 
bool Error_Projected_Surface (const HalfedgeGraph &_pMesh, const PointMap *_pm, const halfedge_descriptor &_h, const int &_Component_ID, const double &Mean_color, const double &Mean_area)
 Calculate an error cause by a vertex removal and decide in order not to remove an important vertex. More...
 
void Recalculate_Component_Area (HalfedgeGraph &pMesh, const PointMap *_pm, const int &Component_ID, int &Number_facets)
 Update the area of each component. More...
 
Point_Int Change_Real_Int (const Point3d &pt, const int &Component_ID)
 Change from real to int point(related to quantization bit) More...
 
Point3d Change_Int_Real (const Point_Int &pt, const int &Component_ID)
 Change from int to real point(related to quantization bit) More...
 
unsigned Calculate_Current_File_Size (void)
 Calculates the current file size. Measure bits used for decompression. More...
 
bool Is_Border_Vertex (const halfedge_descriptor &h, const HalfedgeGraph &mesh)
 Query if 'h' is border vertex. More...
 
int Find_Type (const HalfedgeGraph &_pMesh, const halfedge_descriptor &h, const int &valence)
 To find a correspondent type to retriangulate. More...
 
bool Is_Manifold_Property_Violated (const HalfedgeGraph &_pMesh, const halfedge_descriptor &h, const int &type, const int &valence)
 Query if removal of this vertex would violate the manifold_property or not. More...
 
bool Is_Normal_Flipping_Occured (const HalfedgeGraph &_pMesh, const PointMap *_pm, const halfedge_descriptor &h, const unsigned &valence)
 Query if removal of the front vertex can cause a normal flipping problem. More...
 
Vector Triangle_Normal (const HalfedgeGraph &_pMesh, const PointMap *_pm, const halfedge_descriptor &h)
 Gives a normal vector of the triangle containing the halfedge_handle h. More...
 
Vector Triangle_Normal (const HalfedgeGraph &_pMesh, const Point3d &P, const Point3d &Q, const Point3d &R)
 Gives a normal vector of the triangle formed by three points P Q R in the counterclockwise way.. More...
 
bool Is_Geometric_Metric_Violated (const HalfedgeGraph &_pMesh, const PointMap *_pm, const halfedge_descriptor &h, const int &type, const unsigned int &valence, const float &Threshold)
 Query if this object is geometric violated. Here, we define a geometric_metric to preserve maximum the intermediate meshes. More...
 
double Area_Facet_Triangle (const typename boost::graph_traits< HalfedgeGraph >::halfedge_descriptor &h, const HalfedgeGraph &mesh, const PointMap *pm)
 Gives an area of the triangle which contain the halfedge_handle h. More...
 
double Area_Facet_Triangle (const Point3d &P, const Point3d &Q, const Point3d &R, const HalfedgeGraph &_pMesh)
 to calculate the area of a triangle. More...
 
double Volume (const Point3d &A, const Point3d &B, const Point3d &C, const Point3d &D, const HalfedgeGraph &_pMesh)
 
Color_Unit Get_Vertex_Color (const halfedge_descriptor &h, const HalfedgeGraph &_pMesh)
 gets a color of front vertex of h. More...
 
Color_Unit Get_Average_Vertex_Color_Lee (const halfedge_descriptor &h, const int &valence, const HalfedgeGraph &_pMesh)
 Gets an average vertex color prediction using Lee's method. More...
 
Point3d Barycenter_Patch_Before_Removal (const halfedge_descriptor &h, const HalfedgeGraph &_pMesh, const PointMap *_pm)
 gives the position of the barycenter of the patch for regulation conquest. More...
 
Point3d Barycenter_Patch_After_Removal (const halfedge_descriptor &h, const int &valence, const HalfedgeGraph &_pMesh, const PointMap *_pm)
 gives the position of the barycenter of the patch for decimation conquest. More...
 
void Retriangulation (HalfedgeGraph &pMesh, const halfedge_descriptor &ch, const unsigned &valence, const unsigned &Vertex_number, const int &Component_ID, const PointMap *_pm)
 Retriangulates the hole left by a removal of a vertex. More...
 
Vector Normal_Patch (const halfedge_descriptor &const_h, const unsigned int &valence, const HalfedgeGraph &_pMesh, const PointMap *_pm)
 calculates a normal vector of a patch caused by a removal of a front vertex. More...
 
Vector Calculate_T1_T2 (const halfedge_descriptor &h, const Vector &normal, Vector &T2, const HalfedgeGraph &_pMesh, const PointMap *_pm)
 Calculates the base vectors of new coordinates system which is frenet system. More...
 
Point_Int Frenet_Rotation (const Point_Int &Dist, const Vector &T1, const Vector &T2, const Vector &normal)
 finds a bijection through a rotation transformation in 3D with only integer coordinates. More...
 
Point_Int Inverse_Frenet_Rotation (const Point_Int &Frenet, const Vector &T1, const Vector &T2, const Vector &normal)
 Inverse operation of frenet rotation. This permits to refind the original coordinates. More...
 
Color_Unit Get_Average_Vertex_Color_After_Removal (const halfedge_descriptor &h, const int &valence, const HalfedgeGraph &_pMesh)
 Gets an average color of neighboring vertices ( After removal of front vertex of h) More...
 
int Estimate_Geometry_Quantization (double volume, double area, int number_vertices)
 Estimate geometry quantization. More...
 
int Get_Correct_Vector (int i, int j, int k)
 ADAPTIVE_QUANTIZATION : gets symbols to correct Vector of under_quantization. More...
 
bool Remove_Edges (HalfedgeGraph &_pMesh, const halfedge_descriptor &h, const int &type)
 Remove edges to create a hole. More...
 
void Get_Coefficient_Up_Quantization (const int &Correct_symbol, int coeff[3])
 Gets a coefficient up quantization. More...
 
void compute_normals (const HalfedgeGraph &_pMesh, const PointMap *_pm)
 
void compute_normals_per_facet (const HalfedgeGraph &_pMesh, const PointMap *_pm)
 
void compute_normals_per_vertex (const HalfedgeGraph &_pMesh)
 
void compute_facet_normal (const face_descriptor &f, const HalfedgeGraph &_pMesh, const PointMap *_pm)
 
void compute_vertex_normal (const vertex_descriptor &v, const HalfedgeGraph &_pMesh)
 
void print_halfedge (const std::string &title, const halfedge_descriptor &h, const HalfedgeGraph &_pMesh, const PointMap *_pm)
 
void print_vertex (const std::string &title, const vertex_descriptor &v, const PointMap *_pm)
 
std::string vertex_to_string (const vertex_descriptor &v, const PointMap *_pm)
 
std::string halfedge_to_string (const halfedge_descriptor &h, const HalfedgeGraph &_pMesh, const PointMap *_pm)
 
std::string edge_to_string (const halfedge_descriptor &h, const HalfedgeGraph &_pMesh, const PointMap *_pm)
 
void DBG_print_mesh_geometry (const HalfedgeGraph &_pMesh, const PointMap *_pm, const std::string &header=std::string())
 
void DBG_print_mesh_vertexcolor (const HalfedgeGraph &_pMesh, const VertexColorMap *_v_cm, const std::string &header=std::string())
 
bool v_inf_to_v (const vertex_descriptor &v1, const vertex_descriptor &v2, const PointMap *_pm)
 
void build_mesh (HalfedgeGraph &_pMesh, PointMap *_pm, VertexColorMap *_v_cm, const std::vector< Point3d > &vlist, const std::vector< int > &flist, const std::vector< float > &clist, const std::vector< int > &Color_index_list)
 
void init_vertex_attributes (const vertex_descriptor &v)
 
void truncate_colors (const HalfedgeGraph &_pMesh, VertexColorMap *_v_cm)
 

Static Public Member Functions

static void copy_mesh (const HalfedgeGraph &_pMesh, const VertexColorMap *_v_cm, HalfedgeGraph &mesh_copy, VertexColorMap *v_cm_copy)
 Copy the current mesh and vertex-color map to a new mesh and vertex-color map. If v_cm_copy == nullptr, the vertex-color map is NOT copied. More...
 

Public Attributes

bool IsDecompress
 true if is decompress More...
 
bool IsCompressed
 true if is compressed More...
 
int Current_level
 The current level. More...
 
int Total_layer
 The total number of layer. More...
 
unsigned Initial_file_size
 Size of the initial file. More...
 
unsigned Compressed_file_size
 Size of the compressed file. More...
 
std::string File_name
 Filename of the file. More...
 
std::vector< float > Prog
 
std::vector< float > Ratio
 Stock information of ration regarding size of the input file. More...
 
std::string Message
 Message to be shown in the main window. More...
 
bool Sequence
 Decompression mode (sequence mode or file mode) for IHM. More...
 
bool Possible_change_sequence
 
int Visu_level
 Level of visualized LoD for IHM. More...
 
int Process_level
 Level of processed LoD for IHM. More...
 
FILE * Dec_Info
 File to write information of decompression for IHM. More...
 
std::string Dec_File_Info
 File name to write decompression information for IHM. More...
 
FEVV::Vertex_pmap< HalfedgeGraph, Color_Unitvertex_color_int
 
FEVV::Vertex_pmap< HalfedgeGraph, int > vertex_Seed_Edge
 
FEVV::Vertex_pmap< HalfedgeGraph, int > vertex_Component_Number
 
FEVV::Vertex_pmap< HalfedgeGraph, int > Vertex_Flag
 
FEVV::Vertex_pmap< HalfedgeGraph, int > Vertex_Number
 
FEVV::Vertex_pmap< HalfedgeGraph, int > Vertex_Sign
 
FEVV::Vertex_pmap< HalfedgeGraph, Vectorvertex_normal
 
FEVV::Vertex_pmap< HalfedgeGraph, int > vertex_Q_Index
 
FEVV::Vertex_pmap< HalfedgeGraph, int > vertex_Region_Number
 
FEVV::Vertex_pmap< HalfedgeGraph, int > vertex_Removal_Order
 
FEVV::Face_pmap< HalfedgeGraph, int > facet_tag
 
FEVV::Face_pmap< HalfedgeGraph, int > facet_Component_Number
 
FEVV::Face_pmap< HalfedgeGraph, int > Facet_Flag
 
FEVV::Face_pmap< HalfedgeGraph, Vectorfacet_normal
 

Private Attributes

std::vector< bool > IsClosed
 The is closed. To know if the mesh is open or closed. More...
 
bool IsColored
 true if is colored More...
 
bool IsOneColor
 true if is one color More...
 
float OnlyColor [3]
 The coordinates of color when there is only one color. More...
 
std::vector< std::list< int > > ListOperation
 The list of operation. More...
 
std::vector< std::list< int > > Connectivity
 The information of connectivity to compress. More...
 
std::vector< std::list< Point_Int > > Geometry
 The geometry information to compress. More...
 
std::vector< std::list< int > > NumberSymbol
 Number of symbols of each simplification step. More...
 
std::vector< std::list< int > > NumberVertices
 Number of vertices of each simplification step. More...
 
std::list< Point_IntInterGeometry
 The intermediate information of geometry. More...
 
std::list< int > InterConnectivity
 The intermediate information of connectivity. More...
 
std::vector< std::list< int > > AlphaRange
 The range of alpha (Frenet coordinates) of each LoD. More...
 
std::vector< std::list< int > > AlphaOffset
 The offset of alpha. More...
 
std::vector< std::list< int > > GammaRange
 The range of gamma (Frenet coordinates) of each LoD. More...
 
std::vector< std::list< int > > GammaOffset
 The offset of gamma. More...
 
std::vector< unsigned > Qbit
 The Quantization bits. More...
 
std::vector< float > xmin
 The xmin. More...
 
std::vector< float > ymin
 The ymin. More...
 
std::vector< float > zmin
 The zmin. More...
 
std::vector< float > xmax
 The xmax. More...
 
std::vector< float > ymax
 The ymax. More...
 
std::vector< float > zmax
 The zmax. More...
 
std::vector< float > Quantization_Step
 The quantization step. More...
 
int Smallest_Alpha
 The smallest alpha. More...
 
int Smallest_Gamma
 The smallest gamma. More...
 
std::vector< double > HighestLengthBB
 The highest length bb. More...
 
std::vector< double > ComponentVolume
 The volume of each component. More...
 
std::vector< double > ComponentArea
 The area of each component. More...
 
std::vector< int > ComponentNumberVertices
 The number of vertices of each components. More...
 
std::vector< std::list< int > > QuantizationCorrectVector
 The quantization correct vector. More...
 
std::vector< std::list< int > > NumberQuantizationLayer
 Number of quantization layers. More...
 
std::vector< std::list< int > > NumberProcessedVertices
 Number of processed vertices. More...
 
std::vector< std::list< int > > ColorChildcellIndex
 the color childcell index More...
 
std::vector< std::list< int > > ColorEncoderIndex
 the color encoder index More...
 
std::vector< std::list< Color_Unit > > VertexColor
 Contain color error of all removed vertices. More...
 
std::list< Color_UnitInterVertexColor
 The intermediate information vertex color. More...
 
float C0_Min
 The C0 minimum. More...
 
float C1_Min
 The C1 minimum. More...
 
float C2_Min
 The C2 minimum. More...
 
float Color_Quantization_Step
 The color quantization step. More...
 
std::vector< int > NumberColorQuantization
 Number of color quantizations. More...
 
int Smallest_C0
 
int Smallest_C1
 
int Smallest_C2
 
int C0_Range
 The C0 range. More...
 
int C1_Range
 The C1 range. More...
 
int C2_Range
 The C2 range. More...
 
Arithmetic_Codec Decoder
 The arithmetic decoder. More...
 
Adaptive_Data_Model Color_0_Model
 The statistical model used for color_0. More...
 
Adaptive_Data_Model Color_1_Model
 The statistical model used for color_1. More...
 
Adaptive_Data_Model Color_2_Model
 The statistical model used for color_2. More...
 
Adaptive_Data_Model Index_Model
 The index model. More...
 
std::vector< int > NumberDecimation
 To stock number of Decimation operation. More...
 
std::vector< int > NumberChangeQuantization
 
int DumpSymbolDecimation
 
int DumpSymbolRegulation
 
int Decompress_count
 
int NumberComponents
 
int GlobalCountOperation
 The global count operation. More...
 
std::vector< int > ComponentOperations
 The operations of each component. More...
 
int m_NumberBin
 Number of bins for JCW. More...
 
int m_EmbeddingStrength
 Embedding strength for JCW. More...
 
int m_NumberRegion
 Number of regions for JCW. More...
 
double m_VC [3]
 Mesh center position for JCW. More...
 
double m_Rmin
 Distance of farthest vertex from mesh center for JCW. More...
 
double m_Rmax
 Distance of nearst vertex from mesh center for JCW. More...
 
double m_Dist
 Distance of each bin. More...
 
std::vector< int > m_Number_Vertices_Per_Regions
 Number of vertices in each region. More...
 
std::list< int > m_Watermarks
 watermark More...
 
int N_Inserted_Watermarks
 Number of inserted watermarks. More...
 
std::vector< int > m_N_remained_vertices
 Number of remained vertices in each region. More...
 
std::vector< int > m_N_treated_vertices
 Number of treated vertices in each region. More...
 
std::vector< double > m_Rad_decision
 
std::list< std::vector< int > > m_JCW_Move_Error
 Stock difference related to complete reversibility. More...
 
std::list< int > m_N_Errors
 Index of error related to complete reversibility. More...
 
Adaptive_Data_Model DM_JCW_MOVE_ERROR
 
std::list< int > JCW_Connectivity
 Stock connectivity information for JCW. More...
 
std::list< Point_IntJCW_Geometry
 Stock geometry information for JCW. More...
 
std::vector< std::vector< float > > Region_Color
 Color of each region. More...
 
int Number_non_reversible_vertices
 
int Number_Save_Over_bins
 Number of empty bins to shift the current bins. More...
 
bool Is_Division_Big_Regions_Enabled
 
bool Is_Complete_Reversibility_Enabled
 
bool Is_Bijection_Enabled
 true if "bijection" option is seleted More...
 
int Division_Threshold
 Threshold of region division. More...
 

Detailed Description

template<typename HalfedgeGraph, typename PointMap, typename VertexColorMap>
class Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >

Compression valence component.

Definition at line 210 of file Compression_Valence_Component.h.

Member Typedef Documentation

◆ face_descriptor

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
typedef GraphTraits::face_descriptor Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::face_descriptor

Definition at line 216 of file Compression_Valence_Component.h.

◆ face_iterator

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
typedef GraphTraits::face_iterator Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::face_iterator

Definition at line 217 of file Compression_Valence_Component.h.

◆ GraphTraits

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
typedef boost::graph_traits< HalfedgeGraph > Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::GraphTraits

Definition at line 213 of file Compression_Valence_Component.h.

◆ halfedge_descriptor

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
typedef GraphTraits::halfedge_descriptor Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::halfedge_descriptor

Definition at line 218 of file Compression_Valence_Component.h.

◆ halfedge_iterator

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
typedef GraphTraits::halfedge_iterator Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::halfedge_iterator

Definition at line 219 of file Compression_Valence_Component.h.

◆ Point3d

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
typedef FEVV::Geometry_traits< HalfedgeGraph >::Point Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::Point3d

Definition at line 221 of file Compression_Valence_Component.h.

◆ Vector

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
typedef FEVV::Geometry_traits< HalfedgeGraph >::Vector Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::Vector

Definition at line 220 of file Compression_Valence_Component.h.

◆ vertex_descriptor

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
typedef GraphTraits::vertex_descriptor Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::vertex_descriptor

Definition at line 214 of file Compression_Valence_Component.h.

◆ vertex_iterator

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
typedef GraphTraits::vertex_iterator Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::vertex_iterator

Definition at line 215 of file Compression_Valence_Component.h.

Constructor & Destructor Documentation

◆ Compression_Valence_Component()

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::Compression_Valence_Component ( void  )
inline

Default Constructor.

Definition at line 230 of file Compression_Valence_Component.h.

◆ ~Compression_Valence_Component()

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::~Compression_Valence_Component ( )
inline

Destructor.

Definition at line 277 of file Compression_Valence_Component.h.

Member Function Documentation

◆ Adaptive_Quantization()

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
void Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::Adaptive_Quantization ( HalfedgeGraph &  pMesh,
PointMap *  _pm,
VertexColorMap *  _v_cm,
const int &  NVertices,
const bool  Is_normal_flipping_selected,
const bool  Is_use_metric_selected,
const float &  Metric_thread,
const bool  Is_use_forget_metric_selected,
const int &  Forget_value,
const int &  Qbit 
)

Adaptive quantization which not only decimates a input mesh but also adapts quantization precision for all intermediate meshes.

Parameters
[in,out]pMeshThe mesh.
NVerticesThe vertices.
Is_normal_flipping_selectedThe normal flipping.
Is_use_metric_selectedThe use metric.
Metric_threadThe metric thread.
Is_use_forget_metric_selectedThe use forget metric.
Forget_valueThe forget value.
QbitThe qbit.

Definition at line 874 of file Compression_Valence_Component.inl.

Here is the call graph for this function:

◆ Area_Facet_Triangle() [1/2]

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
double Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::Area_Facet_Triangle ( const Point3d P,
const Point3d Q,
const Point3d R,
const HalfedgeGraph &  _pMesh 
)

to calculate the area of a triangle.

Parameters
PThe.
QThe.
RThe.
Returns
.

Definition at line 7590 of file Compression_Valence_Component.inl.

Here is the call graph for this function:

◆ Area_Facet_Triangle() [2/2]

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
double Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::Area_Facet_Triangle ( const typename boost::graph_traits< HalfedgeGraph >::halfedge_descriptor h,
const HalfedgeGraph &  mesh,
const PointMap *  pm 
)

Gives an area of the triangle which contain the halfedge_handle h.

Parameters
hThe halfedge_handle.
Returns
.

Definition at line 7570 of file Compression_Valence_Component.inl.

Here is the call graph for this function:

◆ Augment_Color_Quantization_Precision()

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
void Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::Augment_Color_Quantization_Precision ( HalfedgeGraph &  _pMesh,
Arithmetic_Codec Decoder,
const int &  Component_ID,
VertexColorMap *  _v_cm 
)

Refine quantization precision of mesh color coordinates.

Parameters
[in,out]pMeshThe mesh.
[in,out]DecoderThe decoder.
Component_IDIdentifier for the component.

Definition at line 6020 of file Compression_Valence_Component.inl.

Here is the call graph for this function:

◆ Augment_Geometry_Quantization_Precision()

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
void Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::Augment_Geometry_Quantization_Precision ( HalfedgeGraph &  pMesh,
Arithmetic_Codec Decoder,
const int &  Component_ID,
PointMap *  _pm 
)

Refines quantization precision of mesh geometry.

Parameters
[in,out]pMeshThe mesh.
[in,out]DecoderThe decoder.
Component_IDComponent ID.

Definition at line 4868 of file Compression_Valence_Component.inl.

Here is the call graph for this function:

◆ Barycenter_Patch_After_Removal()

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::Point3d Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::Barycenter_Patch_After_Removal ( const halfedge_descriptor h,
const int &  valence,
const HalfedgeGraph &  _pMesh,
const PointMap *  _pm 
)

gives the position of the barycenter of the patch for decimation conquest.

Parameters
hThe.
valenceThe valence.
Returns
.

Definition at line 7789 of file Compression_Valence_Component.inl.

Here is the call graph for this function:

◆ Barycenter_Patch_Before_Removal()

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::Point3d Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::Barycenter_Patch_Before_Removal ( const halfedge_descriptor h,
const HalfedgeGraph &  _pMesh,
const PointMap *  _pm 
)

gives the position of the barycenter of the patch for regulation conquest.

Parameters
hThe.
Returns
.

Definition at line 7755 of file Compression_Valence_Component.inl.

Here is the call graph for this function:

◆ build_mesh()

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
void Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::build_mesh ( HalfedgeGraph &  _pMesh,
PointMap *  _pm,
VertexColorMap *  _v_cm,
const std::vector< Point3d > &  vlist,
const std::vector< int > &  flist,
const std::vector< float > &  clist,
const std::vector< int > &  Color_index_list 
)

Populate the mesh, given vertices and faces list.

Definition at line 9382 of file Compression_Valence_Component.inl.

Here is the call graph for this function:

◆ Calculate_Current_File_Size()

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
unsigned Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::Calculate_Current_File_Size ( void  )
inline

Calculates the current file size. Measure bits used for decompression.

Returns
The calculated current file size.

Definition at line 914 of file Compression_Valence_Component.h.

Here is the call graph for this function:

◆ Calculate_Edge_Color_Difference()

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
void Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::Calculate_Edge_Color_Difference ( HalfedgeGraph &  pMesh,
const int &  Component_ID,
double &  Max_color,
double &  Mean_color,
int &  Number_of_vertices 
)

Calculates the edge color difference.

Parameters
[in,out]pMeshThe mesh.
Component_IDIdentifier for the component.
[in,out]Max_colorThe maximum of color difference.
[in,out]Mean_colorThe mean of color difference.
[in,out]Number_of_verticesNumber of vertices.

Definition at line 4304 of file Compression_Valence_Component.inl.

Here is the call graph for this function:

◆ Calculate_Geometry_Color_Offset_Range()

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
void Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::Calculate_Geometry_Color_Offset_Range ( void  )

Calculates the geometry color offset range. This function is needed since the coder/decoder deals only with the positive symbol numbers.

Definition at line 3648 of file Compression_Valence_Component.inl.

◆ Calculate_T1_T2()

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::Vector Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::Calculate_T1_T2 ( const halfedge_descriptor h,
const Vector normal,
Vector T2,
const HalfedgeGraph &  _pMesh,
const PointMap *  _pm 
)

Calculates the base vectors of new coordinates system which is frenet system.

Parameters
hThe.
normalThe normal.
[in,out]T2The second Vector &.
Returns
The calculated t 1 t 2.

Definition at line 8393 of file Compression_Valence_Component.inl.

Here is the call graph for this function:

◆ Change_Int_Real()

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::Point3d Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::Change_Int_Real ( const Point_Int pt,
const int &  Component_ID 
)
inline

Change from int to real point(related to quantization bit)

Parameters
ptThe point(integers).
Component_IDComponent ID.
Returns
.

Definition at line 6277 of file Compression_Valence_Component.inl.

◆ Change_Real_Int()

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
Point_Int Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::Change_Real_Int ( const Point3d pt,
const int &  Component_ID 
)
inline

Change from real to int point(related to quantization bit)

Parameters
ptThe point.
Component_IDComponent ID.
Returns
Integer coordinates.

Definition at line 6232 of file Compression_Valence_Component.inl.

◆ Color_Initialization()

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
void Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::Color_Initialization ( HalfedgeGraph &  pMesh,
VertexColorMap *  v_cm 
)

Color initialization.

Parameters
[in,out]pMeshThe mesh.

Definition at line 671 of file Compression_Valence_Component.inl.

Here is the call graph for this function:

◆ Compression()

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
void Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::Compression ( HalfedgeGraph &  pMesh,
const char *  File_Name,
const int &  Qbit,
unsigned &  Connectivity_size,
unsigned &  Color_size,
unsigned &  Total_size,
const PointMap *  _pm 
)

Compressions.

Parameters
[in,out]pMeshThe mesh.
File_NameFilename of the output file.
QbitThe quantization of geometry.
[in,out]Connectivity_sizeSize of the connectivity.
[in,out]Color_sizeSize of the color.
[in,out]Total_sizeSize of the total.

Definition at line 3902 of file Compression_Valence_Component.inl.

Here is the call graph for this function:

◆ compute_facet_normal()

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
void Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::compute_facet_normal ( const face_descriptor f,
const HalfedgeGraph &  _pMesh,
const PointMap *  _pm 
)

Compute the normal of a face.

Definition at line 9226 of file Compression_Valence_Component.inl.

Here is the call graph for this function:

◆ compute_normals()

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
void Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::compute_normals ( const HalfedgeGraph &  _pMesh,
const PointMap *  _pm 
)

Compute face and vertex normals.

Definition at line 9181 of file Compression_Valence_Component.inl.

◆ compute_normals_per_facet()

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
void Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::compute_normals_per_facet ( const HalfedgeGraph &  _pMesh,
const PointMap *  _pm 
)

Compute face and vertex normals.

Definition at line 9197 of file Compression_Valence_Component.inl.

Here is the call graph for this function:

◆ compute_normals_per_vertex()

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
void Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::compute_normals_per_vertex ( const HalfedgeGraph &  _pMesh)

Compute face and vertex normals.

Definition at line 9212 of file Compression_Valence_Component.inl.

Here is the call graph for this function:

◆ compute_vertex_normal()

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
void Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::compute_vertex_normal ( const vertex_descriptor v,
const HalfedgeGraph &  _pMesh 
)

Compute the normal of a vertex.

Definition at line 9289 of file Compression_Valence_Component.inl.

Here is the call graph for this function:

◆ copy_mesh()

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
void Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::copy_mesh ( const HalfedgeGraph &  _pMesh,
const VertexColorMap *  _v_cm,
HalfedgeGraph &  mesh_copy,
VertexColorMap *  v_cm_copy 
)
static

Copy the current mesh and vertex-color map to a new mesh and vertex-color map. If v_cm_copy == nullptr, the vertex-color map is NOT copied.

Definition at line 6520 of file Compression_Valence_Component.inl.

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

◆ DBG_print_mesh_geometry()

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
void Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::DBG_print_mesh_geometry ( const HalfedgeGraph &  _pMesh,
const PointMap *  _pm,
const std::string &  header = std::string() 
)

Display mesh geometry for debugging purpose.

Definition at line 9824 of file Compression_Valence_Component.inl.

Here is the call graph for this function:

◆ DBG_print_mesh_vertexcolor()

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
void Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::DBG_print_mesh_vertexcolor ( const HalfedgeGraph &  _pMesh,
const VertexColorMap *  _v_cm,
const std::string &  header = std::string() 
)

Display mesh vertices color for debugging purpose.

Definition at line 9846 of file Compression_Valence_Component.inl.

Here is the call graph for this function:

◆ Decimation_Conquest()

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
int Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::Decimation_Conquest ( HalfedgeGraph &  pMesh,
const PointMap *  _pm,
const bool  Is_normal_flipping_selected,
const bool  Is_use_metric_selected,
const float &  Metric_thread,
const bool  Is_use_forget_metric_selected,
const int &  Forget_value,
const int &  Component_ID 
)

Removal of a set of independent vertices.

Parameters
[in,out]pMeshThe mesh.
Is_normal_flipping_selectedThe normal flipping.
Is_use_metric_selectedThe use metric.
Metric_threadThe metric thread.
Is_use_forget_metric_selectedThe use forget metric.
Forget_valueThe forget value.
Component_IDIdentifier for the component.
Returns
Number of decimated vertices.

Main loop

Definition at line 1341 of file Compression_Valence_Component.inl.

Here is the call graph for this function:

◆ Decompress_Each_Step()

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
int Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::Decompress_Each_Step ( HalfedgeGraph &  _pMesh,
PointMap *  _pm,
VertexColorMap *  _v_cm 
)

Decompress the each step to visualize intermediate meshes.

Parameters
[in,out]pMeshThe mesh.
File_NameFilename of the file.
Returns
Index of the current LoD.

Definition at line 5920 of file Compression_Valence_Component.inl.

◆ Decompress_Init()

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
void Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::Decompress_Init ( HalfedgeGraph &  pMesh,
PointMap *  _pm,
VertexColorMap *  _v_cm,
bool &  has_color,
const std::string &  Input_File_Name 
)

Initialize the Decompression by loading the base mesh into pMesh. aka decompress the first (simplest) level of the mesh.

Parameters
[in,out]pMeshThe mesh.
Returns
Information related to the decompression (number of LoDs, size of the input file, etc).

Definition at line 5470 of file Compression_Valence_Component.inl.

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

◆ Decompression_All_From_File()

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
std::string Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::Decompression_All_From_File ( HalfedgeGraph &  _pMesh,
PointMap *  _pm,
VertexColorMap *  _v_cm,
bool  do_write_info,
std::vector< HalfedgeGraph * > *  intermediate_meshes,
std::vector< VertexColorMap * > *  intermediate_vertexColorMaps,
int  stop_level = -1,
bool  do_write_intermediate_meshes = false 
)

Decompression of all LoDs from file, or until a specified level. The finest LoD is visualized without creating mesh sequence.

Parameters
[in,out]pMeshThe mesh.

Definition at line 6583 of file Compression_Valence_Component.inl.

Here is the caller graph for this function:

◆ Diminush_Color_Quantization_Precision()

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
void Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::Diminush_Color_Quantization_Precision ( HalfedgeGraph &  pMesh,
const int  Component_ID,
VertexColorMap *  _v_cm 
)

Reduces quantization precision of color coordinates.

Parameters
[in,out]pMeshThe mesh.
Component_IDIdentifier for the component.

Definition at line 4619 of file Compression_Valence_Component.inl.

Here is the call graph for this function:

◆ Diminush_Geometry_Quantization_Precision()

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
void Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::Diminush_Geometry_Quantization_Precision ( HalfedgeGraph &  pMesh,
const int &  Component_ID,
PointMap *  _pm 
)

Decreasing of quantization resolution based on the prediction of PENG. Opposite function is Augment_Geometry_Quantization_Precision.

Parameters
[in,out]pMeshThe mesh.
Component_IDComponent ID.

Definition at line 5151 of file Compression_Valence_Component.inl.

Here is the call graph for this function:

◆ edge_to_string()

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
std::string Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::edge_to_string ( const halfedge_descriptor h,
const HalfedgeGraph &  _pMesh,
const PointMap *  _pm 
)

Convert edge to string for debugging purpose.

Definition at line 1314 of file Compression_Valence_Component.inl.

Here is the call graph for this function:

◆ Error_Projected_Surface()

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
bool Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::Error_Projected_Surface ( const HalfedgeGraph &  _pMesh,
const PointMap *  _pm,
const halfedge_descriptor _h,
const int &  _Component_ID,
const double &  Mean_color,
const double &  Mean_area 
)

Calculate an error cause by a vertex removal and decide in order not to remove an important vertex.

Parameters
[in,out]pMeshThe mesh.
hInput gate.
Component_IDComponent ID.
Mean_colorMean color value.
Mean_areaAverage of facets areas.
Returns
Decision of vertex removal.

Definition at line 6311 of file Compression_Valence_Component.inl.

Here is the call graph for this function:

◆ Estimate_Geometry_Quantization()

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
int Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::Estimate_Geometry_Quantization ( double  volume,
double  area,
int  number_vertices 
)

Estimate geometry quantization.

Parameters
[in,out]pMeshThe mesh.
volumeThe volume.
areaThe area.
number_verticesNumber of vertices.
Returns
.

Definition at line 9328 of file Compression_Valence_Component.inl.

◆ Find_Type()

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
int Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::Find_Type ( const HalfedgeGraph &  _pMesh,
const halfedge_descriptor h,
const int &  valence 
)

To find a correspondent type to retriangulate.

Parameters
hThe.
valenceThe valence.
Returns
The found type.

Definition at line 6754 of file Compression_Valence_Component.inl.

Here is the call graph for this function:

◆ Frenet_Rotation()

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
Point_Int Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::Frenet_Rotation ( const Point_Int Dist,
const Vector T1,
const Vector T2,
const Vector normal 
)

finds a bijection through a rotation transformation in 3D with only integer coordinates.

Parameters
DistThe distance.
T1The first const Vector &.
T2The second const Vector &.
normalThe normal.
Returns
.

first rotation angle : phi;

Second rotation angle psi.

Last rotation angle theta.

Definition at line 8480 of file Compression_Valence_Component.inl.

Here is the call graph for this function:

◆ Get_Average_Vertex_Color_After_Removal()

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
Color_Unit Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::Get_Average_Vertex_Color_After_Removal ( const halfedge_descriptor h,
const int &  valence,
const HalfedgeGraph &  _pMesh 
)

Gets an average color of neighboring vertices ( After removal of front vertex of h)

Parameters
hThe.
valenceThe valence.
Returns
The average vertex color after removal.

Definition at line 8856 of file Compression_Valence_Component.inl.

Here is the call graph for this function:

◆ Get_Average_Vertex_Color_Lee()

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
Color_Unit Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::Get_Average_Vertex_Color_Lee ( const halfedge_descriptor h,
const int &  valence,
const HalfedgeGraph &  _pMesh 
)

Gets an average vertex color prediction using Lee's method.

Parameters
hThe.
valenceThe valence.
Returns
The average vertex color lee.

Definition at line 7671 of file Compression_Valence_Component.inl.

Here is the call graph for this function:

◆ Get_Coefficient_Up_Quantization()

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
void Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::Get_Coefficient_Up_Quantization ( const int &  Correct_symbol,
int  coeff[3] 
)

Gets a coefficient up quantization.

Parameters
Correct_symbolThe correct symbol.
coeffThe coeff.

Definition at line 9717 of file Compression_Valence_Component.inl.

◆ Get_Correct_Vector()

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
int Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::Get_Correct_Vector ( int  i,
int  j,
int  k 
)

ADAPTIVE_QUANTIZATION : gets symbols to correct Vector of under_quantization.

Parameters
iThe.
jThe.
kThe.
Returns
The correct vector.

Definition at line 9346 of file Compression_Valence_Component.inl.

◆ Get_Vertex_Color()

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
Color_Unit Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::Get_Vertex_Color ( const halfedge_descriptor h,
const HalfedgeGraph &  _pMesh 
)

gets a color of front vertex of h.

Parameters
hThe.
Returns
The vertex color.

Definition at line 7662 of file Compression_Valence_Component.inl.

Here is the call graph for this function:

◆ Global_Initialization()

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
void Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::Global_Initialization ( HalfedgeGraph &  pMesh,
const int &  Quantization_bit,
const char *  File_name,
const PointMap *  pm,
VertexColorMap *  v_cm 
)

Global initialization to select the input gate.

Parameters
[in,out]pMeshThe mesh.
Quantization_bitNumber of bits used for geometry quantization.
File_nameFilename of the file.

Definition at line 223 of file Compression_Valence_Component.inl.

◆ halfedge_to_string()

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
std::string Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::halfedge_to_string ( const halfedge_descriptor h,
const HalfedgeGraph &  _pMesh,
const PointMap *  _pm 
)

Convert halfedge to string for debugging purpose.

Definition at line 1276 of file Compression_Valence_Component.inl.

Here is the call graph for this function:

◆ Init()

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
void Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::Init ( HalfedgeGraph &  mesh)

Initialize all flags of verticeces and facets to FREE and give order to vertices (manifold property check). This function is called every conquest.

Parameters
[in,out]pMeshThe mesh.

Definition at line 1190 of file Compression_Valence_Component.inl.

Here is the call graph for this function:

◆ init_vertex_attributes()

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
void Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::init_vertex_attributes ( const vertex_descriptor v)

Initialize vertex attributes in the same way as Mepp1.

Definition at line 9773 of file Compression_Valence_Component.inl.

Here is the call graph for this function:

◆ Inverse_Frenet_Rotation()

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
Point_Int Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::Inverse_Frenet_Rotation ( const Point_Int Frenet,
const Vector T1,
const Vector T2,
const Vector normal 
)

Inverse operation of frenet rotation. This permits to refind the original coordinates.

Parameters
FrenetThe frenet.
T1The first const Vector &.
T2The second const Vector &.
normalThe normal.
Returns
.

first rotation angle : phi;

Second rotation angle psi.

Last rotation angle theta.

Definition at line 8643 of file Compression_Valence_Component.inl.

Here is the call graph for this function:

◆ Is_Border_Vertex()

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
bool Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::Is_Border_Vertex ( const halfedge_descriptor h,
const HalfedgeGraph &  mesh 
)

Query if 'h' is border vertex.

Parameters
hThe.
Returns
true if border vertex, false if not.

Definition at line 6730 of file Compression_Valence_Component.inl.

Here is the call graph for this function:

◆ Is_Geometric_Metric_Violated()

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
bool Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::Is_Geometric_Metric_Violated ( const HalfedgeGraph &  _pMesh,
const PointMap *  _pm,
const halfedge_descriptor h,
const int &  type,
const unsigned int &  valence,
const float &  Threshold 
)

Query if this object is geometric violated. Here, we define a geometric_metric to preserve maximum the intermediate meshes.

Parameters
hThe.
typeThe type.
valenceThe valence.
ThresholdThe threshold.
Returns
true if geometric violated, false if not.

Definition at line 7267 of file Compression_Valence_Component.inl.

Here is the call graph for this function:

◆ Is_Manifold_Property_Violated()

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
bool Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::Is_Manifold_Property_Violated ( const HalfedgeGraph &  _pMesh,
const halfedge_descriptor h,
const int &  type,
const int &  valence 
)

Query if removal of this vertex would violate the manifold_property or not.

Parameters
hThe.
typeThe type.
valenceThe valence.
Returns
true if manifold property violated, false if not.

Definition at line 6842 of file Compression_Valence_Component.inl.

Here is the call graph for this function:

◆ Is_Normal_Flipping_Occured()

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
bool Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::Is_Normal_Flipping_Occured ( const HalfedgeGraph &  _pMesh,
const PointMap *  _pm,
const halfedge_descriptor h,
const unsigned &  valence 
)

Query if removal of the front vertex can cause a normal flipping problem.

Parameters
hThe.
valenceThe valence.
Returns
true if normal flipping occured, false if not.

Definition at line 7081 of file Compression_Valence_Component.inl.

Here is the call graph for this function:

◆ keep_intermediate_mesh()

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
void Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::keep_intermediate_mesh ( const HalfedgeGraph &  _pMesh,
const VertexColorMap *  _v_cm,
std::vector< HalfedgeGraph * > *  intermediate_meshes,
std::vector< VertexColorMap * > *  intermediate_vertexColorMaps 
)

Store a copy of the current mesh and vertex color map to be able to display all levels of decompression.

Definition at line 6551 of file Compression_Valence_Component.inl.

◆ Main_Function()

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
std::string Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::Main_Function ( HalfedgeGraph &  pMesh,
PointMap *  _pm,
VertexColorMap *  _v_cm,
const std::string &  Input_File_Name,
const std::string &  File_Name,
const int &  Qbit,
const int &  NVertices,
const bool  Is_normal_flipping_selected,
const bool  Is_use_metric_selected,
const float &  Metric_thread,
const bool  Is_use_forget_metric_selected,
const int &  Forget_value,
const bool  Is_compression_selected,
const bool  Is_adaptive_quantization_selected,
const bool  Is_bijection_selected 
)

Main function of compression.

Parameters
[in,out]pMeshThe mesh.
Input_File_NameFilename of the input file.
File_NameFilename of the compressed(output) file.
QbitThe qbit.
NVerticesMaximum number of vertices after simplification/compression.
Is_normal_flipping_selectedThe normal flipping.
Is_use_metric_selectedThe use metric.
Metric_threadThe metric thread.
Is_use_forget_metric_selectedThe use forget metric.
Forget_valueThe forget value.
Is_compression_selectedThe compression selected.
Is_adaptive_quantization_selectedThe adaptive quantization.
Is_bijection_selectedThe bijection of the geometry coding.
Returns
Information of compression results.

Definition at line 55 of file Compression_Valence_Component.inl.

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

◆ Multiple_Components_Initialization()

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
void Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::Multiple_Components_Initialization ( HalfedgeGraph &  pMesh,
const PointMap *  pm,
const int &  Quantization_bit 
)
 \brief Initialization to deal with a mesh composed of multiple

separated components.

 \param [in,out]  pMesh The mesh.
 \param Quantization_bit    The number of quantization for

geometry.

Definition at line 251 of file Compression_Valence_Component.inl.

Here is the call graph for this function:

◆ Normal_Patch()

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::Vector Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::Normal_Patch ( const halfedge_descriptor const_h,
const unsigned int &  valence,
const HalfedgeGraph &  _pMesh,
const PointMap *  _pm 
)

calculates a normal vector of a patch caused by a removal of a front vertex.

Parameters
const_hThe constant h.
valenceThe valence.
Returns
.

Definition at line 8225 of file Compression_Valence_Component.inl.

Here is the call graph for this function:

◆ print_halfedge()

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
void Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::print_halfedge ( const std::string &  title,
const halfedge_descriptor h,
const HalfedgeGraph &  _pMesh,
const PointMap *  _pm 
)

Display halfedge points coordinates for debugging purpose.

Definition at line 1225 of file Compression_Valence_Component.inl.

Here is the call graph for this function:

◆ print_vertex()

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
void Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::print_vertex ( const std::string &  title,
const vertex_descriptor v,
const PointMap *  _pm 
)

Display vertex point coordinates for debugging purpose.

Definition at line 1250 of file Compression_Valence_Component.inl.

Here is the call graph for this function:

◆ Quantization()

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
void Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::Quantization ( HalfedgeGraph &  pMesh,
const PointMap *  pm 
)
 \brief Quantize all vertices so that the new positions are

reguliraly spaced in the 3D space.

 \param [in,out]  pMesh The mesh.

Definition at line 567 of file Compression_Valence_Component.inl.

Here is the call graph for this function:

◆ Recalculate_Component_Area()

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
void Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::Recalculate_Component_Area ( HalfedgeGraph &  pMesh,
const PointMap *  _pm,
const int &  Component_ID,
int &  Number_facets 
)

Update the area of each component.

Parameters
[in,out]pMeshThe mesh.
Component_IDComponent ID.
Number_facetsNumber of facets
Returns
Decision of vertex removal.

Definition at line 4838 of file Compression_Valence_Component.inl.

Here is the call graph for this function:

◆ Regulation()

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
int Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::Regulation ( HalfedgeGraph &  _pMesh,
const bool  Normal_flipping,
const bool  Use_metric,
const float &  Metric_thread,
const bool  Use_forget_metric,
const int &  Forget_value,
const int &  Component_ID,
const PointMap *  _pm 
)

Removal of a set of independent vertices.

Parameters
[in,out]pMeshThe mesh.
Is_normal_flipping_selectedThe normal flipping.
Is_use_metric_selectedThe use metric.
Metric_threadThe metric thread.
Is_use_forget_metric_selectedThe use forget metric.
Forget_valueThe forget value.
Component_IDIdentifier for the component.
Returns
Number of decimated vertices.

Definition at line 8889 of file Compression_Valence_Component.inl.

Here is the call graph for this function:

◆ Remove_Edges()

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
bool Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::Remove_Edges ( HalfedgeGraph &  _pMesh,
const halfedge_descriptor h,
const int &  type 
)

Remove edges to create a hole.

Parameters
[in,out]pMeshThe mesh.
hThe.
typeThe type.
Returns
true if it succeeds, false if it fails.

Definition at line 9455 of file Compression_Valence_Component.inl.

Here is the call graph for this function:

◆ Remove_Last_Phase_Elements()

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
void Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::Remove_Last_Phase_Elements ( const int &  Component_ID)

When the last simplification operation has to be cancelled, we need to remove its elements in order not to compress these elements.

Parameters
Component_IDIdentifier for the component.

Definition at line 3519 of file Compression_Valence_Component.inl.

◆ Retriangulation()

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
void Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::Retriangulation ( HalfedgeGraph &  pMesh,
const halfedge_descriptor ch,
const unsigned &  valence,
const unsigned &  Vertex_number,
const int &  Component_ID,
const PointMap *  _pm 
)

Retriangulates the hole left by a removal of a vertex.

Parameters
[in,out]pMeshThe mesh.
chThe ch.
valenceThe valence.
Vertex_numberThe vertex number.
Component_IDIdentifier for the component.

Definition at line 7819 of file Compression_Valence_Component.inl.

Here is the call graph for this function:

◆ Simplification()

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
void Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::Simplification ( HalfedgeGraph &  pMesh,
const PointMap *  _pm,
const int &  NVertices,
const bool  Is_normal_flipping_selected,
const bool  Is_use_metric_selected,
const float &  Metric_thread,
const bool  Is_use_forget_metric_selected,
const int &  Forget_value 
)

Mesh Simplification which applies iteratively decimation and regulation in pair.

Parameters
[in,out]pMeshThe mesh.
NVerticesThe vertices.
Is_normal_flipping_selectedThe normal flipping.
Is_use_metric_selectedThe use metric.
Metric_threadThe metric thread.
Is_use_forget_metric_selectedThe use forget metric.
Forget_valueThe forget value.

Definition at line 3796 of file Compression_Valence_Component.inl.

Here is the call graph for this function:

◆ Triangle_Normal() [1/2]

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
Vector Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::Triangle_Normal ( const HalfedgeGraph &  _pMesh,
const Point3d P,
const Point3d Q,
const Point3d R 
)

Gives a normal vector of the triangle formed by three points P Q R in the counterclockwise way..

Parameters
PThe.
QThe.
RThe.
Returns
.

◆ Triangle_Normal() [2/2]

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
FEVV::Geometry_traits< HalfedgeGraph >::Vector Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::Triangle_Normal ( const HalfedgeGraph &  _pMesh,
const PointMap *  _pm,
const halfedge_descriptor h 
)

Gives a normal vector of the triangle containing the halfedge_handle h.

Parameters
hThe.
Returns
.

Definition at line 7207 of file Compression_Valence_Component.inl.

Here is the call graph for this function:

◆ truncate_colors()

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
void Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::truncate_colors ( const HalfedgeGraph &  _pMesh,
VertexColorMap *  _v_cm 
)

Truncate vertices colors to 1.

Definition at line 9796 of file Compression_Valence_Component.inl.

Here is the call graph for this function:

◆ Un_Decimation_Conquest()

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
void Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::Un_Decimation_Conquest ( HalfedgeGraph &  pMesh,
Arithmetic_Codec Decoder,
const int &  Component_ID,
PointMap *  _pm,
VertexColorMap *  _v_cm 
)

Decoding of the decimation conquest.

Parameters
[in,out]pMeshThe mesh.
[in,out]DecoderThe decoder.
Component_IDComponent ID.

Definition at line 2599 of file Compression_Valence_Component.inl.

Here is the call graph for this function:

◆ Un_Regulation()

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
void Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::Un_Regulation ( HalfedgeGraph &  _pMesh,
Arithmetic_Codec Decoder,
const int &  Component_ID,
PointMap *  _pm,
VertexColorMap *  _v_cm 
)

Decoding of the regulation conquest.

Parameters
[in,out]pMeshThe mesh.
[in,out]DecoderThe decoder.
Component_IDComponent ID.

Definition at line 2282 of file Compression_Valence_Component.inl.

Here is the call graph for this function:

◆ v_inf_to_v()

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
bool Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::v_inf_to_v ( const vertex_descriptor v1,
const vertex_descriptor v2,
const PointMap *  _pm 
)

V1 < V2 ?

Definition at line 1294 of file Compression_Valence_Component.inl.

Here is the call graph for this function:

◆ vertex_to_string()

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
std::string Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::vertex_to_string ( const vertex_descriptor v,
const PointMap *  _pm 
)

Convert vertex to string for debugging purpose.

Definition at line 1262 of file Compression_Valence_Component.inl.

Here is the call graph for this function:

◆ Volume()

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
double Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::Volume ( const Point3d A,
const Point3d B,
const Point3d C,
const Point3d D,
const HalfedgeGraph &  _pMesh 
)

Compute the volume of ABCD tetrahedron. Replacement of CGAL::volume(A, B, C, D).

Definition at line 7617 of file Compression_Valence_Component.inl.

◆ Write_Base_Mesh()

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
void Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::Write_Base_Mesh ( const HalfedgeGraph &  pMesh,
Arithmetic_Codec Enc,
unsigned &  Connectivity_size,
unsigned &  Color_size,
const int &  Num_color_base_mesh,
const PointMap *  _pm 
)

Writes a base mesh.

Parameters
[in,out]pMeshThe mesh.
[in,out]EncThe encoder.
[in,out]Connectivity_sizeSize of the connectivity.
[in,out]Color_sizeSize of the color.
Num_color_base_meshNumber of color in the base mesh.

Definition at line 3542 of file Compression_Valence_Component.inl.

Here is the call graph for this function:

◆ Write_Info()

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
void Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::Write_Info ( HalfedgeGraph &  pMesh)

Write information of each LoD at decompression in a file.

Parameters
[in,out]pMeshThe mesh.

Definition at line 6677 of file Compression_Valence_Component.inl.

Here is the call graph for this function:

◆ write_intermediate_mesh()

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
void Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::write_intermediate_mesh ( HalfedgeGraph &  _pMesh,
const VertexColorMap *  _v_cm 
)

Write intermediate mesh to file.

Definition at line 6500 of file Compression_Valence_Component.inl.

Here is the call graph for this function:

Member Data Documentation

◆ AlphaOffset

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
std::vector< std::list< int > > Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::AlphaOffset
private

The offset of alpha.

Definition at line 1422 of file Compression_Valence_Component.h.

◆ AlphaRange

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
std::vector< std::list< int > > Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::AlphaRange
private

The range of alpha (Frenet coordinates) of each LoD.

Definition at line 1421 of file Compression_Valence_Component.h.

◆ C0_Min

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
float Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::C0_Min
private

The C0 minimum.

Definition at line 1467 of file Compression_Valence_Component.h.

◆ C0_Range

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
int Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::C0_Range
private

The C0 range.

Definition at line 1481 of file Compression_Valence_Component.h.

◆ C1_Min

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
float Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::C1_Min
private

The C1 minimum.

Definition at line 1468 of file Compression_Valence_Component.h.

◆ C1_Range

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
int Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::C1_Range
private

The C1 range.

Definition at line 1482 of file Compression_Valence_Component.h.

◆ C2_Min

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
float Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::C2_Min
private

The C2 minimum.

Definition at line 1469 of file Compression_Valence_Component.h.

◆ C2_Range

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
int Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::C2_Range
private

The C2 range.

Definition at line 1483 of file Compression_Valence_Component.h.

◆ Color_0_Model

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
Adaptive_Data_Model Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::Color_0_Model
private

The statistical model used for color_0.

Definition at line 1516 of file Compression_Valence_Component.h.

◆ Color_1_Model

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
Adaptive_Data_Model Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::Color_1_Model
private

The statistical model used for color_1.

Definition at line 1517 of file Compression_Valence_Component.h.

◆ Color_2_Model

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
Adaptive_Data_Model Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::Color_2_Model
private

The statistical model used for color_2.

Definition at line 1518 of file Compression_Valence_Component.h.

◆ Color_Quantization_Step

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
float Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::Color_Quantization_Step
private

The color quantization step.

Definition at line 1471 of file Compression_Valence_Component.h.

◆ ColorChildcellIndex

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
std::vector< std::list< int > > Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::ColorChildcellIndex
private

the color childcell index

Definition at line 1457 of file Compression_Valence_Component.h.

◆ ColorEncoderIndex

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
std::vector< std::list< int > > Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::ColorEncoderIndex
private

the color encoder index

Definition at line 1459 of file Compression_Valence_Component.h.

◆ ComponentArea

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
std::vector< double > Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::ComponentArea
private

The area of each component.

Definition at line 1443 of file Compression_Valence_Component.h.

◆ ComponentNumberVertices

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
std::vector< int > Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::ComponentNumberVertices
private

The number of vertices of each components.

Definition at line 1445 of file Compression_Valence_Component.h.

◆ ComponentOperations

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
std::vector< int > Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::ComponentOperations
private

The operations of each component.

Definition at line 1541 of file Compression_Valence_Component.h.

◆ ComponentVolume

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
std::vector< double > Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::ComponentVolume
private

The volume of each component.

Definition at line 1442 of file Compression_Valence_Component.h.

◆ Compressed_file_size

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
unsigned Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::Compressed_file_size

Size of the compressed file.

Definition at line 1592 of file Compression_Valence_Component.h.

◆ Connectivity

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
std::vector< std::list< int > > Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::Connectivity
private

The information of connectivity to compress.

Definition at line 1407 of file Compression_Valence_Component.h.

◆ Current_level

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
int Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::Current_level

The current level.

Definition at line 1589 of file Compression_Valence_Component.h.

◆ Dec_File_Info

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
std::string Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::Dec_File_Info

File name to write decompression information for IHM.

Definition at line 1614 of file Compression_Valence_Component.h.

◆ Dec_Info

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
FILE* Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::Dec_Info

File to write information of decompression for IHM.

Definition at line 1611 of file Compression_Valence_Component.h.

◆ Decoder

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
Arithmetic_Codec Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::Decoder
private

The arithmetic decoder.

Definition at line 1514 of file Compression_Valence_Component.h.

◆ Decompress_count

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
int Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::Decompress_count
private

Number of decompress in order to know how many steps to go for the decompression step by step.

Definition at line 1534 of file Compression_Valence_Component.h.

◆ Division_Threshold

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
int Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::Division_Threshold
private

Threshold of region division.

Definition at line 1583 of file Compression_Valence_Component.h.

◆ DM_JCW_MOVE_ERROR

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
Adaptive_Data_Model Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::DM_JCW_MOVE_ERROR
private

Definition at line 1568 of file Compression_Valence_Component.h.

◆ DumpSymbolDecimation

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
int Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::DumpSymbolDecimation
private

The dump symbol decimation in order to eliminate symbols of the last conquest if it is useless.

Definition at line 1527 of file Compression_Valence_Component.h.

◆ DumpSymbolRegulation

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
int Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::DumpSymbolRegulation
private

The dump symbol regulation in order to eliminate symbols of the last conquest if it is useless.

Definition at line 1530 of file Compression_Valence_Component.h.

◆ facet_Component_Number

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
FEVV::Face_pmap< HalfedgeGraph, int > Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::facet_Component_Number

Definition at line 1645 of file Compression_Valence_Component.h.

◆ Facet_Flag

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
FEVV::Face_pmap< HalfedgeGraph, int > Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::Facet_Flag

Definition at line 1647 of file Compression_Valence_Component.h.

◆ facet_normal

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
FEVV::Face_pmap< HalfedgeGraph, Vector > Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::facet_normal

Definition at line 1649 of file Compression_Valence_Component.h.

◆ facet_tag

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
FEVV::Face_pmap< HalfedgeGraph, int > Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::facet_tag

Definition at line 1643 of file Compression_Valence_Component.h.

◆ File_name

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
std::string Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::File_name

Filename of the file.

Definition at line 1593 of file Compression_Valence_Component.h.

◆ GammaOffset

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
std::vector< std::list< int > > Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::GammaOffset
private

The offset of gamma.

Definition at line 1425 of file Compression_Valence_Component.h.

◆ GammaRange

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
std::vector< std::list< int > > Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::GammaRange
private

The range of gamma (Frenet coordinates) of each LoD.

Definition at line 1424 of file Compression_Valence_Component.h.

◆ Geometry

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
std::vector< std::list< Point_Int > > Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::Geometry
private

The geometry information to compress.

Definition at line 1409 of file Compression_Valence_Component.h.

◆ GlobalCountOperation

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
int Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::GlobalCountOperation
private

The global count operation.

Definition at line 1539 of file Compression_Valence_Component.h.

◆ HighestLengthBB

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
std::vector< double > Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::HighestLengthBB
private

The highest length bb.

Definition at line 1441 of file Compression_Valence_Component.h.

◆ Index_Model

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
Adaptive_Data_Model Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::Index_Model
private

The index model.

Definition at line 1520 of file Compression_Valence_Component.h.

◆ Initial_file_size

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
unsigned Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::Initial_file_size

Size of the initial file.

Definition at line 1591 of file Compression_Valence_Component.h.

◆ InterConnectivity

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
std::list< int > Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::InterConnectivity
private

The intermediate information of connectivity.

Definition at line 1418 of file Compression_Valence_Component.h.

◆ InterGeometry

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
std::list< Point_Int > Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::InterGeometry
private

The intermediate information of geometry.

Definition at line 1416 of file Compression_Valence_Component.h.

◆ InterVertexColor

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
std::list< Color_Unit > Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::InterVertexColor
private

The intermediate information vertex color.

Definition at line 1465 of file Compression_Valence_Component.h.

◆ Is_Bijection_Enabled

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
bool Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::Is_Bijection_Enabled
private

true if "bijection" option is seleted

Definition at line 1582 of file Compression_Valence_Component.h.

◆ Is_Complete_Reversibility_Enabled

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
bool Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::Is_Complete_Reversibility_Enabled
private

true if "complete reversibility" option is seleted

Definition at line 1580 of file Compression_Valence_Component.h.

◆ Is_Division_Big_Regions_Enabled

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
bool Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::Is_Division_Big_Regions_Enabled
private

true if "division_big_regions" option is seleted

Definition at line 1578 of file Compression_Valence_Component.h.

◆ IsClosed

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
std::vector< bool > Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::IsClosed
private

The is closed. To know if the mesh is open or closed.

Definition at line 1393 of file Compression_Valence_Component.h.

◆ IsColored

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
bool Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::IsColored
private

true if is colored

Definition at line 1395 of file Compression_Valence_Component.h.

◆ IsCompressed

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
bool Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::IsCompressed

true if is compressed

Definition at line 1588 of file Compression_Valence_Component.h.

◆ IsDecompress

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
bool Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::IsDecompress

true if is decompress

Definition at line 1587 of file Compression_Valence_Component.h.

◆ IsOneColor

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
bool Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::IsOneColor
private

true if is one color

Definition at line 1396 of file Compression_Valence_Component.h.

◆ JCW_Connectivity

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
std::list< int > Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::JCW_Connectivity
private

Stock connectivity information for JCW.

Definition at line 1570 of file Compression_Valence_Component.h.

◆ JCW_Geometry

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
std::list< Point_Int > Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::JCW_Geometry
private

Stock geometry information for JCW.

Definition at line 1571 of file Compression_Valence_Component.h.

◆ ListOperation

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
std::vector< std::list< int > > Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::ListOperation
private

The list of operation.

Definition at line 1405 of file Compression_Valence_Component.h.

◆ m_Dist

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
double Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::m_Dist
private

Distance of each bin.

Definition at line 1550 of file Compression_Valence_Component.h.

◆ m_EmbeddingStrength

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
int Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::m_EmbeddingStrength
private

Embedding strength for JCW.

Definition at line 1545 of file Compression_Valence_Component.h.

◆ m_JCW_Move_Error

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
std::list< std::vector< int > > Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::m_JCW_Move_Error
private

Stock difference related to complete reversibility.

Definition at line 1564 of file Compression_Valence_Component.h.

◆ m_N_Errors

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
std::list< int > Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::m_N_Errors
private

Index of error related to complete reversibility.

Definition at line 1566 of file Compression_Valence_Component.h.

◆ m_N_remained_vertices

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
std::vector< int > Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::m_N_remained_vertices
private

Number of remained vertices in each region.

Definition at line 1558 of file Compression_Valence_Component.h.

◆ m_N_treated_vertices

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
std::vector< int > Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::m_N_treated_vertices
private

Number of treated vertices in each region.

Definition at line 1560 of file Compression_Valence_Component.h.

◆ m_Number_Vertices_Per_Regions

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
std::vector< int > Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::m_Number_Vertices_Per_Regions
private

Number of vertices in each region.

Definition at line 1552 of file Compression_Valence_Component.h.

◆ m_NumberBin

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
int Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::m_NumberBin
private

Number of bins for JCW.

Definition at line 1544 of file Compression_Valence_Component.h.

◆ m_NumberRegion

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
int Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::m_NumberRegion
private

Number of regions for JCW.

Definition at line 1546 of file Compression_Valence_Component.h.

◆ m_Rad_decision

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
std::vector< double > Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::m_Rad_decision
private

Definition at line 1561 of file Compression_Valence_Component.h.

◆ m_Rmax

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
double Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::m_Rmax
private

Distance of nearst vertex from mesh center for JCW.

Definition at line 1549 of file Compression_Valence_Component.h.

◆ m_Rmin

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
double Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::m_Rmin
private

Distance of farthest vertex from mesh center for JCW.

Definition at line 1548 of file Compression_Valence_Component.h.

◆ m_VC

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
double Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::m_VC[3]
private

Mesh center position for JCW.

Definition at line 1547 of file Compression_Valence_Component.h.

◆ m_Watermarks

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
std::list< int > Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::m_Watermarks
private

watermark

Definition at line 1553 of file Compression_Valence_Component.h.

◆ Message

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
std::string Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::Message

Message to be shown in the main window.

Definition at line 1600 of file Compression_Valence_Component.h.

◆ N_Inserted_Watermarks

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
int Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::N_Inserted_Watermarks
private

Number of inserted watermarks.

Definition at line 1555 of file Compression_Valence_Component.h.

◆ Number_non_reversible_vertices

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
int Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::Number_non_reversible_vertices
private

Number of vertices which violate complte reversibility

Definition at line 1575 of file Compression_Valence_Component.h.

◆ Number_Save_Over_bins

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
int Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::Number_Save_Over_bins
private

Number of empty bins to shift the current bins.

Definition at line 1577 of file Compression_Valence_Component.h.

◆ NumberChangeQuantization

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
std::vector< int > Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::NumberChangeQuantization
private

to stock number of diminution of quantization.

Definition at line 1524 of file Compression_Valence_Component.h.

◆ NumberColorQuantization

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
std::vector< int > Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::NumberColorQuantization
private

Number of color quantizations.

Definition at line 1472 of file Compression_Valence_Component.h.

◆ NumberComponents

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
int Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::NumberComponents
private

Number of components in order to know how many steps to go for the decompression step by step.

Definition at line 1536 of file Compression_Valence_Component.h.

◆ NumberDecimation

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
std::vector< int > Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::NumberDecimation
private

To stock number of Decimation operation.

Definition at line 1523 of file Compression_Valence_Component.h.

◆ NumberProcessedVertices

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
std::vector< std::list< int > > Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::NumberProcessedVertices
private

Number of processed vertices.

Definition at line 1455 of file Compression_Valence_Component.h.

◆ NumberQuantizationLayer

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
std::vector< std::list< int > > Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::NumberQuantizationLayer
private

Number of quantization layers.

Definition at line 1451 of file Compression_Valence_Component.h.

◆ NumberSymbol

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
std::vector< std::list< int > > Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::NumberSymbol
private

Number of symbols of each simplification step.

Definition at line 1411 of file Compression_Valence_Component.h.

◆ NumberVertices

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
std::vector< std::list< int > > Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::NumberVertices
private

Number of vertices of each simplification step.

Definition at line 1413 of file Compression_Valence_Component.h.

◆ OnlyColor

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
float Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::OnlyColor[3]
private

The coordinates of color when there is only one color.

Definition at line 1398 of file Compression_Valence_Component.h.

◆ Possible_change_sequence

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
bool Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::Possible_change_sequence

To disable the mode change during decompression for IHM

Definition at line 1605 of file Compression_Valence_Component.h.

◆ Process_level

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
int Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::Process_level

Level of processed LoD for IHM.

Definition at line 1609 of file Compression_Valence_Component.h.

◆ Prog

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
std::vector< float > Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::Prog

Stock information of progression of decompression in pourcentage (100 = total decompression)

Definition at line 1596 of file Compression_Valence_Component.h.

◆ Qbit

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
std::vector< unsigned > Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::Qbit
private

The Quantization bits.

Definition at line 1429 of file Compression_Valence_Component.h.

◆ Quantization_Step

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
std::vector< float > Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::Quantization_Step
private

The quantization step.

Definition at line 1436 of file Compression_Valence_Component.h.

◆ QuantizationCorrectVector

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
std::vector< std::list< int > > Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::QuantizationCorrectVector
private

The quantization correct vector.

Definition at line 1449 of file Compression_Valence_Component.h.

◆ Ratio

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
std::vector< float > Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::Ratio

Stock information of ration regarding size of the input file.

Definition at line 1599 of file Compression_Valence_Component.h.

◆ Region_Color

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
std::vector< std::vector< float > > Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::Region_Color
private

Color of each region.

Definition at line 1574 of file Compression_Valence_Component.h.

◆ Sequence

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
bool Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::Sequence

Decompression mode (sequence mode or file mode) for IHM.

Definition at line 1604 of file Compression_Valence_Component.h.

◆ Smallest_Alpha

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
int Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::Smallest_Alpha
private

The smallest alpha.

Definition at line 1438 of file Compression_Valence_Component.h.

◆ Smallest_C0

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
int Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::Smallest_C0
private

The smallest value of C0 used for preventing from negative sylbols

Definition at line 1474 of file Compression_Valence_Component.h.

◆ Smallest_C1

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
int Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::Smallest_C1
private

The smallest value of C1 used for preventing from negative sylbols

Definition at line 1476 of file Compression_Valence_Component.h.

◆ Smallest_C2

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
int Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::Smallest_C2
private

The smallest value of C2 used for preventing from negative sylbols

Definition at line 1478 of file Compression_Valence_Component.h.

◆ Smallest_Gamma

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
int Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::Smallest_Gamma
private

The smallest gamma.

Definition at line 1439 of file Compression_Valence_Component.h.

◆ Total_layer

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
int Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::Total_layer

The total number of layer.

Definition at line 1590 of file Compression_Valence_Component.h.

◆ vertex_color_int

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
FEVV::Vertex_pmap< HalfedgeGraph, Color_Unit > Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::vertex_color_int

Definition at line 1622 of file Compression_Valence_Component.h.

◆ vertex_Component_Number

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
FEVV::Vertex_pmap< HalfedgeGraph, int > Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::vertex_Component_Number

Definition at line 1626 of file Compression_Valence_Component.h.

◆ Vertex_Flag

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
FEVV::Vertex_pmap< HalfedgeGraph, int > Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::Vertex_Flag

Definition at line 1628 of file Compression_Valence_Component.h.

◆ vertex_normal

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
FEVV::Vertex_pmap< HalfedgeGraph, Vector > Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::vertex_normal

Definition at line 1634 of file Compression_Valence_Component.h.

◆ Vertex_Number

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
FEVV::Vertex_pmap< HalfedgeGraph, int > Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::Vertex_Number

Definition at line 1630 of file Compression_Valence_Component.h.

◆ vertex_Q_Index

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
FEVV::Vertex_pmap< HalfedgeGraph, int > Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::vertex_Q_Index

Definition at line 1636 of file Compression_Valence_Component.h.

◆ vertex_Region_Number

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
FEVV::Vertex_pmap< HalfedgeGraph, int > Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::vertex_Region_Number

Definition at line 1638 of file Compression_Valence_Component.h.

◆ vertex_Removal_Order

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
FEVV::Vertex_pmap< HalfedgeGraph, int > Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::vertex_Removal_Order

Definition at line 1640 of file Compression_Valence_Component.h.

◆ vertex_Seed_Edge

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
FEVV::Vertex_pmap< HalfedgeGraph, int > Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::vertex_Seed_Edge

Definition at line 1624 of file Compression_Valence_Component.h.

◆ Vertex_Sign

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
FEVV::Vertex_pmap< HalfedgeGraph, int > Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::Vertex_Sign

Definition at line 1632 of file Compression_Valence_Component.h.

◆ VertexColor

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
std::vector< std::list< Color_Unit > > Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::VertexColor
private

Contain color error of all removed vertices.

Definition at line 1463 of file Compression_Valence_Component.h.

◆ Visu_level

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
int Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::Visu_level

Level of visualized LoD for IHM.

Definition at line 1608 of file Compression_Valence_Component.h.

◆ xmax

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
std::vector< float > Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::xmax
private

The xmax.

Definition at line 1433 of file Compression_Valence_Component.h.

◆ xmin

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
std::vector< float > Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::xmin
private

The xmin.

Definition at line 1430 of file Compression_Valence_Component.h.

◆ ymax

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
std::vector< float > Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::ymax
private

The ymax.

Definition at line 1434 of file Compression_Valence_Component.h.

◆ ymin

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
std::vector< float > Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::ymin
private

The ymin.

Definition at line 1431 of file Compression_Valence_Component.h.

◆ zmax

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
std::vector< float > Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::zmax
private

The zmax.

Definition at line 1435 of file Compression_Valence_Component.h.

◆ zmin

template<typename HalfedgeGraph , typename PointMap , typename VertexColorMap >
std::vector< float > Compression_Valence_Component< HalfedgeGraph, PointMap, VertexColorMap >::zmin
private

The zmin.

Definition at line 1432 of file Compression_Valence_Component.h.


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