From 9e95afcbc51687ad39d72aa6017837717bcb486b Mon Sep 17 00:00:00 2001 From: Claire Mouton Date: Fri, 21 Sep 2012 08:53:02 +0000 Subject: [PATCH] Feature #1609 g packages/wxvtk/doc/bbdoc cvs diff: Diffing packages/wxvtk/doc/doxygen cvs diff: Diffing packages/wxvtk/src cvs diff: Diffing samples cvs diff: Diffing samples/SampleInsertWxBlackBoxInOwnFrame cvs diff: Diffing samples/SampleInterpreter cvs diff: Diffing samples/SampleOutputObserver cvs diff: Diffing samples/SampleWidgetsBase mouton@mouton-VirtualBox:~/Creatis/all/creatools_source/bbtk$ cvs commit -mFeature --- packages/vtk/src/bbvtkText3D.cxx | 41 +++++++++++++++++++------------- packages/vtk/src/bbvtkText3D.h | 11 ++++++--- 2 files changed, 32 insertions(+), 20 deletions(-) diff --git a/packages/vtk/src/bbvtkText3D.cxx b/packages/vtk/src/bbvtkText3D.cxx index ef38350..880bd61 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,28 +28,35 @@ 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() ); + // 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 ); + bbGetInputRenderer()->AddActor( _textActor ); } + _textProp->SetFontSize( 14 ); + _textActor->SetTextProperty( _textProp ); + } + // If the text actor already exists in the scene, simply refresh its text. + else + { + _textProp->SetColor( bbGetInputColour()[0] , bbGetInputColour()[1], bbGetInputColour()[2] ); + + _textActor->SetInput( bbGetInputIn().c_str() ); + _textActor->SetPosition( bbGetInputX(), bbGetInputY(),bbGetInputZ() ); if ( bbGetInputTransform()!=NULL ) { - textActor->SetUserTransform( bbGetInputTransform() ); + _textActor->SetUserTransform( bbGetInputTransform() ); } - bbSetOutputOut(textActor); - + 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) //===== @@ -61,7 +65,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); @@ -73,6 +77,9 @@ void Text3D::bbUserSetDefaultValues() 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) diff --git a/packages/vtk/src/bbvtkText3D.h b/packages/vtk/src/bbvtkText3D.h index 0dbe84f..7bbca6c 100644 --- a/packages/vtk/src/bbvtkText3D.h +++ b/packages/vtk/src/bbvtkText3D.h @@ -10,6 +10,8 @@ #include "vtkProp3D.h" #include "vtkRenderer.h" #include "vtkLinearTransform.h" +#include "vtkTextActor3D.h" +#include "vtkTextProperty.h" namespace bbvtk @@ -31,9 +33,12 @@ class bbvtk_EXPORT Text3D BBTK_DECLARE_INPUT(Renderer,vtkRenderer*); BBTK_DECLARE_INPUT(Transform,vtkLinearTransform*); - BBTK_DECLARE_OUTPUT(Out,vtkProp3D*); - BBTK_PROCESS(Process); - void Process(); + BBTK_DECLARE_OUTPUT(Out,vtkProp3D*); + BBTK_PROCESS(Process); + void Process(); + + vtkTextActor3D *_textActor; + vtkTextProperty *_textProp; //===== // 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) //===== -- 2.47.1