X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=bbtk_creaVtk_PKG%2Fsrc%2FbbcreaVtkCreateMeshFromPoints.h;h=5d5ed25508c813bfbd71533b219cfec2237b781c;hb=480c35b0a2e635921565e4c08fb9f187188f78ff;hp=1c03523c25811bb9d552e907148e43c01adc5d72;hpb=27cd1709e7cd62aa62f02df8abecdd8bea1d8767;p=creaVtk.git diff --git a/bbtk_creaVtk_PKG/src/bbcreaVtkCreateMeshFromPoints.h b/bbtk_creaVtk_PKG/src/bbcreaVtkCreateMeshFromPoints.h index 1c03523..5d5ed25 100644 --- a/bbtk_creaVtk_PKG/src/bbcreaVtkCreateMeshFromPoints.h +++ b/bbtk_creaVtk_PKG/src/bbcreaVtkCreateMeshFromPoints.h @@ -8,7 +8,11 @@ #include "bbtkAtomicBlackBox.h" #include "iostream" +#include "vtkPoints.h" +#include "vtkCellArray.h" #include "vtkPolyData.h" +#include "vtkCleanPolyData.h" +#include "vtkTriangleFilter.h" namespace bbcreaVtk @@ -26,9 +30,24 @@ class bbcreaVtk_EXPORT CreateMeshFromPoints BBTK_DECLARE_INPUT(LstY,std::vector); BBTK_DECLARE_INPUT(LstZ,std::vector); BBTK_DECLARE_INPUT(LstIndexs,std::vector); + BBTK_DECLARE_INPUT(CloseSurface, bool); BBTK_DECLARE_OUTPUT(Out,vtkPolyData*); BBTK_PROCESS(Process); void Process(); + + vtkPoints *points; + vtkCellArray *cells; + vtkPolyData *polydata; + vtkCleanPolyData *clean; + vtkTriangleFilter *triangle; + + bool CalcValidCentroid(double(¢roid)[3], int start, int end, int increment, int numPoints); + bool CheckLinePointOrder(); + bool isPointingCorrectly( int firstPointId, int secPointId, double(¢roid)[3], int contrPointId); + void CloseContourBottom(bool uPointOrder); + void CloseContourSides(std::vector lstIndexs, bool uPointOrder); + void CloseOpenContourSurface(std::vector lstIndexs); + //===== // 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) //===== @@ -44,6 +63,7 @@ BBTK_BEGIN_DESCRIBE_BLACK_BOX(CreateMeshFromPoints,bbtk::AtomicBlackBox); BBTK_INPUT(CreateMeshFromPoints,LstY,"List Y point",std::vector,""); BBTK_INPUT(CreateMeshFromPoints,LstZ,"List Z point",std::vector,""); BBTK_INPUT(CreateMeshFromPoints,LstIndexs,"Number of points by segment",std::vector,""); + BBTK_INPUT(CreateMeshFromPoints,CloseSurface,"(default false) Add the caps to close the surface",bool,""); BBTK_OUTPUT(CreateMeshFromPoints,Out,"vtkPolyData",vtkPolyData*,"");