X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=bbtk_creaVtk_PKG%2Fsrc%2FbbcreaVtkVectorsExtraction.cxx;h=33b2347ddf962cad47e285e157226befa185f0a8;hb=3582c0f9b8380fde739856aa6a188da3262cf03b;hp=38f2ffb1e9c8f34d1712daf04c3578bad6a550a8;hpb=deba2ca0e15d275b9c2e80000697d5068ef3efa9;p=creaVtk.git diff --git a/bbtk_creaVtk_PKG/src/bbcreaVtkVectorsExtraction.cxx b/bbtk_creaVtk_PKG/src/bbcreaVtkVectorsExtraction.cxx index 38f2ffb..33b2347 100644 --- a/bbtk_creaVtk_PKG/src/bbcreaVtkVectorsExtraction.cxx +++ b/bbtk_creaVtk_PKG/src/bbcreaVtkVectorsExtraction.cxx @@ -28,68 +28,79 @@ void VectorsExtraction::Process() // (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::cout<< "MLER VectorsExtraction Process Start" << std::endl; - +std::cout<< "MLER VectorsExtraction Process Start" << std::endl; if(bbGetInputVectorsFieldImage() != NULL ) { - vtkImageData *m_VectorImage = bbGetInputVectorsFieldImage(); - vtkIdType m_idType; - vtkDoubleArray *velocity = vtkDoubleArray::New(); - - std::vector coord = bbGetInputCoordinates(); - std::vector vec; - - vec.push_back(0); - vec.push_back(0); - vec.push_back(0); - - double ang1 = 0;//Angle 1 - double ang2 = 0;//ANgle 2 - double comp = 0;//Component x + y + vtkImageData *m_VectorImage = bbGetInputVectorsFieldImage(); + vtkIdType m_idType; + vtkDoubleArray *velocity = vtkDoubleArray::New(); + std::vector coord = bbGetInputCoordinates(); + std::vector vec; + vec.push_back(0); + vec.push_back(0); + vec.push_back(0); + double ang1 = 0;//Angle 1 + double ang2 = 0;//ANgle 2 + double comp = 0;//Component x + y + //Find coordinate into the image +std::cout << "ups ." << std::endl; + m_idType = m_VectorImage->FindPoint(coord[0],coord[1],coord[2]); +std::cout << "m_idType" << m_idType << std::endl; + //Recuperate vector of vectorFieldImage + m_VectorImage->Print(std::cout); + + + int sizeArrays= m_VectorImage->GetPointData()->GetNumberOfArrays(); + for (int iArray=0; iArrayGetPointData()->GetArrayName(iArray) ); + } // for iArrays + +vtkDataArray *dataArray = m_VectorImage->GetPointData()->GetArray("velocity"); +if (dataArray!=NULL) +{ + printf("DataArrya ok \n"); + double *vecData; + vecData=dataArray->GetTuple3(m_idType); + printf("info data: %f %f %f \n", vecData[0], vecData[1], vecData[2] ); + vec[0]=vecData[0]; + vec[1]=vecData[1]; + vec[2]=vecData[2]; + bbSetOutputVector(vec); - //Find coordinate into the image - m_idType = m_VectorImage->FindPoint(coord[0],coord[1],coord[2]); - std::cout << m_idType; +} // if dataArray - //Recuperate vector of vectorFieldImage velocity = vtkDoubleArray::SafeDownCast(m_VectorImage->GetPointData()->GetArray("velocity")); - //velocity->Print(std::cout); - - std::cout<< "# components velocity: " << velocity->GetNumberOfComponents()<GetNumberOfTuples()<GetComponent(m_idType,0); - vec[1] = velocity->GetComponent(m_idType,1); - vec[2] = velocity->GetComponent(m_idType,2); - - std::cout << "velocity :" << vec[0] << "," <Print(std::cout); - - std::cout << "ang1: " << ang1 << std::endl; - std::cout << "ang2: " << ang2 << std::endl; - - bbSetOutputAngle1(ang1); - bbSetOutputAngle2(ang2); - bbSetOutputVector(vec); - bbSetOutputX(coord[0]); - bbSetOutputY(coord[1]); - bbSetOutputZ(coord[2]); - + //velocity->Print(std::cout); + if (velocity!=NULL) + { + std::cout<< "# components velocity: " << velocity->GetNumberOfComponents()<GetNumberOfTuples()<GetComponent(m_idType,0); + vec[1] = velocity->GetComponent(m_idType,1); + vec[2] = velocity->GetComponent(m_idType,2); + std::cout << "velocity :" << vec[0] << "," <Print(std::cout); + std::cout << "ang1: " << ang1 << std::endl; + std::cout << "ang2: " << ang2 << std::endl; + bbSetOutputAngle1(ang1); + bbSetOutputAngle2(ang2); + bbSetOutputVector(vec); + bbSetOutputX(coord[0]); + bbSetOutputY(coord[1]); + bbSetOutputZ(coord[2]); + + } else { + bbSetOutputAngle1(ang1); + bbSetOutputAngle2(ang2); + bbSetOutputVector(vec); + }// if velocity }// if image != NULL - - std::cout<< "MLER VectorsExtraction Process END" << std::endl; - +std::cout<< "MLER VectorsExtraction Process END" << std::endl; } //===== // Before editing this file, make sure it's a file of your own (i.e.: it wasn't generated from xml description; if so : your modifications will be lost)