#ifdef _USE_WXWIDGETS_ #ifndef __bbcreaMaracasVisuShowNPoints_h_INCLUDED__ #define __bbcreaMaracasVisuShowNPoints_h_INCLUDED__ #include "bbtkWxBlackBox.h" #include "vtkActor.h" #include "vtkImageData.h" #include "vtkRenderer.h" namespace bbcreaMaracasVisu { class ShowNPoints; //-------------------------------------------------------------------------- class WidgetShowNPoints : public wxPanel { public: WidgetShowNPoints( wxWindow *parent, ShowNPoints *box); ~WidgetShowNPoints(); void OnAddPoint(wxCommandEvent &event); void ErasePoint(int id); void OnErasePoint(wxCommandEvent& event); void OnEraseLastPoint(wxCommandEvent &event); void OnDeleteAllPoints(wxCommandEvent &event); void SetPoint(std::vector ppoint); void SetColour(std::vector colour); void SetOpacity(double opacity); void SetRadio(double radio); void SetImage(vtkImageData *image); void SetRenderer(vtkRenderer *renderer); std::vector GetLstPointsX(); std::vector GetLstPointsY(); std::vector GetLstPointsZ(); private: ShowNPoints *mbbShowNPoints; vtkRenderer *renderer; std::vector lstPointsX; std::vector lstPointsY; std::vector lstPointsZ; std::vector lstActorsSphere; std::vector lstActorsText; std::vector mpoint; vtkImageData *mimage; std::vector mcolour; double mopacity; double mradio; wxTextCtrl *textCtrl; }; class /*BBTK_EXPORT*/ ShowNPoints : public bbtk::WxBlackBox { BBTK_BLACK_BOX_INTERFACE(ShowNPoints,bbtk::WxBlackBox); BBTK_DECLARE_INPUT(In, std::vector ); BBTK_DECLARE_INPUT(Renderer, vtkRenderer* ); BBTK_DECLARE_INPUT(Image, vtkImageData* ); BBTK_DECLARE_INPUT(Colour, std::vector ); BBTK_DECLARE_INPUT(Opacity, double ); BBTK_DECLARE_INPUT(Radio, double ); BBTK_DECLARE_OUTPUT( lstPointsX, std::vector ); BBTK_DECLARE_OUTPUT( lstPointsY, std::vector ); BBTK_DECLARE_OUTPUT( lstPointsZ, std::vector ); BBTK_PROCESS(Process); void Process(); BBTK_CREATE_WIDGET(CreateWidget); void CreateWidget(wxWindow*); private: WidgetShowNPoints *mwxwidget; }; BBTK_BEGIN_DESCRIBE_BLACK_BOX(ShowNPoints,bbtk::WxBlackBox); BBTK_NAME("ShowNPoints"); BBTK_AUTHOR("Eduardo DAVILA"); BBTK_DESCRIPTION("widget that shows N moints in 3D (vtkActors)"); BBTK_CATEGORY("widgetVtk"); BBTK_INPUT(ShowNPoints,In,"One Point",std::vector,""); BBTK_INPUT(ShowNPoints,Renderer,"Renderer",vtkRenderer*,""); BBTK_INPUT(ShowNPoints,Image,"vktkImageData",vtkImageData*,""); BBTK_INPUT(ShowNPoints,Colour,"Colour of the actor",std::vector,"colour"); BBTK_INPUT(ShowNPoints,Opacity,"Opacity of the actor",double,""); BBTK_INPUT(ShowNPoints,Radio,"Radio of the spheres",double,""); BBTK_OUTPUT(ShowNPoints , lstPointsX , " list of points X ", std::vector ,""); BBTK_OUTPUT(ShowNPoints , lstPointsY , " list of points Y ", std::vector ,""); BBTK_OUTPUT(ShowNPoints , lstPointsZ , " list of points Z ", std::vector ,""); BBTK_END_DESCRIBE_BLACK_BOX(ShowNPoints); } // EO namespace bbcreaMaracasVisu #endif // __bbcreaMaracasVisuShowNPoints_h_INCLUDED__ #endif // _USE_WXWIDGETS_