MEPP2 Project
Classes | Functions
FEVV::Comparator Namespace Reference

Classes

class  Edge_comparator
 
class  Spanning_tree_vertex_edge_comparator
 
class  Vertex_comparator
 

Functions

template<>
std::list< typename boost::graph_traits< FEVV::DataStructures::AIF::AIFMesh >::vertex_descriptor > get_adjacent_vertices (typename boost::graph_traits< FEVV::DataStructures::AIF::AIFMesh >::vertex_descriptor v, const FEVV::DataStructures::AIF::AIFMesh &)
 
template<>
std::list< typename boost::graph_traits< FEVV::DataStructures::AIF::AIFMesh >::vertex_descriptor > get_not_processed_adjacent_vertices (typename boost::graph_traits< FEVV::DataStructures::AIF::AIFMesh >::vertex_descriptor v, const FEVV::DataStructures::AIF::AIFMesh &g, std::map< typename boost::graph_traits< FEVV::DataStructures::AIF::AIFMesh >::vertex_descriptor, bool > &processed_vertices, typename boost::graph_traits< FEVV::DataStructures::AIF::AIFMesh >::edge_descriptor min_e)
 
template<typename Graph , typename PointMap , typename EdgeWeightMap = typename FEVV::Edge_pmap_traits<Graph, typename FEVV::Geometry_traits<Graph>::Scalar >::pmap_type, typename GeometryTraits = FEVV::Geometry_traits<Graph>>
static Edge_comparator< Graph, PointMap, EdgeWeightMap, GeometryTraits > get_edge_comparator (const Graph &g, const PointMap &pm)
 
template<typename Graph >
std::list< typename boost::graph_traits< Graph >::vertex_descriptor > get_adjacent_vertices (typename boost::graph_traits< Graph >::vertex_descriptor v, const Graph &g)
 
template<typename Graph >
std::list< typename boost::graph_traits< Graph >::vertex_descriptor > get_not_processed_adjacent_vertices (typename boost::graph_traits< Graph >::vertex_descriptor v, const Graph &g, std::map< typename boost::graph_traits< Graph >::vertex_descriptor, bool > &processed_vertices, typename boost::graph_traits< Graph >::edge_descriptor min_e)
 
template<typename GeometryTraits >
double neighbor_regularity (const typename GeometryTraits::Point &v_s_pos, const typename GeometryTraits::Point &v_t_pos, const typename GeometryTraits::Point &v_s_t_kept_neighbor_pos, const GeometryTraits &gt)
 Compute the regularity/priority of a neighbor/adjacent point. To use to identify pivot points. More...
 
template<typename Graph , typename PointMap , typename GeometryTraits = FEVV::Geometry_traits<Graph>>
void stable_sort_adjacent_vertices (const Graph &, const PointMap &pm, typename boost::graph_traits< Graph >::vertex_descriptor, std::list< typename boost::graph_traits< Graph >::vertex_descriptor > &adjacent2v, const typename GeometryTraits::Point &v_s_pos, const typename GeometryTraits::Point &v_t_pos, const GeometryTraits &gt)
 stable_sort_adjacent_vertices based on true source and target positions More...
 
template<typename Graph , typename PointMap , typename GeometryTraits = FEVV::Geometry_traits<Graph>>
void stable_sort_adjacent_vertices (const Graph &g, const PointMap &pm, typename boost::graph_traits< Graph >::vertex_descriptor v, std::list< typename boost::graph_traits< Graph >::vertex_descriptor > &adjacent2v, const GeometryTraits &gt)
 
template<typename Graph , typename PointMap , typename GeometryTraits = FEVV::Geometry_traits<Graph>>
static Spanning_tree_vertex_edge_comparator< Graph, PointMap, GeometryTraits > get_spanning_tree_comparator (const Graph &g, const PointMap &pm, bool tie_break_detection=true)
 
template<typename Graph , typename PointMap , typename GeometryTraits = FEVV::Geometry_traits<Graph>>
static Vertex_comparator< Graph, PointMap, GeometryTraits > get_vertex_comparator (const Graph &g, const PointMap &pm)
 

Function Documentation

◆ get_adjacent_vertices() [1/2]

template<>
std::list< typename boost::graph_traits<FEVV::DataStructures::AIF::AIFMesh>::vertex_descriptor> FEVV::Comparator::get_adjacent_vertices ( typename boost::graph_traits< FEVV::DataStructures::AIF::AIFMesh >::vertex_descriptor  v,
const FEVV::DataStructures::AIF::AIFMesh  
)

Definition at line 28 of file Spanning_tree_vertex_edge_comparator.hpp.

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

◆ get_adjacent_vertices() [2/2]

template<typename Graph >
std::list< typename boost::graph_traits<Graph>::vertex_descriptor> FEVV::Comparator::get_adjacent_vertices ( typename boost::graph_traits< Graph >::vertex_descriptor  v,
const Graph &  g 
)

Definition at line 32 of file Spanning_tree_vertex_edge_comparator.hpp.

Here is the call graph for this function:

◆ get_edge_comparator()

