+/*# ---------------------------------------------------------------------
+#
+# 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 "wxMaracasMultipleVolumeRendererPanel.h"
#include "wxMaracasMultipleVolumeRendererView.h"
#include "wxMaracas_N_ViewersWidget.h"
{
_propid = propid;
isComplexBox = _isComplexBox;
-
+
createControls(img);
}
/**
** Class destructor
**/
-wxMaracasMultipleVolumeRendererPanel::~wxMaracasMultipleVolumeRendererPanel(){
-
+wxMaracasMultipleVolumeRendererPanel::~wxMaracasMultipleVolumeRendererPanel(){
+
//if(isComplexBox)
//((wxMaracasRenderTabbedPanel*)(wxMaracasRendererView::getInstance())->getTabbedPanel())->deleteVolume(_propid);
//else
void wxMaracasMultipleVolumeRendererPanel::createControls(vtkImageData* img){
wxFlexGridSizer* sizerirmprop = new wxFlexGridSizer(3);
-
+
if(!isComplexBox)
{
-// wxStaticText* label = 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);
+ 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);
//sizerirmprop->Add(label2,wxFIXED_MINSIZE);
}
//wxBitmap bitmap(Color_xpm);
- //_colorchoose = new wxBitmapButton(this, -1, bitmap,wxDefaultPosition,wxSize(30,30));
- //Connect(_colorchoose->GetId(), wxEVT_COMMAND_BUTTON_CLICKED, (wxObjectEventFunction)&wxMaracasMultipleVolumeRendererPanel::onColorChange);
+ //_colorchoose = new wxBitmapButton(this, -1, bitmap,wxDefaultPosition,wxSize(30,30));
+ //Connect(_colorchoose->GetId(), wxEVT_COMMAND_BUTTON_CLICKED, (wxObjectEventFunction)&wxMaracasMultipleVolumeRendererPanel::onColorChange);
mwxwidget = new HistogramDialogComboBox(this);
mwxwidget->setImageData(img);
//mwxwidget->PushEventHandler(this);
Connect(mwxwidget->GetId(), wxEVT_COMMAND_COMBOBOX_SELECTED, (wxObjectEventFunction)&wxMaracasMultipleVolumeRendererPanel::onColorChange);
- sizerirmprop->Add(mwxwidget,wxFIXED_MINSIZE);
+ sizerirmprop->Add(mwxwidget,wxFIXED_MINSIZE);
wxBitmap bitmap0(Add_xpm);
- _viewimage = new wxBitmapButton(this, -1, bitmap0, wxDefaultPosition, wxSize(30,30));
- Connect(_viewimage->GetId(), wxEVT_COMMAND_BUTTON_CLICKED, (wxObjectEventFunction)&wxMaracasMultipleVolumeRendererPanel::onViewImage);
- sizerirmprop->Add(_viewimage,wxFIXED_MINSIZE);
+ _viewimage = new wxBitmapButton(this, -1, bitmap0, wxDefaultPosition, wxSize(30,30));
+ Connect(_viewimage->GetId(), wxEVT_COMMAND_BUTTON_CLICKED, (wxObjectEventFunction)&wxMaracasMultipleVolumeRendererPanel::onViewImage);
+ sizerirmprop->Add(_viewimage,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);
- this->SetSizer(sizerirmprop, true);
+ this->SetSizer(sizerirmprop, true);
this->SetAutoLayout( true );
-
- //_frame = new wxFrame(this, 10, _T("Configure Transfer Functions"));
+
+ //_frame = new wxFrame(this, 10, _T("Configure Transfer Functions"));
/*wxButton* button1 = new wxButton(_frame,20,_T("OK"));
- Connect(button1->GetId(), wxEVT_COMMAND_BUTTON_CLICKED, (wxObjectEventFunction)&wxMaracasMultipleVolumeRendererPanel::onOK);
+ Connect(button1->GetId(), wxEVT_COMMAND_BUTTON_CLICKED, (wxObjectEventFunction)&wxMaracasMultipleVolumeRendererPanel::onOK);
wxButton* button2 = new wxButton(_frame,30,_T("Cancel") );
- Connect(button2->GetId(), wxEVT_COMMAND_BUTTON_CLICKED, (wxObjectEventFunction)&wxMaracasMultipleVolumeRendererPanel::onCancel);
+ Connect(button2->GetId(), wxEVT_COMMAND_BUTTON_CLICKED, (wxObjectEventFunction)&wxMaracasMultipleVolumeRendererPanel::onCancel);
wxButton* button3 = new wxButton(_frame,40,_T("Update"));
Connect(button3->GetId(), wxEVT_COMMAND_BUTTON_CLICKED, (wxObjectEventFunction)&wxMaracasMultipleVolumeRendererPanel::onUpdate); */
img->GetScalarRange(range);
double max = range[1];
-
+
//X
mwxwidget->addPointToTransferenceFunction(max * 0/2,0.0);
mwxwidget->addPointToTransferenceFunction(max * 1/2,100.0);
boxSizer->Add(button3, wxCENTER);
wxBoxSizer* boxsizer2 = new wxBoxSizer(wxVERTICAL);
- boxsizer2->Add(boxSizer0,1,wxEXPAND);
- boxsizer2->Add(boxSizer,0,wxCENTER);
-
+ boxsizer2->Add(boxSizer0,1,wxEXPAND);
+ boxsizer2->Add(boxSizer,0,wxCENTER);
+
_frame->SetAutoLayout(true);
_frame->SetSizer(boxsizer2);
_frame->Refresh();
- _frame->Update();*/
+ _frame->Update();*/
//mwxwidget->SetFunctions(wxMaracasMultipleVolumeRendererView::getInstance()->GetTransferFunction(getPropId()),
// wxMaracasMultipleVolumeRendererView::getInstance()->GetColorFunction(getPropId()));
- mwxwidget->Refresh();
+ mwxwidget->Refresh();
}
/**
**
**/
void wxMaracasMultipleVolumeRendererPanel::onUpdate(wxCommandEvent& event){
- updateVolume();
+ updateVolume();
}
/**
( (wxMaracasRendererView::getInstance())->getTabbedPanel(this->_propid) )->SetValuesPointsFunction(this->_propid, greylevel, values);
}
else
- {
+ {
wxMaracasMultipleVolumeRendererView::getInstance()->SetValuesColorPointsFunction(this->_propid, greylevelcolors, red, green, blue);
wxMaracasMultipleVolumeRendererView::getInstance()->SetValuesPointsFunction(this->_propid, greylevel, values);
}
/**
** Updates the volume visualization
**/
-void wxMaracasMultipleVolumeRendererPanel::onColorChange(wxCommandEvent& event){
+void wxMaracasMultipleVolumeRendererPanel::onColorChange(wxCommandEvent& event){
//if(mwxwidget->ShowModal()==wxID_OK){
updateVolume();
// mwxwidget->Show(false);
- //}
+ //}
}
/**
**
**/
void wxMaracasMultipleVolumeRendererPanel::onViewImage(wxCommandEvent& event)
-{
+{
vtkImageData* img;
std::vector<int> type;
type.push_back(6);
if(this->isComplexBox)
{
- img = (wxMaracasRendererView::getInstance())->getTabbedPanel(_propid)->getVolImage();
+ img = (wxMaracasRendererView::getInstance())->getTabbedPanel(_propid)->getVolImage();
}
else
- {
+ {
img = wxMaracasMultipleVolumeRendererView::getInstance()->getVolumeRenderManager()->getImageData();
}
/**
**
**/
-void wxMaracasMultipleVolumeRendererPanel::onCheckBoxChange(wxCommandEvent& event){
+void wxMaracasMultipleVolumeRendererPanel::onCheckBoxChange(wxCommandEvent& event){
if(this->isComplexBox)
( (wxMaracasRendererView::getInstance())->getTabbedPanel(this->_propid) )->addRemoveActorV(this->getPropId(), checkbox->GetValue());
else
- wxMaracasMultipleVolumeRendererView::getInstance()->addRemoveActor(this->getPropId(), checkbox->GetValue());
+ wxMaracasMultipleVolumeRendererView::getInstance()->addRemoveActor(this->getPropId(), checkbox->GetValue());
}
/**
return _propid;
}
-void wxMaracasMultipleVolumeRendererPanel::onRadioBoxSelectFunction(wxCommandEvent& event){
-
- wxMaracasMultipleVolumeRendererView::getInstance()->changeCompositeMIPFunction(this->getPropId(), _radiobox->GetSelection());
+void wxMaracasMultipleVolumeRendererPanel::onRadioBoxSelectFunction(wxCommandEvent& event){
+
+ wxMaracasMultipleVolumeRendererView::getInstance()->changeCompositeMIPFunction(this->getPropId(), _radiobox->GetSelection());
}
/**