Skip to content

Commit 85369c4

Browse files
Merge pull request #134 from Geode-solutions/fix/missing_namespaces_and_disable_edges
fix(Inspectors): Added missing internal namespaces and disable_edges …
2 parents 5382822 + f7cb007 commit 85369c4

18 files changed

+275
-222
lines changed

bindings/python/src/inspector/criterion/degeneration/solid_degeneration.hpp

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,8 +39,10 @@ namespace geode
3939
.def( pybind11::init< const SolidMesh& >() )
4040
.def( "is_mesh_degenerated",
4141
&SolidMeshDegeneration::is_mesh_degenerated )
42-
.def( "degenerated_edges",
43-
&SolidMeshDegeneration::degenerated_edges );
42+
.def(
43+
"degenerated_edges", &SolidMeshDegeneration::degenerated_edges )
44+
.def( "degenerated_polyhedra",
45+
&SolidMeshDegeneration::degenerated_polyhedra );
4446
}
4547
void define_solid_degeneration( pybind11::module& module )
4648
{

bindings/python/src/inspector/criterion/degeneration/surface_degeneration.hpp

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,9 @@ namespace geode
4040
.def( "is_mesh_degenerated",
4141
&SurfaceMeshDegeneration::is_mesh_degenerated )
4242
.def( "degenerated_edges",
43-
&SurfaceMeshDegeneration::degenerated_edges );
43+
&SurfaceMeshDegeneration::degenerated_edges )
44+
.def( "degenerated_polygons",
45+
&SurfaceMeshDegeneration::degenerated_polygons );
4446
}
4547
void define_surface_degeneration( pybind11::module& module )
4648
{

bindings/python/tests/test-py-solid-degeneration.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@ def check_non_degeneration():
5050
if not degeneration_inspector.degenerated_edges().nb_issues() == 0:
5151
raise ValueError(
5252
"[Test] Solid has more degenerated edges than it should.")
53+
del degeneration_inspector
5354

5455
def check_degeneration_by_colocalisation():
5556
solid = geode.TetrahedralSolid3D.create()
@@ -73,6 +74,7 @@ def check_degeneration_by_colocalisation():
7374
raise ValueError("[Test] Solid has wrong number of degenerated edges.")
7475
if not degeneration_inspector.degenerated_edges().issues()[0] == solid.edges().edge_from_vertices([1, 4]):
7576
raise ValueError("[Test] Solid has wrong degenerated edges.")
77+
del degeneration_inspector
7678

7779

7880
def check_degeneration_by_point_multiple_presence():
@@ -97,6 +99,7 @@ def check_degeneration_by_point_multiple_presence():
9799
"[Test] Solid has the wrong number of degenerated edges.")
98100
if not degeneration_inspector.degenerated_edges().issues()[0] == solid.edges().edge_from_vertices([1, 1]):
99101
raise ValueError("[Test] Solid shows the wrong degenerated edges.")
102+
del degeneration_inspector
100103

101104

102105
if __name__ == '__main__':

bindings/python/tests/test-py-surface-degeneration.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,7 @@ def check_non_degeneration2D():
4949
if not degeneration_inspector.degenerated_edges().nb_issues() == 0:
5050
raise ValueError(
5151
"[Test] Surface has more degenerated edges than it should.")
52+
del degeneration_inspector
5253

5354
def check_degeneration_by_colocalisation2D():
5455
surface = geode.TriangulatedSurface2D.create()
@@ -72,6 +73,7 @@ def check_degeneration_by_colocalisation2D():
7273
surface.enable_edges()
7374
if not degeneration_inspector.degenerated_edges().issues()[0] == surface.edges().edge_from_vertices([1, 3]):
7475
raise ValueError("[Test] Surface has wrong degenerated edges.")
76+
del degeneration_inspector
7577

7678

7779
def check_degeneration_by_point_multiple_presence2D():
@@ -95,6 +97,7 @@ def check_degeneration_by_point_multiple_presence2D():
9597
surface.enable_edges()
9698
if not degeneration_inspector.degenerated_edges().issues()[0] == surface.edges().edge_from_vertices([1, 1]):
9799
raise ValueError("[Test] Surface shows the wrong degenerated edges.")
100+
del degeneration_inspector
98101

