MEPP2 Project
|
#include <Butterfly.h>
Public Types | |
using | vertex_descriptor = typename boost::graph_traits< HalfedgeGraph >::vertex_descriptor |
using | halfedge_descriptor = typename boost::graph_traits< HalfedgeGraph >::halfedge_descriptor |
using | Vector = typename FEVV::Geometry_traits< HalfedgeGraph >::Vector |
using | Point = typename FEVV::Geometry_traits< HalfedgeGraph >::Point |
using | Geometry = typename FEVV::Geometry_traits< HalfedgeGraph > |
typedef Predictor< HalfedgeGraph, PointMap > | Super_class |
![]() | |
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 | |
Butterfly (HalfedgeGraph &g, Kept_position< HalfedgeGraph, PointMap > *kp, PointMap &pm) | |
std::vector< Vector > | compute_residuals (Collapse_info< HalfedgeGraph, PointMap > &mem) override |
std::pair< Point, Point > | place_points (const std::vector< Vector > &residuals, vertex_descriptor vkept, halfedge_descriptor h1, halfedge_descriptor h2) override |
Decompression side: predicts a position from encoded residuals. More... | |
const std::tuple< bool, bool, bool, bool > & | get_midpoint () const |
void | set_bit_info (bool b1, bool b2, bool b3, bool b4) |
void | set_rev (bool b) override |
std::string | get_as_string () const override |
void | record_stencil (std::vector< vertex_descriptor > &around, std::vector< vertex_descriptor > &crown, halfedge_descriptor begin, halfedge_descriptor end, int &k) |
![]() | |
Predictor (HalfedgeGraph &g, Kept_position< HalfedgeGraph, PointMap > *kp, PointMap &pm) | |
virtual | ~Predictor () |
virtual FEVV::Filters::PREDICTION_TYPE | get_type () const |
virtual const Point & | get_kept_position () const |
virtual FEVV::Filters::VKEPT_POSITION | get_type_KP () const |
int | get_nb_residuals () const |
Private Member Functions | |
bool | is_on_border (vertex_descriptor v) const |
std::vector< Vector > | compute_D_prime_A_and_B (const Point &CA, const Point &SA, const Point &CB, const Point &SB, const Point &kept_position) |
void | fill_around_and_crown (std::vector< Point > &around, std::vector< Point > &crown, halfedge_descriptor begin, halfedge_descriptor end, int &k) |
Point | compute_S (std::vector< Point > &around, Point v1, Point v2, int &k) |
Point | compute_C (std::vector< Point > &crown, std::vector< Point > &around_opposite, int &k) |
void | fill_crown_around_vertex (std::list< vertex_descriptor > &crown, std::list< vertex_descriptor > &around, vertex_descriptor center, int &k) |
Private Attributes | |
FEVV::Filters::Delta_predictor< HalfedgeGraph, PointMap > | _delta_for_borders |
Point | _estimated_a |
Point | _estimated_b |
double | _alpha |
int | k_a |
int | k_b |
bool | _rev |
Point | CApred |
Point | CBpred |
Point | SApred |
Point | SBpred |
Point | APred |
Point | BPred |
Vector | DApred |
Vector | DBpred |
Vector | Dpred |
std::tuple< bool, bool, bool, bool > | _round_midpoint |
Additional Inherited Members | |
![]() | |
Kept_position< HalfedgeGraph, PointMap > * | _kp |
HalfedgeGraph & | _g |
const Geometry | _gt |
PointMap & | _pm |
int | _nbResiduals |
Point | _kept_position |
FEVV::Filters::PREDICTION_TYPE | _type |
Butterfly prediction scheme, as implemented in the paper by Rossignac.
Definition at line 26 of file Butterfly.h.
using FEVV::Filters::Butterfly< HalfedgeGraph, PointMap >::Geometry = typename FEVV::Geometry_traits< HalfedgeGraph > |
Definition at line 36 of file Butterfly.h.
using FEVV::Filters::Butterfly< HalfedgeGraph, PointMap >::halfedge_descriptor = typename boost::graph_traits< HalfedgeGraph >::halfedge_descriptor |
Definition at line 32 of file Butterfly.h.
using FEVV::Filters::Butterfly< HalfedgeGraph, PointMap >::Point = typename FEVV::Geometry_traits< HalfedgeGraph >::Point |
Definition at line 35 of file Butterfly.h.
typedef Predictor< HalfedgeGraph, PointMap > FEVV::Filters::Butterfly< HalfedgeGraph, PointMap >::Super_class |
Definition at line 38 of file Butterfly.h.
using FEVV::Filters::Butterfly< HalfedgeGraph, PointMap >::Vector = typename FEVV::Geometry_traits< HalfedgeGraph >::Vector |
Definition at line 34 of file Butterfly.h.
using FEVV::Filters::Butterfly< HalfedgeGraph, PointMap >::vertex_descriptor = typename boost::graph_traits< HalfedgeGraph >::vertex_descriptor |
Definition at line 30 of file Butterfly.h.
|
inline |
Definition at line 39 of file Butterfly.h.
|
inlineprivate |
|
inlineprivate |
Definition at line 332 of file Butterfly.h.
|
inlineoverridevirtual |
Compression side: Computes geometric residuals from a set of info about the collapse.
Implements FEVV::Filters::Predictor< HalfedgeGraph, PointMap >.
Definition at line 54 of file Butterfly.h.
|
inlineprivate |
|
inlineprivate |
Definition at line 412 of file Butterfly.h.
|
inlineprivate |
|
inlineoverridevirtual |
Implements FEVV::Filters::Predictor< HalfedgeGraph, PointMap >.
Definition at line 284 of file Butterfly.h.
|
inline |
Definition at line 271 of file Butterfly.h.
|
inlineprivate |
Definition at line 317 of file Butterfly.h.
|
inlineoverridevirtual |
Decompression side: predicts a position from encoded residuals.
h1 | should be target (h1) and target(h2) |
h2 | first halfedge to expand into a face second halfedge to expand into a face |
Implements FEVV::Filters::Predictor< HalfedgeGraph, PointMap >.
Definition at line 158 of file Butterfly.h.
|
inline |
|
inline |
Definition at line 275 of file Butterfly.h.
|
inlineoverridevirtual |
Implements FEVV::Filters::Predictor< HalfedgeGraph, PointMap >.
Definition at line 279 of file Butterfly.h.
|
private |
Definition at line 401 of file Butterfly.h.
|
private |
Definition at line 397 of file Butterfly.h.
|
private |
Definition at line 398 of file Butterfly.h.
|
private |
Definition at line 399 of file Butterfly.h.
|
private |
Definition at line 404 of file Butterfly.h.
|
private |
Definition at line 410 of file Butterfly.h.
|
private |
Definition at line 406 of file Butterfly.h.
|
private |
Definition at line 406 of file Butterfly.h.
|
private |
Definition at line 406 of file Butterfly.h.
|
private |
Definition at line 406 of file Butterfly.h.
|
private |
Definition at line 407 of file Butterfly.h.
|
private |
Definition at line 407 of file Butterfly.h.
|
private |
Definition at line 408 of file Butterfly.h.
|
private |
Definition at line 403 of file Butterfly.h.
|
private |
Definition at line 403 of file Butterfly.h.
|
private |
Definition at line 406 of file Butterfly.h.
|
private |
Definition at line 406 of file Butterfly.h.