X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=bbtk%2Fsrc%2FbbmaracasvisuShowNPoints.h;fp=bbtk%2Fsrc%2FbbmaracasvisuShowNPoints.h;h=46ff3ec2424b6be3a5742cd281ed47155804a875;hb=b6280d5b96447f5e4db026549d346e0d099a86f6;hp=df37ddb87ffbffe476e4d402f5ec57325ccfae9b;hpb=307866a8f06b14018ea832926bdf3d887bfffea8;p=creaMaracasVisu.git diff --git a/bbtk/src/bbmaracasvisuShowNPoints.h b/bbtk/src/bbmaracasvisuShowNPoints.h index df37ddb..46ff3ec 100644 --- a/bbtk/src/bbmaracasvisuShowNPoints.h +++ b/bbtk/src/bbmaracasvisuShowNPoints.h @@ -27,123 +27,37 @@ #ifndef __bbcreaMaracasVisuShowNPoints_h_INCLUDED__ #define __bbcreaMaracasVisuShowNPoints_h_INCLUDED__ #include "bbtkWxBlackBox.h" -#include -#include "vtkActor.h" -#include "vtkSphereSource.h" + #include "vtkImageData.h" -#include "vtkRenderer.h" -#include "vtkTextActor3D.h" + +#include "WidgetShowNPoints.h" namespace bbcreaMaracasVisu { - class ModelShowNPoints - { - public: - ModelShowNPoints(); - ~ModelShowNPoints(); - std::vector GetLstPointsX(); - std::vector GetLstPointsY(); - std::vector GetLstPointsZ(); - void GetIdPoint(int id, int *x, int *y, int *z); - std::string GetIdLabel(int id); - std::vector GetLstLabels(); - void AddPoint(int x, int y, int z, std::string label); - double Distance(double dX0, double dY0, double dZ0, double dX1, double dY1, double dZ1); - int InsertPoint(int x, int y, int z, std::string label); - void SavePoints(std::string filename); - int ReadPoints(std::string filename); - int GetNearestPoint(); - - int GetLstPointsSize(); - void SetPointId_mReferencePoint(int id); - int IdInsidePoint(); - - void SetReferencePoint(std::vector ppoint); - std::vector GetReferencePoint(); - void SetImage(vtkImageData *image); - std::string CleanSpaces(std::string ss); - vtkImageData* GetImage(); - void SetRadio(double radio); - double GetRadio(); - int RenamePoint(std::string label); - void ErasePoint(int id); - - private: - std::vector lstPointsX; - std::vector lstPointsY; - std::vector lstPointsZ; - std::vector lstLabels; - std::vector mReferencePoint; - double mradio; - vtkImageData *mimage; - - }; - - - class ShowNPoints; - - //-------------------------------------------------------------------------- - class WidgetShowNPoints : public wxPanel - { - public: - WidgetShowNPoints( wxWindow *parent, ShowNPoints *box); - ~WidgetShowNPoints(); - void OnAddPoint(wxCommandEvent &event); - void OnInsertPoint (wxCommandEvent& event);//CFT - void OnSetPoint(wxCommandEvent& event); - void OnRenamePoint(wxCommandEvent& event); - void OnErasePoint(wxCommandEvent& event); - void OnEraseLastPoint(wxCommandEvent &event); - void OnDeleteAllPoints(wxCommandEvent &event); - void OnSavePoints(wxCommandEvent &event); - void OnLoadPoints(wxCommandEvent &event); - void UpdatePoints(wxCommandEvent &event); - - void RefreshPoint(int id); - - void SetColour(std::vector colour); - void SetOpacity(double opacity); - void SetRadio(double radio); - void SetImage(vtkImageData *image); - void SetRenderer(vtkRenderer *renderer); - void SetReferencePoint(std::vector point); - - void AddPoint(int x, int y, int z, std::string label); - void InsertPoint(int x, int y, int z, std::string label);//CFT - - ModelShowNPoints* GetModelShowNPoints(); - void RefreshPoints(); - void AddVtkPoint(); - void SetInitLstPoints( std::vector initLstPointsX, std::vector initLstPointsY, std::vector initLstPointsZ, std::vector initLstLabels ); - - - private: - void ErasePoint(int id); - void SetOutputBox(); - - ShowNPoints *mbbShowNPoints; - vtkRenderer *renderer; - - std::vector lstActorsSphere;//NTU changed from prop3D to Actor - std::vector lstActorsText; - - //NTU: For updating points - - std::vector lstSourceSphere; - - std::vector mcolour; - double mopacity; - wxStaticText *askPointLabel; - wxTextCtrl *textCtrl; - wxStaticText *txtNrPoints; - wxSlider *sdrOpacity; - wxSlider *sdrRadio; - - ModelShowNPoints *mmodelShowNPoints; - - }; + +//-------------------------------------------------------------------------- +//-------------------------------------------------------------------------- +//-------------------------------------------------------------------------- +//-------------------------------------------------------------------------- +//-------------------------------------------------------------------------- + +class ShowNPoints; + +class WidgetShowNPointsBox : public WidgetShowNPoints +{ +public: + WidgetShowNPointsBox( wxWindow *parent, ShowNPoints *box, int type); + ~WidgetShowNPointsBox(); + void UpdatePoints(wxCommandEvent &event); +private: + void SetOutputBox(); + ShowNPoints *mbbShowNPoints; +}; + + + class /*BBTK_EXPORT*/ ShowNPoints : @@ -166,14 +80,14 @@ class /*BBTK_EXPORT*/ ShowNPoints BBTK_DECLARE_OUTPUT( lstPointsY, std::vector ); BBTK_DECLARE_OUTPUT( lstPointsZ, std::vector ); BBTK_DECLARE_OUTPUT( lstLabels, std::vector ); + BBTK_DECLARE_OUTPUT( WidgetShowNPoints, WidgetShowNPoints*); BBTK_PROCESS(Process); void Process(); BBTK_CREATE_WIDGET(CreateWidget); void CreateWidget(wxWindow*); private: - WidgetShowNPoints *mwxwidget; - bool firsttime; + WidgetShowNPointsBox *mwxwidget; }; BBTK_BEGIN_DESCRIBE_BLACK_BOX(ShowNPoints,bbtk::WxBlackBox); @@ -198,6 +112,7 @@ BBTK_BEGIN_DESCRIBE_BLACK_BOX(ShowNPoints,bbtk::WxBlackBox); BBTK_OUTPUT(ShowNPoints , lstPointsY , " list of points Y ", std::vector ,""); BBTK_OUTPUT(ShowNPoints , lstPointsZ , " list of points Z ", std::vector ,""); BBTK_OUTPUT(ShowNPoints , lstLabels , " list of labels ", std::vector ,""); + BBTK_OUTPUT(ShowNPoints , WidgetShowNPoints , " WidgetShowNPoints ", WidgetShowNPoints* ,""); BBTK_END_DESCRIBE_BLACK_BOX(ShowNPoints); }