X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=packages%2Fvtk%2Fsrc%2FbbvtkText3D.cxx;h=077c44f65023bd94df42660caa70b55db5526c0b;hb=29a64ec37c5dc46cc05277a4f7358a77026bfbda;hp=ef38350d3ea4aa35aba036c22337e6f95d8e9547;hpb=cca3e3b6ef2a6808c273b16073d1db1e56339a50;p=bbtk.git diff --git a/packages/vtk/src/bbvtkText3D.cxx b/packages/vtk/src/bbvtkText3D.cxx index ef38350..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,28 +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 ); - - 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 ); - } - - if ( bbGetInputTransform()!=NULL ) - { - textActor->SetUserTransform( bbGetInputTransform() ); + bbGetInputRenderer()->AddActor( _textActor ); } - - bbSetOutputOut(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() ); + + 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) //===== @@ -61,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); @@ -73,6 +102,10 @@ void Text3D::bbUserSetDefaultValues() 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)