]> Creatis software - creaMaracasVisu.git/blobdiff - bbtk/src/bbcreaMaracasVisuManualContourModel_Box.h
#3463 box ManualContourModel optimisation of SIN() distribution by contour
[creaMaracasVisu.git] / bbtk / src / bbcreaMaracasVisuManualContourModel_Box.h
index b85478e6261e6f4856c775ce1c9460b8e02ce97f..1f25bd912d57f0c5fbaf042b22030d56e64c30cd 100644 (file)
@@ -18,6 +18,7 @@ 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(Active,bool);
   BBTK_DECLARE_INPUT(Type,int);
   BBTK_DECLARE_INPUT(DoubleContour,int);
   BBTK_DECLARE_INPUT(OpenClose,bool);
@@ -34,6 +35,9 @@ class bbcreaMaracasVisu_EXPORT ManualContourModel_Box
   BBTK_DECLARE_OUTPUT(LstContourPointsY,std::vector<double>);
   BBTK_DECLARE_OUTPUT(LstContourPointsZ,std::vector<double>);
   BBTK_DECLARE_OUTPUT(LstIndexsOut,std::vector<int>);
+  BBTK_DECLARE_OUTPUT(LstPssblIncnsnstntCntrY,std::vector<double>);
+  BBTK_DECLARE_OUTPUT(LstPssblIncnsnstntCntrID,std::vector<int>);
+
   BBTK_PROCESS(Process);
   void Process();
 
@@ -78,6 +82,16 @@ void RedistributionPointsAllContours_SIN(    std::vector<double> *lstOutX,
                                                                                        std::vector<double> *lstOutZ, 
                                                                                        std::vector<int> *lstIndexsOut );
 
+void findAlphaBetaSinDistribution(     std::vector<double> *lstTmp2X,
+                                                                                                                       std::vector<double> *lstTmp2Y,
+                                                                                                                       std::vector<double> *lstTmp2Z ,
+                                                                                                                       int sizeContour,
+                                                                                                                       std::vector<double> *lstTmp1X,
+                                                                                                                       std::vector<double> *lstTmp1Y,
+                                                                                                                       std::vector<double> *lstTmp1Z,  
+                                                                                                                       double *alpha,
+                                                                                                                       double *beta); 
+
 void Redistribution_SIN(       double alpha,
                                                        double beta,
                                                        std::vector<double> *lstC1X,
@@ -92,6 +106,13 @@ double SizeContour( std::vector<double> *lstX,
                                        std::vector<double> *lstY, 
                                        std::vector<double> *lstZ );
 
+void CalculeLstSizeContours(   std::vector<double> *lstOutX,
+                                                               std::vector<double> *lstOutY,
+                                                               std::vector<double> *lstOutZ,
+                                                               std::vector<int>        *lstIndexsOut,
+                                                               std::vector<double>     *lstSizeContours        );
+
+
 void ExtractContour(std::vector<double> *lstX,
                                        std::vector<double> *lstY, 
                                        std::vector<double> *lstZ,
@@ -123,19 +144,9 @@ void CopyContour2InContour1(       std::vector<double> *lstInX,
                                                                std::vector<double> *lstOutX,
                                                                std::vector<double> *lstOutY, 
                                                                std::vector<double> *lstOutZ );
-                                                                       
-void Mixing2DistributionVectors(       std::vector<double> *lstAX,
-                                                                       std::vector<double> *lstAY, 
-                                                                       std::vector<double> *lstAZ,
-                                                                       std::vector<double> *lstBX,
-                                                                       std::vector<double> *lstBY, 
-                                                                       std::vector<double> *lstBZ,
-                                                                       std::vector<double> *lstOutX,
-                                                                       std::vector<double> *lstOutY, 
-                                                                       std::vector<double> *lstOutZ);
-
-
 
+std::vector<double> lstInconsistentContourY;
+std::vector<int>       lstInconsistentContourID;
 
 //===== 
 // 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)
@@ -148,6 +159,7 @@ BBTK_BEGIN_DESCRIBE_BLACK_BOX(ManualContourModel_Box,bbtk::AtomicBlackBox);
   BBTK_DESCRIPTION("No Description.");
   BBTK_CATEGORY("empty");
 
+  BBTK_INPUT(ManualContourModel_Box,Active,"(true default) Active true/false",bool,"");
   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,"");
@@ -162,6 +174,10 @@ BBTK_BEGIN_DESCRIBE_BLACK_BOX(ManualContourModel_Box,bbtk::AtomicBlackBox);
   BBTK_OUTPUT(ManualContourModel_Box,LstContourPointsY,"List of points in the contour",std::vector<double>,"");
   BBTK_OUTPUT(ManualContourModel_Box,LstContourPointsZ,"List of points in the contour",std::vector<double>,"");
   BBTK_OUTPUT(ManualContourModel_Box,LstIndexsOut,"Lst number of points by segment",std::vector<int>,"");
+  BBTK_OUTPUT(ManualContourModel_Box,LstPssblIncnsnstntCntrY,"Lst of possible Inconsinstent Contour Y, little contour between two big contour, Difficult for the SIN distribution (DoubleContour 1)",std::vector<double>,"");
+  BBTK_OUTPUT(ManualContourModel_Box,LstPssblIncnsnstntCntrID,"Lst of possible Inconsinstent Contour ID, little contour between two big contour, Difficult for the SIN distribution (DoubleContour 1)",std::vector<int>,"");
+
+
 
 BBTK_END_DESCRIBE_BLACK_BOX(ManualContourModel_Box);
 //=====