Celeritas 0.6.0-rc.2.10+develop.de0a3a05
|
A shape that has undergone an intersection or combination of intersections. More...
#include <Solid.hh>
Public Types | |
Type aliases | |
using | OptionalRegion = std::optional< T > |
![]() | |
using | SPConstObject = std::shared_ptr< ObjectInterface const > |
using | VolumeBuilder = detail::VolumeBuilder |
Public Member Functions | |
Solid (std::string &&label, T &&interior, OptionalRegion &&excluded, SolidEnclosedAngle &&enclosed) | |
Construct with optional optional excluded region and enclosed angle. | |
Solid (std::string &&label, T &&interior, SolidEnclosedAngle &&enclosed) | |
Construct with an enclosed angle. | |
Solid (std::string &&label, T &&interior, T &&excluded) | |
Construct with an excluded interior. | |
Solid (std::string &&label, T &&interior, SolidZSlab &&z_slab) | |
Construct with only a z-slab. | |
std::string_view | label () const final |
Get the user-provided label. | |
IntersectRegionInterface const & | interior () const final |
Interior intersect region interface for construction and access. | |
IntersectRegionInterface const * | excluded () const final |
Access the optional excluded. | |
SolidEnclosedAngle | enclosed_angle () const final |
Optional angular restriction. | |
SolidZSlab | z_slab () const final |
Optional z-slab intersection. | |
![]() | |
NodeId | build (VolumeBuilder &) const final |
Construct a volume from this shape. | |
void | output (JsonPimpl *) const final |
Output to JSON. | |
![]() | |
virtual | ~ObjectInterface ()=0 |
Anchored default destructor. | |
Static Public Member Functions | |
static SPConstObject | or_shape (std::string &&label, T &&interior, OptionalRegion &&excluded, SolidEnclosedAngle &&enclosed) |
Return a solid or shape given an optional interior or enclosed angle. | |
Additional Inherited Members | |
![]() | |
CELER_DEFAULT_COPY_MOVE (SolidBase) | |
![]() | |
CELER_DEFAULT_COPY_MOVE (ObjectInterface) | |
A shape that has undergone an intersection or combination of intersections.
This shape may be: A) hollow (exluded interior), B) truncated azimuthally (enclosed angle), C) truncated in z (intersected with z-slab), D) both A and B.
Examples:
|
inlinefinalvirtual |
Optional angular restriction.
Implements celeritas::orangeinp::SolidBase.
|
finalvirtual |
Access the optional excluded.
Implements celeritas::orangeinp::SolidBase.
|
inlinefinalvirtual |
Interior intersect region interface for construction and access.
Implements celeritas::orangeinp::SolidBase.
|
inlinefinalvirtual |
Get the user-provided label.
Implements celeritas::orangeinp::ObjectInterface.
|
inlinefinalvirtual |
Optional z-slab intersection.
Implements celeritas::orangeinp::SolidBase.