Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
What's new
7
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Open sidebar
Hurstel
CGoGN
Commits
d90fc974
Commit
d90fc974
authored
Oct 26, 2011
by
Sylvain Thery
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
first commit in no_boundary
parent
7a9e7683
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
38 additions
and
19 deletions
+38
-19
include/Topology/map/map2.h
include/Topology/map/map2.h
+38
-19
No files found.
include/Topology/map/map2.h
View file @
d90fc974
...
...
@@ -104,7 +104,8 @@ protected:
/*! The phi2-links around the face are removed
* @param d a dart of the face
*/
void
deleteOrientedFace
(
Dart
d
)
;
void
deleteOrientedFace
(
Dart
d
)
;
//TODO remove ?
public:
virtual
void
deleteFace
(
Dart
d
)
;
...
...
@@ -120,31 +121,36 @@ public:
* @param d first dart in vertex v
* @param e second dart in vertex v
*/
virtual
void
splitVertex
(
Dart
d
,
Dart
e
);
virtual
void
splitVertex
(
Dart
d
,
Dart
e
);
//TODO modification for new boundary managing method
//! Delete the vertex of d (works only for internal vertices)
/*! All the faces around the vertex are merged into one face
* @param d a dart of the vertex to delete
* @return true if the deletion has been executed, false otherwise
*/
virtual
bool
deleteVertex
(
Dart
d
)
;
virtual
bool
deleteVertex
(
Dart
d
)
;
//TODO modification for new boundary managing method
//! Link two vertices belonging to distinct faces (add an edge between the two vertices)
/*! \pre Dart d and e MUST be different and belong to distinct face
* @param d first dart in the face
* @param e second dart in the face
*/
virtual
void
linkVertices
(
Dart
d
,
Dart
e
);
virtual
void
linkVertices
(
Dart
d
,
Dart
e
);
//TODO removing ??
//! Cut the edge of d and its opposite edge if it exists
/*! @param d a dart of the edge to cut
*/
virtual
void
cutEdge
(
Dart
d
);
virtual
void
cutEdge
(
Dart
d
);
//TODO modification for new boundary managing method
//! Undo the cut of the edge of d and its opposite edge if it exists
/*! @param d a dart of the edge to uncut
*/
virtual
void
uncutEdge
(
Dart
d
);
virtual
void
uncutEdge
(
Dart
d
);
//TODO modification for new boundary managing method
//! Collapse an edge (that is deleted) possibly merging its vertices
/*! If delDegenerateFaces is true, the method checks that no degenerate
...
...
@@ -156,7 +162,8 @@ public:
* @param delDegenerateFaces a boolean (default to true)
* @return a dart of the resulting vertex
*/
virtual
Dart
collapseEdge
(
Dart
d
,
bool
delDegenerateFaces
=
true
);
virtual
Dart
collapseEdge
(
Dart
d
,
bool
delDegenerateFaces
=
true
);
//TODO modification for new boundary managing method
/**
* Flip the edge of d (rotation in phi1 order)
...
...
@@ -180,25 +187,29 @@ public:
* @param d dart of the vertex
* @param e dart of the edge
*/
virtual
void
insertEdgeInVertex
(
Dart
d
,
Dart
e
);
virtual
void
insertEdgeInVertex
(
Dart
d
,
Dart
e
);
//TODO modification for new boundary managing method
//! Remove an edge from a vertex orbit
/*! \pre Dart d must be phi2 sewn
* @param d the dart of the edge to remove from the vertex
*/
virtual
void
removeEdgeFromVertex
(
Dart
d
);
virtual
void
removeEdgeFromVertex
(
Dart
d
);
//TODO modification for new boundary managing method
//! Sew two oriented faces along oriented edges
/*! \pre Darts d & e MUST be fixed point of phi2 relation
* @param d a dart of the first face
* @param e a dart of the second face
*/
virtual
void
sewFaces
(
Dart
d
,
Dart
e
);
virtual
void
sewFaces
(
Dart
d
,
Dart
e
);
//TODO modification for new boundary managing method
//! Unsew two oriented faces along oriented edges
/*! @param d a dart of one face
*/
virtual
void
unsewFaces
(
Dart
d
);
virtual
void
unsewFaces
(
Dart
d
);
//TODO modification for new boundary managing method
//! Delete an oriented face if and only if it has one or two edges
/*! If the face is phi2-linked to two distinct adjacent faces,
...
...
@@ -206,7 +217,8 @@ public:
* @param d a dart of the face
* @return true if the collapse has been executed, false otherwise
*/
virtual
bool
collapseDegeneratedFace
(
Dart
d
);
virtual
bool
collapseDegeneratedFace
(
Dart
d
);
//TODO modification for new boundary managing method
//! Split a face f between d and e inserting an edge between vertices d & e
/*! \pre Darts d & e MUST belong to the same face
...
...
@@ -227,28 +239,32 @@ public:
* Extract a pair of sewed triangles and sew their adjacent faces
* d is a dart of the common edge of the pair of triangles
*/
void
extractTrianglePair
(
Dart
d
)
;
void
extractTrianglePair
(
Dart
d
)
;
//TODO modification for new boundary managing method
/**
* Insert a pair of sewed triangles in a vertex by exploding the edges of v1 and v2
* v1 and v2 belong to the same vertex
* d is a dart of the common edge of the pair of triangles
*/
void
insertTrianglePair
(
Dart
d
,
Dart
v1
,
Dart
v2
)
;
void
insertTrianglePair
(
Dart
d
,
Dart
v1
,
Dart
v2
)
;
//TODO modification for new boundary managing method
/**
* Unsew opposite edges from the faces around a vertex
* \warning Darts may have
* @param d a dart from the vertex
*/
void
unsewAroundVertex
(
Dart
d
)
;
void
unsewAroundVertex
(
Dart
d
)
;
//TODO modification for new boundary managing method ???
/**
* Unsex the Umbrella aroud a vertex, close the hole and then
* create a symetric to construct a polyedron
* @param d a dart from the vertex
*/
void
explodPolyhedron
(
Dart
d
);
void
explodPolyhedron
(
Dart
d
);
//TODO modification for new boundary managing method ???
//! Merge two volumes along two faces.
/*! Works only if the two faces have the same number of edges.
...
...
@@ -260,7 +276,8 @@ public:
* @param e a dart of the second face
* @return true if the merge has been executed, false otherwise
*/
virtual
bool
mergeVolumes
(
Dart
d
,
Dart
e
);
virtual
bool
mergeVolumes
(
Dart
d
,
Dart
e
);
//TODO modification for new boundary managing method
//! Close a topological hole (a sequence of connected fixed point of phi2).
/*! \pre dart d MUST be fixed point of phi2 relation
...
...
@@ -269,7 +286,8 @@ public:
* @param d a dart of the hole (with phi2(d)==d)
* @return the degree of the created face
*/
virtual
unsigned
int
closeHole
(
Dart
d
);
virtual
unsigned
int
closeHole
(
Dart
d
);
//TODO modification for new boundary managing method
//TODO a mettre en algo
//! Close the map removing topological holes.
...
...
@@ -278,7 +296,8 @@ public:
* \warning The embeddings of vertices are not updated
* @param marker
*/
void
closeMap
(
DartMarker
&
marker
);
void
closeMap
(
DartMarker
&
marker
);
//TODO modification for new boundary managing method
//@}
/*! @name Topological Queries
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment