@@ -68,15 +68,44 @@ namespace geode
6868            return  component_uuids;
6969        }
7070
71+         template  < typename  Model, typename  Mesh >
72+         bool  model_component_vertices_are_associated_to_unique_vertices (
73+             const  Model& model,
74+             const  ComponentID& component_id,
75+             const  Mesh& component_mesh )
76+         {
77+             for ( const  auto  component_vertex :
78+                 Range{ component_mesh.nb_vertices () } )
79+             {
80+                 if ( model.unique_vertex ( { component_id, component_vertex } )
81+                     == NO_ID )
82+                 {
83+                     return  false ;
84+                 }
85+             }
86+             return  true ;
87+         }
88+ 
89+         template  < typename  Model, typename  Mesh >
7190        [[nodiscard]] InspectionIssues< index_t  >
72-             brep_component_vertices_not_associated_to_unique_vertices (
73-                 const  BRep& brep,
74-                 const  ComponentID& component_id,
75-                 const  VertexSet& component_mesh );
76-         [[nodiscard]] InspectionIssues< index_t  >
77-             section_component_vertices_are_associated_to_unique_vertices (
78-                 const  Section& section,
91+             model_component_vertices_not_associated_to_unique_vertices (
92+                 const  Model& model,
7993                const  ComponentID& component_id,
80-                 const  VertexSet& component_mesh );
94+                 const  Mesh& component_mesh )
95+         {
96+             InspectionIssues< index_t  > result;
97+             for ( const  auto  vertex_id : Range{ component_mesh.nb_vertices () } )
98+             {
99+                 ComponentMeshVertex component_mesh_vertex{ component_id,
100+                     vertex_id };
101+                 if ( model.unique_vertex ( component_mesh_vertex ) == NO_ID )
102+                 {
103+                     result.add_issue ( vertex_id,
104+                         absl::StrCat ( " Vertex '"  , vertex_id,
105+                             " ' is not linked to a unique vertex."   ) );
106+                 }
107+             }
108+             return  result;
109+         }
81110    } //  namespace internal
82111} //  namespace geode
0 commit comments