X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2FmaracasVisuLib%2Fsrc%2Finterface%2FwxWindows%2Fwidgets%2FwxMaracasMultipleVolumeRendererPanel.cxx;h=1d8bc3e30fd0232ee21e2e7243554387fb799408;hb=2725f81fc97c9faa92749159bdbaf9cedeef7af4;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..1d8bc3e 100644 --- a/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxMaracasMultipleVolumeRendererPanel.cxx +++ b/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxMaracasMultipleVolumeRendererPanel.cxx @@ -1,11 +1,18 @@ #include "wxMaracasMultipleVolumeRendererPanel.h" - -#include #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 +51,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 +83,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 +182,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 +206,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 +234,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 +246,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 +} +