]> Creatis software - creaMaracasVisu.git/blobdiff - bbtk/src/bbcreaMaracasVisuManualPaint.cxx
*** empty log message ***
[creaMaracasVisu.git] / bbtk / src / bbcreaMaracasVisuManualPaint.cxx
index 3bde3b50196625739569c2731b969896ab721623..f84fe8fd3cdf5dcf3e5b2d9043917a2bbc76188e 100644 (file)
 #include "bbcreaMaracasVisuManualPaint.h"
 #include "bbcreaMaracasVisuPackage.h"
 
-#include "wxVtk2DBaseView.h"
-#include "wxVTKRenderWindowInteractor.h"
+#include "ManualPaintPanel.h"
+#include "ManualPaintModel.h"
+#include "ManualPaintControler.h"
+#include "wxManualPaintPanel.h"
 
-namespace bbcreaMaracasVisu
-{
-
-
-
-vtkInteractorManualPaint::vtkInteractorManualPaint()
-{
-       _state  =   false;
-       _image  =   NULL;
-       _auxZ   =   0;
-}
-
-//---------------------------------------------------------------------------
-vtkInteractorManualPaint::~vtkInteractorManualPaint()
-{
-}
-
-//---------------------------------------------------------------------------
-bool vtkInteractorManualPaint::OnLeftButtonDown()
-{
-       vtkRenderWindowInteractor *interactor = _vtkInteractorStyleBaseView->GetInteractor();
-       if ((interactor->GetControlKey()==1) || (interactor->GetShiftKey()==1) ){
-        _state  =   true;
-        wxVtk2DBaseView             *wxvtk2Dbaseview    = (wxVtk2DBaseView*)_vtkInteractorStyleBaseView->GetWxVtk2DBaseView();
-        _Z      =   wxvtk2Dbaseview->GetActualSlice();
-//             _sliceZ         = ((wxVtk2DBaseView*)_vtkInteractorStyleBaseView->GetWxVtk2DBaseView())->GetActualSlice();
-       }
-       return true;
-}
-
-//---------------------------------------------------------------------------
-bool vtkInteractorManualPaint::OnLeftButtonUp()
-{
-       _state = false;
-       return true;
-}
-
-//---------------------------------------------------------------------------
-bool vtkInteractorManualPaint::OnMouseMove ()
-{
-    printf("EED vtkInteractorManualPaint::OnMouseMove \n");
-       if (_state==true)
-       {
-        int px,py;
-        wxVtk2DBaseView             *wxvtk2Dbaseview    = (wxVtk2DBaseView*)_vtkInteractorStyleBaseView->GetWxVtk2DBaseView();
-        wxVTKRenderWindowInteractor *wxVTKiren          = wxvtk2Dbaseview->GetWxVTKRenderWindowInteractor();
-
-        wxVTKiren->GetEventPosition(px,py);
-
-        double X = (double)px;
-        double Y = (double)py;
-        double Z = _Z;
-        int typeView = 2;
-        wxvtk2Dbaseview->TransFromCoordScreenToWorld(X, Y, Z,false, typeView);
-
-//        int px = _vtkInteractorStyleBaseView->GetInteractor()->GetEventPosition()[0];
-//        int py = _vtkInteractorStyleBaseView->GetInteractor()->GetEventPosition()[1];
-        printf("EED vtkInteractorManualPaint::OnMouseMove  -----------------  %f %f %f\n", X,Y,Z);
-
-        PaintImage((int)X,(int)Y,(int)Z);
-
-        wxvtk2Dbaseview->Refresh();
-        wxvtk2Dbaseview->RefreshView();
-//        wxvtk2Dbaseview->SetActualSlice(_Z+_auxZ);
-        _auxZ=(_auxZ+1)%2;
-        wxvtk2Dbaseview->_imageViewer2XYZ->GetVtkImageViewer2()->GetRenderer()->Render();
-        this->_vtkInteractorStyleBaseView->SetParent_refresh_waiting();
-//        wxvtk2Dbaseview->SetActualSlice(Z);
-       }// if _state
-       return true;
-}
-
-//---------------------------------------------------------------------------
-void vtkInteractorManualPaint::SetImage(vtkImageData *image)
-{
-       _image = image;
-}
+#include <wx/msgdlg.h>
 
-
-void vtkInteractorManualPaint::PaintImage(int px,int py, int pz)
+namespace bbcreaMaracasVisu
 {
-    if (_image!=NULL)
-    {
-        float value=0;
-        printf("EED vtkInteractorManualPaint::PaintImage   %d %d %d\n", px,py,pz);
-        _image->SetScalarComponentFromFloat (px,py,pz, 0, value );
-        _image->Modified();
-    } else  {
-        printf("ERROR : bbcreaMaracasvisu::vtkInteractorManualPaint::PaintImage :  Image not set. \n");
-    }
-}
-
 
 
 //---------------------------------------------------------------------------------
@@ -106,9 +20,6 @@ void vtkInteractorManualPaint::PaintImage(int px,int py, int pz)
 //---------------------------------------------------------------------------------
 
 
-
-
-
 BBTK_ADD_BLACK_BOX_TO_PACKAGE(creaMaracasVisu,ManualPaint)
 BBTK_BLACK_BOX_IMPLEMENTATION(ManualPaint,bbtk::WxBlackBox);
 //=====
@@ -132,22 +43,42 @@ void ManualPaint::Process()
 
     if (bbGetInputWxVtkBaseView()==NULL)
     {
-        printf("WARNING : package creaMaracasVisu box ManualPaint : input WxVtkBaseView have to be defferent of NULL\n");
+      wxMessageDialog(NULL,  bbtk::std2wx("(ManualPaint) Input 'WxVtkBaseView' is not set"),  bbtk::std2wx(bbGetFullName()) ).ShowModal();
     }
 
     if (bbGetInputIn()==NULL)
     {
-        printf("WARNING : package creaMaracasVisu box ManualPaint : input In (vtkImageData*) have to be defferent of NULL\n");
+      wxMessageDialog(NULL,  bbtk::std2wx("(ManualPaint) Input 'vtkImageData' is not set"),  bbtk::std2wx(bbGetFullName()) ).ShowModal();
     }
 
 
-    if (imp==NULL)
+    if (firsttime==true)
     {
-        imp=new vtkInteractorManualPaint();
-        imp->SetImage( bbGetInputIn() );
+        firsttime=false;
+
+        ManualPaintPanel        *mpPanel        = (ManualPaintPanel*)bbGetOutputWidget();
+
+        ManualPaintModel        *mpModel        = new ManualPaintModel();
+        mpModel->SetImage( bbGetInputIn() );
+
+
+        ManualPaintControler    *mpControler    = new ManualPaintControler();
+        mpControler->SetManualPaintModel(mpModel);
+        mpControler->SetManualPaintPanel(mpPanel);
+        mpControler->SetWxVtkBaseView( bbGetInputWxVtkBaseView() );
+        mpControler->Config();
+    }
+
+
+/*
+    if (_imp==NULL)
+    {
+        _imp=new vtkInteractorManualPaint();
+        _imp->SetImage( bbGetInputIn() );
         vtkInteractorStyleBaseView *isbv = (vtkInteractorStyleBaseView*)(bbGetInputWxVtkBaseView()->GetInteractorStyleBaseView());
-        isbv->AddInteractorStyleMaracas(imp);
+        isbv->AddInteractorStyleMaracas(_imp);
     }
+*/
 
 }
 //=====
@@ -155,16 +86,15 @@ void ManualPaint::Process()
 //=====
 void ManualPaint::CreateWidget(wxWindow* parent)
 {
-
-   bbSetOutputWidget( new wxStaticText ( parent , -1 , _T("UPS") ) );
-
+   bbSetOutputWidget( new wxManualPaintPanel(parent) );
 }
+
 //=====
 // Don't edit this file. This file is generated from xml description..
 //=====
 void ManualPaint::bbUserSetDefaultValues()
 {
-    imp=NULL;
+    firsttime=true;
     bbSetInputIn(NULL);
 }
 //=====