#include <wxMaracasMultipleVolumeRendererPanel.h>
Public Member Functions | |
wxMaracasMultipleVolumeRendererPanel (wxWindow *parent, int propid, vtkImageData *img, bool _isComplexBox) | |
~wxMaracasMultipleVolumeRendererPanel () | |
void | createControls (vtkImageData *img) |
void | onCheckBoxChange (wxCommandEvent &event) |
void | onColorChange (wxCommandEvent &event) |
void | onOK (wxCommandEvent &event) |
void | onCancel (wxCommandEvent &event) |
void | onUpdate (wxCommandEvent &event) |
void | onViewImage (wxCommandEvent &event) |
void | onRadioBoxSelectFunction (wxCommandEvent &event) |
void | updateVolume () |
int | getPropId () |
HistogramDialogComboBox * | getMwxwidget () |
Private Attributes | |
wxCheckBox * | checkbox |
wxRadioBox * | _radiobox |
wxBitmapButton * | _viewimage |
int | _propid |
bool | first |
HistogramDialogComboBox * | mwxwidget |
bool | isComplexBox |
Definition at line 7 of file wxMaracasMultipleVolumeRendererPanel.h.
wxMaracasMultipleVolumeRendererPanel::wxMaracasMultipleVolumeRendererPanel | ( | wxWindow * | parent, | |
int | propid, | |||
vtkImageData * | img, | |||
bool | _isComplexBox | |||
) |
Implementation of viewProp3D Class constructor
Definition at line 24 of file wxMaracasMultipleVolumeRendererPanel.cxx.
References _propid, createControls(), and isComplexBox.
00025 : wxPanel(parent, -1, wxDefaultPosition, wxDefaultSize) 00026 { 00027 _propid = propid; 00028 isComplexBox = _isComplexBox; 00029 00030 createControls(img); 00031 }
wxMaracasMultipleVolumeRendererPanel::~wxMaracasMultipleVolumeRendererPanel | ( | ) |
Class destructor
Definition at line 36 of file wxMaracasMultipleVolumeRendererPanel.cxx.
References mwxwidget.
00036 { 00037 00038 //if(isComplexBox) 00039 //((wxMaracasRenderTabbedPanel*)(wxMaracasRendererView::getInstance())->getTabbedPanel())->deleteVolume(_propid); 00040 //else 00041 //wxMaracasMultipleVolumeRendererView::getInstance()->deleteVolume(_propid); 00042 delete mwxwidget; 00043 }
void wxMaracasMultipleVolumeRendererPanel::createControls | ( | vtkImageData * | img | ) |
Sets panel elements
Definition at line 48 of file wxMaracasMultipleVolumeRendererPanel.cxx.
References _radiobox, _viewimage, checkbox, isComplexBox, mwxwidget, onCheckBoxChange(), onColorChange(), onRadioBoxSelectFunction(), onViewImage(), and HistogramDialogComboBox::setImageData().
Referenced by wxMaracasMultipleVolumeRendererPanel().
00048 { 00049 00050 wxFlexGridSizer* sizerirmprop = new wxFlexGridSizer(3); 00051 00052 if(!isComplexBox) 00053 { 00054 wxStaticText* label = new wxStaticText(this, -1, wxString(_T(""))); 00055 wxStaticText* label2 = new wxStaticText(this, -1, wxString(_T(""))); 00056 00057 00058 checkbox = new wxCheckBox(this,-1,wxString(_T("Show Actor"))); 00059 Connect(checkbox->GetId(), wxEVT_COMMAND_CHECKBOX_CLICKED, (wxObjectEventFunction)&wxMaracasMultipleVolumeRendererPanel::onCheckBoxChange); 00060 checkbox->SetValue(true); 00061 00062 wxString choices[] = {_T("Composite"), _T("MIP")}; 00063 _radiobox = new wxRadioBox(this, -1, wxString(_T("Function")), wxDefaultPosition, wxDefaultSize, 2, choices); 00064 Connect(_radiobox->GetId(), wxEVT_COMMAND_RADIOBOX_SELECTED, (wxObjectEventFunction)&wxMaracasMultipleVolumeRendererPanel::onRadioBoxSelectFunction); 00065 00066 sizerirmprop->Add(checkbox,wxFIXED_MINSIZE); 00067 sizerirmprop->AddSpacer(5); 00068 sizerirmprop->Add(_radiobox,wxFIXED_MINSIZE); 00069 //sizerirmprop->Add(label2,wxFIXED_MINSIZE); 00070 } 00071 //wxBitmap bitmap(Color_xpm); 00072 //_colorchoose = new wxBitmapButton(this, -1, bitmap,wxDefaultPosition,wxSize(30,30)); 00073 //Connect(_colorchoose->GetId(), wxEVT_COMMAND_BUTTON_CLICKED, (wxObjectEventFunction)&wxMaracasMultipleVolumeRendererPanel::onColorChange); 00074 00075 mwxwidget = new HistogramDialogComboBox(this); 00076 mwxwidget->setImageData(img); 00077 //mwxwidget->PushEventHandler(this); 00078 Connect(mwxwidget->GetId(), wxEVT_COMMAND_COMBOBOX_SELECTED, (wxObjectEventFunction)&wxMaracasMultipleVolumeRendererPanel::onColorChange); 00079 sizerirmprop->Add(mwxwidget,wxFIXED_MINSIZE); 00080 00081 wxBitmap bitmap0(Add_xpm); 00082 _viewimage = new wxBitmapButton(this, -1, bitmap0, wxDefaultPosition, wxSize(30,30)); 00083 Connect(_viewimage->GetId(), wxEVT_COMMAND_BUTTON_CLICKED, (wxObjectEventFunction)&wxMaracasMultipleVolumeRendererPanel::onViewImage); 00084 sizerirmprop->Add(_viewimage,wxFIXED_MINSIZE); 00085 00086 //std::string iconsdir = wxMaracasMultipleVolumeRendererView::getInstance()->getPath(); 00087 //iconsdir+="/data/Icons/Add.xmp"; 00088 //wxBitmap* bitmap = new wxBitmap(wxString(iconsdir.c_str(),wxConvUTF8), wxBITMAP_TYPE_XPM); 00089 00090 this->SetSizer(sizerirmprop, true); 00091 this->SetAutoLayout( true ); 00092 00093 //_frame = new wxFrame(this, 10, _T("Configure Transfer Functions")); 00094 00095 /*wxButton* button1 = new wxButton(_frame,20,_T("OK")); 00096 Connect(button1->GetId(), wxEVT_COMMAND_BUTTON_CLICKED, (wxObjectEventFunction)&wxMaracasMultipleVolumeRendererPanel::onOK); 00097 wxButton* button2 = new wxButton(_frame,30,_T("Cancel") ); 00098 Connect(button2->GetId(), wxEVT_COMMAND_BUTTON_CLICKED, (wxObjectEventFunction)&wxMaracasMultipleVolumeRendererPanel::onCancel); 00099 wxButton* button3 = new wxButton(_frame,40,_T("Update")); 00100 Connect(button3->GetId(), wxEVT_COMMAND_BUTTON_CLICKED, (wxObjectEventFunction)&wxMaracasMultipleVolumeRendererPanel::onUpdate); */ 00101 00102 /*mwxwidget->erasePointsTransferenceFunction(); 00103 double range[2]; 00104 img->GetScalarRange(range); 00105 double max = range[1]; 00106 00107 00108 //X 00109 mwxwidget->addPointToTransferenceFunction(max * 0/2,0.0); 00110 mwxwidget->addPointToTransferenceFunction(max * 1/2,100.0); 00111 mwxwidget->addPointToTransferenceFunction(max * 2/2,100.0); 00112 00113 mwxwidget->addColorPoint(max*0/4,(int)(0.0*255),(int)(0.0*255),(int)(0.0*255)); 00114 mwxwidget->addColorPoint(max*1/4,(int)(1.0*255),(int)(0.0*255),(int)(0.0*255)); 00115 mwxwidget->addColorPoint(max*2/4,(int)(0.0*255),(int)(0.0*255),(int)(1.0*255)); 00116 mwxwidget->addColorPoint(max*3/4,(int)(0.0*255),(int)(1.0*255),(int)(0.0*255)); 00117 mwxwidget->addColorPoint(max*4/4,(int)(0.0*255),(int)(0.0*255),(int)(0.2*255)); */ 00118 00119 /*wxBoxSizer* boxSizer0 = new wxBoxSizer(wxHORIZONTAL); 00120 boxSizer0->Add(mwxwidget, 4, wxGROW); 00121 00122 wxBoxSizer* boxSizer = new wxBoxSizer(wxHORIZONTAL); 00123 boxSizer->AddSpacer(40); 00124 boxSizer->Add(button1, wxCENTER); 00125 boxSizer->AddSpacer(40); 00126 boxSizer->Add(button2, wxCENTER); 00127 boxSizer->AddSpacer(40); 00128 boxSizer->Add(button3, wxCENTER); 00129 00130 wxBoxSizer* boxsizer2 = new wxBoxSizer(wxVERTICAL); 00131 boxsizer2->Add(boxSizer0,1,wxEXPAND); 00132 boxsizer2->Add(boxSizer,0,wxCENTER); 00133 00134 _frame->SetAutoLayout(true); 00135 00136 00137 _frame->SetSizer(boxsizer2); 00138 00139 _frame->Refresh(); 00140 _frame->Update();*/ 00141 //mwxwidget->SetFunctions(wxMaracasMultipleVolumeRendererView::getInstance()->GetTransferFunction(getPropId()), 00142 // wxMaracasMultipleVolumeRendererView::getInstance()->GetColorFunction(getPropId())); 00143 mwxwidget->Refresh(); 00144 }
HistogramDialogComboBox * wxMaracasMultipleVolumeRendererPanel::getMwxwidget | ( | ) |
Carolina Perez: Recently added method
Definition at line 256 of file wxMaracasMultipleVolumeRendererPanel.cxx.
References mwxwidget.
00257 { 00258 return mwxwidget; 00259 }
int wxMaracasMultipleVolumeRendererPanel::getPropId | ( | ) |
Gets the propId
Definition at line 244 of file wxMaracasMultipleVolumeRendererPanel.cxx.
References _propid.
Referenced by onCheckBoxChange(), and onRadioBoxSelectFunction().
00244 { 00245 return _propid; 00246 }
void wxMaracasMultipleVolumeRendererPanel::onCancel | ( | wxCommandEvent & | event | ) |
Definition at line 157 of file wxMaracasMultipleVolumeRendererPanel.cxx.
void wxMaracasMultipleVolumeRendererPanel::onCheckBoxChange | ( | wxCommandEvent & | event | ) |
Definition at line 234 of file wxMaracasMultipleVolumeRendererPanel.cxx.
References _propid, wxMaracasMultipleVolumeRendererView::addRemoveActor(), checkbox, wxMaracasMultipleVolumeRendererView::getInstance(), wxMaracasRendererView::getInstance(), getPropId(), and isComplexBox.
Referenced by createControls().
00234 { 00235 if(this->isComplexBox) 00236 ( (wxMaracasRendererView::getInstance())->getTabbedPanel(this->_propid) )->addRemoveActorV(this->getPropId(), checkbox->GetValue()); 00237 else 00238 wxMaracasMultipleVolumeRendererView::getInstance()->addRemoveActor(this->getPropId(), checkbox->GetValue()); 00239 }
void wxMaracasMultipleVolumeRendererPanel::onColorChange | ( | wxCommandEvent & | event | ) |
Updates the volume visualization
Definition at line 198 of file wxMaracasMultipleVolumeRendererPanel.cxx.
References updateVolume().
Referenced by createControls().
00198 { 00199 00200 //if(mwxwidget->ShowModal()==wxID_OK){ 00201 updateVolume(); 00202 // mwxwidget->Show(false); 00203 //} 00204 }
void wxMaracasMultipleVolumeRendererPanel::onOK | ( | wxCommandEvent & | event | ) |
Definition at line 149 of file wxMaracasMultipleVolumeRendererPanel.cxx.
References updateVolume().
00149 { 00150 updateVolume(); 00151 //_frame->Show(false); 00152 }
void wxMaracasMultipleVolumeRendererPanel::onRadioBoxSelectFunction | ( | wxCommandEvent & | event | ) |
Definition at line 248 of file wxMaracasMultipleVolumeRendererPanel.cxx.
References _radiobox, wxMaracasMultipleVolumeRendererView::changeCompositeMIPFunction(), wxMaracasMultipleVolumeRendererView::getInstance(), and getPropId().
Referenced by createControls().
00248 { 00249 00250 wxMaracasMultipleVolumeRendererView::getInstance()->changeCompositeMIPFunction(this->getPropId(), _radiobox->GetSelection()); 00251 }
void wxMaracasMultipleVolumeRendererPanel::onUpdate | ( | wxCommandEvent & | event | ) |
Definition at line 164 of file wxMaracasMultipleVolumeRendererPanel.cxx.
References updateVolume().
00164 { 00165 updateVolume(); 00166 }
void wxMaracasMultipleVolumeRendererPanel::onViewImage | ( | wxCommandEvent & | event | ) |
Definition at line 209 of file wxMaracasMultipleVolumeRendererPanel.cxx.
References _propid, wxMaracasMultipleVolumeRendererManager::getImageData(), wxMaracasMultipleVolumeRendererView::getInstance(), wxMaracasRendererView::getInstance(), wxMaracasMultipleVolumeRendererView::getVolumeRenderManager(), and isComplexBox.
Referenced by createControls().
00210 { 00211 vtkImageData* img; 00212 std::vector<int> type; 00213 type.push_back(6); 00214 00215 wxFrame* frame = new wxFrame(this, -1, wxString(_T("Volume Visualization"))); 00216 frame->SetSize(wxDefaultSize); 00217 00218 if(this->isComplexBox) 00219 { 00220 img = (wxMaracasRendererView::getInstance())->getTabbedPanel(_propid)->getVolImage(); 00221 } 00222 else 00223 { 00224 img = wxMaracasMultipleVolumeRendererView::getInstance()->getVolumeRenderManager()->getImageData(); 00225 } 00226 00227 wxMaracas_N_ViewersWidget* viewer = new wxMaracas_N_ViewersWidget(frame, img, &type); 00228 frame->Show(); 00229 }
void wxMaracasMultipleVolumeRendererPanel::updateVolume | ( | ) |
Definition at line 171 of file wxMaracasMultipleVolumeRendererPanel.cxx.
References _propid, wxMaracasMultipleVolumeRendererView::getInstance(), wxMaracasRendererView::getInstance(), HistogramDialogComboBox::GetValuesColorPointsFunction(), HistogramDialogComboBox::GetValuesPointsFunction(), isComplexBox, mwxwidget, wxMaracasMultipleVolumeRendererView::SetValuesColorPointsFunction(), and wxMaracasMultipleVolumeRendererView::SetValuesPointsFunction().
Referenced by wxMaracasRenderTabbedPanel::addVolume(), wxMaracasMultipleVolumeRendererView::addVolume(), onColorChange(), onOK(), and onUpdate().
00171 { 00172 std::vector<double> greylevelcolors; 00173 std::vector<double> red; 00174 std::vector<double> green; 00175 std::vector<double> blue; 00176 00177 std::vector<double> greylevel; 00178 std::vector<double> values; 00179 00180 mwxwidget->GetValuesColorPointsFunction(greylevelcolors, red, green, blue); 00181 mwxwidget->GetValuesPointsFunction(greylevel, values); 00182 00183 if(this->isComplexBox) 00184 { 00185 ( (wxMaracasRendererView::getInstance())->getTabbedPanel(this->_propid) )->SetValuesColorPointsFunction(this->_propid,greylevelcolors, red, green, blue); 00186 ( (wxMaracasRendererView::getInstance())->getTabbedPanel(this->_propid) )->SetValuesPointsFunction(this->_propid, greylevel, values); 00187 } 00188 else 00189 { 00190 wxMaracasMultipleVolumeRendererView::getInstance()->SetValuesColorPointsFunction(this->_propid, greylevelcolors, red, green, blue); 00191 wxMaracasMultipleVolumeRendererView::getInstance()->SetValuesPointsFunction(this->_propid, greylevel, values); 00192 } 00193 }
int wxMaracasMultipleVolumeRendererPanel::_propid [private] |
Definition at line 30 of file wxMaracasMultipleVolumeRendererPanel.h.
Referenced by getPropId(), onCheckBoxChange(), onViewImage(), updateVolume(), and wxMaracasMultipleVolumeRendererPanel().
wxRadioBox* wxMaracasMultipleVolumeRendererPanel::_radiobox [private] |
Definition at line 27 of file wxMaracasMultipleVolumeRendererPanel.h.
Referenced by createControls(), and onRadioBoxSelectFunction().
wxBitmapButton* wxMaracasMultipleVolumeRendererPanel::_viewimage [private] |
Definition at line 28 of file wxMaracasMultipleVolumeRendererPanel.h.
Referenced by createControls().
wxCheckBox* wxMaracasMultipleVolumeRendererPanel::checkbox [private] |
Definition at line 26 of file wxMaracasMultipleVolumeRendererPanel.h.
Referenced by createControls(), and onCheckBoxChange().
bool wxMaracasMultipleVolumeRendererPanel::first [private] |
Definition at line 32 of file wxMaracasMultipleVolumeRendererPanel.h.
bool wxMaracasMultipleVolumeRendererPanel::isComplexBox [private] |
Definition at line 38 of file wxMaracasMultipleVolumeRendererPanel.h.
Referenced by createControls(), onCheckBoxChange(), onViewImage(), updateVolume(), and wxMaracasMultipleVolumeRendererPanel().
Definition at line 34 of file wxMaracasMultipleVolumeRendererPanel.h.
Referenced by createControls(), getMwxwidget(), updateVolume(), and ~wxMaracasMultipleVolumeRendererPanel().