X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2FInterface_ManagerContour_NDimensions%2FwxContourViewPanel.h;h=59011577de3225012eadad1e7c8e0558595fffd3;hb=9c3e9dac7175adc08659330ec8b10233b467bd2d;hp=5c63d1b5c5bc4e2e1431b2090d88bc74d465dcf8;hpb=192dfdf774a06066eff90e9c50916723c8592706;p=creaContours.git diff --git a/lib/Interface_ManagerContour_NDimensions/wxContourViewPanel.h b/lib/Interface_ManagerContour_NDimensions/wxContourViewPanel.h index 5c63d1b..5901157 100644 --- a/lib/Interface_ManagerContour_NDimensions/wxContourViewPanel.h +++ b/lib/Interface_ManagerContour_NDimensions/wxContourViewPanel.h @@ -1,5 +1,30 @@ -#ifndef __wxContourViewPanel_h_INCLUDED_H__ -#define __wxContourViewPanel_h_INCLUDED_H__ +/*# --------------------------------------------------------------------- +# +# 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. +# ------------------------------------------------------------------------ */ + +#ifndef __wxContourViewPaneL_h_INCLUDED_H__ +#define __wxContourViewPaneL_h_INCLUDED_H__ // ----------------------------------------------------------------------------------------------------------- @@ -24,10 +49,15 @@ #include "mBarRange.h" #include "wxMaracas_N_ViewersWidget.h" #include "vtkImageData.h" -#include #include "wxVtkBaseView.h" #include #include +#include "wxVtkBaseView_SceneManager.h" +#include "manualContourModel.h" + +#include + + //------------------------------------------------------------------------------------------------------------ // Events declaration //------------------------------------------------------------------------------------------------------------ @@ -37,40 +67,32 @@ BEGIN_DECLARE_EVENT_TYPES() END_DECLARE_EVENT_TYPES() -/** file wxContourViewPanel.h */ +/** file wx + +ViewPanel.h */ //------------------------------------------------------------------------------------------------------------ // Class definition //------------------------------------------------------------------------------------------------------------ -class wxContourViewPanel : public wxPanel {// public wxScrolledWindow { - +class wxContourViewPanel : public wxPanel +{ public: - //------------------------------------------------------------------------------------------------------------ // Constructors & Destructors //------------------------------------------------------------------------------------------------------------ - wxContourViewPanel( vtkImageData * theShowingImage, wxWindow *parent, const wxPoint& pos=wxDefaultPosition, const wxSize& size = wxDefaultSize,long style= wxDEFAULT_FRAME_STYLE | wxSUNKEN_BORDER, int vertStart=1, int vertEnd=1, int horzStart=1, int horzEnd=1 ); - ~wxContourViewPanel(); - //------------------------------------------------------------------------------------------------------------ // Creational and initialization methods //------------------------------------------------------------------------------------------------------------ - void setWxEventHandler( wxEvtHandler * theEventHandler ); - void createHorizontalBar(int horzStart, int horzEnd); - void createVerticalBar(int vertStart, int vertEnd); - void createViewPanel(); - //------------------------------------------------------------------------------------------------------------ // Methods for capturing events from the horizontal bar //------------------------------------------------------------------------------------------------------------ - /** * Handles the event wxEVT_TSBAR from the horizontal bar */ @@ -273,51 +295,100 @@ class wxContourViewPanel : public wxPanel {// public wxScrolledWindow { int GetX(); int GetY(); int GetZ(); + void SetXY(int x, int y); void Refresh(); -private: - //------------------------------------------------------------------------------------------------------------ - // Private methods - //------------------------------------------------------------------------------------------------------------ +//this method should be deleted + wxVtkBaseView_SceneManager* getSceneManager(); +////////////7 + void initializeScenceManager(); + bool isEditableCControler(std::string theKeyName); + void removeFromScene(std::string theKeyName); + +///////////////////////////////////////////////////// + void onChangeInstant(wxCommandEvent& event); + void onCreateMultipleROI (wxCommandEvent& event); + void onCreateROI (wxCommandEvent& event); + void onStopCreateROI (wxCommandEvent& event); + void onChangedDeep (wxCommandEvent& event); + void onActionButtonPressed(wxCommandEvent& event); + + void removeSceneContours(); + void addNameWrapperToScene(); + + std::vector getSelectedObjects(); + + void RefreshInterface(); + + vtkImageData* getImageData(); + void configureViewControlTo(std::string theName,manualBaseModel* manModelContour,double* spc,int typeofcontour); + + int GetImageDataSizeZ(); + + void GetImageDataRange(double *range); + + void SetWidthContour(double width ); + + int getColorWindow(); + + int getWindowLevel(); + + void onBrigthnessColorWindowLevel(int colorwindow,int windowlevel); + + void onInterpolation(bool interpolate); + + void GetPointsOfActualContour( std::vector *vecX, std::vector *vecY, std::vector *vecZ ); + + void changeImage(vtkImageData* img); + + void changeDeep(); + + void setImageSlice(int z); + + +private: + //------------------------------------------------------------------------------------------------------------ // Attributtes //------------------------------------------------------------------------------------------------------------ + wxVtkBaseView_SceneManager *_sceneManager; /* * Represents the outer sizer of the ContourViewPanel */ - wxFlexGridSizer* outSizer; + wxFlexGridSizer *outSizer; /* * Represents the panel for viewing */ - wxMaracas_N_ViewersWidget * theViewPanel; + wxMaracas_N_ViewersWidget *theViewPanel; /* * Represents the vertical barrange */ - mBarRange * _verticalBar; + mBarRange *_verticalBar; /* * Represents the horizontal barrange */ - mBarRange * _horizontalBar; - - vtkImageData * showingVID; - - std::string _verticalConceptName; - - std::string _horizontalConceptName; + mBarRange *_horizontalBar; + vtkImageData *showingVID; + std::string _verticalConceptName; + std::string _horizontalConceptName; + double last_spacing[3]; + bool _useVerticalBar; + bool _useHorizontalBar; - double last_spacing[3]; + wxEvtHandler *_eventHandler; + +//EED - bool _useVerticalBar; + //------------------------------------------------------------------------------------------------------------ + // Private methods + //------------------------------------------------------------------------------------------------------------ - bool _useHorizontalBar; - wxEvtHandler * _eventHandler; -//EED wxVtkMPR2DView * GetwxVtkMPR2DView();