Geant4.10
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions
G03ColorWriter Class Reference

GDML writer for the color attributes. More...

#include <G03ColorWriter.hh>

Inheritance diagram for G03ColorWriter:
G4GDMLWriteStructure G4GDMLWriteParamvol G4GDMLWriteSetup G4GDMLWriteSolids G4GDMLWriteMaterials G4GDMLWriteDefine G4GDMLWrite

Public Member Functions

 G03ColorWriter ()
 
 ~G03ColorWriter ()
 
void AddExtension (xercesc::DOMElement *volumeElement, const G4LogicalVolume *const vol)
 
void ExtensionWrite (xercesc::DOMElement *element)
 
void ColorWrite (xercesc::DOMElement *volumeElement, const G4VisAttributes *const att)
 
G4bool BookAttribute (const G4VisAttributes *const att)
 
- Public Member Functions inherited from G4GDMLWriteStructure
 G4GDMLWriteStructure ()
 
virtual ~G4GDMLWriteStructure ()
 
virtual void StructureWrite (xercesc::DOMElement *)
 
- Public Member Functions inherited from G4GDMLWriteParamvol
virtual void ParamvolWrite (xercesc::DOMElement *, const G4VPhysicalVolume *const)
 
virtual void ParamvolAlgorithmWrite (xercesc::DOMElement *paramvolElement, const G4VPhysicalVolume *const paramvol)
 
- Public Member Functions inherited from G4GDMLWriteSetup
virtual void SetupWrite (xercesc::DOMElement *, const G4LogicalVolume *const)
 
- Public Member Functions inherited from G4GDMLWriteSolids
virtual void AddSolid (const G4VSolid *const)
 
virtual void SolidsWrite (xercesc::DOMElement *)
 
- Public Member Functions inherited from G4GDMLWriteMaterials
void AddIsotope (const G4Isotope *const)
 
void AddElement (const G4Element *const)
 
void AddMaterial (const G4Material *const)
 
virtual void MaterialsWrite (xercesc::DOMElement *)
 
- Public Member Functions inherited from G4GDMLWriteDefine
G4ThreeVector GetAngles (const G4RotationMatrix &)
 
void ScaleWrite (xercesc::DOMElement *element, const G4String &name, const G4ThreeVector &scl)
 
void RotationWrite (xercesc::DOMElement *element, const G4String &name, const G4ThreeVector &rot)
 
void PositionWrite (xercesc::DOMElement *element, const G4String &name, const G4ThreeVector &pos)
 
void FirstrotationWrite (xercesc::DOMElement *element, const G4String &name, const G4ThreeVector &rot)
 
void FirstpositionWrite (xercesc::DOMElement *element, const G4String &name, const G4ThreeVector &pos)
 
void AddPosition (const G4String &name, const G4ThreeVector &pos)
 
virtual void DefineWrite (xercesc::DOMElement *)
 
- Public Member Functions inherited from G4GDMLWrite
G4Transform3D Write (const G4String &filename, const G4LogicalVolume *const topLog, const G4String &schemaPath, const G4int depth, G4bool storeReferences=true)
 
void AddModule (const G4VPhysicalVolume *const topVol)
 
void AddModule (const G4int depth)
 

Additional Inherited Members

- Static Public Member Functions inherited from G4GDMLWrite
static void SetAddPointerToName (G4bool)
 
- Protected Member Functions inherited from G4GDMLWriteStructure
void DivisionvolWrite (xercesc::DOMElement *, const G4PVDivision *const)
 
void PhysvolWrite (xercesc::DOMElement *, const G4VPhysicalVolume *const topVol, const G4Transform3D &transform, const G4String &moduleName)
 
void ReplicavolWrite (xercesc::DOMElement *, const G4VPhysicalVolume *const)
 
G4Transform3D TraverseVolumeTree (const G4LogicalVolume *const topVol, const G4int depth)
 
void SurfacesWrite ()
 
void BorderSurfaceCache (const G4LogicalBorderSurface *const)
 
void SkinSurfaceCache (const G4LogicalSkinSurface *const)
 
const G4LogicalBorderSurfaceGetBorderSurface (const G4VPhysicalVolume *const)
 
const G4LogicalSkinSurfaceGetSkinSurface (const G4LogicalVolume *const)
 
G4bool FindOpticalSurface (const G4SurfaceProperty *)
 
- Protected Member Functions inherited from G4GDMLWriteParamvol
 G4GDMLWriteParamvol ()
 
