8#include <Poco/DOM/DOMParser.h>
9#include <Poco/DOM/Document.h>
10#include <Poco/DOM/Element.h>
11#include <Poco/DOM/NodeFilter.h>
12#include <Poco/DOM/NodeIterator.h>
13#include <Poco/DOM/NodeList.h>
16#include <boost/scoped_ptr.hpp>
22 throw std::runtime_error(
"Use of create in this context is forbidden. Use "
23 "createUnwrappedInstead.");
32 boost::scoped_ptr<ImplicitFunctionBuilder> functionBuilder(funcParser->
createFunctionBuilder(processXML));
33 return functionBuilder->create();
40 Poco::AutoPtr<Document> pDoc = pParser.parseString(processXML);
41 Element *pInstructionsXML = pDoc->documentElement();
43 boost::scoped_ptr<ImplicitFunctionParser> funcParser(
46 boost::scoped_ptr<ImplicitFunctionBuilder> functionBuilder(funcParser->createFunctionBuilder(pInstructionsXML));
47 return functionBuilder->create();
#define UNUSED_ARG(x)
Function arguments are sometimes unused in certain implmentations but are required for documentation ...
Mantid::Geometry::MDImplicitFunction_sptr create(const std::string &className) const override
Creates a new instance of the class with the given name.
virtual Mantid::Geometry::MDImplicitFunction * createUnwrapped(Poco::XML::Element *processXML) const
XML Parser for function types.
virtual ImplicitFunctionBuilder * createFunctionBuilder(Poco::XML::Element *functionElement)=0
An "ImplicitFunction" defining a hyper-cuboid-shaped region in N dimensions.
static T & Instance()
Return a reference to the Singleton instance, creating it if it does not already exist Creation is do...
std::shared_ptr< MDImplicitFunction > MDImplicitFunction_sptr