void ossimImageChain::findInputConnectionIds(vector<ossimId>& result, const ossimKeywordlist& kwl, const char* prefix) { ossimString copyPrefix = prefix; ossim_uint32 idx = 0; ossimString regExpression = ossimString("^") + ossimString(prefix) + "input_connection[0-9]+"; vector<ossimString> keys = kwl.getSubstringKeyList( regExpression ); ossim_int32 offset = (ossim_int32)(copyPrefix+"input_connection").size(); ossim_uint32 numberOfKeys = (ossim_uint32)keys.size(); std::vector<int> theNumberList(numberOfKeys); for(idx = 0; idx < theNumberList.size();++idx) { ossimString numberStr(keys[idx].begin() + offset, keys[idx].end()); theNumberList[idx] = numberStr.toInt(); } std::sort(theNumberList.begin(), theNumberList.end()); copyPrefix += ossimString("input_connection"); for(idx=0;idx < theNumberList.size();++idx) { const char* lookup = kwl.find(copyPrefix,ossimString::toString(theNumberList[idx])); if(lookup) { long id = ossimString(lookup).toLong(); result.push_back(ossimId(id)); } } }
void ossimQtVceCanvasWidget::addAllDataManagerObjects(const ossimKeywordlist& kwl, const QPoint& location, const char* prefix) { QPoint locationPoint = location; if((locationPoint.x() == -1)&& (locationPoint.y() == -1)) { locationPoint.setX(0); locationPoint.setY(0); } ossimQtGetDataManagerEvent tempEvt; ossimQtApplicationUtility::sendEventToRoot(this, &tempEvt); if(tempEvt.getDataManager()) { ossimString regExpression = ossimString("^(") + ossimString(prefix)+ "object[0-9]+.)"; std::vector<ossimString> keys = kwl.getSubstringKeyList( regExpression ); int numberOfObjects = keys.size(); int idx = 0; for(idx = 0; idx < numberOfObjects; ++idx) { const char* id = kwl.find(keys[idx]+"id"); if(id) { ossimConnectableObject* obj = PTR_CAST(ossimConnectableObject, tempEvt.getDataManager()->getObject(ossimId(ossimString(id).toInt()))); if(addDataManagerObject(obj, locationPoint)) { locationPoint.setY(locationPoint.y() + 74); } } } } }