MEPP2 Project
Public Types | Public Member Functions | Private Attributes | List of all members
FEVV::Filters::Coarse_mesh_decoder< HalfedgeGraph, PointMap, vertex_descriptor, halfedge_descriptor > Class Template Reference

#include <Coarse_mesh_decoder.h>

Collaboration diagram for FEVV::Filters::Coarse_mesh_decoder< HalfedgeGraph, PointMap, vertex_descriptor, halfedge_descriptor >:
Collaboration graph

Public Types

typedef boost::property_traits< PointMap >::value_type Point
 

Public Member Functions

 Coarse_mesh_decoder (HalfedgeGraph &g, PointMap &pm)
 
 ~Coarse_mesh_decoder ()
 
void decode_coarse_mesh (draco::DecoderBuffer &buffer)
 
bool get_mesh_from_binary_file (draco::Mesh &mesh)
 
bool get_mepp_mesh_vertex (const draco::PointCloud *, const draco::PointAttribute *const att, std::map< int, vertex_descriptor > *map_index_to_vertex)
 
bool get_mepp_mesh_face (const draco::Mesh *p_mesh, const draco::PointAttribute *const att, const std::map< int, vertex_descriptor > &map_index_to_vertex)
 
bool get_face_corner (draco::FaceIndex face_id, int local_corner_id, const draco::Mesh *p_mesh, std::vector< int > &face, const draco::PointAttribute *const att)
 
void set_mesh_connectivity_from_face (const std::vector< int > &face, const std::map< int, vertex_descriptor > &map_index_to_vertex)
 

Private Attributes

HalfedgeGraph & _g
 
PointMap & _pm
 

Detailed Description

template<typename HalfedgeGraph, typename PointMap, typename vertex_descriptor = typename boost::graph_traits< HalfedgeGraph >::vertex_descriptor, typename halfedge_descriptor = typename boost::graph_traits< HalfedgeGraph >::halfedge_descriptor>
class FEVV::Filters::Coarse_mesh_decoder< HalfedgeGraph, PointMap, vertex_descriptor, halfedge_descriptor >

Definition at line 43 of file Coarse_mesh_decoder.h.

Member Typedef Documentation

◆ Point

template<typename HalfedgeGraph , typename PointMap , typename vertex_descriptor = typename boost::graph_traits< HalfedgeGraph >::vertex_descriptor, typename halfedge_descriptor = typename boost::graph_traits< HalfedgeGraph >::halfedge_descriptor>
typedef boost::property_traits<PointMap>::value_type FEVV::Filters::Coarse_mesh_decoder< HalfedgeGraph, PointMap, vertex_descriptor, halfedge_descriptor >::Point

Definition at line 46 of file Coarse_mesh_decoder.h.

Constructor & Destructor Documentation

◆ Coarse_mesh_decoder()

template<typename HalfedgeGraph , typename PointMap , typename vertex_descriptor = typename boost::graph_traits< HalfedgeGraph >::vertex_descriptor, typename halfedge_descriptor = typename boost::graph_traits< HalfedgeGraph >::halfedge_descriptor>
FEVV::Filters::Coarse_mesh_decoder< HalfedgeGraph, PointMap, vertex_descriptor, halfedge_descriptor >::Coarse_mesh_decoder ( HalfedgeGraph &  g,
PointMap &  pm 
)
inline

Coarse_mesh_decoder

Parameters
[in]gan empty graph
[in]pman empty point map associated with g
Parameters
pmempty graph associated point map

Definition at line 51 of file Coarse_mesh_decoder.h.

◆ ~Coarse_mesh_decoder()

template<typename HalfedgeGraph , typename PointMap , typename vertex_descriptor = typename boost::graph_traits< HalfedgeGraph >::vertex_descriptor, typename halfedge_descriptor = typename boost::graph_traits< HalfedgeGraph >::halfedge_descriptor>
FEVV::Filters::Coarse_mesh_decoder< HalfedgeGraph, PointMap, vertex_descriptor, halfedge_descriptor >::~Coarse_mesh_decoder ( )
inline

Definition at line 55 of file Coarse_mesh_decoder.h.

Member Function Documentation

◆ decode_coarse_mesh()

template<typename HalfedgeGraph , typename PointMap , typename vertex_descriptor = typename boost::graph_traits< HalfedgeGraph >::vertex_descriptor, typename halfedge_descriptor = typename boost::graph_traits< HalfedgeGraph >::halfedge_descriptor>
void FEVV::Filters::Coarse_mesh_decoder< HalfedgeGraph, PointMap, vertex_descriptor, halfedge_descriptor >::decode_coarse_mesh ( draco::DecoderBuffer &  buffer)
inline

