--- /dev/null
+
+
+#ifndef __WidgetShowNPoints_h_INCLUDED__
+#define __WidgetShowNPoints_h_INCLUDED__
+
+
+
+
+#include "ModelShowNPoints.h"
+
+#include <wx/panel.h>
+#include <wx/textctrl.h>
+#include <wx/slider.h>
+#include <wx/stattext.h>
+#include <vtkRenderer.h>
+#include <vtkTextActor3D.h>
+#include <vtkSphereSource.h>
+
+
+class WidgetShowNPoints : public wxPanel
+{
+ public:
+ WidgetShowNPoints( wxWindow *parent , int type );
+ ~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);
+
+ virtual void UpdatePoints(wxCommandEvent &event);
+
+ void RefreshPoint(int id);
+
+ void SetColour(std::vector<double> colour);
+ void SetOpacity(double opacity);
+ void SetRadio(double radio);
+ void SetImage(vtkImageData *image);
+ void SetRenderer(vtkRenderer *renderer);
+ void SetReferencePoint(std::vector<int> point);
+
+ void AddPoint(int x, int y, int z, std::string label);
+ void InsertPoint(int x, int y, int z, std::string label);//CFT
+ void DeleteAllPoints();
+
+ ModelShowNPoints* GetModelShowNPoints();
+ void RefreshPoints();
+ void AddVtkPoint();
+ void SetInitLstPoints( std::vector<int> initLstPointsX, std::vector<int> initLstPointsY, std::vector<int> initLstPointsZ, std::vector<std::string> initLstLabels );
+
+ void SetType(int type);
+ int GetType();
+
+ double GetRadio();
+ double GetOpacity();
+
+ protected:
+ virtual void SetOutputBox();
+
+ private:
+ void ErasePoint(int id);
+ vtkRenderer *renderer;
+ std::vector<vtkActor*> lstActorsSphere;//NTU changed from prop3D to Actor
+ std::vector<vtkTextActor3D*> lstActorsText;
+ //NTU: For updating points
+ std::vector<vtkSphereSource*> lstSourceSphere;
+ std::vector<double> mcolour;
+ wxStaticText *askPointLabel;
+ wxTextCtrl *textCtrl;
+ wxStaticText *txtNrPoints;
+ wxSlider *sdrOpacity;
+ wxSlider *sdrRadio;
+ ModelShowNPoints *mmodelShowNPoints;
+ int mtype;
+ double mopacity;
+};
+
+
+
+
+
+
+#endif // __WidgetShowNPoints_h_INCLUDED__
+