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

#include <Refinement_info.h>

Inheritance diagram for FEVV::Filters::Refinement_info< HalfedgeGraph, PointMap, Vector, Point, vertex_descriptor, vertex_iterator >:
Inheritance graph
Collaboration diagram for FEVV::Filters::Refinement_info< HalfedgeGraph, PointMap, Vector, Point, vertex_descriptor, vertex_iterator >:
Collaboration graph

Public Member Functions

 Refinement_info (HalfedgeGraph &g, const std::list< Collapse_info< HalfedgeGraph, PointMap > > &list_memory)
 
int get_num_vertices () const
 Get the number of vertices of the halfedge graph. More...
 
void set_bitMask (const FEVV::Comparator::Spanning_tree_vertex_edge_comparator< HalfedgeGraph, PointMap > &st)
 
void set_connectivity_topology (const FEVV::Comparator::Spanning_tree_vertex_edge_comparator< HalfedgeGraph, PointMap > &st, PointMap &pm, std::list< Collapse_info< HalfedgeGraph, PointMap > > &list_memory)
 Creates the edge bitmask. More...
 
void set_error_prediction ()
 Creates the residuals array. More...
 
void set_reverse_bool ()
 
const std::list< bool > & get_bitmask () const
 
const std::list< bool > & get_connectivity () const
 
const std::list< std::vector< Vector > > & get_error_prediction () const
 Get the list of residuals. More...
 
const std::list< bool > & get_reverse_bool () const
 

Private Attributes

HalfedgeGraph & _g
 
const std::list< Collapse_info< HalfedgeGraph, PointMap > > & _list_memory
 
std::list< bool > _bitMask
 
std::list< bool > _connectivity
 
std::list< std::vector< Vector > > _error_prediction
 
std::list< bool > _reverse_bool
 list of residuals. More...
 

Detailed Description

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

A Refinement_info Object stores the necessary info to refine a batch. Each batch has its corresponding Refinement_info object. Input: A sorted list of Collapse_info objects, a halfedgeGraph corresponding to the current level of detail. Output: Corresponding bitmasks and residuals arrays.

Definition at line 45 of file Refinement_info.h.

Constructor & Destructor Documentation

◆ Refinement_info()

template<typename HalfedgeGraph , typename PointMap , typename Vector = typename FEVV::Geometry_traits< HalfedgeGraph >::Vector, typename Point = typename FEVV::Geometry_traits< HalfedgeGraph >::Point, typename vertex_descriptor = typename boost::graph_traits< HalfedgeGraph >::vertex_descriptor, typename vertex_iterator = typename boost::graph_traits< HalfedgeGraph >::vertex_iterator>
FEVV::Filters::Refinement_info< HalfedgeGraph, PointMap, Vector, Point, vertex_descriptor, vertex_iterator >::Refinement_info ( HalfedgeGraph &  g,
const std::list< Collapse_info< HalfedgeGraph, PointMap > > &  list_memory 
)
inline

Definition at line 48 of file Refinement_info.h.

Member Function Documentation

◆ get_bitmask()

template<typename HalfedgeGraph , typename PointMap , typename Vector = typename FEVV::Geometry_traits< HalfedgeGraph >::Vector, typename Point = typename FEVV::Geometry_traits< HalfedgeGraph >::Point, typename vertex_descriptor = typename boost::graph_traits< HalfedgeGraph >::vertex_descriptor, typename vertex_iterator = typename boost::graph_traits< HalfedgeGraph >::vertex_iterator>
const std::list< bool >& FEVV::Filters::Refinement_info< HalfedgeGraph, PointMap, Vector, Point, vertex_descriptor, vertex_iterator >::get_bitmask ( ) const
inline

Definition at line 166 of file Refinement_info.h.

◆ get_connectivity()

template<typename HalfedgeGraph , typename PointMap , typename Vector = typename FEVV::Geometry_traits< HalfedgeGraph >::Vector, typename Point = typename FEVV::Geometry_traits< HalfedgeGraph >::Point, typename vertex_descriptor = typename boost::graph_traits< HalfedgeGraph >::vertex_descriptor, typename vertex_iterator = typename boost::graph_traits< HalfedgeGraph >::vertex_iterator>
const std::list< bool >& FEVV::Filters::Refinement_info< HalfedgeGraph, PointMap, Vector, Point, vertex_descriptor, vertex_iterator >::get_connectivity ( ) const
inline

Definition at line 167 of file Refinement_info.h.

◆ get_error_prediction()

template<typename HalfedgeGraph , typename PointMap , typename Vector = typename FEVV::Geometry_traits< HalfedgeGraph >::Vector, typename Point = typename FEVV::Geometry_traits< HalfedgeGraph >::Point, typename vertex_descriptor = typename boost::graph_traits< HalfedgeGraph >::vertex_descriptor, typename vertex_iterator = typename boost::graph_traits< HalfedgeGraph >::vertex_iterator>
const std::list< std::vector< Vector > >& FEVV::Filters::Refinement_info< HalfedgeGraph, PointMap, Vector, Point, vertex_descriptor, vertex_iterator >::get_error_prediction ( ) const
inline

