https://mooseframework.inl.gov
Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Friends | List of all members
CSG::CSGCell Class Reference

CSGCell creates an internal representation of a Constructive Solid Geometry (CSG) cell, which represents a region of space filled by a material or void. More...

#include <CSGCell.h>

Inheritance diagram for CSG::CSGCell:
[legend]

Public Member Functions

 CSGCell (const std::string &name, const CSGRegion &region)
 Constructor for void cell.
 
 CSGCell (const std::string &name, const std::string &mat_name, const CSGRegion &region)
 Constructor for Material Cell.
 
 CSGCell (const std::string &name, const CSGUniverse *univ, const CSGRegion &region)
 Constructor for Universe Cell.
 
 CSGCell (const std::string &name, const CSGLattice *lattice, const CSGRegion &region)
 Constructor for a Lattice Cell.
 
virtual ~CSGCell ()=default
 Destructor.
 
const std::string getFillType () const
 Get the type of fill for the cell.
 
const CSGUniversegetFillUniverse () const
 Get the cell fill if fill type is UNIVERSE.
 
const std::string & getFillMaterial () const
 Get the cell fill material name if fill fype is CSG_MATERIAL.
 
const CSGLatticegetFillLattice () const
 Get the cell fill if fill type is LATTICE.
 
const std::string & getFillName () const
 Get the name of the fill, regardless of its type.
 
const std::string & getName () const
 Get the cell name.
 
const CSGRegiongetRegion () const
 Get the cell region.
 
void resetCellFill ()
 Reset the cell fill to void.
 
virtual bool isEngUnit () const
 Whether this cell is an engineering unit.
 
bool operator== (const CSGCell &other) const
 Operator overload for checking if two CSGCell objects are equal.
 
bool operator!= (const CSGCell &other) const
 Operator overload for checking if two CSGCell objects are not equal.
 
const std::vector< std::pair< TransformationType, std::tuple< Real, Real, Real > > > & getTransformations () const
 Get the list of transformations.
 
std::vector< std::pair< std::string, std::tuple< Real, Real, Real > > > getTransformationsAsStrings () const
 Get the transformations of this object with string representations for types.
 

Static Public Member Functions

static bool isValidTransformationValue (TransformationType type, const std::tuple< Real, Real, Real > &values)
 Check if the transformation value is valid for the given type.
 
static std::string getTransformationTypeString (TransformationType type)
 Get the string representation of the transformation type.
 

Protected Member Functions

void setName (const std::string &name)
 
void updateRegion (const CSGRegion &region)
 
void updateCellFill (const std::string &mat_name)
 Set the cell fill to a material name.
 
void updateCellFill (const CSGUniverse *univ)
 Set the cell fill to a universe.
 
void updateCellFill (const CSGLattice *lattice)
 Set the cell fill to a lattice.
 
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 addTransformation (TransformationType type, const std::tuple< Real, Real, Real > &values)
 Add a transformation to the list of transformations.
 
Point applyReverseTransformsToPoint (Point p) const
 update the value of point p by applying the inverse of the list of transformations to the point
 
 FRIEND_TEST (CSGCellTest, testSetName)
 Friends for unit testing.
 
 FRIEND_TEST (CSGCellTest, testUpdateRegion)
 
 FRIEND_TEST (CSGCellTest, testCellEquality)
 
 FRIEND_TEST (CSGCellTest, testUpdateFill)
 
 FRIEND_TEST (CSGSurfaceTest, testHalfspaceWithTransform)
 Friends for unit testing.
 
 FRIEND_TEST (CSGSurfaceTest, testHalfspaceWithNullTransform)
 
 FRIEND_TEST (CSGEngUnitTest, testEngUnitEqual)
 

Protected Attributes

std::string _name
 Name of surface.
 
MooseEnum _fill_type {"VOID CSG_MATERIAL UNIVERSE LATTICE"}
 An enum for type of fill for cell region.
 
std::string _fill_name
 name of the fill object for CSG_MATERIAL fills
 
CSGRegion _region
 Cell region, represented as a CSGRegion object.
 
const CSGUniverse_fill_universe
 Fill object if fill is CSGUniverse.
 
const CSGLattice_fill_lattice
 Fill object if fill is CSGLattice.
 
std::vector< std::pair< TransformationType, std::tuple< Real, Real, Real > > > _transformations
 List of transformations applied to this object.
 

