X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=bbtk_creaVtk_PKG%2Fsrc%2FbbcreaVtkCreateMeshFromPoints.h;h=f67c312e61cd365e1610672f5e63d8055604a1d9;hb=14c778f3e67bad3258fc976eaa66ab8953bdb78e;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..f67c312 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,25 @@ 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(OpenClose, bool); + 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 +64,8 @@ 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,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*,"");