]> Creatis software - creaMaracasVisu.git/blob - bbtk/src/bbcreaMaracasVisuManualContourModel_Box.h
760f2b0c89f842d61cb3a0e63891e51254a6fb56
[creaMaracasVisu.git] / bbtk / src / bbcreaMaracasVisuManualContourModel_Box.h
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 #ifndef __bbcreaMaracasVisuManualContourModel_Box_h_INCLUDED__
5 #define __bbcreaMaracasVisuManualContourModel_Box_h_INCLUDED__
6 #include "bbcreaMaracasVisu_EXPORT.h"
7 #include "bbtkAtomicBlackBox.h"
8 #include "iostream"
9
10 namespace bbcreaMaracasVisu
11 {
12
13 class bbcreaMaracasVisu_EXPORT ManualContourModel_Box
14  : 
15    public bbtk::AtomicBlackBox
16 {
17   BBTK_BLACK_BOX_INTERFACE(ManualContourModel_Box,bbtk::AtomicBlackBox);
18 //===== 
19 // 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)
20 //===== 
21   BBTK_DECLARE_INPUT(Type,int);
22   BBTK_DECLARE_INPUT(DoubleContour,int);
23   BBTK_DECLARE_INPUT(OpenClose,bool);
24   BBTK_DECLARE_INPUT(OpenClose2,bool);
25   BBTK_DECLARE_INPUT(NbPoints,int);
26
27   BBTK_DECLARE_INPUT(LstIndexsIn,std::vector<int>);
28
29   BBTK_DECLARE_INPUT(LstControlPointsX,std::vector<double>);
30   BBTK_DECLARE_INPUT(LstControlPointsY,std::vector<double>);
31   BBTK_DECLARE_INPUT(LstControlPointsZ,std::vector<double>);
32
33
34   BBTK_DECLARE_OUTPUT(LstContourPointsX,std::vector<double>);
35   BBTK_DECLARE_OUTPUT(LstContourPointsY,std::vector<double>);
36   BBTK_DECLARE_OUTPUT(LstContourPointsZ,std::vector<double>);
37   BBTK_DECLARE_OUTPUT(LstIndexsOut,std::vector<int>);
38   BBTK_PROCESS(Process);
39   void Process();
40
41
42 void ClockwisePoints(   std::vector<double> *lstInX,
43                                         std::vector<double> *lstInY, 
44                                         std::vector<double> *lstOuZ,
45                                         std::vector<int> *lstIndexsIn );
46
47 void ShiftValues(       std::vector<double> *lstInX,
48                                         std::vector<double> *lstInY, 
49                                         std::vector<double> *lstOuZ,
50                                         std::vector<int> *lstIndexsIn );
51
52
53   void ProcessBySegment(        
54                         int Type, 
55                         int &iGeneral, int sizeSegment,
56                         std::vector<double> *lstInX,std::vector<double> *lstInY, std::vector<double> *lstInZ,
57                         std::vector<double> *lstOutX,std::vector<double> *lstOutY, std::vector<double> *lstOutZ,
58                         std::vector<int>        *lstIndexsOut,
59                         bool open );
60
61 void RedistributionPoints(      std::vector<double> *lstOutX,
62                                                         std::vector<double> *lstOutY, 
63                                                         std::vector<double> *lstOutZ, 
64                                                         std::vector<int> *lstIndexsOut );
65
66
67
68 //===== 
69 // 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)
70 //===== 
71 };
72
73 BBTK_BEGIN_DESCRIBE_BLACK_BOX(ManualContourModel_Box,bbtk::AtomicBlackBox);
74   BBTK_NAME("ManualContourModel_Box");
75   BBTK_AUTHOR("InfoDev");
76   BBTK_DESCRIPTION("No Description.");
77   BBTK_CATEGORY("empty");
78
79   BBTK_INPUT(ManualContourModel_Box,Type,"(1 default) 1=spline, 2=rectangle, 3=circle, 4=bullEye, 6=Line, 7=points, 8=rotationTool, 10=polygon, 12=Spline3D",int,"");
80   BBTK_INPUT(ManualContourModel_Box,DoubleContour,"(0 default) 0=Simple, 1=Double (This is used to construct surface, use LstIndexesIn)",int,"");
81   BBTK_INPUT(ManualContourModel_Box,OpenClose,"(false default) false=open, true=close",bool,"");
82   BBTK_INPUT(ManualContourModel_Box,OpenClose2,"(false default) false=open, true=close.  Used with the DoubleContour option.",bool,"");
83   BBTK_INPUT(ManualContourModel_Box,NbPoints,"(100 default) Number of points int the spline",int,"");
84   BBTK_INPUT(ManualContourModel_Box,LstIndexsIn,"Lst number of points by segment",std::vector<int>,"");
85
86   BBTK_INPUT(ManualContourModel_Box,LstControlPointsX,"List of control points",std::vector<double>,"");
87   BBTK_INPUT(ManualContourModel_Box,LstControlPointsY,"List of control points",std::vector<double>,"");
88   BBTK_INPUT(ManualContourModel_Box,LstControlPointsZ,"List of control points",std::vector<double>,"");
89
90   BBTK_OUTPUT(ManualContourModel_Box,LstContourPointsX,"List of points in the contour",std::vector<double>,"");
91   BBTK_OUTPUT(ManualContourModel_Box,LstContourPointsY,"List of points in the contour",std::vector<double>,"");
92   BBTK_OUTPUT(ManualContourModel_Box,LstContourPointsZ,"List of points in the contour",std::vector<double>,"");
93   BBTK_OUTPUT(ManualContourModel_Box,LstIndexsOut,"Lst number of points by segment",std::vector<int>,"");
94
95 BBTK_END_DESCRIBE_BLACK_BOX(ManualContourModel_Box);
96 //===== 
97 // 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)
98 //===== 
99 }
100 // EO namespace bbcreaMaracasVisu
101
102 #endif // __bbcreaMaracasVisuManualContourModel_Box_h_INCLUDED__
103
104
105
106
107