13#include "gtest/gtest.h"
47 CSGCell(
const std::string & name,
const std::string & mat_name,
const CSGRegion & region);
181 std::map<std::string, std::reference_wrapper<const CSGSurface>> & identical_surface_refs);
204#ifdef MOOSE_UNIT_TEST
CSGBase creates an internal representation of a Constructive Solid Geometry (CSG) model.
CSGCellList creates a container for CSGCell objects to pass to CSGBase object.
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.
std::string _name
Name of surface.
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.
FRIEND_TEST(CSGCellTest, testCellEquality)
const std::string getFillType() const
Get the type of fill for the cell.
virtual bool isEngUnit() const
Whether this cell is an engineering unit.
FRIEND_TEST(CSGCellTest, testSetName)
Friends for unit testing.
void resetCellFill()
Reset the cell fill to void.
FRIEND_TEST(CSGCellTest, testUpdateFill)
void updateRegion(const CSGRegion ®ion)
const CSGLattice * _fill_lattice
Fill object if fill is CSGLattice.
FRIEND_TEST(CSGCellTest, testUpdateRegion)
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.
const std::string & getFillMaterial() const
Get the cell fill material name if fill fype is CSG_MATERIAL.
virtual ~CSGCell()=default
Destructor.
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.
void setName(const std::string &name)
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.
CSGLattice is the abstract class for defining lattices.
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,...
This is a "smart" enum class intended to replace many of the shortcomings in the C++ enum type It sho...