]> Creatis software - creaVtk.git/commitdiff
#3251 creaVtk Feature New Normal - STL read write and Mesh_reduction
authorEduardo DAVILA <davila@localhost.localdomain>
Mon, 8 Apr 2019 19:11:19 +0000 (21:11 +0200)
committerEduardo DAVILA <davila@localhost.localdomain>
Mon, 8 Apr 2019 19:11:19 +0000 (21:11 +0200)
bbtk_creaVtk_PKG/src/bbcreaVtkMeshReduction_DecimatePro.cxx [new file with mode: 0644]
bbtk_creaVtk_PKG/src/bbcreaVtkMeshReduction_DecimatePro.h [new file with mode: 0644]
bbtk_creaVtk_PKG/src/bbcreaVtkMeshReduction_QuadricDecimation.cxx [new file with mode: 0644]
bbtk_creaVtk_PKG/src/bbcreaVtkMeshReduction_QuadricDecimation.h [new file with mode: 0644]
bbtk_creaVtk_PKG/src/bbcreaVtkStlReader.cxx [new file with mode: 0644]
bbtk_creaVtk_PKG/src/bbcreaVtkStlReader.h [new file with mode: 0644]
bbtk_creaVtk_PKG/src/bbcreaVtkStlWriter.cxx [new file with mode: 0644]
bbtk_creaVtk_PKG/src/bbcreaVtkStlWriter.h [new file with mode: 0644]

