X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=packages%2Fvtk%2Fsrc%2FbbvtkSphereList.cxx;h=b8519fbfa32f9122536846c7ec9884d0cffc2fd9;hb=9e8c95c96acaea8851733d20090bf6de7eed1269;hp=24538a70c4f48013b30fd91b953d3aebb87e8f05;hpb=d19c5512748aa8e2dd5c3d01d9ec680ded1f17ce;p=bbtk.git diff --git a/packages/vtk/src/bbvtkSphereList.cxx b/packages/vtk/src/bbvtkSphereList.cxx index 24538a7..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 SetInput( newSphere -> GetOutput() ); #else + newSphere -> Update(); newMapper -> SetInputData( newSphere -> GetOutput() ); #endif @@ -156,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; @@ -170,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) @@ -186,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 }