]> Creatis software - bbtk.git/blob - packages/vtk/src/bbvtkCleanExternalPlane.cxx
4e047b14ce8eeae61f30f3f12ee70c58ae273292
[bbtk.git] / packages / vtk / src / bbvtkCleanExternalPlane.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 "bbvtkCleanExternalPlane.h"
5 #include "bbvtkPackage.h"
6 namespace bbvtk
7 {
8
9 BBTK_ADD_BLACK_BOX_TO_PACKAGE(vtk,CleanExternalPlane)
10 BBTK_BLACK_BOX_IMPLEMENTATION(CleanExternalPlane,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 CleanExternalPlane::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
29         if ( bbGetInputIn()!=NULL )
30         {
31                 int i,j;
32                 int ext[6];
33                 int dim[3];
34                 bbGetInputIn()->GetWholeExtent(ext);
35                 
36                 dim[0]=ext[1]-ext[0]+1;
37                 dim[1]=ext[3]-ext[2]+1;
38                 dim[2]=ext[5]-ext[4]+1;
39                 
40                 // XY plane
41                 for (i=0 ; i<dim[0] ; i++)
42                 {
43                         for (j=0 ; j<dim[1] ; j++)
44                         {
45                                 bbGetInputIn()->SetScalarComponentFromDouble (i, j, 0           , 0, 0.0);
46                                 bbGetInputIn()->SetScalarComponentFromDouble (i, j, dim[2]-1, 0, 0.0);
47                         }
48                 }
49                 
50                 // YZ plane
51                 for (i=0 ; i<dim[1] ; i++)
52                 {
53                         for (j=0 ; j<dim[2] ; j++)
54                         {
55                                 bbGetInputIn()->SetScalarComponentFromDouble (0                 , i, j, 0, 0.0);
56                                 bbGetInputIn()->SetScalarComponentFromDouble (dim[0]-1  , i, j, 0, 0.0);
57                         }
58                 }
59                 
60                 // YZ plane
61                 for (i=0 ; i<dim[0] ; i++)
62                 {
63                         for (j=0 ; j<dim[2] ; j++)
64                         {
65                                 bbGetInputIn()->SetScalarComponentFromDouble (i, 0                      , j, 0, 0.0);
66                                 bbGetInputIn()->SetScalarComponentFromDouble (i, dim[1]-1       , j, 0, 0.0);
67                         }
68                 }
69         
70                 
71         }
72     
73         
74         bbSetOutputOut( bbGetInputIn() );
75
76         
77         
78 }
79 //===== 
80 // 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)
81 //===== 
82 void CleanExternalPlane::bbUserSetDefaultValues()
83 {
84
85 //  SET HERE THE DEFAULT INPUT/OUTPUT VALUES OF YOUR BOX 
86 //    Here we initialize the input 'In' to 0
87    bbSetInputIn(0);
88   
89 }
90 //===== 
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)
92 //===== 
93 void CleanExternalPlane::bbUserInitializeProcessing()
94 {
95
96 //  THE INITIALIZATION METHOD BODY :
97 //    Here does nothing 
98 //    but this is where you should allocate the internal/output pointers 
99 //    if any 
100
101   
102 }
103 //===== 
104 // 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)
105 //===== 
106 void CleanExternalPlane::bbUserFinalizeProcessing()
107 {
108
109 //  THE FINALIZATION METHOD BODY :
110 //    Here does nothing 
111 //    but this is where you should desallocate the internal/output pointers 
112 //    if any
113   
114 }
115 }
116 // EO namespace bbvtk
117
118