Friends

class CSGCellList
 
class CSGBase
 

Detailed Description

CSGCell creates an internal representation of a Constructive Solid Geometry (CSG) cell, which represents a region of space filled by a material or void.

Definition at line 29 of file CSGCell.h.

Constructor & Destructor Documentation

◆ CSGCell() [1/4]

CSG::CSGCell::CSGCell ( const std::string &  name,
const CSGRegion region 
)

Constructor for void cell.

Parameters
namename of cell
regioncell region

Definition at line 19 of file CSGCell.C.

20 : _name(name), _fill_name(""), _region(region)
21{
23 _fill_type = "VOID";
24}
CSGRegion _region
Cell region, represented as a CSGRegion object.
Definition CSGCell.h:193
std::string _name
Name of surface.
Definition CSGCell.h:184
std::string _fill_name
name of the fill object for CSG_MATERIAL fills
Definition CSGCell.h:190
MooseEnum _fill_type
An enum for type of fill for cell region.
Definition CSGCell.h:187
void checkValidCSGName(const std::string &name)
Check name of CSG component for disallowed characters and symbols.
Definition CSGUtils.C:36

◆ CSGCell() [2/4]

CSG::CSGCell::CSGCell ( const std::string &  name,
const std::string &  mat_name,
const CSGRegion region 
)

Constructor for Material Cell.

Parameters
namename of cell
mat_namename of the CSG material (not a MOOSE material) to use as the cell fill
regioncell region

Definition at line 26 of file CSGCell.C.

27 : _name(name), _fill_name(mat_name), _region(region)
28{
30 _fill_type = "CSG_MATERIAL";
31}

◆ CSGCell() [3/4]

CSG::CSGCell::CSGCell ( const std::string &  name,
const CSGUniverse univ,
const CSGRegion region 
)

Constructor for Universe Cell.

Parameters
namename of cell
univuniverse to be the fill
regioncell region

Definition at line 33 of file CSGCell.C.

34 : _name(name), _fill_name(""), _region(region), _fill_universe(univ)
35{
37 _fill_type = "UNIVERSE";
38}
const CSGUniverse * _fill_universe
Fill object if fill is CSGUniverse.
Definition CSGCell.h:196

◆ CSGCell() [4/4]

CSG::CSGCell::CSGCell ( const std::string &  name,
const CSGLattice lattice,
const CSGRegion region 
)

Constructor for a Lattice Cell.

Parameters
namename of cell
latticelattice to be the fill
regioncell region

Definition at line 40 of file CSGCell.C.

41 : _name(name), _fill_name(""), _region(region), _fill_lattice(lattice)
42{
44 _fill_type = "LATTICE";
45}
const CSGLattice * _fill_lattice
Fill object if fill is CSGLattice.
Definition CSGCell.h:199

◆ ~CSGCell()

virtual CSG::CSGCell::~CSGCell ( )
virtualdefault

Destructor.

Member Function Documentation

◆ addTransformation()

void CSG::CSGTransformationHelper::addTransformation ( TransformationType  type,
const std::tuple< Real, Real, Real > &  values 
)
protectedinherited

Add a transformation to the list of transformations.

Parameters
typeThe type of transformation
valuesThe values for the transformation

Definition at line 16 of file CSGTransformationHelper.C.

