21#ifndef XML_VGM_WRITER_H
22#define XML_VGM_WRITER_H
53 virtual void OpenFile(std::string filePath) = 0;
81 const std::string& name,
const std::string& materialName) = 0;
134 std::string lvName,
const VGM::ISolid* solid, std::string mediumName) = 0;
The VGM interface to elements.
The VGM interface to elements.
The VGM interface to materials.
The VGM interface to tracking medium.
The VGM interface to positions of volumes.
The VGM interface to solids.
The interface for the XML writer that writes VGM geometry objects to XML:
virtual void WriteEmptyLine()=0
Write empty line.
virtual void WriteIsotope(const VGM::IIsotope *isotope)=0
Write VGM isotope.
virtual double GetNumPrecision() const =0
Return fixed format number precision.
virtual void OpenSolids()=0
Write solids definitions opening.
virtual double MassDensityUnit() const =0
Return the default mass density unit.
virtual void OpenMedia()=0
Write media definitions opening.
virtual void OpenFile(std::string filePath)=0
Open output file.
virtual void WriteElement(const VGM::IElement *element)=0
Write VGM element.
virtual void CloseFile()=0
Close output file.
virtual void CloseMedia()=0
Write media definitions closing.
virtual void CloseSection(const std::string &topVolume)=0
Write the section closing (if present)
virtual void OpenRotations()=0
Write rotations definitions opening.
virtual void OpenComposition(const std::string &name, const std::string &materialName)=0
Write composition definition opening (if present)
virtual void SetNumWidth(int width)=0
Set fixed format number width.
virtual void ClosePositions()=0
Write positions definitions closing.
virtual void WriteSolid(std::string lvName, const VGM::ISolid *solid, std::string mediumName)=0
Write VGM solid.
virtual void OpenPositions()=0
Write positions definitions opening.
virtual void WriteMedium(const VGM::IMaterial *material)=0
Write medium element from material.
virtual void OpenMaterials()=0
Write materials definitions opening.
virtual void WritePlacement(const VGM::IPlacement &placement)=0
Write VGM placement.
virtual void WritePosition(const std::string &name, const VGM::Transform &position)=0
Write position (from VGM transformation)
virtual void SetNumPrecision(int precision)=0
Set fixed format number precision.
virtual void CloseDocument()=0
Write XML document closing.
virtual void CloseStructure()=0
Write structure definition closing (if present)
virtual void WriteRotation(const std::string &name, const VGM::Transform &rotation)=0
Write rotation (from VGM transformation)
virtual void CloseMaterials()=0
Write materials definitions closing.
virtual void DecreaseIndention()=0
Decrease indention.
virtual void CloseRotations()=0
Write rotations definitions closing.
virtual void WriteMaterial(const VGM::IMaterial *material)=0
Write VGM material.
virtual void OpenSection(const std::string &topVolume)=0
Write the section opening (if present)
virtual double AtomicWeightUnit() const =0
Return the default atomic weight unit.
virtual void OpenStructure()=0
Write structure definition opening (if present)
virtual void CloseComposition()=0
Write composition definition closing (if present)
virtual double GetNumWidth() const =0
Return fixed format number width.
virtual void OpenDocument()=0
Write XML document opening.
virtual double AngleUnit() const =0
Return the default angle unit.
virtual void CloseSolids()=0
Write materials definitions closing.
virtual void IncreaseIndention()=0
Increase indention.
virtual void WriteScale(const std::string &name)=0
Write scale (from VGM transformation)
virtual double LengthUnit() const =0
Return the default length unit.
virtual void WriteMedium(const VGM::IMedium *medium)=0
Write VGM medium.
std::vector< double > Transform