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

Abstract class to represent the position type of the resulting vertex of an edge collapse. More...

#include <Kept_position.h>

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

Public Types

using Vector = typename Geometry::Vector
 
using Point = typename Geometry::Point
 

Public Member Functions

 Kept_position (HalfedgeGraph &g, PointMap &pm)
 
 Kept_position (HalfedgeGraph &g, PointMap &pm, Geometry &gt)
 
virtual ~Kept_position ()
 
virtual Point compute_position (typename boost::graph_traits< HalfedgeGraph >::edge_descriptor edge)=0
 Compute the kept vertex position of an edge. More...
 
VKEPT_POSITION get_type () const
 
bool get_reverse () const
 
virtual std::string get_as_string () const =0
 

Protected Attributes

HalfedgeGraph & _g
 
const Geometry _gt
 
PointMap & _pm
 
FEVV::Filters::VKEPT_POSITION _type
 
bool _reverse
 

Detailed Description

template<typename HalfedgeGraph, typename PointMap, typename Geometry = typename FEVV::Geometry_traits< HalfedgeGraph >>
class FEVV::Filters::Kept_position< HalfedgeGraph, PointMap, Geometry >

Abstract class to represent the position type of the resulting vertex of an edge collapse.

Definition at line 30 of file Kept_position.h.

Member Typedef Documentation

◆ Point

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

Definition at line 34 of file Kept_position.h.

◆ Vector

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

Definition at line 33 of file Kept_position.h.

Constructor & Destructor Documentation

◆ Kept_position() [1/2]

template<typename HalfedgeGraph , typename PointMap , typename Geometry = typename FEVV::Geometry_traits< HalfedgeGraph >>
FEVV::Filters::Kept_position< HalfedgeGraph, PointMap, Geometry >::Kept_position ( HalfedgeGraph &  g,
PointMap &  pm 
)
inline

Definition at line 35 of file Kept_position.h.

◆ Kept_position() [2/2]

template<typename HalfedgeGraph , typename PointMap , typename Geometry = typename FEVV::Geometry_traits< HalfedgeGraph >>
FEVV::Filters::Kept_position< HalfedgeGraph, PointMap, Geometry >::Kept_position ( HalfedgeGraph &  g,
PointMap &  pm,
Geometry &  gt 
)
inline

Definition at line 38 of file Kept_position.h.

◆ ~Kept_position()

template<typename HalfedgeGraph , typename PointMap , typename Geometry = typename FEVV::Geometry_traits< HalfedgeGraph >>
virtual FEVV::Filters::Kept_position< HalfedgeGraph, PointMap, Geometry >::~Kept_position ( )
inlinevirtual

Definition at line 42 of file Kept_position.h.

Member Function Documentation

◆ compute_position()

template<typename HalfedgeGraph , typename PointMap , typename Geometry = typename FEVV::Geometry_traits< HalfedgeGraph >>
virtual Point FEVV::Filters::Kept_position< HalfedgeGraph, PointMap, Geometry >::compute_position ( typename boost::graph_traits< HalfedgeGraph >::edge_descriptor  edge)
pure virtual

Compute the kept vertex position of an edge.

Implemented in FEVV::Filters::Midpoint< HalfedgeGraph, PointMap, Geometry >, and FEVV::Filters::Halfedge< HalfedgeGraph, PointMap, Geometry >.

Here is the caller graph for this function:

◆ get_as_string()

template<typename HalfedgeGraph , typename PointMap , typename Geometry = typename FEVV::Geometry_traits< HalfedgeGraph >>
virtual std::string FEVV::Filters::Kept_position< HalfedgeGraph, PointMap, Geometry >::get_as_string ( ) const
pure virtual

◆ get_reverse()

template<typename HalfedgeGraph , typename PointMap , typename Geometry = typename FEVV::Geometry_traits< HalfedgeGraph >>
bool FEVV::Filters::Kept_position< HalfedgeGraph, PointMap, Geometry >::get_reverse ( ) const
inline

Has a reverse case? Namely do we need to reverse the left and right pivot vertices?

Definition at line 49 of file Kept_position.h.

◆ get_type()

template<typename HalfedgeGraph , typename PointMap , typename Geometry = typename FEVV::Geometry_traits< HalfedgeGraph >>
VKEPT_POSITION FEVV::Filters::Kept_position< HalfedgeGraph, PointMap, Geometry >::get_type ( ) const
inline

Definition at line 46 of file Kept_position.h.

Here is the caller graph for this function:

Member Data Documentation

◆ _g

template<typename HalfedgeGraph , typename PointMap , typename Geometry = typename FEVV::Geometry_traits< HalfedgeGraph >>
HalfedgeGraph& FEVV::Filters::Kept_position< HalfedgeGraph, PointMap, Geometry >::_g
protected

Definition at line 53 of file Kept_position.h.

◆ _gt

template<typename HalfedgeGraph , typename PointMap , typename Geometry = typename FEVV::Geometry_traits< HalfedgeGraph >>
const Geometry FEVV::Filters::Kept_position< HalfedgeGraph, PointMap, Geometry >::_gt
protected

Definition at line 54 of file Kept_position.h.

◆ _pm

template<typename HalfedgeGraph , typename PointMap , typename Geometry = typename FEVV::Geometry_traits< HalfedgeGraph >>
PointMap& FEVV::Filters::Kept_position< HalfedgeGraph, PointMap, Geometry >::_pm
protected

Definition at line 55 of file Kept_position.h.

◆ _reverse

template<typename HalfedgeGraph , typename PointMap , typename Geometry = typename FEVV::Geometry_traits< HalfedgeGraph >>
bool FEVV::Filters::Kept_position< HalfedgeGraph, PointMap, Geometry >::_reverse
protected

Definition at line 57 of file Kept_position.h.

◆ _type

template<typename HalfedgeGraph , typename PointMap , typename Geometry = typename FEVV::Geometry_traits< HalfedgeGraph >>
FEVV::Filters::VKEPT_POSITION FEVV::Filters::Kept_position< HalfedgeGraph, PointMap, Geometry >::_type
protected

Definition at line 56 of file Kept_position.h.


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