コード例 #1
0
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));
      }
   }
}
コード例 #2
0
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);
            }
         }
      }
   }
}