VGM Version 5.3
Loading...
Searching...
No Matches
XmlVGM::VExporter Class Referenceabstract

Class for generation of geometry data files in XML, the XML format is independent from the geometry object model. More...

#include <VExporter.h>

Inheritance diagram for XmlVGM::VExporter:

Public Types

typedef std::set< std::string, std::less< std::string > > StringSet
 

Public Member Functions

 VExporter (const VGM::IFactory *factory, IWriter *writer)
 
virtual ~VExporter ()
 
void GenerateXMLGeometry ()
 
void GenerateXMLGeometry (const std::string &volumeName)
 
void SetFileName (const std::string &fileName)
 
void SetDebug (int debug)
 
void SetNumWidth (int width)
 
void SetNumPrecision (int precision)
 
std::string FileName () const
 
int Debug () const
 

Protected Member Functions

 VExporter ()
 
 VExporter (const VExporter &right)
 
VExporteroperator= (const VExporter &)
 
virtual void GenerateGeometry (VGM::IVolume *volume)=0
 Generate XML geometry file for the geometry tree starting from the specified VGM volume.
 
void GeneratePositions (VGM::IVolume *volume)
 
void GenerateRotations (VGM::IVolume *volume)
 
void GenerateScale ()
 
void GenerateMaterials (VGM::IVolume *volume)
 
void GenerateMedia (VGM::IVolume *volume)
 
void GenerateSolids (VGM::IVolume *volume)
 
void ClearVolumeNames ()
 

Protected Attributes

const VGM::IFactoryfFactory
 
IWriterfWriter
 
std::string fFileName
 
StringSet fVolumeNames
 
int fDebug
 
Maps fMaps
 

Static Protected Attributes

static const std::string fgkUndefinedFileName = "Undefined"
 

Detailed Description

Class for generation of geometry data files in XML, the XML format is independent from the geometry object model.

It has one abstract method for processing the volume tree that has to be provided by derived classes.

Author
I. Hrivnacova, 19.1.2004

Definition at line 47 of file VExporter.h.

Member Typedef Documentation

◆ StringSet

typedef std::set<std::string, std::less<std::string> > XmlVGM::VExporter::StringSet

Definition at line 50 of file VExporter.h.

Constructor & Destructor Documentation

◆ VExporter() [1/3]

XmlVGM::VExporter::VExporter ( const VGM::IFactory * factory,
IWriter * writer )

Standard constructor

Parameters
factorythe VGM factory which geometry will be exported in XML
writerthe XML writer

Definition at line 44 of file VExporter.cxx.

◆ ~VExporter()

XmlVGM::VExporter::~VExporter ( )
virtual

Definition at line 91 of file VExporter.cxx.

◆ VExporter() [2/3]

XmlVGM::VExporter::VExporter ( )
protected

Protected default constructor

Definition at line 58 of file VExporter.cxx.

◆ VExporter() [3/3]

XmlVGM::VExporter::VExporter ( const VExporter & right)
protected

Protected copy constructor

Definition at line 75 of file VExporter.cxx.

Member Function Documentation

◆ GenerateXMLGeometry() [1/2]

void XmlVGM::VExporter::GenerateXMLGeometry ( )

Generate XML geometry file from the top (world) volume.

Definition at line 646 of file VExporter.cxx.

◆ GenerateXMLGeometry() [2/2]

void XmlVGM::VExporter::GenerateXMLGeometry ( const std::string & volumeName)

Generate XML geometry file from the VGM volume specified by name.

Definition at line 654 of file VExporter.cxx.

◆ SetFileName()

void XmlVGM::VExporter::SetFileName ( const std::string & fileName)
inline

Set the XML file name

Definition at line 130 of file VExporter.h.

◆ SetDebug()

void XmlVGM::VExporter::SetDebug ( int debug)
inline

Set the debug level

Definition at line 135 of file VExporter.h.

◆ SetNumWidth()

void XmlVGM::VExporter::SetNumWidth ( int width)

Set fixed format number width

Definition at line 682 of file VExporter.cxx.

◆ SetNumPrecision()

void XmlVGM::VExporter::SetNumPrecision ( int precision)

Set fixed format number precision

Definition at line 690 of file VExporter.cxx.

◆ FileName()

std::string XmlVGM::VExporter::FileName ( ) const
inline

Return the XML file name

Definition at line 140 of file VExporter.h.

◆ Debug()

int XmlVGM::VExporter::Debug ( ) const
inline

Return the debug level

Definition at line 145 of file VExporter.h.

◆ operator=()

XmlVGM::VExporter & XmlVGM::VExporter::operator= ( const VExporter & right)
protected

Protected assignement operator

Definition at line 102 of file VExporter.cxx.

◆ GenerateGeometry()

virtual void XmlVGM::VExporter::GenerateGeometry ( VGM::IVolume * volume)
protectedpure virtual

Generate XML geometry file for the geometry tree starting from the specified VGM volume.

Implemented in XmlVGM::AGDDExporter, and XmlVGM::GDMLExporter.

◆ GeneratePositions()

void XmlVGM::VExporter::GeneratePositions ( VGM::IVolume * volume)
protected

Generate the XML elements containing all positions present in the given VGM volume daughters tree

Definition at line 507 of file VExporter.cxx.

◆ GenerateRotations()

void XmlVGM::VExporter::GenerateRotations ( VGM::IVolume * volume)
protected

Generate the XML elements containing all rotations present in the given VGM volume daughters tree

Definition at line 529 of file VExporter.cxx.

◆ GenerateScale()

void XmlVGM::VExporter::GenerateScale ( )
protected

◆ GenerateMaterials()

void XmlVGM::VExporter::GenerateMaterials ( VGM::IVolume * volume)
protected

Generate the XML elements containing all materials present in the given VGM volume tree

Definition at line 556 of file VExporter.cxx.

◆ GenerateMedia()

void XmlVGM::VExporter::GenerateMedia ( VGM::IVolume * volume)
protected

Generate the XML elements containing all materials present in the given VGM volume tree

Definition at line 591 of file VExporter.cxx.

◆ GenerateSolids()

void XmlVGM::VExporter::GenerateSolids ( VGM::IVolume * volume)
protected

Generate the XML elements containing all solids present in given VGM volume tree

Definition at line 621 of file VExporter.cxx.

◆ ClearVolumeNames()

void XmlVGM::VExporter::ClearVolumeNames ( )
protected

Clear the set of volume names.

Definition at line 634 of file VExporter.cxx.

Member Data Documentation

◆ fgkUndefinedFileName

const std::string XmlVGM::VExporter::fgkUndefinedFileName = "Undefined"
staticprotected

Definition at line 99 of file VExporter.h.

◆ fFactory

const VGM::IFactory* XmlVGM::VExporter::fFactory
protected

Definition at line 103 of file VExporter.h.

◆ fWriter

IWriter* XmlVGM::VExporter::fWriter
protected

Definition at line 104 of file VExporter.h.

◆ fFileName

std::string XmlVGM::VExporter::fFileName
protected

Definition at line 105 of file VExporter.h.

◆ fVolumeNames

StringSet XmlVGM::VExporter::fVolumeNames
protected

Definition at line 106 of file VExporter.h.

◆ fDebug

int XmlVGM::VExporter::fDebug
protected

Definition at line 107 of file VExporter.h.

◆ fMaps

Maps XmlVGM::VExporter::fMaps
protected

Definition at line 108 of file VExporter.h.


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