Celeritas 0.7.0-dev.245+develop.a7be925e
Loading...
Searching...
No Matches
Public Member Functions | List of all members
celeritas::orangeinp::ObjectInterface Class Referenceabstract

Base class for constructing high-level CSG objects in ORANGE. More...

#include <ObjectInterface.hh>

Inheritance diagram for celeritas::orangeinp::ObjectInterface:
Inheritance graph
[legend]

Public Types

Type aliases
using SPConstObject = std::shared_ptr< ObjectInterface const >
 
using VolumeBuilder = detail::VolumeBuilder
 

Public Member Functions

virtual ~ObjectInterface ()=0
 Anchored default destructor.
 
virtual std::string_view label () const =0
 Short unique name of this object.
 
virtual NodeId build (VolumeBuilder &) const =0
 Construct a volume from this object.
 
virtual void output (JsonPimpl *) const =0
 Write the region to a JSON object.
 

Protected Member Functions

 ObjectInterface (ObjectInterface const &)=default
 
ObjectInterfaceoperator= (ObjectInterface const &)=default
 
 ObjectInterface (ObjectInterface &&)=default
 
ObjectInterfaceoperator= (ObjectInterface &&)=default
 

Detailed Description

Base class for constructing high-level CSG objects in ORANGE.

Constructor & Destructor Documentation

◆ ObjectInterface() [1/3]

celeritas::orangeinp::ObjectInterface::ObjectInterface ( )
protecteddefault

Allow construction and assignment only through daughter classes

◆ ObjectInterface() [2/3]

celeritas::orangeinp::ObjectInterface::ObjectInterface ( ObjectInterface const )
protecteddefault

Allow construction and assignment only through daughter classes

◆ ObjectInterface() [3/3]

celeritas::orangeinp::ObjectInterface::ObjectInterface ( ObjectInterface &&  )
protecteddefault

Allow construction and assignment only through daughter classes

Member Function Documentation

◆ build()

virtual NodeId celeritas::orangeinp::ObjectInterface::build ( VolumeBuilder &  ) const
pure virtual

◆ label()

virtual std::string_view celeritas::orangeinp::ObjectInterface::label ( ) const
pure virtual

◆ operator=() [1/2]

ObjectInterface & celeritas::orangeinp::ObjectInterface::operator= ( ObjectInterface &&  )
protecteddefault

Allow construction and assignment only through daughter classes

◆ operator=() [2/2]

ObjectInterface & celeritas::orangeinp::ObjectInterface::operator= ( ObjectInterface const )
protecteddefault

Allow construction and assignment only through daughter classes

◆ output()

virtual void celeritas::orangeinp::ObjectInterface::output ( JsonPimpl ) const
pure virtual

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