MCPcopy Create free account
hub / github.com/Geode-solutions/OpenGeode / add_surface_collections

Function add_surface_collections

tests/model/test-brep.cpp:282–315  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

280}
281
282std::array< geode::uuid, 2 > add_surface_collections(
283 const geode::BRep& model, geode::BRepBuilder& builder )
284{
285 std::array< geode::uuid, 2 > uuids;
286 for( const auto mb : geode::Indices{ uuids } )
287 {
288 uuids[mb] = builder.add_surface_collection();
289 builder.set_surface_collection_name(
290 uuids[mb], absl::StrCat( "surface_collection", mb + 1 ) );
291 }
292 const auto& temp_collection =
293 model.surface_collection( builder.add_surface_collection() );
294 builder.remove_surface_collection( temp_collection );
295 const auto message = absl::StrCat(
296 "BRep should have ", uuids.size(), " surface collections" );
297 geode::OpenGeodeModelException::test(
298 model.nb_surface_collections() == uuids.size(), message );
299 geode::OpenGeodeModelException::test(
300 geode::detail::count_range_elements( model.surface_collections() )
301 == uuids.size(),
302 message );
303 geode::OpenGeodeModelException::test(
304 model.surface_collection( uuids[0] ).name() == "surface_collection1",
305 "Wrong SurfaceCollection name" );
306 geode::OpenGeodeModelException::test(
307 model.nb_active_surface_collections() == 2, message );
308 builder.set_surface_collection_active( uuids[1], false );
309 geode::OpenGeodeModelException::test(
310 model.nb_active_surface_collections() == 1,
311 "BRep should have 1 active surface collection" );
312 geode::OpenGeodeModelException::test( model.nb_surface_collections() == 2,
313 "BRep should still have 2 surface collections" );
314 return uuids;
315}
316
317geode::uuid add_block_collection(
318 const geode::BRep& model, geode::BRepBuilder& builder )

Callers 1

testFunction · 0.70

Calls 11

count_range_elementsFunction · 0.85
surface_collectionsMethod · 0.80
nameMethod · 0.80
testFunction · 0.70
sizeMethod · 0.45

Tested by

no test coverage detected