]> Creatis software - creaMaracasVisu.git/blobdiff - bbtk/src/bbcreaMaracasVisuReadAxisTree3D.cxx
#3058 creaMaracasVisu Feature New Normal - optimizing of manualContourView of a...
[creaMaracasVisu.git] / bbtk / src / bbcreaMaracasVisuReadAxisTree3D.cxx
index c7aeb651ce6e2b23a3ea8d9a115e1cffb616b57a..8aac66c83ca3f6064bf4879a48f161245ecf2e68 100644 (file)
@@ -1,3 +1,28 @@
+/*# ---------------------------------------------------------------------
+#
+# Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image
+#                        pour la Sant�)
+# Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton
+# Previous Authors : Laurent Guigues, Jean-Pierre Roux
+# CreaTools website : www.creatis.insa-lyon.fr/site/fr/creatools_accueil
+#
+#  This software is governed by the CeCILL-B license under French law and
+#  abiding by the rules of distribution of free software. You can  use,
+#  modify and/ or redistribute the software under the terms of the CeCILL-B
+#  license as circulated by CEA, CNRS and INRIA at the following URL
+#  http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html
+#  or in the file LICENSE.txt.
+#
+#  As a counterpart to the access to the source code and  rights to copy,
+#  modify and redistribute granted by the license, users are provided only
+#  with a limited warranty  and the software's author,  the holder of the
+#  economic rights,  and the successive licensors  have only  limited
+#  liability.
+#
+#  The fact that you are presently reading this means that you have had
+#  knowledge of the CeCILL-B license and that you accept its terms.
+# ------------------------------------------------------------------------ */
+
 //===== 
 // Don't edit this file. This file is generated from xml description.. 
 //===== 
@@ -32,57 +57,66 @@ void ReadAxisTree3D::Process()
 //    * TYPE is the C++ type of the input/output
 //      (the one provided in the attribute 'type' of the tag 'input')
 
+       printf("EED ReadAxisTree3D::Process start \n");
+       
+       std::vector< std::vector<std::string> * > tlst;
        
-       std::vector<int> tlstIndexs;
-       std::vector<double> tlstPointsX;
-       std::vector<double> tlstPointsY;
-       std::vector<double> tlstPointsZ;
+       int i;
+       for( i=0 ;  i<bbGetInputDimension() ; i++)
+       {
+               tlst.push_back( new std::vector<std::string> );
+       }       
        
        int numberOfLines = 0;
-       int numberOfPoints = 0;
-       FILE *ff1 = fopen( bbGetInputFileName_Points().c_str() , "r+" );
+       char tmpValue[50];
+       std::vector<std::string> *vecData;
+       FILE *ff1 = fopen( bbGetInputFileName().c_str() , "r+" );
        if (ff1!=NULL)
        {
-               float xx,yy,zz;
                while (!feof(ff1))
                {
-                       fscanf(ff1,"%f %f %f",&xx,&yy,&zz);
-                       printf("EED ReadAxisTree3D point %d  >> %f %f %f\n", numberOfLines,xx,yy,zz);
-                       tlstPointsX.push_back( (double)xx );
-                       tlstPointsY.push_back( (double)yy );
-                       tlstPointsZ.push_back( (double)zz );
+                       for( i=0 ;  i<bbGetInputDimension() ; i++)
+                       {
+                               fscanf(ff1,"%s",tmpValue);
+                               vecData=tlst[i];
+                               vecData->push_back( tmpValue );
+                       }       
                        numberOfLines++;                        
                }       
+
+               std::cout<<"18-04-2012 RaC ReadAxisTree3D::Process Erase last element in vectors."<<std::endl;
+               // TOFIX If it is not erased, the last element in every vector is a copy of the last column value
+               for( i=0 ;  i<bbGetInputDimension() ; i++)
+               {
+                       vecData=tlst[i];
+                       vecData->pop_back();
+               }
+               /* vecData=tlst[0];
+               std::cout<<"RaC last element 1:"<<vecData->at(numberOfLines-2)<<std::endl;
+               std::cout<<"RaC last element 1:"<<vecData->at(numberOfLines-1)<<std::endl;
+               vecData=tlst[1];
+               std::cout<<"RaC last element 2:"<<vecData->at(numberOfLines-2)<<std::endl;
+               std::cout<<"RaC last element 2:"<<vecData->at(numberOfLines-1)<<std::endl;
+               vecData=tlst[2];
+               std::cout<<"RaC last element 3:"<<vecData->at(numberOfLines-2)<<std::endl;
+               std::cout<<"RaC last element 3:"<<vecData->at(numberOfLines-1)<<std::endl; */
                fclose(ff1);
        } else {   // else ff1
-               printf("bbcreaMaracasVisuReadAxisTree3D::Process  ...Error... reading file InputFileName_Points>%s", bbGetInputFileName_Points().c_str() );
+               printf("bbcreaMaracasVisuReadAxisTree3D::Process  ...Error... reading file InputFileName_Points>%s\n", bbGetInputFileName().c_str() );
        } //ff1 
 
