|
minimc 0.5.1
|
A subset of \( \mathbb{R}^{3} \) defined by constructive solid geometry (CSG) surfaces. More...
#include <Cell.hpp>
Public Member Functions | |
| Cell (const pugi::xml_node &cell_node, const CSGSurfaceVector &all_surfaces, const MaterialVector &all_materials, const std::shared_ptr< const ScalarField > global_temperature) noexcept | |
| Constructs a Cell from an XML document. More... | |
| bool | Contains (const Point &p) const noexcept |
| Returns true if the point lies inside this Cell. | |
| std::tuple< std::shared_ptr< const CSGSurface >, Real > | NearestSurface (const Point &p, const Direction &d) const |
| Finds the nearest CSGSurface from a point along a given direction. More... | |
| bool | operator== (const Cell &rhs) const noexcept |
| Returns true if both Cell objects are the same object. | |
Public Attributes | |
| const std::string | name |
| Unique, user-defined identifier (C++ Core Guidelines C.131) | |
| const SurfaceSenses | surface_senses |
| All CSGSurface objects which make up this Cell. More... | |
| const std::shared_ptr< const Material > | material |
| Material this Cell is made of. A nullptr corresponds to a void. | |
| const std::shared_ptr< const ScalarField > | temperature |
| Temperature of the Cell. | |
A subset of \( \mathbb{R}^{3} \) defined by constructive solid geometry (CSG) surfaces.
|
noexcept |
Constructs a Cell from an XML document.
| cell_node | Cell node in XML document |
| all_surfaces | CSGSurface objects which may appear in this Cell |
| all_materials | Material objects which may appear in this Cell |
| global_temperature | If no temperature is found in the cell node, default to the global temperature |
| std::tuple< std::shared_ptr< const CSGSurface >, Real > Cell::NearestSurface | ( | const Point & | p, |
| const Direction & | d | ||
| ) | const |
Finds the nearest CSGSurface from a point along a given direction.
| p | position in the Cell |
| d | direction to search along |
| std::runtime_error | No CSGSurface found |
| const SurfaceSenses Cell::surface_senses |
All CSGSurface objects which make up this Cell.
All CSGSurfaces have a CSGSurface::Contains method which returns true if a Point lies on the "negative" side of the CSGSurface. This map returns true if the Cell lies in the "negative" side of the CSGSurface and false otherwise.