X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=packages%2Fvtk%2Fsrc%2FbbvtkText3D.cxx;h=7f7a0d780b511667c26923ec747a75a3c3e77843;hb=ce89f878310f2d109f9e71f5632377b7c14a10fe;hp=bf831ad43fa0aea543d8bb56115a185ecbdf75a5;hpb=32f572e3d47f4c17b65787a6616a73e9d718c04e;p=bbtk.git diff --git a/packages/vtk/src/bbvtkText3D.cxx b/packages/vtk/src/bbvtkText3D.cxx index bf831ad..7f7a0d7 100644 --- a/packages/vtk/src/bbvtkText3D.cxx +++ b/packages/vtk/src/bbvtkText3D.cxx @@ -4,9 +4,6 @@ #include "bbvtkText3D.h" #include "bbvtkPackage.h" -#include "vtkTextActor3D.h" -#include "vtkTextProperty.h" - namespace bbvtk { @@ -31,19 +28,32 @@ void Text3D::Process() // * TYPE is the C++ type of the input/output // (the one provided in the attribute 'type' of the tag 'input') - vtkTextActor3D *textActor = vtkTextActor3D::New(); - vtkTextProperty *textprop = vtkTextProperty::New(); - textprop->SetColor( bbGetInputColour()[0] , bbGetInputColour()[1], bbGetInputColour()[2] ); - textprop->SetFontSize( 14 ); - - textActor->SetTextProperty( textprop ); - - textActor->SetInput( bbGetInputIn().c_str() ); - textActor->SetPosition( bbGetInputX(), bbGetInputY(),bbGetInputZ() ); - bbGetInputRenderer()->AddActor( textActor ); - bbSetOutputOut(textActor); + // First time : creates the text actor and sets its text. + if (_textActor == NULL) + { + _textActor = vtkTextActor3D::New(); + _textProp = vtkTextProperty::New(); + if ( bbGetInputRenderer()!=NULL ) + { + bbGetInputRenderer()->AddActor( _textActor ); + } + _textProp->SetFontSize( 14 ); + _textActor->SetTextProperty( _textProp ); + } + _textProp->SetColor( bbGetInputColour()[0] , bbGetInputColour()[1], bbGetInputColour()[2] ); + + _textActor->SetInput( bbGetInputIn().c_str() ); + _textActor->SetPosition( bbGetInputX(), bbGetInputY(),bbGetInputZ() ); + if ( bbGetInputTransform()!=NULL ) + { + _textActor->SetUserTransform( bbGetInputTransform() ); + } + + bbSetOutputOut(_textActor); + } + //===== // Before editing this file, make sure it's a file of your own (i.e.: it wasn't generated from xml description; if so : your modifications will be lost) //===== @@ -52,7 +62,7 @@ void Text3D::bbUserSetDefaultValues() // SET HERE THE DEFAULT INPUT/OUTPUT VALUES OF YOUR BOX // Here we initialize the input 'In' to 0 - bbSetInputIn(""); + bbSetInputIn(""); bbSetInputX(0); bbSetInputY(0); bbSetInputZ(0); @@ -63,6 +73,10 @@ void Text3D::bbUserSetDefaultValues() colour.push_back(0); bbSetInputColour(colour); bbSetInputRenderer(NULL); + bbSetInputTransform(NULL); + + _textActor = NULL; + _textProp = NULL; } //===== // Before editing this file, make sure it's a file of your own (i.e.: it wasn't generated from xml description; if so : your modifications will be lost)