wxMaracasSurfaceRenderingProp3D Class Reference

#include <wxMaracasSurfaceRenderingProp3D.h>

Inheritance diagram for wxMaracasSurfaceRenderingProp3D:
Inheritance graph
[legend]
Collaboration diagram for wxMaracasSurfaceRenderingProp3D:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 wxMaracasSurfaceRenderingProp3D (wxWindow *parent, int propid, bool _isComplexBox, int _panID)
 ~wxMaracasSurfaceRenderingProp3D ()
virtual void createControls ()
void onOpacityRelease (wxScrollEvent &event)
void onCheckBoxChange (wxCommandEvent &event)
void onCheckBoxSurfaceChange (wxCommandEvent &event)
void onColorChange (wxCommandEvent &event)
void onViewImage (wxCommandEvent &event)
virtual void createPanel ()
virtual void addControl (wxWindow *win)
virtual void addControl (wxSizer *sizer)
virtual void onActionButtonPressedHide (wxCommandEvent &event)
int getPropId ()
int getPanId ()
bool isComplex ()

Protected Attributes

int _propid
bool isComplexBox
int panID

Private Attributes

wxCheckBox * checkbox
wxCheckBox * checkboxsurface
wxSlider * opacity
wxBitmapButton * _colorchoose
wxBitmapButton * _viewimage

Detailed Description

Definition at line 7 of file wxMaracasSurfaceRenderingProp3D.h.


Constructor & Destructor Documentation

wxMaracasSurfaceRenderingProp3D::wxMaracasSurfaceRenderingProp3D ( wxWindow *  parent,
int  propid,
bool  _isComplexBox,
int  _panID 
)

Implementation of viewProp3D

Definition at line 17 of file wxMaracasSurfaceRenderingProp3D.cxx.

References createControls().

00018 :wxMaracasSurfaceRenderingPanel(parent, propid, _isComplexBox, _panID){
00019         createControls();       
00020 }

Here is the call graph for this function:

wxMaracasSurfaceRenderingProp3D::~wxMaracasSurfaceRenderingProp3D (  ) 

Panel Destructor

Definition at line 25 of file wxMaracasSurfaceRenderingProp3D.cxx.

References wxMaracasSurfaceRenderingPanel::isComplex().

00025                                                                  {      
00026         //wxMaracasSurfaceRendering::getInstance()->addRemoveActor(_propid, false);
00027         if(this->isComplex())
00028         {       
00029                 //if(this->getPanId() == 1)
00030                 //      ((wxMaracasRenderTabbedPanel*)(wxMaracasRendererView::getInstance())->getTabbedPanel())->addRemoveActorSA(_propid, false);
00031                 //if(this->getPanId() == 2)
00032                 //      ((wxMaracasRenderTabbedPanel*)(wxMaracasRendererView::getInstance())->getTabbedPanel())->addRemoveActorSB(_propid, false);
00033                 //if(this->getPanId() == 3)
00034                 //      ((wxMaracasRenderTabbedPanel*)(wxMaracasRendererView::getInstance())->getTabbedPanel())->addRemoveActorSC(_propid, false);
00035         }
00036         //else
00037                 //wxMaracasSurfaceRendering::getInstance()->deleteActor(_propid);
00038 }

Here is the call graph for this function:


Member Function Documentation

virtual void wxMaracasSurfaceRenderingPanel::addControl ( wxSizer *  sizer  )  [inline, virtual, inherited]

Adds a new control to the panel (sizer, radiob, etc)

Definition at line 53 of file wxMaracasSurfaceRenderingPanel.h.

References wxMaracasSurfaceRenderingPanel::sizercontrols.

00053                                                {
00054                 if(sizercontrols!=NULL){
00055                         sizercontrols->Add(sizer, wxGROW);
00056                 }
00057         }

virtual void wxMaracasSurfaceRenderingPanel::addControl ( wxWindow *  win  )  [inline, virtual, inherited]

Adds a new control to the panel (sizer, radiob, etc)

Definition at line 44 of file wxMaracasSurfaceRenderingPanel.h.

References wxMaracasSurfaceRenderingPanel::sizercontrols.

Referenced by wxMaracasSurfaceRenderingProp3DMHD::createControls(), and createControls().

00044                                               {
00045                 if(sizercontrols!=NULL){
00046                         sizercontrols->Add(win, wxGROW);
00047                 }
00048         }