99102

100103
def check_non_degeneration3D():
@@ -116,6 +119,7 @@ def check_non_degeneration3D():
116119
if not degeneration_inspector.degenerated_edges().nb_issues() == 0:
117120
raise ValueError(
118121
"[Test] (3D) Surface has more degenerated edges than it should.")
122+
del degeneration_inspector
119123

120124
def check_degeneration_by_colocalisation3D():
121125
surface = geode.TriangulatedSurface3D.create()
@@ -140,6 +144,7 @@ def check_degeneration_by_colocalisation3D():
140144
surface.enable_edges()
141145
if not degeneration_inspector.degenerated_edges().issues()[0] == surface.edges().edge_from_vertices([1, 3]):
142146
raise ValueError("[Test] (3D) Surface has wrong degenerated edges.")
147+
del degeneration_inspector
143148

144149

145150
def check_degeneration_by_point_multiple_presence3D():
@@ -164,6 +169,7 @@ def check_degeneration_by_point_multiple_presence3D():
164169
if not degeneration_inspector.degenerated_edges().issues()[0] == surface.edges().edge_from_vertices([1, 1]):
165170
raise ValueError(
166171
"[Test] (3D) Surface shows the wrong degenerated edges.")
172+
del degeneration_inspector
167173

168174

169175
if __name__ == '__main__':

include/geode/inspector/criterion/internal/component_meshes_adjacency.hpp

Lines changed: 23 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -36,25 +36,28 @@ namespace geode
3636

3737
namespace geode
3838
{
39-
/*!
40-
* Class for inspecting the adjacency of edges in the Component Meshes of
41-
* a Model (BRep or Section).
42-
*/
43-
template < typename Model >
44-
class ComponentMeshesAdjacency
39+
namespace internal
4540
{
46-
OPENGEODE_DISABLE_COPY( ComponentMeshesAdjacency );
47-
48-
public:
49-
void add_surfaces_edges_with_wrong_adjacencies(
50-
InspectionIssuesMap< PolygonEdge >& issues_map ) const;
51-
52-
protected:
53-
explicit ComponentMeshesAdjacency( const Model& model );
54-
55-
[[nodiscard]] const Model& model() const;
56-
57-
private:
58-
const Model& model_;
59-
};
41+
/*!
42+
* Class for inspecting the adjacency of edges in the Component Meshes
43+
* of a Model (BRep or Section).
44+
*/
45+
template < typename Model >
46+
class ComponentMeshesAdjacency
47+
{
48+
OPENGEODE_DISABLE_COPY( ComponentMeshesAdjacency );
49+
50+
public:
51+
void add_surfaces_edges_with_wrong_adjacencies(
52+
InspectionIssuesMap< PolygonEdge >& issues_map ) const;
53+
54+
protected:
55+
explicit ComponentMeshesAdjacency( const Model& model );
56+
57+
[[nodiscard]] const Model& model() const;
58+
59+
private:
60+
const Model& model_;
61+
};
62+
} // namespace internal
6063
} // namespace geode

include/geode/inspector/criterion/internal/component_meshes_degeneration.hpp

Lines changed: 21 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -36,28 +36,31 @@ namespace geode
3636

3737
namespace geode
3838
{
39-
/*!
40-
* Class for inspecting the degeneration of elements in the Component Meshes
41-
* of a Model (BRep or Section).
42-
*/
43-
template < typename Model >
44-
class ComponentMeshesDegeneration
39+
namespace internal
4540
{
46-
OPENGEODE_DISABLE_COPY( ComponentMeshesDegeneration );
41+
/*!
42+
* Class for inspecting the degeneration of elements in the Component
43+
* Meshes of a Model (BRep or Section).
44+
*/
45+
template < typename Model >
46+
class ComponentMeshesDegeneration
47+
{
48+
OPENGEODE_DISABLE_COPY( ComponentMeshesDegeneration );
4749

48-
public:
49-
void add_degenerated_edges(
50-
InspectionIssuesMap< index_t >& issues_map ) const;
50+
public:
51+
void add_degenerated_edges(
52+
InspectionIssuesMap< index_t >& issues_map ) const;
5153

52-
void add_degenerated_polygons(
53-
InspectionIssuesMap< index_t >& issues_map ) const;
54+
void add_degenerated_polygons(
55+
InspectionIssuesMap< index_t >& issues_map ) const;
5456

55-
protected:
56-
explicit ComponentMeshesDegeneration( const Model& model );
57+
protected:
58+
explicit ComponentMeshesDegeneration( const Model& model );
5759

58-
[[nodiscard]] const Model& model() const;
60+
[[nodiscard]] const Model& model() const;
5961

60-
private:
61-
const Model& model_;
62-
};
62+
private:
63+
const Model& model_;
64+
};
65+
} // namespace internal
6366
} // namespace geode

