MEPP2 Project
Public Types | Public Member Functions | Protected Attributes | List of all members
FEVV::Filters::Predictor< HalfedgeGraph, PointMap > Class Template Referenceabstract

Abstract class used to predict position. More...

#include <Predictor.h>

Inheritance diagram for FEVV::Filters::Predictor< HalfedgeGraph, PointMap >:
Inheritance graph
Collaboration diagram for FEVV::Filters::Predictor< HalfedgeGraph, PointMap >:
Collaboration graph

Public Types

using vertex_descriptor = typename boost::graph_traits< HalfedgeGraph >::vertex_descriptor
 
using halfedge_descriptor = typename boost::graph_traits< HalfedgeGraph >::halfedge_descriptor
 
using face_descriptor = typename boost::graph_traits< HalfedgeGraph >::face_descriptor
 
using Vector = typename FEVV::Geometry_traits< HalfedgeGraph >::Vector
 
using Point = typename FEVV::Geometry_traits< HalfedgeGraph >::Point
 
using Geometry = typename FEVV::Geometry_traits< HalfedgeGraph >
 

Public Member Functions

 Predictor (HalfedgeGraph &g, Kept_position< HalfedgeGraph, PointMap > *kp, PointMap &pm)
 
virtual ~Predictor ()
 
virtual std::vector< Vectorcompute_residuals (Collapse_info< HalfedgeGraph, PointMap > &mem)=0
 
virtual std::pair< Point, Pointplace_points (const std::vector< Vector > &residuals, vertex_descriptor vkept, halfedge_descriptor h1, halfedge_descriptor h2)=0
 Decompression side: predicts a position from encoded residuals. More...
 
virtual FEVV::Filters::PREDICTION_TYPE get_type () const
 
virtual void set_rev (bool)=0
 
virtual const Pointget_kept_position () const
 
virtual FEVV::Filters::VKEPT_POSITION get_type_KP () const
 
virtual std::string get_as_string () const =0
 
int get_nb_residuals () const
 

Protected Attributes

Kept_position< HalfedgeGraph, PointMap > * _kp
 
HalfedgeGraph & _g
 
const Geometry _gt
 
PointMap & _pm
 
int _nbResiduals
 
Point _kept_position
 
FEVV::Filters::PREDICTION_TYPE _type
 

Detailed Description

template<typename HalfedgeGraph, typename PointMap>
class FEVV::Filters::Predictor< HalfedgeGraph, PointMap >

Abstract class used to predict position.

Definition at line 34 of file Predictor.h.

Member Typedef Documentation

◆ face_descriptor

template<typename HalfedgeGraph , typename PointMap >
using FEVV::Filters::Predictor< HalfedgeGraph, PointMap >::face_descriptor = typename boost::graph_traits< HalfedgeGraph >::face_descriptor

Definition at line 41 of file Predictor.h.

◆ Geometry

template<typename HalfedgeGraph , typename PointMap >
using FEVV::Filters::Predictor< HalfedgeGraph, PointMap >::Geometry = typename FEVV::Geometry_traits< HalfedgeGraph >

Definition at line 45 of file Predictor.h.

◆ halfedge_descriptor

template<typename HalfedgeGraph , typename PointMap >
using FEVV::Filters::Predictor< HalfedgeGraph, PointMap >::halfedge_descriptor = typename boost::graph_traits< HalfedgeGraph >::halfedge_descriptor

Definition at line 39 of file Predictor.h.

◆ Point

template<typename HalfedgeGraph , typename PointMap >
using FEVV::Filters::Predictor< HalfedgeGraph, PointMap >::Point = typename FEVV::Geometry_traits< HalfedgeGraph >::Point

Definition at line 44 of file Predictor.h.

◆ Vector

template<typename HalfedgeGraph , typename PointMap >
using FEVV::Filters::Predictor< HalfedgeGraph, PointMap >::Vector = typename FEVV::Geometry_traits< HalfedgeGraph >::Vector

Definition at line 43 of file Predictor.h.

◆ vertex_descriptor

template<typename HalfedgeGraph , typename PointMap >
using FEVV::Filters::Predictor< HalfedgeGraph, PointMap >::vertex_descriptor = typename boost::graph_traits< HalfedgeGraph >::vertex_descriptor

Definition at line 37 of file Predictor.h.

Constructor & Destructor Documentation

◆ Predictor()

template<typename HalfedgeGraph , typename PointMap >
FEVV::Filters::Predictor< HalfedgeGraph, PointMap >::Predictor ( HalfedgeGraph &  g,
Kept_position< HalfedgeGraph, PointMap > *  kp,
PointMap &  pm 
)
inline

Definition at line 46 of file Predictor.h.

◆ ~Predictor()

template<typename HalfedgeGraph , typename PointMap >
virtual FEVV::Filters::Predictor< HalfedgeGraph, PointMap >::~Predictor ( )
inlinevirtual

