]> Creatis software - creaMaracasVisu.git/blobdiff - bbtk/src/bbmaracasvisuImageActor.cxx
creaButtonContainer: new structure to make easy the button settings
[creaMaracasVisu.git] / bbtk / src / bbmaracasvisuImageActor.cxx
index 2c26bd7c30720429b716bbb2c4f372966eb479ad..3d54751919513861682490cd1b3327f3ccd2da4b 100644 (file)
@@ -11,28 +11,34 @@ BBTK_BLACK_BOX_IMPLEMENTATION(ImageActor,bbtk::AtomicBlackBox);
 void ImageActor::Process()
 {
 
-       //JCP 04/04/09
-       vtkRenderer *render = bbGetInputRenderer();
-       vtkImageData *img = bbGetInputIn();
-       vtkLinearTransform* transform = bbGetInputTransform();
+               //JCP 04/04/09
+               vtkRenderer *render                             = bbGetInputRenderer();
+               vtkImageData *img                               = bbGetInputIn();
+               vtkLinearTransform* transform   = bbGetInputTransform();
 
-       if(img != NULL && transform != NULL){
-               
-               imageactor = vtkImageActor::New();
-               vtkImageShiftScale *imageshiftscale = vtkImageShiftScale::New();
-               imageshiftscale->SetInput( img );       
-               imageshiftscale->SetOutputScalarTypeToUnsignedChar();   
-               imageactor->SetInput( imageshiftscale->GetOutput() );   
-               imageactor->SetUserTransform( transform );      
-
-               if(render != NULL ){
-                       render->AddActor( imageactor );
+               if(img != NULL){
+                       
+                       imageshiftscale->SetInput( img );       
+                       imageshiftscale->SetOutputScalarTypeToUnsignedChar();   
+                       imageactor->SetInput( imageshiftscale->GetOutput() );   
+                       if (transform!=NULL){
+                         imageactor->SetUserTransform( transform );    
+                       } // transform
+                       if(render != NULL ){
+                               render->AddActor( imageactor );
+                       } // render
+                       bbSetOutputOut(imageactor);
+               } // img
+                       
+                       
+               // Interface Update
+               if ((firsttime==true) && (bbGetInputRenderer()!=NULL ))
+               {
+                               firsttime=false;
+                               bbGetInputRenderer()->AddActor( imageactor );
                }
-
-
+               
                bbSetOutputOut(imageactor);
-
-       }
        
 }
 void ImageActor::bbUserSetDefaultValues()
@@ -50,6 +56,8 @@ void ImageActor::bbUserSetDefaultValues()
        //-----------------------------------------------------------------     
        void ImageActor::bbUserInitializeProcessing()
        {
+               imageactor = vtkImageActor::New();
+               imageshiftscale = vtkImageShiftScale::New();
        }
        
        //-----------------------------------------------------------------