]> Creatis software - creaVtk.git/blobdiff - bbtk_creaVtk_PKG/src/bbcreaVtkCreateMeshFromPoints.h
#3501 new box GlyphPolyDataNormals (Pablo)
[creaVtk.git] / bbtk_creaVtk_PKG / src / bbcreaVtkCreateMeshFromPoints.h
index b103d3e3a1c8b79b478f8d4206a606fca524b1e0..f67c312e61cd365e1610672f5e63d8055604a1d9 100644 (file)
@@ -31,6 +31,7 @@ class bbcreaVtk_EXPORT CreateMeshFromPoints
   BBTK_DECLARE_INPUT(LstZ,std::vector<double>);
   BBTK_DECLARE_INPUT(LstIndexs,std::vector<int>);
   BBTK_DECLARE_INPUT(OpenClose, bool);
+  BBTK_DECLARE_INPUT(CloseSurface, bool);
   BBTK_DECLARE_OUTPUT(Out,vtkPolyData*);
   BBTK_PROCESS(Process);
   void Process();
@@ -41,7 +42,9 @@ class bbcreaVtk_EXPORT CreateMeshFromPoints
        vtkCleanPolyData        *clean;
        vtkTriangleFilter       *triangle;
        
-       void CalcCentroid(double(&centroid)[3], int start, int end, int increment, int numPoints);
+       bool CalcValidCentroid(double(&centroid)[3], int start, int end, int increment, int numPoints);
+       bool CheckLinePointOrder();
+       bool isPointingCorrectly( int firstPointId, int secPointId, double(&centroid)[3], int contrPointId);
        void CloseContourBottom(bool uPointOrder);
        void CloseContourSides(std::vector<int> lstIndexs, bool uPointOrder);
        void CloseOpenContourSurface(std::vector<int> lstIndexs);
@@ -62,6 +65,7 @@ BBTK_BEGIN_DESCRIBE_BLACK_BOX(CreateMeshFromPoints,bbtk::AtomicBlackBox);
   BBTK_INPUT(CreateMeshFromPoints,LstZ,"List Z point",std::vector<double>,"");
   BBTK_INPUT(CreateMeshFromPoints,LstIndexs,"Number of points by segment",std::vector<int>,"");
   BBTK_INPUT(CreateMeshFromPoints,OpenClose,"(default false) Type of Contour: false=Open, true=Close",bool,"");
+  BBTK_INPUT(CreateMeshFromPoints,CloseSurface,"(default false) Add the caps to close the surface",bool,"");
 
   BBTK_OUTPUT(CreateMeshFromPoints,Out,"vtkPolyData",vtkPolyData*,"");