19#ifndef BDSGEOMETRYWRITER_H
20#define BDSGEOMETRYWRITER_H
23#include "G4VisAttributes.hh"
31class G4VPhysicalVolume;
32struct G4GDMLAuxStructType;
52 const G4String& geometryFileName);
58 const G4Colour& colour);
65 void WriteToGDML(
const G4String& outputFileName, G4VPhysicalVolume* volume =
nullptr);
73 const std::map<G4LogicalVolume*, G4GDMLAuxStructType>& volToAuxMap);
77 static void AddLVColour(std::map<G4LogicalVolume*, G4GDMLAuxStructType>&, G4LogicalVolume* lv);
A class for writing fully constructed geometry from BDSIM out to other formats.
void WriteToGDML(const G4String &outputFileName, G4VPhysicalVolume *volume=nullptr)
static std::map< G4LogicalVolume *, G4GDMLAuxStructType > PrepareColourInformation(G4VPhysicalVolume *volume)
static const G4String auxType
"bds_vrgba" - short to minimise output file size: "bdsim visibility rgba"
static void AddLVColour(std::map< G4LogicalVolume *, G4GDMLAuxStructType > &, G4LogicalVolume *lv)
static G4String ColourToVRGBAString(G4bool visible, const G4Colour &colour)
static void RegisterVolumeAuxiliaryInformation(G4GDMLParser &parser, const std::map< G4LogicalVolume *, G4GDMLAuxStructType > &volToAuxMap)
Register the auxiliary information with the GDML parser (writer).
void ExportGeometry(const G4String &geometryType, const G4String &geometryFileName)