12 #ifdef MOOSE_UNIT_TEST 13 #include "gtest/gtest.h" 51 const std::vector<std::pair<TransformationType, std::tuple<Real, Real, Real>>> &
58 std::vector<std::pair<std::string, std::tuple<Real, Real, Real>>>
92 virtual std::unique_ptr<CSGCellEngUnit>
clone()
const = 0;
CSGCellEngUnit is an abstract base class for "engineering units" that are cell-like.
bool operator==(const CSGEngUnit &other) const
Operator overload for checking if two CSGEngUnit objects are equal.
const std::string & getName() const
Get the cell name.
const std::string & getName() const override
Satisfy CSGEngUnit::getName() (resolved via CSGCell::getName())
CSGRegions creates an internal representation of a CSG region, which can refer to an intersection...
CSGUniverse creates an internal representation of a Constructive Solid Geometry (CSG) universe...
bool isEngUnit() const override
Engineering units report true so comparisons can skip the dynamic_cast fast path. ...
const std::vector< std::pair< TransformationType, std::tuple< Real, Real, Real > > > & getTransformations() const override
Delegate to CSGCell (CSGTransformationHelper)
CSGLattice is the abstract class for defining lattices.
bool operator==(const CSGCellEngUnit &other) const
Disambiguate == and != by forwarding to CSGEngUnit (name/property-based comparison) ...
bool operator!=(const CSGEngUnit &other) const
Operator overload for checking if two CSGEngUnit objects are not equal.
void resetCellFill()=delete
Cell fill and region updates are not permitted on engineering units.
CSGCell creates an internal representation of a Constructive Solid Geometry (CSG) cell...
std::vector< std::pair< std::string, std::tuple< Real, Real, Real > > > getTransformationsAsStrings() const override
Delegate to CSGCell (CSGTransformationHelper)
void updateCellFill(const std::string &)=delete
bool operator!=(const CSGCellEngUnit &other) const
void updateRegion(const CSGRegion &)=delete
void expandUnit() override=0
Create the CSGCell and any other necessary components in _internal_base.
virtual std::unique_ptr< CSGCellEngUnit > clone() const =0
Create a deep copy of this engineering unit for use in a different CSGBase instance.
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...
const CSGCell & getExpandedCell() const
Return the single cell in _internal_base's root, which IS the expanded cell.
CSGCellEngUnit(const std::string &name)
Constructor for derived classes.