#include <wxMaracasMultipleVolumeRendererPanel.h>
Public Member Functions | |
wxMaracasMultipleVolumeRendererPanel (wxWindow *parent, int propid, vtkImageData *img) | |
~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 | updateVolume () |
int | getPropId () |
Private Attributes | |
wxCheckBox * | checkbox |
wxBitmapButton * | _colorchoose |
int | _propid |
bool | first |
HistogramDialog * | mwxwidget |
Definition at line 7 of file wxMaracasMultipleVolumeRendererPanel.h.
wxMaracasMultipleVolumeRendererPanel::wxMaracasMultipleVolumeRendererPanel | ( | wxWindow * | parent, | |
int | propid, | |||
vtkImageData * | img | |||
) |
Implementation of viewProp3D
Definition at line 11 of file wxMaracasMultipleVolumeRendererPanel.cxx.
References _propid, and createControls().
00012 : wxPanel(parent, -1, wxDefaultPosition, wxDefaultSize) 00013 { 00014 _propid = propid; 00015 00016 createControls(img); 00017 }
wxMaracasMultipleVolumeRendererPanel::~wxMaracasMultipleVolumeRendererPanel | ( | ) |
Definition at line 19 of file wxMaracasMultipleVolumeRendererPanel.cxx.
References _propid, wxMaracasMultipleVolumeRendererView::deleteVolume(), wxMaracasMultipleVolumeRendererView::getInstance(), and mwxwidget.
00019 { 00020 //wxMaracasIRMView::getInstance()->addRemoveActor(_propid, false); 00021 wxMaracasMultipleVolumeRendererView::getInstance()->deleteVolume(_propid); 00022 delete mwxwidget; 00023 }
void wxMaracasMultipleVolumeRendererPanel::createControls | ( | vtkImageData * | img | ) |
Definition at line 25 of file wxMaracasMultipleVolumeRendererPanel.cxx.
References _colorchoose, HistogramDialog::addColorPoint(), HistogramDialog::addPointToTransferenceFunction(), checkbox, HistogramDialog::erasePointsTransferenceFunction(), wxMaracasMultipleVolumeRendererView::getInstance(), getPropId(), HistogramDialog::initializeHistogram(), mwxwidget, onCheckBoxChange(), onColorChange(), and HistogramDialog::SetFunctions().
Referenced by wxMaracasMultipleVolumeRendererPanel().
00025 { 00026 00027 wxFlexGridSizer* sizerirmprop = new wxFlexGridSizer(1,1,1); 00028 00029 wxString choices[2]; 00030 choices[0] = wxString(_T("On")); 00031 choices[1] = wxString(_T("Off")); 00032 checkbox = new wxCheckBox(this,-1,wxString(_T("Show Actor"))); 00033 Connect(checkbox->GetId(), wxEVT_COMMAND_CHECKBOX_CLICKED, (wxObjectEventFunction)&wxMaracasMultipleVolumeRendererPanel::onCheckBoxChange); 00034 checkbox->SetValue(true); 00035 00036 sizerirmprop->Add(checkbox,wxFIXED_MINSIZE); 00037 00038 wxBitmap bitmap(Color_xpm); 00039 _colorchoose = new wxBitmapButton(this, -1, bitmap,wxDefaultPosition,wxSize(30,30)); 00040 Connect(_colorchoose->GetId(), wxEVT_COMMAND_BUTTON_CLICKED, (wxObjectEventFunction)&wxMaracasMultipleVolumeRendererPanel::onColorChange); 00041 sizerirmprop->Add(_colorchoose,wxFIXED_MINSIZE); 00042 00043 00044 this->SetSizer(sizerirmprop, true); 00045 this->SetAutoLayout( true ); 00046 00047 00048 00049 //_frame = new wxFrame(this, 10, _T("Configure Transfer Functions")); 00050 00051 /*wxButton* button1 = new wxButton(_frame,20,_T("OK")); 00052 Connect(button1->GetId(), wxEVT_COMMAND_BUTTON_CLICKED, (wxObjectEventFunction)&wxMaracasMultipleVolumeRendererPanel::onOK); 00053 wxButton* button2 = new wxButton(_frame,30,_T("Cancel") ); 00054 Connect(button2->GetId(), wxEVT_COMMAND_BUTTON_CLICKED, (wxObjectEventFunction)&wxMaracasMultipleVolumeRendererPanel::onCancel); 00055 wxButton* button3 = new wxButton(_frame,40,_T("Update")); 00056 Connect(button3->GetId(), wxEVT_COMMAND_BUTTON_CLICKED, (wxObjectEventFunction)&wxMaracasMultipleVolumeRendererPanel::onUpdate); */ 00057 00058 00059 mwxwidget = new HistogramDialog(this, _T("Color Transfer Function")); 00060 mwxwidget->initializeHistogram(img); 00061 00062 mwxwidget->erasePointsTransferenceFunction(); 00063 double range[2]; 00064 img->GetScalarRange(range); 00065 double max = range[1]; 00066 00067 /* 00068 adding the poinst of the transference function 00069 */ 00070 //X 00071 mwxwidget->addPointToTransferenceFunction(max * 0/2,0.0); 00072 mwxwidget->addPointToTransferenceFunction(max * 1/2,100.0); 00073 mwxwidget->addPointToTransferenceFunction(max * 2/2,100.0); 00074 00075 mwxwidget->addColorPoint(max*0/4,(int)(0.0*255),(int)(0.0*255),(int)(0.0*255)); 00076 mwxwidget->addColorPoint(max*1/4,(int)(1.0*255),(int)(0.0*255),(int)(0.0*255)); 00077 mwxwidget->addColorPoint(max*2/4,(int)(0.0*255),(int)(0.0*255),(int)(1.0*255)); 00078 mwxwidget->addColorPoint(max*3/4,(int)(0.0*255),(int)(1.0*255),(int)(0.0*255)); 00079 mwxwidget->addColorPoint(max*4/4,(int)(0.0*255),(int)(0.0*255),(int)(0.2*255)); 00080 00081 /*wxBoxSizer* boxSizer0 = new wxBoxSizer(wxHORIZONTAL); 00082 boxSizer0->Add(mwxwidget, 4, wxGROW); 00083 00084 wxBoxSizer* boxSizer = new wxBoxSizer(wxHORIZONTAL); 00085 boxSizer->AddSpacer(40); 00086 boxSizer->Add(button1, wxCENTER); 00087 boxSizer->AddSpacer(40); 00088 boxSizer->Add(button2, wxCENTER); 00089 boxSizer->AddSpacer(40); 00090 boxSizer->Add(button3, wxCENTER); 00091 00092 wxBoxSizer* boxsizer2 = new wxBoxSizer(wxVERTICAL); 00093 boxsizer2->Add(boxSizer0,1,wxEXPAND); 00094 boxsizer2->Add(boxSizer,0,wxCENTER); 00095 00096 _frame->SetAutoLayout(true); 00097 00098 00099 _frame->SetSizer(boxsizer2); 00100 00101 _frame->Refresh(); 00102 _frame->Update();*/ 00103 mwxwidget->SetFunctions(wxMaracasMultipleVolumeRendererView::getInstance()->GetTransferFunction(getPropId()), 00104 wxMaracasMultipleVolumeRendererView::getInstance()->GetColorFunction(getPropId())); 00105 mwxwidget->Refresh(); 00106 }
void wxMaracasMultipleVolumeRendererPanel::onCheckBoxChange | ( | wxCommandEvent & | event | ) |
Definition at line 141 of file wxMaracasMultipleVolumeRendererPanel.cxx.
References wxMaracasMultipleVolumeRendererView::addRemoveActor(), checkbox, and wxMaracasMultipleVolumeRendererView::getInstance().
Referenced by createControls().
00141 { 00142 wxMaracasMultipleVolumeRendererView::getInstance()->addRemoveActor(this->getPropId(), checkbox->GetValue()); 00143 }
void wxMaracasMultipleVolumeRendererPanel::onColorChange | ( | wxCommandEvent & | event | ) |
Definition at line 134 of file wxMaracasMultipleVolumeRendererPanel.cxx.
References mwxwidget, and updateVolume().
Referenced by createControls().
00134 { 00135 00136 if(mwxwidget->ShowModal()==wxID_OK){ 00137 updateVolume(); 00138 mwxwidget->Show(false); 00139 } 00140 }
void wxMaracasMultipleVolumeRendererPanel::onOK | ( | wxCommandEvent & | event | ) |
Definition at line 107 of file wxMaracasMultipleVolumeRendererPanel.cxx.
References updateVolume().
00107 { 00108 updateVolume(); 00109 //_frame->Show(false); 00110 }
void wxMaracasMultipleVolumeRendererPanel::onCancel | ( | wxCommandEvent & | event | ) |
void wxMaracasMultipleVolumeRendererPanel::onUpdate | ( | wxCommandEvent & | event | ) |
Definition at line 114 of file wxMaracasMultipleVolumeRendererPanel.cxx.
References updateVolume().
00114 { 00115 updateVolume(); 00116 }
void wxMaracasMultipleVolumeRendererPanel::updateVolume | ( | ) |
Definition at line 117 of file wxMaracasMultipleVolumeRendererPanel.cxx.
References wxMaracasMultipleVolumeRendererView::getInstance(), HistogramDialog::GetValuesColorPointsFunction(), HistogramDialog::GetValuesPointsFunction(), mwxwidget, wxMaracasMultipleVolumeRendererView::SetValuesColorPointsFunction(), and wxMaracasMultipleVolumeRendererView::SetValuesPointsFunction().
Referenced by wxMaracasMultipleVolumeRendererView::addVolume(), onColorChange(), onOK(), and onUpdate().
00117 { 00118 std::vector<double> greylevelcolors; 00119 std::vector<double> red; 00120 std::vector<double> green; 00121 std::vector<double> blue; 00122 00123 std::vector<double> greylevel; 00124 std::vector<double> values; 00125 00126 mwxwidget->GetValuesColorPointsFunction(greylevelcolors, red, green, blue); 00127 mwxwidget->GetValuesPointsFunction(greylevel, values); 00128 00129 00130 wxMaracasMultipleVolumeRendererView::getInstance()->SetValuesColorPointsFunction(this->_propid, greylevelcolors, red, green, blue); 00131 wxMaracasMultipleVolumeRendererView::getInstance()->SetValuesPointsFunction(this->_propid, greylevel, values); 00132 00133 }
int wxMaracasMultipleVolumeRendererPanel::getPropId | ( | ) |
Definition at line 145 of file wxMaracasMultipleVolumeRendererPanel.cxx.
References _propid.
Referenced by createControls().
00145 { 00146 return _propid; 00147 }
wxCheckBox* wxMaracasMultipleVolumeRendererPanel::checkbox [private] |
Definition at line 23 of file wxMaracasMultipleVolumeRendererPanel.h.
Referenced by createControls(), and onCheckBoxChange().
wxBitmapButton* wxMaracasMultipleVolumeRendererPanel::_colorchoose [private] |
Definition at line 24 of file wxMaracasMultipleVolumeRendererPanel.h.
Referenced by createControls().
int wxMaracasMultipleVolumeRendererPanel::_propid [private] |
Definition at line 26 of file wxMaracasMultipleVolumeRendererPanel.h.
Referenced by getPropId(), wxMaracasMultipleVolumeRendererPanel(), and ~wxMaracasMultipleVolumeRendererPanel().
bool wxMaracasMultipleVolumeRendererPanel::first [private] |
Definition at line 28 of file wxMaracasMultipleVolumeRendererPanel.h.
Definition at line 30 of file wxMaracasMultipleVolumeRendererPanel.h.
Referenced by createControls(), onColorChange(), updateVolume(), and ~wxMaracasMultipleVolumeRendererPanel().