Closed pshriwise closed 1 year ago
Should we ever replace an existing graveyard? Should we just not add another to the set?
Should we ever replace an existing graveyard? Should we just not add another to the set?
I can see someone wanting to replace a spherical shell graveyard in case they're learning DAGMC and didn't realize how many triangles this might add to their model without having to re-tessellate the entire thing. Granted, some kind of utility program in the repo would be better than writing it yourself own, which is what they'd have to now.
I'm ready to merge but want to give @makeclean a chance to either withdraw or amplify his concern?
Thanks @pshriwise
Description
These changes update some behavior of the
DagMC::create/remove_graveyard
function.create_graveyard
create_graveyard
can now create a graveyard without acceleration data structures using the vertices of the model to create a bounding box as a basis for the graveyard volume.create_graveyard
will create an implicit complement if none exists so the graveyard volume can be inserted into the model topology correctly.create_graveyard
will only (re)construct acceleration data structures for the new graveyard volume and the implicit complement if these data structures were present when the method was initially called.remove_graveyard
There's a bug when calling
create_graveyard
withoverwrite == true
when a graveyard is not present. Previously, this would fail when trying to remove a graveyard that isn't present. This adds a check at the beginning ofremove_graveyard
to simply returnMB_SUCCESS
if no graveyard is present.