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)
 ~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
HistogramDialogmwxwidget


Detailed Description

Definition at line 7 of file wxMaracasMultipleVolumeRendererPanel.h.


Constructor & Destructor Documentation

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 }

Here is the call graph for this function:

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 }

Here is the call graph for this function:


Member Function Documentation

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 }

Here is the call graph for this function:

Here is the caller graph for this function:

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 }

Here is the call graph for this function:

Here is the caller graph for this function:

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 }

Here is the call graph for this function:

Here is the caller graph for this function:

void wxMaracasMultipleVolumeRendererPanel::onOK ( wxCommandEvent &  event  ) 

Definition at line 107 of file wxMaracasMultipleVolumeRendererPanel.cxx.

References updateVolume().

00107                                                                     {
00108     updateVolume();
00109         //_frame->Show(false);
00110 }

Here is the call graph for this function:

void wxMaracasMultipleVolumeRendererPanel::onCancel ( wxCommandEvent &  event  ) 

Definition at line 111 of file wxMaracasMultipleVolumeRendererPanel.cxx.

00111                                                                         {
00112         //_frame->Show(false);
00113 }

void wxMaracasMultipleVolumeRendererPanel::onUpdate ( wxCommandEvent &  event  ) 

Definition at line 114 of file wxMaracasMultipleVolumeRendererPanel.cxx.

References updateVolume().

00114                                                                         {
00115         updateVolume();    
00116 }

Here is the call graph for this function:

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 }

Here is the call graph for this function:

Here is the caller graph for this function:

int wxMaracasMultipleVolumeRendererPanel::getPropId (  ) 

Definition at line 145 of file wxMaracasMultipleVolumeRendererPanel.cxx.

References _propid.

Referenced by createControls().

00145                                                    {
00146         return _propid;
00147 }

Here is the caller graph for this function:


Member Data Documentation

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.

HistogramDialog* wxMaracasMultipleVolumeRendererPanel::mwxwidget [private]

Definition at line 30 of file wxMaracasMultipleVolumeRendererPanel.h.

Referenced by createControls(), onColorChange(), updateVolume(), and ~wxMaracasMultipleVolumeRendererPanel().


The documentation for this class was generated from the following files:
Generated on Wed Jul 29 16:36:20 2009 for creaMaracasVisu_lib by  doxygen 1.5.3