Here is the caller graph for this function:

void wxMaracasSurfaceRenderingProp3D::createControls (  )  [virtual]

Constructs the panel. Elements inside may change depending on which tipe of panel construction if being requested

Implements wxMaracasSurfaceRenderingPanel.

Definition at line 43 of file wxMaracasSurfaceRenderingProp3D.cxx.

References _colorchoose, wxMaracasSurfaceRenderingPanel::addControl(), checkbox, checkboxsurface, wxMaracasSurfaceRendering::getInstance(), wxMaracasSurfaceRenderingPanel::isComplexBox, onCheckBoxChange(), onCheckBoxSurfaceChange(), onColorChange(), onOpacityRelease(), and opacity.

Referenced by wxMaracasSurfaceRenderingProp3D().

00043                                                     {
00044 
00045         wxFlexGridSizer* sizersurfprop = new wxFlexGridSizer(1);
00046         
00047         if(!isComplexBox) 
00048         {
00049                 //wxString choices[2];
00050                 //choices[0] = wxString(_T("On"));
00051                 //choices[1] = wxString(_T("Off"));
00052                 wxFlexGridSizer* checkboxsizer = new wxFlexGridSizer(2);
00053 
00054                 checkbox = new  wxCheckBox(this,-1,wxString(_T("Show Actor")));
00055                 Connect(checkbox->GetId(), wxEVT_COMMAND_CHECKBOX_CLICKED, (wxObjectEventFunction)&wxMaracasSurfaceRenderingProp3D::onCheckBoxChange);  
00056                 checkbox->SetValue(true);       
00057                 checkboxsizer->Add(checkbox,1, wxGROW);
00058 
00059 
00060                 if(wxMaracasSurfaceRendering::getInstance()->interactorSet()){
00061                         checkboxsurface = new  wxCheckBox(this,-1,wxString(_T("Surface Box")));
00062                         Connect(checkboxsurface->GetId(), wxEVT_COMMAND_CHECKBOX_CLICKED, (wxObjectEventFunction)&wxMaracasSurfaceRenderingProp3D::onCheckBoxSurfaceChange);    
00063                         checkboxsurface->SetValue(true);
00064                         checkboxsizer->Add(checkboxsurface,1, wxGROW);
00065                 }       
00066 
00067 
00068                 sizersurfprop->Add(checkboxsizer,1, wxGROW);
00069         }
00070 
00071         //this->addControl(checkbox);   
00072         wxFlexGridSizer* sizerbut = new wxFlexGridSizer(3);
00073 
00074         wxBitmap bitmap(Color_xpm);
00075         _colorchoose = new wxBitmapButton(this, -1, bitmap,wxDefaultPosition,wxSize(30,30));    
00076         Connect(_colorchoose->GetId(), wxEVT_COMMAND_BUTTON_CLICKED, (wxObjectEventFunction)&wxMaracasSurfaceRenderingProp3D::onColorChange);                   
00077         sizerbut->Add(_colorchoose,1, wxGROW);
00078 
00079         /*
00080         wxBitmap bitmap1(Add_xpm);
00081         _viewimage = new wxBitmapButton(this, -1, bitmap1, wxDefaultPosition, wxSize(30,30));   
00082         Connect(_viewimage->GetId(), wxEVT_COMMAND_BUTTON_CLICKED, (wxObjectEventFunction)&wxMaracasSurfaceRenderingProp3D::onViewImage);                       
00083         sizerbut->Add(_viewimage,wxFIXED_MINSIZE);
00084         */
00085         sizersurfprop->Add(sizerbut,1, wxGROW);
00086         //sizercolor->Add(checkbox,wxFIXED_MINSIZE);
00087         //sizercolor->Add(_colorchoose,wxFIXED_MINSIZE);
00088         //this->addControl(sizercolor);
00089 
00090         wxStaticText* label = new wxStaticText(this, -1, wxString(_T("Opacity")));              
00091         opacity = new wxSlider(this, -1,100,0,100,wxDefaultPosition,wxDefaultSize,wxSL_HORIZONTAL|wxSL_LABELS); 
00092         Connect(opacity->GetId(), wxEVT_SCROLL_CHANGED, (wxObjectEventFunction)&wxMaracasSurfaceRenderingProp3D::onOpacityRelease);     
00093         wxFlexGridSizer* sizeropacity = new wxFlexGridSizer(1,1,1);     
00094         sizeropacity->Add(label,1, wxGROW);
00095         sizeropacity->Add(opacity,1, wxGROW);
00096 
00097         sizersurfprop->Add(sizeropacity,1, wxGROW);
00098 
00099         this->addControl(sizersurfprop);
00100         
00101 }

