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
OpenMesh
OpenMesh
Commits
3e0849fb
Commit
3e0849fb
authored
Jun 19, 2018
by
Jan Möbius
Browse files
Addd SmartTagger Unittest for faces
parent
6ff2ae37
Changes
1
Hide whitespace changes
Inline
Side-by-side
src/Unittests/unittests_smarttagger.cc
View file @
3e0849fb
...
...
@@ -31,7 +31,7 @@ class OpenMeshSmartTagger : public OpenMeshBase {
* ====================================================================
*/
/* Checks
vertices, if they are boundary
vertices
/* Checks
SmartTagger on
vertices
*/
TEST_F
(
OpenMeshSmartTagger
,
SmartTaggerVertices
)
{
...
...
@@ -140,4 +140,113 @@ TEST_F(OpenMeshSmartTagger, SmartTaggerVertices) {
}
/* Checks SmartTagger on vertices
*/
TEST_F
(
OpenMeshSmartTagger
,
SmartTaggerFaces
)
{
mesh_
.
clear
();
// Add some vertices
Mesh
::
VertexHandle
vhandle
[
7
];
vhandle
[
0
]
=
mesh_
.
add_vertex
(
Mesh
::
Point
(
0
,
1
,
0
));
vhandle
[
1
]
=
mesh_
.
add_vertex
(
Mesh
::
Point
(
1
,
0
,
0
));
vhandle
[
2
]
=
mesh_
.
add_vertex
(
Mesh
::
Point
(
2
,
1
,
0
));
vhandle
[
3
]
=
mesh_
.
add_vertex
(
Mesh
::
Point
(
0
,
-
1
,
0
));
vhandle
[
4
]
=
mesh_
.
add_vertex
(
Mesh
::
Point
(
2
,
-
1
,
0
));
vhandle
[
5
]
=
mesh_
.
add_vertex
(
Mesh
::
Point
(
3
,
0
,
0
));
// Add two faces
std
::
vector
<
Mesh
::
VertexHandle
>
face_vhandles
;
face_vhandles
.
push_back
(
vhandle
[
0
]);
face_vhandles
.
push_back
(
vhandle
[
1
]);
face_vhandles
.
push_back
(
vhandle
[
2
]);
Mesh
::
FaceHandle
fh1
=
mesh_
.
add_face
(
face_vhandles
);
face_vhandles
.
clear
();
face_vhandles
.
push_back
(
vhandle
[
1
]);
face_vhandles
.
push_back
(
vhandle
[
3
]);
face_vhandles
.
push_back
(
vhandle
[
4
]);
Mesh
::
FaceHandle
fh2
=
mesh_
.
add_face
(
face_vhandles
);
face_vhandles
.
clear
();
face_vhandles
.
push_back
(
vhandle
[
0
]);
face_vhandles
.
push_back
(
vhandle
[
3
]);
face_vhandles
.
push_back
(
vhandle
[
1
]);
Mesh
::
FaceHandle
fh3
=
mesh_
.
add_face
(
face_vhandles
);
face_vhandles
.
clear
();
face_vhandles
.
push_back
(
vhandle
[
2
]);
face_vhandles
.
push_back
(
vhandle
[
1
]);
face_vhandles
.
push_back
(
vhandle
[
4
]);
Mesh
::
FaceHandle
fh4
=
mesh_
.
add_face
(
face_vhandles
);
face_vhandles
.
clear
();
face_vhandles
.
push_back
(
vhandle
[
5
]);
face_vhandles
.
push_back
(
vhandle
[
2
]);
face_vhandles
.
push_back
(
vhandle
[
4
]);
Mesh
::
FaceHandle
fh5
=
mesh_
.
add_face
(
face_vhandles
);
/* Test setup:
0 ==== 2
|\ /|\
| \ / | \
| 1 | 5
| / \ | /
|/ \|/
3 ==== 4
*/
OpenMesh
::
SmartTaggerFT
<
Mesh
>
tagger
(
mesh_
);
EXPECT_FALSE
(
tagger
.
is_tagged
(
fh1
)
)
<<
"Face should be untagged after init!"
;
EXPECT_FALSE
(
tagger
.
is_tagged
(
fh2
)
)
<<
"Face should be untagged after init!"
;
EXPECT_FALSE
(
tagger
.
is_tagged
(
fh3
)
)
<<
"Face should be untagged after init!"
;
EXPECT_FALSE
(
tagger
.
is_tagged
(
fh4
)
)
<<
"Face should be untagged after init!"
;
EXPECT_FALSE
(
tagger
.
is_tagged
(
fh5
)
)
<<
"Face should be untagged after init!"
;
// Reset tagged flag on all vertices
tagger
.
untag_all
();
EXPECT_FALSE
(
tagger
.
is_tagged
(
fh1
)
)
<<
"Face should be untagged after first untag_all!"
;
EXPECT_FALSE
(
tagger
.
is_tagged
(
fh2
)
)
<<
"Face should be untagged after first untag_all!"
;
EXPECT_FALSE
(
tagger
.
is_tagged
(
fh3
)
)
<<
"Face should be untagged after first untag_all!"
;
EXPECT_FALSE
(
tagger
.
is_tagged
(
fh4
)
)
<<
"Face should be untagged after first untag_all!"
;
EXPECT_FALSE
(
tagger
.
is_tagged
(
fh5
)
)
<<
"Face should be untagged after first untag_all!"
;
// Set tagged:
tagger
.
set_tag
(
fh3
);
tagger
.
set_tag
(
fh5
);
EXPECT_FALSE
(
tagger
.
is_tagged
(
fh1
)
)
<<
"Face should be untagged!"
;
EXPECT_FALSE
(
tagger
.
is_tagged
(
fh2
)
)
<<
"Face should be untagged!"
;
EXPECT_TRUE
(
tagger
.
is_tagged
(
fh3
)
)
<<
"Face should be tagged!"
;
EXPECT_FALSE
(
tagger
.
is_tagged
(
fh4
)
)
<<
"Face should be tagged!"
;
EXPECT_TRUE
(
tagger
.
is_tagged
(
fh5
)
)
<<
"Face should be tagged!"
;
// Reset tagged flag on all vertices
tagger
.
untag_all
();
EXPECT_FALSE
(
tagger
.
is_tagged
(
fh1
)
)
<<
"Face should be untagged after second untag_all!"
;
EXPECT_FALSE
(
tagger
.
is_tagged
(
fh2
)
)
<<
"Face should be untagged after second untag_all!"
;
EXPECT_FALSE
(
tagger
.
is_tagged
(
fh3
)
)
<<
"Face should be untagged after second untag_all!"
;
EXPECT_FALSE
(
tagger
.
is_tagged
(
fh4
)
)
<<
"Face should be untagged after second untag_all!"
;
EXPECT_FALSE
(
tagger
.
is_tagged
(
fh5
)
)
<<
"Face should be untagged after second untag_all!"
;
}
}
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