2#ifndef VolumeReference_HPP
3#define VolumeReference_HPP
28 class VolumeBuilderBase;
70 std::enable_if_t<std::is_base_of_v<IStructureBuilder, T>,
int> = 0) :
VolumeBuilderBase<
A type-erased (data shared view) view of a builder or assembly, ie a "structure.".
VolumeBuilder: Common functionality for volume builder classes.
A polymorphic, type-erased "view" of any specialized builder.
SharedPtr< IStructureBuilder > clone_impl() const override
G4VSolid * SolidConstructor(const G4String &name) override
polymorphic access to solid construction
VolumeBuilderCore & operator=(const VolumeBuilderCore &other)=delete
VolumeBuilder ToVolumeBuilder() const override
Assembly CreateAssembly(G4String name)
Assembly of strucures, ie builders and/or other assemblies.
std::shared_ptr< T > shared_mutable_this(const std::enable_shared_from_this< T > *obj)