+/*# ---------------------------------------------------------------------
+#
+# 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..
//=====
// * 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");
}
// 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("");
}
//=====