Skip to content

Commit bde25b6

Browse files
committed
feat(TopologyInspector): Added a verbose mode to output more explanatory messages in the model topology inspection.
1 parent da59fce commit bde25b6

20 files changed

+894
-359
lines changed

include/geode/inspector/topology/brep_topology.h

Lines changed: 36 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -53,55 +53,68 @@ namespace geode
5353

5454
bool brep_meshed_components_are_linked_to_a_unique_vertex() const;
5555

56-
index_t nb_corners_not_linked_to_a_unique_vertex() const;
56+
index_t nb_corners_not_linked_to_a_unique_vertex(
57+
bool verbose = false ) const;
5758

58-
index_t nb_lines_meshed_but_not_linked_to_a_unique_vertex() const;
59+
index_t nb_lines_meshed_but_not_linked_to_a_unique_vertex(
60+
bool verbose = false ) const;
5961

60-
index_t nb_surfaces_meshed_but_not_linked_to_a_unique_vertex() const;
62+
index_t nb_surfaces_meshed_but_not_linked_to_a_unique_vertex(
63+
bool verbose = false ) const;
6164

62-
index_t nb_blocks_meshed_but_not_linked_to_a_unique_vertex() const;
65+
index_t nb_blocks_meshed_but_not_linked_to_a_unique_vertex(
66+
bool verbose = false ) const;
6367

6468
std::vector< index_t >
6569
invalid_components_topology_unique_vertices() const;
6670

67-
std::vector< index_t > multiple_corners_unique_vertices() const;
71+
std::vector< index_t > multiple_corners_unique_vertices(
72+
bool verbose = false ) const;
6873

69-
std::vector< index_t > multiple_internals_corner_vertices() const;
74+
std::vector< index_t > multiple_internals_corner_vertices(
75+
bool verbose = false ) const;
7076

71-
std::vector< index_t >
72-
not_internal_nor_boundary_corner_vertices() const;
77+
std::vector< index_t > not_internal_nor_boundary_corner_vertices(
78+
bool verbose = false ) const;
7379

7480
std::vector< index_t >
75-
internal_with_multiple_incidences_corner_vertices() const;
81+
internal_with_multiple_incidences_corner_vertices(
82+
bool verbose = false ) const;
7683

77-
std::vector< index_t > line_corners_without_boundary_status() const;
84+
std::vector< index_t > line_corners_without_boundary_status(
85+
bool verbose = false ) const;
7886

7987
std::vector< index_t >
80-
part_of_not_boundary_nor_internal_line_unique_vertices() const;
88+
part_of_not_boundary_nor_internal_line_unique_vertices(
89+
bool verbose = false ) const;
8190

8291
std::vector< index_t >
83-
part_of_line_with_invalid_internal_topology_unique_vertices() const;
92+
part_of_line_with_invalid_internal_topology_unique_vertices(
93+
bool verbose = false ) const;
8494

85-
std::vector< index_t >
86-
part_of_invalid_unique_line_unique_vertices() const;
95+
std::vector< index_t > part_of_invalid_unique_line_unique_vertices(
96+
bool verbose = false ) const;
8797

88-
std::vector< index_t >
89-
part_of_lines_but_not_corner_unique_vertices() const;
98+
std::vector< index_t > part_of_lines_but_not_corner_unique_vertices(
99+
bool verbose = false ) const;
90100

91101
std::vector< index_t >
92-
part_of_not_boundary_nor_internal_surface_unique_vertices() const;
102+
part_of_not_boundary_nor_internal_surface_unique_vertices(
103+
bool verbose = false ) const;
93104

94105
std::vector< index_t >
95-
part_of_surface_with_invalid_internal_topology_unique_vertices()
96-
const;
106+
part_of_surface_with_invalid_internal_topology_unique_vertices(
107+
bool verbose = false ) const;
97108

98-
std::vector< index_t >
99-
part_of_invalid_unique_surface_unique_vertices() const;
109+
std::vector< index_t > part_of_invalid_unique_surface_unique_vertices(
110+
bool verbose = false ) const;
100111

101112
std::vector< index_t >
102-
part_of_invalid_multiple_surfaces_unique_vertices() const;
113+
part_of_invalid_multiple_surfaces_unique_vertices(
114+
bool verbose = false ) const;
103115

104-
std::vector< index_t > part_of_invalid_blocks_unique_vertices() const;
116+
std::vector< index_t > part_of_invalid_blocks_unique_vertices(
117+
bool verbose = false ) const;
105118

106119
private:
107120
IMPLEMENTATION_MEMBER( impl_ );