18{
20 mooseError("Invalid transformation values provided for transformation type " +
22 _transformations.emplace_back(type, values);
23}
void mooseError(Args &&... args)
Emit an error message with the given stringified, concatenated args and terminate the application.
Definition MooseError.h:311
std::array< Real, 2 > values
Definition MortarUtils.C:52
static std::string getTransformationTypeString(TransformationType type)
Get the string representation of the transformation type.
static bool isValidTransformationValue(TransformationType type, const std::tuple< Real, Real, Real > &values)
Check if the transformation value is valid for the given type.
std::vector< std::pair< TransformationType, std::tuple< Real, Real, Real > > > _transformations
List of transformations applied to this object.

Referenced by CSG::CSGBase::addTransformation(), CSG::CSGBase::expandEngUnit(), CSG::CSGBase::expandEngUnit(), and CSG::CSGBase::expandEngUnit().

◆ applyReverseTransformsToPoint()

Point CSG::CSGTransformationHelper::applyReverseTransformsToPoint ( Point  p) const
protectedinherited

update the value of point p by applying the inverse of the list of transformations to the point

Parameters
ppoint to transform
Returns
transformed point

Definition at line 74 of file CSGTransformationHelper.C.

75{
76 // iterate list of transformations in reverse and apply the inverse operation
77 for (auto it = _transformations.rbegin(); it != _transformations.rend(); ++it)
78 {
79 auto trans_type = it->first;
80 auto val = it->second;
81
82 if (trans_type == TransformationType::TRANSLATION)
83 {
84 Point offset(std::get<0>(val), std::get<1>(val), std::get<2>(val));
85 p -= offset;
86 }
87 else if (trans_type == TransformationType::SCALE)
88 {
89 Point scale(std::get<0>(val), std::get<1>(val), std::get<2>(val));
90 for (int i = 0; i < 3; ++i)
91 p(i) /= scale(i);
92 }
93 else if (trans_type == TransformationType::ROTATION)
94 {
95 // get the transpose of the original rotation matrix and apply to point p
96 const auto rot_matrix = RealTensorValue::intrinsic_rotation_matrix(
97 std::get<0>(val), std::get<1>(val), std::get<2>(val));
98 const auto rot_transpose = rot_matrix.transpose();
99 p = rot_transpose * p;
100 }
101 else
102 mooseError("Transformation type is not recognized.");
103 }
104 return p;
105}
Real scale
Definition MortarUtils.C:62

Referenced by CSG::CSGSurface::getHalfspaceFromPoint().

◆ FRIEND_TEST() [1/7]

CSG::CSGCell::FRIEND_TEST ( CSGCellTest  ,
testCellEquality   
)
protected

◆ FRIEND_TEST() [2/7]

CSG::CSGCell::FRIEND_TEST ( CSGCellTest  ,
testSetName   
)
protected

Friends for unit testing.

◆ FRIEND_TEST() [3/7]

CSG::CSGCell::FRIEND_TEST ( CSGCellTest  ,
testUpdateFill   
)
protected

◆ FRIEND_TEST() [4/7]

CSG::CSGCell::FRIEND_TEST ( CSGCellTest  ,
testUpdateRegion   
)
protected

◆ FRIEND_TEST() [5/7]

CSG::CSGTransformationHelper::FRIEND_TEST ( CSGEngUnitTest  ,
testEngUnitEqual   
)
protectedinherited

◆ FRIEND_TEST() [6/7]

CSG::CSGTransformationHelper::FRIEND_TEST ( CSGSurfaceTest  ,
testHalfspaceWithNullTransform   
)
protectedinherited

◆ FRIEND_TEST() [7/7]

CSG::CSGTransformationHelper::FRIEND_TEST ( CSGSurfaceTest  ,
testHalfspaceWithTransform   
)
protectedinherited

Friends for unit testing.

◆ getFillLattice()

const CSGLattice & CSG::CSGCell::getFillLattice ( ) const

Get the cell fill if fill type is LATTICE.

Returns
Reference to CSGLattice fill

Definition at line 77 of file CSGCell.C.

78{
79 if (getFillType() != "LATTICE")
80 mooseError("Cell '" + getName() + "' has " + getFillType() + " fill, not LATTICE.");
81 else
82 return *_fill_lattice;
83}
const std::string & getName() const
Get the cell name.
Definition CSGCell.h:112
const std::string getFillType() const
Get the type of fill for the cell.
Definition CSGCell.h:77

Referenced by CSG::CSGBase::addCellToList(), and operator==().

◆ getFillMaterial()

const std::string & CSG::CSGCell::getFillMaterial ( ) const

Get the cell fill material name if fill fype is CSG_MATERIAL.

Returns
name of the cell's CSG material fill

Definition at line 68 of file CSGCell.C.

69{
70 if (getFillType() != "CSG_MATERIAL")
71 mooseError("Cell '" + getName() + "' has " + getFillType() + " fill, not CSG_MATERIAL.");
72 else
73 return _fill_name;
74}

Referenced by CSG::CSGBase::addCellToList(), and operator==().

◆ getFillName()

const std::string & CSG::CSGCell::getFillName ( ) const

Get the name of the fill, regardless of its type.

Returns
std::string fill name

Definition at line 48 of file CSGCell.C.

49{
50 if (getFillType() == "UNIVERSE")
51 return _fill_universe->getName();
52 else if (getFillType() == "LATTICE")
53 return _fill_lattice->getName();
54 else
55 return _fill_name;
56}
const std::string & getName() const
Get the name of lattice.
Definition CSGLattice.h:60
const std::string & getName() const
Get the name of the universe.
Definition CSGUniverse.h:80

Referenced by operator==().

◆ getFillType()

const std::string CSG::CSGCell::getFillType ( ) const
inline

Get the type of fill for the cell.

Returns
fill type

Definition at line 77 of file CSGCell.h.

77{ return _fill_type; }

Referenced by CSG::CSGBase::addCellToList(), getFillLattice(), getFillMaterial(), getFillName(), getFillUniverse(), operator==(), and CSG::CSGBase::replaceUniverseRefs().

◆ getFillUniverse()

const CSGUniverse & CSG::CSGCell::getFillUniverse ( ) const

Get the cell fill if fill type is UNIVERSE.

Returns
Reference to CSGUniverse fill

Definition at line 59 of file CSGCell.C.

60{
61 if (getFillType() != "UNIVERSE")
62 mooseError("Cell '" + getName() + "' has " + getFillType() + " fill, not UNIVERSE.");
63 else
64 return *_fill_universe;
65}

Referenced by CSG::CSGBase::addCellToList(), operator==(), and CSG::CSGBase::replaceUniverseRefs().

◆ getName()

const std::string & CSG::CSGCell::getName ( ) const
inline

◆ getRegion()

const CSGRegion & CSG::CSGCell::getRegion ( ) const
inline

Get the cell region.

Returns
const CSGRegion& region of the cell

Definition at line 119 of file CSGCell.h.

119{ return _region; }

Referenced by CSG::CSGBase::addCellToList(), operator==(), and CSG::CSGBase::replaceSurfaceRefsWithRegion().

◆ getTransformations()

const std::vector< std::pair< TransformationType, std::tuple< Real, Real, Real > > > & CSG::CSGTransformationHelper::getTransformations ( ) const
inlineinherited

◆ getTransformationsAsStrings()

std::vector< std::pair< std::string, std::tuple< Real, Real, Real > > > CSG::CSGTransformationHelper::getTransformationsAsStrings ( ) const
inherited

Get the transformations of this object with string representations for types.

Returns
Vector of transformation pairs with string representations for types

Definition at line 65 of file CSGTransformationHelper.C.

66{
67 std::vector<std::pair<std::string, std::tuple<Real, Real, Real>>> result;
68 for (const auto & transform_pair : _transformations)
69 result.emplace_back(getTransformationTypeString(transform_pair.first), transform_pair.second);
70 return result;
71}

Referenced by CSG::CSGCellEngUnit::getTransformationsAsStrings(), CSG::CSGSurfaceEngUnit::getTransformationsAsStrings(), and CSG::CSGUniverseEngUnit::getTransformationsAsStrings().

◆ getTransformationTypeString()

std::string CSG::CSGTransformationHelper::getTransformationTypeString ( TransformationType  type)
staticinherited

Get the string representation of the transformation type.

Parameters
typeThe transformation type
Returns
String name of the transformation type

Definition at line 56 of file CSGTransformationHelper.C.

57{
58 // Set the enum to the value and convert it to string
60 enum_copy = static_cast<int>(type);
61 return std::string(enum_copy);
62}
This is a "smart" enum class intended to replace many of the shortcomings in the C++ enum type It sho...
Definition MooseEnum.h:55
static const MooseEnum transformation_type_enum
MooseEnum for transformation types, matching the TransformationType enum values.

Referenced by CSG::CSGTransformationHelper::addTransformation(), and CSG::CSGTransformationHelper::getTransformationsAsStrings().

◆ isEngUnit()

virtual bool CSG::CSGCell::isEngUnit ( ) const
inlinevirtual

Whether this cell is an engineering unit.

Returns false for a plain CSGCell; overridden to return true by the engineering unit types. Used to avoid a dynamic_cast on the common plain-cell comparison path (see operator==).

Returns
true if this object is a CSGEngUnit, otherwise false

Reimplemented in CSG::CSGCellEngUnit.

Definition at line 136 of file CSGCell.h.

136{ return false; }

Referenced by operator==().

◆ isValidTransformationValue()

bool CSG::CSGTransformationHelper::isValidTransformationValue ( TransformationType  type,
const std::tuple< Real, Real, Real > &  values 
)
staticinherited

Check if the transformation value is valid for the given type.

Parameters
typeThe type of transformation
valuesThe values for the transformation
Returns
True if the values are valid for the type

Definition at line 26 of file CSGTransformationHelper.C.

28{
29 // Additional validation specific to each transformation type could be added here
30 switch (type)
31 {
33 // All translation values are inherently valid
34 return true;
35
37 // Rotation uses euler notation; values are angles in degrees (phi, theta, psi)
38 // For consistency with TransformGenerator, there are no restrictions on the angles
39 // phi: rotation around Z-axis
40 // theta: rotation around new X-axis
41 // psi: rotation around new Z-axis
42 return true;
43
45 // Scaling factors should be non-zero
46 if (std::get<0>(values) == 0.0 || std::get<1>(values) == 0.0 || std::get<2>(values) == 0.0)
47 return false;
48 return true;
49
50 default:
51 mooseError("Unknown transformation type");
52 }
53}

Referenced by CSG::CSGTransformationHelper::addTransformation().

◆ operator!=()

bool CSG::CSGCell::operator!= ( const CSGCell other) const

Operator overload for checking if two CSGCell objects are not equal.

Definition at line 159 of file CSGCell.C.

160{
161 return !(*this == other);
162}

◆ operator==()

bool CSG::CSGCell::operator== ( const CSGCell other) const

Operator overload for checking if two CSGCell objects are equal.

Definition at line 126 of file CSGCell.C.

127{
128 // If both objects are engineering units, delegate to CSGEngUnit::operator==. The
129 // isEngUnit() check keeps the common plain-cell path free of any dynamic_cast;
130 // the casts below only run once we know the objects are engineering units.
131 if (isEngUnit())
132 {
133 if (other.isEngUnit())
134 return *dynamic_cast<const CSGEngUnit *>(this) == *dynamic_cast<const CSGEngUnit *>(&other);
135 return false; // an engineering unit cannot equal a plain cell
136 }
137
138 const auto name_eq = this->getName() == other.getName();
139 const auto region_eq = this->getRegion() == other.getRegion();
140 const auto fill_type_eq =
141 (this->getFillType() == other.getFillType()) && (this->getFillName() == other.getFillName());
142 const auto transformations_eq = this->getTransformations() == other.getTransformations();
143 if (name_eq && region_eq && fill_type_eq && transformations_eq)
144 {
145 if (this->getFillType() == "CSG_MATERIAL")
146 return this->getFillMaterial() == other.getFillMaterial();
147 else if (this->getFillType() == "UNIVERSE")
148 return this->getFillUniverse() == other.getFillUniverse();
149 else if (this->getFillType() == "LATTICE")
150 return this->getFillLattice() == other.getFillLattice();
151 else
152 return true;
153 }
154 else
155 return false;
156}
const CSGRegion & getRegion() const
Get the cell region.
Definition CSGCell.h:119
const CSGLattice & getFillLattice() const
Get the cell fill if fill type is LATTICE.
Definition CSGCell.C:77
virtual bool isEngUnit() const
Whether this cell is an engineering unit.
Definition CSGCell.h:136
const CSGUniverse & getFillUniverse() const
Get the cell fill if fill type is UNIVERSE.
Definition CSGCell.C:59
const std::string & getFillMaterial() const
Get the cell fill material name if fill fype is CSG_MATERIAL.
Definition CSGCell.C:68
const std::string & getFillName() const
Get the name of the fill, regardless of its type.
Definition CSGCell.C:48
const std::vector< std::pair< TransformationType, std::tuple< Real, Real, Real > > > & getTransformations() const
Get the list of transformations.

◆ resetCellFill()

void CSG::CSGCell::resetCellFill ( )

Reset the cell fill to void.

Definition at line 86 of file CSGCell.C.

87{
88 _fill_name = "";
89 _fill_universe = nullptr;
90 _fill_lattice = nullptr;
91 _fill_type = "VOID";
92}

Referenced by CSG::CSGBase::resetCellFill(), updateCellFill(), updateCellFill(), and updateCellFill().

◆ setName()

void CSG::CSGCell::setName ( const std::string &  name)
inlineprotected

Definition at line 147 of file CSGCell.h.

147{ _name = name; }
std::string name(const ElemQuality q)

◆ updateCellFill() [1/3]

void CSG::CSGCell::updateCellFill ( const CSGLattice lattice)
protected

Set the cell fill to a lattice.

Parameters
latticelattice fill

Definition at line 111 of file CSGCell.C.

112{
114 _fill_type = "LATTICE";
115 _fill_lattice = lattice;
116}
void resetCellFill()
Reset the cell fill to void.
Definition CSGCell.C:86

◆ updateCellFill() [2/3]

void CSG::CSGCell::updateCellFill ( const CSGUniverse univ)
protected

Set the cell fill to a universe.

Parameters
univuniverse fill

Definition at line 103 of file CSGCell.C.

104{
106 _fill_type = "UNIVERSE";
107 _fill_universe = univ;
108}

◆ updateCellFill() [3/3]

void CSG::CSGCell::updateCellFill ( const std::string &  mat_name)
protected

Set the cell fill to a material name.

Parameters
mat_namename of material fill

Definition at line 95 of file CSGCell.C.

96{
98 _fill_type = "CSG_MATERIAL";
99 _fill_name = mat_name;
100}

Referenced by CSG::CSGBase::updateCellFill(), CSG::CSGBase::updateCellFill(), and CSG::CSGBase::updateCellFill().

◆ updateCellRegionSurfaces()

void CSG::CSGCell::updateCellRegionSurfaces ( std::map< std::string, std::reference_wrapper< const CSGSurface > > &  identical_surface_refs)
protected

Update surface references of cell region based on map of input surface references.

Parameters
identical_surface_refsmap of surface name to surface references that region should be defined with

Definition at line 119 of file CSGCell.C.

121{
122 _region.updateSurfaceReferences(identical_surface_refs);
123}
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.
Definition CSGRegion.C:275

◆ updateRegion()

void CSG::CSGCell::updateRegion ( const CSGRegion region)
inlineprotected

Definition at line 151 of file CSGCell.h.

151{ _region = region; }

Referenced by CSG::CSGBase::updateCellRegion().

Friends And Related Symbol Documentation

◆ CSGBase

friend class CSGBase
friend

Definition at line 202 of file CSGCell.h.

◆ CSGCellList

friend class CSGCellList
friend

Definition at line 201 of file CSGCell.h.

Member Data Documentation

◆ _fill_lattice

const CSGLattice* CSG::CSGCell::_fill_lattice
protected

Fill object if fill is CSGLattice.

Definition at line 199 of file CSGCell.h.

Referenced by getFillLattice(), getFillName(), resetCellFill(), and updateCellFill().

◆ _fill_name

std::string CSG::CSGCell::_fill_name
protected

name of the fill object for CSG_MATERIAL fills

Definition at line 190 of file CSGCell.h.

Referenced by getFillMaterial(), getFillName(), resetCellFill(), and updateCellFill().

◆ _fill_type

MooseEnum CSG::CSGCell::_fill_type {"VOID CSG_MATERIAL UNIVERSE LATTICE"}
protected

An enum for type of fill for cell region.

Definition at line 187 of file CSGCell.h.

187{"VOID CSG_MATERIAL UNIVERSE LATTICE"};

Referenced by CSGCell(), CSGCell(), CSGCell(), CSGCell(), getFillType(), resetCellFill(), updateCellFill(), updateCellFill(), and updateCellFill().

◆ _fill_universe

const CSGUniverse* CSG::CSGCell::_fill_universe
protected

Fill object if fill is CSGUniverse.

Definition at line 196 of file CSGCell.h.

Referenced by getFillName(), getFillUniverse(), resetCellFill(), and updateCellFill().

◆ _name

std::string CSG::CSGCell::_name
protected

Name of surface.

Definition at line 184 of file CSGCell.h.

Referenced by getName(), and setName().

◆ _region

CSGRegion CSG::CSGCell::_region
protected

Cell region, represented as a CSGRegion object.

Definition at line 193 of file CSGCell.h.

Referenced by getRegion(), updateCellRegionSurfaces(), and updateRegion().

◆ _transformations

std::vector<std::pair<TransformationType, std::tuple<Real, Real, Real> > > CSG::CSGTransformationHelper::_transformations
protectedinherited

The documentation for this class was generated from the following files: