27 std::unique_ptr<CSGBase>
52 return !(*
this == other);
bool operator==(const CSGEngUnit &other) const
Operator overload for checking if two CSGEngUnit objects are equal.
std::unique_ptr< CSGBase > _internal_base
CSGBase populated by expandUnit(); joined into the parent CSGBase by expandEngUnit() ...
virtual const std::vector< std::pair< TransformationType, std::tuple< Real, Real, Real > > > & getTransformations() const =0
Get the list of transformations applied to this engineering unit.
CSGEngUnit(const std::string &behavior)
Constructor for intermediate EngUnit abstract classes.
const std::string getUnitType() const
Get the type name of this engineering unit.
virtual std::unordered_map< std::string, AttributeVariant > getAttributes() const =0
Get the attributes that define this engineering unit.
bool operator!=(const CSGEngUnit &other) const
Operator overload for checking if two CSGEngUnit objects are not equal.
std::unique_ptr< CSGBase > releaseBase()
Transfer ownership of the internal CSGBase out of this unit.
const std::string getBehavior() const
Get the behavior of this engineering unit (surface (i.e.
MooseEnum _behavior
The basic CSG type this unit produces: "SURFACE", "CELL", or "UNIVERSE".
virtual const std::string & getName() const =0
Get the unique instance name of this engineering unit.
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...