#ifndef __bbUtilitiesPolyDataToImageData_h_INCLUDED__ #define __bbUtilitiesPolyDataToImageData_h_INCLUDED__ #include "bbtkAtomicBlackBox.h" #include "iostream" #include "vtkPolyData.h" #include "vtkCell.h" #include "vtkImageData.h" #include "vtkCellArray.h" #include "vtkPointData.h" #include #include #include #include #include #include namespace bbUtilities { class /*BBTK_EXPORT*/ PolyDataToImageData : public bbtk::AtomicBlackBox { BBTK_BLACK_BOX_INTERFACE(PolyDataToImageData,bbtk::AtomicBlackBox); //================================================================== BBTK_DECLARE_INPUT(In,vtkPolyData*); BBTK_DECLARE_INPUT(Image,vtkImageData*); BBTK_DECLARE_OUTPUT(Out,vtkImageData*); BBTK_DECLARE_OUTPUT(Bounds,double*); BBTK_PROCESS(Process); void Process(); vtkImageData* createImageData(vtkPolyData* poly); vtkImageData* createImageData1(vtkPolyData* poly); vtkImageData* createImageData2(vtkPolyData* poly); vtkImageData* createImageData3(vtkPolyData* poly,vtkImageData* img); double* getCrossProduct(double* vect0,double* vect1); double getPointProduct(double* vect0,double* vect1); double* getNormal(double* vect); void colorPoint(int* point, vtkImageData* img, int grey); double* makeVector(double point0[3], double point1[3]); double minval(double x0, double x1); double maxval(double x0, double x1); bool isOnPlane(double* vect0, double* vect1); void roundPoint(double* point); double getDistance(double* point0, double* point1); double getAngleTheoCos(double a, double b, double c); bool pointInsideAngles(double* pointproy,std::vector points); bool pointInsideDistance(double* pointproy,double point0[3], double point1[3]); double getLambda(double* vectnorm, double* point, double d); double getMagnitud(double* vect); vtkImageData* getImageBorder(vtkImageData* img); vtkImageData* _img; }; BBTK_BEGIN_DESCRIBE_BLACK_BOX(PolyDataToImageData,bbtk::AtomicBlackBox); BBTK_NAME("PolyDataToImageData"); BBTK_AUTHOR("car-prie@uniandes.edu.co"); BBTK_DESCRIPTION("Converts the polydata into an imagedata"); BBTK_CATEGORY("__CATEGORY__"); BBTK_INPUT(PolyDataToImageData,In,"Poly data to be converted",vtkPolyData*,""); BBTK_INPUT(PolyDataToImageData,Image,"Image to be setted in the stencil",vtkImageData*,""); BBTK_OUTPUT(PolyDataToImageData,Out,"Image data of the polydata",vtkImageData*,""); BBTK_OUTPUT(PolyDataToImageData,Bounds,"Original Bounds of the polydata",double*,""); BBTK_END_DESCRIBE_BLACK_BOX(PolyDataToImageData); } // EO namespace bbUtilities #endif // __bbUtilitiesPolyDataToImageData_h_INCLUDED__