virtual ~G4GDMLWriteParamvol ()
 
void Box_dimensionsWrite (xercesc::DOMElement *, const G4Box *const)
 
void Trd_dimensionsWrite (xercesc::DOMElement *, const G4Trd *const)
 
void Trap_dimensionsWrite (xercesc::DOMElement *, const G4Trap *const)
 
void Tube_dimensionsWrite (xercesc::DOMElement *, const G4Tubs *const)
 
void Cone_dimensionsWrite (xercesc::DOMElement *, const G4Cons *const)
 
void Sphere_dimensionsWrite (xercesc::DOMElement *, const G4Sphere *const)
 
void Orb_dimensionsWrite (xercesc::DOMElement *, const G4Orb *const)
 
void Torus_dimensionsWrite (xercesc::DOMElement *, const G4Torus *const)
 
void Ellipsoid_dimensionsWrite (xercesc::DOMElement *, const G4Ellipsoid *const)
 
void Para_dimensionsWrite (xercesc::DOMElement *, const G4Para *const)
 
void Hype_dimensionsWrite (xercesc::DOMElement *, const G4Hype *const)
 
void Polycone_dimensionsWrite (xercesc::DOMElement *, const G4Polycone *const)
 
void Polyhedra_dimensionsWrite (xercesc::DOMElement *, const G4Polyhedra *const)
 
void ParametersWrite (xercesc::DOMElement *, const G4VPhysicalVolume *const, const G4int &)
 
- Protected Member Functions inherited from G4GDMLWriteSetup
 G4GDMLWriteSetup ()
 
virtual ~G4GDMLWriteSetup ()
 
- Protected Member Functions inherited from G4GDMLWriteSolids
 G4GDMLWriteSolids ()
 
virtual ~G4GDMLWriteSolids ()
 
void BooleanWrite (xercesc::DOMElement *, const G4BooleanSolid *const)
 
void BoxWrite (xercesc::DOMElement *, const G4Box *const)
 
void ConeWrite (xercesc::DOMElement *, const G4Cons *const)
 
void ElconeWrite (xercesc::DOMElement *, const G4EllipticalCone *const)
 
void EllipsoidWrite (xercesc::DOMElement *, const G4Ellipsoid *const)
 
void EltubeWrite (xercesc::DOMElement *, const G4EllipticalTube *const)
 
void XtruWrite (xercesc::DOMElement *, const G4ExtrudedSolid *const)
 
void HypeWrite (xercesc::DOMElement *, const G4Hype *const)
 
void OrbWrite (xercesc::DOMElement *, const G4Orb *const)
 
void ParaWrite (xercesc::DOMElement *, const G4Para *const)
 
void ParaboloidWrite (xercesc::DOMElement *, const G4Paraboloid *const)
 
void PolyconeWrite (xercesc::DOMElement *, const G4Polycone *const)
 
void GenericPolyconeWrite (xercesc::DOMElement *, const G4GenericPolycone *const)
 
void PolyhedraWrite (xercesc::DOMElement *, const G4Polyhedra *const)
 
void SphereWrite (xercesc::DOMElement *, const G4Sphere *const)
 
void TessellatedWrite (xercesc::DOMElement *, const G4TessellatedSolid *const)
 
void TetWrite (xercesc::DOMElement *, const G4Tet *const)
 
void TorusWrite (xercesc::DOMElement *, const G4Torus *const)
 
void GenTrapWrite (xercesc::DOMElement *, const G4GenericTrap *const)
 
void TrapWrite (xercesc::DOMElement *, const G4Trap *const)
 
void TrdWrite (xercesc::DOMElement *, const G4Trd *const)
 
void TubeWrite (xercesc::DOMElement *, const G4Tubs *const)
 
void CutTubeWrite (xercesc::DOMElement *, const G4CutTubs *const)
 
void TwistedboxWrite (xercesc::DOMElement *, const G4TwistedBox *const)
 
void TwistedtrapWrite (xercesc::DOMElement *, const G4TwistedTrap *const)
 
void TwistedtrdWrite (xercesc::DOMElement *, const G4TwistedTrd *const)
 
void TwistedtubsWrite (xercesc::DOMElement *, const G4TwistedTubs *const)
 
void ZplaneWrite (xercesc::DOMElement *, const G4double &, const G4double &, const G4double &)
 
void RZPointWrite (xercesc::DOMElement *, const G4double &, const G4double &)
 
void OpticalSurfaceWrite (xercesc::DOMElement *, const G4OpticalSurface *const)
 