Here is the call graph for this function:

Here is the caller graph for this function:

virtual void wxMaracasSurfaceRenderingPanel::createPanel (  )  [inline, virtual, inherited]

Definition at line 16 of file wxMaracasSurfaceRenderingPanel.h.

References wxMaracasSurfaceRenderingPanel::show, and wxMaracasSurfaceRenderingPanel::sizercontrols.

Referenced by wxMaracasSurfaceRenderingPanel::wxMaracasSurfaceRenderingPanel().

00016                                   {
00017                 show = false;
00018         /*wxBoxSizer* sizerButtons = new wxBoxSizer(wxVERTICAL);
00019 
00020                 wxButton* b = new wxButton(this, -1, wxString(_T("-")), wxDefaultPosition, wxDefaultSize, wxBU_EXACTFIT, 
00021                                                                 wxDefaultValidator, wxString(_T("-"))); 
00022                 Connect(b->GetId(), wxEVT_COMMAND_BUTTON_CLICKED, (wxObjectEventFunction)&wxMaracasSurfaceRenderingPanel::onActionButtonPressedHide);
00023                 wxButton* b1 = new wxButton(this, -1, wxString(_T("-")), wxDefaultPosition, wxDefaultSize, wxBU_EXACTFIT, 
00024                                                                 wxDefaultValidator, wxString(_T("x"))); 
00025                 Connect(b1->GetId(), wxEVT_COMMAND_BUTTON_CLICKED, (wxObjectEventFunction)&wxMaracasSurfaceRenderingPanel::onActionButtonPressedEliminate);
00026 
00027                 sizerButtons->Add(b, wxFIXED_MINSIZE);
00028                 sizerButtons->Add(b1, wxFIXED_MINSIZE);*/
00029 
00030                 sizercontrols = new wxBoxSizer(wxVERTICAL);
00031 
00032                 wxBoxSizer* sizerpanel = new wxBoxSizer(wxHORIZONTAL);
00033 
00034                 //sizerpanel->Add(sizerButtons,wxGROW);
00035                 sizerpanel->Add(sizercontrols,wxGROW);
00036         
00037                 this->SetSizer(sizerpanel, true);               
00038                 this->SetAutoLayout( true );
00039         }

Here is the caller graph for this function:

int wxMaracasSurfaceRenderingPanel::getPanId (  )  [inline, inherited]

Returns the papnel id

Definition at line 93 of file wxMaracasSurfaceRenderingPanel.h.

References wxMaracasSurfaceRenderingPanel::panID.

Referenced by onColorChange(), wxMaracasSurfaceRenderingProp3DMHD::onIsoValueRelease(), onOpacityRelease(), and onViewImage().

00093                       {
00094                 return panID;
00095         }

Here is the caller graph for this function:

int wxMaracasSurfaceRenderingPanel::getPropId (  )  [inline, inherited]

returns the id of the panel

Definition at line 86 of file wxMaracasSurfaceRenderingPanel.h.

References wxMaracasSurfaceRenderingPanel::_propid.

Referenced by onCheckBoxChange(), onCheckBoxSurfaceChange(), onColorChange(), wxMaracasSurfaceRenderingProp3DMHD::onIsoValueRelease(), and onOpacityRelease().

00086                        {
00087                 return _propid;
00088         }

Here is the caller graph for this function:

bool wxMaracasSurfaceRenderingPanel::isComplex (  )  [inline, inherited]

Tells if the panel is used for a complex box

Definition at line 100 of file wxMaracasSurfaceRenderingPanel.h.

References wxMaracasSurfaceRenderingPanel::isComplexBox.

Referenced by onColorChange(), wxMaracasSurfaceRenderingProp3DMHD::onIsoValueRelease(), onOpacityRelease(), ~wxMaracasSurfaceRenderingProp3D(), and wxMaracasSurfaceRenderingProp3DMHD::~wxMaracasSurfaceRenderingProp3DMHD().

