X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=bbtk_creaVtk_PKG%2Fsrc%2FbbcreaVtkActor.cxx;h=2d52f394429bb1d012155eada8377f2c9cafab45;hb=8b897e95b16fec9d4da9e687b750101f6f16e173;hp=39a3f8edddc45a47e93bafd2bc18f70d4f04135a;hpb=eae21eccd8e1b6bc4d3c437d739f4e782019d32e;p=creaVtk.git diff --git a/bbtk_creaVtk_PKG/src/bbcreaVtkActor.cxx b/bbtk_creaVtk_PKG/src/bbcreaVtkActor.cxx index 39a3f8e..2d52f39 100644 --- a/bbtk_creaVtk_PKG/src/bbcreaVtkActor.cxx +++ b/bbtk_creaVtk_PKG/src/bbcreaVtkActor.cxx @@ -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 = " <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 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 ); } //=====