include/geode/inspector/criterion/internal/component_meshes_manifold.hpp

Lines changed: 27 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -32,28 +32,32 @@
3232

3333
namespace geode
3434
{
35-
/*!
36-
* Class for inspecting the manifold property in the Component Meshes of
37-
* a Model (BRep or Section).
38-
*/
39-
template < typename Model >
40-
class ComponentMeshesManifold
35+
namespace internal
4136
{
42-
OPENGEODE_DISABLE_COPY( ComponentMeshesManifold );
43-
44-
public:
45-
void add_surfaces_meshes_non_manifold_vertices(
46-
InspectionIssuesMap< index_t >& issues_map ) const;
47-
48-
void add_surfaces_meshes_non_manifold_edges(
49-
InspectionIssuesMap< std::array< index_t, 2 > >& issues_map ) const;
50-
51-
protected:
52-
explicit ComponentMeshesManifold( const Model& model );
53-
54-
[[nodiscard]] const Model& model() const;
55-
56-
private:
57-
const Model& model_;
58-
};
37+
/*!
38+
* Class for inspecting the manifold property in the Component Meshes of
39+
* a Model (BRep or Section).
40+
*/
41+
template < typename Model >
42+
class ComponentMeshesManifold
43+
{
44+
OPENGEODE_DISABLE_COPY( ComponentMeshesManifold );
45+
46+
public:
47+
void add_surfaces_meshes_non_manifold_vertices(
48+
InspectionIssuesMap< index_t >& issues_map ) const;
49+
50+
void add_surfaces_meshes_non_manifold_edges(
51+
InspectionIssuesMap< std::array< index_t, 2 > >& issues_map )
52+
const;
53+
54+
protected:
55+
explicit ComponentMeshesManifold( const Model& model );
56+
57+
[[nodiscard]] const Model& model() const;
58+
59+
private:
60+
const Model& model_;
61+
};
62+
} // namespace internal
5963
} // namespace geode

include/geode/inspector/criterion/internal/degeneration_impl.hpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@ namespace geode
5353

5454
private:
5555
const Mesh& mesh_;
56+
bool enabled_edges_;
5657
};
5758
} // namespace internal
5859
} // namespace geode

src/geode/inspector/criterion/adjacency/brep_meshes_adjacency.cpp

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -71,10 +71,13 @@ namespace geode
7171
}
7272

7373
class BRepComponentMeshesAdjacency::Impl
74-
: public ComponentMeshesAdjacency< BRep >
74+
: public internal::ComponentMeshesAdjacency< BRep >
7575
{
7676
public:
77-
Impl( const BRep& brep ) : ComponentMeshesAdjacency< BRep >( brep ) {}
77+
Impl( const BRep& brep )
78+
: internal::ComponentMeshesAdjacency< BRep >( brep )
79+
{
80+
}
7881

7982
void add_blocks_facets_with_wrong_adjacencies(
8083
InspectionIssuesMap< PolyhedronFacet >&

src/geode/inspector/criterion/adjacency/section_meshes_adjacency.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,11 +33,11 @@
3333
namespace geode
3434
{
3535
class SectionComponentMeshesAdjacency::Impl
36-
: public ComponentMeshesAdjacency< Section >
36+
: public internal::ComponentMeshesAdjacency< Section >
3737
{
3838
public:
3939
Impl( const Section& section )
40-
: ComponentMeshesAdjacency< Section >( section )
40+
: internal::ComponentMeshesAdjacency< Section >( section )
4141
{
4242
}
4343
};

0 commit comments

Comments
 (0)