X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=bbtk%2Fsrc%2FbbmaracasvisuShowNPoints.h;h=5879aed318617f9c7d64f80c02d0bddc2c859a11;hb=d11e82b42e54783ba1d461c2f1aa8785c5a33f14;hp=a203d1f9d03353c46ab7362c13ab1dd95351ecec;hpb=3f50fcd2bb43091e837ac26a9c175674a3fd32ee;p=creaMaracasVisu.git diff --git a/bbtk/src/bbmaracasvisuShowNPoints.h b/bbtk/src/bbmaracasvisuShowNPoints.h index a203d1f..5879aed 100644 --- a/bbtk/src/bbmaracasvisuShowNPoints.h +++ b/bbtk/src/bbmaracasvisuShowNPoints.h @@ -1,10 +1,36 @@ +/*# --------------------------------------------------------------------- +# +# Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image +# pour la Sant�) +# Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton +# Previous Authors : Laurent Guigues, Jean-Pierre Roux +# CreaTools website : www.creatis.insa-lyon.fr/site/fr/creatools_accueil +# +# This software is governed by the CeCILL-B license under French law and +# abiding by the rules of distribution of free software. You can use, +# modify and/ or redistribute the software under the terms of the CeCILL-B +# license as circulated by CEA, CNRS and INRIA at the following URL +# http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html +# or in the file LICENSE.txt. +# +# As a counterpart to the access to the source code and rights to copy, +# modify and redistribute granted by the license, users are provided only +# with a limited warranty and the software's author, the holder of the +# economic rights, and the successive licensors have only limited +# liability. +# +# The fact that you are presently reading this means that you have had +# knowledge of the CeCILL-B license and that you accept its terms. +# ------------------------------------------------------------------------ */ + #ifdef _USE_WXWIDGETS_ #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" @@ -21,12 +47,17 @@ namespace bbcreaMaracasVisu 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 OnLoadPoints(wxCommandEvent &event); + void UpdatePoints(wxCommandEvent &event); + + void RefreshPoint(int id); void SetPoint(std::vector ppoint); void SetColour(std::vector colour); @@ -39,32 +70,43 @@ namespace bbcreaMaracasVisu std::vector GetLstPointsZ(); std::vector GetLstLabels(); + void AddPoint(int x, int y, int z, std::string label); + void InsertPoint(int x, int y, int z, std::string label);//CFT + double Distance(double dX0, double dY0, double dZ0, double dX1, double dY1, double dZ1);//CFT + private: - - std::string CleanSpaces(std::string ss); - int GetNearestPoint(); - void ErasePoint(int id); - void SetOutputBox(); - - ShowNPoints *mbbShowNPoints; - vtkRenderer *renderer; - std::vector lstPointsX; - std::vector lstPointsY; - std::vector lstPointsZ; - std::vector lstLabels; - std::vector lstActorsSphere; - std::vector lstActorsText; - - std::vector mpoint; - vtkImageData *mimage; - std::vector mcolour; - double mopacity; - double mradio; - wxTextCtrl *textCtrl; - wxStaticText *txtNrPoints; - }; + std::string CleanSpaces(std::string ss); + int GetNearestPoint(); + int IdInsidePoint(); + void ErasePoint(int id); + void SetOutputBox(); + ShowNPoints *mbbShowNPoints; + vtkRenderer *renderer; + std::vector lstPointsX; + std::vector lstPointsY; + std::vector lstPointsZ; + std::vector lstLabels; + std::vector lstActorsSphere;//NTU changed from prop3D to Actor + std::vector lstActorsText; + + //NTU: For updating points + + std::vector lstSourceSphere; + + std::vector mpoint; + vtkImageData *mimage; + std::vector mcolour; + double mopacity; + double mradio; + wxStaticText *askPointLabel; + wxTextCtrl *textCtrl; + wxStaticText *txtNrPoints; + wxSlider *sdrOpacity; + wxSlider *sdrRadio; + + }; class /*BBTK_EXPORT*/ ShowNPoints : @@ -77,6 +119,7 @@ class /*BBTK_EXPORT*/ ShowNPoints BBTK_DECLARE_INPUT(Colour, std::vector ); BBTK_DECLARE_INPUT(Opacity, double ); BBTK_DECLARE_INPUT(Radio, double ); + BBTK_DECLARE_INPUT(Type, int ); BBTK_DECLARE_OUTPUT( lstPointsX, std::vector ); BBTK_DECLARE_OUTPUT( lstPointsY, std::vector ); BBTK_DECLARE_OUTPUT( lstPointsZ, std::vector ); @@ -88,7 +131,6 @@ class /*BBTK_EXPORT*/ ShowNPoints private: WidgetShowNPoints *mwxwidget; - }; BBTK_BEGIN_DESCRIBE_BLACK_BOX(ShowNPoints,bbtk::WxBlackBox); @@ -100,8 +142,9 @@ BBTK_BEGIN_DESCRIBE_BLACK_BOX(ShowNPoints,bbtk::WxBlackBox); 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_INPUT(ShowNPoints,Opacity,"Opacity of the actor 0..1 (default 1)",double,""); + BBTK_INPUT(ShowNPoints,Radio,"Radio of the spheres 1..50 (default 10)",double,""); + BBTK_INPUT(ShowNPoints,Type,"Type of the widget. 0(default): N-points, 1:Just one point",int,""); 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 ,""); @@ -112,4 +155,3 @@ BBTK_END_DESCRIBE_BLACK_BOX(ShowNPoints); #endif // __bbcreaMaracasVisuShowNPoints_h_INCLUDED__ #endif // _USE_WXWIDGETS_ -