Skip to content
Snippets Groups Projects
Commit 4bb0b7f6 authored by Andrea Dell'Acqua's avatar Andrea Dell'Acqua
Browse files

adding the possibility of calculating expressions in AddPlane::process()

parent b111b7eb
Branches
No related tags found
No related merge requests found
...@@ -10,11 +10,14 @@ XERCES_CPP_NAMESPACE_BEGIN ...@@ -10,11 +10,14 @@ XERCES_CPP_NAMESPACE_BEGIN
class DOMElement; class DOMElement;
XERCES_CPP_NAMESPACE_END XERCES_CPP_NAMESPACE_END
class GmxUtil;
class AddPlane { class AddPlane {
public: public:
AddPlane() {}; AddPlane() {};
~AddPlane() {}; ~AddPlane() {};
void process(const xercesc::DOMElement *element, double &zPlane, double &rMinPlane, double &rMaxPlane); void process(const xercesc::DOMElement *element, double &zPlane, double &rMinPlane, double &rMaxPlane);
GmxUtil* gmxUtil=nullptr;
}; };
......
...@@ -3,6 +3,7 @@ ...@@ -3,6 +3,7 @@
*/ */
#include "GeoModelXml/shape/AddPlane.h" #include "GeoModelXml/shape/AddPlane.h"
#include "GeoModelXml/GmxUtil.h"
#include <string> #include <string>
#include <sstream> #include <sstream>
...@@ -13,12 +14,17 @@ using namespace xercesc; ...@@ -13,12 +14,17 @@ using namespace xercesc;
void AddPlane::process(const xercesc::DOMElement *element, double &zPlane, double &rMinPlane, double &rMaxPlane) { void AddPlane::process(const xercesc::DOMElement *element, double &zPlane, double &rMinPlane, double &rMaxPlane) {
if (!gmxUtil)
{
std::cout<<"This is AddPlane::process()!! gmxUtil is 0!!!!!"<<std::endl;
return;
}
XMLCh * zplane_tmp = XMLString::transcode("zplane"); XMLCh * zplane_tmp = XMLString::transcode("zplane");
std::istringstream(XMLString::transcode(element->getAttribute(zplane_tmp))) >> zPlane; zPlane=gmxUtil->evaluate(XMLString::transcode(element->getAttribute(zplane_tmp)));
XMLCh * rminplane_tmp = XMLString::transcode("rminplane"); XMLCh * rminplane_tmp = XMLString::transcode("rminplane");
std::istringstream(XMLString::transcode(element->getAttribute(rminplane_tmp))) >> rMinPlane; rMinPlane=gmxUtil->evaluate(XMLString::transcode(element->getAttribute(rminplane_tmp)));
XMLCh * rmaxplane_tmp = XMLString::transcode("rmaxplane"); XMLCh * rmaxplane_tmp = XMLString::transcode("rmaxplane");
std::istringstream(XMLString::transcode(element->getAttribute(rmaxplane_tmp))) >> rMaxPlane; rMaxPlane=gmxUtil->evaluate(XMLString::transcode(element->getAttribute(rmaxplane_tmp)));
XMLString::release(&zplane_tmp); XMLString::release(&zplane_tmp);
XMLString::release(&rminplane_tmp); XMLString::release(&rminplane_tmp);
XMLString::release(&rmaxplane_tmp); XMLString::release(&rmaxplane_tmp);
......
...@@ -31,6 +31,7 @@ char *toRelease; ...@@ -31,6 +31,7 @@ char *toRelease;
// //
// Add planes // Add planes
// //
if (!gmxUtil.tagHandler.addplane.gmxUtil) gmxUtil.tagHandler.addplane.gmxUtil=&gmxUtil;
double zPlane = 0.; double zPlane = 0.;
double rMinPlane = 0.; double rMinPlane = 0.;
double rMaxPlane = 0.; double rMaxPlane = 0.;
......
...@@ -31,6 +31,7 @@ char *toRelease; ...@@ -31,6 +31,7 @@ char *toRelease;
// //
// Add planes // Add planes
// //
if (!gmxUtil.tagHandler.addplane.gmxUtil) gmxUtil.tagHandler.addplane.gmxUtil=&gmxUtil;
double zPlane = 0.; double zPlane = 0.;
double rMinPlane = 0.; double rMinPlane = 0.;
double rMaxPlane = 0.; double rMaxPlane = 0.;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment