- } // for i
-
-
- bbSetOutputOut( VecVtkactor );
-}
-
-void VecIsoSurfaceExtractor::bbUserConstructor()
-{
- Init();
- std::vector<double> colour;
- // 1- red
- colour.push_back(1.0);
- colour.push_back(0.0);
- colour.push_back(0.0);
- // 2- blue
- colour.push_back(0.0);
- colour.push_back(0.0);
- colour.push_back(1.0);
- // 3- yellow
- colour.push_back(1.0);
- colour.push_back(1.0);
- colour.push_back(0.0);
- // 4- green
- colour.push_back(0.0);
- colour.push_back(1.0);
- colour.push_back(0.0);
- // 5-
- colour.push_back(0.0);
- colour.push_back(1.0);
- colour.push_back(1.0);
-
- // 6-
- colour.push_back(0.5);
- colour.push_back(0.5);
- colour.push_back(0.5);
-
-
- bbSetInputColour(colour);
- bbSetInputTransform(NULL);
-}
-
-void VecIsoSurfaceExtractor::bbUserCopyConstructor()
-{
- Init();
-}
-
-void VecIsoSurfaceExtractor::bbUserDestructor()
-{
- int i,size = VecMarchingcubes.size();
- for (i=0;i<size;i++)
- {
- VecMarchingcubes[i]->Delete();
- VecPolydatamapper[i]->Delete();
- VecVtkactor[i]->Delete();
+ VecMarchingcubes.clear();
+ VecPolydatamapper.clear();
+ VecVtkactor.clear();
+
+ size = bbGetInputIn().size();
+ for( i=0 ; i<size ; i++){
+ marchingcubes = vtkMarchingCubes::New();
+ polydatamapper = vtkPolyDataMapper::New();
+ vtkactor = vtkActor::New();
+
+//EED 2017-01-01 Migration VTK7
+#if VTK_MAJOR_VERSION <= 5
+ polydatamapper->SetInput(marchingcubes->GetOutput());
+#else
+ polydatamapper->SetInputData(marchingcubes->GetOutput());
+#endif
+
+ vtkactor->SetMapper(polydatamapper);
+
+ polydatamapper->ScalarVisibilityOff();
+ polydatamapper->ImmediateModeRenderingOn();
+
+ VecMarchingcubes.push_back(marchingcubes);
+ VecPolydatamapper.push_back(polydatamapper);
+ VecVtkactor.push_back(vtkactor);
+ } // for i
+
+ for( i=0 ; i<size ; i++){
+ // Visualisation - result volume
+ marchingcubes=VecMarchingcubes[i];
+ vtkactor=(vtkActor*)VecVtkactor[i];
+
+//EED 2017-01-01 Migration VTK7
+#if VTK_MAJOR_VERSION <= 5
+ marchingcubes->SetInput( bbGetInputIn()[i] );
+#else
+ marchingcubes->SetInputData( bbGetInputIn()[i] );
+#endif
+
+ marchingcubes->SetValue(0, bbGetInputIsovalue() );
+ marchingcubes->Update();
+
+ if ( (i*3+1)<(int)(bbGetInputColour().size()) ){
+ r = bbGetInputColour()[0+i*3];
+ g = bbGetInputColour()[1+i*3];
+ b = bbGetInputColour()[2+i*3];
+ } else {
+ r = bbGetInputColour()[0];
+ g = bbGetInputColour()[1];
+ b = bbGetInputColour()[2];
+ }
+ vtkactor->GetProperty()->SetColor( r,g,b );
+
+ vtkactor->GetProperty()->SetOpacity( bbGetInputOpacity() );
+
+ if ( bbGetInputTransform()!=NULL )
+ {
+ vtkactor->SetUserTransform( bbGetInputTransform() );
+ }
+
+ // Interface Update
+ if (bbGetInputRenderer()!=NULL )
+ {
+ bbGetInputRenderer()->AddActor( vtkactor );
+ }
+ } // for i
+
+ bbSetOutputOut( VecVtkactor );