wxMaracasMultipleVolumeRendererPanel Class Reference

#include <wxMaracasMultipleVolumeRendererPanel.h>

Collaboration diagram for wxMaracasMultipleVolumeRendererPanel:
Collaboration graph
[legend]

List of all members.

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 ()
HistogramDialogComboBoxgetMwxwidget ()

Private Attributes

wxCheckBox * checkbox
wxRadioBox * _radiobox
wxBitmapButton * _viewimage
int _propid
bool first
HistogramDialogComboBoxmwxwidget
bool isComplexBox

Detailed Description

Definition at line 7 of file wxMaracasMultipleVolumeRendererPanel.h.


Constructor & Destructor Documentation

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 }

Here is the call graph for this function:

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 }


Member Function Documentation

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 }

Here is the call graph for this function:

Here is the caller graph for this function:

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 }

Here is the caller graph for this function:

void wxMaracasMultipleVolumeRendererPanel::onCancel ( wxCommandEvent &  event  ) 

Definition at line 157 of file wxMaracasMultipleVolumeRendererPanel.cxx.

00157                                                                         {
00158         //_frame->Show(false);
00159 }

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 }

Here is the call graph for this function:

Here is the caller graph for this function:

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 }

Here is the call graph for this function:

Here is the caller graph for this function:

void wxMaracasMultipleVolumeRendererPanel::onOK ( wxCommandEvent &  event  ) 

Definition at line 149 of file wxMaracasMultipleVolumeRendererPanel.cxx.

References updateVolume().

00149                                                                     {
00150     updateVolume();
00151         //_frame->Show(false);
00152 }

Here is the call graph for this function:

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 }

Here is the call graph for this function:

Here is the caller graph for this function:

void wxMaracasMultipleVolumeRendererPanel::onUpdate ( wxCommandEvent &  event  ) 

Definition at line 164 of file wxMaracasMultipleVolumeRendererPanel.cxx.

References updateVolume().

00164                                                                         {
00165         updateVolume();    
00166 }

Here is the call graph for this function:

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 }

Here is the call graph for this function:

Here is the caller graph for this function:

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 }

Here is the call graph for this function:

Here is the caller graph for this function:


Member Data Documentation

Definition at line 28 of file wxMaracasMultipleVolumeRendererPanel.h.

Referenced by createControls().

Definition at line 26 of file wxMaracasMultipleVolumeRendererPanel.h.

Referenced by createControls(), and onCheckBoxChange().

Definition at line 32 of file wxMaracasMultipleVolumeRendererPanel.h.


The documentation for this class was generated from the following files:

Generated on 18 Mar 2010 for creaMaracasVisu_lib by  doxygen 1.6.1