From 757a189b6ce998d5da17f49504a140c03d4feeff Mon Sep 17 00:00:00 2001 From: davila Date: Tue, 6 May 2014 14:48:50 +0200 Subject: [PATCH] 2366 BBTK Feature New Normal Text2D in vtk Package --- packages/vtk/src/bbvtkText2D.cxx | 94 ++++++++++++++++++++++++++++++++ packages/vtk/src/bbvtkText2D.h | 57 +++++++++++++++++++ 2 files changed, 151 insertions(+) create mode 100644 packages/vtk/src/bbvtkText2D.cxx create mode 100644 packages/vtk/src/bbvtkText2D.h diff --git a/packages/vtk/src/bbvtkText2D.cxx b/packages/vtk/src/bbvtkText2D.cxx new file mode 100644 index 0000000..a36e4d3 --- /dev/null +++ b/packages/vtk/src/bbvtkText2D.cxx @@ -0,0 +1,94 @@ +//===== +// 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 "vtkTextActor.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 = " <SetTextScaleModeToProp(); + textActor->SetDisplayPosition(90, 50); + textActor->SetInput(bbGetInputIn().c_str()); + + textActor->GetPosition2Coordinate()->SetCoordinateSystemToNormalizedViewport(); + textActor->GetPosition2Coordinate()->SetValue(0.6, 0.1); + + vtkTextProperty *tprop = textActor->GetTextProperty(); + tprop->SetFontSize(18); + tprop->SetFontFamilyToArial(); + tprop->SetJustificationToCentered(); +// tprop->BoldOn(); +// tprop->ItalicOn(); +// tprop->ShadowOn(); + tprop->SetColor(0, 0, 1); + + bbGetInputRenderer()->AddActor2D(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) +//===== +void Text2D::bbUserSetDefaultValues() +{ + +// SET HERE THE DEFAULT INPUT/OUTPUT VALUES OF YOUR BOX +// Here we initialize the input 'In' to 0 + bbSetInputIn("VOID"); +} +//===== +// 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 + + diff --git a/packages/vtk/src/bbvtkText2D.h b/packages/vtk/src/bbvtkText2D.h new file mode 100644 index 0000000..cc5e72a --- /dev/null +++ b/packages/vtk/src/bbvtkText2D.h @@ -0,0 +1,57 @@ +//===== +// 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) +//===== +#ifndef __bbvtkText2D_h_INCLUDED__ +#define __bbvtkText2D_h_INCLUDED__ +#include "bbvtk_EXPORT.h" +#include "bbtkAtomicBlackBox.h" +#include "iostream" + +#include "vtkProp.h" +#include "vtkRenderer.h" + +namespace bbvtk +{ + +class bbvtk_EXPORT Text2D + : + public bbtk::AtomicBlackBox +{ + BBTK_BLACK_BOX_INTERFACE(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) +//===== +BBTK_DECLARE_INPUT(In,std::string); + BBTK_DECLARE_INPUT(Renderer,vtkRenderer*); + BBTK_DECLARE_INPUT(Point,std::vector); + BBTK_DECLARE_INPUT(Opacity,double); + BBTK_DECLARE_OUTPUT( Out , vtkProp* ); + BBTK_PROCESS(Process); + void Process(); +//===== +// 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) +//===== +}; + +BBTK_BEGIN_DESCRIBE_BLACK_BOX(Text2D,bbtk::AtomicBlackBox); + BBTK_NAME("Text2D"); + BBTK_AUTHOR("Info-Dev"); + BBTK_DESCRIPTION("No Description."); + BBTK_CATEGORY("empty"); + + BBTK_INPUT(Text2D,In,"Input text (default = 'VOID')",std::string,""); + BBTK_INPUT(Text2D,Renderer,"Input text",vtkRenderer*,""); + BBTK_INPUT(Text2D,Point,"Point [x,y,z]",std::vector,""); + BBTK_INPUT(Text2D,Opacity,"Input text",double,""); + + BBTK_OUTPUT(Text2D,Out,"vtk Prop",vtkProp*,""); + +BBTK_END_DESCRIBE_BLACK_BOX(Text2D); +//===== +// 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) +//===== +} +// EO namespace bbvtk + +#endif // __bbvtkText2D_h_INCLUDED__ + -- 2.47.1