Get the list of residuals.

Definition at line 170 of file Refinement_info.h.

◆ get_num_vertices()

template<typename HalfedgeGraph , typename PointMap , typename Vector = typename FEVV::Geometry_traits< HalfedgeGraph >::Vector, typename Point = typename FEVV::Geometry_traits< HalfedgeGraph >::Point, typename vertex_descriptor = typename boost::graph_traits< HalfedgeGraph >::vertex_descriptor, typename vertex_iterator = typename boost::graph_traits< HalfedgeGraph >::vertex_iterator>
int FEVV::Filters::Refinement_info< HalfedgeGraph, PointMap, Vector, Point, vertex_descriptor, vertex_iterator >::get_num_vertices ( ) const
inline

Get the number of vertices of the halfedge graph.

Definition at line 55 of file Refinement_info.h.

◆ get_reverse_bool()

template<typename HalfedgeGraph , typename PointMap , typename Vector = typename FEVV::Geometry_traits< HalfedgeGraph >::Vector, typename Point = typename FEVV::Geometry_traits< HalfedgeGraph >::Point, typename vertex_descriptor = typename boost::graph_traits< HalfedgeGraph >::vertex_descriptor, typename vertex_iterator = typename boost::graph_traits< HalfedgeGraph >::vertex_iterator>
const std::list< bool >& FEVV::Filters::Refinement_info< HalfedgeGraph, PointMap, Vector, Point, vertex_descriptor, vertex_iterator >::get_reverse_bool ( ) const
inline

Definition at line 175 of file Refinement_info.h.

◆ set_bitMask()

template<typename HalfedgeGraph , typename PointMap , typename Vector = typename FEVV::Geometry_traits< HalfedgeGraph >::Vector, typename Point = typename FEVV::Geometry_traits< HalfedgeGraph >::Point, typename vertex_descriptor = typename boost::graph_traits< HalfedgeGraph >::vertex_descriptor, typename vertex_iterator = typename boost::graph_traits< HalfedgeGraph >::vertex_iterator>
void FEVV::Filters::Refinement_info< HalfedgeGraph, PointMap, Vector, Point, vertex_descriptor, vertex_iterator >::set_bitMask ( const FEVV::Comparator::Spanning_tree_vertex_edge_comparator< HalfedgeGraph, PointMap > &  st)
inline

Creates a vertex bitmask according to a vertex spanning tree and a list of Collapse_info objects (initialized at construction).

st vertices ordered in the same ordered

that the internal memory list.

Parameters
stspanning tree of current LoD

Definition at line 67 of file Refinement_info.h.

◆ set_connectivity_topology()

template<typename HalfedgeGraph , typename PointMap , typename Vector = typename FEVV::Geometry_traits< HalfedgeGraph >::Vector, typename Point = typename FEVV::Geometry_traits< HalfedgeGraph >::Point, typename vertex_descriptor = typename boost::graph_traits< HalfedgeGraph >::vertex_descriptor, typename vertex_iterator = typename boost::graph_traits< HalfedgeGraph >::vertex_iterator>
void FEVV::Filters::Refinement_info< HalfedgeGraph, PointMap, Vector, Point, vertex_descriptor, vertex_iterator >::set_connectivity_topology ( const FEVV::Comparator::Spanning_tree_vertex_edge_comparator< HalfedgeGraph, PointMap > &  st,
PointMap &  pm,
std::list< Collapse_info< HalfedgeGraph, PointMap > > &  list_memory 
)
inline

Creates the edge bitmask.