00100                         {
00101                 return isComplexBox;
00102         }

Here is the caller graph for this function:

virtual void wxMaracasSurfaceRenderingPanel::onActionButtonPressedHide ( wxCommandEvent &  event  )  [inline, virtual, inherited]

Hides or show the controls in the panel

Definition at line 62 of file wxMaracasSurfaceRenderingPanel.h.

References wxMaracasSurfaceRenderingPanel::show, and wxMaracasSurfaceRenderingPanel::sizercontrols.

00062                                                                        {
00063                 wxList list = sizercontrols->GetChildren();             
00064                 int i;
00065                 for(i=0; i<(int)list.size();i++){
00066                         sizercontrols->Show(i,show);
00067                 }
00068                 show = !show;
00069                 sizercontrols->Layout();
00070                 this->Layout();
00071         }

void wxMaracasSurfaceRenderingProp3D::onCheckBoxChange ( wxCommandEvent &  event  ) 

Method called by setting on or off the actor

Definition at line 106 of file wxMaracasSurfaceRenderingProp3D.cxx.

References wxMaracasSurfaceRendering::addRemoveActor(), checkbox, wxMaracasSurfaceRendering::getInstance(), and wxMaracasSurfaceRenderingPanel::getPropId().

Referenced by createControls().

00106                                                                            {    
00107         //if(!isComplexBox)
00108         wxMaracasSurfaceRendering::getInstance()->addRemoveActor(this->getPropId(), checkbox->GetValue());      
00109 }

Here is the call graph for this function:

Here is the caller graph for this function:

void wxMaracasSurfaceRenderingProp3D::onCheckBoxSurfaceChange ( wxCommandEvent &  event  ) 

Definition at line 110 of file wxMaracasSurfaceRenderingProp3D.cxx.

References wxMaracasSurfaceRendering::addRemoveSurfaceBox(), checkboxsurface, wxMaracasSurfaceRendering::getInstance(), and wxMaracasSurfaceRenderingPanel::getPropId().

Referenced by createControls().

00110                                                                                   {     
00111         //if(!isComplexBox)
00112         wxMaracasSurfaceRendering::getInstance()->addRemoveSurfaceBox(this->getPropId(), checkboxsurface->GetValue());  
00113 }

Here is the call graph for this function:

Here is the caller graph for this function:

void wxMaracasSurfaceRenderingProp3D::onColorChange ( wxCommandEvent &  event  ) 

Definition at line 118 of file wxMaracasSurfaceRenderingProp3D.cxx.

References _colorchoose, wxMaracasSurfaceRendering::changeColor(), wxMaracasSurfaceRendering::getInstance(), wxMaracasRendererView::getInstance(), wxMaracasSurfaceRenderingPanel::getPanId(), wxMaracasSurfaceRenderingPanel::getPropId(), and wxMaracasSurfaceRenderingPanel::isComplex().

Referenced by createControls().

00118                                                                         {
00119         wxColourDialog* colourdiag = new wxColourDialog(this);
00120         if(colourdiag->ShowModal()==wxID_OK){
00121                 wxColour colour = colourdiag->GetColourData().GetColour();
00122                 _colorchoose->SetBackgroundColour(colour);
00123 
00124                 double r = (double)(colour.Red())/255.0;
00125                 double g = (double)(colour.Green())/255.0;
00126                 double b = (double)(colour.Blue())/255.0;
00127                 
00128                 if(this->isComplex()){
00129                         if(this->getPanId() == 1)
00130                                 ( (wxMaracasRendererView::getInstance())->getTabbedPanel(getPropId()) )->changeColorA(this->getPropId(), r, g, b);
00131                         if(this->getPanId() == 2)
00132                                 ( (wxMaracasRendererView::getInstance())->getTabbedPanel(getPropId()) )->changeColorB(this->getPropId(), r, g, b);
00133                         if(this->getPanId() == 3)
00134                                 ( (wxMaracasRendererView::getInstance())->getTabbedPanel(getPropId()) )->changeColorC(this->getPropId(), r, g, b);
00135                 }
00136                 else
00137                         wxMaracasSurfaceRendering::getInstance()->changeColor(this->getPropId(),r,g,b);
00138         }
00139         delete colourdiag;
00140 }

Here is the call graph for this function:

Here is the caller graph for this function:

