--- /dev/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)
+//=====
+#include "bbcreaVtkExtrusion.h"
+#include "bbcreaVtkPackage.h"
+
+#include <vtkTrimmedExtrusionFilter.h>
+#include <vtkLinearExtrusionFilter.h>
+#include <vtkTriangleFilter.h>
+
+namespace bbcreaVtk
+{
+
+BBTK_ADD_BLACK_BOX_TO_PACKAGE(creaVtk,Extrusion)
+BBTK_BLACK_BOX_IMPLEMENTATION(Extrusion,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 Extrusion::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 = " <<bbGetOutputOut() << std::endl;
+
+ if (bbGetInputIn()!=NULL)
+ {
+ if ((bbGetInputType()>=0) && (bbGetInputType()<=1))
+ {
+ vtkTrimmedExtrusionFilter *extrusion = vtkTrimmedExtrusionFilter::New();
+ extrusion->SetExtrusionDirection(1,1,1);
+ extrusion->SetInputData( bbGetInputIn() );
+ extrusion->SetTrimSurfaceData( bbGetInputIn2() );
+ if (bbGetInputType()==0)
+ {
+ extrusion->SetExtrusionStrategy(vtkTrimmedExtrusionFilter::BOUNDARY_EDGES);
+ } else {
+ extrusion->SetExtrusionStrategy(vtkTrimmedExtrusionFilter::ALL_EDGES);
+ }
+ extrusion->Update();
+ bbSetOutputOut( extrusion->GetTrimSurface() );
+ } // if Type 0 1
+
+ if (bbGetInputType()==2)
+ {
+ // Apply linear extrusion
+ vtkLinearExtrusionFilter *extrude=vtkLinearExtrusionFilter::New();
+ extrude->SetInputData( bbGetInputIn() );
+ extrude->SetExtrusionTypeToNormalExtrusion();
+ extrude->SetVector(0, -1, 0);
+ extrude->SetScaleFactor(-7);
+ extrude->Update();
+ vtkTriangleFilter *triangleFilter = vtkTriangleFilter::New();
+ triangleFilter->SetInputData( extrude->GetOutput() );
+ triangleFilter->Update( );
+ bbSetOutputOut( triangleFilter->GetOutput() );
+ } // if Type 2
+
+ } // if bbGetInputIn
+
+}
+//=====
+// 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 Extrusion::bbUserSetDefaultValues()
+{
+
+// SET HERE THE DEFAULT INPUT/OUTPUT VALUES OF YOUR BOX
+// Here we initialize the input 'In' to 0
+ bbSetInputIn(NULL);
+ bbSetInputType(0);
+
+}
+//=====
+// 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 Extrusion::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 Extrusion::bbUserFinalizeProcessing()
+{
+
+// THE FINALIZATION METHOD BODY :
+// Here does nothing
+// but this is where you should desallocate the internal/output pointers
+// if any
+
+}
+}
+// EO namespace bbcreaVtk
+
+
--- /dev/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)
+//=====
+#ifndef __bbcreaVtkExtrusion_h_INCLUDED__
+#define __bbcreaVtkExtrusion_h_INCLUDED__
+
+#include "bbcreaVtk_EXPORT.h"
+#include "bbtkAtomicBlackBox.h"
+#include "iostream"
+
+#include <vtkPolyData.h>
+
+namespace bbcreaVtk
+{
+
+class bbcreaVtk_EXPORT Extrusion
+ :
+ public bbtk::AtomicBlackBox
+{
+ BBTK_BLACK_BOX_INTERFACE(Extrusion,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,vtkPolyData*);
+ BBTK_DECLARE_INPUT(In2,vtkPolyData*);
+ BBTK_DECLARE_INPUT(Type,int);
+ BBTK_DECLARE_OUTPUT(Out,vtkPolyData*);
+ 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(Extrusion,bbtk::AtomicBlackBox);
+BBTK_NAME("Extrusion");
+BBTK_AUTHOR("InfoDev");
+BBTK_DESCRIPTION("No Description.");
+BBTK_CATEGORY("empty");
+
+ BBTK_INPUT(Extrusion,In,"PolyData input ",vtkPolyData*,"");
+ BBTK_INPUT(Extrusion,In2,"PolyData input ",vtkPolyData*,"");
+ BBTK_INPUT(Extrusion,Type,"(default 0) Type 0:BOUNDARY_EDGES 1:ALL_EDGES",int,"");
+
+ BBTK_OUTPUT(Extrusion,Out,"PolyData output",vtkPolyData*,"");
+
+BBTK_END_DESCRIBE_BLACK_BOX(Extrusion);
+//=====
+// 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 // __bbcreaVtkExtrusion_h_INCLUDED__
+
--- /dev/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)
+//=====
+#include "bbcreaVtkLinearExtrusionFilter.h"
+#include "bbcreaVtkPackage.h"
+
+
+namespace bbcreaVtk
+{
+
+BBTK_ADD_BLACK_BOX_TO_PACKAGE(creaVtk,LinearExtrusionFilter)
+BBTK_BLACK_BOX_IMPLEMENTATION(LinearExtrusionFilter,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 LinearExtrusionFilter::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 = " <<bbGetOutputOut() << std::endl;
+
+ if (bbGetInputIn()!=NULL)
+ {
+ if (extrude!=NULL)
+ {
+ extrude->Delete();
+ }
+ if (triangleFilter!=NULL)
+ {
+ triangleFilter->Delete();
+ }
+
+ extrude = vtkLinearExtrusionFilter::New();
+ triangleFilter = vtkTriangleFilter::New();
+ extrude->SetInputData( bbGetInputIn() );
+ extrude->SetExtrusionTypeToNormalExtrusion();
+ std::vector<double> dir = bbGetInputDirection();
+ if (dir.size()==3)
+ {
+ extrude->SetVector( dir[0],dir[1],dir[2] );
+ } else {
+ extrude->SetVector(1, 0, 0);
+ }
+ extrude->SetScaleFactor( bbGetInputScalarFactor() );
+ extrude->Update();
+ triangleFilter->SetInputData( extrude->GetOutput() );
+ triangleFilter->Update( );
+ bbSetOutputOut( triangleFilter->GetOutput() );
+ } // if bbGetInputIn
+}
+//=====
+// 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 LinearExtrusionFilter::bbUserSetDefaultValues()
+{
+
+// SET HERE THE DEFAULT INPUT/OUTPUT VALUES OF YOUR BOX
+// Here we initialize the input 'In' to 0
+
+ extrude = NULL;
+ triangleFilter = NULL;
+ bbSetInputIn(NULL);
+
+ std::vector<double> dir;
+ dir.push_back(1);
+ dir.push_back(0);
+ dir.push_back(0);
+ bbSetInputDirection( dir );
+ bbSetInputScalarFactor(0);
+
+}
+//=====
+// 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 LinearExtrusionFilter::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 LinearExtrusionFilter::bbUserFinalizeProcessing()
+{
+
+// THE FINALIZATION METHOD BODY :
+// Here does nothing
+// but this is where you should desallocate the internal/output pointers
+// if any
+
+}
+}
+// EO namespace bbcreaVtk
+
+
--- /dev/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)
+//=====
+#ifndef __bbcreaVtkLinearExtrusionFilter_h_INCLUDED__
+#define __bbcreaVtkLinearExtrusionFilter_h_INCLUDED__
+
+#include "bbcreaVtk_EXPORT.h"
+#include "bbtkAtomicBlackBox.h"
+#include "iostream"
+
+#include <vtkPolyData.h>
+#include <vtkLinearExtrusionFilter.h>
+#include <vtkTriangleFilter.h>
+
+namespace bbcreaVtk
+{
+
+class bbcreaVtk_EXPORT LinearExtrusionFilter
+ :
+ public bbtk::AtomicBlackBox
+{
+ BBTK_BLACK_BOX_INTERFACE(LinearExtrusionFilter,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,vtkPolyData*);
+ BBTK_DECLARE_INPUT(Direction,std::vector<double>);
+ BBTK_DECLARE_INPUT(ScalarFactor,double);
+ BBTK_DECLARE_OUTPUT(Out,vtkPolyData*);
+ BBTK_PROCESS(Process);
+ void Process();
+ vtkLinearExtrusionFilter *extrude;
+ vtkTriangleFilter *triangleFilter;
+
+//=====
+// 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(LinearExtrusionFilter,bbtk::AtomicBlackBox);
+BBTK_NAME("LinearExtrusionFilter");
+BBTK_AUTHOR("InfoDev");
+BBTK_DESCRIPTION("No Description.");
+BBTK_CATEGORY("empty");
+ BBTK_INPUT(LinearExtrusionFilter,In,"PolyData input ",vtkPolyData*,"");
+ BBTK_INPUT(LinearExtrusionFilter,Direction,"default [1 0 0] Direction [x,y,z] ",std::vector<double>,"");
+ BBTK_INPUT(LinearExtrusionFilter,ScalarFactor,"(default 0) ",double,"");
+
+ BBTK_OUTPUT(LinearExtrusionFilter,Out,"PolyData output",vtkPolyData*,"");
+BBTK_END_DESCRIBE_BLACK_BOX(LinearExtrusionFilter);
+//=====
+// 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 // __bbcreaVtkLinearExtrusionFilter_h_INCLUDED__
+
#include <vtkPolyDataNormals.h>
+#include <vtkPolyData.h>
+#include <vtkPointData.h>
+#include <vtkDataArray.h>
+#include <vtkMath.h>
namespace bbcreaVtk
{
//=====
void PolyDataNormals::Process()
{
-
+ printf("EED PolyDataNormals::Process Start\n");
// THE MAIN PROCESSING METHOD BODY
// Here we simply set the input 'In' value to the output 'Out'
// And print out the output value
}
// normal->SetFeatureAngle(60.0);
normal->Update();
+
+ // >>>>>>>>>>>>>>>>>>>> Calculate the MeanNormal
+ vtkPolyData *polydata = normal->GetOutput();
+ vtkPointData *pointdata = polydata->GetPointData();
+ vtkDataArray *dataarray;
+ double *pValue;
+ /*
+ int i,size=pointdata->GetNumberOfArrays();
+ for(i=0;i<size;i++)
+ {
+ dataarray=pointdata->GetArray(i);
+ printf("EED creaVtkCallbackPointPicker::Execute dataarray=%s n=%ld p=%ld\n", dataarray->GetName(),dataarray->GetNumberOfValues() ,polydata->GetNumberOfPoints() );
+ } // for i
+ */
+ dataarray = pointdata->GetNormals();
+ std::vector<double> meanNormal;
+ meanNormal.push_back(1);
+ meanNormal.push_back(0);
+ meanNormal.push_back(0);
+ if (dataarray!=NULL)
+ {
+ meanNormal[0]=0;
+ int i , size=dataarray->GetNumberOfTuples();
+ for (i=0; i<size; i++)
+ {
+ pValue = dataarray->GetTuple3( i );
+ meanNormal[0] = meanNormal[0] + pValue[0];
+ meanNormal[1] = meanNormal[1] + pValue[1];
+ meanNormal[2] = meanNormal[2] + pValue[2];
+ }
+
+ if (size!=0)
+ {
+ meanNormal[0] = meanNormal[0] / size;
+ meanNormal[1] = meanNormal[1] / size;
+ meanNormal[2] = meanNormal[2] / size;
+ } else {
+ meanNormal[0] = 1;
+ meanNormal[1] = 0;
+ meanNormal[2] = 0;
+ }
+ } // if dataarray
+ // <<<<<<<<<<<<<<<<<<<<< Calculate the MeanNormal
+
+ if ((bbGetInputType()==1) && (dataarray!=NULL) )
+ {
+ double meanN[3];
+ double wxyz[4];
+ double meanNormalresult[3];
+ double ang;
+ double crossResult[3];
+ printf("EED PolyDataNormals::Process 1\n");
+ meanN[0] = meanNormal[0];
+ meanN[1] = meanNormal[1];
+ meanN[2] = meanNormal[2];
+ printf("EED PolyDataNormals::Process 2\n");
+ int i , size=dataarray->GetNumberOfTuples();
+ for (i=0; i<size; i++)
+ {
+ printf("EED PolyDataNormals::Process 3\n");
+ pValue = dataarray->GetTuple3( i );
+ ang = vtkMath::AngleBetweenVectors( pValue, meanN );
+
+ vtkMath::Cross(meanN,pValue,crossResult);
+ wxyz[0] = ang * bbGetInputParam();
+ wxyz[1] = crossResult[0];
+ wxyz[2] = crossResult[1];
+ wxyz[3] = crossResult[2];
+ printf("EED PolyDataNormals::Process 4\n");
+ vtkMath::RotateVectorByWXYZ(meanN, wxyz ,meanNormalresult);
+ dataarray->SetTuple3( i , meanNormalresult[0], meanNormalresult[1], meanNormalresult[2] );
+ } // for
+
+ } // if Type==1 && dataarray
+ bbSetOutputMeanNormal( meanNormal );
bbSetOutputOut( normal->GetOutput() );
- } // In
+ } // if In
+
+ printf("EED PolyDataNormals::Process End\n");
+
+
}
//=====
// 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,vtkPolyData*);
BBTK_DECLARE_INPUT(ComputeType,int);
+ BBTK_DECLARE_INPUT(Type,int);
+ BBTK_DECLARE_INPUT(Param,double);
BBTK_DECLARE_OUTPUT(Out,vtkPolyData*);
+ BBTK_DECLARE_OUTPUT(MeanNormal,std::vector<double>);
+
BBTK_PROCESS(Process);
void Process();
//=====
BBTK_AUTHOR("InfoDev");
BBTK_DESCRIPTION("No Description.");
BBTK_CATEGORY("empty");
- BBTK_INPUT(PolyDataNormals,In,"Mesh input",vtkPolyData*,"");
- BBTK_INPUT(PolyDataNormals,ComputeType,"(0 default) 0:points 1:Cells",int,"");
- BBTK_OUTPUT(PolyDataNormals,Out,"Mesh output",vtkPolyData*,"");
+ BBTK_INPUT(PolyDataNormals,In,"Mesh input",vtkPolyData*,"");
+ BBTK_INPUT(PolyDataNormals,ComputeType,"(0 default) 0:points 1:Cells",int,"");
+ BBTK_INPUT(PolyDataNormals,Type,"(0 default) 0:Normal Action 1:Apply correction direction (try param=1)",int,"");
+ BBTK_INPUT(PolyDataNormals,Param,"(0 default) For Type=1 [-2 2] 0:parallel 1:NormalState -1:OpositState",double ,"");
+ BBTK_OUTPUT(PolyDataNormals,Out,"Mesh output",vtkPolyData*,"");
+ BBTK_OUTPUT(PolyDataNormals,MeanNormal,"Mean Normal",std::vector<double>,"");
BBTK_END_DESCRIBE_BLACK_BOX(PolyDataNormals);
//=====
// 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)
--- /dev/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)
+//=====
+#include "bbcreaVtkTrimmedExtrusionFilter.h"
+#include "bbcreaVtkPackage.h"
+
+
+
+namespace bbcreaVtk
+{
+
+BBTK_ADD_BLACK_BOX_TO_PACKAGE(creaVtk,TrimmedExtrusionFilter)
+BBTK_BLACK_BOX_IMPLEMENTATION(TrimmedExtrusionFilter,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 TrimmedExtrusionFilter::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 = " <<bbGetOutputOut() << std::endl;
+
+
+ printf("EED Warning!!! TrimmedExtrusionFilter::Process Box not tested....... \n");
+ printf("EED Warning!!! TrimmedExtrusionFilter::Process Box not tested....... \n");
+ printf("EED Warning!!! TrimmedExtrusionFilter::Process Box not tested....... \n");
+ printf("EED Warning!!! TrimmedExtrusionFilter::Process Box not tested....... \n");
+ printf("EED Warning!!! TrimmedExtrusionFilter::Process Box not tested....... \n");
+ printf("EED Warning!!! TrimmedExtrusionFilter::Process Box not tested....... \n");
+ printf("EED Warning!!! TrimmedExtrusionFilter::Process Box not tested....... \n");
+
+
+
+
+ if ( (bbGetInputIn()!=NULL) && (bbGetInputIn2()!=NULL) )
+ {
+ if (extrusion!=NULL)
+ {
+ extrusion->Delete();
+ }
+ extrusion = vtkTrimmedExtrusionFilter::New();
+ std::vector<double> dir=bbGetInputDirection();
+ if (dir.size()==3)
+ {
+ extrusion->SetExtrusionDirection( dir[0],dir[1],dir[2] );
+ } else {
+ extrusion->SetExtrusionDirection( 1,0,0 );
+ }
+ extrusion->SetInputData( bbGetInputIn() );
+ extrusion->SetTrimSurfaceData( bbGetInputIn2() );
+ if (bbGetInputType()==0)
+ {
+ extrusion->SetExtrusionStrategy(vtkTrimmedExtrusionFilter::BOUNDARY_EDGES);
+ } else {
+ extrusion->SetExtrusionStrategy(vtkTrimmedExtrusionFilter::ALL_EDGES);
+ }
+ extrusion->Update();
+ bbSetOutputOut( extrusion->GetTrimSurface() );
+ } else {
+ printf("EED Warning!!! TrimmedExtrusionFilter::Process Either In or In2 is missing \n");
+ } // if bbGetInputIn
+
+
+}
+//=====
+// 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 TrimmedExtrusionFilter::bbUserSetDefaultValues()
+{
+
+// SET HERE THE DEFAULT INPUT/OUTPUT VALUES OF YOUR BOX
+// Here we initialize the input 'In' to 0
+ extrusion=NULL;
+ bbSetInputIn(NULL);
+ bbSetInputIn2(NULL);
+ bbSetInputType(0);
+
+ std::vector<double> dir;
+ dir.push_back(1);
+ dir.push_back(0);
+ dir.push_back(0);
+ bbSetInputDirection( dir );
+
+}
+//=====
+// 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 TrimmedExtrusionFilter::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 TrimmedExtrusionFilter::bbUserFinalizeProcessing()
+{
+
+// THE FINALIZATION METHOD BODY :
+// Here does nothing
+// but this is where you should desallocate the internal/output pointers
+// if any
+
+}
+}
+// EO namespace bbcreaVtk
+
+
--- /dev/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)
+//=====
+#ifndef __bbcreaVtkTrimmedExtrusionFilter_h_INCLUDED__
+#define __bbcreaVtkTrimmedExtrusionFilter_h_INCLUDED__
+
+#include "bbcreaVtk_EXPORT.h"
+#include "bbtkAtomicBlackBox.h"
+#include "iostream"
+
+#include <vtkPolyData.h>
+#include <vtkTrimmedExtrusionFilter.h>
+
+namespace bbcreaVtk
+{
+
+class bbcreaVtk_EXPORT TrimmedExtrusionFilter
+ :
+ public bbtk::AtomicBlackBox
+{
+ BBTK_BLACK_BOX_INTERFACE(TrimmedExtrusionFilter,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,vtkPolyData*);
+ BBTK_DECLARE_INPUT(In2,vtkPolyData*);
+ BBTK_DECLARE_INPUT(Direction,std::vector<double>);
+
+ BBTK_DECLARE_INPUT(Type,int);
+ BBTK_DECLARE_OUTPUT(Out,vtkPolyData*);
+ BBTK_PROCESS(Process);
+ void Process();
+
+ vtkTrimmedExtrusionFilter *extrusion;
+
+//=====
+// 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(TrimmedExtrusionFilter,bbtk::AtomicBlackBox);
+BBTK_NAME("TrimmedExtrusionFilter");
+BBTK_AUTHOR("InfoDev");
+BBTK_DESCRIPTION("No Description.");
+BBTK_CATEGORY("empty");
+
+ BBTK_INPUT(TrimmedExtrusionFilter,In,"PolyData input ",vtkPolyData*,"");
+ BBTK_INPUT(TrimmedExtrusionFilter,In2,"PolyData input ",vtkPolyData*,"");
+ BBTK_INPUT(TrimmedExtrusionFilter,Direction,"default [1 0 0] Direction [x,y,z] ",std::vector<double>,"");
+ BBTK_INPUT(TrimmedExtrusionFilter,Type,"(default 0) Type 0:BOUNDARY_EDGES 1:ALL_EDGES",int,"");
+
+ BBTK_OUTPUT(TrimmedExtrusionFilter,Out,"PolyData output",vtkPolyData*,"");
+
+
+BBTK_END_DESCRIBE_BLACK_BOX(TrimmedExtrusionFilter);
+//=====
+// 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 // __bbcreaVtkTrimmedExtrusionFilter_h_INCLUDED__
+