Parameters
pmspanning tree of current LOD
list_memorypointmap of current LOD sorted list of Collapse_info objects (same list that _list_memory, but _list_memory use the original sorted list while here list_memory can have its object' reverse field updated)

Definition at line 120 of file Refinement_info.h.

◆ set_error_prediction()

template<typename HalfedgeGraph , typename PointMap , typename Vector = typename FEVV::Geometry_traits< HalfedgeGraph >::Vector, typename Point = typename FEVV::Geometry_traits< HalfedgeGraph >::Point, typename vertex_descriptor = typename boost::graph_traits< HalfedgeGraph >::vertex_descriptor, typename vertex_iterator = typename boost::graph_traits< HalfedgeGraph >::vertex_iterator>
void FEVV::Filters::Refinement_info< HalfedgeGraph, PointMap, Vector, Point, vertex_descriptor, vertex_iterator >::set_error_prediction ( )
inline

Creates the residuals array.

Definition at line 140 of file Refinement_info.h.

◆ set_reverse_bool()

template<typename HalfedgeGraph , typename PointMap , typename Vector = typename FEVV::Geometry_traits< HalfedgeGraph >::Vector, typename Point = typename FEVV::Geometry_traits< HalfedgeGraph >::Point, typename vertex_descriptor = typename boost::graph_traits< HalfedgeGraph >::vertex_descriptor, typename vertex_iterator = typename boost::graph_traits< HalfedgeGraph >::vertex_iterator>
void FEVV::Filters::Refinement_info< HalfedgeGraph, PointMap, Vector, Point, vertex_descriptor, vertex_iterator >::set_reverse_bool ( )
inline

Creates the reverse bitmask (non-empty for halfedge/target position type).

Definition at line 154 of file Refinement_info.h.

Member Data Documentation

◆ _bitMask

template<typename HalfedgeGraph , typename PointMap , typename Vector = typename FEVV::Geometry_traits< HalfedgeGraph >::Vector, typename Point = typename FEVV::Geometry_traits< HalfedgeGraph >::Point, typename vertex_descriptor = typename boost::graph_traits< HalfedgeGraph >::vertex_descriptor, typename vertex_iterator = typename boost::graph_traits< HalfedgeGraph >::vertex_iterator>
std::list< bool > FEVV::Filters::Refinement_info< HalfedgeGraph, PointMap, Vector, Point, vertex_descriptor, vertex_iterator >::_bitMask
private

sorted list of refinement info (vertices to encode) according to the vertex spanning traversal

Definition at line 181 of file Refinement_info.h.

◆ _connectivity

template<typename HalfedgeGraph , typename PointMap , typename Vector = typename FEVV::Geometry_traits< HalfedgeGraph >::Vector, typename Point = typename FEVV::Geometry_traits< HalfedgeGraph >::Point, typename vertex_descriptor = typename boost::graph_traits< HalfedgeGraph >::vertex_descriptor, typename vertex_iterator = typename boost::graph_traits< HalfedgeGraph >::vertex_iterator>
std::list< bool > FEVV::Filters::Refinement_info< HalfedgeGraph, PointMap, Vector, Point, vertex_descriptor, vertex_iterator >::_connectivity
private

vertex bit mask (which vertex to split during) decoding

Definition at line 183 of file Refinement_info.h.

◆ _error_prediction

template<typename HalfedgeGraph , typename PointMap , typename Vector = typename FEVV::Geometry_traits< HalfedgeGraph >::Vector, typename Point = typename FEVV::Geometry_traits< HalfedgeGraph >::Point, typename vertex_descriptor = typename boost::graph_traits< HalfedgeGraph >::vertex_descriptor, typename vertex_iterator = typename boost::graph_traits< HalfedgeGraph >::vertex_iterator>
std::list< std::vector< Vector > > FEVV::Filters::Refinement_info< HalfedgeGraph, PointMap, Vector, Point, vertex_descriptor, vertex_iterator >::_error_prediction
private

edge bit mask (which incident edge to a vertex to split is a pivot edge to expand)

Definition at line 186 of file Refinement_info.h.

◆ _g

template<typename HalfedgeGraph , typename PointMap , typename Vector = typename FEVV::Geometry_traits< HalfedgeGraph >::Vector, typename Point = typename FEVV::Geometry_traits< HalfedgeGraph >::Point, typename vertex_descriptor = typename boost::graph_traits< HalfedgeGraph >::vertex_descriptor, typename vertex_iterator = typename boost::graph_traits< HalfedgeGraph >::vertex_iterator>
HalfedgeGraph& FEVV::Filters::Refinement_info< HalfedgeGraph, PointMap, Vector, Point, vertex_descriptor, vertex_iterator >::_g
private

Definition at line 177 of file Refinement_info.h.

◆ _list_memory

template<typename HalfedgeGraph , typename PointMap , typename Vector = typename FEVV::Geometry_traits< HalfedgeGraph >::Vector, typename Point = typename FEVV::Geometry_traits< HalfedgeGraph >::Point, typename vertex_descriptor = typename boost::graph_traits< HalfedgeGraph >::vertex_descriptor, typename vertex_iterator = typename boost::graph_traits< HalfedgeGraph >::vertex_iterator>
const std::list< Collapse_info< HalfedgeGraph, PointMap > >& FEVV::Filters::Refinement_info< HalfedgeGraph, PointMap, Vector, Point, vertex_descriptor, vertex_iterator >::_list_memory
private

Definition at line 178 of file Refinement_info.h.

◆ _reverse_bool

template<typename HalfedgeGraph , typename PointMap , typename Vector = typename FEVV::Geometry_traits< HalfedgeGraph >::Vector, typename Point = typename FEVV::Geometry_traits< HalfedgeGraph >::Point, typename vertex_descriptor = typename boost::graph_traits< HalfedgeGraph >::vertex_descriptor, typename vertex_iterator = typename boost::graph_traits< HalfedgeGraph >::vertex_iterator>
std::list< bool > FEVV::Filters::Refinement_info< HalfedgeGraph, PointMap, Vector, Point, vertex_descriptor, vertex_iterator >::_reverse_bool
private

list of residuals.

Definition at line 187 of file Refinement_info.h.


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