]> Creatis software - creaVtk.git/blob - bbtk_creaVtk_PKG/src/bbcreaVtkPolyDataInfo.cxx
#3470 merge vtk8itk5wx3-mingw64
[creaVtk.git] / bbtk_creaVtk_PKG / src / bbcreaVtkPolyDataInfo.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 "bbcreaVtkPolyDataInfo.h"
5 #include "bbcreaVtkPackage.h"
6 namespace bbcreaVtk
7 {
8
9 BBTK_ADD_BLACK_BOX_TO_PACKAGE(creaVtk,PolyDataInfo)
10 BBTK_BLACK_BOX_IMPLEMENTATION(PolyDataInfo,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 PolyDataInfo::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
32         if ( bbGetInputIn()!=NULL)
33         {
34                 bbSetOutputNumberOfCells( bbGetInputIn()->GetNumberOfCells() );
35                 bbSetOutputNumberOfLines(  bbGetInputIn()->GetNumberOfLines() );
36                 bbSetOutputNumberOfPieces( bbGetInputIn()->GetNumberOfPieces() );
37                 bbSetOutputNumberOfPoints(  bbGetInputIn()->GetNumberOfPoints() );
38                 bbSetOutputNumberOfPolys( bbGetInputIn()->GetNumberOfPolys() );
39                 bbSetOutputNumberOfStrips( bbGetInputIn()->GetNumberOfStrips() );
40                 bbSetOutputNumberOfVerts( bbGetInputIn()->GetNumberOfVerts() );
41
42                 if (bbGetInputPoints()==true)
43                 {
44                         std::vector<double> lstIds;
45                         std::vector<double> lstPointsX;
46                         std::vector<double> lstPointsY;
47                         std::vector<double> lstPointsZ;
48                         double p1[3];
49                         double p2[3];
50                         long int i,size= bbGetInputIn()->GetNumberOfPoints();
51                         for (i=0;i<size;i++)
52                         {
53                                 if (bbGetInputIdsPoints()==true)
54                                 {
55                                         lstIds.push_back(i);
56                                 } // IdsPoints
57                                 if (bbGetInputTransform()!=NULL)
58                                 {
59                                         bbGetInputIn()->GetPoint(i,p1);
60                                         bbGetInputTransform()->TransformPoint(p1,p2);
61                                 } else {
62                                         bbGetInputIn()->GetPoint(i,p2);
63                                 }
64                                 lstPointsX.push_back(p2[0]);
65                                 lstPointsY.push_back(p2[1]);
66                                 lstPointsZ.push_back(p2[2]);
67                         } // for i
68                         bbSetOutputLstIdsPoints(lstIds);
69                         bbSetOutputLstPointsX(lstPointsX);
70                         bbSetOutputLstPointsY(lstPointsY);
71                         bbSetOutputLstPointsZ(lstPointsZ);
72                 } // Points
73         } else {
74                 bbSetOutputNumberOfCells(-1);
75                 bbSetOutputNumberOfLines(-1);
76                 bbSetOutputNumberOfPieces(-1);
77                 bbSetOutputNumberOfPoints(-1);
78                 bbSetOutputNumberOfPolys(-1);
79                 bbSetOutputNumberOfStrips(-1);
80                 bbSetOutputNumberOfVerts(-1);
81         }// if
82
83 }
84 //===== 
85 // 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)
86 //===== 
87 void PolyDataInfo::bbUserSetDefaultValues()
88 {
89
90 //  SET HERE THE DEFAULT INPUT/OUTPUT VALUES OF YOUR BOX 
91 //    Here we initialize the input 'In' to 0
92    bbSetInputIn(NULL);
93    bbSetOutputNumberOfCells(-9999);
94    bbSetOutputNumberOfLines(-9999);
95    bbSetOutputNumberOfPoints(-9999);
96    bbSetOutputNumberOfPieces(-9999);
97    bbSetOutputNumberOfPolys(-9999);
98    bbSetOutputNumberOfStrips(-9999);
99    bbSetOutputNumberOfVerts(-9999);
100    bbSetInputIdsPoints(false);
101    bbSetInputPoints(false);
102    bbSetInputTransform(NULL);
103 }
104 //===== 
105 // 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)
106 //===== 
107 void PolyDataInfo::bbUserInitializeProcessing()
108 {
109
110 //  THE INITIALIZATION METHOD BODY :
111 //    Here does nothing 
112 //    but this is where you should allocate the internal/output pointers 
113 //    if any 
114
115   
116 }
117 //===== 
118 // 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)
119 //===== 
120 void PolyDataInfo::bbUserFinalizeProcessing()
121 {
122
123 //  THE FINALIZATION METHOD BODY :
124 //    Here does nothing 
125 //    but this is where you should desallocate the internal/output pointers 
126 //    if any
127   
128 }
129 }
130 // EO namespace bbcreaVtk
131
132