include/geode/inspector/topology/private/brep_blocks_topology_impl.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ namespace geode
5252
* either a corner, or not a corner but part of only one line).
5353
*/
5454
bool brep_vertex_blocks_topology_is_valid(
55-
index_t unique_vertex_index ) const;
55+
index_t unique_vertex_index, bool verbose = false ) const;
5656

5757
private:
5858
const BRep& brep_;

include/geode/inspector/topology/private/brep_corners_topology_impl.h

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -51,19 +51,19 @@ namespace geode
5151
index_t unique_vertex_index ) const;
5252

5353
bool unique_vertex_has_multiple_corners(
54-
index_t unique_vertex_index ) const;
54+
index_t unique_vertex_index, bool verbose = false ) const;
5555

5656
bool corner_has_multiple_embeddings(
57-
index_t unique_vertex_index ) const;
57+
index_t unique_vertex_index, bool verbose = false ) const;
5858

5959
bool corner_is_not_internal_nor_boundary(
60-
index_t unique_vertex_index ) const;
60+
index_t unique_vertex_index, bool verbose = false ) const;
6161

6262
bool corner_is_internal_with_multiple_incidences(
63-
index_t unique_vertex_index ) const;
63+
index_t unique_vertex_index, bool verbose = false ) const;
6464

6565
bool corner_is_part_of_line_but_not_boundary(
66-
index_t unique_vertex_index ) const;
66+
index_t unique_vertex_index, bool verbose = false ) const;
6767

6868
private:
6969
const BRep& brep_;

include/geode/inspector/topology/private/brep_lines_topology_impl.h

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -57,16 +57,16 @@ namespace geode
5757
index_t unique_vertex_index ) const;
5858

5959
bool vertex_is_part_of_not_boundary_nor_internal_line(
60-
const index_t unique_vertex_index ) const;
60+
const index_t unique_vertex_index, bool verbose = false ) const;
6161

6262
bool vertex_is_part_of_line_with_invalid_internal_topology(
63-
const index_t unique_vertex_index ) const;
63+
const index_t unique_vertex_index, bool verbose = false ) const;
6464

6565
bool vertex_is_part_of_invalid_unique_line(
66-
index_t unique_vertex_index ) const;
66+
index_t unique_vertex_index, bool verbose = false ) const;
6767

6868
bool vertex_has_lines_but_is_not_corner(
69-
index_t unique_vertex_index ) const;
69+
index_t unique_vertex_index, bool verbose = false ) const;
7070

7171
private:
7272
const BRep& brep_;

include/geode/inspector/topology/private/brep_surfaces_topology_impl.h

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -63,16 +63,16 @@ namespace geode
6363
index_t unique_vertex_index ) const;
6464

6565
bool vertex_is_part_of_not_boundary_nor_internal_surface(
66-
const index_t unique_vertex_index ) const;
66+
const index_t unique_vertex_index, bool verbose = false ) const;
6767

6868
bool vertex_is_part_of_surface_with_invalid_internal_topology(
69-
const index_t unique_vertex_index ) const;
69+
const index_t unique_vertex_index, bool verbose = false ) const;
7070

7171
bool vertex_is_part_of_invalid_unique_surface(
72-
index_t unique_vertex_index ) const;
72+
index_t unique_vertex_index, bool verbose = false ) const;
7373

7474
bool vertex_is_part_of_invalid_multiple_surfaces(
75-
index_t unique_vertex_index ) const;
75+
index_t unique_vertex_index, bool verbose = false ) const;
7676

7777
private:
7878
const BRep& brep_;

include/geode/inspector/topology/private/section_corners_topology_impl.h

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -51,19 +51,19 @@ namespace geode
5151
index_t unique_vertex_index ) const;
5252

5353
bool unique_vertex_has_multiple_corners(
54-
index_t unique_vertex_index ) const;
54+
index_t unique_vertex_index, bool verbose = false ) const;
5555

5656
bool corner_has_multiple_embeddings(
57-
index_t unique_vertex_index ) const;
57+
index_t unique_vertex_index, bool verbose = false ) const;
5858

5959
bool corner_is_not_internal_nor_boundary(
60-
index_t unique_vertex_index ) const;
60+
index_t unique_vertex_index, bool verbose = false ) const;
6161

6262
bool corner_is_internal_with_multiple_incidences(
63-
index_t unique_vertex_index ) const;
63+
index_t unique_vertex_index, bool verbose = false ) const;
6464

6565
bool corner_is_part_of_line_but_not_boundary(
66-
index_t unique_vertex_index ) const;
66+
index_t unique_vertex_index, bool verbose = false ) const;
6767