template<typename Graph , typename PointMap , typename EdgeWeightMap = typename FEVV::Edge_pmap_traits<Graph, typename FEVV::Geometry_traits<Graph>::Scalar >::pmap_type, typename GeometryTraits = FEVV::Geometry_traits<Graph>>
static Edge_comparator<Graph, PointMap, EdgeWeightMap, GeometryTraits> FEVV::Comparator::get_edge_comparator ( const Graph &  g,
const PointMap &  pm 
)
static

Definition at line 237 of file Edge_comparators.hpp.

◆ get_not_processed_adjacent_vertices() [1/2]

template<>
std::list< typename boost::graph_traits<FEVV::DataStructures::AIF::AIFMesh>::vertex_descriptor> FEVV::Comparator::get_not_processed_adjacent_vertices ( typename boost::graph_traits< FEVV::DataStructures::AIF::AIFMesh >::vertex_descriptor  v,
const FEVV::DataStructures::AIF::AIFMesh g,
std::map< typename boost::graph_traits< FEVV::DataStructures::AIF::AIFMesh >::vertex_descriptor, bool > &  processed_vertices,
typename boost::graph_traits< FEVV::DataStructures::AIF::AIFMesh >::edge_descriptor  min_e 
)

Definition at line 38 of file Spanning_tree_vertex_edge_comparator.hpp.

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

◆ get_not_processed_adjacent_vertices() [2/2]

template<typename Graph >
std::list< typename boost::graph_traits<Graph>::vertex_descriptor > FEVV::Comparator::get_not_processed_adjacent_vertices ( typename boost::graph_traits< Graph >::vertex_descriptor  v,
const Graph &  g,
std::map< typename boost::graph_traits< Graph >::vertex_descriptor, bool > &  processed_vertices,
typename boost::graph_traits< Graph >::edge_descriptor  min_e 
)

Definition at line 49 of file Spanning_tree_vertex_edge_comparator.hpp.

Here is the call graph for this function:

◆ get_spanning_tree_comparator()

template<typename Graph , typename PointMap , typename GeometryTraits = FEVV::Geometry_traits<Graph>>
static Spanning_tree_vertex_edge_comparator<Graph, PointMap, GeometryTraits> FEVV::Comparator::get_spanning_tree_comparator ( const Graph &  g,
const PointMap &  pm,
bool  tie_break_detection = true 
)
static

Definition at line 663 of file Spanning_tree_vertex_edge_comparator.hpp.

Here is the caller graph for this function:

◆ get_vertex_comparator()

template<typename Graph , typename PointMap , typename GeometryTraits = FEVV::Geometry_traits<Graph>>
static Vertex_comparator<Graph, PointMap, GeometryTraits> FEVV::Comparator::get_vertex_comparator ( const Graph &  g,
const PointMap &  pm 
)
static

Definition at line 114 of file Vertex_comparators.hpp.

◆ neighbor_regularity()

template<typename GeometryTraits >
double FEVV::Comparator::neighbor_regularity ( const typename GeometryTraits::Point v_s_pos,
const typename GeometryTraits::Point v_t_pos,
const typename GeometryTraits::Point v_s_t_kept_neighbor_pos,
const GeometryTraits &  gt 
)

Compute the regularity/priority of a neighbor/adjacent point. To use to identify pivot points.

Template Parameters
GeometryTraitsThe geometric kernel.
Parameters
[in]v_s_posThe first point.
[in]v_t_posThe second point.
[in]v_s_t_kept_neighbor_posThe neighbor point.
gtThe geometry trait object.
Returns
The regularity of the triange (v_s_t_kept_neighbor_pos, v_s_pos, v_t_pos).

Definition at line 114 of file Spanning_tree_vertex_edge_comparator.hpp.

Here is the caller graph for this function:

◆ stable_sort_adjacent_vertices() [1/2]

template<typename Graph , typename PointMap , typename GeometryTraits = FEVV::Geometry_traits<Graph>>
void FEVV::Comparator::stable_sort_adjacent_vertices ( const Graph &  ,
const PointMap &  pm,
typename boost::graph_traits< Graph >::vertex_descriptor  ,
std::list< typename boost::graph_traits< Graph >::vertex_descriptor > &  adjacent2v,
const typename GeometryTraits::Point v_s_pos,
const typename GeometryTraits::Point v_t_pos,
const GeometryTraits &  gt 
)

stable_sort_adjacent_vertices based on true source and target positions

Parameters
v_s_posprovides adjacent2v in the canonical order

Definition at line 149 of file Spanning_tree_vertex_edge_comparator.hpp.

Here is the call graph for this function:

◆ stable_sort_adjacent_vertices() [2/2]

template<typename Graph , typename PointMap , typename GeometryTraits = FEVV::Geometry_traits<Graph>>
void FEVV::Comparator::stable_sort_adjacent_vertices ( const Graph &  g,
const PointMap &  pm,
typename boost::graph_traits< Graph >::vertex_descriptor  v,
std::list< typename boost::graph_traits< Graph >::vertex_descriptor > &  adjacent2v,
const GeometryTraits &  gt 
)

stable_sort_adjacent_vertices based on the distance to the bisector plane cutting the segment connecting the two furthest vertices in the one-ring neighborhood of v.

Parameters
gtprovides adjacent2v in the canonical order

Definition at line 178 of file Spanning_tree_vertex_edge_comparator.hpp.

Here is the call graph for this function: