MEPP2 Project
|
This class is an helper class associated to the AIFMesh structure. AIFTopologyHelpers implements all the basic topologic function used to manipulate an AIFMesh. Any operation on the AIF structure need to be realized with this helper class. More...
#include <AIFTopologyHelpers.h>
Classes | |
class | AIFHalfEdge |
Static Private Member Functions | |
static void | update_for_single_edge (vertex_descriptor v, const edge_container_in_vertex &orderedOneRing, size_t index, vertex_container_in_vertex &oneR) |
static void | add_vertex_to_edge (edge_descriptor edge, vertex_descriptor vertex, enum vertex_pos position) |
static void | add_edge_to_vertex (vertex_descriptor vertex, edge_descriptor edge) |
static void | remove_vertex_from_edge (edge_descriptor edge, vertex_descriptor vertex) |
static void | remove_edge_from_vertex (vertex_descriptor vertex, edge_descriptor edge) |
static void | add_edge_to_face (face_descriptor face, edge_descriptor edge) |
static void | add_face_to_edge (edge_descriptor edge, face_descriptor face) |
static void | remove_edge_from_face (face_descriptor face, edge_descriptor edge) |
static void | remove_face_from_edge (edge_descriptor edge, face_descriptor face) |
template<typename RandomIt , typename Compare > | |
static void | sort (RandomIt first, RandomIt last, Compare comp) |
This class is an helper class associated to the AIFMesh structure. AIFTopologyHelpers implements all the basic topologic function used to manipulate an AIFMesh. Any operation on the AIF structure need to be realized with this helper class.
Definition at line 56 of file AIFTopologyHelpers.h.
typedef vertex_container_in_vertex::const_iterator FEVV::DataStructures::AIF::AIFTopologyHelpers::adjacency_iterator |
Definition at line 92 of file AIFTopologyHelpers.h.
typedef edge_container_in_face::const_iterator FEVV::DataStructures::AIF::AIFTopologyHelpers::const_incident_edge_iterator |
Definition at line 97 of file AIFTopologyHelpers.h.
typedef face_container_in_edge::const_iterator FEVV::DataStructures::AIF::AIFTopologyHelpers::const_incident_face_iterator |
Definition at line 98 of file AIFTopologyHelpers.h.
typedef edge_container_in_vertex::size_type FEVV::DataStructures::AIF::AIFTopologyHelpers::degree_size_type |
Definition at line 90 of file AIFTopologyHelpers.h.
Definition at line 84 of file AIFTopologyHelpers.h.
typedef edge_type::EdgeContainerType FEVV::DataStructures::AIF::AIFTopologyHelpers::edge_container_in_edge |
Definition at line 78 of file AIFTopologyHelpers.h.
typedef face_type::EdgeContainerType FEVV::DataStructures::AIF::AIFTopologyHelpers::edge_container_in_face |
Definition at line 81 of file AIFTopologyHelpers.h.
typedef vertex_type::EdgeContainerType FEVV::DataStructures::AIF::AIFTopologyHelpers::edge_container_in_vertex |
Definition at line 75 of file AIFTopologyHelpers.h.
Definition at line 71 of file AIFTopologyHelpers.h.
Definition at line 61 of file AIFTopologyHelpers.h.
Definition at line 85 of file AIFTopologyHelpers.h.
typedef edge_type::FaceContainerType FEVV::DataStructures::AIF::AIFTopologyHelpers::face_container_in_edge |
Definition at line 79 of file AIFTopologyHelpers.h.
typedef face_type::FaceContainerType FEVV::DataStructures::AIF::AIFTopologyHelpers::face_container_in_face |
Definition at line 82 of file AIFTopologyHelpers.h.
typedef vertex_type::FaceContainerType FEVV::DataStructures::AIF::AIFTopologyHelpers::face_container_in_vertex |
Definition at line 76 of file AIFTopologyHelpers.h.
Definition at line 72 of file AIFTopologyHelpers.h.
Definition at line 62 of file AIFTopologyHelpers.h.
Definition at line 5755 of file AIFTopologyHelpers.h.
typedef edge_container_in_face::iterator FEVV::DataStructures::AIF::AIFTopologyHelpers::incident_edge_iterator |
Definition at line 94 of file AIFTopologyHelpers.h.
typedef face_container_in_edge::iterator FEVV::DataStructures::AIF::AIFTopologyHelpers::incident_face_iterator |
Definition at line 95 of file AIFTopologyHelpers.h.
Definition at line 59 of file AIFTopologyHelpers.h.
typedef edge_container_in_vertex::const_iterator FEVV::DataStructures::AIF::AIFTopologyHelpers::out_edge_iterator |
Definition at line 89 of file AIFTopologyHelpers.h.
Definition at line 67 of file AIFTopologyHelpers.h.
Definition at line 66 of file AIFTopologyHelpers.h.
typedef std::add_lvalue_reference< const mesh_type >::type FEVV::DataStructures::AIF::AIFTopologyHelpers::ref_cmesh |
Definition at line 69 of file AIFTopologyHelpers.h.
Definition at line 68 of file AIFTopologyHelpers.h.
typedef unsigned int FEVV::DataStructures::AIF::AIFTopologyHelpers::size_type |
Definition at line 87 of file AIFTopologyHelpers.h.
Definition at line 65 of file AIFTopologyHelpers.h.
Definition at line 64 of file AIFTopologyHelpers.h.
typedef mesh_type::VertexContainerType FEVV::DataStructures::AIF::AIFTopologyHelpers::vertex_container |
Definition at line 83 of file AIFTopologyHelpers.h.
typedef edge_type::VertexContainerType FEVV::DataStructures::AIF::AIFTopologyHelpers::vertex_container_in_edge |
Definition at line 77 of file AIFTopologyHelpers.h.
typedef face_type::VertexContainerType FEVV::DataStructures::AIF::AIFTopologyHelpers::vertex_container_in_face |
Definition at line 80 of file AIFTopologyHelpers.h.
typedef vertex_type::VertexContainerType FEVV::DataStructures::AIF::AIFTopologyHelpers::vertex_container_in_vertex |
Definition at line 74 of file AIFTopologyHelpers.h.
Definition at line 70 of file AIFTopologyHelpers.h.
Definition at line 60 of file AIFTopologyHelpers.h.
Compliant enumeration for face degree comparison.
Enumerator | |
---|---|
TRIANGULAR | |
QUADRANGULAR |
Definition at line 109 of file AIFTopologyHelpers.h.
The vertex position in an edge.
Enumerator | |
---|---|
FIRST | |
SECOND |
Definition at line 104 of file AIFTopologyHelpers.h.
|
inlinestatic |
Mesh edge inserter
edge | The isolated edge to insert |
mesh | The involving mesh |
Definition at line 2800 of file AIFTopologyHelpers.h.
|
inlinestatic |
Mesh edge inserter
edge | The isolated edge to insert |
mesh | The involving mesh |
Definition at line 2822 of file AIFTopologyHelpers.h.
|
inlinestatic |
Mesh edge inserter
edge | The isolated edge to insert |
mesh | The involving mesh |
Definition at line 2811 of file AIFTopologyHelpers.h.
|
inlinestatic |
Add the edge to the face'incident edges if face and edge
were not incident. Update caching information for face' incident vertices. Usage precondition: face != null_face() and edge != null_edge()
face | The face for which incident edges are augmented. |
edge | The edge to add. |
Definition at line 3436 of file AIFTopologyHelpers.h.
|
inlinestatic |
Mesh edge inserter
mesh | The involving mesh |
Definition at line 2772 of file AIFTopologyHelpers.h.
|
inlinestatic |
Mesh edge inserter
mesh | The involving mesh |
Definition at line 2792 of file AIFTopologyHelpers.h.
|
inlinestatic |
Mesh edge inserter
mesh | The involving mesh |
Definition at line 2783 of file AIFTopologyHelpers.h.
|
inlinestatic |
Mesh edge inserter
v | A vertex incident to the edge to insert |
u | Another vertex incident to the edge to insert |
mesh | The involving mesh |
Definition at line 2837 of file AIFTopologyHelpers.h.
|
inlinestatic |
Mesh edge inserter
v | A vertex incident to the edge to insert |
u | Another vertex incident to the edge to insert |
mesh | The involving mesh |
Definition at line 2877 of file AIFTopologyHelpers.h.
|
inlinestatic |
Mesh edge inserter
v | A vertex incident to the edge to insert |
u | Another vertex incident to the edge to insert |
mesh | The involving mesh |
Definition at line 2862 of file AIFTopologyHelpers.h.
|
inlinestatic |
Add the edge to the vertex'incident edges if vertex and edge were not incident. Update caching information for vertex' incident edges. Usage precondition: vertex != null_vertex() and edge != null_edge()
vertex | The vertex for which incident edges are augmented. |
edge | The edge to add. |
Definition at line 3346 of file AIFTopologyHelpers.h.
|
inlinestaticprivate |
Add the edge to the face'incident edges without any check. Update caching information for face' incident vertices.
face | The face for which incident edges are augmented. |
edge | The edge to add. |
Definition at line 4606 of file AIFTopologyHelpers.h.
|
inlinestatic |
Add the edge to the face'incident edges after the
prev_edge without any check. Update caching information for face' incident vertices.
face | The face for which incident edges are augmented. |
prev_edge | The edge after which the edge is added. |
edge | The edge to add. |
Definition at line 4438 of file AIFTopologyHelpers.h.
|
inlinestaticprivate |
An incidence relation is created between the vertex and the edge by adding the edge in the incident edges container of the vertex. Update caching information for vertices.
vertex | The involving vertex |
edge | The involving edge |
Definition at line 4531 of file AIFTopologyHelpers.h.
|
inlinestatic |
Add the face to the edge'incident faces if edge and face
were not incident. Update caching information for face' incident vertices. Usage precondition: edge != null_edge() and face != null_face()
edge | The edge for which incident faces are augmented. |
face | The face to add. |
Definition at line 3392 of file AIFTopologyHelpers.h.
|
inlinestatic |
Mesh face inserter
face | The isolated face to insert |
mesh | The involving mesh |
Definition at line 2914 of file AIFTopologyHelpers.h.
|
inlinestatic |
Mesh face inserter
face | The isolated face to insert |
mesh | The involving mesh |
Definition at line 2934 of file AIFTopologyHelpers.h.
|
inlinestatic |
Mesh face inserter
face | The isolated face to insert |
mesh | The involving mesh |
Definition at line 2924 of file AIFTopologyHelpers.h.
|
inlinestatic |
Mesh face inserter
mesh | The involving mesh |
Definition at line 2887 of file AIFTopologyHelpers.h.
|
inlinestatic |
Mesh face inserter
mesh | The involving mesh |
Definition at line 2907 of file AIFTopologyHelpers.h.
|
inlinestatic |
Mesh face inserter
mesh | The involving mesh |
Definition at line 2898 of file AIFTopologyHelpers.h.
|
inlinestaticprivate |
Add the face to the edge'incident faces without any check. Update caching information for edge' incident vertices.
edge | The edge for which incident faces are augmented. |
face | The face to add. |
Definition at line 4637 of file AIFTopologyHelpers.h.
|
inlinestatic |
Add the vertex to the edge'incident vertices (at specified position) if edge and vertex were not incident. Update caching information for vertex. Usage precondition: vertex != null_vertex() and edge != null_edge()
edge | The involving edge |
vertex | The involving vertex |
position | The position of the vertex in the edge (FIRST or SECOND) |
Definition at line 3294 of file AIFTopologyHelpers.h.
|
inlinestatic |
Mesh vertex inserter
mesh | The involving mesh |
Definition at line 2709 of file AIFTopologyHelpers.h.
|
inlinestatic |
Mesh vertex inserter
mesh | The involving mesh |
Definition at line 2729 of file AIFTopologyHelpers.h.
|
inlinestatic |
Mesh vertex inserter
mesh | The involving mesh |
Definition at line 2720 of file AIFTopologyHelpers.h.
|
inlinestatic |
Mesh vertex inserter
vertex | The isolated vertex to insert |
mesh | The involving mesh |
Definition at line 2740 of file AIFTopologyHelpers.h.
|
inlinestatic |
Mesh vertex inserter
vertex | The isolated vertex to insert |
mesh | The involving mesh |
Definition at line 2762 of file AIFTopologyHelpers.h.
|
inlinestatic |
Mesh vertex inserter
vertex | The isolated vertex to insert |
mesh | The involving mesh |
Definition at line 2751 of file AIFTopologyHelpers.h.
|
inlinestaticprivate |
An incidence relation is created between the vertex and the edge by adding the vertex at the specified position in the edge. Update caching information for vertex.
edge | The involving edge |
vertex | The involving vertex |
position | The position of the vertex in the edge (FIRST or SECOND) |
position
in the edge. Thus you HAVE to unlink these two element before, otherwise topological incoherences will be introduce.Definition at line 4494 of file AIFTopologyHelpers.h.
|
inlinestatic |
Adjacent relations with edges
edge | The involving edge |
Definition at line 1203 of file AIFTopologyHelpers.h.
|
inlinestatic |
Adjacent relations with faces
face | The involving face |
Definition at line 1871 of file AIFTopologyHelpers.h.
|
inlinestatic |
Adjacent relations with vertices
vertex | The involving vertex |
Definition at line 377 of file AIFTopologyHelpers.h.
|
inlinestatic |
Function determining if the arguments share an adjacent
relation (if they share a vertex) Usage precondition: edge1 and edge2 must not be similar/parallel (sharing the 2 same vertices).
edge1 | The first involving edge |
edge2 | The second involving edge |
Definition at line 1174 of file AIFTopologyHelpers.h.
|
inlinestatic |
Function determining if the arguments share an adjacent relation (if they share an edge)
face1 | The first involving face |
face2 | The first involving face |
Definition at line 1815 of file AIFTopologyHelpers.h.
|
inlinestatic |
Function determining if the arguments share an adjacent relation (if they share an edge)
vertex1 | The first involving vertex |
vertex2 | The second involving vertex |
Definition at line 358 of file AIFTopologyHelpers.h.
|
inlinestatic |
return true if all adjacent edges to e that are also elements of container_of_edge_one_ring are one ring connected (using function is_e_one_ring_connected).
Definition at line 3595 of file AIFTopologyHelpers.h.
|
inlinestatic |
Function determining if the argument edge share an incidence relation with the argument face.
edge | The involving edge |
face | The involving face |
Definition at line 1151 of file AIFTopologyHelpers.h.
|
inlinestatic |
Function determining if the argument edge shares an incidence relation with the argument vertex.
edge | The involving edge |
vertex | The involving vertex |
Definition at line 1134 of file AIFTopologyHelpers.h.
|
inlinestatic |
Function determining if the argument face shares an incidence relation with the argument edge.
face | The involving face |
edge | The involving edge |
Definition at line 1792 of file AIFTopologyHelpers.h.
|
inlinestatic |
Function determining if the argument face shares an incidence relation with the argument vertex.
face | The involving face |
vertex | The involving vertex |
Definition at line 1721 of file AIFTopologyHelpers.h.
|
inlinestatic |
Function determining if the arguments share an incidence relation.
vertex | The involving vertex |
edge | The involving edge |
Definition at line 303 of file AIFTopologyHelpers.h.
|
inlinestatic |
Function determining if the argument vertex shares an incidence relation with the argument face.
vertex | The involving vertex |
face | The involving face |
Definition at line 1755 of file AIFTopologyHelpers.h.
|
inlinestatic |
Function determining if the arguments share an incidence relation.
vertex | The involving vertex |
u | one vertex of the involving edge |
v | the other vertex of the involving edge |
Definition at line 327 of file AIFTopologyHelpers.h.
|
inlinestatic |
Are the two given faces incident to v reachable without meeting neither a border edge nor a complex edge?
vertex | The involving vertex |
face1 | The first involving face |
face2 | The second involving face |
Definition at line 875 of file AIFTopologyHelpers.h.
|
inlinestatic |
Function determining if two faces are part of the same piece of surface.
face1 | The involving face |
face2 | The second involving face |
Definition at line 1917 of file AIFTopologyHelpers.h.
|
inlinestatic |
Mesh border edges getter
mesh | The involving mesh |
Definition at line 2562 of file AIFTopologyHelpers.h.
|
inlinestatic |
Mesh border edges getter
mesh | The involving mesh |
Definition at line 2594 of file AIFTopologyHelpers.h.
|
inlinestatic |
Mesh border edges getter
mesh | The involving mesh |
Definition at line 2583 of file AIFTopologyHelpers.h.
|
inlinestatic |
Check wether or not the mesh contains - degenerated vertex/degenerated edge/degenerated face - incidence relationship: no null element
mesh | The involving mesh |
Definition at line 2641 of file AIFTopologyHelpers.h.
|
inlinestatic |
Check wether or not the mesh contains - degenerated vertex/degenerated edge/degenerated face - incidence relationship: no null element
mesh | The involving mesh |
Definition at line 2681 of file AIFTopologyHelpers.h.
|
inlinestatic |
Check wether or not the mesh contains - degenerated vertex/degenerated edge/degenerated face - incidence relationship: no null element
mesh | The involving mesh |
Definition at line 2669 of file AIFTopologyHelpers.h.
|
inlinestatic |
Function to clear vertex'edge incidency. Equivalent to the unlink_all_edges(vertex) function. The only interest of this function is to have a function following CGAL naming conventions.
vertex | The involving vertex |
Definition at line 2946 of file AIFTopologyHelpers.h.
|
inlinestatic |
First common edge between two faces
face1 | The first involving face |
face2 | The second involving face |
Definition at line 2095 of file AIFTopologyHelpers.h.
|
inlinestatic |
First common edge between a vertex and a face
vertex | The involving vertex |
face | The involving face |
Definition at line 823 of file AIFTopologyHelpers.h.
|
inlinestatic |
First common edge between a vertex and a face except
not_that_edge
vertex | The involving vertex |
face | The involving face |
not_that_edge | The involving edge |
Definition at line 847 of file AIFTopologyHelpers.h.
|
inlinestatic |
First common edge between two vertices
vertex1 | The first involving vertex |
vertex2 | The second involving vertex |
Definition at line 458 of file AIFTopologyHelpers.h.
|
inlinestatic |
Common edges between two faces
face1 | The first involving face |
face2 | The second involving face |
Definition at line 2121 of file AIFTopologyHelpers.h.
|
inlinestatic |
Common edges between two vertices
vertex1 | The first involving vertex |
vertex2 | The second involving vertex |
Definition at line 482 of file AIFTopologyHelpers.h.
|
inlinestatic |
First common face between two edges
edge1 | The first involving edge |
edge2 | The second involving edge |
Definition at line 2074 of file AIFTopologyHelpers.h.
|
inlinestatic |
Function determining the common vertex between 2 incident edges. Usage precondition: edge1 and edge2 must not be similar/parallel (sharing the 2 same vertices).
edge1 | The first involved edge |
edge2 | The second involved edge |
Definition at line 1055 of file AIFTopologyHelpers.h.
|
inlinestatic |
Function determining if the argument mesh has 2 adjacent faces with different orientations.
mesh | The involving mesh |
Definition at line 2346 of file AIFTopologyHelpers.h.
|
inlinestatic |
Function determining if the argument mesh has 2 adjacent faces with different orientations.
mesh | The involving mesh |
Definition at line 2383 of file AIFTopologyHelpers.h.
|
inlinestatic |
Function determining if the argument mesh has 2 adjacent faces with different orientations.
mesh | The involving mesh |
Definition at line 2368 of file AIFTopologyHelpers.h.
|
inlinestatic |
Function determining if the argument mesh contains at least one cut vertex
mesh | The involving mesh |
Definition at line 2396 of file AIFTopologyHelpers.h.
|
inlinestatic |
Function determining if the argument mesh contains at least one cut vertex
mesh | The involving mesh |
Definition at line 2429 of file AIFTopologyHelpers.h.
|
inlinestatic |
Function determining if the argument mesh contains at least one cut vertex
mesh | The involving mesh |
Definition at line 2416 of file AIFTopologyHelpers.h.
|
inlinestatic |
Generic function to know if an iterator range contains a degenerated face.
first | The iterator pointing on the range beginning. |
last | The iterator pointing on the range end. |
Definition at line 2695 of file AIFTopologyHelpers.h.
|
inlinestatic |
Edge degree
edge | The involving edge |
Definition at line 942 of file AIFTopologyHelpers.h.
|
inlinestatic |
Face degree
face | The involving face |
Definition at line 1501 of file AIFTopologyHelpers.h.
|
inlinestatic |
Vertex degree
vertex | The involving vertex |
Definition at line 148 of file AIFTopologyHelpers.h.
|
inlinestatic |
Return an edge corresponding to h halfedge if such an halfedge exist or returns a null edge.
h | The halfedge for which the corresponding edge is requested |
mesh | The involving mesh |
Definition at line 5998 of file AIFTopologyHelpers.h.
|
inlinestatic |
Mesh edges getter
mesh | The involving mesh |
Definition at line 2261 of file AIFTopologyHelpers.h.
|
inlinestatic |
Mesh edges getter
mesh | The involving mesh |
Definition at line 2283 of file AIFTopologyHelpers.h.
|
inlinestatic |
Mesh edges getter
mesh | The involving mesh |
Definition at line 2272 of file AIFTopologyHelpers.h.
|
inlinestatic |
Function determining if the argument face has only
incident edges with degree equals to 1
face | The involving face |
Definition at line 1606 of file AIFTopologyHelpers.h.
|
inlinestatic |
Function determining if the argument face has adjacent
faces only along one incident edge
face | The involving face |
edge | The involving edge |
Definition at line 1627 of file AIFTopologyHelpers.h.
|
inlinestatic |
Mesh faces getter
mesh | The involving mesh |
Definition at line 2606 of file AIFTopologyHelpers.h.
|
inlinestatic |
Mesh faces getter
mesh | The involving mesh |
Definition at line 2628 of file AIFTopologyHelpers.h.
|
inlinestatic |
Mesh faces getter
mesh | The involving mesh |
Definition at line 2617 of file AIFTopologyHelpers.h.
|
inlinestatic |
Get the edge of the face'incident edges after the
prev_edge
face | The face for which incident edges are retrieved. |
prev_edge | The edge located before the returned edge. |
Definition at line 4366 of file AIFTopologyHelpers.h.
|
inlinestatic |
Get the edge of the face'incident edges before the
next_edge
face | The face for which incident edges are retrieved. |
next_edge | The edge located after the returned edge. |
Definition at line 4399 of file AIFTopologyHelpers.h.
|
inlinestatic |
return the first edge of container_of_edge_one_ring which satisfies the are_adjacent_edges_one_ring_connected(e, container_of_edge_one_ring) predicate.
Definition at line 3617 of file AIFTopologyHelpers.h.
|
inlinestatic |
Function returning the first incident dangling edge
vertex | The involving vertex |
Definition at line 1109 of file AIFTopologyHelpers.h.
|
inlinestatic |
Get incident border edges within a mesh hole.
vertex | The involving vertex |
Definition at line 755 of file AIFTopologyHelpers.h.
|
inlinestatic |
Return a vector of incident edges to vertex except
edge_to_remove
vertex | The involving vertex |
edge_to_remove | The involving edge to remove from incident edges |
Definition at line 805 of file AIFTopologyHelpers.h.
|
inlinestatic |
Return the full one-ring of a vertex, not restricted to adjacent edges. Always ordered in clockwise order when faces are oriented into counter-clockwise.
Definition at line 3644 of file AIFTopologyHelpers.h.
|
inlinestatic |
Return the one-ring of adjacent vertices. Always ordered in clockwise order when faces are oriented into counter-clockwise.
Definition at line 4305 of file AIFTopologyHelpers.h.
|
inlinestatic |
Return the full one-ring of a vertex, not restricted to adjacent vertices. Always ordered in clockwise order when faces are oriented into counter-clockwise.
Definition at line 4035 of file AIFTopologyHelpers.h.
|
inlinestatic |
Return the full one-ring of a vertex, not restricted to edges having their 2 vertices adjacent to v.
Definition at line 3481 of file AIFTopologyHelpers.h.
|
inlinestatic |
Return an halfedge corresponding to e edge if such an halfedge exist or returns a null halfedge.
edge | The edge for which one halfedge is requested |
mesh | The involving mesh |
Definition at line 5974 of file AIFTopologyHelpers.h.
|
inlinestatic |
Return a halfedge incident to face.
face | The face the halfedge must be incident to |
mesh | The involving mesh |
Definition at line 5769 of file AIFTopologyHelpers.h.
|
inlinestatic |
Return an halfedge src-->target if such an halfedge exist or returns a null halfedge.
src | The source vertex of the * halfedge |
target | The target vertex of the halfedge (the halfedge is pointing towards the target vertex) |
mesh | The involving mesh |
Definition at line 5907 of file AIFTopologyHelpers.h.
|
inlinestatic |
Return a halfedge incident to vertex.
v | The vertex the halfedge must be incident to |
mesh | The involving mesh |
Definition at line 5815 of file AIFTopologyHelpers.h.
|
inlinestatic |
Function determining if two incident faces are oriented consistently.
face1 | The first involving face |
face2 | The second involving face |
Definition at line 1972 of file AIFTopologyHelpers.h.
|
inlinestatic |
Incidence relations with edges
face | The involving face |
Definition at line 1854 of file AIFTopologyHelpers.h.
|
inlinestatic |
Incidence relations with edges
vertex | The involving vertex |
Definition at line 399 of file AIFTopologyHelpers.h.
|
inlinestatic |
Incidence relations with faces
edge | The involving edge |
Definition at line 1237 of file AIFTopologyHelpers.h.
|
inlinestatic |
Incidence relations with faces
vertex | The involving vertex |
Definition at line 415 of file AIFTopologyHelpers.h.
|
inlinestatic |
Incidence relations with faces
vertex | The involving vertex |
Definition at line 446 of file AIFTopologyHelpers.h.
|
inlinestatic |
Incidence relations with vertices
edge | The involving edge |
Definition at line 1189 of file AIFTopologyHelpers.h.
|
inlinestatic |
Incidence relations with vertices
face | The involving face |
Definition at line 1839 of file AIFTopologyHelpers.h.
|
inlinestatic |
Function determining if the argument edge is a 2-manifold edge considering only the topology (not the geometry)
edge | The involving edge |
Definition at line 1441 of file AIFTopologyHelpers.h.
|
inlinestatic |
Function determining if the argument face is a 2-manifold face considering only the topology (not the geometry)
face | The involving face |
Definition at line 1561 of file AIFTopologyHelpers.h.
|
inlinestatic |
Function determining if the argument mesh is a 2-manifold considering only the topology (not the geometry).
mesh | The involving mesh |
Definition at line 2297 of file AIFTopologyHelpers.h.
|
inlinestatic |
Function determining if the argument mesh is a 2-manifold considering only the topology (not the geometry).
mesh | The involving mesh |
Definition at line 2331 of file AIFTopologyHelpers.h.
|
inlinestatic |
Function determining if the argument mesh is a 2-manifold considering only the topology (not the geometry).
mesh | The involving mesh |
Definition at line 2317 of file AIFTopologyHelpers.h.
|
inlinestatic |
Function determining if the argument vertex is a 2-manifold vertex considering only the topology (not the geometry)
vertex | The involving vertex |
Definition at line 237 of file AIFTopologyHelpers.h.
|
inlinestatic |
Function determining if the argument edge is a complex edge (singular or non-regular).
edge | The involving edge |
Definition at line 1022 of file AIFTopologyHelpers.h.
|
inlinestatic |
Function determining if the argument vertex is a cut vertex
vertex | The involving vertex |
Definition at line 173 of file AIFTopologyHelpers.h.
|
inlinestatic |
Function determining if the argument edge is a dangling edge
edge | The involving edge |
Definition at line 1009 of file AIFTopologyHelpers.h.
|
inlinestatic |
Function determining if the argument face is dangling
(not isolated and without any adjacent face sharing and edge)
face | The involving face |
Definition at line 1582 of file AIFTopologyHelpers.h.
|
inlinestatic |
Function determining if the argument edge is degenerated
edge | The involving edge |
Definition at line 1034 of file AIFTopologyHelpers.h.
|
inlinestatic |
Function determining if the argument face is degenerated
face | The involving face |
Definition at line 1530 of file AIFTopologyHelpers.h.
|
inlinestatic |
Function determining if the argument vertex is degenerated
vertex | The involving vertex |
Definition at line 127 of file AIFTopologyHelpers.h.
|
inlinestatic |
return true when edge e is an element of container_of_edge_one_ring whose two vertices are incident to only one (resp. possible many) other edge of container_of_edge_one_ring if allow_multiple_incident_edges is false (resp. true).
Definition at line 3547 of file AIFTopologyHelpers.h.
|
inlinestatic |
Function determining if a given edge has incident faces with consistent orientation
edge | The involving edge |
Definition at line 2025 of file AIFTopologyHelpers.h.
|
inlinestatic |
Function determining if the argument vertex has at least
one incident dangling edge
vertex | The involving vertex |
Definition at line 1098 of file AIFTopologyHelpers.h.
|
inlinestatic |
Function determining if the argument vertex is has either a dangling or complex incident edge.
vertex | The involving vertex |
Definition at line 199 of file AIFTopologyHelpers.h.
|
inlinestatic |
Function determining if the argument edge is isolated (without any incident face + its vertices are 1 degree vertices)
edge | The involving edge |
Definition at line 995 of file AIFTopologyHelpers.h.
|
inlinestatic |
Function determining if the argument face is isolated (without any adjacent face + its vertices are degree 2 vertices)
face | The involving face |
Definition at line 1511 of file AIFTopologyHelpers.h.
|
inlinestatic |
Function determining if the argument vertex is isolated (without any incident edge)
vertex | The involving vertex |
Definition at line 159 of file AIFTopologyHelpers.h.
|
inlinestatic |
Function determining if face has no incident complex edge.
face | The involving face |
Definition at line 2057 of file AIFTopologyHelpers.h.
|
inlinestatic |
A 2 manifold vertex one ring
v | The involving vertex |
Definition at line 4334 of file AIFTopologyHelpers.h.
|
inlinestatic |
Function determining if the argument edge is a regular
edge.
edge | The involving edge |
Definition at line 982 of file AIFTopologyHelpers.h.
|
inlinestatic |
Function determining if the argument vertex is a regular surface vertex (border or interior). Isolated vertex is not considered here.
vertex | The involving vertex |
Definition at line 220 of file AIFTopologyHelpers.h.
|
inlinestatic |
Function determining if the argument edge is on a border
edge | The involving edge |
Definition at line 949 of file AIFTopologyHelpers.h.
|
inlinestatic |
Function determining if the argument face is on a border (one of its incident edges is on border)
face | The involving face |
Definition at line 1652 of file AIFTopologyHelpers.h.
|
inlinestatic |
Function determining if the argument face is on a border (one of its incident edges is on border)
face | The involving face |
v | The involving vertex |
border_edge_before_v | the border edge must be before v in face |
Definition at line 1676 of file AIFTopologyHelpers.h.
|
inlinestatic |
Function determining if the argument vertex is on a border (one of its incident edges is on border)
vertex | The involving vertex |
Definition at line 264 of file AIFTopologyHelpers.h.
|
inlinestatic |
Function determining if the argument edge is not on a border
edge | The involving edge |
Definition at line 971 of file AIFTopologyHelpers.h.
|
inlinestatic |
Function determining if the argument face is an interior face (none of its incident edges is on border)
face | The involving face |
Definition at line 1706 of file AIFTopologyHelpers.h.
|
inlinestatic |
Function determining if the argument vertex is not on a border (none of its incident edges is on border)
vertex | The involving vertex |
Definition at line 288 of file AIFTopologyHelpers.h.
|
inlinestatic |
Function determining if the argument edge is a surface regular interior edge.
edge | The involving edge |
Definition at line 960 of file AIFTopologyHelpers.h.
|
inlinestatic |
Edge and face link. An incidence relation is created between the edge and the face by adding the edge in the incident edges in the edgecontainer of the face, and adding the face in the incident faces container of the edge.
edge | The involving edge |
face | The involving face |
Definition at line 1305 of file AIFTopologyHelpers.h.
|
inlinestatic |
Edge and face link. An incidence relation is created between the edge and the face by adding the edge in the incident edges in the edgecontainer of the face, and adding the face in the incident faces container of the edge.
edge | The involving edge |
face | The involving face |
prev_edge | The existing edge around face after which the edge "edge" must be inserted |
Definition at line 1339 of file AIFTopologyHelpers.h.
|
inlinestatic |
Edges and face link. An incidence relation is created between the edges and the face by sequentially adding the edges in the incident edges in the edgecontainer of the face, and adding the face in the incident faces container of the edge.
edge | The involving edges |
face | The involving face |
prev_edge | The existing edge around face after which the sequence of all edges "edges" must be inserted |
Definition at line 1376 of file AIFTopologyHelpers.h.
|
inlinestatic |
Vertex and edge link. An incidence relation is created between the vertex and the edge by adding the vertex at the specified position in the edge, and adding the edge in the incident edges container of the vertex. Update caching information for vertices.
vertex | The involving vertex |
edge | The involving edge |
position | The position of the vertex in the edge (FIRST or SECOND) |
position
in the edge. Thus you HAVE to unlink these two element before, otherwise topological incoherences will be introduce. Definition at line 515 of file AIFTopologyHelpers.h.
|
inlinestatic |
Sorts edges such that the non-border edges precede the border edges.
mesh | The involving mesh |
Definition at line 2516 of file AIFTopologyHelpers.h.
|
inlinestatic |
Sorts edges such that the non-border edges precede the border edges.
mesh | The involving mesh |
Definition at line 2553 of file AIFTopologyHelpers.h.
|
inlinestatic |
Sorts edges such that the non-border edges precede the border edges.
mesh | The involving mesh |
Definition at line 2543 of file AIFTopologyHelpers.h.
|
inlinestatic |
Definition at line 2439 of file AIFTopologyHelpers.h.
|
inlinestatic |
Definition at line 2473 of file AIFTopologyHelpers.h.
|
inlinestatic |
Definition at line 2464 of file AIFTopologyHelpers.h.
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
Returns a null halfedge.
Definition at line 5761 of file AIFTopologyHelpers.h.
|
inlinestatic |
|
inlinestatic |
Edges count getter
mesh | The involving mesh |
Definition at line 2174 of file AIFTopologyHelpers.h.
|
inlinestatic |
Edges count getter
mesh | The involving mesh |
Definition at line 2192 of file AIFTopologyHelpers.h.
|
inlinestatic |
Edges count getter
mesh | The involving mesh |
Definition at line 2183 of file AIFTopologyHelpers.h.
|
inlinestatic |
Faces count getter
mesh | The involving mesh |
Definition at line 2200 of file AIFTopologyHelpers.h.
|
inlinestatic |
Faces count getter
mesh | The involving mesh |
Definition at line 2218 of file AIFTopologyHelpers.h.
|
inlinestatic |
Faces count getter
mesh | The involving mesh |
Definition at line 2209 of file AIFTopologyHelpers.h.
|
inlinestatic |
Function counting the number of incident dangling edges
vertex | The involving vertex |
Definition at line 1079 of file AIFTopologyHelpers.h.
|
inlinestatic |
Vertices count getter
mesh | The involving mesh |
Definition at line 2148 of file AIFTopologyHelpers.h.
|
inlinestatic |
Vertices count getter
mesh | The involving mesh |
Definition at line 2167 of file AIFTopologyHelpers.h.
|
inlinestatic |
Vertices count getter
mesh | The involving mesh |
Definition at line 2157 of file AIFTopologyHelpers.h.
|
inlinestatic |
Opposite vertex in an edge
edge | The involving edge |
vertex | The involving vertex |
edge
if vertex
is the second, otherwise the second vertex. Definition at line 1270 of file AIFTopologyHelpers.h.
|
inlinestatic |
Function to clear edge'face incidency and vertex
incidency if present and then to remove the involved edge from the mesh. Resulting isolated vertices are removed.
edge | The involving edge. |
mesh | The involving mesh. |
Definition at line 3012 of file AIFTopologyHelpers.h.
|
inlinestatic |
Function to clear edge'face incidency and vertex
incidency if present and then to remove the involved edge from the mesh. Resulting isolated vertices are removed.
edge | The involving edge. |
mesh | The involving mesh. |
Definition at line 3054 of file AIFTopologyHelpers.h.
|
inlinestatic |
Function to clear edge'face incidency and vertex
incidency if present and then to remove the involved edge from the mesh. Resulting isolated vertices are removed.
edge | The involving edge. |
mesh | The involving mesh. |
Definition at line 3043 of file AIFTopologyHelpers.h.
|
inlinestatic |
Remove the edge to the face'incident edges if face and
edge were incident. Update caching information for face' incident vertices. Usage precondition: face != null_face() and edge != null_edge()
face | The face for which incident edges are reduced. |
edge | The edge to remove. |
Definition at line 3458 of file AIFTopologyHelpers.h.
|
inlinestatic |
Function to clear edge'face incidency and vertex
incidency if present and then to remove the involved edge from the mesh. Resulting isolated vertices are removed.
v | The first vertex of the involved edge. |
u | The second vertex of the involved edge. |
mesh | The involving mesh. |
Definition at line 3081 of file AIFTopologyHelpers.h.
|
inlinestatic |
Function to clear edge'face incidency and vertex
incidency if present and then to remove the involved edge from the mesh. Resulting isolated vertices are removed.
v | The first vertex of the involved edge. |
u | The second vertex of the involved edge. |
mesh | The involving mesh. |
Definition at line 3109 of file AIFTopologyHelpers.h.
|
inlinestatic |
Function to clear edge'face incidency and vertex
incidency if present and then to remove the involved edge from the mesh. Resulting isolated vertices are removed.
v | The first vertex of the involved edge. |
u | The second vertex of the involved edge. |
mesh | The involving mesh. |
Definition at line 3096 of file AIFTopologyHelpers.h.
|
inlinestatic |
Remove the edge from the vertex'incident edges if vertex
and edge were incident. Update caching information for face' incident vertices. Usage precondition: vertex != null_vertex() and edge != null_edge()
edge | The edge for which incident faces are reduced. |
face | The face to remove. |
Definition at line 3370 of file AIFTopologyHelpers.h.
|
inlinestaticprivate |
Remove the edge to the face'incident edges without any check. Update caching information for face' incident vertices.
face | The face for which incident edges are reduced. |
edge | The edge to remove. |
Definition at line 4665 of file AIFTopologyHelpers.h.
|
inlinestaticprivate |
An incidence relation is removed between the vertex and the edge by removing the edge from the vertex' incident edges. Update caching information for vertex.
vertex | The involving vertex |
edge | The involving edge |
Definition at line 4589 of file AIFTopologyHelpers.h.
|
inlinestatic |
Generic function to remove edges given by an iterator range.
first | The iterator pointing on the range beginning. |
last | The iterator pointing on the range end. |
mesh | The involving mesh. |
Definition at line 3067 of file AIFTopologyHelpers.h.
|
inlinestatic |
Remove the face from the edge'incident faces if edge and
face were incident. Update caching information for face' incident vertices. Usage precondition: edge != null_edge() and face != null_face()
edge | The edge for which incident faces are reduced. |
face | The face to remove. |
Definition at line 3414 of file AIFTopologyHelpers.h.
|
inlinestatic |
Function to clear face'edge incidency and vertex
incidency if present and then to remove the involved face from the mesh. Resulting isolated edges are removed.
face | The involving face. |
mesh | The involving mesh. |
Definition at line 3120 of file AIFTopologyHelpers.h.
|
inlinestatic |
Function to clear face'edge incidency and vertex
incidency if present and then to remove the involved face from the mesh. Resulting isolated edges are removed.
face | The involving face. |
mesh | The involving mesh. |
Definition at line 3180 of file AIFTopologyHelpers.h.
|
inlinestatic |
Function to clear face'edge incidency and vertex
incidency if present and then to remove the involved face from the mesh. Resulting isolated edges are removed.
face | The involving face. |
mesh | The involving mesh. |
Definition at line 3169 of file AIFTopologyHelpers.h.
|
inlinestaticprivate |
Remove the face to the edge'incident faces without any check. Update caching information for edge' incident vertices.
edge | The edge for which incident faces are reduced. |
face | The face to remove. |
Definition at line 4694 of file AIFTopologyHelpers.h.
|
inlinestatic |
Generic function to remove faces given by an iterator range.
first | The iterator pointing on the range beginning. |
last | The iterator pointing on the range end. |
mesh | The involving mesh. |
Definition at line 3193 of file AIFTopologyHelpers.h.
|
inlinestatic |
Remove the vertex from the edge'incident vertices if edge and vertex were incident. Update caching information for vertex. Usage precondition: edge != null_edge() and vertex != null_vertex()
edge | The edge for which incident vertices are reduced. |
vertex | The vertex to remove. |
Definition at line 3321 of file AIFTopologyHelpers.h.
|
inlinestatic |
Function to clear vertex'edge incidency if present and then to remove the involved vertex from the mesh.
vertex | The involving vertex |
mesh | The involving mesh |
Definition at line 2960 of file AIFTopologyHelpers.h.
|
inlinestatic |
Function to clear vertex'edge incidency if present and then to remove the involved vertex from the mesh.
vertex | The involving vertex |
mesh | The involving mesh |
Definition at line 2987 of file AIFTopologyHelpers.h.
|
inlinestatic |
Function to clear vertex'edge incidency if present and then to remove the involved vertex from the mesh.
vertex | The involving vertex |
mesh | The involving mesh |
Definition at line 2977 of file AIFTopologyHelpers.h.
|
inlinestaticprivate |
An incidence relation is removed between the vertex and the edge by removing the vertex at the specified position in the edge. Update caching information for vertex.
edge | The involving edge |
vertex | The involving vertex |
Definition at line 4554 of file AIFTopologyHelpers.h.
|
inlinestatic |
Generic function to remove vertices given by an iterator range.
first | The iterator pointing on the range beginning. |
last | The iterator pointing on the range end. |
mesh | The involving mesh. |
Definition at line 3000 of file AIFTopologyHelpers.h.
|
inlinestatic |
Reverse the incident edge order of the given face.
face | The involved face |
Definition at line 2045 of file AIFTopologyHelpers.h.
|
inlinestatic |
Sets the corresponding face of h to face if h and face
were not incident. For MutableHalfedgeGraph (CGAL). Usage precondition: edge(h, mesh) != null_edge()
h | The halfedge for which the face is to be set. |
face | The face to use. |
mesh | The involving mesh |
Definition at line 6199 of file AIFTopologyHelpers.h.
|
inlinestatic |
Sets the corresponding halfedge of face to h if face and h were not incident. For MutableHalfedgeGraph (CGAL). Usage precondition: face != null_face() and edge(h, mesh) != null_edge()
h | The halfedge for which the face is to be set. |
face | The face to use. |
mesh | The involving mesh |
Definition at line 6233 of file AIFTopologyHelpers.h.
|
inlinestatic |
Set the incoming halfedge of vertex target to h. For MutableHalfedgeGraph (CGAL).
target | The vertex to use to set the incoming halfedge. |
h | The halfedge. |
mesh | The involving mesh |
Definition at line 6041 of file AIFTopologyHelpers.h.
|
inlinestatic |
Sets the successor of h1 around a face to h2, and the prededecessor of h2 to h1. For MutableHalfedgeGraph (CGAL). Usage precondition: h1 != h2 and h1 != opposite(h2, mesh)
h1 | The halfedge for which the next halfedge is to be set. |
h2 | The halfedge for which the previous halfedge is to be set. |
mesh | The involving mesh |
Definition at line 6067 of file AIFTopologyHelpers.h.
|
inlinestatic |
Set the target vertex of an halfedge. For
MutableHalfedgeGraph (CGAL).
h | The halfedge for which the target vertex is to be set. |
target | The vertex to use to set the halfedge target vertex. |
mesh | The involving mesh |
Definition at line 6014 of file AIFTopologyHelpers.h.
|
inlinestatic |
Definition at line 2481 of file AIFTopologyHelpers.h.
|
inlinestatic |
Definition at line 2505 of file AIFTopologyHelpers.h.
|
inlinestatic |
Definition at line 2498 of file AIFTopologyHelpers.h.
|
inlinestaticprivate |
a sorting algorithm different from std::sort (usefull for debug)
Definition at line 4723 of file AIFTopologyHelpers.h.
|
inlinestatic |
Sort mesh edges
mesh | The involving mesh |
cmp | The involving comparator object used for the sorting |
Definition at line 1459 of file AIFTopologyHelpers.h.
|
inlinestatic |
Sort mesh edges
mesh | The involving mesh |
cmp | The involving comparator object used for the sorting |
Definition at line 1490 of file AIFTopologyHelpers.h.
|
inlinestatic |
Sort mesh edges
mesh | The involving mesh |
cmp | The involving comparator object used for the sorting |
Definition at line 1476 of file AIFTopologyHelpers.h.
|
inlinestatic |
Sort incident edges of its two vertices
edge | The involving edge |
cmp | The involving comparator object used for the sorting. Comparator can be based on natural ordering, on a spanning tree, on one-ring vertex order (if incident faces are counterclokwise oriented, then one-ring is clockwise oriented) etc. |
do_full_incident_edge_sorting | A boolean to do a sorting before starting at minimun edge. |
Definition at line 711 of file AIFTopologyHelpers.h.
|
inlinestatic |
Sort incident edges and return incidence relations with
edges
vertex | The involving vertex |
cmp | The involving comparator object used for the sorting. Comparator can be based on natural ordering, on a spanning tree, on one-ring vertex order (if incident faces are counterclokwise oriented, then one-ring is clockwise oriented) etc. |
do_full_incident_edge_sorting | A boolean to do a sorting before starting at minimun edge. |
Definition at line 686 of file AIFTopologyHelpers.h.
|
inlinestatic |
Sort incident edges starting with given incident edge
and return incidence relations with edges
vertex | The involving vertex |
cmp | The involving comparator object used for the sorting. Comparator can be based on natural ordering, on a spanning tree, on one-ring vertex order (if incident faces are counterclokwise oriented, then one-ring is clockwise oriented) etc. |
edge | The involving incident edge to vertex |
do_full_incident_edge_sorting | A boolean to do a sorting before starting at edge edge. Sometimes we do no want to lose the current incident ordering (e.g. clockwise). In this case, we need to specify false. |
Definition at line 630 of file AIFTopologyHelpers.h.
|
inlinestatic |
Sort incident edges of its two vertices' one-ring
edge | The involving edge |
cmp | The involving comparator object used for the sorting. Comparator can be based on natural ordering, on a spanning tree, on one-ring vertex order (if incident faces are counterclokwise oriented, then one-ring is clockwise oriented) etc. |
Definition at line 730 of file AIFTopologyHelpers.h.
|
inlinestatic |
Sort mesh vertices
mesh | The involving mesh |
cmp | The involving comparator object used for the sorting. Comparator can be based on natural ordering, on a spanning tree, etc. |
Definition at line 576 of file AIFTopologyHelpers.h.
|
inlinestatic |
Sort mesh vertices
mesh | The involving mesh |
cmp | The involving comparator object used for the sorting. Comparator can be based on natural ordering, on a spanning tree, etc. |
Definition at line 609 of file AIFTopologyHelpers.h.
|
inlinestatic |
Sort mesh vertices
mesh | The involving mesh |
cmp | The involving comparator object used for the sorting. Comparator can be based on natural ordering, on a spanning tree, etc. |
Definition at line 594 of file AIFTopologyHelpers.h.
|
inlinestatic |
Vertices swap (first become second and second become first)
edge | The involving edge |
Definition at line 1286 of file AIFTopologyHelpers.h.
|
inlinestatic |
Function to unlink the face'incident edges and face.
face | The involving face. |
Definition at line 3239 of file AIFTopologyHelpers.h.
|
inlinestatic |
Function to unlink the vertex'incident edges and vertex.
vertex | The involving vertex. |
Definition at line 3217 of file AIFTopologyHelpers.h.
|
inlinestatic |
Function to unlink the edge'incident faces and edge.
face | The involving face. |
Definition at line 3261 of file AIFTopologyHelpers.h.
|
inlinestatic |
Function to unlink the edge' 2 incident vertices and edge.
edge | The involving edge. |
Definition at line 3204 of file AIFTopologyHelpers.h.
|
inlinestatic |
Edge and face unlink.
edge | The involving edge |
face | The involving face |
Definition at line 1398 of file AIFTopologyHelpers.h.
|
inlinestatic |
Edges and face unlink.
edges | The involving edges |
face | The involving face |
Definition at line 1423 of file AIFTopologyHelpers.h.
|
inlinestatic |
Vertex and edge unlink. An incidence relation is removed between the vertex and the edge by removing the vertex at the specified position in the edge, and removing the edge in the incident edges container of the vertex.
vertex | The involving vertex |
edge | The involving edge |
Definition at line 544 of file AIFTopologyHelpers.h.
|
inlinestaticprivate |
method used by get_ordered_one_ring_vertices to handle isolated one-ring edges.
Definition at line 3957 of file AIFTopologyHelpers.h.
|
inlinestatic |
Function determining the position of a vertex in an edge
edge | The involving edge |
vertex | The involving vertex |
Definition at line 1252 of file AIFTopologyHelpers.h.
|
inlinestatic |
Mesh vertices getter
mesh | The involving mesh |
Definition at line 2227 of file AIFTopologyHelpers.h.
|
inlinestatic |
Mesh vertices getter
mesh | The involving mesh |
Definition at line 2249 of file AIFTopologyHelpers.h.
|
inlinestatic |
Mesh vertices getter
mesh | The involving mesh |
Definition at line 2238 of file AIFTopologyHelpers.h.