|
DLG4::VolumeBuilders
A fluent interface for Geant4 geometry definition.
|
#include <ISolidBuilder.hh>
Protected Member Functions | |
| virtual G4VSolid * | SolidConstructor (const G4String &name)=0 |
| virtual | ~IStructureBuilder ()=default |
| virtual SharedPtr< IStructureBuilder > | clone_impl () const =0 |
| virtual StructureBuilder | ToStructureView () const =0 |
| virtual VolumeBuilder | ToVolumeBuilder () const =0 |
Friends | |
| class | VolumeBuilderCore |
| class | StructureBuilderCore |
| template<typename T > | |
| class | StructureBuilderBase |
| class | AssemblyCore |
a non-fluent polymorphic class to access the derived solid-builder from a base reference: This gets used by VolumeBuiderReference to store pointers to derived methods.
a non-fluent polymorphic class to access the derived solid-builder from a base reference: This gets used by VolumeBuiderReference to store pointers to derived methods.
Definition at line 36 of file ISolidBuilder.hh.
|
protectedvirtualdefault |
|
protectedpure virtual |
|
protectedpure virtual |
Implemented in BoxBuilderCore, RZBuilderCore, VolumeBuilderCore, StructureBuilderBase< U >, StructureBuilderBase< AssemblyCore >, StructureBuilderBase< StructureBuilderCore >, VolumeBuilderBase< U >, VolumeBuilderBase< BoxBuilderCore >, VolumeBuilderBase< FromG4VSolidCore >, VolumeBuilderBase< RZBuilderCore >, and VolumeBuilderBase< VolumeBuilderCore >.
|
protectedpure virtual |
Implemented in StructureBuilderCore.
|
protectedpure virtual |
Implemented in VolumeBuilderCore.
|
friend |
Definition at line 42 of file ISolidBuilder.hh.
|
friend |
Definition at line 41 of file ISolidBuilder.hh.
|
friend |
A type-erased (data shared view) view of a builder or assembly, ie a "structure.".
Can hold other structures, creating placement hierarchies. Behaves like a buidler, but only for logical volume properties and placement related commands. You can set VisAtt on a structure, and can set offsets and rotations of the whole structure for placement.
While this base view only supports limited methods, it is fully polymorphic and builder objects internally can trigger their full build chain.
This derived clas really exists for parallelism with VolumeBuilderCore.
Definition at line 39 of file ISolidBuilder.hh.
|
friend |
A polymorphic, type-erased "view" of any specialized builder.
Use it to assign a specialized builder to a generic builder. But you don't use it directly. It has no direct public ctors or factories, but BuilderView(your_other_builder_object) constructs it as i_shared_ptr<VolumeBuilderCore> ( pointer-wrapped builder). Or pass your builder to something expecting a BuilderView, like ex: a std::vector<BuilderViewr>, aka a BuilderViewList.
Definition at line 38 of file ISolidBuilder.hh.