X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=packages%2Fvtk%2Fsrc%2FbbvtkText2D.cxx;h=5eaa9c2342c9b877e49e7100cb298fea07f9f4c7;hb=6827eadc2157e47cc354282c7992fe052e6b5ca0;hp=a36e4d34cc5f1eccb34d255f7e48add279cdf990;hpb=757a189b6ce998d5da17f49504a140c03d4feeff;p=bbtk.git diff --git a/packages/vtk/src/bbvtkText2D.cxx b/packages/vtk/src/bbvtkText2D.cxx index a36e4d3..5eaa9c2 100644 --- a/packages/vtk/src/bbvtkText2D.cxx +++ b/packages/vtk/src/bbvtkText2D.cxx @@ -4,7 +4,6 @@ #include "bbvtkText2D.h" #include "bbvtkPackage.h" -#include "vtkTextActor.h" #include "vtkTextProperty.h" namespace bbvtk @@ -33,24 +32,72 @@ void Text2D::Process() // bbSetOutputOut( bbGetInputIn() ); // std::cout << "Output value = " <SetTextScaleModeToProp(); - textActor->SetDisplayPosition(90, 50); - textActor->SetInput(bbGetInputIn().c_str()); - textActor->GetPosition2Coordinate()->SetCoordinateSystemToNormalizedViewport(); - textActor->GetPosition2Coordinate()->SetValue(0.6, 0.1); + if (_textActor==NULL) + { + _textActor = vtkTextActor::New(); + _textActor->GetPositionCoordinate()->SetCoordinateSystemToWorld(); - vtkTextProperty *tprop = textActor->GetTextProperty(); - tprop->SetFontSize(18); +// _textActor->GetPositionCoordinate()->SetCoordinateSystemToDisplay (); +// _textActor->GetPositionCoordinate()->SetCoordinateSystemToNormalizedDisplay (); +// _textActor->GetPositionCoordinate()->SetCoordinateSystemToViewport (); +// _textActor->GetPositionCoordinate()->SetCoordinateSystemToNormalizedViewport (); +// _textActor->GetPositionCoordinate()->SetCoordinateSystemToView (); +// _textActor->GetPositionCoordinate()->SetCoordinateSystemToWorld (); + + + if (bbGetInputRenderer()!=NULL) + { + bbGetInputRenderer()->AddActor2D(_textActor); + } + } + + _textActor->SetInput(bbGetInputIn().c_str()); + +// textActor->SetTextScaleModeToProp(); +// textActor->SetDisplayPosition(90, 50); +// textActor->GetPosition2Coordinate()->SetCoordinateSystemToNormalizedViewport(); + + double px=0; + double py=0; + double spx=1; + double spy=1; + if (bbGetInputPoint().size()>=2) + { + px=bbGetInputPoint()[0]; + py=bbGetInputPoint()[1]; + + if (bbGetInputSpacing().size()>=2) + { + spx=bbGetInputSpacing()[0]; + spy=bbGetInputSpacing()[1]; + } + + } +// _textActor->SetTextScaleModeToProp(); + _textActor->SetPosition( px*spx , py*spy ); + +printf("EED Text2D::Process px=%f py=%f\n",px,py); + +// _textActor->SetPosition( 150,150 ); +// _textActor->GetPosition2Coordinate()->SetCoordinateSystemToNormalizedViewport(); +// _textActor->GetPosition2Coordinate()->SetValue( 0.2 , 0.2 ); +// textActor->GetPosition2Coordinate()->SetValue(0.6, 0.1); + + vtkTextProperty *tprop = _textActor->GetTextProperty(); + tprop->SetFontSize( bbGetInputFontSize() ); tprop->SetFontFamilyToArial(); tprop->SetJustificationToCentered(); // tprop->BoldOn(); // tprop->ItalicOn(); // tprop->ShadowOn(); - tprop->SetColor(0, 0, 1); - bbGetInputRenderer()->AddActor2D(textActor); + if (bbGetInputColor().size()>=3) + { + tprop->SetColor( bbGetInputColor()[0] , bbGetInputColor()[1] , bbGetInputColor()[2] ); + } + + tprop->SetOpacity( bbGetInputOpacity() ); } //===== @@ -61,7 +108,24 @@ void Text2D::bbUserSetDefaultValues() // SET HERE THE DEFAULT INPUT/OUTPUT VALUES OF YOUR BOX // Here we initialize the input 'In' to 0 + + _textActor=NULL; bbSetInputIn("VOID"); + bbSetInputOpacity(1); + bbSetInputFontSize(14); + std::vector spc; + spc.push_back(1); + spc.push_back(1); + spc.push_back(1); + bbSetInputSpacing(spc); + std::vector color; + color.push_back(0); + color.push_back(0); + color.push_back(1); + bbSetInputColor(color); + + bbSetInputRenderer(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)