6868
private:
6969
const Section& section_;

include/geode/inspector/topology/private/section_lines_topology_impl.h

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -59,16 +59,16 @@ namespace geode
5959
index_t unique_vertex_index ) const;
6060

6161
bool vertex_is_part_of_not_boundary_nor_internal_line(
62-
const index_t unique_vertex_index ) const;
62+
const index_t unique_vertex_index, bool verbose = false ) const;
6363

6464
bool vertex_is_part_of_line_with_invalid_internal_topology(
65-
const index_t unique_vertex_index ) const;
65+
const index_t unique_vertex_index, bool verbose = false ) const;
6666

6767
bool vertex_is_part_of_invalid_unique_line(
68-
index_t unique_vertex_index ) const;
68+
index_t unique_vertex_index, bool verbose = false ) const;
6969

7070
bool vertex_has_lines_but_is_not_corner(
71-
index_t unique_vertex_index ) const;
71+
index_t unique_vertex_index, bool verbose = false ) const;
7272

7373
private:
7474
const Section& section_;

include/geode/inspector/topology/private/section_surfaces_topology_impl.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ namespace geode
5050
* one line which is boundary of the two blocks.
5151
*/
5252
bool section_vertex_surfaces_topology_is_valid(
53-
index_t unique_vertex_index ) const;
53+
index_t unique_vertex_index, bool verbose = false ) const;
5454

5555
private:
5656
const Section& section_;

include/geode/inspector/topology/section_topology.h

Lines changed: 26 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -53,40 +53,50 @@ namespace geode
5353

5454
bool section_meshed_components_are_linked_to_a_unique_vertex() const;
5555

56-
index_t nb_corners_not_linked_to_a_unique_vertex() const;
56+
index_t nb_corners_not_linked_to_a_unique_vertex(
57+
bool verbose = false ) const;
5758

58-
index_t nb_lines_meshed_but_not_linked_to_a_unique_vertex() const;
59+
index_t nb_lines_meshed_but_not_linked_to_a_unique_vertex(
60+
bool verbose = false ) const;
5961

60-
index_t nb_surfaces_meshed_but_not_linked_to_a_unique_vertex() const;
62+
index_t nb_surfaces_meshed_but_not_linked_to_a_unique_vertex(
63+
bool verbose = false ) const;
6164

6265
std::vector< index_t >
6366
invalid_components_topology_unique_vertices() const;
6467

65-
std::vector< index_t > multiple_corners_unique_vertices() const;
68+
std::vector< index_t > multiple_corners_unique_vertices(
69+
bool verbose = false ) const;
6670

67-
std::vector< index_t > multiple_internals_corner_vertices() const;
71+
std::vector< index_t > multiple_internals_corner_vertices(
72+
bool verbose = false ) const;
6873

69-
std::vector< index_t >
70-
not_internal_nor_boundary_corner_vertices() const;
74+
std::vector< index_t > not_internal_nor_boundary_corner_vertices(
75+
bool verbose = false ) const;
7176

7277
std::vector< index_t >
73-
internal_with_multiple_incidences_corner_vertices() const;
78+
internal_with_multiple_incidences_corner_vertices(
79+
bool verbose = false ) const;
7480

75-
std::vector< index_t > line_corners_without_boundary_status() const;
81+
std::vector< index_t > line_corners_without_boundary_status(
82+
bool verbose = false ) const;
7683

7784
std::vector< index_t >
78-
part_of_not_boundary_nor_internal_line_unique_vertices() const;
85+
part_of_not_boundary_nor_internal_line_unique_vertices(
86+
bool verbose = false ) const;
7987

8088
std::vector< index_t >
81-
part_of_line_with_invalid_internal_topology_unique_vertices() const;
89+
part_of_line_with_invalid_internal_topology_unique_vertices(
90+
bool verbose = false ) const;
8291

83-
std::vector< index_t >
84-
part_of_invalid_unique_line_unique_vertices() const;
92+
std::vector< index_t > part_of_invalid_unique_line_unique_vertices(
93+
bool verbose = false ) const;
8594

86-
std::vector< index_t >
87-
part_of_lines_but_not_corner_unique_vertices() const;
95+
std::vector< index_t > part_of_lines_but_not_corner_unique_vertices(
96+
bool verbose = false ) const;
8897

89-
std::vector< index_t > part_of_invalid_surfaces_unique_vertices() const;
98+
std::vector< index_t > part_of_invalid_surfaces_unique_vertices(
99+
bool verbose = false ) const;
90100

91101
private:
92102
IMPLEMENTATION_MEMBER( impl_ );

0 commit comments

Comments
 (0)