From 06e249b872b08ac4034d6c1016505d143e792b62 Mon Sep 17 00:00:00 2001 From: ZappoMan Date: Fri, 2 Aug 2013 15:38:43 -0700 Subject: [PATCH] added command line options for jurisdiction settings --- libraries/voxels/src/JurisdictionMap.cpp | 18 +++++++++++++++++- libraries/voxels/src/JurisdictionMap.h | 1 + 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/libraries/voxels/src/JurisdictionMap.cpp b/libraries/voxels/src/JurisdictionMap.cpp index b67963d8d6..f67bbbabf7 100644 --- a/libraries/voxels/src/JurisdictionMap.cpp +++ b/libraries/voxels/src/JurisdictionMap.cpp @@ -44,12 +44,28 @@ JurisdictionMap::JurisdictionMap(const char* filename) : _rootOctalCode(NULL) { readFromFile(filename); } - JurisdictionMap::JurisdictionMap(unsigned char* rootOctalCode, const std::vector& endNodes) : _rootOctalCode(NULL) { init(rootOctalCode, endNodes); } +JurisdictionMap::JurisdictionMap(const char* rootHexCode, const char* endNodesHexCodes) { + _rootOctalCode = hexStringToOctalCode(QString(rootHexCode)); + + QString endNodesHexStrings(endNodesHexCodes); + QString delimiterPattern(","); + QStringList endNodeList = endNodesHexStrings.split(delimiterPattern); + + for (int i = 0; i < endNodeList.size(); i++) { + QString endNodeHexString = endNodeList.at(i); + + unsigned char* endNodeOctcode = hexStringToOctalCode(endNodeHexString); + //printOctalCode(endNodeOctcode); + _endNodes.push_back(endNodeOctcode); + } +} + + void JurisdictionMap::init(unsigned char* rootOctalCode, const std::vector& endNodes) { clear(); // clean up our own memory _rootOctalCode = rootOctalCode; diff --git a/libraries/voxels/src/JurisdictionMap.h b/libraries/voxels/src/JurisdictionMap.h index a52765549f..6c7cc4f0ca 100644 --- a/libraries/voxels/src/JurisdictionMap.h +++ b/libraries/voxels/src/JurisdictionMap.h @@ -23,6 +23,7 @@ public: JurisdictionMap(); JurisdictionMap(const char* filename); JurisdictionMap(unsigned char* rootOctalCode, const std::vector& endNodes); + JurisdictionMap(const char* rootHextString, const char* endNodesHextString); ~JurisdictionMap(); Area isMyJurisdiction(unsigned char* nodeOctalCode, int childIndex) const;