X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=packages%2Fvtk%2Fsrc%2FbbvtkText2D.cxx;fp=packages%2Fvtk%2Fsrc%2FbbvtkText2D.cxx;h=5eaa9c2342c9b877e49e7100cb298fea07f9f4c7;hb=427d8c0ac838ab789a57b28f62a7f9ff243e7b60;hp=0000000000000000000000000000000000000000;hpb=c2d2ccbc4bac635e5d0b802d9830efd94b060dab;p=bbtk.git diff --git a/packages/vtk/src/bbvtkText2D.cxx b/packages/vtk/src/bbvtkText2D.cxx new file mode 100644 index 0000000..5eaa9c2 --- /dev/null +++ b/packages/vtk/src/bbvtkText2D.cxx @@ -0,0 +1,158 @@ +//===== +// 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 "bbvtkText2D.h" +#include "bbvtkPackage.h" + +#include "vtkTextProperty.h" + +namespace bbvtk +{ + +BBTK_ADD_BLACK_BOX_TO_PACKAGE(vtk,Text2D) +BBTK_BLACK_BOX_IMPLEMENTATION(Text2D,bbtk::AtomicBlackBox); +//===== +// 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) +//===== +void Text2D::Process() +{ + +// THE MAIN PROCESSING METHOD BODY +// Here we simply set the input 'In' value to the output 'Out' +// And print out the output value +// INPUT/OUTPUT ACCESSORS ARE OF THE FORM : +// void bbSet{Input|Output}NAME(const TYPE&) +// const TYPE& bbGet{Input|Output}NAME() const +// Where : +// * NAME is the name of the input/output +// (the one provided in the attribute 'name' of the tag 'input') +// * TYPE is the C++ type of the input/output +// (the one provided in the attribute 'type' of the tag 'input') + +// bbSetOutputOut( bbGetInputIn() ); +// std::cout << "Output value = " <GetPositionCoordinate()->SetCoordinateSystemToWorld(); + +// _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(); + + if (bbGetInputColor().size()>=3) + { + tprop->SetColor( bbGetInputColor()[0] , bbGetInputColor()[1] , bbGetInputColor()[2] ); + } + + tprop->SetOpacity( bbGetInputOpacity() ); + +} +//===== +// 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) +//===== +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) +//===== +void Text2D::bbUserInitializeProcessing() +{ + +// THE INITIALIZATION METHOD BODY : +// Here does nothing +// but this is where you should allocate the internal/output pointers +// if any + + +} +//===== +// 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) +//===== +void Text2D::bbUserFinalizeProcessing() +{ + +// THE FINALIZATION METHOD BODY : +// Here does nothing +// but this is where you should desallocate the internal/output pointers +// if any + +} +} +// EO namespace bbvtk + +