Example #1
0
bool ossimQuadTreeWarp::recursiveSave(ossimQuadTreeWarpNode* node,
                                      ossimKeywordlist& kwl,
                                      const char* prefix)const
{
   if(!node) return false;
   
   if(!node->saveState(kwl,
                      prefix))
   {
      return false;
   }
   
   if(node->isLeaf())
   {
      return true;
   }
   else
   {
     for(ossim_uint32 i = 0; i < node->theChildren.size(); ++ i)
       {
	 ossimString newPrefix = ossimString(prefix) + ossimString::toString(i) + ".";
      
	 if(!recursiveSave(node->theChildren[i],
                           kwl,
                           newPrefix.c_str()))
         {
            return false;
         }
       }
   }

   return true;
}
Example #2
0
void recursiveSave(Node& root, std::ostream& file){
    for(Node::iterator i=root.begin(); i!=root.end(); i++){
        file<<(*i)->data()<<std::endl;//write the current node as an entry to the previous
        recursiveSave(**i, file);//save this nodes entrys
        file<<"@"<<std::endl;//end node
    }
}
Example #3
0
bool ossimQuadTreeWarp::saveState(ossimKeywordlist& kwl,
                                  const char* prefix)const
{
   for(ossim_uint32 i = 0; i < theVertexList.size(); ++i)
   {
      ossimString newPrefix = ossimString(prefix)+ "v" + ossimString::toString(i) +".";

      theVertexList[i]->saveState(kwl, newPrefix.c_str());
   }

   recursiveSave(theTree, kwl, prefix);
   
   return ossim2dTo2dTransform::saveState(kwl, prefix);   
}
Example #4
0
bool save(Node& root, std::string filename){
    std::ofstream fout(filename.c_str());
    if(!fout)return false;//if it already failed
    recursiveSave(root, fout);//goto function above
    return fout;//return the status
}