X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?p=bbtk.git;a=blobdiff_plain;f=packages%2Fvtk%2Fsrc%2FbbvtkPolyDataToActor.cxx;h=58852e83ed9df71d7b01f60835d83c4e7aff505b;hp=d49a2949b670e82ad829317b29e209f6b70ad5d4;hb=d024c7fa8b822877956e4dee7fe98ea749415d47;hpb=064072f6c392f24c17f71d459a9508408a806927 diff --git a/packages/vtk/src/bbvtkPolyDataToActor.cxx b/packages/vtk/src/bbvtkPolyDataToActor.cxx index d49a294..58852e8 100644 --- a/packages/vtk/src/bbvtkPolyDataToActor.cxx +++ b/packages/vtk/src/bbvtkPolyDataToActor.cxx @@ -54,13 +54,14 @@ namespace bbvtk void PolyDataToActor::bbUserSetDefaultValues() { - firsttime=true; + actorAdded=false; std::vector colour; colour.push_back(1.0); colour.push_back(1.0); colour.push_back(0.5); bbSetInputColour(colour); + bbSetInputActive(true); bbSetInputIn(NULL); bbSetInputRenderer(NULL); bbSetInputTransform(NULL); @@ -104,42 +105,50 @@ namespace bbvtk //--------------------------------------------------------------------- - void PolyDataToActor::DoProcess() - { - polydatamapper->SetInput( bbGetInputIn() ); - - vtkactor->GetProperty()->SetRepresentation( bbGetInputRepresentation() ); - vtkactor->GetProperty()->SetLineWidth( bbGetInputLineWidth() ); - - vtkactor->GetProperty()->SetColor( bbGetInputColour()[0], - bbGetInputColour()[1], - bbGetInputColour()[2] ); - - vtkactor->GetProperty()->SetOpacity( bbGetInputOpacity() ); - - if ( bbGetInputTransform()!=NULL ) - { - vtkactor->SetUserTransform( bbGetInputTransform() ); - } - - bbSetOutputOut( vtkactor ); - - // Interface Update - if ((firsttime==true) && (bbGetInputRenderer()!=NULL )) - { - firsttime=false; - bbGetInputRenderer()->AddActor( vtkactor ); - } // firsttime - - if (bbGetInputScalarVisibility()==true ) - { - polydatamapper->ScalarVisibilityOn(); - } else { - polydatamapper->ScalarVisibilityOff(); - } // ScalarVisibility + void PolyDataToActor::DoProcess() + { - - } + if (bbGetInputActive()==true) + { + polydatamapper->SetInput( bbGetInputIn() ); + vtkactor->GetProperty()->SetRepresentation( bbGetInputRepresentation() ); + vtkactor->GetProperty()->SetLineWidth( bbGetInputLineWidth() ); + + vtkactor->GetProperty()->SetColor( bbGetInputColour()[0], + bbGetInputColour()[1], + bbGetInputColour()[2] ); + + vtkactor->GetProperty()->SetOpacity( bbGetInputOpacity() ); + + if ( bbGetInputTransform()!=NULL ) + { + vtkactor->SetUserTransform( bbGetInputTransform() ); + } + + bbSetOutputOut( vtkactor ); + + // Interface Update + if ((actorAdded==false) && (bbGetInputRenderer()!=NULL )) + { + actorAdded=true; + bbGetInputRenderer()->AddActor( vtkactor ); + } // actorAdded + + if (bbGetInputScalarVisibility()==true ) + { + polydatamapper->ScalarVisibilityOn(); + } else { + polydatamapper->ScalarVisibilityOff(); + } // ScalarVisibility + } else { + // Interface Update + if ((actorAdded==true) && (bbGetInputRenderer()!=NULL )) + { + actorAdded=false; + bbGetInputRenderer()->RemoveActor( vtkactor ); + } // actorAdded + } // Active + }