X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=packages%2Fvtk%2Fsrc%2FbbvtkText3D.cxx;h=077c44f65023bd94df42660caa70b55db5526c0b;hb=6827eadc2157e47cc354282c7992fe052e6b5ca0;hp=bf831ad43fa0aea543d8bb56115a185ecbdf75a5;hpb=32f572e3d47f4c17b65787a6616a73e9d718c04e;p=bbtk.git diff --git a/packages/vtk/src/bbvtkText3D.cxx b/packages/vtk/src/bbvtkText3D.cxx index bf831ad..077c44f 100644 --- a/packages/vtk/src/bbvtkText3D.cxx +++ b/packages/vtk/src/bbvtkText3D.cxx @@ -1,12 +1,36 @@ -//===== +/* + # --------------------------------------------------------------------- + # + # Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image + # pour la SantÈ) + # Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton + # Previous Authors : Laurent Guigues, Jean-Pierre Roux + # CreaTools website : www.creatis.insa-lyon.fr/site/fr/creatools_accueil + # + # This software is governed by the CeCILL-B license under French law and + # abiding by the rules of distribution of free software. You can use, + # modify and/ or redistribute the software under the terms of the CeCILL-B + # license as circulated by CEA, CNRS and INRIA at the following URL + # http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html + # or in the file LICENSE.txt. + # + # As a counterpart to the access to the source code and rights to copy, + # modify and redistribute granted by the license, users are provided only + # with a limited warranty and the software's author, the holder of the + # economic rights, and the successive licensors have only limited + # liability. + # + # The fact that you are presently reading this means that you have had + # knowledge of the CeCILL-B license and that you accept its terms. + # ------------------------------------------------------------------------ */ + + +//===== // 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) //===== #include "bbvtkText3D.h" #include "bbvtkPackage.h" -#include "vtkTextActor3D.h" -#include "vtkTextProperty.h" - namespace bbvtk { @@ -31,19 +55,33 @@ 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 ); + // 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() ); + _textActor->GetTextProperty()->SetOpacity( bbGetInputOpacity() ); - textActor->SetInput( bbGetInputIn().c_str() ); - textActor->SetPosition( bbGetInputX(), bbGetInputY(),bbGetInputZ() ); - bbGetInputRenderer()->AddActor( textActor ); - bbSetOutputOut(textActor); - + 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 +90,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 +101,11 @@ void Text3D::bbUserSetDefaultValues() colour.push_back(0); bbSetInputColour(colour); bbSetInputRenderer(NULL); + bbSetInputTransform(NULL); + bbSetInputOpacity(1); + + _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)