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 | |
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 25 of file DDLElementRegistry.h.
typedef std::map<std::string, std::shared_ptr<DDXMLElement> > DDLElementRegistry::RegistryMap |
Definition at line 29 of file DDLElementRegistry.h.
DDLElementRegistry::DDLElementRegistry | ( | void | ) |
Definition at line 44 of file DDLElementRegistry.cc.
DDLElementRegistry::~DDLElementRegistry | ( | void | ) |
|
inline |
Definition at line 46 of file DDLElementRegistry.h.
References DDI::Singleton< I >::instance().
Referenced by DDLVector::do_makeDouble(), DDLMap::do_makeDouble(), DDLRotationAndReflection::isLeftHanded(), DDLRotationAndReflection::makeX(), DDLRotationAndReflection::makeY(), DDLRotationAndReflection::makeZ(), DDLPgonGenerator::processElement(), DDLMultiUnionSolid::processElement(), DDLTubs::processElement(), DDLPseudoTrap::processElement(), DDLTrapezoid::processElement(), DDLParallelepiped::processElement(), DDLTorus::processElement(), DDLOrb::processElement(), DDLEllipsoid::processElement(), DDLEllipticalTube::processElement(), DDLSphere::processElement(), DDLAlgorithm::processElement(), DDLSpecPar::processElement(), DDLCone::processElement(), DDLBox::processElement(), DDLBooleanSolid::processElement(), DDLDivision::processElement(), DDLRotationAndReflection::processElement(), DDLPosPart::processElement(), DDLElementaryMaterial::processElement(), DDLPolyGenerator::processElement(), DDLNumeric::processElement(), DDLCompositeMaterial::processElement(), DDLVector::processElement(), DDLMap::processElement(), and DDLRotationByAxis::processOne().
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 53 of file DDLElementRegistry.cc.
References dataset::name, and registry_.
Referenced by DDLBooleanSolid::dumpBooleanSolid(), DDLMultiUnionSolid::dumpMultiUnionSolid(), DDLMultiUnionSolid::preProcessElement(), DDLPgonGenerator::preProcessElement(), DDLReflectionSolid::preProcessElement(), DDLRotationSequence::preProcessElement(), DDLAlgorithm::preProcessElement(), DDLShapelessSolid::preProcessElement(), DDLPosPart::preProcessElement(), DDLBooleanSolid::preProcessElement(), DDLPolyGenerator::preProcessElement(), DDLCompositeMaterial::preProcessElement(), DDLLogicalPart::preProcessElement(), DDLMultiUnionSolid::processElement(), DDLPgonGenerator::processElement(), DDLReflectionSolid::processElement(), DDLRotationSequence::processElement(), DDLRotationByAxis::processElement(), DDLAlgorithm::processElement(), DDLSpecPar::processElement(), DDLBooleanSolid::processElement(), DDLPolyGenerator::processElement(), DDLPosPart::processElement(), DDLCompositeMaterial::processElement(), DDLLogicalPart::processElement(), DDLMaterial::setReference(), and DDLSolid::setReference().
void DDLElementRegistry::registerElement | ( | const std::string & | name, |
DDXMLElement * | |||
) |
This allows other Elements to register themselves with the static registry.
|
private |
Definition at line 49 of file DDLElementRegistry.h.
Referenced by getElement(), and ~DDLElementRegistry().