X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=packages%2Fvtk%2Fsrc%2FbbvtkSphereList.cxx;h=4932d83cc9766d9f24ceba115775c784059dd81c;hb=59a1da6c8c2d9108d4cf84595c7841c6371b9e52;hp=7577a0a7ed47a6d1c5e980a03102507a2b5c235d;hpb=cfad95b6e08e6e53846ffcda7fbc5932065f2c47;p=bbtk.git diff --git a/packages/vtk/src/bbvtkSphereList.cxx b/packages/vtk/src/bbvtkSphereList.cxx index 7577a0a..4932d83 100644 --- a/packages/vtk/src/bbvtkSphereList.cxx +++ b/packages/vtk/src/bbvtkSphereList.cxx @@ -38,85 +38,132 @@ namespace bbvtk BBTK_ADD_BLACK_BOX_TO_PACKAGE(vtk,SphereList) BBTK_BLACK_BOX_IMPLEMENTATION(SphereList,bbtk::AtomicBlackBox); +double SphereList::GetRadio(int i) +{ + double radio; + if ( bbGetInputlstRadio().size()==0 ) + { + radio = 1.0; + } else if ( iSetPosition( px,py,pz ); + sphereActor[i] -> GetProperty() -> SetOpacity( bbGetInputOpacity() ); + sphereActor[i] -> GetProperty() -> SetColor( cr,cg,cb ); + vtkspheresourceLst[i] -> SetRadius( GetRadio(i) ); + } // for i + } else { + + + iMin=0; + iMax=bbGetInputlstPointX().size(); +// printf("EED SphereList::Process iMax=%d \n", iMax); +// for (int i = 0; i < iMax; i++) +// { +// std::cout << "CM SphereList::Process i=" << i << " bbGetInputlstPointX()[i]=" << bbGetInputlstPointX()[i] << std::endl; +// std::cout << "CM SphereList::Process i=" << i << " bbGetInputlstPointY()[i]=" << bbGetInputlstPointY()[i] << std::endl; +// std::cout << "CM SphereList::Process i=" << i << " bbGetInputlstPointZ()[i]=" << bbGetInputlstPointZ()[i] << std::endl; +// } // for i + + // If the vector Y or respectively the vector Z has a different size from the vector X, the position value py or respectively pz is set to 0. + for ( int i=iMin ; i=1){ - radio = bbGetInputlstRadio()[ bbGetInputlstRadio().size() - 1 ]; - } else { - radio = 1.0; - } - } + GetPoint(i, px,py,pz); + GetColor(i, cr,cg,cb); + // Sphere vtkSphereSource * newSphere = vtkSphereSource::New(); - vtkSphere.push_back(newSphere); + vtkspheresourceLst.push_back(newSphere); newSphere -> SetThetaResolution(20); newSphere -> SetPhiResolution(20); - newSphere -> SetRadius(radio); + newSphere -> SetRadius( GetRadio(i) ); vtkPolyDataMapper * newMapper = vtkPolyDataMapper::New(); - sphereMapper.push_back(newMapper); newMapper -> SetInput( newSphere -> GetOutput() ); vtkActor * newActor = vtkActor::New(); sphereActor.push_back(newActor); newActor -> SetMapper(newMapper); - newActor -> SetOrigin(0, 0, 0); - - unsigned int j = 3*i +2; - if (j < bbGetInputColour().size() ) - { - newActor -> GetProperty() -> SetColor( bbGetInputColour()[3*i] , bbGetInputColour()[3*i + 1] , bbGetInputColour()[3*i + 2] ); - last_valid_color_index = 3*i; - } - else - newActor -> GetProperty() -> SetColor( bbGetInputColour()[last_valid_color_index] , bbGetInputColour()[last_valid_color_index + 1] , bbGetInputColour()[last_valid_color_index + 2] ); - + newActor -> SetOrigin(0, 0, 0); + newActor -> GetProperty() -> SetColor(cr,cg,cb); newActor -> GetProperty() -> SetOpacity( bbGetInputOpacity() ); newActor -> SetPosition( px,py,pz ); @@ -127,21 +174,21 @@ void SphereList::Process() if (bbGetInputRenderer()!=NULL) - { + { bbGetInputRenderer() -> AddActor( newActor ); - } - - } // for - - if (sphereActor.size() != 0) - { - // Sets the output. - bbSetOutputActorList(sphereActor); - } + } - } // if (bbGetInputRenderer()!=NULL) + } // for + if (sphereActor.size() != 0) + { + // Sets the output. + bbSetOutputActorList(sphereActor); + } + + } // if (bbGetInputRenderer()!=NULL) + } // if (sphereActor.size() != 0) } void SphereList::bbUserSetDefaultValues()