]> Creatis software - creaVtk.git/blob - bbtk_creaVtk_PKG/src/bbcreaVtkMarchingCubes2.cxx
#3499 boxes ImageGaussianSmooth2 MarchingCubes2
[creaVtk.git] / bbtk_creaVtk_PKG / src / bbcreaVtkMarchingCubes2.cxx
1 //===== 
2 // 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)
3 //===== 
4 #include "bbcreaVtkMarchingCubes2.h"
5 #include "bbcreaVtkPackage.h"
6 namespace bbcreaVtk
7 {
8
9 BBTK_ADD_BLACK_BOX_TO_PACKAGE(creaVtk,MarchingCubes2)
10 BBTK_BLACK_BOX_IMPLEMENTATION(MarchingCubes2,bbtk::AtomicBlackBox);
11 //===== 
12 // 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)
13 //===== 
14 void MarchingCubes2::Process()
15 {
16
17 // THE MAIN PROCESSING METHOD BODY
18 //   Here we simply set the input 'In' value to the output 'Out'
19 //   And print out the output value
20 // INPUT/OUTPUT ACCESSORS ARE OF THE FORM :
21 //    void bbSet{Input|Output}NAME(const TYPE&)
22 //    const TYPE& bbGet{Input|Output}NAME() const 
23 //    Where :
24 //    * NAME is the name of the input/output
25 //      (the one provided in the attribute 'name' of the tag 'input')
26 //    * TYPE is the C++ type of the input/output
27 //      (the one provided in the attribute 'type' of the tag 'input')
28 //    bbSetOutputOut( bbGetInputIn() );
29 //    std::cout << "Output value = " <<bbGetOutputOut() << std::endl;
30   
31     if ( (bbGetInputActive()==true) && (bbGetInputIn()!=NULL) )
32     {
33         if (marchingcubes!=NULL)
34         {
35             marchingcubes->Delete();
36             marchingcubes = NULL;
37         }
38         marchingcubes=vtkMarchingCubes::New();
39         marchingcubes->SetInputData( bbGetInputIn() );
40         marchingcubes->SetValue(0, bbGetInputValue() );
41
42         if(bbGetInputComputeNormalsOn())
43         {
44             marchingcubes->ComputeNormalsOn();
45         }else {
46             marchingcubes->ComputeNormalsOff();
47         }// if Normals
48         
49         if(bbGetInputComputeScalarsOn())
50         {
51             marchingcubes->ComputeScalarsOn();
52         }else{
53             marchingcubes->ComputeScalarsOff();
54         }// if Scalars
55         
56         marchingcubes->Update();
57         bbSetOutputOut( marchingcubes->GetOutput() );
58     } else {
59         bbSetOutputOut(NULL);
60     } // Active
61
62     
63     
64 }
65 //===== 
66 // 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)
67 //===== 
68 void MarchingCubes2::bbUserSetDefaultValues()
69 {
70
71 //  SET HERE THE DEFAULT INPUT/OUTPUT VALUES OF YOUR BOX 
72 //    Here we initialize the input 'In' to 0
73     marchingcubes=NULL;
74     bbSetInputActive(true);
75     bbSetInputIn(NULL);
76     bbSetInputValue( 400 );
77     bbSetInputComputeNormalsOn(true);
78     bbSetInputComputeScalarsOn(true);
79     bbSetOutputOut(NULL);
80 }
81 //===== 
82 // 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)
83 //===== 
84 void MarchingCubes2::bbUserInitializeProcessing()
85 {
86
87 //  THE INITIALIZATION METHOD BODY :
88 //    Here does nothing 
89 //    but this is where you should allocate the internal/output pointers 
90 //    if any 
91
92   
93 }
94 //===== 
95 // 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)
96 //===== 
97 void MarchingCubes2::bbUserFinalizeProcessing()
98 {
99
100 //  THE FINALIZATION METHOD BODY :
101 //    Here does nothing 
102 //    but this is where you should desallocate the internal/output pointers 
103 //    if any
104   
105 }
106 }
107 // EO namespace bbcreaVtk
108
109