//=====
void VectorFilterDouble::Process()
{
-
// THE MAIN PROCESSING METHOD BODY
// Here we simply set the input 'In' value to the output 'Out'
// And print out the output value
// (the one provided in the attribute 'name' of the tag 'input')
// * TYPE is the C++ type of the input/output
// (the one provided in the attribute 'type' of the tag 'input')
-
std::vector< std::vector<double> * > pLstVec;
std::vector< std::vector<double> * > pLstVecOut;
std::vector<double> In0 = bbGetInputIn0();
std::vector<double> In7 = bbGetInputIn7();
std::vector<double> In8 = bbGetInputIn8();
std::vector<double> In9 = bbGetInputIn9();
-
if (bbGetInputIn0().size()!=0) { pLstVec.push_back( &In0 ); }
if (bbGetInputIn1().size()!=0) { pLstVec.push_back( &In1 ); }
if (bbGetInputIn2().size()!=0) { pLstVec.push_back( &In2 ); }
if (bbGetInputIn7().size()!=0) { pLstVec.push_back( &In7 ); }
if (bbGetInputIn8().size()!=0) { pLstVec.push_back( &In8 ); }
if (bbGetInputIn9().size()!=0) { pLstVec.push_back( &In9 ); }
-
std::vector<double> Out0;
std::vector<double> Out1;
std::vector<double> Out2;
std::vector<double> Out7;
std::vector<double> Out8;
std::vector<double> Out9;
-
pLstVecOut.push_back( &Out0 );
pLstVecOut.push_back( &Out1 );
pLstVecOut.push_back( &Out2 );
pLstVecOut.push_back( &Out7 );
pLstVecOut.push_back( &Out8 );
pLstVecOut.push_back( &Out9 );
-
-
if (bbGetInputType()==0) // Erase duplicate lines
{
if (bbGetInputIn0().size()!=0) // At least one element
} // if okSizeVec
} // bbGetInputIn0() size
} // Type==0
-
-
if (bbGetInputType()==1) // Resize vector
{
int ipLstvec2;
(*pLstVecOut[ipLstvec2]).push_back( (*pLstVec[ipLstvec2])[(int)iLine] );
} // for
} // for ipLstVec
-
// adding the lastone
for (ipLstvec2=0 ; ipLstvec2<pLstVec.size() ; ipLstvec2++)
{
(*pLstVecOut[ipLstvec2]).push_back( (*pLstVec[ipLstvec2])[(int)(sizeLines-1)] );
- } // for
-
+ } // for
} // Type==1
-
if (bbGetInputType()==2) // Insert intermediate points
{
int ipLstvec;
} // if size>=2
} // for pLstVec
} // Type==2
-
-
if (bbGetInputType()==3) // Addition k1[0]
{
int ipLstvec;
}// for size
} // for pLstVec
} // Type==3
-
if (bbGetInputType()==4) // Substraction k1[0]
{
int ipLstvec;
}// for size
} // for pLstVec
} // Type==4
-
if (bbGetInputType()==5) // Multiplication k1[0]
{
int ipLstvec;
}// for size
} // for pLstVec
} // Type==5
-
if (bbGetInputType()==6) // Division k1
{
int ipLstvec;
}// for size
} // for pLstVec
} // Type==6
-
-
-
if (bbGetInputType()==7)
{
int i,j;
Out1.push_back( In5[j] );
Out2.push_back( In6[j] );
} //
-
-
int iGeneral=0,sizeI,sizeLst1Indexes=In3.size();
for (i=0; i<sizeLst1Indexes-1;i++) { iGeneral=iGeneral+In3[i]; }
sizeI=iGeneral+In3[ sizeLst1Indexes-1 ];
-
int jGeneral = 0;
int sizeJ = In7[ 0 ];
-
double dist2,dist2Min,dx,dy,dz;
int iBack;
-
for (j=jGeneral;j<sizeJ;j++)
{
dist2Min=1000000;
Out1[j]=In1[iBack];
Out2[j]=In2[iBack];
} // for i
-
-
} // Type 7
-
-
-
if (bbGetInputType()==8) // order all vectors using as base the vector In0
{
double tmp;
int i,j,ii,sizeII;
sizeII=pLstVec.size();
-
-
int size=In0.size();
for (i=0;i<size; i++)
{
for (j=i;j<size;j++)
{
if ((*pLstVecOut[0])[j] <= (*pLstVecOut[0])[i] )
- {
-
+ {
for (ii=0;ii<sizeII;ii++)
{
tmp = (*pLstVecOut[ii])[i];
} // for j
} // for i
} // Type 8
-
-
if (bbGetInputType()==9) // Invert vectors
{
double tmp;
int i,j,ii,sizeII;
sizeII=pLstVec.size();
-
int size=In0.size();
int size2=size/2;
for (i=0;i<size; i++)
(*pLstVecOut[ii]).push_back( (*pLstVec[ii])[i] );
} // for ii
} // i
-
for (i=0;i<size2;i++)
{
for (ii=0;ii<sizeII;ii++)
} // for ii
} // for i
} // Type 9
-
-
if (bbGetInputType()==10) // Nearest point in vector
{
int sizeLstX = In0.size(); // lstX
printf("EED Warnning VectorFilterDouble::Process() For Type 10 the size of the vectors are not coherent.\n");
}// if size
} // Type 10
-
-
if (bbGetInputType()==11) // Nearest point in vector
{
int i;
} else {
printf("EED Warnning VectorFilterDouble::Process() For Type 11 the K1 vector (spacing) is not coherent.\n");
}// if size
-
if (spc.size()>=2)
{
for (i=0;i<sizeLstY; i++)
} else {
printf("EED Warnning VectorFilterDouble::Process() For Type 11 the K1 vector (spacing) is not coherent.\n");
}// if size
-
if (spc.size()>=3)
{
for (i=0;i<sizeLstZ; i++)
} else {
printf("EED Warnning VectorFilterDouble::Process() For Type 11 the K1 vector (spacing) is not coherent.\n");
}// if size
-
} // Type 11
-
-
if (bbGetInputType()==12) // Nearest point in vector
{
int i;
} else {
printf("EED Warnning VectorFilterDouble::Process() For Type 12 the K1 vector (spacing) is not coherent.\n");
}// if size
-
if (spc.size()>=2)
{
if (spc[0]!=0)
} else {
printf("EED Warnning VectorFilterDouble::Process() For Type 12 the K1 vector (spacing) is not coherent.\n");
}// if size
-
if (spc.size()>=3)
{
if (spc[0]!=0)
printf("EED Warnning VectorFilterDouble::Process() For Type 12 the K1 vector (spacing) is not coherent.\n");
}// if size
} // Type 12
-
if (bbGetInputType()==13) // Distance point 3D between In0 and In1
{
if ( In0.size()==3 and In1.size()==3)
Out0.push_back( sqrt( x*x +y*y +z*z ) );
}
} // Type 13
-
bbSetOutputOut0( Out0 );
bbSetOutputOut1( Out1 );
bbSetOutputOut2( Out2 );