From d1a1eeaccf513ecfd9ed594741a0aa76152eb8a5 Mon Sep 17 00:00:00 2001 From: Juan Prieto Date: Fri, 27 Nov 2009 19:49:59 +0000 Subject: [PATCH] *** empty log message *** --- bbtk/bbs/appli/ExampleOpenDialog.bbs | 7 + bbtk/src/bbcreaMaracasVisuOpenImageDialog.cxx | 63 +++++++ bbtk/src/bbcreaMaracasVisuOpenImageDialog.h | 34 ++++ bbtk/src/bbcreaMaracasVisuVolumeRendering.cxx | 161 +++++++++--------- .../wxWindows/widgets/OpenLoadImageDialog.cxx | 58 +++++++ .../wxWindows/widgets/OpenLoadImageDialog.h | 25 +++ 6 files changed, 268 insertions(+), 80 deletions(-) create mode 100644 bbtk/bbs/appli/ExampleOpenDialog.bbs create mode 100644 bbtk/src/bbcreaMaracasVisuOpenImageDialog.cxx create mode 100644 bbtk/src/bbcreaMaracasVisuOpenImageDialog.h create mode 100644 lib/maracasVisuLib/src/interface/wxWindows/widgets/OpenLoadImageDialog.cxx create mode 100644 lib/maracasVisuLib/src/interface/wxWindows/widgets/OpenLoadImageDialog.h diff --git a/bbtk/bbs/appli/ExampleOpenDialog.bbs b/bbtk/bbs/appli/ExampleOpenDialog.bbs new file mode 100644 index 0000000..1632a7c --- /dev/null +++ b/bbtk/bbs/appli/ExampleOpenDialog.bbs @@ -0,0 +1,7 @@ +load std +load wx +load creaMaracasVisu + +new OpenImageDialog diag + +exec diag \ No newline at end of file diff --git a/bbtk/src/bbcreaMaracasVisuOpenImageDialog.cxx b/bbtk/src/bbcreaMaracasVisuOpenImageDialog.cxx new file mode 100644 index 0000000..1099679 --- /dev/null +++ b/bbtk/src/bbcreaMaracasVisuOpenImageDialog.cxx @@ -0,0 +1,63 @@ +#include "bbcreaMaracasVisuOpenImageDialog.h" +#include "bbcreaMaracasVisuPackage.h" + +namespace bbcreaMaracasVisu +{ + +BBTK_ADD_BLACK_BOX_TO_PACKAGE(creaMaracasVisu,OpenImageDialog) +BBTK_BLACK_BOX_IMPLEMENTATION(OpenImageDialog,bbtk::AtomicBlackBox); +void OpenImageDialog::Process() +{ + +// THE MAIN PROCESSING METHOD BODY +// Here we simply set the input 'In' value to the output 'Out' +// And print out the output value +// INPUT/OUTPUT ACCESSORS ARE OF THE FORM : +// void bbSet{Input|Output}NAME(const TYPE&) +// const TYPE& bbGet{Input|Output}NAME() const +// Where : +// * NAME is the name of the input/output +// (the one provided in the attribute 'name' of the tag 'input') +// * TYPE is the C++ type of the input/output +// (the one provided in the attribute 'type' of the tag 'input') + + + OpenLoadImageDialog diag = OpenLoadImageDialog(); + + + + bbSetOutputOut( diag.getImageData() ); + std::cout << "Output value = " <setRenderer(renderer); - _currentrenderer = renderer; - } - if(_currentrenderer!=NULL){ - if(_img1 !=NULL){ - volview->addVolume(_img1, "INPUT 1"); - } - if(_img2 !=NULL){ - volview->addVolume(_img2, "INPUT 2"); - } - if(_img3 !=NULL){ - volview->addVolume(_img3, "INPUT 3"); + if(volview!=NULL){ + if(renderer!=NULL&&_currentrenderer != renderer){ + volview->setRenderer(renderer); + _currentrenderer = renderer; } - if(_img4 !=NULL){ - volview->addVolume(_img4, "INPUT 4"); - } - } + if(_currentrenderer!=NULL){ + if(_img1 !=NULL){ + volview->addVolume(_img1, "INPUT 1"); + } + if(_img2 !=NULL){ + volview->addVolume(_img2, "INPUT 2"); + } + if(_img3 !=NULL){ + volview->addVolume(_img3, "INPUT 3"); + } + if(_img4 !=NULL){ + volview->addVolume(_img4, "INPUT 4"); + } + } + } - //vtkImageData* img1 = ; + //vtkImageData* img1 = ; - /*bbSetOutputOut0(volview->GetOutputImages()[0]); - bbSetOutputOut1(volview->GetOutputImages()[1]); - bbSetOutputOut2(volview->GetOutputImages()[2]); - bbSetOutputOut3(volview->GetOutputImages()[3]);*/ + /*bbSetOutputOut0(volview->GetOutputImages()[0]); + bbSetOutputOut1(volview->GetOutputImages()[1]); + bbSetOutputOut2(volview->GetOutputImages()[2]); + bbSetOutputOut3(volview->GetOutputImages()[3]);*/ -} -void VolumeRendering::CreateWidget(wxWindow* parent) -{ - wxMaracasMultipleVolumeRendererView* volview = wxMaracasMultipleVolumeRendererView::getInstance(parent); - bbSetOutputWidget(volview); -} -void VolumeRendering::bbUserSetDefaultValues() -{ - -// SET HERE THE DEFAULT INPUT/OUTPUT VALUES OF YOUR BOX -// Here we initialize the input 'In' to 0 - bbSetInputIn0(0); - bbSetInputIn1(0); - bbSetInputIn2(0); - bbSetInputIn3(0); - bbSetInputRenderer(0); + } + void VolumeRendering::CreateWidget(wxWindow* parent) + { + wxMaracasMultipleVolumeRendererView* volview = wxMaracasMultipleVolumeRendererView::getInstance(parent); + bbSetOutputWidget(volview); + } + void VolumeRendering::bbUserSetDefaultValues() + { + + // SET HERE THE DEFAULT INPUT/OUTPUT VALUES OF YOUR BOX + // Here we initialize the input 'In' to 0 + bbSetInputIn0(0); + bbSetInputIn1(0); + bbSetInputIn2(0); + bbSetInputIn3(0); + bbSetInputRenderer(0); - bbSetOutputOut0(NULL); - bbSetOutputOut1(NULL); - bbSetOutputOut2(NULL); - bbSetOutputOut3(NULL); - -} -void VolumeRendering::bbUserInitializeProcessing() -{ - _currentrenderer = NULL; -} -void VolumeRendering::bbUserFinalizeProcessing() -{ - -// THE FINALIZATION METHOD BODY : -// Here does nothing -// but this is where you should desallocate the internal/output pointers -// if any - -} + bbSetOutputOut0(NULL); + bbSetOutputOut1(NULL); + bbSetOutputOut2(NULL); + bbSetOutputOut3(NULL); + + } + void VolumeRendering::bbUserInitializeProcessing() + { + _currentrenderer = NULL; + } + void VolumeRendering::bbUserFinalizeProcessing() + { + + // THE FINALIZATION METHOD BODY : + // Here does nothing + // but this is where you should desallocate the internal/output pointers + // if any + + } } // EO namespace bbcreaMaracasVisu diff --git a/lib/maracasVisuLib/src/interface/wxWindows/widgets/OpenLoadImageDialog.cxx b/lib/maracasVisuLib/src/interface/wxWindows/widgets/OpenLoadImageDialog.cxx new file mode 100644 index 0000000..23d080f --- /dev/null +++ b/lib/maracasVisuLib/src/interface/wxWindows/widgets/OpenLoadImageDialog.cxx @@ -0,0 +1,58 @@ + +#include "OpenLoadImageDialog.h" + +typedef vtkImageData* (*GETIMAGEDATADIALOG)(); + +OpenLoadImageDialog::OpenLoadImageDialog() +{ + + + img = NULL; + bool gimmicknotfound = true; + +#ifdef WIN32 + HINSTANCE gimmickhandle; + gimmickhandle = LoadLibrary(TEXT("creaImageIO2.dll")); + if(gimmickhandle!=NULL){ + + + GETIMAGEDATADIALOG getImageDataDialog; + + getImageDataDialog = (GETIMAGEDATADIALOG)GetProcAddress(gimmickhandle, "getImageDataDialog"); + + std::cout<<"imagedatadialog "<ShowModal()==wxID_OK) + { + std::string path= FD->GetPath(); + + vtkMetaImageReader *reader = vtkMetaImageReader::New(); + reader->SetFileName(path.c_str()); + img = reader->GetOutput(); + } + } +} + +//------------------------------------------------------------------- +OpenLoadImageDialog::~OpenLoadImageDialog() +{ +} + +vtkImageData* OpenLoadImageDialog::getImageData(){ + return img; +} \ No newline at end of file diff --git a/lib/maracasVisuLib/src/interface/wxWindows/widgets/OpenLoadImageDialog.h b/lib/maracasVisuLib/src/interface/wxWindows/widgets/OpenLoadImageDialog.h new file mode 100644 index 0000000..1cdcf89 --- /dev/null +++ b/lib/maracasVisuLib/src/interface/wxWindows/widgets/OpenLoadImageDialog.h @@ -0,0 +1,25 @@ +#ifndef OpenLoadImageDialog_H_ +#define OpenLoadImageDialog_H_ + +#include "marTypes.h" +#include "vtkImageData.h" +#include "vtkMetaImageReader.h" +#include "wx/wx.h" + + + +class creaMaracasVisu_EXPORT OpenLoadImageDialog { +public: + OpenLoadImageDialog(); + ~OpenLoadImageDialog(); + + + vtkImageData* getImageData(); +protected: + +private: + vtkImageData* img; + +}; + +#endif /*OpenLoadImageDialog_H_*/ -- 2.45.1