X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;ds=sidebyside;f=packages%2Fvtk%2Fsrc%2FbbvtkSphereList.cxx;h=b8519fbfa32f9122536846c7ec9884d0cffc2fd9;hb=180e7479a79e0eda35693e68ed04e994dce96096;hp=616f088d4b5093246a909ec71b00e15bcad69b65;hpb=84454af9be8cecfbf41ca7c0198c65efe60f9b48;p=bbtk.git diff --git a/packages/vtk/src/bbvtkSphereList.cxx b/packages/vtk/src/bbvtkSphereList.cxx index 616f088..b8519fb 100644 --- a/packages/vtk/src/bbvtkSphereList.cxx +++ b/packages/vtk/src/bbvtkSphereList.cxx @@ -42,17 +42,15 @@ double SphereList::GetRadio(int i) { double radio; if ( bbGetInputlstRadio().size()==0 ) - { - radio = 1.0; - } else if ( isizeLstX) { - int i; - int diff=sizeLstActors-sizeLstX; + diff=sizeLstActors-sizeLstX; for (i=0;iRemoveActor( sphereActor[0] ); @@ -124,8 +123,7 @@ void SphereList::Process() if (sizeLstActors SetPhiResolution(20); newSphere -> SetRadius( 1 ); vtkPolyDataMapper * newMapper = vtkPolyDataMapper::New(); + +//EED 2017-01-01 Migration VTK7 +#if VTK_MAJOR_VERSION <= 5 newMapper -> SetInput( newSphere -> GetOutput() ); +#else + newSphere -> Update(); + newMapper -> SetInputData( newSphere -> GetOutput() ); +#endif + vtkActor * newActor = vtkActor::New(); sphereActor.push_back(newActor); newActor -> SetMapper(newMapper); @@ -149,7 +155,7 @@ void SphereList::Process() } // if size // Refresh data - for (int i = 0; i < sphereActor.size() ; i++) + for (i = 0; i < sphereActor.size() ; i++) { double px = 0.0; double py = 0.0; @@ -163,6 +169,7 @@ void SphereList::Process() sphereActor[i] -> GetProperty() -> SetOpacity( bbGetInputOpacity() ); sphereActor[i] -> GetProperty() -> SetColor( cr,cg,cb ); vtkspheresourceLst[i] -> SetRadius( GetRadio(i) ); + vtkspheresourceLst[i] -> Update(); } // for i if (sphereActor.size() != 0) @@ -179,7 +186,81 @@ void SphereList::Process() }// if Renderer //==================================================================== +*/ + + if (bbGetInputRenderer()!=NULL) + { + int sizeLstX = bbGetInputlstPointX().size(); + int sizeLstY = bbGetInputlstPointY().size(); + int sizeLstZ = bbGetInputlstPointZ().size(); + int sizeLstActors = sphereActor.size(); + if ((sizeLstX==sizeLstY) &&(sizeLstX==sizeLstZ)) + { + int i; + double px,py,pz; + double cr,cg,cb; + for ( i=0 ; iRemoveActor( sphereActor[i] ); + vtkspheresourceLst[i]->Delete(); + vtkpolydatamaperLst[i]->Delete(); + sphereActor[i]->Delete(); + } // for + vtkspheresourceLst.clear(); + vtkpolydatamaperLst.clear(); + sphereActor.clear(); + + + for (i=0;i SetThetaResolution(20); + newSphere -> SetPhiResolution(20); + newSphere -> SetRadius( 1 ); + vtkPolyDataMapper * newMapper = vtkPolyDataMapper::New(); + vtkpolydatamaperLst.push_back(newMapper); +//EED 2017-01-01 Migration VTK7 +#if VTK_MAJOR_VERSION <= 5 + newMapper -> SetInput( newSphere -> GetOutput() ); +#else + newSphere -> Update(); + newMapper -> SetInputData( newSphere -> GetOutput() ); +#endif + + vtkActor * newActor = vtkActor::New(); + sphereActor.push_back(newActor); + newActor -> SetMapper(newMapper); + newActor -> SetOrigin(0, 0, 0); + if ( bbGetInputTransform()!=NULL ) + { + newActor->SetUserTransform( bbGetInputTransform() ); + } + bbGetInputRenderer()->AddActor( newActor ); + } // for + + + // Refresh data + for (i = 0; i < sphereActor.size() ; i++) + { + GetPoint(i, px,py,pz); + GetColor(i, cr,cg,cb); + sphereActor[i] ->SetPosition( px,py,pz ); + sphereActor[i] -> GetProperty() -> SetOpacity( bbGetInputOpacity() ); + sphereActor[i] -> GetProperty() -> SetColor( cr,cg,cb ); + vtkspheresourceLst[i] -> SetRadius( GetRadio(i) ); + vtkspheresourceLst[i] -> Update(); + } // for i + + if (sphereActor.size() != 0) + { + // Sets the output. + bbSetOutputActorList(sphereActor); + } + } // sizeLstX sizeLstY sizeLstZ + } // if Renderer }