MEPP2 Project
Functions
test_mesh_defects_aif.cpp File Reference
#include "FEVV/Wrappings/Graph_traits_aif.h"
#include "FEVV/Wrappings/Geometry_traits_aif.h"
#include "FEVV/Wrappings/Graph_properties_aif.h"
#include "FEVV/Wrappings/properties_aif.h"
#include "FEVV/DataStructures/AIF/AIFMesh.hpp"
#include "FEVV/DataStructures/AIF/AIFMeshReader.hpp"
#include "FEVV/DataStructures/AIF/AIFMeshWriter.hpp"
#include "FEVV/Operators/AIF/similarity.hpp"
#include "FEVV/Operators/AIF/collapse_edge.hpp"
#include "FEVV/DataStructures/AIF/AIFMeshHelpers.h"
#include "FEVV/Operators/Generic/calculate_face_normal.hpp"
#include "FEVV/Tools/IO/FileUtilities.hpp"
#include <vector>
#include <set>
#include <map>
#include <algorithm>
#include <cstdlib>
Include dependency graph for test_mesh_defects_aif.cpp:

Go to the source code of this file.

Functions

template<typename IterFaceType , typename PointMap >
AIFMeshT extract_vertex_local_neighborhood (IterFaceType begin, IterFaceType end, PointMap pm)
 
template<typename PointMap >
AIFMeshT extract_vertex_local_neighborhood (typename boost::graph_traits< AIFMeshT >::vertex_descriptor v, const AIFMeshT &, PointMap pm)
 
template<typename PointMap >
AIFMeshT extract_edge_local_neighborhood (typename boost::graph_traits< AIFMeshT >::edge_descriptor e, const AIFMeshT &g, PointMap pm)
 
static bool argument_analysis (std::string &arg, const std::string &arg_name, bool update_arg_tolower_case=true)
 
template<typename MutableFaceIncidentGraph >
boost::graph_traits< MutableFaceIncidentGraph >::edge_descriptor create_new_edge_with_its_incident_vertices (MutableFaceIncidentGraph &g)
 
template<typename MutableFaceIncidentGraph >
static void remove_adjacent_edges (MutableFaceIncidentGraph &g, std::vector< typename boost::graph_traits< MutableFaceIncidentGraph >::edge_descriptor > &selected_edges_to_make_independent, std::vector< typename boost::graph_traits< MutableFaceIncidentGraph >::edge_descriptor > &removed_edges)
 
template<typename MutableFaceIncidentGraph >
static size_t nb_different_incident_face_segment_indices (const MutableFaceIncidentGraph &g, typename boost::graph_traits< MutableFaceIncidentGraph >::edge_descriptor e)
 
template<typename MutableFaceIncidentGraph >
static bool has_that_incident_face_segment_index (const MutableFaceIncidentGraph &g, typename boost::graph_traits< MutableFaceIncidentGraph >::edge_descriptor e, int index)
 
template<typename MutableFaceIncidentGraph >
static bool has_only_that_incident_face_segment_index (const MutableFaceIncidentGraph &g, typename boost::graph_traits< MutableFaceIncidentGraph >::edge_descriptor e, int index)
 
template<typename MutableFaceIncidentGraph >
static void replace_vertex_in_incident_edges (MutableFaceIncidentGraph &g, typename boost::graph_traits< MutableFaceIncidentGraph >::vertex_descriptor v, typename boost::graph_traits< MutableFaceIncidentGraph >::vertex_descriptor replace, typename boost::graph_traits< MutableFaceIncidentGraph >::face_descriptor current_f, const std::vector< typename boost::graph_traits< MutableFaceIncidentGraph >::edge_descriptor > &complex_edges)
 
template<typename MutableFaceIncidentGraph >
static void calculate_previous_and_after_vertices (MutableFaceIncidentGraph &, typename boost::graph_traits< MutableFaceIncidentGraph >::edge_descriptor e, typename boost::graph_traits< MutableFaceIncidentGraph >::edge_descriptor pe, typename boost::graph_traits< MutableFaceIncidentGraph >::edge_descriptor ae, typename boost::graph_traits< MutableFaceIncidentGraph >::vertex_descriptor &v_pe_old, typename boost::graph_traits< MutableFaceIncidentGraph >::vertex_descriptor &v_ae_old, std::map< typename boost::graph_traits< MutableFaceIncidentGraph >::vertex_descriptor, typename boost::graph_traits< MutableFaceIncidentGraph >::vertex_descriptor > &v_old_to_v_new, std::map< typename boost::graph_traits< MutableFaceIncidentGraph >::vertex_descriptor, typename boost::graph_traits< MutableFaceIncidentGraph >::vertex_descriptor > &v_new_to_old)
 
