]> Creatis software - creaMaracasVisu.git/blobdiff - bbtk/src/bbcreaMaracasVisuManualContourModel_Box.h
Bug Modified pipeline
[creaMaracasVisu.git] / bbtk / src / bbcreaMaracasVisuManualContourModel_Box.h
index 2f79cc1eb6e484626f23521a1722fd3f4e19de1a..760f2b0c89f842d61cb3a0e63891e51254a6fb56 100644 (file)
@@ -19,7 +19,9 @@ class bbcreaMaracasVisu_EXPORT ManualContourModel_Box
 // 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)
 //===== 
   BBTK_DECLARE_INPUT(Type,int);
+  BBTK_DECLARE_INPUT(DoubleContour,int);
   BBTK_DECLARE_INPUT(OpenClose,bool);
+  BBTK_DECLARE_INPUT(OpenClose2,bool);
   BBTK_DECLARE_INPUT(NbPoints,int);
 
   BBTK_DECLARE_INPUT(LstIndexsIn,std::vector<int>);
@@ -28,6 +30,7 @@ class bbcreaMaracasVisu_EXPORT ManualContourModel_Box
   BBTK_DECLARE_INPUT(LstControlPointsY,std::vector<double>);
   BBTK_DECLARE_INPUT(LstControlPointsZ,std::vector<double>);
 
+
   BBTK_DECLARE_OUTPUT(LstContourPointsX,std::vector<double>);
   BBTK_DECLARE_OUTPUT(LstContourPointsY,std::vector<double>);
   BBTK_DECLARE_OUTPUT(LstContourPointsZ,std::vector<double>);
@@ -36,12 +39,30 @@ class bbcreaMaracasVisu_EXPORT ManualContourModel_Box
   void Process();
 
 
+void ClockwisePoints(  std::vector<double> *lstInX,
+                                       std::vector<double> *lstInY, 
+                                       std::vector<double> *lstOuZ,
+                                       std::vector<int> *lstIndexsIn );
+
+void ShiftValues(      std::vector<double> *lstInX,
+                                       std::vector<double> *lstInY, 
+                                       std::vector<double> *lstOuZ,
+                                       std::vector<int> *lstIndexsIn );
+
+
   void ProcessBySegment(       
                        int Type, 
                        int &iGeneral, int sizeSegment,
                        std::vector<double> *lstInX,std::vector<double> *lstInY, std::vector<double> *lstInZ,
                        std::vector<double> *lstOutX,std::vector<double> *lstOutY, std::vector<double> *lstOutZ,
-                       std::vector<int>        *lstIndexsOut );
+                       std::vector<int>        *lstIndexsOut,
+                       bool open );
+
+void RedistributionPoints(     std::vector<double> *lstOutX,
+                                                       std::vector<double> *lstOutY, 
+                                                       std::vector<double> *lstOutZ, 
+                                                       std::vector<int> *lstIndexsOut );
+
 
 
 //===== 
@@ -56,7 +77,9 @@ BBTK_BEGIN_DESCRIBE_BLACK_BOX(ManualContourModel_Box,bbtk::AtomicBlackBox);
   BBTK_CATEGORY("empty");
 
   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,"");
+  BBTK_INPUT(ManualContourModel_Box,DoubleContour,"(0 default) 0=Simple, 1=Double (This is used to construct surface, use LstIndexesIn)",int,"");
   BBTK_INPUT(ManualContourModel_Box,OpenClose,"(false default) false=open, true=close",bool,"");
+  BBTK_INPUT(ManualContourModel_Box,OpenClose2,"(false default) false=open, true=close.  Used with the DoubleContour option.",bool,"");
   BBTK_INPUT(ManualContourModel_Box,NbPoints,"(100 default) Number of points int the spline",int,"");
   BBTK_INPUT(ManualContourModel_Box,LstIndexsIn,"Lst number of points by segment",std::vector<int>,"");