40 #include <xercesc/sax/SAXException.hpp>
41 #include <xercesc/sax/SAXParseException.hpp>
70 #ifdef CHECK_MEMORY_LEAKS
72 #endif // CHECK_MEMORY_LEAKS
83 if (!oc.
isSet(
"detector-files")) {
84 throw ProcessError(
"No detector file given (use --detector-files <FILE>).");
88 for (std::vector<std::string>::const_iterator fileIt = files.begin(); fileIt != files.end(); ++fileIt) {
90 throw ProcessError(
"Could not open detector file '" + *fileIt +
"'");
109 if (!oc.
isSet(
"measure-files")) {
115 for (std::vector<std::string>::const_iterator fileIt = files.begin(); fileIt != files.end(); ++fileIt) {
117 throw ProcessError(
"The measure-file '" + *fileIt +
"' can not be opened.");
131 if (oc.
getBool(
"print-absolute-flows")) {
137 if (oc.
getBool(
"remove-empty-detectors")) {
141 }
else if (oc.
getBool(
"report-empty-detectors")) {
150 std::vector<RODFDetector*>::const_iterator i = detectors.
getDetectors().begin();
163 oc.
getBool(
"keep-unfinished-routes"), oc.
getBool(
"routes-for-all"),
164 !oc.
getBool(
"keep-longer-routes"), oc.
getInt(
"max-search-depth"));
172 throw ProcessError(
"The detector types are not defined; use in combination with a network");
176 throw ProcessError(
"The emitters have no routes; use in combination with a network");
180 if (oc.
isSet(
"detector-output")) {
184 if (oc.
isSet(
"detectors-poi-output")) {
194 if (oc.
getBool(
"guess-empty-flows")) {
204 if (oc.
isSet(
"emitters-output") || oc.
isSet(
"emitters-poi-output")) {
206 if (oc.
getBool(
"revalidate-flows")) {
211 if (oc.
isSet(
"emitters-output")) {
216 oc.
getBool(
"calibrator-output"),
217 oc.
getBool(
"include-unused-routes"),
223 if (oc.
isSet(
"emitters-poi-output")) {
230 if (oc.
isSet(
"variable-speed-sign-output")) {
237 if (oc.
isSet(
"validation-output")) {
240 oc.
getBool(
"validation-output.add-sources"),
true,
true);
244 if (oc.
isSet(
"end-reroute-output")) {
291 loader.loadNet(*net, builder);
292 net->buildApproachList();
303 if (std::string(e.what()) != std::string(
"Process Error") && std::string(e.what()) != std::string(
"")) {
309 }
catch (
const std::exception& e) {
310 if (std::string(e.what()) != std::string(
"")) {
325 std::cout <<
"Success." << std::endl;