81{
85 G4GDMLAuxListType auxList;
86
87 XMLCh *name_attr = xercesc::XMLString::transcode("name");
88 const G4String name = Transcode(volumeElement->getAttribute(name_attr));
89 xercesc::XMLString::release(&name_attr);
90
91 for (xercesc::DOMNode* iter = volumeElement->getFirstChild();
92 iter != 0; iter = iter->getNextSibling())
93 {
94 if (iter->getNodeType() != xercesc::DOMNode::ELEMENT_NODE) { continue; }
95
96 const xercesc::DOMElement* const child
97 = dynamic_cast<xercesc::DOMElement*>(iter);
98 const G4String tag = Transcode(child->getTagName());
99
100 if (tag=="auxiliary")
101 { auxList.push_back(AuxiliaryRead(child)); } else
102 if (tag=="materialref")
103 { materialPtr = GetMaterial(GenerateName(RefRead(child),true)); } else
104 if (tag=="solidref")
105 { solidPtr = GetSolid(GenerateName(RefRead(child))); } else
106 if (tag == "colorref")
108 }
109
111 GenerateName(name),0,0,0);
112 pMotherLogical->SetVisAttributes(attrPtr);
113
114 if (!auxList.empty()) { auxMap[pMotherLogical] = auxList; }
115
116 Volume_contentRead(volumeElement);
117}
G4VisAttributes * GetVisAttribute(const G4String &ref)