template<typename MutableFaceIncidentGraph , typename PointMap >
static void replace_edge_by_new_one_and_update_incidency (MutableFaceIncidentGraph &g, PointMap &pm, typename boost::graph_traits< MutableFaceIncidentGraph >::face_descriptor f, typename boost::graph_traits< MutableFaceIncidentGraph >::edge_descriptor e, typename boost::graph_traits< MutableFaceIncidentGraph >::edge_descriptor replace, std::map< typename boost::graph_traits< MutableFaceIncidentGraph >::vertex_descriptor, typename boost::graph_traits< MutableFaceIncidentGraph >::vertex_descriptor > &v_old_to_v_new, std::map< typename boost::graph_traits< MutableFaceIncidentGraph >::vertex_descriptor, typename boost::graph_traits< MutableFaceIncidentGraph >::vertex_descriptor > &v_new_to_old)
 
template<typename MutableFaceIncidentGraph , typename PointIndexMap >
static bool has_different_vertex_indices (MutableFaceIncidentGraph &g, const PointIndexMap &idm, typename boost::graph_traits< MutableFaceIncidentGraph >::face_descriptor f)
 
static int process_one_mesh_file (const std::string &input_file_path, const std::string &colorize_mesh, const std::string &remove_isolated_elements, const std::string &resolve_vertices_with_similar_incident_edges, const std::string &make_2_mani_not_2_mani)
 
int main (int narg, char **argv)
 

Function Documentation

◆ argument_analysis()

static bool argument_analysis ( std::string &  arg,
const std::string &  arg_name,
bool  update_arg_tolower_case = true 
)
static

Definition at line 92 of file test_mesh_defects_aif.cpp.

Here is the caller graph for this function:

◆ calculate_previous_and_after_vertices()

template<typename MutableFaceIncidentGraph >
static void calculate_previous_and_after_vertices ( MutableFaceIncidentGraph &  ,
typename boost::graph_traits< MutableFaceIncidentGraph >::edge_descriptor  e,
typename boost::graph_traits< MutableFaceIncidentGraph >::edge_descriptor  pe,
typename boost::graph_traits< MutableFaceIncidentGraph >::edge_descriptor  ae,
typename boost::graph_traits< MutableFaceIncidentGraph >::vertex_descriptor &  v_pe_old,
typename boost::graph_traits< MutableFaceIncidentGraph >::vertex_descriptor &  v_ae_old,
std::map< typename boost::graph_traits< MutableFaceIncidentGraph >::vertex_descriptor, typename boost::graph_traits< MutableFaceIncidentGraph >::vertex_descriptor > &  v_old_to_v_new,
std::map< typename boost::graph_traits< MutableFaceIncidentGraph >::vertex_descriptor, typename boost::graph_traits< MutableFaceIncidentGraph >::vertex_descriptor > &  v_new_to_old 
)
static

Definition at line 352 of file test_mesh_defects_aif.cpp.

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

◆ create_new_edge_with_its_incident_vertices()

template<typename MutableFaceIncidentGraph >
boost::graph_traits<MutableFaceIncidentGraph >::edge_descriptor create_new_edge_with_its_incident_vertices ( MutableFaceIncidentGraph &  g)

Definition at line 126 of file test_mesh_defects_aif.cpp.

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

◆ extract_edge_local_neighborhood()

template<typename PointMap >
AIFMeshT extract_edge_local_neighborhood ( typename boost::graph_traits< AIFMeshT >::edge_descriptor  e,
const AIFMeshT g,
PointMap  pm 
)

Definition at line 76 of file test_mesh_defects_aif.cpp.

Here is the call graph for this function:

◆ extract_vertex_local_neighborhood() [1/2]

template<typename IterFaceType , typename PointMap >
AIFMeshT extract_vertex_local_neighborhood ( IterFaceType  begin,
IterFaceType  end,
PointMap  pm 
)

Definition at line 37 of file test_mesh_defects_aif.cpp.

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

◆ extract_vertex_local_neighborhood() [2/2]

template<typename PointMap >
AIFMeshT extract_vertex_local_neighborhood ( typename boost::graph_traits< AIFMeshT >::vertex_descriptor  v,
const AIFMeshT ,
PointMap  pm 
)