diff --git a/bbtk_creaVtk_PKG/src/bbcreaVtkMeshReduction_DecimatePro.cxx b/bbtk_creaVtk_PKG/src/bbcreaVtkMeshReduction_DecimatePro.cxx
new file mode 100644 (file)
index 0000000..6848c8a
--- /dev/null
@@ -0,0 +1,89 @@
+//===== 
+// 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 "bbcreaVtkMeshReduction_DecimatePro.h"
+#include "bbcreaVtkPackage.h"
+
+
+namespace bbcreaVtk
+{
+
+BBTK_ADD_BLACK_BOX_TO_PACKAGE(creaVtk,MeshReduction_DecimatePro)
+BBTK_BLACK_BOX_IMPLEMENTATION(MeshReduction_DecimatePro,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 MeshReduction_DecimatePro::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')
+
+
+       if (firsttime==true)
+       {
+               firsttime       = false;
+               decimatepro = vtkDecimatePro::New();
+       }
+       decimatepro->SetInputData( bbGetInputIn() );
+       decimatepro->SetTargetReduction( bbGetInputTargetReduction() );
+       decimatepro->PreserveTopologyOn();
+       decimatepro->Update();
+       bbSetOutputOut(decimatepro->GetOutput() );  
+}
+//===== 
+// 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 MeshReduction_DecimatePro::bbUserSetDefaultValues()
+{
+
+//  SET HERE THE DEFAULT INPUT/OUTPUT VALUES OF YOUR BOX 
+//    Here we initialize the input 'In' to 0
+       firsttime       =       true;
+       decimatepro     =       NULL;
+       bbSetInputIn(NULL);
+       bbSetInputTargetReduction(0.5);
+}
+//===== 
+// 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 MeshReduction_DecimatePro::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 MeshReduction_DecimatePro::bbUserFinalizeProcessing()
+{
+
+//  THE FINALIZATION METHOD BODY :
+//    Here does nothing 
+//    but this is where you should desallocate the internal/output pointers 
+//    if any
+  
+       if (decimatepro!=NULL)
+       {
+               decimatepro->Delete();
+       } 
+
+}
+}
+// EO namespace bbcreaVtk
+
+
diff --git a/bbtk_creaVtk_PKG/src/bbcreaVtkMeshReduction_DecimatePro.h b/bbtk_creaVtk_PKG/src/bbcreaVtkMeshReduction_DecimatePro.h
new file mode 100644 (file)
index 0000000..099bef4
--- /dev/null
@@ -0,0 +1,55 @@
+//===== 
+// 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 __bbcreaVtkMeshReduction_DecimatePro_h_INCLUDED__
+#define __bbcreaVtkMeshReduction_DecimatePro_h_INCLUDED__
+
+#include "bbcreaVtk_EXPORT.h"
+#include "bbtkAtomicBlackBox.h"
+#include "iostream"
+
+#include "vtkPolyData.h"
+#include "vtkDecimatePro.h"
+
+namespace bbcreaVtk
+{
+
+class bbcreaVtk_EXPORT MeshReduction_DecimatePro
+ : 
+   public bbtk::AtomicBlackBox
+{
+  BBTK_BLACK_BOX_INTERFACE(MeshReduction_DecimatePro,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(TargetReduction,double);
+  BBTK_DECLARE_OUTPUT(Out,vtkPolyData*);
+  BBTK_PROCESS(Process);
+  void Process();
+
+       bool                    firsttime;
+       vtkDecimatePro  *decimatepro;
+
+//===== 
+// 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(MeshReduction_DecimatePro,bbtk::AtomicBlackBox);
+  BBTK_NAME("MeshReduction_DecimatePro");
+  BBTK_AUTHOR("InfoDev");
+  BBTK_DESCRIPTION("No Description.");
+  BBTK_CATEGORY("empty");
+  BBTK_INPUT(MeshReduction_DecimatePro,In,"vtkPolyData*",vtkPolyData*,"");
+  BBTK_INPUT(MeshReduction_DecimatePro,TargetReduction,"[0-1] (default 0.5)",double,"");
+  BBTK_OUTPUT(MeshReduction_DecimatePro,Out,"vtkPolyData*",vtkPolyData*,"");
+BBTK_END_DESCRIBE_BLACK_BOX(MeshReduction_DecimatePro);
+//===== 
+// 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 // __bbcreaVtkMeshReduction_DecimatePro_h_INCLUDED__
+
diff --git a/bbtk_creaVtk_PKG/src/bbcreaVtkMeshReduction_QuadricDecimation.cxx b/bbtk_creaVtk_PKG/src/bbcreaVtkMeshReduction_QuadricDecimation.cxx
new file mode 100644 (file)
index 0000000..38fd833
--- /dev/null
@@ -0,0 +1,87 @@
+//===== 
+// 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 "bbcreaVtkMeshReduction_QuadricDecimation.h"
+#include "bbcreaVtkPackage.h"
+namespace bbcreaVtk
+{
+
+BBTK_ADD_BLACK_BOX_TO_PACKAGE(creaVtk,MeshReduction_QuadricDecimation)
+BBTK_BLACK_BOX_IMPLEMENTATION(MeshReduction_QuadricDecimation,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 MeshReduction_QuadricDecimation::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')
+
+
+       if (firsttime==true)
+       {
+               firsttime       =false;
+               quadricdecimation = vtkQuadricDecimation::New();
+       }
+       quadricdecimation->SetInputData( bbGetInputIn() );
+
+       quadricdecimation->SetTargetReduction( bbGetInputTargetReduction() );
+
+       quadricdecimation->Update();
+       bbSetOutputOut(quadricdecimation->GetOutput() );  
+}
+//===== 
+// 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 MeshReduction_QuadricDecimation::bbUserSetDefaultValues()
+{
+
+//  SET HERE THE DEFAULT INPUT/OUTPUT VALUES OF YOUR BOX 
+//    Here we initialize the input 'In' to 0
+       firsttime                       =       true;
+       quadricdecimation       =       NULL;
+       bbSetInputIn(NULL);
+       bbSetInputTargetReduction(0.5);
+}
+//===== 
+// 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 MeshReduction_QuadricDecimation::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 MeshReduction_QuadricDecimation::bbUserFinalizeProcessing()
+{
+
+//  THE FINALIZATION METHOD BODY :
+//    Here does nothing 
+//    but this is where you should desallocate the internal/output pointers 
+//    if any
+
+       if (quadricdecimation!=NULL)
+       {
+               quadricdecimation->Delete();
+       } 
+}
+}
+// EO namespace bbcreaVtk
+
+
diff --git a/bbtk_creaVtk_PKG/src/bbcreaVtkMeshReduction_QuadricDecimation.h b/bbtk_creaVtk_PKG/src/bbcreaVtkMeshReduction_QuadricDecimation.h
new file mode 100644 (file)
index 0000000..7d0185a
--- /dev/null
@@ -0,0 +1,55 @@
+//===== 
+// 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 __bbcreaVtkMeshReduction_QuadricDecimation_h_INCLUDED__
+#define __bbcreaVtkMeshReduction_QuadricDecimation_h_INCLUDED__
+
+#include "bbcreaVtk_EXPORT.h"
+#include "bbtkAtomicBlackBox.h"
+#include "iostream"
+
+#include <vtkQuadricDecimation.h>
+
+namespace bbcreaVtk
+{
+
+class bbcreaVtk_EXPORT MeshReduction_QuadricDecimation
+ : 
+   public bbtk::AtomicBlackBox
+{
+  BBTK_BLACK_BOX_INTERFACE(MeshReduction_QuadricDecimation,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(TargetReduction,double);
+  BBTK_DECLARE_OUTPUT(Out,vtkPolyData*);
+  BBTK_PROCESS(Process);
+  void Process();
+
+       bool                                    firsttime;
+       vtkQuadricDecimation    *quadricdecimation;
+
+//===== 
+// 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(MeshReduction_QuadricDecimation,bbtk::AtomicBlackBox);
+  BBTK_NAME("MeshReduction_QuadricDecimation");
+  BBTK_AUTHOR("InfoDev");
+  BBTK_DESCRIPTION("No Description.");
+  BBTK_CATEGORY("empty");
+
+  BBTK_INPUT(MeshReduction_QuadricDecimation,In,"vtkPolyData*",vtkPolyData*,"");
+  BBTK_INPUT(MeshReduction_QuadricDecimation,TargetReduction,"[0-1] (default 0.5)",double,"");
+  BBTK_OUTPUT(MeshReduction_QuadricDecimation,Out,"vtkPolyData*",vtkPolyData*,"");
+BBTK_END_DESCRIBE_BLACK_BOX(MeshReduction_QuadricDecimation);
+//===== 
+// 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 // __bbcreaVtkMeshReduction_QuadricDecimation_h_INCLUDED__
+
diff --git a/bbtk_creaVtk_PKG/src/bbcreaVtkStlReader.cxx b/bbtk_creaVtk_PKG/src/bbcreaVtkStlReader.cxx
new file mode 100644 (file)
index 0000000..ae30c70
--- /dev/null
@@ -0,0 +1,76 @@
+//===== 
+// 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 "bbcreaVtkStlReader.h"
+#include "bbcreaVtkPackage.h"
+
+#include "vtkSTLReader.h"
+
+namespace bbcreaVtk
+{
+
+BBTK_ADD_BLACK_BOX_TO_PACKAGE(creaVtk,StlReader)
+BBTK_BLACK_BOX_IMPLEMENTATION(StlReader,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 StlReader::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')
+
+       vtkSTLReader *reader = vtkSTLReader::New();
+       reader->SetFileName( bbGetInputFileName().c_str() );  
+       reader->Update();
+       bbSetOutputOut( reader->GetOutput() );
+}
+//===== 
+// 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 StlReader::bbUserSetDefaultValues()
+{
+
+//  SET HERE THE DEFAULT INPUT/OUTPUT VALUES OF YOUR BOX 
+//    Here we initialize the input 'In' to 0
+   bbSetOutputOut(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 StlReader::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 StlReader::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/bbcreaVtkStlReader.h b/bbtk_creaVtk_PKG/src/bbcreaVtkStlReader.h
new file mode 100644 (file)
index 0000000..e1405e1
--- /dev/null
@@ -0,0 +1,48 @@
+//===== 
+// 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 __bbcreaVtkStlReader_h_INCLUDED__
+#define __bbcreaVtkStlReader_h_INCLUDED__
+
+#include "bbcreaVtk_EXPORT.h"
+#include "bbtkAtomicBlackBox.h"
+#include "iostream"
+
+#include "vtkPolyData.h"
+
+namespace bbcreaVtk
+{
+
+class bbcreaVtk_EXPORT StlReader
+ : 
+   public bbtk::AtomicBlackBox
+{
+  BBTK_BLACK_BOX_INTERFACE(StlReader,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(FileName,std::string);
+  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(StlReader,bbtk::AtomicBlackBox);
+  BBTK_NAME("StlReader");
+  BBTK_AUTHOR("InfoDev");
+  BBTK_DESCRIPTION("No Description.");
+  BBTK_CATEGORY("empty");
+  BBTK_INPUT(StlReader,FileName,"File Name",std::string,"");
+  BBTK_OUTPUT(StlReader,Out,"vtkPolyData",vtkPolyData*,"");
+BBTK_END_DESCRIBE_BLACK_BOX(StlReader);
+//===== 
+// 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 // __bbcreaVtkStlReader_h_INCLUDED__
+
diff --git a/bbtk_creaVtk_PKG/src/bbcreaVtkStlWriter.cxx b/bbtk_creaVtk_PKG/src/bbcreaVtkStlWriter.cxx
new file mode 100644 (file)
index 0000000..e933ce2
--- /dev/null
@@ -0,0 +1,91 @@
+//===== 
+// 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 "bbcreaVtkStlWriter.h"
+#include "bbcreaVtkPackage.h"
+
+#include "vtkSTLWriter.h"
+namespace bbcreaVtk
+{
+
+BBTK_ADD_BLACK_BOX_TO_PACKAGE(creaVtk,StlWriter)
+BBTK_BLACK_BOX_IMPLEMENTATION(StlWriter,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 StlWriter::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) && (bbGetInputFileName()!=""))
+       {
+               vtkSTLWriter *writer = vtkSTLWriter::New();
+               if (bbGetInputAscii()==true)
+               {
+                       writer->SetFileTypeToASCII();
+               } else {
+                       writer->SetFileTypeToBinary();
+               }  // if Ascii
+               writer->SetInputData( bbGetInputIn() );
+               writer->SetFileName( bbGetInputFileName().c_str() );
+               writer->Write();
+               writer->Delete();
+       } // if In Filename
+
+}
+//===== 
+// 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 StlWriter::bbUserSetDefaultValues()
+{
+
+//  SET HERE THE DEFAULT INPUT/OUTPUT VALUES OF YOUR BOX 
+//    Here we initialize the input 'In' to 0
+   bbSetInputIn(NULL);
+   bbSetInputFileName("");
+   bbSetInputAscii(true);
+  
+}
+//===== 
+// 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 StlWriter::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 StlWriter::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/bbcreaVtkStlWriter.h b/bbtk_creaVtk_PKG/src/bbcreaVtkStlWriter.h
new file mode 100644 (file)
index 0000000..1203b2a
--- /dev/null
@@ -0,0 +1,52 @@
+//===== 
+// 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 __bbcreaVtkStlWriter_h_INCLUDED__
+#define __bbcreaVtkStlWriter_h_INCLUDED__
+
+#include "bbcreaVtk_EXPORT.h"
+#include "bbtkAtomicBlackBox.h"
+#include "iostream"
+
+#include "vtkPolyData.h"
+
+namespace bbcreaVtk
+{
+
+class bbcreaVtk_EXPORT StlWriter
+ : 
+   public bbtk::AtomicBlackBox
+{
+  BBTK_BLACK_BOX_INTERFACE(StlWriter,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(FileName,std::string);
+  BBTK_DECLARE_INPUT(In,vtkPolyData*);
+  BBTK_DECLARE_INPUT(Ascii,bool);
+//  BBTK_DECLARE_OUTPUT(Out,double);
+  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(StlWriter,bbtk::AtomicBlackBox);
+  BBTK_NAME("StlWriter");
+  BBTK_AUTHOR("InfoDev");
+  BBTK_DESCRIPTION("No Description.");
+  BBTK_CATEGORY("empty");
+  BBTK_INPUT(StlWriter,FileName,"File Name",std::string,"");
+  BBTK_INPUT(StlWriter,In,"vtkPolyData (Mesh)",vtkPolyData*,"");
+  BBTK_INPUT(StlWriter,Ascii,"(true defaimt)  true Ascii  /   false Binary",bool,"");
+//  BBTK_OUTPUT(StlWriter,Out,"First output",double,"");
+BBTK_END_DESCRIBE_BLACK_BOX(StlWriter);
+//===== 
+// 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 // __bbcreaVtkStlWriter_h_INCLUDED__
+