- Protected Member Functions inherited from G4GDMLWriteMaterials
 G4GDMLWriteMaterials ()
 
virtual ~G4GDMLWriteMaterials ()
 
void AtomWrite (xercesc::DOMElement *, const G4double &)
 
void DWrite (xercesc::DOMElement *, const G4double &)
 
void PWrite (xercesc::DOMElement *, const G4double &)
 
void TWrite (xercesc::DOMElement *, const G4double &)
 
void MEEWrite (xercesc::DOMElement *, const G4double &)
 
void IsotopeWrite (const G4Isotope *const)
 
void ElementWrite (const G4Element *const)
 
void MaterialWrite (const G4Material *const)
 
void PropertyWrite (xercesc::DOMElement *, const G4Material *const)
 
void PropertyVectorWrite (const G4String &, const G4PhysicsOrderedFreeVector *const)
 
- Protected Member Functions inherited from G4GDMLWriteDefine
 G4GDMLWriteDefine ()
 
virtual ~G4GDMLWriteDefine ()
 
void Scale_vectorWrite (xercesc::DOMElement *, const G4String &, const G4String &, const G4ThreeVector &)
 
void Rotation_vectorWrite (xercesc::DOMElement *, const G4String &, const G4String &, const G4ThreeVector &)
 
void Position_vectorWrite (xercesc::DOMElement *, const G4String &, const G4String &, const G4ThreeVector &)
 
- Protected Member Functions inherited from G4GDMLWrite
 G4GDMLWrite ()
 
virtual ~G4GDMLWrite ()
 
VolumeMapType & VolumeMap ()
 
G4String GenerateName (const G4String &, const void *const)
 
xercesc::DOMAttr * NewAttribute (const G4String &, const G4String &)
 
xercesc::DOMAttr * NewAttribute (const G4String &, const G4double &)
 
xercesc::DOMElement * NewElement (const G4String &)
 
G4String Modularize (const G4VPhysicalVolume *const topvol, const G4int depth)
 
G4bool FileExists (const G4String &) const
 
PhysVolumeMapType & PvolumeMap ()
 
DepthMapType & DepthMap ()
 
- Protected Attributes inherited from G4GDMLWriteStructure
xercesc::DOMElement * structureElement
 
std::vector
< xercesc::DOMElement * > 
borderElementVec
 
std::vector
< xercesc::DOMElement * > 
skinElementVec
 
- Protected Attributes inherited from G4GDMLWriteSolids
std::vector< const G4VSolid * > solidList
 
xercesc::DOMElement * solidsElement
 
- Protected Attributes inherited from G4GDMLWriteMaterials
std::vector< const G4Isotope * > isotopeList
 
std::vector< const G4Element * > elementList
 
std::vector< const G4Material * > materialList
 
xercesc::DOMElement * materialsElement
 
- Protected Attributes inherited from G4GDMLWriteDefine
xercesc::DOMElement * defineElement
 
- Protected Attributes inherited from G4GDMLWrite
G4String SchemaLocation
 
xercesc::DOMDocument * doc
 
xercesc::DOMElement * extElement
 
XMLCh tempStr [10000]
 
- Static Protected Attributes inherited from G4GDMLWriteSolids
static const G4int maxTransforms = 8
 
- Static Protected Attributes inherited from G4GDMLWriteDefine
static const G4double kRelativePrecision = DBL_EPSILON
 
static const G4double kAngularPrecision = DBL_EPSILON
 
static const G4double kLinearPrecision = DBL_EPSILON
 
- Static Protected Attributes inherited from G4GDMLWrite
static G4bool addPointerToName = true
 

Detailed Description

GDML writer for the color attributes.

Definition at line 49 of file G03ColorWriter.hh.

Constructor & Destructor Documentation

G03ColorWriter::G03ColorWriter ( )

Definition at line 40 of file G03ColorWriter.cc.

G03ColorWriter::~G03ColorWriter ( )

Definition at line 47 of file G03ColorWriter.cc.

48 {
49 }

Member Function Documentation

void G03ColorWriter::AddExtension ( xercesc::DOMElement *  volumeElement,
const G4LogicalVolume *const  vol 
)
virtual

Reimplemented from G4GDMLWrite.

Definition at line 53 of file G03ColorWriter.cc.

References ColorWrite(), and G4LogicalVolume::GetVisAttributes().