Decode draco coarse mesh (vertex position and topology only). This function implements line 3 of Algorithm 2.

Definition at line 59 of file Coarse_mesh_decoder.h.

Here is the call graph for this function:

◆ get_face_corner()

template<typename HalfedgeGraph , typename PointMap , typename vertex_descriptor = typename boost::graph_traits< HalfedgeGraph >::vertex_descriptor, typename halfedge_descriptor = typename boost::graph_traits< HalfedgeGraph >::halfedge_descriptor>
bool FEVV::Filters::Coarse_mesh_decoder< HalfedgeGraph, PointMap, vertex_descriptor, halfedge_descriptor >::get_face_corner ( draco::FaceIndex  face_id,
int  local_corner_id,
const draco::Mesh p_mesh,
std::vector< int > &  face,
const draco::PointAttribute *const  att 
)
inline

Definition at line 164 of file Coarse_mesh_decoder.h.

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

◆ get_mepp_mesh_face()

template<typename HalfedgeGraph , typename PointMap , typename vertex_descriptor = typename boost::graph_traits< HalfedgeGraph >::vertex_descriptor, typename halfedge_descriptor = typename boost::graph_traits< HalfedgeGraph >::halfedge_descriptor>
bool FEVV::Filters::Coarse_mesh_decoder< HalfedgeGraph, PointMap, vertex_descriptor, halfedge_descriptor >::get_mepp_mesh_face ( const draco::Mesh p_mesh,
const draco::PointAttribute *const  att,
const std::map< int, vertex_descriptor > &  map_index_to_vertex 
)
inline

Definition at line 144 of file Coarse_mesh_decoder.h.

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

◆ get_mepp_mesh_vertex()

template<typename HalfedgeGraph , typename PointMap , typename vertex_descriptor = typename boost::graph_traits< HalfedgeGraph >::vertex_descriptor, typename halfedge_descriptor = typename boost::graph_traits< HalfedgeGraph >::halfedge_descriptor>
bool FEVV::Filters::Coarse_mesh_decoder< HalfedgeGraph, PointMap, vertex_descriptor, halfedge_descriptor >::get_mepp_mesh_vertex ( const draco::PointCloud *  ,
const draco::PointAttribute *const  att,
std::map< int, vertex_descriptor > *  map_index_to_vertex 
)
inline

Definition at line 118 of file Coarse_mesh_decoder.h.

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

◆ get_mesh_from_binary_file()

template<typename HalfedgeGraph , typename PointMap , typename vertex_descriptor = typename boost::graph_traits< HalfedgeGraph >::vertex_descriptor, typename halfedge_descriptor = typename boost::graph_traits< HalfedgeGraph >::halfedge_descriptor>
bool FEVV::Filters::Coarse_mesh_decoder< HalfedgeGraph, PointMap, vertex_descriptor, halfedge_descriptor >::get_mesh_from_binary_file ( draco::Mesh mesh)
inline

Definition at line 99 of file Coarse_mesh_decoder.h.

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

◆ set_mesh_connectivity_from_face()

template<typename HalfedgeGraph , typename PointMap , typename vertex_descriptor = typename boost::graph_traits< HalfedgeGraph >::vertex_descriptor, typename halfedge_descriptor = typename boost::graph_traits< HalfedgeGraph >::halfedge_descriptor>
void FEVV::Filters::Coarse_mesh_decoder< HalfedgeGraph, PointMap, vertex_descriptor, halfedge_descriptor >::set_mesh_connectivity_from_face ( const std::vector< int > &  face,
const std::map< int, vertex_descriptor > &  map_index_to_vertex 
)
inline

Definition at line 177 of file Coarse_mesh_decoder.h.

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

Member Data Documentation

◆ _g

template<typename HalfedgeGraph , typename PointMap , typename vertex_descriptor = typename boost::graph_traits< HalfedgeGraph >::vertex_descriptor, typename halfedge_descriptor = typename boost::graph_traits< HalfedgeGraph >::halfedge_descriptor>
HalfedgeGraph& FEVV::Filters::Coarse_mesh_decoder< HalfedgeGraph, PointMap, vertex_descriptor, halfedge_descriptor >::_g
private

Definition at line 196 of file Coarse_mesh_decoder.h.

◆ _pm

template<typename HalfedgeGraph , typename PointMap , typename vertex_descriptor = typename boost::graph_traits< HalfedgeGraph >::vertex_descriptor, typename halfedge_descriptor = typename boost::graph_traits< HalfedgeGraph >::halfedge_descriptor>
PointMap& FEVV::Filters::Coarse_mesh_decoder< HalfedgeGraph, PointMap, vertex_descriptor, halfedge_descriptor >::_pm
private

Definition at line 199 of file Coarse_mesh_decoder.h.


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