Definition at line 66 of file test_mesh_defects_aif.cpp.

Here is the call graph for this function:

◆ has_different_vertex_indices()

template<typename MutableFaceIncidentGraph , typename PointIndexMap >
static bool has_different_vertex_indices ( MutableFaceIncidentGraph &  g,
const PointIndexMap &  idm,
typename boost::graph_traits< MutableFaceIncidentGraph >::face_descriptor  f 
)
static

Definition at line 487 of file test_mesh_defects_aif.cpp.

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

◆ has_only_that_incident_face_segment_index()

template<typename MutableFaceIncidentGraph >
static bool has_only_that_incident_face_segment_index ( const MutableFaceIncidentGraph &  g,
typename boost::graph_traits< MutableFaceIncidentGraph >::edge_descriptor  e,
int  index 
)
static

Definition at line 254 of file test_mesh_defects_aif.cpp.

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

◆ has_that_incident_face_segment_index()

template<typename MutableFaceIncidentGraph >
static bool has_that_incident_face_segment_index ( const MutableFaceIncidentGraph &  g,
typename boost::graph_traits< MutableFaceIncidentGraph >::edge_descriptor  e,
int  index 
)
static

Definition at line 236 of file test_mesh_defects_aif.cpp.

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

◆ main()

int main ( int  narg,
char **  argv 
)

Definition at line 1428 of file test_mesh_defects_aif.cpp.

Here is the call graph for this function:

◆ nb_different_incident_face_segment_indices()

template<typename MutableFaceIncidentGraph >
static size_t nb_different_incident_face_segment_indices ( const MutableFaceIncidentGraph &  g,
typename boost::graph_traits< MutableFaceIncidentGraph >::edge_descriptor  e 
)
static

Definition at line 219 of file test_mesh_defects_aif.cpp.

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

◆ process_one_mesh_file()

static int process_one_mesh_file ( const std::string &  input_file_path,
const std::string &  colorize_mesh,
const std::string &  remove_isolated_elements,
const std::string &  resolve_vertices_with_similar_incident_edges,
const std::string &  make_2_mani_not_2_mani 
)
static

Definition at line 502 of file test_mesh_defects_aif.cpp.

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

◆ remove_adjacent_edges()

template<typename MutableFaceIncidentGraph >
static void remove_adjacent_edges ( MutableFaceIncidentGraph &  g,
std::vector< typename boost::graph_traits< MutableFaceIncidentGraph >::edge_descriptor > &  selected_edges_to_make_independent,
std::vector< typename boost::graph_traits< MutableFaceIncidentGraph >::edge_descriptor > &  removed_edges 
)
static

Definition at line 142 of file test_mesh_defects_aif.cpp.

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

◆ replace_edge_by_new_one_and_update_incidency()

template<typename MutableFaceIncidentGraph , typename PointMap >
static void replace_edge_by_new_one_and_update_incidency ( MutableFaceIncidentGraph &  g,
PointMap &  pm,
typename boost::graph_traits< MutableFaceIncidentGraph >::face_descriptor  f,
typename boost::graph_traits< MutableFaceIncidentGraph >::edge_descriptor  e,
typename boost::graph_traits< MutableFaceIncidentGraph >::edge_descriptor  replace,
std::map< typename boost::graph_traits< MutableFaceIncidentGraph >::vertex_descriptor, typename boost::graph_traits< MutableFaceIncidentGraph >::vertex_descriptor > &  v_old_to_v_new,
std::map< typename boost::graph_traits< MutableFaceIncidentGraph >::vertex_descriptor, typename boost::graph_traits< MutableFaceIncidentGraph >::vertex_descriptor > &  v_new_to_old 
)
static

Definition at line 401 of file test_mesh_defects_aif.cpp.

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

◆ replace_vertex_in_incident_edges()

template<typename MutableFaceIncidentGraph >
static void replace_vertex_in_incident_edges ( MutableFaceIncidentGraph &  g,
typename boost::graph_traits< MutableFaceIncidentGraph >::vertex_descriptor  v,
typename boost::graph_traits< MutableFaceIncidentGraph >::vertex_descriptor  replace,
typename boost::graph_traits< MutableFaceIncidentGraph >::face_descriptor  current_f,
const std::vector< typename boost::graph_traits< MutableFaceIncidentGraph >::edge_descriptor > &  complex_edges 
)
static

Definition at line 272 of file test_mesh_defects_aif.cpp.

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