20 : _name(name), _fill_name(
""), _region(region)
27 : _name(name), _fill_name(mat_name), _region(region)
34 : _name(name), _fill_name(
""), _region(region), _fill_universe(univ)
41 : _name(name), _fill_name(
""), _region(region), _fill_lattice(lattice)
120 std::map<std::string, std::reference_wrapper<const CSGSurface>> & identical_surface_refs)
140 const auto fill_type_eq =
143 if (name_eq && region_eq && fill_type_eq && transformations_eq)
161 return !(*
this == other);
void mooseError(Args &&... args)
Emit an error message with the given stringified, concatenated args and terminate the application.
CSGCell creates an internal representation of a Constructive Solid Geometry (CSG) cell,...
CSGRegion _region
Cell region, represented as a CSGRegion object.
const CSGRegion & getRegion() const
Get the cell region.
const std::string & getName() const
Get the cell name.
bool operator==(const CSGCell &other) const
Operator overload for checking if two CSGCell objects are equal.
const CSGLattice & getFillLattice() const
Get the cell fill if fill type is LATTICE.
const std::string getFillType() const
Get the type of fill for the cell.
virtual bool isEngUnit() const
Whether this cell is an engineering unit.
void resetCellFill()
Reset the cell fill to void.
const CSGLattice * _fill_lattice
Fill object if fill is CSGLattice.
void updateCellFill(const std::string &mat_name)
Set the cell fill to a material name.
const CSGUniverse & getFillUniverse() const
Get the cell fill if fill type is UNIVERSE.
bool operator!=(const CSGCell &other) const
Operator overload for checking if two CSGCell objects are not equal.
const CSGUniverse * _fill_universe
Fill object if fill is CSGUniverse.
CSGCell(const std::string &name, const CSGRegion ®ion)
Constructor for void cell.
const std::string & getFillMaterial() const
Get the cell fill material name if fill fype is CSG_MATERIAL.
void updateCellRegionSurfaces(std::map< std::string, std::reference_wrapper< const CSGSurface > > &identical_surface_refs)
Update surface references of cell region based on map of input surface references.
const std::string & getFillName() const
Get the name of the fill, regardless of its type.
std::string _fill_name
name of the fill object for CSG_MATERIAL fills
MooseEnum _fill_type
An enum for type of fill for cell region.
CSGEngUnit is the abstract base class for all "engineering unit" types in the CSG system.
CSGLattice is the abstract class for defining lattices.
const std::string & getName() const
Get the name of lattice.
CSGRegions creates an internal representation of a CSG region, which can refer to an intersection,...
void updateSurfaceReferences(std::map< std::string, std::reference_wrapper< const CSGSurface > > &identical_surface_refs)
Update surface references of region based on map of input surface references.
CSGUniverse creates an internal representation of a Constructive Solid Geometry (CSG) universe,...
const std::string & getName() const
Get the name of the universe.
void checkValidCSGName(const std::string &name)
Check name of CSG component for disallowed characters and symbols.