|
Celeritas 0.7.0-dev.170+develop.df22d2a88
|
Join all of the given objects with an intersection or union. More...
#include <CsgObject.hh>

Public Types | |
Type aliases | |
| using | VecObject = std::vector< SPConstObject > |
Public Types inherited from celeritas::orangeinp::ObjectInterface | |
| using | SPConstObject = std::shared_ptr< ObjectInterface const > |
| using | VolumeBuilder = detail::VolumeBuilder |
Public Member Functions | |
| JoinObjects (std::string &&label, VecObject &&objects) | |
| Construct with a name and a vector of objects. | |
| VecObject const & | daughters () const |
| Access the vector of daughter objects. | |
| std::string_view | label () const final |
| Get the user-provided label. | |
| NodeId | build (VolumeBuilder &) const final |
| Construct a volume from the joined objects. | |
| void | output (JsonPimpl *) const final |
| Output to JSON. | |
Public Member Functions inherited from celeritas::orangeinp::ObjectInterface | |
| virtual | ~ObjectInterface ()=0 |
| Anchored default destructor. | |
Static Public Member Functions | |
| static SPConstObject | or_object (std::string &&label, VecObject &&objects) |
| Construct a joined object if nontrivial, or return the original. | |
Static Public Attributes | |
| static constexpr OperatorToken | op_token = Op |
| Operation joining the daughters ("and" or "or") | |
Additional Inherited Members | |
Protected Member Functions inherited from celeritas::orangeinp::ObjectInterface | |
| CELER_DEFAULT_COPY_MOVE (ObjectInterface) | |
Join all of the given objects with an intersection or union.
|
finalvirtual |
Construct a volume from the joined objects.
Implements celeritas::orangeinp::ObjectInterface.
|
inlinefinalvirtual |
Get the user-provided label.
Implements celeritas::orangeinp::ObjectInterface.
|
static |
Construct a joined object if nontrivial, or return the original.
This should only be called if the label of the resulting object is not important.
|
finalvirtual |
Output to JSON.
Implements celeritas::orangeinp::ObjectInterface.