#include "bbvtkText2D.h"
#include "bbvtkPackage.h"
-#include "vtkTextActor.h"
#include "vtkTextProperty.h"
namespace bbvtk
// bbSetOutputOut( bbGetInputIn() );
// std::cout << "Output value = " <<bbGetOutputOut() << std::endl;
- vtkTextActor *textActor = vtkTextActor::New();
- textActor->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() );
}
//=====
// 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<double> spc;
+ spc.push_back(1);
+ spc.push_back(1);
+ spc.push_back(1);
+ bbSetInputSpacing(spc);
+ std::vector<double> 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)