#ifndef __bbcreaMaracasVisuAxeVolume_h_INCLUDED__ #define __bbcreaMaracasVisuAxeVolume_h_INCLUDED__ #include "bbtkAtomicBlackBox.h" #include "iostream" #include "vtkImageData.h" namespace bbcreaMaracasVisu { class /*BBTK_EXPORT*/ AxeVolume : public bbtk::AtomicBlackBox { BBTK_BLACK_BOX_INTERFACE(AxeVolume,bbtk::AtomicBlackBox); //================================================================== /// User callback called in the box contructor virtual void bbUserConstructor(); /// User callback called in the box copy constructor virtual void bbUserCopyConstructor(bbtk::BlackBox::Pointer); /// User callback called in the box destructor virtual void bbUserDestructor(); //================================================================== BBTK_DECLARE_INPUT( In , vtkImageData * ); BBTK_DECLARE_INPUT( lstPointX , std::vector ); BBTK_DECLARE_INPUT( lstPointY , std::vector ); BBTK_DECLARE_INPUT( lstPointZ , std::vector ); BBTK_DECLARE_INPUT( lstPointR , std::vector ); BBTK_DECLARE_OUTPUT(Out,vtkImageData *); BBTK_PROCESS(Process); void Process(); private: vtkImageData *mimage; }; BBTK_BEGIN_DESCRIBE_BLACK_BOX(AxeVolume,bbtk::AtomicBlackBox); BBTK_NAME("AxeVolume"); BBTK_AUTHOR("eduardo.davila@hotmail.com"); BBTK_DESCRIPTION("Axe Volume"); BBTK_CATEGORY("__CATEGORY__"); BBTK_INPUT(AxeVolume,In,"Size image X",vtkImageData*,""); BBTK_INPUT(AxeVolume,lstPointX,"List of X values", std::vector ,""); BBTK_INPUT(AxeVolume,lstPointY,"List of Y values", std::vector ,""); BBTK_INPUT(AxeVolume,lstPointZ,"List of Z values", std::vector ,""); BBTK_INPUT(AxeVolume,lstPointR,"List of Radius", std::vector ,""); BBTK_OUTPUT(AxeVolume,Out,"Result image",vtkImageData*,""); BBTK_END_DESCRIBE_BLACK_BOX(AxeVolume); } // EO namespace bbcreaMaracasVisu #endif // __bbcreaMaracasVisuAxeVolume_h_INCLUDED__