]> Creatis software - creaMaracasVisu.git/blobdiff - lib/maracasVisuLib/src/interface/wxWindows/widgets/wxMaracas_N_ViewersWidget.cxx
The method SetShowText was not working because in this methos uses the textActor...
[creaMaracasVisu.git] / lib / maracasVisuLib / src / interface / wxWindows / widgets / wxMaracas_N_ViewersWidget.cxx
index 3cfdc1a9e69ec210799c3be347428827ea4a100a..4e6cd1923c56611ed93c62e348ed11d4031cdcd5 100644 (file)
@@ -3,8 +3,8 @@
   Program:   wxMaracas
   Module:    $RCSfile: wxMaracas_N_ViewersWidget.cxx,v $
   Language:  C++
-  Date:      $Date: 2009/07/27 07:58:20 $
-  Version:   $Revision: 1.11 $
+  Date:      $Date: 2010/05/03 13:46:48 $
+  Version:   $Revision: 1.17 $
 
   Copyright: (c) 2002, 2003
   License:
                //std::cout<<"size "<<nTypeView->size()<<std::endl;
                if (nTypeView->size()==1)
                {
-                       wxwindow1 = new wxMaracas_ViewerWidget(this, imagedata, (*nTypeView)[0],mvtkmprbasedata);
+                       wxwindow1 = new wxMaracas_ViewerWidget(this, imagedata, (*nTypeView)[0], mvtkmprbasedata);
 
                        wxwindow1->ConfigureVTK();
                        wxwindow = wxwindow1;
                }else   if (nTypeView->size()==2)       {
                        wxSplitterWindow        *spliter        = new wxSplitterWindow( this , -1);
                        spliter->SetMinimumPaneSize(1);
-                       wxwindow1 = new wxMaracas_ViewerWidget(spliter, imagedata, (*nTypeView)[0],mvtkmprbasedata);
-                       wxwindow2 = new wxMaracas_ViewerWidget(spliter, imagedata, (*nTypeView)[1],mvtkmprbasedata);
+                       wxwindow1 = new wxMaracas_ViewerWidget(spliter, imagedata, (*nTypeView)[0], mvtkmprbasedata);
+                       wxwindow2 = new wxMaracas_ViewerWidget(spliter, imagedata, (*nTypeView)[1], mvtkmprbasedata);
                        wxwindow1->ConfigureVTK();
                        wxwindow2->ConfigureVTK();
                        spliter -> SplitVertically( wxwindow1 , wxwindow2  );
-                       wxwindow = spliter;
+                       wxwindow = spliter;                     
                }else if (nTypeView->size()==3)
                {
                        wxSplitterWindow        *spliter        = new wxSplitterWindow( this , -1);
                        wxSplitterWindow        *spliterA       = new wxSplitterWindow( spliter , -1);
                        spliter->SetMinimumPaneSize(1);
                        spliterA->SetMinimumPaneSize(1);
-                       wxwindow1 = new wxMaracas_ViewerWidget(spliter , imagedata, (*nTypeView)[0],mvtkmprbasedata);
-                       wxwindow2 = new wxMaracas_ViewerWidget(spliterA, imagedata, (*nTypeView)[1],mvtkmprbasedata);
-                       wxwindow3 = new wxMaracas_ViewerWidget(spliterA, imagedata, (*nTypeView)[2],mvtkmprbasedata);
+                       wxwindow1 = new wxMaracas_ViewerWidget(spliter , imagedata, (*nTypeView)[0], mvtkmprbasedata);
+                       wxwindow2 = new wxMaracas_ViewerWidget(spliterA, imagedata, (*nTypeView)[1], mvtkmprbasedata);
+                       wxwindow3 = new wxMaracas_ViewerWidget(spliterA, imagedata, (*nTypeView)[2], mvtkmprbasedata);
                        wxwindow1->ConfigureVTK();
                        wxwindow2->ConfigureVTK();
                        wxwindow3->ConfigureVTK();
                        spliter->SetMinimumPaneSize(1);
                        spliterA->SetMinimumPaneSize(1);
                        spliterB->SetMinimumPaneSize(1);
-                       wxwindow1 = new wxMaracas_ViewerWidget(spliterA, imagedata, (*nTypeView)[0],mvtkmprbasedata);
-                       wxwindow2 = new wxMaracas_ViewerWidget(spliterA, imagedata, (*nTypeView)[1],mvtkmprbasedata);
-                       wxwindow3 = new wxMaracas_ViewerWidget(spliterB, imagedata, (*nTypeView)[2],mvtkmprbasedata);
-                       wxwindow4 = new wxMaracas_ViewerWidget(spliterB, imagedata, (*nTypeView)[3],mvtkmprbasedata);
+                       wxwindow1 = new wxMaracas_ViewerWidget(spliterA, imagedata, (*nTypeView)[0], mvtkmprbasedata);
+                       wxwindow2 = new wxMaracas_ViewerWidget(spliterA, imagedata, (*nTypeView)[1], mvtkmprbasedata);
+                       wxwindow3 = new wxMaracas_ViewerWidget(spliterB, imagedata, (*nTypeView)[2], mvtkmprbasedata);
+                       wxwindow4 = new wxMaracas_ViewerWidget(spliterB, imagedata, (*nTypeView)[3], mvtkmprbasedata);
                        wxwindow1->ConfigureVTK();
                        wxwindow2->ConfigureVTK();
                        wxwindow3->ConfigureVTK();
 
 //-----------------------------------------------------------------------------------
  void wxMaracas_N_ViewersWidget::SetImage( vtkImageData *image )
- {
-        if (wxwindow1!=NULL) { 
-                
-               wxwindow1->SetImage(image); 
-       }
+ {     
+        if (wxwindow1!=NULL) { wxwindow1->SetImage(image); }
         if (wxwindow2!=NULL) { wxwindow2->SetImage(image); } 
         if (wxwindow3!=NULL) { wxwindow3->SetImage(image); }
         if (wxwindow4!=NULL) { wxwindow4->SetImage(image); }
+ }
 
-
+//-----------------------------------------------------------------------------------
+ void wxMaracas_N_ViewersWidget::ConfigureVTK()
+ {
+        if (wxwindow1!=NULL) { wxwindow1->ConfigureVTK(); }
+        if (wxwindow2!=NULL) { wxwindow2->ConfigureVTK(); }
+        if (wxwindow3!=NULL) { wxwindow3->ConfigureVTK(); }
+        if (wxwindow4!=NULL) { wxwindow4->ConfigureVTK(); }
  }
 
 //-----------------------------------------------------------------------------------
 double wxMaracas_N_ViewersWidget :: GetX()
-{
+{      
+       invariant();
        return mvtkmprbasedata->GetX();
 //     return wxwindow1->GetX();
 }
@@ -270,6 +275,7 @@ double wxMaracas_N_ViewersWidget :: GetX()
 //-----------------------------------------------------------------------------------
 double wxMaracas_N_ViewersWidget :: GetY()
 {
+       invariant();
        return mvtkmprbasedata->GetY();
 //     return wxwindow1->GetY();
 }
@@ -278,10 +284,17 @@ double wxMaracas_N_ViewersWidget :: GetY()
 //-----------------------------------------------------------------------------------
 double wxMaracas_N_ViewersWidget :: GetZ()
 {
+       invariant();
        return mvtkmprbasedata->GetZ();
 //     return wxwindow1->GetZ();
 }
 
+void wxMaracas_N_ViewersWidget :: invariant(){
+       if(mvtkmprbasedata == 0){
+               throw "The image has not been set in the viewer";
+       }
+}
+
 void wxMaracas_N_ViewersWidget::setColorTransferFunction(vtkColorTransferFunction* colortable){
     if (wxwindow1!=NULL) {
                wxwindow1->setColorTransferFunction(colortable);
@@ -297,3 +310,32 @@ void wxMaracas_N_ViewersWidget::setColorTransferFunction(vtkColorTransferFunctio
        }
 }
 
+void wxMaracas_N_ViewersWidget::setWindowLevel(double level){
+       if (wxwindow1!=NULL) {
+               wxwindow1->setWindowLevel(level);
+       }
+       if (wxwindow2!=NULL) {
+               wxwindow2->setWindowLevel(level);
+       }
+       if (wxwindow3!=NULL) {
+               wxwindow3->setWindowLevel(level);
+       }
+       if (wxwindow4!=NULL) {
+               wxwindow4->setWindowLevel(level);
+       }
+}
+void wxMaracas_N_ViewersWidget::setColorLevel(double level){
+       if (wxwindow1!=NULL) {
+               wxwindow1->setColorLevel(level);
+       }
+       if (wxwindow2!=NULL) {
+               wxwindow2->setColorLevel(level);
+       }
+       if (wxwindow3!=NULL) {
+               wxwindow3->setColorLevel(level);
+       }
+       if (wxwindow4!=NULL) {
+               wxwindow4->setColorLevel(level);
+       }
+}
+