]> Creatis software - bbtk.git/commitdiff
Add Magnitud, to avoid loosing it...
authorjean-pierre roux <jean-pierre.roux@creatis.insa-lyon.fr>
Mon, 9 May 2011 08:26:58 +0000 (08:26 +0000)
committerjean-pierre roux <jean-pierre.roux@creatis.insa-lyon.fr>
Mon, 9 May 2011 08:26:58 +0000 (08:26 +0000)
packages/vtk/src/bbvtkMagnitud.cxx.NOCOMPILE [new file with mode: 0644]
packages/vtk/src/bbvtkMagnitud.h [new file with mode: 0644]

diff --git a/packages/vtk/src/bbvtkMagnitud.cxx.NOCOMPILE b/packages/vtk/src/bbvtkMagnitud.cxx.NOCOMPILE
new file mode 100644 (file)
index 0000000..5474305
--- /dev/null
@@ -0,0 +1,414 @@
+//===== 
+// 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 "bbvtkMagnitud.h"
+#include "bbvtkPackage.h"
+namespace bbvtk
+{
+
+BBTK_ADD_BLACK_BOX_TO_PACKAGE(vtk,Magnitud)
+BBTK_BLACK_BOX_IMPLEMENTATION(Magnitud,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 Magnitud::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')
+
+// ---------- [
+   vGreenToRedLut->SetHueRange(0.6667,0.0);
+   vGreenToRedLut->Build();
+  
+  //Input Data
+   vVecMagnitude->SetInput(bbGetInputIn());
+   vVecMagnitude->NormalizeOff();
+   vVecMagnitude->Update();
+   vVecMagnitude->GetOutput()->GetScalarRange( range1 );
+   vVecMagnitude->Update();
+   
+   //Glyph
+   vMaskPoint->SetInput(bbGetInputIn());
+   vMaskPoint->SetOnRatio(100);
+   vMaskPoint->Update();
+   vMaskPoint->RandomModeOn();
+   
+   vGlyph->SetInput(vMaskPoint->GetOutput());
+   vGlyph->SetSource(cone->GetOutput());
+   vGlyph->SetScaleModeToScaleByVector();
+   vGlyph->SetColorModeToColorByVector();
+   vGlyph->SetScaleFactor(0.20);
+   vGlyphMapper->SetInput( vGlyph->GetOutput() );
+   step = (range1[1]-range1[0])/10;
+      
+   //Contour
+   dRangeColorForMultipleContourVelocity[0]=0;
+   dRangeColorForMultipleContourVelocity[1]=1;
+   dRangeColorForGlyphVelocity[0]=0;
+   dRangeColorForGlyphVelocity[1]=1;
+   vMultipleContourVelocity->SetInput((vtkDataSet *) vVecMagnitude->GetOutput()); 
+   
+   index = 0;
+   double h;
+   step = (range1[1]-range1[0])/10;
+
+   for( h=range1[0]; h<range1[1]; h+=step )
+   {
+      vMultipleContourVelocity->SetValue(index, h);
+      index+=1;
+   }
+   
+   vMultipleContourMapper->SetInput( vMultipleContourVelocity->GetOutput() );
+   vMultipleContourMapper->SetScalarRange( range1 );
+   vMultipleContourMapper->SetLookupTable( vGreenToRedLut );
+   vMultipleContourMapper->Update();
+   vMultipleContourActor->SetMapper( vMultipleContourMapper );
+   vMultipleContourActor->GetProperty()->SetOpacity(0.4);
+
+   //Glyph Mapper
+   vGlyphMapper->SetLookupTable(vGreenToRedLut);
+   vGlyphMapper->SetScalarRange(range1);
+   vGlyphMapper->ImmediateModeRenderingOn();
+   //Outline Grid
+   vOutlineGrid->SetInput( bbGetInputIn() );
+   vOutlineMapper->SetInput(vOutlineGrid->GetOutput());
+   
+   //Outline Grid Actor
+   vOutlineActor->SetMapper(vOutlineMapper);
+   //Glyph Actor
+   vGlyphActor->SetMapper( vGlyphMapper ); 
+   vGlyphActor->GetProperty()->SetOpacity(0); 
+  
+   //The Velocity Bar - Indicator (It's Actor is a vtkProper)
+   vScalarBarActor->SetLookupTable (vMultipleContourMapper->GetLookupTable());
+   vScalarBarActor->SetTitle ("Velocity");
+   vScalarBarActor->GetPositionCoordinate()->SetCoordinateSystemToNormalizedViewport();
+   vScalarBarActor->GetPositionCoordinate()->SetValue( 0.85, 0.25);
+   vScalarBarActor->SetOrientationToVertical();
+   vScalarBarActor->SetWidth (0.1);
+   vScalarBarActor->SetHeight (0.6);
+   vScalarBarActor->GetProperty()->SetOpacity(1); // 1 to Show - 0 to Hide
+   
+   ///////////////////////////////////////////////////////////////////////////////////////////////////
+   //Start: Change values by the user
+   ///////////////////////////////////////////////////////////////////////////////////////////////////
+   //Glyph Mask
+   vMaskPoint->SetOnRatio( bbGetInputMRatio());
+   vMaskPoint->Update();
+
+   //Glyph Opacity
+   vGlyphActor->GetProperty()->SetOpacity( bbGetInputOpactity()/100 );
+   vGlyph->SetScaleFactor(vGlyph->GetScaleFactor()-0.1);
+   vGlyph->Update();
+   vGlyph->SetScaleFactor(vGlyph->GetScaleFactor()+0.1);
+   vGlyph->Update();
+   if( (bbGetInputScale()/100)<0 ) 
+      bbSetInputScale(0);
+   if( (bbGetInputScale()/100)>1 ) 
+      bbSetInputScale(1);
+   
+   //vGlyph->SetScaleFactor(dScale);
+   vGlyph->SetScaleFactor( bbGetInputScale()/100 );
+   vGlyph->Update();
+
+   //Set Glyph and Contour Colour Range
+   vVecMagnitude->GetOutput()->GetScalarRange( range1 );
+   dRangeColorForGlyphVelocity[0] = bbGetInputValInf()/100;
+   dRangeColorForGlyphVelocity[1] = bbGetInputValSup()/100;
+   dRangeColorForMultipleContourVelocity[0] = bbGetInputValInf()/100;
+   dRangeColorForMultipleContourVelocity[1] = bbGetInputValSup()/100;
+   double dTailleInterval=range1[1]-range1[0];
+   
+   range1[1]=range1[0]+dTailleInterval*(bbGetInputValSup()/100);
+   range1[0]=range1[0]+dTailleInterval*(bbGetInputValInf()/100);
+   
+   vGlyphMapper->SetScalarRange( range1 );
+   vMultipleContourMapper->SetScalarRange( range1 );
+
+   if( bbGetInputOpactity()/100<0 ) 
+      bbSetInputOpactity(0);
+   if( bbGetInputOpactity()/100>1 ) 
+      bbSetInputOpactity(1);
+
+   //Set Contour Opacity
+   vMultipleContourActor->GetProperty()->SetOpacity( bbGetInputOpactity()/100 );
+   vMultipleContourVelocity->SetNumberOfContours(vMultipleContourVelocity->GetNumberOfContours()+1);
+   vMultipleContourVelocity->Update();
+   vMultipleContourVelocity->SetNumberOfContours(vMultipleContourVelocity->GetNumberOfContours()-1);
+   vMultipleContourVelocity->Update();
+
+   //Set The Number of Contours
+   if( bbGetInputContour()<1) 
+      bbSetInputContour(1);
+
+   step=(range1[1]-range1[0])/bbGetInputContour();
+   index=0;
+   for( h=range1[0]; h<range1[1]; h+=step)
+   {
+      vMultipleContourVelocity->SetValue(index, h);
+     index+=1;
+   }
+   ///////////////////////////////////////////////////////////////////////////////////////////////////
+   //End: Change values by the user
+   ///////////////////////////////////////////////////////////////////////////////////////////////////
+   //The Plane Widget
+   vPlaneWidget->SetInput(bbGetInputIn());
+   vPlaneWidget->NormalToXAxisOn();
+   vPlaneWidget->NormalToZAxisOn();
+   vPlaneWidget->SetResolution(1);
+   vPlaneWidget->SetRepresentationToOutline();
+   //vPlaneWidget->SetInteractor(vIren);
+   vPlaneWidget->SetPlaceFactor(1); //défini zoom initial
+   vPlaneWidget->PlaceWidget();
+   vPlaneWidget->On();
+
+   vPlaneWidget->GetOrigin(p0);
+   vPlaneWidget->GetCenter(c); //These is from Execute Method
+   vPlaneWidget->GetNormal(n);
+   vPlaneWidget->GetPoint1(p1);
+   vPlaneWidget->GetPoint2(p2);
+
+   c[0] = c[0]+ bbGetInputMoveX();
+   c[1] = c[1]+ bbGetInputMoveY();
+   c[2] = c[2]+ bbGetInputMoveZ();
+
+   vPlanSource->SetResolution( sizeIma-1,  sizeIma-1);
+   vPlanSource->SetOrigin( p0 );
+   vPlanSource->SetPoint1( p1 );
+   vPlanSource->SetPoint2( p2 );
+   vPlanSource->Update( );
+   vPlanSource->SetNormal( n[ 0 ], n[ 1 ], n[ 2 ] );
+   vPlanSource->Update( );
+   vPlanSource->SetCenter( c );
+   vPlanSource->Update( );
+   
+   vDiskSourceEED->SetInnerRadius (0);
+   vDiskSourceEED->SetOuterRadius (10);
+   vDiskSourceEED->SetRadialResolution (20);
+   vDiskSourceEED->SetCircumferentialResolution (20);
+
+   //Stream Lines
+   vPointWidget->SetInput( bbGetInputIn() );
+   vPointWidget->AllOff();
+   vPointWidget->PlaceWidget();
+   //vPointWidget->SetInteractor(vIren);
+   vPointWidget->On();
+   //vPointWidget->GetPolyData(point);
+   vPointWidget->GetPolyData(point);
+   source->SetNumberOfPoints(500);
+   /*
+   tempc = bbGetInputPlaneCenterSL();
+   slCenter[0] = tempc[0];
+   slCenter[1] = tempc[1];
+   slCenter[2] = tempc[2];
+   source->SetCenter(  slCenter );
+   */
+   source->SetCenter(  c );
+   source->SetRadius(5.0);
+   
+   streamer->SetInput( bbGetInputIn() );
+   streamer->SetSource(source->GetOutput());
+   streamer->SetIntegratorTypeToRungeKutta45();
+   streamer->SetMaximumPropagation(500000);
+   streamer->SetMaximumPropagationUnitToTimeUnit ();
+   streamer->SetInitialIntegrationStep (0.001);
+   streamer->SetInitialIntegrationStepUnitToCellLengthUnit();
+   streamer->SetIntegrationDirectionToBoth();
+   streamer->ComputeVorticityOn ();
+   streamer->Update();
+
+   rf->SetInput(streamer->GetOutput());
+   rf->SetRadius(.5);
+   rf->SetNumberOfSides(12);
+   rf->SetVaryRadiusToVaryRadiusOff();
+   
+   streamer->GetOutput()->GetScalarRange( range );
+   streamMapper2->SetInput(rf->GetOutput());
+   streamMapper2->SetLookupTable(vGreenToRedLut);
+   //vStreamlineActor2->SetMapper( streamMapper2 );
+   
+   //////////////////////////////////////////////////////////////////////////////////////
+   //Start: Part of the Execute Method
+   //////////////////////////////////////////////////////////////////////////////////////
+   nx=n[0];
+   ny=n[1];
+   nz=n[2];
+   alfa = atan2(ny,nx) * 180.0 / 3.1416;
+   beta = atan2( nz, sqrt( nx*nx + ny*ny )  ) * 180.0 / 3.1416;
+   transformEED->Identity();  
+   transformEED->Translate(c);
+   transformEED->RotateWXYZ(alfa,0,0,1);
+   transformEED->RotateWXYZ(-beta,0,1,0);
+   transformEED->RotateWXYZ(90,0,1,0);
+   transformEED->Update();
+   //////////////////////////////////////////////////////////////////////////////////////
+   //End: Part of the Execute Method
+   //////////////////////////////////////////////////////////////////////////////////////
+
+   vtransformpolydatafilter->SetInput( vDiskSourceEED->GetOutput() );
+   vtransformpolydatafilter->SetTransform( transformEED );
+   vtransformpolydatafilter->Update();
+   
+   vProbeslices->SetInput( ( vtkDataSet* )vtransformpolydatafilter->GetOutput());
+   vProbeslices->SetSource( bbGetInputIn() ); 
+   vProbeslices->Update( );
+
+   vGlyphFlowPlane->SetInput(vProbeslices->GetOutput());
+   vGlyphFlowPlane->SetSource(vArrowSource->GetOutput());
+   vGlyphFlowPlane->SetScaleModeToScaleByVector();
+   vGlyphFlowPlane->SetColorModeToColorByVector();
+   vGlyphFlowPlane->SetScaleFactor(0.2);
+   vGlyphFlowPlane->Update();
+
+   vProbeslicesFlowWidget->SetInput( ( vtkDataSet* )vPlanSource->GetOutput());
+   vProbeslicesFlowWidget->SetSource( vVecMagnitude->GetOutput() ); 
+   vProbeslicesFlowWidget->Update( );
+      
+   vVecMagnitude->GetOutput()->GetScalarRange( range );
+
+   vAppendDataForFlowWidgetVisualisation->AddInput(vGlyphFlowPlane->GetOutput());
+   vAppendDataForFlowWidgetVisualisation->AddInput(vProbeslicesFlowWidget->GetPolyDataOutput());
+
+   vSliceMapper->SetInput( vAppendDataForFlowWidgetVisualisation->GetOutput());
+   vSliceMapper->SetScalarRange( range );
+   vSliceMapper->SetLookupTable( vGreenToRedLut );
+   
+   vSliceActor->SetMapper( vSliceMapper );
+
+   if(bbGetInputShowPlane() == 1)
+      vPlaneWidget->On();
+   else if(bbGetInputShowPlane() == 0)
+      vPlaneWidget->Off();
+
+   vSliceActor->GetProperty()->SetOpacity( bbGetInputShowPlane() );
+
+   exporter->SetInputConnection( vMultipleContourMapper->GetOutputPort() );
+   exporter->ImageLowerLeftOn();
+
+   bbSetOutputOut1( vSliceActor );
+   bbSetOutputOut2( vGlyphActor );
+   bbSetOutputOut3( vOutlineActor );
+   bbSetOutputOut4( vMultipleContourActor );
+   //bbSetOutputOut5( vScalarBarActor );
+   if(bbGetInputShowStream() == 1)
+      vStreamlineActor2->SetMapper( streamMapper2 );
+   else 
+      vStreamlineActor2->SetMapper( NULL );
+
+   bbSetOutputOut5( vStreamlineActor2 );
+   //bbSetOutputOut5( vStreamlineActor2 );
+   //bbSetOutputOutExport( exporter );
+   //temp->GetData( (vtkInformation*) vMultipleContourVelocity->GetOutput() );
+   //temp->GetData( vMultipleContourMapper->GetOutput() );
+   //bbSetOutputOutTest( temp );
+
+// ---------- ]  
+}
+//===== 
+// 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 Magnitud::bbUserSetDefaultValues()
+{
+
+//  SET HERE THE DEFAULT INPUT/OUTPUT VALUES OF YOUR BOX 
+//    Here we initialize the input 'In' to 0
+// --------- [
+   bbSetInputIn(NULL);
+   bbSetInputMoveX(0);
+   bbSetInputMoveY(0);
+   bbSetInputMoveZ(0);
+   bbSetInputValSup(1);
+   bbSetInputValInf(0);
+   bbSetInputMRatio(100);
+   bbSetInputOpactity(0.5);
+   bbSetInputScale(0.2);
+   bbSetInputContour(10);
+   bbSetInputShowPlane(1);
+   bbSetInputShowStream(0);
+   //bbSetInputPlaneCenterSL();
+// --------- ]  
+}
+//===== 
+// 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 Magnitud::bbUserInitializeProcessing()
+{
+
+//  THE INITIALIZATION METHOD BODY :
+//    Here does nothing 
+//    but this is where you should allocate the internal/output pointers 
+//    if any 
+
+// ---------- [
+   cone = vtkArrowSource::New();
+   exporter = vtkImageExport::New();
+   point = vtkPolyData::New();
+   rf = vtkTubeFilter::New();
+   source = vtkPointSource::New();
+   streamer = vtkStreamTracer::New();
+   streamMapper2 = vtkPolyDataMapper::New();
+   
+   transformEED             = vtkTransform::New();
+   vAppendDataForFlowWidgetVisualisation = vtkAppendPolyData::New();
+   vArrowSource             = vtkArrowSource::New();
+   vDiskSourceEED           = vtkDiskSource::New();
+   vGlyph                   = vtkGlyph3D::New();
+   vGlyphActor              = vtkActor::New();
+   vGlyphFlowPlane          = vtkGlyph3D::New();
+   vGlyphMapper             = vtkPolyDataMapper::New();
+   vGreenToRedLut           = vtkLookupTable::New();
+   vIren                    = vtkRenderWindowInteractor::New();
+   vMaskPoint               = vtkMaskPoints::New();
+   vMultipleContourActor    = vtkActor::New();
+   vMultipleContourMapper   = vtkPolyDataMapper::New();
+   vMultipleContourVelocity = vtkContourFilter::New();
+   vOutlineActor            = vtkActor::New();
+   vOutlineGrid             = vtkOutlineFilter::New();
+   vOutlineMapper           = vtkPolyDataMapper::New();
+   vPlanSource              = vtkPlaneSource::New();
+   vPlaneWidget             = vtkPlaneWidget::New();
+   vPointWidget             = vtkPointWidget::New();
+   vProbeslices             = vtkProbeFilter::New();
+   vProbeslicesFlowWidget   = vtkProbeFilter::New();
+   vScalarBarActor          = vtkScalarBarActor::New();
+   vSliceMapper             = vtkPolyDataMapper::New();
+   vSliceActor              = vtkActor::New();
+   vStreamlineActor2        = vtkActor::New();
+   vtransformpolydatafilter = vtkTransformPolyDataFilter::New();
+   vVecMagnitude            = vtkVectorNorm::New();
+
+   temp                     = vtkImageData::New();
+
+   sizeIma = SIZEPLANWIDGET;
+// ---------- }  
+}
+//===== 
+// 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 Magnitud::bbUserFinalizeProcessing()
+{
+
+//  THE FINALIZATION METHOD BODY :
+//    Here does nothing 
+//    but this is where you should desallocate the internal/output pointers 
+//    if any
+
+/// \TODO delete everything no longer needed!
+  
+}
+}
+// EO namespace bbvtk
+
+
diff --git a/packages/vtk/src/bbvtkMagnitud.h b/packages/vtk/src/bbvtkMagnitud.h
new file mode 100644 (file)
index 0000000..18e92dd
--- /dev/null
@@ -0,0 +1,187 @@
+//===== 
+// 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 __bbvtkMagnitud_h_INCLUDED__
+#define __bbvtkMagnitud_h_INCLUDED__
+#include "bbvtk_EXPORT.h"
+#include "bbtkAtomicBlackBox.h"
+#include "iostream"
+
+// ----------[
+#include "vtkActor.h"
+#include "vtkAppendPolyData.h"
+#include "vtkArrowSource.h"
+#include "vtkContourFilter.h"
+#include "vtkDiskSource.h"
+#include "vtkGlyph3D.h"
+#include "vtkImageData.h"
+#include "vtkImageExport.h"
+#include "vtkLookupTable.h"
+#include "vtkMaskPoints.h"
+#include "vtkOutlineFilter.h"
+#include "vtkPlaneWidget.h"
+#include "vtkPlaneSource.h"
+#include "vtkPointSource.h"
+#include "vtkPointWidget.h"
+#include "vtkPolyData.h"
+#include "vtkPolyDataMapper.h"
+#include "vtkProbeFilter.h"
+#include "vtkProp3D.h"
+#include "vtkProperty.h"
+#include "vtkProperty2D.h"
+#include "vtkRenderWindowInteractor.h"
+#include "vtkScalarBarActor.h"
+#include "vtkStreamTracer.h"
+#include "vtkTransform.h"
+#include "vtkTransformPolyDataFilter.h"
+#include "vtkTubeFilter.h"
+#include "vtkVectorNorm.h"
+
+#define SIZEPLANWIDGET 64
+// ----------]
+
+namespace bbvtk
+{
+
+class bbvtk_EXPORT Magnitud
+ : 
+   public bbtk::AtomicBlackBox
+{
+  BBTK_BLACK_BOX_INTERFACE(Magnitud,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,vtkImageData*);
+   BBTK_DECLARE_INPUT(MoveX,double);
+   BBTK_DECLARE_INPUT(MoveY,double);
+   BBTK_DECLARE_INPUT(MoveZ,double);
+   BBTK_DECLARE_INPUT(ValSup,double);
+   BBTK_DECLARE_INPUT(ValInf,double);
+   BBTK_DECLARE_INPUT(MRatio,int);
+   BBTK_DECLARE_INPUT(Opactity,double);
+   BBTK_DECLARE_INPUT(Scale,double);
+   BBTK_DECLARE_INPUT(Contour,int);
+   BBTK_DECLARE_INPUT(ShowPlane,int);
+   BBTK_DECLARE_INPUT(ShowStream,int);
+   BBTK_DECLARE_INPUT(PlaneCenterSL,std::vector<double>);
+
+   BBTK_DECLARE_OUTPUT(Out1,vtkProp3D*);
+   BBTK_DECLARE_OUTPUT(Out2,vtkProp3D*);
+   BBTK_DECLARE_OUTPUT(Out3,vtkProp3D*);
+   BBTK_DECLARE_OUTPUT(Out4,vtkProp3D*);
+   //BBTK_DECLARE_OUTPUT(Out5,vtkProp*);
+   BBTK_DECLARE_OUTPUT(Out5,vtkProp3D*);
+   //BBTK_DECLARE_OUTPUT(OutExport,vtkImageExport*);
+   //BBTK_DECLARE_OUTPUT(OutTest,vtkImageData*);
+// -------------- ]
+
+  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)
+//===== 
+// -------------- [
+   vtkImageData* temp;
+   std::vector<double> tempc;
+
+   int sizeIma;
+   long int index;
+   double p0[3], p1[3],p2[3], n[3], c[3], slCenter[3];
+   double range[2];
+   double range1[2];
+   double step;
+   double h;
+   double nx;
+   double ny;
+   double nz;
+   double alfa;
+   double beta;
+   double dRangeColorForGlyphVelocity[2];
+   double dRangeColorForMultipleContourVelocity[2];
+   double dRangeColorForGlyphVelocityForFlowPlane[2];
+
+   int Ratio;
+   double dOpactity;
+   double dScale;
+   int nContour;
+   bool bShow;
+   
+   vtkActor* vGlyphActor;
+   vtkActor* vMultipleContourActor;
+   vtkActor* vOutlineActor;
+   vtkActor* vSliceActor;
+   vtkActor* vStreamlineActor2;
+   vtkAppendPolyData* vAppendDataForFlowWidgetVisualisation;
+   vtkArrowSource* cone;
+   vtkArrowSource* vArrowSource;
+   vtkContourFilter* vMultipleContourVelocity;
+   vtkDiskSource* vDiskSourceEED;
+   vtkGlyph3D* vGlyph;
+   vtkGlyph3D* vGlyphFlowPlane;
+   vtkImageExport* exporter;
+   vtkLookupTable* vGreenToRedLut;
+   vtkMaskPoints* vMaskPoint;
+   vtkPlaneSource* vPlanSource;
+   vtkProbeFilter* vProbeslices;
+   vtkProbeFilter* vProbeslicesFlowWidget;
+   vtkPlaneWidget* vPlaneWidget;
+   vtkPolyData* point;
+   vtkPolyDataMapper* vSliceMapper;
+   vtkPointSource* source;
+   vtkPointWidget* vPointWidget;
+   vtkPolyDataMapper* vGlyphMapper;
+   vtkPolyDataMapper* vMultipleContourMapper;
+   vtkOutlineFilter* vOutlineGrid;
+   vtkPolyDataMapper* vOutlineMapper;
+   vtkPolyDataMapper* streamMapper2;
+   vtkRenderWindowInteractor* vIren;
+   vtkScalarBarActor* vScalarBarActor;
+   vtkStreamTracer* streamer;
+   vtkTransform* transformEED;
+   vtkTransformPolyDataFilter* vtransformpolydatafilter;
+   vtkTubeFilter* rf;
+   vtkVectorNorm* vVecMagnitude;
+// -------------- ]
+
+};
+
+BBTK_BEGIN_DESCRIBE_BLACK_BOX(Magnitud,bbtk::AtomicBlackBox);
+BBTK_NAME("Magnitud");
+BBTK_AUTHOR("seba-tor@uniandes.edu.co");
+BBTK_DESCRIPTION("Receive an ImgaData and generates an Actor");
+BBTK_CATEGORY("");
+// -------------- [
+  BBTK_INPUT(Magnitud,In,"Receive the image source",vtkImageData*, "");
+  BBTK_INPUT(Magnitud,MoveX,"Move the PlaneSource - X Axis",double, "");
+  BBTK_INPUT(Magnitud,MoveY,"Move the PlaneSource - Y Axis",double, "");
+  BBTK_INPUT(Magnitud,MoveZ,"Move the PlaneSource - Z Axis",double, "");
+  BBTK_INPUT(Magnitud,ValSup,"Set the Superior Range of the Colour Range: [0% - 100%]",double, "");
+  BBTK_INPUT(Magnitud,ValInf,"Set the Inferior Range of the Colour Range: [0% - 100%]",double, "");
+  BBTK_INPUT(Magnitud,MRatio,"Set the Radio of the Mask",int, "");
+  BBTK_INPUT(Magnitud,Opactity,"Set the Opacity of the Glyph",double, "");
+  BBTK_INPUT(Magnitud,Scale,"Set the Scale of the Glyph",double, "");
+  BBTK_INPUT(Magnitud,Contour,"Set the Contour Number",int, "");
+  BBTK_INPUT(Magnitud,ShowPlane,"Show the PlaneWidget",int, "");
+  BBTK_INPUT(Magnitud,ShowStream,"Show the Stream Lines",int, "");
+  BBTK_INPUT(Magnitud,PlaneCenterSL,"Center for the Stream Lines",std::vector<double>, "");
+
+  BBTK_OUTPUT(Magnitud,Out1,"Actor1 3D - SliceActor",vtkProp3D*, "");
+  BBTK_OUTPUT(Magnitud,Out2,"Actor2 3D - GlyphActor",vtkProp3D*, "");
+  BBTK_OUTPUT(Magnitud,Out3,"Actor3 3D - OutlineActor",vtkProp3D*, "");
+  BBTK_OUTPUT(Magnitud,Out4,"Actor4 3D - MultipleContourActor",vtkProp3D*, "");
+  //BBTK_OUTPUT(Magnitud,Out5,"Actor5 2D - ScalarBarActor",vtkProp*, "");
+  BBTK_OUTPUT(Magnitud,Out5,"Actor5 3D - SteamlineActor",vtkProp3D*, "");
+  //BBTK_OUTPUT(Magnitud,OutExport,"Exports the Contour Image",vtkImageExport*, "");
+  //BBTK_OUTPUT(Magnitud,OutTest,"Test",vtkImageData*, "");
+// -------------- ]
+BBTK_END_DESCRIBE_BLACK_BOX(Magnitud);
+//===== 
+// 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 // __bbvtkMagnitud_h_INCLUDED__
+