]> Creatis software - creaMaracasVisu.git/blobdiff - lib/maracasVisuLib/src/interface/wxWindows/widgets/wxMaracasSurfaceRenderingProp3D.cxx
Changements dans la class CutModuleMainPanel et CutModuleManager pour ajouter la...
[creaMaracasVisu.git] / lib / maracasVisuLib / src / interface / wxWindows / widgets / wxMaracasSurfaceRenderingProp3D.cxx
index 1f296671935bf576cc43849ff735878ad3a04ff5..fb2f9b0b1fadfb0f27322799843e11cee942c66b 100644 (file)
@@ -1,4 +1,5 @@
 #include "wxMaracasSurfaceRenderingProp3D.h"
+#include "wxMaracasDialog_NViewers.h"
 
 #include <wx/colordlg.h>
 #include "wxMaracasSurfaceRendering.h"
@@ -45,14 +46,26 @@ void wxMaracasSurfaceRenderingProp3D::createControls(){
        
        if(!isComplexBox) 
        {
-               wxString choices[2];
-               choices[0] = wxString(_T("On"));
-               choices[1] = wxString(_T("Off"));
+               //wxString choices[2];
+               //choices[0] = wxString(_T("On"));
+               //choices[1] = wxString(_T("Off"));
+               wxFlexGridSizer* checkboxsizer = new wxFlexGridSizer(2);
+
                checkbox = new  wxCheckBox(this,-1,wxString(_T("Show Actor")));
                Connect(checkbox->GetId(), wxEVT_COMMAND_CHECKBOX_CLICKED, (wxObjectEventFunction)&wxMaracasSurfaceRenderingProp3D::onCheckBoxChange);  
                checkbox->SetValue(true);       
+               checkboxsizer->Add(checkbox,wxFIXED_MINSIZE);
+
+
+               if(wxMaracasSurfaceRendering::getInstance()->interactorSet()){
+                       checkboxsurface = new  wxCheckBox(this,-1,wxString(_T("Surface Box")));
+                       Connect(checkboxsurface->GetId(), wxEVT_COMMAND_CHECKBOX_CLICKED, (wxObjectEventFunction)&wxMaracasSurfaceRenderingProp3D::onCheckBoxSurfaceChange);    
+                       checkboxsurface->SetValue(true);
+                       checkboxsizer->Add(checkboxsurface,wxFIXED_MINSIZE);
+               }       
+
 
-               sizersurfprop->Add(checkbox,wxFIXED_MINSIZE);
+               sizersurfprop->Add(checkboxsizer,wxFIXED_MINSIZE);
        }
 
        //this->addControl(checkbox);   
@@ -63,11 +76,12 @@ void wxMaracasSurfaceRenderingProp3D::createControls(){
        Connect(_colorchoose->GetId(), wxEVT_COMMAND_BUTTON_CLICKED, (wxObjectEventFunction)&wxMaracasSurfaceRenderingProp3D::onColorChange);                   
        sizerbut->Add(_colorchoose,wxFIXED_MINSIZE);
 
+       /*
        wxBitmap bitmap1(Add_xpm);
        _viewimage = new wxBitmapButton(this, -1, bitmap1, wxDefaultPosition, wxSize(30,30));   
        Connect(_viewimage->GetId(), wxEVT_COMMAND_BUTTON_CLICKED, (wxObjectEventFunction)&wxMaracasSurfaceRenderingProp3D::onViewImage);                       
        sizerbut->Add(_viewimage,wxFIXED_MINSIZE);
-
+       */
        sizersurfprop->Add(sizerbut,wxFIXED_MINSIZE);
        //sizercolor->Add(checkbox,wxFIXED_MINSIZE);
        //sizercolor->Add(_colorchoose,wxFIXED_MINSIZE);
@@ -93,6 +107,10 @@ void wxMaracasSurfaceRenderingProp3D::onCheckBoxChange(wxCommandEvent& event){
        //if(!isComplexBox)
        wxMaracasSurfaceRendering::getInstance()->addRemoveActor(this->getPropId(), checkbox->GetValue());      
 }
+void wxMaracasSurfaceRenderingProp3D::onCheckBoxSurfaceChange(wxCommandEvent& event){  
+       //if(!isComplexBox)
+       wxMaracasSurfaceRendering::getInstance()->addRemoveSurfaceBox(this->getPropId(), checkboxsurface->GetValue());  
+}
 
 /**
 ** 
@@ -146,8 +164,23 @@ void wxMaracasSurfaceRenderingProp3D::onOpacityRelease(wxScrollEvent& event ){
 ** Loads the volume in a separate window
 **/
 void wxMaracasSurfaceRenderingProp3D::onViewImage(wxCommandEvent& event){      
-       printf("wxMaracasSurfaceRenderingProp3D->onViewImage: Test View Image");
-       vtkImageData* image = ((wxMaracasRendererView::getInstance())->getTabbedPanel(this->_propid))->getVolImage(this->_propid);
-       
-}
+       vtkImageData* img;
+       if(this->isComplexBox){
+               if(this->getPanId() == 1)
+                       img = (wxMaracasRendererView::getInstance())->getTabbedPanel(_propid)->getSurfAImage();
+               if(this->getPanId() == 2)
+                       img = (wxMaracasRendererView::getInstance())->getTabbedPanel(_propid)->getSurfBImage();
+               if(this->getPanId() == 3)
+                       img = (wxMaracasRendererView::getInstance())->getTabbedPanel(_propid)->getSurfCImage();
+               
+               std::vector<int> type;
+               type.push_back(6);
 
+               wxMaracasDialog_NViewers* dialog1 = new wxMaracasDialog_NViewers(this, img, &type, wxString(_T("Volume Visualization") ));
+               dialog1->SetSize(730, 700);
+               dialog1->Show();
+       }
+       else{   
+               //vtkImageData* img = wxMaracasMultipleVolumeRendererView::getInstance()->getVolImage();
+       }
+}
\ No newline at end of file