-       
-       FILE *ff2 = fopen( bbGetInputFileName_Indexs().c_str() , "r+" );
-       if (ff2!=NULL)
-       {
-               int ii,i=0;
-               while ( !feof(ff2) )
-               {
-                       fscanf(ff2,"%d ",&ii);
-                       printf("EED ReadAxisTree3D index %d >> %d\n", i,ii);
-                       i++;
-                       
-                       numberOfPoints = numberOfPoints +ii;
-                       tlstIndexs.push_back( ii );
-               }       
-               fclose(ff2);
-       } else {   // else ff
-               printf("bbcreaMaracasVisuReadAxisTree3D::Process  ...Error... reading file InputFileName_Indexs>%s", bbGetInputFileName_Indexs().c_str() );
-       } //ff2 
-       
-       printf("EED numberOfLines=%d   numberOfPoints=%d \n",numberOfLines,numberOfPoints);
-       
-       bbSetOutputlstIndexs( tlstIndexs );
-       bbSetOutputlstPointsX( tlstPointsX );
-       bbSetOutputlstPointsY( tlstPointsY );
-       bbSetOutputlstPointsZ( tlstPointsZ );
+
+       i=1; if (i<=bbGetInputDimension()) { bbSetOutputlstData1( *(tlst[i-1]) ); }
+       i=2; if (i<=bbGetInputDimension()) { bbSetOutputlstData2( *(tlst[i-1]) ); }
+       i=3; if (i<=bbGetInputDimension()) { bbSetOutputlstData3( *(tlst[i-1]) ); }
+       i=4; if (i<=bbGetInputDimension()) { bbSetOutputlstData4( *(tlst[i-1]) ); }
+       i=5; if (i<=bbGetInputDimension()) { bbSetOutputlstData5( *(tlst[i-1]) ); }
+       i=6; if (i<=bbGetInputDimension()) { bbSetOutputlstData6( *(tlst[i-1]) ); }
+       i=7; if (i<=bbGetInputDimension()) { bbSetOutputlstData7( *(tlst[i-1]) ); }
+       i=8; if (i<=bbGetInputDimension()) { bbSetOutputlstData8( *(tlst[i-1]) ); }
+       i=9; if (i<=bbGetInputDimension()) { bbSetOutputlstData9( *(tlst[i-1]) ); }
+
+       printf("EED ReadAxisTree3D::Process end \n");
        
 }
        
@@ -95,8 +129,9 @@ void ReadAxisTree3D::bbUserSetDefaultValues()
 
 //  SET HERE THE DEFAULT INPUT/OUTPUT VALUES OF YOUR BOX 
 //    Here we initialize the input 'In' to 0
-   bbSetInputFileName_Indexs("");
-       bbSetInputFileName_Points("");  
+       
+       bbSetInputDimension(1); 
+       bbSetInputFileName(""); 
   
 }
 //=====