The main class for processing parsed elements. More...
#include <DDLElementRegistry.h>
Public Types | |
typedef std::map< std::string, std::shared_ptr< DDXMLElement > > | RegistryMap |
Public Member Functions | |
DDLElementRegistry () | |
ClhepEvaluator & | evaluator () |
std::shared_ptr< DDXMLElement > | getElement (const std::string &name) |
THE most important part. Getting the pointer to a given element type. More... | |
void | registerElement (const std::string &name, DDXMLElement *) |
This allows other Elements to register themselves with the static registry. More... | |
~DDLElementRegistry () | |
Private Attributes | |
ClhepEvaluator | evaluator_ |
RegistryMap | registry_ |
The main class for processing parsed elements.
This class is designed to serve as a registry of all DDL XML elements.
This class is responsible for constructing and destructing any necessary DDL element.
Definition at line 23 of file DDLElementRegistry.h.
typedef std::map<std::string, std::shared_ptr<DDXMLElement> > DDLElementRegistry::RegistryMap |
Definition at line 27 of file DDLElementRegistry.h.
DDLElementRegistry::DDLElementRegistry | ( | void | ) |
Definition at line 38 of file DDLElementRegistry.cc.
DDLElementRegistry::~DDLElementRegistry | ( | void | ) |
|
inline |
Definition at line 44 of file DDLElementRegistry.h.
References evaluator_.
Referenced by DDLSAX2FileHandler::createDDConstants(), DDLVector::do_makeDouble(), DDLMap::do_makeDouble(), DDLRotationAndReflection::isLeftHanded(), DDLRotationAndReflection::makeX(), DDLRotationAndReflection::makeY(), DDLRotationAndReflection::makeZ(), DDLPgonGenerator::processElement(), DDLTubs::processElement(), DDLTorus::processElement(), DDLTrapezoid::processElement(), DDLPseudoTrap::processElement(), DDLSphere::processElement(), DDLEllipticalTube::processElement(), DDLAlgorithm::processElement(), DDLSpecPar::processElement(), DDLCone::processElement(), DDLBox::processElement(), DDLElementaryMaterial::processElement(), DDLPosPart::processElement(), DDLRotationAndReflection::processElement(), DDLPolyGenerator::processElement(), DDLBooleanSolid::processElement(), DDLDivision::processElement(), DDLNumeric::processElement(), DDLVector::processElement(), DDLCompositeMaterial::processElement(), DDLMap::processElement(), DDLRotationByAxis::processOne(), and DDLSAX2ExpressionHandler::startElement().
std::shared_ptr< DDXMLElement > DDLElementRegistry::getElement | ( | const std::string & | name | ) |
THE most important part. Getting the pointer to a given element type.
If this is called with a DDXMLElementRegistry pointer, it will simply return a pointer if already registered or NULL, no instantiating.
Definition at line 47 of file DDLElementRegistry.cc.
References dataset::name, and registry_.
Referenced by DDLSAX2FileHandler::characters(), DDLBooleanSolid::dumpBooleanSolid(), DDLSAX2FileHandler::endElement(), DDLPgonGenerator::preProcessElement(), DDLRotationSequence::preProcessElement(), DDLAlgorithm::preProcessElement(), DDLShapelessSolid::preProcessElement(), DDLBooleanSolid::preProcessElement(), DDLPosPart::preProcessElement(), DDLPolyGenerator::preProcessElement(), DDLCompositeMaterial::preProcessElement(), DDLLogicalPart::preProcessElement(), DDLPgonGenerator::processElement(), DDLRotationSequence::processElement(), DDLRotationByAxis::processElement(), DDLSpecPar::processElement(), DDLAlgorithm::processElement(), DDLPosPart::processElement(), DDLBooleanSolid::processElement(), DDLPolyGenerator::processElement(), DDLCompositeMaterial::processElement(), DDLLogicalPart::processElement(), DDLMaterial::setReference(), DDLSolid::setReference(), and DDLSAX2FileHandler::startElement().
void DDLElementRegistry::registerElement | ( | const std::string & | name, |
DDXMLElement * | |||
) |
This allows other Elements to register themselves with the static registry.
|
private |
Definition at line 48 of file DDLElementRegistry.h.
Referenced by evaluator().
|
private |
Definition at line 47 of file DDLElementRegistry.h.
Referenced by getElement(), and ~DDLElementRegistry().