12 #ifdef MOOSE_UNIT_TEST 13 #include "gtest/gtest.h" 52 const std::vector<std::pair<TransformationType, std::tuple<Real, Real, Real>>> &
59 std::vector<std::pair<std::string, std::tuple<Real, Real, Real>>>
88 virtual std::unique_ptr<CSGUniverseEngUnit>
clone()
const = 0;
bool operator==(const CSGEngUnit &other) const
Operator overload for checking if two CSGEngUnit objects are equal.
std::vector< std::pair< std::string, std::tuple< Real, Real, Real > > > getTransformationsAsStrings() const override
Delegate to CSGUniverse (CSGTransformationHelper)
void expandUnit() override=0
Populate _internal_base with the CSGUniverse and any supporting objects.
bool isEngUnit() const override
Engineering units report true so comparisons can skip the dynamic_cast fast path. ...
void addCell(const CSGCell &)=delete
addCell updates are not permitted on engineering units.
CSGUniverse creates an internal representation of a Constructive Solid Geometry (CSG) universe...
const std::string & getName() const override
Satisfy CSGEngUnit::getName() (resolved via CSGUniverse::getName())
const CSGUniverse & getExpandedUniverse() const
Return the root universe of _internal_base, which IS the expanded universe.
const std::string & getName() const
Get the name of the universe.
virtual std::unique_ptr< CSGUniverseEngUnit > clone() const =0
Create a deep copy of this engineering unit for use in a different CSGBase instance.
CSGUniverseEngUnit(const std::string &name, bool is_root=false)
Constructor for derived classes.
bool operator!=(const CSGUniverseEngUnit &other) const
bool operator!=(const CSGEngUnit &other) const
Operator overload for checking if two CSGEngUnit objects are not equal.
CSGCell creates an internal representation of a Constructive Solid Geometry (CSG) cell...
CSGUniverseEngUnit is an abstract base class for "engineering units" that are universe-like.
const std::vector< std::pair< TransformationType, std::tuple< Real, Real, Real > > > & getTransformations() const override
Delegate to CSGUniverse (CSGTransformationHelper)
bool operator==(const CSGUniverseEngUnit &other) const
Disambiguate == and != by forwarding to CSGEngUnit (name/property-based comparison) ...
CSGBase creates an internal representation of a Constructive Solid Geometry (CSG) model...
CSGEngUnit is the abstract base class for all "engineering unit" types in the CSG system...