]> Creatis software - creaMaracasVisu.git/blob - bbtk/src/bbcreaMaracasVisuManualContourModel_Box.h
#3266 creaMaracasVisu Feature New Normal - ManualContour_Box by segments
[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 ShiftValues(       std::vector<double> *lstInX,
43                                         std::vector<double> *lstInY, 
44                                         std::vector<double> *lstOuZ,
45                                         std::vector<int> *lstIndexsIn );
46
47
48   void ProcessBySegment(        
49                         int Type, 
50                         int &iGeneral, int sizeSegment,
51                         std::vector<double> *lstInX,std::vector<double> *lstInY, std::vector<double> *lstInZ,
52                         std::vector<double> *lstOutX,std::vector<double> *lstOutY, std::vector<double> *lstOutZ,
53                         std::vector<int>        *lstIndexsOut,
54                         bool open );
55
56 void RedistributionPoints(      std::vector<double> *lstOutX,
57                                                         std::vector<double> *lstOutY, 
58                                                         std::vector<double> *lstOutZ, 
59                                                         std::vector<int> *lstIndexsOut );
60
61
62
63 //===== 
64 // 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)
65 //===== 
66 };
67
68 BBTK_BEGIN_DESCRIBE_BLACK_BOX(ManualContourModel_Box,bbtk::AtomicBlackBox);
69   BBTK_NAME("ManualContourModel_Box");
70   BBTK_AUTHOR("InfoDev");
71   BBTK_DESCRIPTION("No Description.");
72   BBTK_CATEGORY("empty");
73
74   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,"");
75   BBTK_INPUT(ManualContourModel_Box,DoubleContour,"(0 default) 0=Simple, 1=Double (This is used to construct surface, use LstIndexesIn)",int,"");
76   BBTK_INPUT(ManualContourModel_Box,OpenClose,"(false default) false=open, true=close",bool,"");
77   BBTK_INPUT(ManualContourModel_Box,OpenClose2,"(false default) false=open, true=close.  Used with the DoubleContour option.",bool,"");
78   BBTK_INPUT(ManualContourModel_Box,NbPoints,"(100 default) Number of points int the spline",int,"");
79   BBTK_INPUT(ManualContourModel_Box,LstIndexsIn,"Lst number of points by segment",std::vector<int>,"");
80
81   BBTK_INPUT(ManualContourModel_Box,LstControlPointsX,"List of control points",std::vector<double>,"");
82   BBTK_INPUT(ManualContourModel_Box,LstControlPointsY,"List of control points",std::vector<double>,"");
83   BBTK_INPUT(ManualContourModel_Box,LstControlPointsZ,"List of control points",std::vector<double>,"");
84
85   BBTK_OUTPUT(ManualContourModel_Box,LstContourPointsX,"List of points in the contour",std::vector<double>,"");
86   BBTK_OUTPUT(ManualContourModel_Box,LstContourPointsY,"List of points in the contour",std::vector<double>,"");
87   BBTK_OUTPUT(ManualContourModel_Box,LstContourPointsZ,"List of points in the contour",std::vector<double>,"");
88   BBTK_OUTPUT(ManualContourModel_Box,LstIndexsOut,"Lst number of points by segment",std::vector<int>,"");
89
90 BBTK_END_DESCRIBE_BLACK_BOX(ManualContourModel_Box);
91 //===== 
92 // 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)
93 //===== 
94 }
95 // EO namespace bbcreaMaracasVisu
96
97 #endif // __bbcreaMaracasVisuManualContourModel_Box_h_INCLUDED__
98
99
100
101
102