Celeritas  0.5.0-56+6b053cd
Public Member Functions | Static Public Member Functions | Static Public Attributes | List of all members
celeritas::orangeinp::JoinObjects< Op > Class Template Reference

Join all of the given objects with an intersection or union. More...

#include <CsgObject.hh>

Inheritance diagram for celeritas::orangeinp::JoinObjects< Op >:
Inheritance graph
[legend]

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 objets.
 
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. More...
 

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
 ObjectInterface ()=default
 
 CELER_DEFAULT_COPY_MOVE (ObjectInterface)
 

Detailed Description

template<OperatorToken Op>
class celeritas::orangeinp::JoinObjects< Op >

Join all of the given objects with an intersection or union.

Member Function Documentation

◆ or_object()

template<OperatorToken Op>
auto celeritas::orangeinp::JoinObjects< Op >::or_object ( std::string &&  label,
VecObject &&  objects 
)
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.


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