X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2FmaracasVisuLib%2Fsrc%2Finterface%2FwxWindows%2Fwidgets%2FwxMaracasMultipleVolumeRendererPanel.cxx;h=6ac3f72b6853aed0a6510976ccbad24758003699;hb=4dcdcabb81ce9f9e9b7ccdb86a64995d7b18ea23;hp=f1fa7e1b8a25e3f55dbf73c78e0dac07c6872b27;hpb=28c74ab5eb531ce001260e9bc3fcb0151fcfc56b;p=creaMaracasVisu.git diff --git a/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxMaracasMultipleVolumeRendererPanel.cxx b/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxMaracasMultipleVolumeRendererPanel.cxx index f1fa7e1..6ac3f72 100644 --- a/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxMaracasMultipleVolumeRendererPanel.cxx +++ b/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxMaracasMultipleVolumeRendererPanel.cxx @@ -1,11 +1,43 @@ -#include "wxMaracasMultipleVolumeRendererPanel.h" +/*# --------------------------------------------------------------------- +# +# Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image +# pour la Sant�) +# Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton +# Previous Authors : Laurent Guigues, Jean-Pierre Roux +# CreaTools website : www.creatis.insa-lyon.fr/site/fr/creatools_accueil +# +# This software is governed by the CeCILL-B license under French law and +# abiding by the rules of distribution of free software. You can use, +# modify and/ or redistribute the software under the terms of the CeCILL-B +# license as circulated by CEA, CNRS and INRIA at the following URL +# http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html +# or in the file LICENSE.txt. +# +# As a counterpart to the access to the source code and rights to copy, +# modify and redistribute granted by the license, users are provided only +# with a limited warranty and the software's author, the holder of the +# economic rights, and the successive licensors have only limited +# liability. +# +# The fact that you are presently reading this means that you have had +# knowledge of the CeCILL-B license and that you accept its terms. +# ------------------------------------------------------------------------ */ -#include +#include "wxMaracasMultipleVolumeRendererPanel.h" #include "wxMaracasMultipleVolumeRendererView.h" +#include "wxMaracas_N_ViewersWidget.h" +#include "wxMaracasDialog_NViewers.h" #include "wxMaracasRendererView.h" + +#include + +#include "vtkImageData.h" +#include "vtkRenderer.h" + #include #include #include "Color.xpm" +#include //#include /** ** Implementation of viewProp3D @@ -44,18 +76,22 @@ void wxMaracasMultipleVolumeRendererPanel::createControls(vtkImageData* img){ if(!isComplexBox) { - //wxString choices[2]; - //choices[0] = wxString(_T("On")); - //choices[1] = wxString(_T("Off")); - wxStaticText* label = new wxStaticText(this, -1, wxString(_T(""))); - wxStaticText* label2 = new wxStaticText(this, -1, wxString(_T(""))); +// wxStaticText* label = new wxStaticText(this, -1, wxString(_T(""))); +// wxStaticText* label2 = new wxStaticText(this, -1, wxString(_T(""))); + + checkbox = new wxCheckBox(this,-1,wxString(_T("Show Actor"))); Connect(checkbox->GetId(), wxEVT_COMMAND_CHECKBOX_CLICKED, (wxObjectEventFunction)&wxMaracasMultipleVolumeRendererPanel::onCheckBoxChange); checkbox->SetValue(true); + wxString choices[] = {_T("Composite"), _T("MIP")}; + _radiobox = new wxRadioBox(this, -1, wxString(_T("Function")), wxDefaultPosition, wxDefaultSize, 2, choices); + Connect(_radiobox->GetId(), wxEVT_COMMAND_RADIOBOX_SELECTED, (wxObjectEventFunction)&wxMaracasMultipleVolumeRendererPanel::onRadioBoxSelectFunction); + sizerirmprop->Add(checkbox,wxFIXED_MINSIZE); - sizerirmprop->Add(label,wxFIXED_MINSIZE); - sizerirmprop->Add(label2,wxFIXED_MINSIZE); + sizerirmprop->AddSpacer(5); + sizerirmprop->Add(_radiobox,wxFIXED_MINSIZE); + //sizerirmprop->Add(label2,wxFIXED_MINSIZE); } //wxBitmap bitmap(Color_xpm); //_colorchoose = new wxBitmapButton(this, -1, bitmap,wxDefaultPosition,wxSize(30,30)); @@ -72,10 +108,6 @@ void wxMaracasMultipleVolumeRendererPanel::createControls(vtkImageData* img){ Connect(_viewimage->GetId(), wxEVT_COMMAND_BUTTON_CLICKED, (wxObjectEventFunction)&wxMaracasMultipleVolumeRendererPanel::onViewImage); sizerirmprop->Add(_viewimage,wxFIXED_MINSIZE); - wxBitmap bitmap1(OpenImage_xpm); - wxBitmapButton* _openParameters = new wxBitmapButton(this, -1, bitmap1, wxDefaultPosition, wxSize(30,30)); - Connect(_openParameters->GetId(), wxEVT_COMMAND_BUTTON_CLICKED, (wxObjectEventFunction)&wxMaracasMultipleVolumeRendererPanel::onOpenParameters); - sizerirmprop->Add(_openParameters,wxFIXED_MINSIZE); //std::string iconsdir = wxMaracasMultipleVolumeRendererView::getInstance()->getPath(); //iconsdir+="/data/Icons/Add.xmp"; //wxBitmap* bitmap = new wxBitmap(wxString(iconsdir.c_str(),wxConvUTF8), wxBITMAP_TYPE_XPM); @@ -175,8 +207,8 @@ void wxMaracasMultipleVolumeRendererPanel::updateVolume(){ if(this->isComplexBox) { - ((wxMaracasRenderTabbedPanel*)(wxMaracasRendererView::getInstance())->getTabbedPanel())->SetValuesColorPointsFunction(this->_propid,greylevelcolors, red, green, blue); - ((wxMaracasRenderTabbedPanel*)(wxMaracasRendererView::getInstance())->getTabbedPanel())->SetValuesPointsFunction(this->_propid, greylevel, values); + ( (wxMaracasRendererView::getInstance())->getTabbedPanel(this->_propid) )->SetValuesColorPointsFunction(this->_propid,greylevelcolors, red, green, blue); + ( (wxMaracasRendererView::getInstance())->getTabbedPanel(this->_propid) )->SetValuesPointsFunction(this->_propid, greylevel, values); } else { @@ -199,17 +231,27 @@ void wxMaracasMultipleVolumeRendererPanel::onColorChange(wxCommandEvent& event){ /** ** **/ -void wxMaracasMultipleVolumeRendererPanel::onViewImage(wxCommandEvent& event){ - -} +void wxMaracasMultipleVolumeRendererPanel::onViewImage(wxCommandEvent& event) +{ + vtkImageData* img; + std::vector type; + type.push_back(6); -/** -** -**/ -void wxMaracasMultipleVolumeRendererPanel::onOpenParameters(wxCommandEvent& event){ - dialog = new wxMaracasRenderImageManagementPanel(this); - dialog->SetSize(400,580); - dialog->Show(); + wxFrame* frame = new wxFrame(this, -1, wxString(_T("Volume Visualization"))); + frame->SetSize(wxDefaultSize); + + if(this->isComplexBox) + { + img = (wxMaracasRendererView::getInstance())->getTabbedPanel(_propid)->getVolImage(); + } + else + { + img = wxMaracasMultipleVolumeRendererView::getInstance()->getVolumeRenderManager()->getImageData(); + } + + // wxMaracas_N_ViewersWidget* viewer = new wxMaracas_N_ViewersWidget(frame, img, &type); + new wxMaracas_N_ViewersWidget(frame, img, &type); + frame->Show(); } /** @@ -217,7 +259,7 @@ void wxMaracasMultipleVolumeRendererPanel::onOpenParameters(wxCommandEvent& even **/ void wxMaracasMultipleVolumeRendererPanel::onCheckBoxChange(wxCommandEvent& event){ if(this->isComplexBox) - ((wxMaracasRenderTabbedPanel*)(wxMaracasRendererView::getInstance())->getTabbedPanel())->addRemoveActorV(this->getPropId(), checkbox->GetValue()); + ( (wxMaracasRendererView::getInstance())->getTabbedPanel(this->_propid) )->addRemoveActorV(this->getPropId(), checkbox->GetValue()); else wxMaracasMultipleVolumeRendererView::getInstance()->addRemoveActor(this->getPropId(), checkbox->GetValue()); } @@ -229,10 +271,16 @@ int wxMaracasMultipleVolumeRendererPanel::getPropId(){ return _propid; } +void wxMaracasMultipleVolumeRendererPanel::onRadioBoxSelectFunction(wxCommandEvent& event){ + + wxMaracasMultipleVolumeRendererView::getInstance()->changeCompositeMIPFunction(this->getPropId(), _radiobox->GetSelection()); +} + /** ** Carolina Perez: Recently added method **/ HistogramDialogComboBox* wxMaracasMultipleVolumeRendererPanel::getMwxwidget() { return mwxwidget; -} \ No newline at end of file +} +