]> Creatis software - creaMaracasVisu.git/blob - lib/maracasVisuLib/src/interface/wxWindows/include/wxMaracas_ManualTree_MPRDlg.cxx
Support #1768 CREATIS Licence insertion
[creaMaracasVisu.git] / lib / maracasVisuLib / src / interface / wxWindows / include / wxMaracas_ManualTree_MPRDlg.cxx
1 /*# ---------------------------------------------------------------------
2 #
3 # Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image
4 #                        pour la Sant�)
5 # Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton
6 # Previous Authors : Laurent Guigues, Jean-Pierre Roux
7 # CreaTools website : www.creatis.insa-lyon.fr/site/fr/creatools_accueil
8 #
9 #  This software is governed by the CeCILL-B license under French law and
10 #  abiding by the rules of distribution of free software. You can  use,
11 #  modify and/ or redistribute the software under the terms of the CeCILL-B
12 #  license as circulated by CEA, CNRS and INRIA at the following URL
13 #  http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html
14 #  or in the file LICENSE.txt.
15 #
16 #  As a counterpart to the access to the source code and  rights to copy,
17 #  modify and redistribute granted by the license, users are provided only
18 #  with a limited warranty  and the software's author,  the holder of the
19 #  economic rights,  and the successive licensors  have only  limited
20 #  liability.
21 #
22 #  The fact that you are presently reading this means that you have had
23 #  knowledge of the CeCILL-B license and that you accept its terms.
24 # ------------------------------------------------------------------------ */
25
26 /*=========================================================================
27
28   Program:   wxMaracas
29   Module:    $RCSfile: wxMaracas_ManualTree_MPRDlg.cxx,v $
30   Language:  C++
31   Date:      $Date: 2012/11/15 14:14:56 $
32   Version:   $Revision: 1.2 $
33
34   Copyright: (c) 2002, 2003
35   License:
36
37      This software is distributed WITHOUT ANY WARRANTY; without even
38      the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
39      PURPOSE.  See the above copyright notice for more information.
40
41 =========================================================================*/
42
43 #include "wxMaracas_ManualTree_MPRDlg.h"
44 #include <wx/splitter.h>
45
46
47 //----------------------------------------------------------------------------
48 //----------------------------------------------------------------------------
49 //----------------------------------------------------------------------------
50
51 wxMaracas_ManualTree_MPRDlg::wxMaracas_ManualTree_MPRDlg( wxWindow* parent, marImageData* marimagedata,double voxelSize)
52  : wxDialog( parent, -1,_T("Manual Axis"),wxDefaultPosition,wxDefaultSize,wxCAPTION|wxRESIZE_BORDER  | wxMAXIMIZE_BOX )
53 {       
54 //      SetSize(700,700);
55         Maximize(true);
56         _parent=parent;
57         wxSplitterWindow *splitPanel = new wxSplitterWindow(this ,-1);
58         _manualTreeMPR = new wxMaracas_ManualTree_MPR(splitPanel,marimagedata,voxelSize);
59         wxPanel *panel = new wxPanel (splitPanel, -1);
60
61         wxButton *btnAccept = new wxButton (panel, wxID_OK, _T("Accept"));
62         wxButton *btnCancel = new wxButton (panel, wxID_CANCEL, _T("Cancel"));
63
64         wxBoxSizer* sizerH1 = new wxBoxSizer( wxHORIZONTAL );
65         sizerH1->Add(btnAccept , 1, wxALL|wxEXPAND, 0);
66         sizerH1->Add(btnCancel , 1, wxALL|wxEXPAND, 0);
67         panel->SetAutoLayout(true);
68         panel->SetSizer(sizerH1);
69         Layout();
70 //EEDxx2.4
71 //      FitInside();
72
73
74         splitPanel->SplitHorizontally(_manualTreeMPR,panel );
75         splitPanel->SetMinimumPaneSize(50);
76
77         wxBoxSizer* sizer = new wxBoxSizer( wxVERTICAL );
78         sizer->Add(splitPanel , 1, wxALL|wxEXPAND, 0);
79         SetAutoLayout(true);
80         SetSizer(sizer);
81         Layout();
82 //EEDxx2.4
83 //      FitInside();
84 }
85
86 //----------------------------------------------------------------------------
87
88 wxMaracas_ManualTree_MPRDlg::~wxMaracas_ManualTree_MPRDlg()
89 {
90 }
91
92 //----------------------------------------------------------------------------
93
94 void wxMaracas_ManualTree_MPRDlg::ConfigureVTK()
95 {
96         wxBusyCursor wait;
97         _manualTreeMPR->ConfigureVTK();
98 }
99
100 //----------------------------------------------------------------------------
101
102 void wxMaracas_ManualTree_MPRDlg::SetMarAxis( marAxis *maraxis  )
103 {
104         _maraxis=maraxis;
105 }
106
107 //----------------------------------------------------------------------------
108 bool wxMaracas_ManualTree_MPRDlg::ExportPoints()
109 {
110         bool ok=false;
111         double t,x,y,z;
112         manualContourModel *manualcontourmodel = _manualTreeMPR->GetManualContourModel();
113
114         double spc[3];
115         _manualTreeMPR->GetVtkMPRBaseData()->GetImageData()->GetSpacing(spc);
116
117         int sizeLstPoints = manualcontourmodel->GetSizeLstPoints(); 
118
119         if ( sizeLstPoints>=2 ){ 
120                 manualcontourmodel->UpdateSpline();
121                 int i,max=200;
122 //JSTG 25-02-08 ---------------------------------------------------
123                 //double delta = ((double)sizeLstPoints-1) / (double)max;
124                 for (i=0;i<max;i++)
125                 {       
126                         //t=delta*(double)i;
127                         //manualcontourmodel->GetSplinePoint(t,x,y,z);
128                         manualcontourmodel->GetSpline_i_Point(i,&x,&y,&z);
129 //-----------------------------------------------------------------
130                         x=x*spc[0];
131                         y=y*spc[1];
132                         z=z*spc[2];
133                         _maraxis->AddPointToList(x, y, z,100);          
134                 }
135                 ok=true;
136         }
137         return ok;
138 }
139
140
141
142 // EOF - wxMaracas_ManualTree_MPRDlg.cxx
143
144
145
146