Definition at line 56 of file Predictor.h.

Member Function Documentation

◆ compute_residuals()

template<typename HalfedgeGraph , typename PointMap >
virtual std::vector< Vector > FEVV::Filters::Predictor< HalfedgeGraph, PointMap >::compute_residuals ( Collapse_info< HalfedgeGraph, PointMap > &  mem)
pure virtual

Compression side: Computes geometric residuals from a set of info about the collapse.

Implemented in FEVV::Filters::Raw_positions< HalfedgeGraph, PointMap >, FEVV::Filters::Delta_predictor< HalfedgeGraph, PointMap >, and FEVV::Filters::Butterfly< HalfedgeGraph, PointMap >.

◆ get_as_string()

template<typename HalfedgeGraph , typename PointMap >
virtual std::string FEVV::Filters::Predictor< HalfedgeGraph, PointMap >::get_as_string ( ) const
pure virtual

◆ get_kept_position()

template<typename HalfedgeGraph , typename PointMap >
virtual const Point& FEVV::Filters::Predictor< HalfedgeGraph, PointMap >::get_kept_position ( ) const
inlinevirtual

Definition at line 75 of file Predictor.h.

◆ get_nb_residuals()

template<typename HalfedgeGraph , typename PointMap >
int FEVV::Filters::Predictor< HalfedgeGraph, PointMap >::get_nb_residuals ( ) const
inline

Definition at line 82 of file Predictor.h.

◆ get_type()

template<typename HalfedgeGraph , typename PointMap >
virtual FEVV::Filters::PREDICTION_TYPE FEVV::Filters::Predictor< HalfedgeGraph, PointMap >::get_type ( ) const
inlinevirtual

Definition at line 71 of file Predictor.h.

Here is the caller graph for this function:

◆ get_type_KP()

template<typename HalfedgeGraph , typename PointMap >
virtual FEVV::Filters::VKEPT_POSITION FEVV::Filters::Predictor< HalfedgeGraph, PointMap >::get_type_KP ( ) const
inlinevirtual

Definition at line 77 of file Predictor.h.

Here is the call graph for this function:

◆ place_points()

template<typename HalfedgeGraph , typename PointMap >
virtual std::pair< Point, Point > FEVV::Filters::Predictor< HalfedgeGraph, PointMap >::place_points ( const std::vector< Vector > &  residuals,
vertex_descriptor  vkept,
halfedge_descriptor  h1,
halfedge_descriptor  h2 
)
pure virtual

Decompression side: predicts a position from encoded residuals.

Parameters
h1should be target (h1) and target(h2)
h2first halfedge to expand into a face second halfedge to expand into a face

Implemented in FEVV::Filters::Raw_positions< HalfedgeGraph, PointMap >, FEVV::Filters::Delta_predictor< HalfedgeGraph, PointMap >, and FEVV::Filters::Butterfly< HalfedgeGraph, PointMap >.

◆ set_rev()

template<typename HalfedgeGraph , typename PointMap >
virtual void FEVV::Filters::Predictor< HalfedgeGraph, PointMap >::set_rev ( bool  )
pure virtual

Member Data Documentation

◆ _g

template<typename HalfedgeGraph , typename PointMap >
HalfedgeGraph& FEVV::Filters::Predictor< HalfedgeGraph, PointMap >::_g
protected

Definition at line 86 of file Predictor.h.

◆ _gt

template<typename HalfedgeGraph , typename PointMap >
const Geometry FEVV::Filters::Predictor< HalfedgeGraph, PointMap >::_gt
protected

Definition at line 87 of file Predictor.h.

◆ _kept_position

template<typename HalfedgeGraph , typename PointMap >
Point FEVV::Filters::Predictor< HalfedgeGraph, PointMap >::_kept_position
protected

Definition at line 90 of file Predictor.h.

◆ _kp

template<typename HalfedgeGraph , typename PointMap >
Kept_position< HalfedgeGraph, PointMap >* FEVV::Filters::Predictor< HalfedgeGraph, PointMap >::_kp
protected

Definition at line 85 of file Predictor.h.

◆ _nbResiduals

template<typename HalfedgeGraph , typename PointMap >
int FEVV::Filters::Predictor< HalfedgeGraph, PointMap >::_nbResiduals
protected

Definition at line 89 of file Predictor.h.

◆ _pm

template<typename HalfedgeGraph , typename PointMap >
PointMap& FEVV::Filters::Predictor< HalfedgeGraph, PointMap >::_pm
protected

Definition at line 88 of file Predictor.h.

◆ _type

template<typename HalfedgeGraph , typename PointMap >
FEVV::Filters::PREDICTION_TYPE FEVV::Filters::Predictor< HalfedgeGraph, PointMap >::_type
protected

Definition at line 91 of file Predictor.h.


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