Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
CGoGN
CGoGN
Commits
a99355d0
Commit
a99355d0
authored
Nov 04, 2011
by
Pierre Kraemer
Browse files
correction mergeFaceWithBoundary
parent
f74cc581
Changes
8
Hide whitespace changes
Inline
Side-by-side
include/Topology/generic/genericmap.h
View file @
a99355d0
...
...
@@ -404,7 +404,6 @@ public:
*/
void
viewAttributesTables
();
protected:
/// boundary marker
Mark
m_boundaryMarker
;
...
...
@@ -438,7 +437,6 @@ protected:
* clear all boundary markers
*/
void
boundaryUnmarkAll
();
}
;
...
...
include/Topology/generic/traversorCell.h
View file @
a99355d0
...
...
@@ -26,6 +26,7 @@
#define __TRAVERSOR_CELL_H__
#include
"Topology/generic/dart.h"
#include
"Topology/generic/dartmarker.h"
namespace
CGoGN
{
...
...
include/Topology/map/map1.h
View file @
a99355d0
...
...
@@ -36,10 +36,9 @@ namespace CGoGN
* - A dual 1-map is made of darts linked by the phi1 permutation.
* - In this class darts are interpreted as oriented edges.
* - The phi1 relation defines cycles of darts or (oriented) faces.
* - Faces may have arbitrary size.
* - Faces with only one edge (sometime called loops) are accepted.
* - Degenerated faces with only two edges are accepted.
* @param DART the type of dart used in the class
* - Faces may have arbitrary size.
* - Faces with only one edge (sometime called loops) are accepted.
* - Degenerated faces with only two edges are accepted.
*/
class
Map1
:
public
AttribMap
{
...
...
include/Topology/map/map2.h
View file @
a99355d0
...
...
@@ -98,7 +98,7 @@ protected:
//! merge a face that has been tag as boundary with existing boundary if needed
/* @param d a dart of the face
*/
void
mergeFace
w
ithBoundary
(
Dart
d
);
void
mergeFace
W
ithBoundary
(
Dart
d
);
/**
* merge two faces of boundary
...
...
@@ -114,7 +114,7 @@ protected:
/*! The phi2-links around the face are removed
* @param d a dart of the face
*/
void
deleteOrientedFace
(
Dart
d
)
;
// OK boundary
void
deleteOrientedFace
(
Dart
d
)
;
public:
...
...
include/Topology/map/map2.hpp
View file @
a99355d0
...
...
@@ -143,7 +143,6 @@ inline Dart Map2::alpha_1(Dart d)
// return e;
//}
inline
void
Map2
::
phi2sew
(
Dart
d
,
Dart
e
)
{
assert
((
*
m_phi2
)[
d
.
index
]
==
d
)
;
...
...
src/Topology/generic/genericmap.cpp
View file @
a99355d0
...
...
@@ -646,8 +646,6 @@ void GenericMap::viewAttributesTables()
}
void
GenericMap
::
boundaryMark
(
Dart
d
)
{
m_markTables
[
DART
][
0
]
->
operator
[](
d
.
index
).
setMark
(
m_boundaryMarker
);
...
...
src/Topology/map/map1.cpp
View file @
a99355d0
...
...
@@ -50,7 +50,6 @@ Dart Map1::newBoundaryFace(unsigned nbEdges)
return
d
;
}
void
Map1
::
deleteOrientedFace
(
Dart
d
)
{
Dart
e
=
phi1
(
d
)
;
...
...
src/Topology/map/map2.cpp
View file @
a99355d0
...
...
@@ -61,29 +61,31 @@ void Map2::mergeBoundaryFaces(Dart dd, Dart ee)
// } while (e != d) ;
//}
void
Map2
::
mergeFace
w
ithBoundary
(
Dart
d
)
void
Map2
::
mergeFace
W
ithBoundary
(
Dart
d
)
{
std
::
vector
<
Dart
>
storeForLinkVertex
;
std
::
vector
<
Dart
>
storeForLinkFace
;
Dart
e
=
d
;
do
// foreach vertex/edge of face
Dart
it
=
d
;
do
// foreach vertex/edge of face
{
Dart
f
=
findBoundaryVertex
(
alpha1
(
e
));
// check if connexion by vertex
if
(
f
!=
e
)
Dart
e
=
phi2
(
it
)
;
if
(
isBoundaryMarked
(
e
))
// check if connection by edge
{
storeForLink
Vertex
.
push_back
(
phi_1
(
e
)
);
storeForLink
Vertex
.
push_back
(
phi_1
(
f
)
);
storeForLink
Face
.
push_back
(
it
);
storeForLink
Face
.
push_back
(
e
);
}
Dart
g
=
phi2
(
f
);
if
(
isBoundaryMarked
(
g
))
// check if connexion by a face
else
{
storeForLinkFace
.
push_back
(
f
);
storeForLinkFace
.
push_back
(
g
);
Dart
f
=
findBoundaryVertex
(
alpha1
(
it
));
// check if connection by vertex
if
(
f
!=
it
)
{
storeForLinkVertex
.
push_back
(
phi_1
(
it
));
storeForLinkVertex
.
push_back
(
phi_1
(
f
));
}
}
e
=
phi1
(
e
)
;
}
while
(
e
!=
d
)
;
it
=
phi1
(
it
)
;
}
while
(
it
!=
d
)
;
// merge by vertices
while
(
!
storeForLinkVertex
.
empty
())
...
...
@@ -108,9 +110,8 @@ void Map2::mergeFacewithBoundary(Dart d)
void
Map2
::
deleteOrientedFace
(
Dart
d
)
{
// tag face in boundary
boundaryMarkOrbit
(
FACE
,
d
);
mergeFacewithBoundary
(
d
);
boundaryMarkOrbit
(
FACE
,
d
);
mergeFaceWithBoundary
(
d
);
}
void
Map2
::
sewOrientedFaces
(
Dart
d
,
Dart
e
)
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new 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