#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()
-{
-}
+#include <wx/msgdlg.h>
-//---------------------------------------------------------------------------
-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;
-}
-
-
-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");
- }
-}
-
//---------------------------------------------------------------------------------
//---------------------------------------------------------------------------------
-
-
-
BBTK_ADD_BLACK_BOX_TO_PACKAGE(creaMaracasVisu,ManualPaint)
BBTK_BLACK_BOX_IMPLEMENTATION(ManualPaint,bbtk::WxBlackBox);
//=====
((wxStaticText*)bbGetOutputWidget())->SetLabel( bbtk::std2wx( msg ) );
*/
- if (bbGetInputWxVtkBaseView()==NULL)
+ if (bbGetInputWxVtkBaseView1()==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() );
- vtkInteractorStyleBaseView *isbv = (vtkInteractorStyleBaseView*)(bbGetInputWxVtkBaseView()->GetInteractorStyleBaseView());
- isbv->AddInteractorStyleMaracas(imp);
+ firsttime=false;
+
+ ManualPaintModel *mpModel = new ManualPaintModel();
+ mpModel->SetImage( bbGetInputIn() );
+
+ wxManualPaintPanel *mpPanel = (wxManualPaintPanel*)bbGetOutputWidget();
+ mpPanel->SetManualPaintModel(mpModel);
+
+ if (bbGetInputWxVtkBaseView1()!=NULL)
+ {
+ ManualPaintControler *mpControler = new ManualPaintControler();
+ mpControler->SetManualPaintModel(mpModel);
+ mpControler->SetManualPaintPanel(mpPanel);
+ mpControler->SetWxVtk2DBaseView( (wxVtk2DBaseView*)bbGetInputWxVtkBaseView1() );
+ mpControler->Config();
+ }
+
+ if (bbGetInputWxVtkBaseView2()!=NULL)
+ {
+ ManualPaintControler *mpControler = new ManualPaintControler();
+ mpControler->SetManualPaintModel(mpModel);
+ mpControler->SetManualPaintPanel(mpPanel);
+ mpControler->SetWxVtk2DBaseView( (wxVtk2DBaseView*)bbGetInputWxVtkBaseView2() );
+ mpControler->Config();
+ }
+
+ if (bbGetInputWxVtkBaseView3()!=NULL)
+ {
+ ManualPaintControler *mpControler = new ManualPaintControler();
+ mpControler->SetManualPaintModel(mpModel);
+ mpControler->SetManualPaintPanel(mpPanel);
+ mpControler->SetWxVtk2DBaseView( (wxVtk2DBaseView*)bbGetInputWxVtkBaseView3() );
+ mpControler->Config();
+ }
+
+ if (bbGetInputWxVtkBaseView4()!=NULL)
+ {
+ ManualPaintControler *mpControler = new ManualPaintControler();
+ mpControler->SetManualPaintModel(mpModel);
+ mpControler->SetManualPaintPanel(mpPanel);
+ mpControler->SetWxVtk2DBaseView( (wxVtk2DBaseView*)bbGetInputWxVtkBaseView4() );
+ mpControler->Config();
+ }
+
}
}
//=====
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);
}
//=====