From eae21eccd8e1b6bc4d3c437d739f4e782019d32e Mon Sep 17 00:00:00 2001 From: Eduardo DAVILA Date: Sun, 21 Feb 2016 01:21:21 +0100 Subject: [PATCH] #2843 creaVtk Feature New Normal - new box VtkActor from vtkProp3D --- bbtk_creaVtk_PKG/src/bbcreaVtkActor.cxx | 101 ++++++++++++++++++++++++ bbtk_creaVtk_PKG/src/bbcreaVtkActor.h | 60 ++++++++++++++ 2 files changed, 161 insertions(+) create mode 100644 bbtk_creaVtk_PKG/src/bbcreaVtkActor.cxx create mode 100644 bbtk_creaVtk_PKG/src/bbcreaVtkActor.h diff --git a/bbtk_creaVtk_PKG/src/bbcreaVtkActor.cxx b/bbtk_creaVtk_PKG/src/bbcreaVtkActor.cxx new file mode 100644 index 0000000..39a3f8e --- /dev/null +++ b/bbtk_creaVtk_PKG/src/bbcreaVtkActor.cxx @@ -0,0 +1,101 @@ +//===== +// 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 "bbcreaVtkActor.h" +#include "bbcreaVtkPackage.h" +namespace bbcreaVtk +{ + +BBTK_ADD_BLACK_BOX_TO_PACKAGE(creaVtk,Actor) +BBTK_BLACK_BOX_IMPLEMENTATION(Actor,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 Actor::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 = " <GetProperty()->SetOpacity( bbGetInputOpacity() ); + + if ( bbGetInputTransform()!=NULL ) + { + vtkactor->SetUserTransform( bbGetInputTransform() ); + } + +// bbSetOutputOut( vtkactor ); + + // Interface Update + + if ((bbGetInputRenderer()!=NULL) && ( backActive!=bbGetInputActive() )) + { + + if (bbGetInputActive()==true ) + { + bbGetInputRenderer()->AddActor( vtkactor ); + } else { + bbGetInputRenderer()->RemoveActor( vtkactor ); + } //if Active + backActive=bbGetInputActive(); + } // if Renderer + +} +//===== +// 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 Actor::bbUserSetDefaultValues() +{ + +// SET HERE THE DEFAULT INPUT/OUTPUT VALUES OF YOUR BOX +// Here we initialize the input 'In' to 0 + bbSetInputActive(false); + backActive=bbGetInputActive(); + bbSetInputIn(NULL); + bbSetInputOpacity(1); + 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 Actor::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 Actor::bbUserFinalizeProcessing() +{ + +// THE FINALIZATION METHOD BODY : +// Here does nothing +// but this is where you should desallocate the internal/output pointers +// if any + +} +} +// EO namespace bbcreaVtk + + diff --git a/bbtk_creaVtk_PKG/src/bbcreaVtkActor.h b/bbtk_creaVtk_PKG/src/bbcreaVtkActor.h new file mode 100644 index 0000000..405369f --- /dev/null +++ b/bbtk_creaVtk_PKG/src/bbcreaVtkActor.h @@ -0,0 +1,60 @@ +//===== +// 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 __bbcreaVtkActor_h_INCLUDED__ +#define __bbcreaVtkActor_h_INCLUDED__ +#include "bbcreaVtk_EXPORT.h" +#include "bbtkAtomicBlackBox.h" +#include "iostream" + +#include "vtkProp3D.h" +#include "vtkTransform.h" +#include "vtkRenderer.h" + +namespace bbcreaVtk +{ + +class bbcreaVtk_EXPORT Actor + : + public bbtk::AtomicBlackBox +{ + BBTK_BLACK_BOX_INTERFACE(Actor,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(Active,bool); + BBTK_DECLARE_INPUT(In,vtkProp3D*); + BBTK_DECLARE_INPUT(Opacity,double); + BBTK_DECLARE_INPUT(Transform,vtkTransform*); + BBTK_DECLARE_INPUT(Renderer,vtkRenderer*); +// BBTK_DECLARE_OUTPUT(Out,double); + BBTK_PROCESS(Process); + void Process(); + + bool backActive; +//===== +// 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(Actor,bbtk::AtomicBlackBox); + BBTK_NAME("Actor"); + BBTK_AUTHOR("Info-Dev"); + BBTK_DESCRIPTION("No Description."); + BBTK_CATEGORY("empty"); + + BBTK_INPUT(Actor,Active,"Active true/false (default false)",bool,""); + BBTK_INPUT(Actor,In,"First input",vtkProp3D*,""); + BBTK_INPUT(Actor,Opacity,"Opacity 0..1 (default 1)",double,""); + BBTK_INPUT(Actor,Renderer,"Renderer",vtkRenderer*,""); + +// BBTK_OUTPUT(Actor,Out,"First output",double,""); +BBTK_END_DESCRIBE_BLACK_BOX(Actor); +//===== +// 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 bbcreaVtk + +#endif // __bbcreaVtkActor_h_INCLUDED__ + -- 2.47.1