]> Creatis software - creaVtk.git/blobdiff - bbtk_creaVtk_PKG/src/bbcreaVtkActor.cxx
#3470 merge vtk8itk5wx3-mingw64
[creaVtk.git] / bbtk_creaVtk_PKG / src / bbcreaVtkActor.cxx
index 39a3f8edddc45a47e93bafd2bc18f70d4f04135a..2d52f394429bb1d012155eada8377f2c9cafab45 100644 (file)
@@ -3,6 +3,9 @@
 //===== 
 #include "bbcreaVtkActor.h"
 #include "bbcreaVtkPackage.h"
+#include "vtkProperty.h"
+
+
 namespace bbcreaVtk
 {
 
@@ -30,29 +33,43 @@ void Actor::Process()
 //    std::cout << "Output value = " <<bbGetOutputOut() << std::endl;
  
 
-     vtkProp3D* vtkactor=bbGetInputIn();
-//     vtkactor->GetProperty()->SetOpacity( bbGetInputOpacity() );
-     
-     if ( bbGetInputTransform()!=NULL )
-     {
-        vtkactor->SetUserTransform( bbGetInputTransform() );
-     }
+       if (bbGetInputIn()!=NULL)
+       {
+               vtkProp3D* vtkprop3D=bbGetInputIn();
+               std::string className = vtkprop3D->GetClassName();
+               std::string wantedClass = "vtkOpenGLActor";
+               if(className == wantedClass)
+               {
+                       vtkActor *vtkactor=((vtkActor*)vtkprop3D);
+                       vtkactor->GetProperty()->SetOpacity( bbGetInputOpacity() );
+                       vtkactor->GetProperty()->SetLineWidth( bbGetInputLineWidth() );
+                       double r = bbGetInputColor()[0];
+                       double g = bbGetInputColor()[1];
+                       double b = bbGetInputColor()[2];
+                       vtkactor->GetProperty()->SetColor( r,g,b );
+               }
+                
+                if ( bbGetInputTransform()!=NULL )
+                {
+                   vtkprop3D->SetUserTransform( bbGetInputTransform() );
+                }
 
-//     bbSetOutputOut( vtkactor );
+       //     bbSetOutputOut( vtkactor );
 
-     // Interface Update
+                // Interface Update
 
-    if ((bbGetInputRenderer()!=NULL) && ( backActive!=bbGetInputActive() ))
-       {
-       
-       if (bbGetInputActive()==true )
-       {
-                       bbGetInputRenderer()->AddActor( vtkactor );
-       }  else {
-                       bbGetInputRenderer()->RemoveActor( vtkactor );
-       }  //if Active
-               backActive=bbGetInputActive();
-       } // if Renderer
+               if ((bbGetInputRenderer()!=NULL) && ( backActive!=bbGetInputActive() ))
+               {
+               
+                       if (bbGetInputActive()==true )
+                       {
+                               bbGetInputRenderer()->AddActor( vtkprop3D );
+                       }  else {
+                               bbGetInputRenderer()->RemoveActor( vtkprop3D );
+                       }  //if Active
+                       backActive=bbGetInputActive();
+               } // if Renderer
+       }// bbGetInputIn
 
 }
 //===== 
@@ -63,11 +80,18 @@ void Actor::bbUserSetDefaultValues()
 
 //  SET HERE THE DEFAULT INPUT/OUTPUT VALUES OF YOUR BOX 
 //    Here we initialize the input 'In' to 0
-   bbSetInputActive(false);
-   backActive=bbGetInputActive();
-   bbSetInputIn(NULL);
-   bbSetInputOpacity(1);
-   bbSetInputRenderer(NULL);
+
+       std::vector<double> color;
+       color.push_back(1);
+       color.push_back(0);
+       color.push_back(0);
+       bbSetInputActive( false );
+       backActive=bbGetInputActive();
+       bbSetInputIn( NULL );
+       bbSetInputOpacity( 1 );
+       bbSetInputLineWidth( 0.5 );
+       bbSetInputRenderer( NULL );
+       bbSetInputColor( color );
 
 }
 //=====