55 {
56  const G4VisAttributes* vis = vol->GetVisAttributes();
57  if (vis) { ColorWrite(volumeElement, vis); }
58 }
const G4VisAttributes * GetVisAttributes() const
void ColorWrite(xercesc::DOMElement *volumeElement, const G4VisAttributes *const att)
G4bool G03ColorWriter::BookAttribute ( const G4VisAttributes *const  att)

Definition at line 105 of file G03ColorWriter.cc.

Referenced by ColorWrite().

106 {
107  G4bool booking = true;
108  std::vector<const G4VisAttributes*>::const_iterator pos =
109  std::find(fAttribs.begin(), fAttribs.end(), ref);
110 
111  if (pos != fAttribs.end()) { booking = false; }
112  else { fAttribs.push_back(ref); }
113 
114  return booking;
115 }
bool G4bool
Definition: G4Types.hh:79
void G03ColorWriter::ColorWrite ( xercesc::DOMElement *  volumeElement,
const G4VisAttributes *const  att 
)

Definition at line 74 of file G03ColorWriter.cc.

References test::a, test::b, BookAttribute(), G4GDMLWrite::extElement, g(), G4cout, G4endl, G4GDMLWrite::GenerateName(), G4Colour::GetAlpha(), G4Colour::GetBlue(), G4VisAttributes::GetColor(), G4Colour::GetGreen(), G4Colour::GetRed(), G4GDMLWrite::NewAttribute(), and G4GDMLWrite::NewElement().

Referenced by AddExtension().

76 {
77  G4bool book = BookAttribute(att);
78  G4Color color = att->GetColor();
79 
80  const G4String& name = GenerateName("test_color", att);
81  G4double r=color.GetRed(), g=color.GetGreen(),
82  b=color.GetBlue(), a=color.GetAlpha();
83 
84  if (book)
85  {
86  xercesc::DOMElement* colElement = NewElement("color");
87  colElement->setAttributeNode(NewAttribute("name",name));
88  colElement->setAttributeNode(NewAttribute("R",r));
89  colElement->setAttributeNode(NewAttribute("G",g));
90  colElement->setAttributeNode(NewAttribute("B",b));
91  colElement->setAttributeNode(NewAttribute("A",a));
92  extElement->appendChild(colElement);
93  }
94 
95  xercesc::DOMElement* colorrefElement = NewElement("colorref");
96  colorrefElement->setAttributeNode(NewAttribute("ref",name));
97  volumeElement->appendChild(colorrefElement);
98 
99  G4cout << "Written color attribute (R,G,B,A) is: "
100  << r << ", " << g << ", " << b << ", " << a << " !" << G4endl;
101 }
G4double GetAlpha() const
Definition: G4Colour.hh:142
const XML_Char * name
G4double GetBlue() const
Definition: G4Colour.hh:141
xercesc::DOMElement * NewElement(const G4String &)
Definition: G4GDMLWrite.cc:127
function g(Y1, Y2, PT2)
Definition: hijing1.383.f:5205
G4GLOB_DLL std::ostream G4cout
G4double GetRed() const
Definition: G4Colour.hh:139
bool G4bool
Definition: G4Types.hh:79
G4double GetGreen() const
Definition: G4Colour.hh:140
G4String GenerateName(const G4String &, const void *const)
Definition: G4GDMLWrite.cc:90
const G4Color & GetColor() const
xercesc::DOMAttr * NewAttribute(const G4String &, const G4String &)
Definition: G4GDMLWrite.cc:103
#define G4endl
Definition: G4ios.hh:61
double G4double
Definition: G4Types.hh:76
G4bool BookAttribute(const G4VisAttributes *const att)
xercesc::DOMElement * extElement
Definition: G4GDMLWrite.hh:124
void G03ColorWriter::ExtensionWrite ( xercesc::DOMElement *  element)
virtual

Reimplemented from G4GDMLWrite.

Definition at line 62 of file G03ColorWriter.cc.

References G4GDMLWrite::extElement, G4cout, G4endl, and G4GDMLWrite::NewElement().

63 {
64  G4cout << "G4GDML: Writing GDML extension..." << G4endl;
65 
66  // Mandatory calls the -first- time an extension is created
67  //
68  extElement = NewElement("extension");
69  element->appendChild(extElement);
70 }
xercesc::DOMElement * NewElement(const G4String &)
Definition: G4GDMLWrite.cc:127
G4GLOB_DLL std::ostream G4cout
#define G4endl
Definition: G4ios.hh:61
xercesc::DOMElement * extElement
Definition: G4GDMLWrite.hh:124

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