CSGBase creates an internal representation of a Constructive Solid Geometry (CSG) model. More...
#include <CSGBase.h>
Public Member Functions | |
| CSGBase () | |
| Default constructor. | |
| CSGBase (const CSGBase &other_base) | |
| Copy constructor. | |
| ~CSGBase () | |
| Destructor. | |
| std::unique_ptr< CSGBase > | clone () const |
| Create a deep copy of this CSGBase instance. | |
| const CSGSurface & | addSurface (std::unique_ptr< CSGSurface > surf) |
| add a unique surface pointer to this base instance | |
| void | deleteSurface (const CSGSurface &surface) |
| Remove a Surface object passed in by reference from the stored surface list. | |
| std::vector< std::reference_wrapper< const CSGSurface > > | getAllSurfaces () const |
| Get all surface objects. | |
| const CSGSurface & | getSurfaceByName (const std::string &name) const |
| Get a Surface object by name. | |
| bool | hasSurface (const std::string &name) const |
| Check if a surface with given name exists in CSGBase object. | |
| void | renameSurface (const CSGSurface &surface, const std::string &name) |
| rename the specified surface | |
| const CSGCell & | createCell (const std::string &name, const std::string &mat_name, const CSGRegion ®ion, const CSGUniverse *add_to_univ=nullptr) |
| Create a Material Cell object. | |
| const CSGCell & | createCell (const std::string &name, const CSGRegion ®ion, const CSGUniverse *add_to_univ=nullptr) |
| Create a Void Cell object. | |
| const CSGCell & | createCell (const std::string &name, const CSGUniverse &fill_univ, const CSGRegion ®ion, const CSGUniverse *add_to_univ=nullptr) |
| Create a Universe Cell object. | |
| const CSGCell & | createCell (const std::string &name, const CSGLattice &fill_lattice, const CSGRegion ®ion, const CSGUniverse *add_to_univ=nullptr) |
| Create a Lattice Cell object. | |
| void | deleteCell (const CSGCell &cell) |
| Remove a Cell object passed in by reference from the stored cell list. | |
| std::vector< std::reference_wrapper< const CSGCell > > | getAllCells () const |
| Get all cell objects. | |
| const CSGCell & | getCellByName (const std::string &name) const |
| Get a Cell object by name. | |
| bool | hasCell (const std::string &name) const |
| Check if a cell with given name exists in CSGBase object. | |
| void | renameCell (const CSGCell &cell, const std::string &name) |
| rename the specified cell | |
| void | updateCellRegion (const CSGCell &cell, const CSGRegion ®ion) |
| change the region of the specified cell | |
| void | resetCellFill (const CSGCell &cell) |
| reset the fill of the specified cell to void | |
| void | updateCellFill (const CSGCell &cell, const std::string &mat_name) |
| change the fill of the specified cell to a material fill | |
| void | updateCellFill (const CSGCell &cell, const CSGUniverse *univ) |
| change the fill of the specified cell to a universe fill | |
| void | updateCellFill (const CSGCell &cell, const CSGLattice *lattice) |
| change the fill of the specified cell to a lattice fill | |
| const CSGUniverse & | getRootUniverse () const |
| Get the Root Universe object. | |
| void | renameRootUniverse (const std::string &name) |
| rename the root universe for this instance (default is ROOT_UNIVERSE) | |
| void | renameUniverse (const CSGUniverse &universe, const std::string &name) |
| rename the specified universe | |
| const CSGUniverse & | createUniverse (const std::string &name) |
| Create an empty Universe object. | |
| const CSGUniverse & | createUniverse (const std::string &name, std::vector< std::reference_wrapper< const CSGCell > > &cells) |
| Create a Universe object from list of cells. | |
| void | deleteUniverse (const CSGUniverse &univ) |
| Remove a Universe object passed in by reference from the stored universe list. | |
| void | addCellToUniverse (const CSGUniverse &universe, const CSGCell &cell) |
| Add a cell to an existing universe. | |
| void | addCellsToUniverse (const CSGUniverse &universe, std::vector< std::reference_wrapper< const CSGCell > > &cells) |
| Add a list of cells to an existing universe. | |
| void | removeCellFromUniverse (const CSGUniverse &universe, const CSGCell &cell) |
| Remove a cell from an existing universe. | |
| void | removeCellsFromUniverse (const CSGUniverse &universe, std::vector< std::reference_wrapper< const CSGCell > > &cells) |
| Remove a list of cells from an existing universe. | |
| std::vector< std::reference_wrapper< const CSGUniverse > > | getAllUniverses () const |
| Get all universe objects. | |
| const CSGUniverse & | getUniverseByName (const std::string &name) |
| Get a universe object by name. | |
| bool | hasUniverse (const std::string &name) const |
| Check if a universe with given name exists in CSGBase object. | |
| template<typename LatticeType = CSGLattice> | |
| const LatticeType & | addLattice (std::unique_ptr< LatticeType > lattice) |
| add a unique lattice pointer to this base instance; universes that make the lattice must already be a part of this CSGBase instance. | |
| void | deleteLattice (const CSGLattice &lattice) |
| Remove a Lattice object passed in by reference from the stored lattice list. | |
| void | setUniverseAtLatticeIndex (const CSGLattice &lattice, const CSGUniverse &universe, std::pair< int, int > index) |
| set location in the lattice to be the provided universe | |
| void | setLatticeUniverses (const CSGLattice &lattice, std::vector< std::vector< std::reference_wrapper< const CSGUniverse > > > &universes) |
| Set provided universes as the layout of the lattice. | |
| void | renameLattice (const CSGLattice &lattice, const std::string &name) |
| rename the lattice | |
| void | setLatticeOuter (const CSGLattice &lattice, const std::string &outer_name) |
| Set the outer fill for the lattice to the material name provided. | |
| void | setLatticeOuter (const CSGLattice &lattice, const CSGUniverse &outer_univ) |
| Set the outer fill for the lattice to the universe provided. | |
| void | resetLatticeOuter (const CSGLattice &lattice) |
| reset the outer fill for the lattice to VOID | |
| std::vector< std::reference_wrapper< const CSGLattice > > | getAllLattices () const |
| Get all lattice objects. | |
| template<typename LatticeType = CSGLattice> | |
| const LatticeType & | getLatticeByName (const std::string &name) |
| Get a lattice object of the specified type by name. | |
| bool | hasLattice (const std::string &name) const |
| Check if a lattice with given name exists in CSGBase object. | |
| template<typename T > | |
| const T & | addEngUnit (std::unique_ptr< T > unit, const CSGUniverse *add_to_univ=nullptr) |
| Add an engineering unit (surface-, cell-, or universe-like object) to this CSGBase. | |
| void | deleteEngUnit (const CSGEngUnit &unit) |
| Remove an engineering unit passed in by reference from the stored engineering unit list. | |
| template<typename EngUnitType = CSGEngUnit> | |
| const EngUnitType & | getEngUnitByName (const std::string &name) const |
| Get a engineering unit object of the specified type by name. | |
| bool | hasEngUnit (const std::string &name) const |
| Check if an engineeering unit with given name exists in CSGBase object. | |
| void | renameEngUnit (const CSGEngUnit &unit, const std::string &name) |
| Rename the specified engineering unit. | |
| std::vector< std::reference_wrapper< const CSGEngUnit > > | getAllEngUnits () const |
| Get all engineering units of all types in CSGBase. | |
| std::vector< std::reference_wrapper< const CSGSurfaceEngUnit > > | getAllSurfaceEngUnits () const |
| Get all surface-like engineering units in CSGBase. | |
| std::vector< std::reference_wrapper< const CSGCellEngUnit > > | getAllCellEngUnits () const |
| Get all cell-like engineering units in CSGBase. | |
| std::vector< std::reference_wrapper< const CSGUniverseEngUnit > > | getAllUniverseEngUnits () const |
| Get all universe-like engineering units. | |
| CSGRegion | expandEngUnit (const CSGSurfaceEngUnit &unit) |
| Expand a surface-like engineering unit into basic CSGSurface(s) and return the CSGRegion representing the EngUnit's geometry. | |
| const CSGCell & | expandEngUnit (const CSGCellEngUnit &unit) |
| Expand a cell-like engineering unit into a basic CSGCell. | |
| const CSGUniverse & | expandEngUnit (const CSGUniverseEngUnit &unit) |
| Expand a universe-like engineering unit into a basic CSGUniverse. | |
| void | expandAllEngUnits () |
| Expand all registered engineering units into basic CSG objects. | |
| bool | areCSGObjectsLinked () const |
| Check whether all universes, cells, and surfaces in this CSGBase are reachable from the root universe through the cell/fill hierarchy. | |
| void | joinOtherBase (std::unique_ptr< CSGBase > base, const bool ignore_identical_components) |
| Join another CSGBase object to this one. | |
| void | joinOtherBase (std::unique_ptr< CSGBase > base, const bool ignore_identical_components, const std::string &new_root_name_join) |
| Join another CSGBase object to this one. | |
| void | joinOtherBase (std::unique_ptr< CSGBase > base, const bool ignore_identical_components, const std::string &new_root_name_base, const std::string &new_root_name_join) |
| Join another CSGBase object to this one. | |
| nlohmann::json | generateOutput () const |
| generate the JSON representation output for the CSG object | |
| bool | operator== (const CSGBase &other) const |
| Operator overload for checking if two CSGBase objects are equal. | |
| bool | operator!= (const CSGBase &other) const |
| Operator overload for checking if two CSGBase objects are not equal. | |
| void | addTransformation (const CSGObjectVariant &csg_object, TransformationType type, const std::tuple< Real, Real, Real > &values) |
| Apply a transformation to a CSG object. | |
| void | addTransformation (const CSGEngUnit &unit, TransformationType type, const std::tuple< Real, Real, Real > &values) |
| Apply a transformation to a CSGEngUnit object. | |
| void | applyTranslation (const CSGObjectVariant &csg_object, const std::tuple< Real, Real, Real > &distances) |
| Apply a translation to a CSG object in the specified x, y, and z directions. | |
| void | applyTranslation (const CSGEngUnit &unit, const std::tuple< Real, Real, Real > &distances) |
| Apply a translation to a CSGEngUnit object in the specified x, y, and z directions. | |
| void | applyRotation (const CSGObjectVariant &csg_object, const std::tuple< Real, Real, Real > &angles) |
| Apply a rotation to a CSG object using (phi, theta, psi) angle notation (in degrees). | |
| void | applyRotation (const CSGEngUnit &unit, const std::tuple< Real, Real, Real > &angles) |
| Apply a rotation to a CSG object using (phi, theta, psi) angle notation (in degrees). | |
| void | applyAxisRotation (const CSGObjectVariant &csg_object, RotationAxisType axis, const Real angle) |
| Apply a rotation to a CSG object about a specified axis (X, Y, Z). | |
| void | applyAxisRotation (const CSGEngUnit &unit, RotationAxisType axis, const Real angle) |
| Apply a rotation to a CSGEngUnit object about a specified axis (X, Y, Z). | |
| void | applyScaling (const CSGObjectVariant &csg_object, const std::tuple< Real, Real, Real > &values) |
| Scale a CSG object in the specified x, y, and z directions. | |
| void | applyScaling (const CSGEngUnit &unit, const std::tuple< Real, Real, Real > &values) |
| Scale a CSGEngUnit object in the specified x, y, and z directions. | |
Private Member Functions | |
| CSGSurface & | getSurface (const std::string &name) |
| Get a Surface object by name. | |
| void | expandAllEngUnitsCycle (std::set< std::set< std::string > > &all_type_sets) |
| Recursive implementation of expandAllEngUnits(). | |
| void | checkUniverseLinking () const |
| Check universes linked to root universe match universes defined in _universe_list. | |
| void | getLinkedCSGObjects (const CSGUniverse &univ, std::set< std::string > &linked_universe_names, std::set< std::string > &linked_cell_names, std::set< std::string > &linked_surface_names) const |
| Recursive method to retrieve all universes, cells, and surfaces linked to current universe. | |
| const CSGSurfaceList & | getSurfaceList () const |
| Get a const reference to the CSGSurfaceList object. | |
| CSGSurfaceList & | getSurfaceList () |
| Get a non-const reference to the CSGSurfaceList object. | |
| const CSGCellList & | getCellList () const |
| Get a const reference to the CSGCellList object. | |
| CSGCellList & | getCellList () |
| Get a non-const reference to the CSGCellList object. | |
| const CSGUniverseList & | getUniverseList () const |
| Get a const reference to the CSGUniverseList object. | |
| CSGUniverseList & | getUniverseList () |
| Get a non-const reference to the CSGUniverseList object. | |
| const CSGLatticeList & | getLatticeList () const |
| Get a const reference to the CSGLatticeList object. | |
| CSGLatticeList & | getLatticeList () |
| Get the CSGLatticeList object. | |
| void | updateIncomingCSGReferences (CSGBase &incoming_base) |
| update references of incoming CSGbase to point to those of existing CSGBase object. | |
| void | replaceSurfaceRefsByName (std::map< std::string, std::reference_wrapper< const CSGSurface > > &identical_surface_refs, CSGBase &base) |
| update surface references of incoming CSGBase to point to those of existing CSGBase object based on CSGSurface name. | |
| void | replaceCellRefsByName (std::map< std::string, std::reference_wrapper< const CSGCell > > &identical_cell_refs, CSGBase &base) |
| update cell references of incoming CSGbase to point to those of existing CSGBase object based on CSGCell name. | |
| void | replaceUniverseRefsByName (std::map< std::string, std::reference_wrapper< const CSGUniverse > > &identical_universe_refs, CSGBase &base) |
| update universe references of incoming CSGbase to point to those of existing CSGBase object based on CSGUniverse name. | |
| void | replaceLatticeRefsByName (std::map< std::string, std::reference_wrapper< const CSGLattice > > &identical_lattice_refs, CSGBase &base) |
| update lattice references of incoming CSGbase to point to those of existing CSGBase object based on CSGLattice name. | |
| const CSGEngUnitList & | getEngUnitList () const |
| Get a const reference to the CSGEngUnitList object. | |
| void | joinSurfaceList (CSGSurfaceList &surf_list, const bool ignore_identical_surfaces) |
| join a separate CSGSurfaceList object to this one | |
| void | joinCellList (CSGCellList &cell_list, const bool ignore_identical_cells) |
| join a separate CSGCellList object to this one | |
| void | joinLatticeList (CSGLatticeList &lattice_list, const bool ignore_identical_lattices) |
| join a separate CSGLatticeList object to this one | |
| void | joinUniverseList (CSGUniverseList &univ_list, const bool ignore_identical_universes) |
| join a separate CSGUniverseList object to this one; root universes from univ_list will be combined into this root universe | |
| void | joinUniverseList (CSGUniverseList &univ_list, const bool ignore_identical_universes, const std::string &new_root_name_incoming) |
| join a separate CSGUniverseList object to this one; the incoming root universe will be moved to a new universe of the new name specified. | |
| void | joinUniverseList (CSGUniverseList &univ_list, const bool ignore_identical_universes, const std::string &new_root_name_base, const std::string &new_root_name_incoming) |
| join a separate CSGUniverseList object to this one; both this root universe and the incoming root universe will be maintained as separate universes of the specified names. | |
| void | rebuildEngUnitList () |
| rebuilds the list of raw pointers to engineering units by iterating through the surface, cell, and universe lists. | |
| void | replaceUniverseRefs (const CSGUniverse &old_univ, const CSGUniverse &new_univ) |
| Replace all cell fills and lattice elements/outers referencing old_univ with new_univ. | |
| void | replaceCellRefs (const CSGCell &old_cell, const CSGCell &new_cell) |
| Replace all old_cell references with new_cell across all universes in the base. | |
| void | replaceSurfaceRefsWithRegion (const CSGSurface &old_surf, const CSGRegion &sub_region) |
| Replace all region occurrences of old_surf with the tokens from sub_region across all cells in the base. | |
| void | checkRegionSurfaces (const CSGRegion ®ion) const |
| check that surfaces used in this region are a part of this CSGBase instance | |
| bool | checkSurfaceInBase (const CSGSurface &surface) const |
| check that surface being accessed is a part of this CSGBase instance | |
| bool | checkCellInBase (const CSGCell &cell) const |
| check that cell being accessed is a part of this CSGBase instance | |
| bool | checkEngUnitInBase (const CSGEngUnit &unit) const |
| check that engineering unit being accessed is a part of this CSGBase instance | |
| bool | checkUniverseInBase (const CSGUniverse &universe) const |
| check that universe being accessed is a part of this CSGBase instance | |
| bool | checkLatticeInBase (const CSGLattice &lattice) const |
| check that lattice being accessed is a part of this CSGBase instance | |
| void | prepareSurfaceDeletion (const CSGSurface &surface) const |
| error if surface is referenced in any cell region | |
| void | prepareCellDeletion (const CSGCell &cell) |
| warn and remove cell from any universe that contains it | |
| void | prepareUniverseDeletion (const CSGUniverse &universe) const |
| error if universe is the root, used in any lattice, or used as a cell fill | |
| const CSGSurfaceEngUnit * | surfaceToEngUnit (const CSGSurface &surf) const |
| Returns the CSGSurfaceEngUnit pointer if surf is an eng unit, nullptr otherwise. | |
| const CSGCellEngUnit * | cellToEngUnit (const CSGCell &cell) const |
| Returns the CSGCellEngUnit pointer if cell is an eng unit, nullptr otherwise. | |
| const CSGUniverseEngUnit * | universeToEngUnit (const CSGUniverse &univ) const |
| Returns the CSGUniverseEngUnit pointer if univ is an eng unit, nullptr otherwise. | |
| const CSGCell & | addCellToList (const CSGCell &cell) |
| Add a new cell to the cell list based on a cell reference. | |
| const CSGUniverse & | addUniverseToList (const CSGUniverse &univ) |
| Add a new universe to the universe list based on a universe reference. | |
| const CSGLattice & | addLatticeToList (const CSGLattice &lattice) |
| Add a new lattice to the lattice list based on a lattice reference. | |
| FRIEND_TEST (CSGBaseTest, testCheckRegionSurfaces) | |
| Friends for unit testing. | |
| FRIEND_TEST (CSGBaseTest, testAddGetSurface) | |
| FRIEND_TEST (CSGBaseTest, testUniverseLinking) | |
| FRIEND_TEST (CSGBaseTest, testEngUnitLinking) | |
| FRIEND_TEST (CSGBaseTest, testCellEngUnitAddErrors) | |
| FRIEND_TEST (CSGBaseTest, testUnivEngUnitAddErrors) | |
Private Attributes | |
| CSGSurfaceList | _surface_list |
| List of surfaces associated with CSG object. | |
| CSGCellList | _cell_list |
| List of cells associated with CSG object. | |
| CSGUniverseList | _universe_list |
| List of universes associated with CSG object. | |
| CSGLatticeList | _lattice_list |
| List of lattices associated with CSG object. | |
| CSGEngUnitList | _eng_unit_list |
| Container for all associated engineering units. | |
| CSG::CSGBase::CSGBase | ( | ) |
Default constructor.
Definition at line 17 of file CSGBase.C.
| CSG::CSGBase::CSGBase | ( | const CSGBase & | other_base | ) |
Copy constructor.
Definition at line 25 of file CSGBase.C.
| void CSG::CSGBase::addCellsToUniverse | ( | const CSGUniverse & | universe, |
| std::vector< std::reference_wrapper< const CSGCell > > & | cells | ||
| ) |
Add a list of cells to an existing universe.
| universe | universe to which to add the cells |
| cells | list of references to cells to add |
Add a new cell to the cell list based on a cell reference.
This method is called by the copy constructor of CSGBase
| cell | reference to CSGCell that should be added to cell list |
Definition at line 136 of file CSGBase.C.
Referenced by CSGBase().
| void CSG::CSGBase::addCellToUniverse | ( | const CSGUniverse & | universe, |
| const CSGCell & | cell | ||
| ) |
Add a cell to an existing universe.
| universe | universe to which to add the cell |
| cell | cell to add |
Definition at line 525 of file CSGBase.C.
Referenced by addEngUnit(), and CSGBase().
|
inline |
Add an engineering unit (surface-, cell-, or universe-like object) to this CSGBase.
| T | a type derived from CSGSurfaceEngUnit, CSGCellEngUnit, or CSGUniverseEngUnit |
| unit | unique_ptr to the engineering unit to register |
| add_to_univ | optional pointer to a CSGUniverse object to which a CSGCellEngUnit should be added. If not specified, the CSGCellEngUnit will be added to the root universe. For other CSGEngUnit types, this will be ignored. This universe cannot be a CSGUniverseEngUnit. |
Definition at line 539 of file CSGBase.h.
Referenced by CSGBase().
|
inline |
add a unique lattice pointer to this base instance; universes that make the lattice must already be a part of this CSGBase instance.
| lattice | pointer to lattice to add |
Definition at line 398 of file CSGBase.h.
|
private |
Add a new lattice to the lattice list based on a lattice reference.
This method is called by the copy constructor of CSGBase
| lattice | reference to CSGLattice that should be added to universe list |
Definition at line 202 of file CSGBase.C.
Referenced by CSGBase().
| const CSGSurface & CSG::CSGBase::addSurface | ( | std::unique_ptr< CSGSurface > | surf | ) |
add a unique surface pointer to this base instance
| surf | pointer to surface to add |
Definition at line 96 of file CSGBase.C.
|
inline |
Apply a transformation to a CSGEngUnit object.
| unit | The CSGEngUnit object to transform (CSGEngUnit, CSGSurfaceEngUnit, CSGCellEngUnit, CSGUniverseEngUnit, or any derived type) |
| type | The type of transformation to apply (TRANSLATION, ROTATION, SCALE) |
| values | tuple of transformation values (3 values for any transformation type) |
Definition at line 807 of file CSGBase.h.
| void CSG::CSGBase::addTransformation | ( | const CSGObjectVariant & | csg_object, |
| TransformationType | type, | ||
| const std::tuple< Real, Real, Real > & | values | ||
| ) |
Apply a transformation to a CSG object.
| csg_object | The CSG object to transform (Surface, Cell, Universe, Region, or Lattice) |
| type | The type of transformation to apply (TRANSLATION, ROTATION, SCALE) |
| values | tuple of transformation values (3 values for any transformation type) |
Definition at line 653 of file CSGBase.C.
Referenced by addTransformation(), applyRotation(), applyRotation(), applyScaling(), applyScaling(), applyTranslation(), and applyTranslation().
|
private |
Add a new universe to the universe list based on a universe reference.
This method is called by the copy constructor of CSGBase
| univ | reference to CSGUniverse that should be added to universe list |
Definition at line 177 of file CSGBase.C.
Referenced by CSGBase().
|
inline |
Apply a rotation to a CSGEngUnit object about a specified axis (X, Y, Z).
| unit | The CSGEngUnit object to rotate (CSGEngUnit, CSGSurfaceEngUnit, CSGCellEngUnit, CSGUniverseEngUnit, or any derived type) |
| axis | Axis type (X, Y, or Z) about which to rotate |
| angle | angle in degrees to rotate about the specified axis |
Definition at line 893 of file CSGBase.h.
| void CSG::CSGBase::applyAxisRotation | ( | const CSGObjectVariant & | csg_object, |
| RotationAxisType | axis, | ||
| const Real | angle | ||
| ) |
Apply a rotation to a CSG object about a specified axis (X, Y, Z).
| csg_object | The CSG object to rotate (Surface, Cell, Universe, Region, or Lattice) |
| axis | Axis type (X, Y, or Z) about which to rotate |
| angle | angle in degrees to rotate about the specified axis |
Definition at line 761 of file CSGBase.C.
Referenced by applyAxisRotation().
|
inline |
Apply a rotation to a CSG object using (phi, theta, psi) angle notation (in degrees).
| unit | The CSGEngUnit object to rotate (CSGEngUnit, CSGSurfaceEngUnit, CSGCellEngUnit, CSGUniverseEngUnit, or any derived type) |
| angles | size 3 tuple {phi, theta, psi} with rotation angles in degrees |
|
inline |
|
inline |
Scale a CSGEngUnit object in the specified x, y, and z directions.
| unit | The CSGEngUnit object to scale (CSGEngUnit, CSGSurfaceEngUnit, CSGCellEngUnit, CSGUniverseEngUnit, or any derived type) |
| values | size 3 tuple with scaling values in x, y, and z directions {x, y, z} |
Definition at line 921 of file CSGBase.h.
|
inline |
|
inline |
Apply a translation to a CSGEngUnit object in the specified x, y, and z directions.
| unit | The CSGEngUnit object to translate (CSGEngUnit, CSGSurfaceEngUnit, CSGCellEngUnit, CSGUniverseEngUnit, or any derived type) |
| distances | size 3 tuple with translation distances in x, y, and z directions {x, y, z} |
Definition at line 838 of file CSGBase.h.
|
inline |
| bool CSG::CSGBase::areCSGObjectsLinked | ( | ) | const |
Check whether all universes, cells, and surfaces in this CSGBase are reachable from the root universe through the cell/fill hierarchy.
Definition at line 1236 of file CSGBase.C.
|
inlineprivate |
Returns the CSGCellEngUnit pointer if cell is an eng unit, nullptr otherwise.
Usable as a boolean check or to access the eng unit directly.
| cell | CSGCell to check/get as an engineering unit |
Definition at line 1219 of file CSGBase.h.
Referenced by CSGBase().
|
private |
check that cell being accessed is a part of this CSGBase instance
Definition at line 1108 of file CSGBase.C.
|
private |
check that engineering unit being accessed is a part of this CSGBase instance
Definition at line 1138 of file CSGBase.C.
|
private |
check that lattice being accessed is a part of this CSGBase instance
Definition at line 1128 of file CSGBase.C.
|
private |
check that surfaces used in this region are a part of this CSGBase instance
Definition at line 1086 of file CSGBase.C.
|
private |
check that surface being accessed is a part of this CSGBase instance
Definition at line 1098 of file CSGBase.C.
|
private |
check that universe being accessed is a part of this CSGBase instance
Definition at line 1118 of file CSGBase.C.
Referenced by addLattice().
|
private |
Check universes linked to root universe match universes defined in _universe_list.
Definition at line 1206 of file CSGBase.C.
| std::unique_ptr< CSGBase > CSG::CSGBase::clone | ( | ) | const |
Create a deep copy of this CSGBase instance.
This method calls std::make_unique to create the deep copy. However, the surface references of all cloned cells are updated manually to make sure they point to the surfaces of the cloned object and not the original CSGBase instance.
Definition at line 78 of file CSGBase.C.
Referenced by clone().
| const CSGCell & CSG::CSGBase::createCell | ( | const std::string & | name, |
| const CSGLattice & | fill_lattice, | ||
| const CSGRegion & | region, | ||
| const CSGUniverse * | add_to_univ = nullptr |
||
| ) |
Create a Lattice Cell object.
| name | unique cell name |
| fill_lattice | lattice that will fill the cell |
| region | cell region |
| add_to_univ | (optional) universe to which this cell will be added (default is root universe) |
Definition at line 311 of file CSGBase.C.
| const CSGCell & CSG::CSGBase::createCell | ( | const std::string & | name, |
| const CSGRegion & | region, | ||
| const CSGUniverse * | add_to_univ = nullptr |
||
| ) |
Create a Void Cell object.
| name | unique cell name |
| region | cell region |
| add_to_univ | (optional) universe to which this cell will be added (default is root universe) |
Definition at line 278 of file CSGBase.C.
| const CSGCell & CSG::CSGBase::createCell | ( | const std::string & | name, |
| const CSGUniverse & | fill_univ, | ||
| const CSGRegion & | region, | ||
| const CSGUniverse * | add_to_univ = nullptr |
||
| ) |
Create a Universe Cell object.
| name | unique cell name |
| fill_univ | universe that will fill the cell |
| region | cell region |
| add_to_univ | (optional) universe to which this cell will be added (default is root universe) |
Definition at line 292 of file CSGBase.C.
| const CSGCell & CSG::CSGBase::createCell | ( | const std::string & | name, |
| const std::string & | mat_name, | ||
| const CSGRegion & | region, | ||
| const CSGUniverse * | add_to_univ = nullptr |
||
| ) |
Create a Material Cell object.
| name | unique cell name |
| mat_name | material name |
| region | cell region |
| add_to_univ | (optional) universe to which this cell will be added (default is root universe) |
Definition at line 263 of file CSGBase.C.
|
inline |
Create an empty Universe object.
| name | unique universe name |
| const CSGUniverse & CSG::CSGBase::createUniverse | ( | const std::string & | name, |
| std::vector< std::reference_wrapper< const CSGCell > > & | cells | ||
| ) |
Create a Universe object from list of cells.
| name | unique universe name |
| cells | list of cells to add to universe |
Definition at line 467 of file CSGBase.C.
| void CSG::CSGBase::deleteCell | ( | const CSGCell & | cell | ) |
Remove a Cell object passed in by reference from the stored cell list.
Any CSG components connected to cell will not be recursively removed.
| cell | reference to cell to delete |
Definition at line 361 of file CSGBase.C.
| void CSG::CSGBase::deleteEngUnit | ( | const CSGEngUnit & | unit | ) |
Remove an engineering unit passed in by reference from the stored engineering unit list.
| unit | reference to the engineering unit to delete |
Definition at line 1295 of file CSGBase.C.
| void CSG::CSGBase::deleteLattice | ( | const CSGLattice & | lattice | ) |
Remove a Lattice object passed in by reference from the stored lattice list.
Any CSG components connected to lattice will not be recursively removed.
| lattice | reference to lattice to delete |
Definition at line 240 of file CSGBase.C.
| void CSG::CSGBase::deleteSurface | ( | const CSGSurface & | surface | ) |
Remove a Surface object passed in by reference from the stored surface list.
Any CSG components connected to surface will not be recursively removed.
| surface | reference to surface to delete |
Definition at line 121 of file CSGBase.C.
| void CSG::CSGBase::deleteUniverse | ( | const CSGUniverse & | univ | ) |
Remove a Universe object passed in by reference from the stored universe list.
Any CSG components connected to universe will not be recursively removed.
| univ | reference to universe to delete |
Definition at line 510 of file CSGBase.C.
| void CSG::CSGBase::expandAllEngUnits | ( | ) |
Expand all registered engineering units into basic CSG objects.
Each expanded EngUnit is removed from the engineering unit list and replaced by the corresponding plain CSG object(s) in the standard lists. After this call, the engineering unit list is empty.
Definition at line 1316 of file CSGBase.C.
|
private |
Recursive implementation of expandAllEngUnits().
Each call is one pass: all eng units currently in the base are expanded, then if new units were created the function calls itself to expand them. The set of unit types present at the start of each pass is recorded. If that exact combination was seen in a prior pass, expansion is detected to be a circular dependency and an error is raised.
| all_type_sets | set of the sets of types seen in each pass of expandAllEngUnitsCycle |
Definition at line 1323 of file CSGBase.C.
| const CSGCell & CSG::CSGBase::expandEngUnit | ( | const CSGCellEngUnit & | unit | ) |
Expand a cell-like engineering unit into a basic CSGCell.
Calls expandUnit() on the EngUnit to create a basic CSGCell, then replaces every reference to the EngUnit in every universe with the new expanded CSGCell. The EngUnit is then removed from the engineering unit list and destroyed.
| unit | identifies the CSGCellEngUnit to expand. Passed by const reference because the expansion does not mutate through this handle; it operates on and consumes the owned instance re-fetched from the cell list by name. |
Definition at line 1418 of file CSGBase.C.
| CSGRegion CSG::CSGBase::expandEngUnit | ( | const CSGSurfaceEngUnit & | unit | ) |
Expand a surface-like engineering unit into basic CSGSurface(s) and return the CSGRegion representing the EngUnit's geometry.
Calls expandUnit() then calls getExpansionRegion() to obtain the combined CSGRegion. Every occurrence of the EngUnit as a surface reference in any existing cell region is replaced with the sub-region. The EngUnit is then removed from the engineering unit list and destroyed.
| unit | identifies the CSGSurfaceEngUnit to expand. Passed by const reference because the expansion does not mutate through this handle; it operates on and consumes the owned instance re-fetched from the surface list by name. |
Definition at line 1370 of file CSGBase.C.
| const CSGUniverse & CSG::CSGBase::expandEngUnit | ( | const CSGUniverseEngUnit & | unit | ) |
Expand a universe-like engineering unit into a basic CSGUniverse.
Calls expandUnit() on the EngUnit to create the equivalent CSGUniverse and any necessary additional CSG components. All references to the original EngUnit in all cell fills, lattice universe maps/outers, and the root universe pointer are replaced with new CSGUniverse. The EngUnit is then removed from the engineering unit list and destroyed.
| unit | identifies the CSGUniverseEngUnit to expand. Passed by const reference because the expansion does not mutate through this handle; it operates on and consumes the owned instance re-fetched from the universe list by name. |
Definition at line 1460 of file CSGBase.C.
|
private |
|
private |
|
private |
Friends for unit testing.
|
private |
|
private |
|
private |
| nlohmann::json CSG::CSGBase::generateOutput | ( | ) | const |
generate the JSON representation output for the CSG object
Definition at line 1590 of file CSGBase.C.
|
inline |
Get all cell-like engineering units in CSGBase.
Definition at line 649 of file CSGBase.h.
Referenced by CSGBase().
|
inline |
Get all cell objects.
Definition at line 204 of file CSGBase.h.
|
inline |
Get all engineering units of all types in CSGBase.
Definition at line 629 of file CSGBase.h.
|
inline |
Get all lattice objects.
Definition at line 491 of file CSGBase.h.
|
inline |
Get all surface-like engineering units in CSGBase.
Definition at line 639 of file CSGBase.h.
|
inline |
Get all surface objects.
Definition at line 101 of file CSGBase.h.
|
inline |
Get all universe-like engineering units.
Definition at line 659 of file CSGBase.h.
Referenced by CSGBase().
|
inline |
Get all universe objects.
Definition at line 365 of file CSGBase.h.
|
inline |
|
inlineprivate |
Get a non-const reference to the CSGCellList object.
Definition at line 993 of file CSGBase.h.
|
inlineprivate |
Get a const reference to the CSGCellList object.
Definition at line 986 of file CSGBase.h.
Referenced by CSGBase(), operator==(), replaceLatticeRefsByName(), replaceSurfaceRefsByName(), and replaceUniverseRefsByName().
|
inline |
Get a engineering unit object of the specified type by name.
This is a templated method with a default type of CSGEngUnit. If a specific unit type is needed, it can be specified when calling. If the type is unknown or not specified, it will default to CSGEngUnit to get the base class reference. NOTE: if CSGEngUnit is used as the template type, any type-specific attributes or methods may not be accessible, except using a reference cast.
| name | engineering unit name |
Definition at line 597 of file CSGBase.h.
|
inlineprivate |
Get a const reference to the CSGEngUnitList object.
Definition at line 1086 of file CSGBase.h.
Referenced by operator==().
|
inline |
Get a lattice object of the specified type by name.
This is a templated method with a default type of CSGLattice. If a specific lattice type is needed, it can be specified when calling. If the type is unknown or not specified, it will default to CSGLattice to get the base class reference. NOTE: if CSGLattice is used as the template type, any lattice type-specific attributes or methods may not be accessible, except using a reference cast.
| name | lattice name |
Definition at line 509 of file CSGBase.h.
|
inlineprivate |
|
inlineprivate |
Get a const reference to the CSGLatticeList object.
Definition at line 1014 of file CSGBase.h.
Referenced by CSGBase(), operator==(), and replaceUniverseRefsByName().
|
private |
Recursive method to retrieve all universes, cells, and surfaces linked to current universe.
| univ | Reference to universe under consideration |
| linked_universe_names | List of universe names linked to current universe |
| linked_cell_names | List of cell names linked to current universe |
| linked_surface_names | List of surface names linked to current universe |
Definition at line 1257 of file CSGBase.C.
|
inline |
Get the Root Universe object.
Definition at line 277 of file CSGBase.h.
Referenced by addEngUnit(), and CSGBase().
|
inlineprivate |
Get a Surface object by name.
Note: This is a private method that returns a non-const reference. For the public method that returns a const reference, use getSurfaceByName
| name | surface name |
Definition at line 936 of file CSGBase.h.
|
inline |
|
inlineprivate |
Get a non-const reference to the CSGSurfaceList object.
Definition at line 979 of file CSGBase.h.
|
inlineprivate |
Get a const reference to the CSGSurfaceList object.
Definition at line 972 of file CSGBase.h.
Referenced by operator==(), and updateIncomingCSGReferences().
|
inline |
|
inlineprivate |
Get a non-const reference to the CSGUniverseList object.
Definition at line 1007 of file CSGBase.h.
|
inlineprivate |
Get a const reference to the CSGUniverseList object.
Definition at line 1000 of file CSGBase.h.
Referenced by CSGBase(), operator==(), and replaceCellRefsByName().
|
inline |
|
inline |
|
inline |
|
inline |
Check if a surface with given name exists in CSGBase object.
| name | surface name |
Definition at line 123 of file CSGBase.h.
|
inline |
|
private |
join a separate CSGCellList object to this one
| cell_list | CSGCellList from a separate CSGBase object |
| ignore_identical_cells | if true, will skip adding identical cells to the CSGBase object |
Definition at line 981 of file CSGBase.C.
|
private |
join a separate CSGLatticeList object to this one
| lattice_list | CSGLatticeList from a separate CSGBase object |
| ignore_identical_lattices | if true, will skip adding identical lattices to the CSGBase object |
Definition at line 989 of file CSGBase.C.
| void CSG::CSGBase::joinOtherBase | ( | std::unique_ptr< CSGBase > | base, |
| const bool | ignore_identical_components | ||
| ) |
Join another CSGBase object to this one.
The cells of the root universe of the incoming CSGBase will be added to the existing root universe of this CSGBase.
| base | pointer to a different CSGBase object |
| ignore_identical_components | if true, will skip adding identical components (surfaces, cells, universes, lattices) to the CSGBase object |
Definition at line 791 of file CSGBase.C.
| void CSG::CSGBase::joinOtherBase | ( | std::unique_ptr< CSGBase > | base, |
| const bool | ignore_identical_components, | ||
| const std::string & | new_root_name_base, | ||
| const std::string & | new_root_name_join | ||
| ) |
Join another CSGBase object to this one.
The root universe for the incoming CSGBase object is added to this CSGBase object as a non-root universe with a new name. The root universe of this CSGBase object will be renamed and designated as non-root. Note: upon completion of this join method, the root universe of this CSGBase object will be empty. Neither of the new non-root universes will be connected to the new root universe by default.
| base | pointer to a different CSGBase object |
| ignore_identical_components | if true, will skip adding identical components (surfaces, cells, universes, lattices) to the CSGBase object |
| new_root_name_base | new name for universe generated from this root universe |
| new_root_name_join | new name for the universe generated from the incoming root universe |
Definition at line 823 of file CSGBase.C.
| void CSG::CSGBase::joinOtherBase | ( | std::unique_ptr< CSGBase > | base, |
| const bool | ignore_identical_components, | ||
| const std::string & | new_root_name_join | ||
| ) |
Join another CSGBase object to this one.
For the incoming CSGBase object, the root universe is added to this CSGBase object as a new non-root universe with the specified new name. Note: this newly created universe will not be connected to the root universe of this CSGBase object by default.
| base | pointer to a different CSGBase object |
| ignore_identical_components | if true, will skip adding identical components (surfaces, cells, universes, lattices) to the CSGBase object |
| new_root_name_join | new name for the universe generated from the incoming root universe |
Definition at line 806 of file CSGBase.C.
|
private |
join a separate CSGSurfaceList object to this one
| surf_list | CSGSurfaceList from a separate CSGBase object |
| ignore_identical_surfaces | if true, will skip adding identical surfaces to the CSGBase object |
Definition at line 973 of file CSGBase.C.
|
private |
join a separate CSGUniverseList object to this one; root universes from univ_list will be combined into this root universe
| univ_list | CSGUniverseList from a separate CSGBase object |
| ignore_identical_universes | if true, will skip adding identical universes to the CSGBase object |
Definition at line 1015 of file CSGBase.C.
|
private |
join a separate CSGUniverseList object to this one; both this root universe and the incoming root universe will be maintained as separate universes of the specified names.
Note: upon completion of this join method, the root universe will be empty.
| univ_list | CSGUniverseList from a separate CSGBase object |
| ignore_identical_universes | if true, will skip adding identical lattices to the CSGBase object |
| new_root_name_base | new name for universe generated from this root universe |
| new_root_name_incoming | new name for the universe generated from the incoming root universe |
Definition at line 1057 of file CSGBase.C.
|
private |
join a separate CSGUniverseList object to this one; the incoming root universe will be moved to a new universe of the new name specified.
| univ_list | CSGUniverseList from a separate CSGBase object |
| ignore_identical_universes | if true, will skip adding identical universes to the CSGBase object |
| new_root_name_incoming | new name for the universe generated from the incoming root universe |
Definition at line 1035 of file CSGBase.C.
| bool CSG::CSGBase::operator!= | ( | const CSGBase & | other | ) | const |
| bool CSG::CSGBase::operator== | ( | const CSGBase & | other | ) | const |
Operator overload for checking if two CSGBase objects are equal.
Definition at line 1720 of file CSGBase.C.
|
private |
warn and remove cell from any universe that contains it
Definition at line 339 of file CSGBase.C.
|
private |
error if surface is referenced in any cell region
Definition at line 106 of file CSGBase.C.
|
private |
error if universe is the root, used in any lattice, or used as a cell fill
Definition at line 476 of file CSGBase.C.
|
private |
rebuilds the list of raw pointers to engineering units by iterating through the surface, cell, and universe lists.
Definition at line 997 of file CSGBase.C.
Referenced by CSGBase().
| void CSG::CSGBase::removeCellFromUniverse | ( | const CSGUniverse & | universe, |
| const CSGCell & | cell | ||
| ) |
Remove a cell from an existing universe.
| universe | universe from which to remove the cell |
| cell | cell to remove |
Definition at line 555 of file CSGBase.C.
| void CSG::CSGBase::removeCellsFromUniverse | ( | const CSGUniverse & | universe, |
| std::vector< std::reference_wrapper< const CSGCell > > & | cells | ||
| ) |
Remove a list of cells from an existing universe.
| universe | universe from which to remove the cells |
| cells | list of references to cells to remove |
| void CSG::CSGBase::renameCell | ( | const CSGCell & | cell, |
| const std::string & | name | ||
| ) |
rename the specified cell
| cell | reference to CSGCell to rename |
| name | new name |
Definition at line 1179 of file CSGBase.C.
| void CSG::CSGBase::renameEngUnit | ( | const CSGEngUnit & | unit, |
| const std::string & | name | ||
| ) |
Rename the specified engineering unit.
| unit | reference to engineering unit to rename |
| name | new name |
Definition at line 1148 of file CSGBase.C.
|
inline |
rename the lattice
| lattice | lattice to rename |
| name | new name |
Definition at line 456 of file CSGBase.h.
|
inline |
rename the root universe for this instance (default is ROOT_UNIVERSE)
| name | new name for the root universe |
| void CSG::CSGBase::renameSurface | ( | const CSGSurface & | surface, |
| const std::string & | name | ||
| ) |
rename the specified surface
| surface | CSGSurface to rename |
| name | new name |
Definition at line 1165 of file CSGBase.C.
| void CSG::CSGBase::renameUniverse | ( | const CSGUniverse & | universe, |
| const std::string & | name | ||
| ) |
rename the specified universe
| universe | reference to CSGUniverse to rename |
| name | new name |
Definition at line 1192 of file CSGBase.C.
Referenced by renameRootUniverse().
Replace all old_cell references with new_cell across all universes in the base.
Definition at line 1560 of file CSGBase.C.
|
private |
update cell references of incoming CSGbase to point to those of existing CSGBase object based on CSGCell name.
This involves updating the cell references of universes.
| identical_cell_refs | map of cell names to cell references that will be used for replacement |
| base | CSGBase object that contains references that should be updated |
Definition at line 902 of file CSGBase.C.
|
private |
update lattice references of incoming CSGbase to point to those of existing CSGBase object based on CSGLattice name.
This involves updating the lattice references of cells.
| identical_lattice_refs | map of lattice names to lattice references that will be used for replacement |
| base | CSGBase object that contains references that should be updated |
Definition at line 954 of file CSGBase.C.
|
private |
update surface references of incoming CSGBase to point to those of existing CSGBase object based on CSGSurface name.
This involves updating the surface references of cell regions.
| identical_surface_refs | map of surface names to surface references that will be used for replacement |
| base | CSGBase object that contains references that should be updated |
Definition at line 892 of file CSGBase.C.
|
private |
Replace all region occurrences of old_surf with the tokens from sub_region across all cells in the base.
Definition at line 1575 of file CSGBase.C.
|
private |
Replace all cell fills and lattice elements/outers referencing old_univ with new_univ.
Definition at line 1530 of file CSGBase.C.
|
private |
update universe references of incoming CSGbase to point to those of existing CSGBase object based on CSGUniverse name.
This involves updating the universe references of cells and universe references of lattices.
| identical_universe_refs | map of universe names to universe references that will be used for replacement |
| base | CSGBase object that contains references that should be updated |
Definition at line 917 of file CSGBase.C.
| void CSG::CSGBase::resetCellFill | ( | const CSGCell & | cell | ) |
reset the fill of the specified cell to void
| cell | cell to update the fill for |
Definition at line 393 of file CSGBase.C.
| void CSG::CSGBase::resetLatticeOuter | ( | const CSGLattice & | lattice | ) |
reset the outer fill for the lattice to VOID
| lattice | lattice to update |
Definition at line 607 of file CSGBase.C.
| void CSG::CSGBase::setLatticeOuter | ( | const CSGLattice & | lattice, |
| const CSGUniverse & | outer_univ | ||
| ) |
Set the outer fill for the lattice to the universe provided.
This will set the outer type to UNIVERSE regardless of its previous outer type.
| lattice | lattice to update |
| outer_univ | universe to use as outer fill between lattice elements |
Definition at line 593 of file CSGBase.C.
| void CSG::CSGBase::setLatticeOuter | ( | const CSGLattice & | lattice, |
| const std::string & | outer_name | ||
| ) |
Set the outer fill for the lattice to the material name provided.
This will set the outer type to CSG_MATERIAL regardless of its previous outer type.
| lattice | lattice to update |
| outer_name | name of material to use as outer fill between lattice elements |
Definition at line 582 of file CSGBase.C.
| void CSG::CSGBase::setLatticeUniverses | ( | const CSGLattice & | lattice, |
| std::vector< std::vector< std::reference_wrapper< const CSGUniverse > > > & | universes | ||
| ) |
Set provided universes as the layout of the lattice.
| lattice | lattice to add universes to |
| universes | list of list of universes in the proper layout for the lattice type and dimensions |
Definition at line 634 of file CSGBase.C.
| void CSG::CSGBase::setUniverseAtLatticeIndex | ( | const CSGLattice & | lattice, |
| const CSGUniverse & | universe, | ||
| std::pair< int, int > | index | ||
| ) |
set location in the lattice to be the provided universe
| lattice | lattice to update |
| universe | universe to set at the location |
| index | index of the lattice element (int, int) |
Definition at line 618 of file CSGBase.C.
|
inlineprivate |
Returns the CSGSurfaceEngUnit pointer if surf is an eng unit, nullptr otherwise.
Usable as a boolean check or to access the eng unit directly.
| surf | CSGSurface to check/get as an engineering unit |
Definition at line 1207 of file CSGBase.h.
|
inlineprivate |
Returns the CSGUniverseEngUnit pointer if univ is an eng unit, nullptr otherwise.
Usable as a boolean check or to access the eng unit directly.
| univ | CSGUniverse to check/get as an engineering unit |
Definition at line 1231 of file CSGBase.h.
Referenced by CSGBase().
| void CSG::CSGBase::updateCellFill | ( | const CSGCell & | cell, |
| const CSGLattice * | lattice | ||
| ) |
change the fill of the specified cell to a lattice fill
| cell | cell to update the fill for |
| lattice | pointer to lattice fill |
Definition at line 446 of file CSGBase.C.
| void CSG::CSGBase::updateCellFill | ( | const CSGCell & | cell, |
| const CSGUniverse * | univ | ||
| ) |
change the fill of the specified cell to a universe fill
| cell | cell to update the fill for |
| univ | pointer to universe fill |
Definition at line 425 of file CSGBase.C.
| void CSG::CSGBase::updateCellFill | ( | const CSGCell & | cell, |
| const std::string & | mat_name | ||
| ) |
change the fill of the specified cell to a material fill
| cell | cell to update the fill for |
| mat_name | name of material fill |
Definition at line 409 of file CSGBase.C.
change the region of the specified cell
| cell | cell to update the region for |
| region | new region to assign to cell |
Definition at line 376 of file CSGBase.C.
|
private |
update references of incoming CSGbase to point to those of existing CSGBase object.
This includes updating the surface references of cell regions, universe/lattice references of cell fills, cell references of universes, and universe references of lattices
| incoming_base | CSGBase object that contains references that should be updated |
Definition at line 842 of file CSGBase.C.
|
private |
List of cells associated with CSG object.
Definition at line 1264 of file CSGBase.h.
Referenced by addEngUnit(), CSGBase(), getAllCells(), getCellByName(), getCellList(), getCellList(), and hasCell().
|
private |
Container for all associated engineering units.
Definition at line 1273 of file CSGBase.h.
Referenced by addEngUnit(), getAllCellEngUnits(), getAllEngUnits(), getAllSurfaceEngUnits(), getAllUniverseEngUnits(), getEngUnitByName(), getEngUnitList(), and hasEngUnit().
|
private |
List of lattices associated with CSG object.
Definition at line 1270 of file CSGBase.h.
Referenced by addLattice(), getAllLattices(), getLatticeByName(), getLatticeList(), getLatticeList(), hasLattice(), and renameLattice().
|
private |
List of surfaces associated with CSG object.
Definition at line 1261 of file CSGBase.h.
Referenced by addEngUnit(), getAllSurfaces(), getSurface(), getSurfaceByName(), getSurfaceList(), getSurfaceList(), and hasSurface().
|
private |
List of universes associated with CSG object.
Definition at line 1267 of file CSGBase.h.
Referenced by addEngUnit(), createUniverse(), getAllUniverses(), getRootUniverse(), getUniverseByName(), getUniverseList(), getUniverseList(), hasUniverse(), and renameRootUniverse().