18 #include "mtl/envXMLWriter.h"
26 #include "vrfExtProtocol/objType.h"
27 #include "vrfExtProtocol/rangedObjType.h"
39 #include "vlutil/vlStringUtil.h"
40 #include "vlutil/vlFilename.h"
42 #include <boost/function.hpp>
43 #include <boost/lexical_cast.hpp>
55 typedef boost::function<void (DtReaderWriter* rwObject)>
AddFunction;
62 myList->add(rwObject);
72 myList->addSubObjectEntry(*static_cast<DtVrfSubObjectParameterEntry*>(rwObject));
81 : myFormations(formations)
82 , mySearchPath(searchPath)
83 , myBindings(bindings)
92 myFormations->addFormationEntry(entry);
109 myList->addSoilFactors(*factors);
121 template <
class RwType,
class basicType>
126 DtString bindingValue = envObject->value();
127 RwType* rwTypeObject =
static_cast<RwType*
>(rwObject);
128 (*rwTypeObject) = boost::lexical_cast<basicType>(bindingValue.c_str());
136 DtString bindingValue = envObject->value();
146 (*rwString) = bindingValue;
188 rwBVolume->setHalfLengthWidthHeight(length/2, width/2, height/2);
193 rwBVolume->setLatticeOffset(0.0, 0.0, 0.0);
197 rwBVolume->setLatticeOffset(0.0, 0.0, -height/2);
205 rwBVolume->setLatticeOffset(forward, right, up);
261 DtTaitBryan orientation;
264 if (embarkedHeading.get())
266 orientation.setPsi(DtDeg2Rad(boost::lexical_cast<double>(embarkedHeading->value().c_str())));
283 SubordinateAdder adder(static_cast<DtVrfSubObjectParameterList*>(rwObject));
326 DtString strings = envObject->value();
367 (*entityType) = envObject->value().c_str();
375 DtString value = envObject->value();
383 DtWarn <<
"Unknown bounding geometry type " << value << std::endl;
428 registerConverter(
vrfXml::Int, &DtEnvValueToBasicType<DtRwInt, int>);
429 registerConverter(
vrfXml::Real, &DtEnvValueToBasicType<DtRwReal, double>);
458 DtWarn <<
"DtXmlRWFactory::convert null env value" << std::endl;
463 DtWarn <<
"DtXmlRWFactory::convert null rw object" << std::endl;
468 if (myRwConverters.find(xmlType) != myRwConverters.end())
470 myRwConverters[xmlType](env, envValue, rwObject, searchPath, bindings);
474 DtWarn <<
"DtXmlRWFactory: No Converter for type "
481 myRwConverters[type] = conversionFunction;