-
Andrea Dell'Acqua authored
first set of improvements to GeoModelXML. Added EllipticalTube (note: no visualisation yet) and TwistedTrapezoid. Corresponding changes in GmxUtil (.h and .cxx) and in geomodeldtd. A spurious copy of geomodel.dtd was removed. Changes to be committed: modified: GeoModelTools/GeoModelXML/GeoModelXml/GeoModelXml/GmxUtil.h new file: GeoModelTools/GeoModelXML/GeoModelXml/GeoModelXml/shape/MakeEllipticalTube.h new file: GeoModelTools/GeoModelXML/GeoModelXml/GeoModelXml/shape/MakeTwistedTrap.h modified: GeoModelTools/GeoModelXML/GeoModelXml/data/geomodel.dtd modified: GeoModelTools/GeoModelXML/GeoModelXml/src/GmxUtil.cxx new file: GeoModelTools/GeoModelXML/GeoModelXml/src/MakeEllipticalTube.cxx new file: GeoModelTools/GeoModelXML/GeoModelXml/src/MakeTwistedTrap.cxx deleted: GeoModelTools/GeoModelXML/data/geomodel.dtd
Andrea Dell'Acqua authoredfirst set of improvements to GeoModelXML. Added EllipticalTube (note: no visualisation yet) and TwistedTrapezoid. Corresponding changes in GmxUtil (.h and .cxx) and in geomodeldtd. A spurious copy of geomodel.dtd was removed. Changes to be committed: modified: GeoModelTools/GeoModelXML/GeoModelXml/GeoModelXml/GmxUtil.h new file: GeoModelTools/GeoModelXML/GeoModelXml/GeoModelXml/shape/MakeEllipticalTube.h new file: GeoModelTools/GeoModelXML/GeoModelXml/GeoModelXml/shape/MakeTwistedTrap.h modified: GeoModelTools/GeoModelXML/GeoModelXml/data/geomodel.dtd modified: GeoModelTools/GeoModelXML/GeoModelXml/src/GmxUtil.cxx new file: GeoModelTools/GeoModelXML/GeoModelXml/src/MakeEllipticalTube.cxx new file: GeoModelTools/GeoModelXML/GeoModelXml/src/MakeTwistedTrap.cxx deleted: GeoModelTools/GeoModelXML/data/geomodel.dtd
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
MakeEllipticalTube.cxx 911 B
/*
Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
*/
#include "GeoModelXml/shape/MakeEllipticalTube.h"
#include <xercesc/dom/DOM.hpp>
#include "GeoModelKernel/RCBase.h"
#include "GeoModelKernel/GeoEllipticalTube.h"
#include "xercesc/util/XMLString.hpp"
#include "GeoModelXml/GmxUtil.h"
using namespace xercesc;
MakeEllipticalTube::MakeEllipticalTube() {}
const RCBase * MakeEllipticalTube::make(const xercesc::DOMElement *element, GmxUtil &gmxUtil) const {
const int nParams = 3;
char const *parName[nParams] = {"xhalflength", "yhalflength", "zhalflength"};
double p[nParams];
char *toRelease;
for (int i = 0; i < nParams; ++i) {
toRelease = XMLString::transcode(element->getAttribute(XMLString::transcode(parName[i])));
p[i] = gmxUtil.evaluate(toRelease);
XMLString::release(&toRelease);
}
return new GeoEllipticalTube(p[0], p[1], p[2]);
}