void wxMaracasSurfaceRenderingProp3D::onOpacityRelease ( wxScrollEvent &  event  ) 

Changes the opacity of an actor

Definition at line 148 of file wxMaracasSurfaceRenderingProp3D.cxx.

References wxMaracasSurfaceRendering::changeOpacity(), wxMaracasSurfaceRendering::getInstance(), wxMaracasRendererView::getInstance(), wxMaracasSurfaceRenderingPanel::getPanId(), wxMaracasSurfaceRenderingPanel::getPropId(), wxMaracasSurfaceRenderingPanel::isComplex(), and opacity.

Referenced by createControls().

00148                                                                            {
00149 
00150         if(this->isComplex()){
00151                 if(this->getPanId() == 1)
00152                         ( (wxMaracasRendererView::getInstance())->getTabbedPanel(getPropId()) )->changeOpacityA(this->getPropId(),opacity->GetValue());
00153                 if(this->getPanId() == 2)
00154                         ( (wxMaracasRendererView::getInstance())->getTabbedPanel(getPropId()) )->changeOpacityB(this->getPropId(),opacity->GetValue());
00155                 if(this->getPanId() == 3)
00156                         ( (wxMaracasRendererView::getInstance())->getTabbedPanel(getPropId()) )->changeOpacityC(this->getPropId(),opacity->GetValue());
00157         }
00158         else
00159                 wxMaracasSurfaceRendering::getInstance()->changeOpacity(this->getPropId(),opacity->GetValue());
00160 
00161 }

Here is the call graph for this function:

Here is the caller graph for this function:

void wxMaracasSurfaceRenderingProp3D::onViewImage ( wxCommandEvent &  event  ) 

Carolina Perez: Method recently added. Not functionalit yet Loads the volume in a separate window

Reimplemented in wxMaracasSurfaceRenderingProp3DMHD.

Definition at line 166 of file wxMaracasSurfaceRenderingProp3D.cxx.

References wxMaracasSurfaceRenderingPanel::_propid, wxMaracasRendererView::getInstance(), wxMaracasSurfaceRenderingPanel::getPanId(), and wxMaracasSurfaceRenderingPanel::isComplexBox.

00166                                                                       { 
00167         vtkImageData* img;
00168         if(this->isComplexBox){
00169                 if(this->getPanId() == 1)
00170                         img = (wxMaracasRendererView::getInstance())->getTabbedPanel(_propid)->getSurfAImage();
00171                 if(this->getPanId() == 2)
00172                         img = (wxMaracasRendererView::getInstance())->getTabbedPanel(_propid)->getSurfBImage();
00173                 if(this->getPanId() == 3)
00174                         img = (wxMaracasRendererView::getInstance())->getTabbedPanel(_propid)->getSurfCImage();
00175                 
00176                 std::vector<int> type;
00177                 type.push_back(6);
00178 
00179                 wxMaracasDialog_NViewers* dialog1 = new wxMaracasDialog_NViewers(this, img, &type, wxString(_T("Volume Visualization") ));
00180                 dialog1->SetSize(730, 700);
00181                 dialog1->Show();
00182         }
00183         else{   
00184                 //vtkImageData* img = wxMaracasMultipleVolumeRendererView::getInstance()->getVolImage();
00185         }
00186 }

Here is the call graph for this function:


Member Data Documentation

Definition at line 23 of file wxMaracasSurfaceRenderingProp3D.h.

Referenced by createControls(), and onColorChange().

int wxMaracasSurfaceRenderingPanel::_propid [protected, inherited]

Reimplemented in wxMaracasSurfaceRenderingProp3DMHD.

Definition at line 24 of file wxMaracasSurfaceRenderingProp3D.h.

Definition at line 20 of file wxMaracasSurfaceRenderingProp3D.h.

Referenced by createControls(), and onCheckBoxChange().

Definition at line 21 of file wxMaracasSurfaceRenderingProp3D.h.

Referenced by createControls(), and onCheckBoxSurfaceChange().

bool wxMaracasSurfaceRenderingPanel::isComplexBox [protected, inherited]

Definition at line 22 of file wxMaracasSurfaceRenderingProp3D.h.

Referenced by createControls(), and onOpacityRelease().

int wxMaracasSurfaceRenderingPanel::panID [protected, inherited]

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

Generated on 20 Oct 2010 for creaMaracasVisu_lib by  doxygen 1.6.1