X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2FmaracasVisuLib%2Fsrc%2Finterface%2FwxWindows%2Fwidgets%2FwxVtkMPR3DViewCntrlPanel.cxx;h=68c7ee1b444a22f3bf7a5c7260d8de5654977cee;hb=00a6c465c4e2fd1111dbb10cc0d70846fa03eeaa;hp=dd262f4b379abfa61a0c21c1423d5e3d09bad149;hpb=d7d3ec17199e6b725bd375fdfe1085eeb35b34cc;p=creaMaracasVisu.git diff --git a/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxVtkMPR3DViewCntrlPanel.cxx b/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxVtkMPR3DViewCntrlPanel.cxx index dd262f4..68c7ee1 100644 --- a/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxVtkMPR3DViewCntrlPanel.cxx +++ b/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxVtkMPR3DViewCntrlPanel.cxx @@ -29,16 +29,29 @@ wxVtkMPR3DViewCntrlPanel::wxVtkMPR3DViewCntrlPanel(wxWindow *parent, wxVtkMPR3DV */ ckBoxX = new wxCheckBox(panel,-1,_T("X ")); - _positionX = new wxSlider(panel,-1,maxX/2,0,maxX, wxDefaultPosition, wxSize(150,40), wxSL_HORIZONTAL | wxSL_LABELS); + _positionX = new wxSlider(panel,-1,maxX/2,0,maxX, wxDefaultPosition, wxSize(300,40), wxSL_HORIZONTAL | wxSL_LABELS); ckBoxY = new wxCheckBox(panel,-1,_T("Y ")); - _positionY = new wxSlider(panel,-1,maxY/2,0,maxY, wxDefaultPosition, wxSize(150,40), wxSL_HORIZONTAL | wxSL_LABELS); + _positionY = new wxSlider(panel,-1,maxY/2,0,maxY, wxDefaultPosition, wxSize(300,40), wxSL_HORIZONTAL | wxSL_LABELS); ckBoxZ = new wxCheckBox(panel,-1,_T("Z ")); - _positionZ = new wxSlider(panel,-1,maxZ/2,0,maxZ, wxDefaultPosition, wxSize(150,40), wxSL_HORIZONTAL | wxSL_LABELS); - wxButton *btnColorTable = new wxButton (panel, -1, _T("Edit Color Table") ); + _positionZ = new wxSlider(panel,-1,maxZ/2,0,maxZ, wxDefaultPosition, wxSize(300,40), wxSL_HORIZONTAL | wxSL_LABELS); + wxButton *btnColorTable = new wxButton (panel, -1, _T("Color Table") ); + + _ckBoxXYZ = new wxCheckBox(panel,-1,_T("Show XYZ axis ")); + _ckBoxPlane = new wxCheckBox(panel,-1,_T("Show Planes")); - _ckBoxXYZ = new wxCheckBox(panel,-1,_T("XYZ ")); - _ckBoxPlane = new wxCheckBox(panel,-1,_T("Plane")); + _ckFreePlaneX= new wxCheckBox(panel,-1,_T("free X"));; + _ckFreePlaneY= new wxCheckBox(panel,-1,_T("free Y"));; + _ckFreePlaneZ= new wxCheckBox(panel,-1,_T("free Z"));; + _ckFreePlaneInteraction= new wxCheckBox(panel,-1,_T("Interaction "));; + + //EED: If-else statements added 30 Nov 2009 + _ckFreePlaneX->SetValue(false); + _ckFreePlaneY->SetValue(false); + _ckFreePlaneZ->SetValue(false); + _ckFreePlaneInteraction->SetValue(true); + + ckBoxX->SetValue(false); ckBoxY->SetValue(false); ckBoxZ->SetValue(false); @@ -49,17 +62,22 @@ wxVtkMPR3DViewCntrlPanel::wxVtkMPR3DViewCntrlPanel(wxWindow *parent, wxVtkMPR3DV _positionY->SetSize(400,20); _positionZ->SetSize(400,20); - Connect(ckBoxX->GetId() , wxEVT_COMMAND_CHECKBOX_CLICKED , (wxObjectEventFunction) &wxVtkMPR3DViewCntrlPanel::OnVisibleAxisX ); - Connect(_positionX->GetId() , wxEVT_COMMAND_SLIDER_UPDATED , (wxObjectEventFunction) &wxVtkMPR3DViewCntrlPanel::OnPositionX ); - Connect(ckBoxY->GetId() , wxEVT_COMMAND_CHECKBOX_CLICKED , (wxObjectEventFunction) &wxVtkMPR3DViewCntrlPanel::OnVisibleAxisY ); - Connect(_positionY->GetId() , wxEVT_COMMAND_SLIDER_UPDATED , (wxObjectEventFunction) &wxVtkMPR3DViewCntrlPanel::OnPositionY ); - Connect(ckBoxZ->GetId() , wxEVT_COMMAND_CHECKBOX_CLICKED , (wxObjectEventFunction) &wxVtkMPR3DViewCntrlPanel::OnVisibleAxisZ ); - Connect(_positionZ->GetId() , wxEVT_COMMAND_SLIDER_UPDATED , (wxObjectEventFunction) &wxVtkMPR3DViewCntrlPanel::OnPositionZ ); - Connect(btnColorTable->GetId() , wxEVT_COMMAND_BUTTON_CLICKED , (wxObjectEventFunction) &wxVtkMPR3DViewCntrlPanel::OnEditColorTable ); - - Connect(_ckBoxXYZ->GetId() , wxEVT_COMMAND_CHECKBOX_CLICKED , (wxObjectEventFunction) &wxVtkMPR3DViewCntrlPanel::OnVisibleAxisXYZ ); - Connect(_ckBoxPlane->GetId(), wxEVT_COMMAND_CHECKBOX_CLICKED , (wxObjectEventFunction) &wxVtkMPR3DViewCntrlPanel::OnVisiblePlane ); - + Connect(ckBoxX->GetId(), wxEVT_COMMAND_CHECKBOX_CLICKED, (wxObjectEventFunction) &wxVtkMPR3DViewCntrlPanel::OnVisibleAxisX ); + Connect(_positionX->GetId(), wxEVT_COMMAND_SLIDER_UPDATED, (wxObjectEventFunction) &wxVtkMPR3DViewCntrlPanel::OnPositionX ); + Connect(ckBoxY->GetId(), wxEVT_COMMAND_CHECKBOX_CLICKED, (wxObjectEventFunction) &wxVtkMPR3DViewCntrlPanel::OnVisibleAxisY ); + Connect(_positionY->GetId(), wxEVT_COMMAND_SLIDER_UPDATED, (wxObjectEventFunction) &wxVtkMPR3DViewCntrlPanel::OnPositionY ); + Connect(ckBoxZ->GetId(), wxEVT_COMMAND_CHECKBOX_CLICKED, (wxObjectEventFunction) &wxVtkMPR3DViewCntrlPanel::OnVisibleAxisZ ); + Connect(_positionZ->GetId(), wxEVT_COMMAND_SLIDER_UPDATED, (wxObjectEventFunction) &wxVtkMPR3DViewCntrlPanel::OnPositionZ ); + Connect(btnColorTable->GetId(), wxEVT_COMMAND_BUTTON_CLICKED, (wxObjectEventFunction) &wxVtkMPR3DViewCntrlPanel::OnEditColorTable ); + + Connect(_ckBoxXYZ->GetId(), wxEVT_COMMAND_CHECKBOX_CLICKED, (wxObjectEventFunction) &wxVtkMPR3DViewCntrlPanel::OnVisibleAxisXYZ ); + Connect(_ckBoxPlane->GetId(), wxEVT_COMMAND_CHECKBOX_CLICKED, (wxObjectEventFunction) &wxVtkMPR3DViewCntrlPanel::OnVisiblePlane ); + + Connect(_ckFreePlaneX->GetId() , wxEVT_COMMAND_CHECKBOX_CLICKED , (wxObjectEventFunction) &wxVtkMPR3DViewCntrlPanel::OnVisibleFreePlaneX ); + Connect(_ckFreePlaneY->GetId() , wxEVT_COMMAND_CHECKBOX_CLICKED , (wxObjectEventFunction) &wxVtkMPR3DViewCntrlPanel::OnVisibleFreePlaneY ); + Connect(_ckFreePlaneZ->GetId() , wxEVT_COMMAND_CHECKBOX_CLICKED , (wxObjectEventFunction) &wxVtkMPR3DViewCntrlPanel::OnVisibleFreePlaneZ ); + Connect(_ckFreePlaneInteraction->GetId(), wxEVT_COMMAND_CHECKBOX_CLICKED , (wxObjectEventFunction) &wxVtkMPR3DViewCntrlPanel::OnVisibleFreePlaneInteraction ); + wxFlexGridSizer *sizer; // wxBoxSizer *sizer = new wxBoxSizer(wxVERTICAL); @@ -68,9 +86,10 @@ wxVtkMPR3DViewCntrlPanel::wxVtkMPR3DViewCntrlPanel(wxWindow *parent, wxVtkMPR3DV //CPR: If-else statements added 30 Nov 2009 wxFlexGridSizer *sizerH4; wxFlexGridSizer *sizerH5; + wxFlexGridSizer *sizerH6; if(align) { - sizer = new wxFlexGridSizer(2); + sizer = new wxFlexGridSizer(3); sizerH4 = new wxFlexGridSizer(2); sizerH4->Add( _positionX ,1,wxGROW , 0 ); @@ -88,13 +107,19 @@ wxVtkMPR3DViewCntrlPanel::wxVtkMPR3DViewCntrlPanel(wxWindow *parent, wxVtkMPR3DV sizerH5->Add( new wxStaticText(panel, -1,_T(" ")) , 1, wxALL|wxEXPAND , 0); sizerH5->Add( btnColorTable , 0,wxALIGN_CENTER_VERTICAL|wxSHAPED, 0 ); //sizerH5->Add( new wxStaticText(panel, -1,_T(" ")) , 1, wxALL|wxEXPAND, 0); - } - else - { + + sizerH6 = new wxFlexGridSizer(1); + sizerH6->Add( _ckFreePlaneX , 1, wxALL|wxEXPAND , 0); + sizerH6->Add( _ckFreePlaneY , 1, wxALL|wxEXPAND , 0); + sizerH6->Add( _ckFreePlaneZ , 1, wxALL|wxEXPAND , 0); + sizerH6->Add( _ckFreePlaneInteraction , 1, wxALL|wxEXPAND , 0); + + } else { sizer = new wxFlexGridSizer(1); sizerH4 = new wxFlexGridSizer(10); sizerH5 = new wxFlexGridSizer(10); + sizerH6 = new wxFlexGridSizer(10); sizerH4->Add( _positionX , 1, wxGROW , 0 ); sizerH4->Add( ckBoxX , 0, wxALIGN_CENTER_VERTICAL|wxSHAPED, 0 ); @@ -107,9 +132,20 @@ wxVtkMPR3DViewCntrlPanel::wxVtkMPR3DViewCntrlPanel(wxWindow *parent, wxVtkMPR3DV sizerH5->Add( _ckBoxXYZ , 1, wxALL|wxEXPAND, 0); sizerH5->Add( _ckBoxPlane , 1, wxALL|wxEXPAND, 0); sizerH5->Add( new wxStaticText(panel, -1,_T(" ")) , 1, wxALL|wxEXPAND, 0); + + sizerH6 = new wxFlexGridSizer(10); + sizerH6->Add( _ckFreePlaneX , 1, wxALL|wxEXPAND , 0); + sizerH6->Add( new wxStaticText(panel, -1,_T(" ")) , 1, wxALL|wxEXPAND , 0); + sizerH6->Add( _ckFreePlaneY , 1, wxALL|wxEXPAND , 0); + sizerH6->Add( new wxStaticText(panel, -1,_T(" ")) , 1, wxALL|wxEXPAND , 0); + sizerH6->Add( _ckFreePlaneZ , 1, wxALL|wxEXPAND , 0); + sizerH6->Add( new wxStaticText(panel, -1,_T(" ")) , 1, wxALL|wxEXPAND , 0); + sizerH6->Add( _ckFreePlaneInteraction , 1, wxALL|wxEXPAND , 0); } - + + + //EED 28 sep 2006 // wxFlexGridSizer *sizerH6 = new wxFlexGridSizer(10); // wxFlexGridSizer *sizerH7 = new wxFlexGridSizer(10); @@ -141,6 +177,7 @@ wxVtkMPR3DViewCntrlPanel::wxVtkMPR3DViewCntrlPanel(wxWindow *parent, wxVtkMPR3DV sizer->Add( sizerH4, 1, wxALL|wxGROW, 2); sizer->Add( sizerH5, 1, wxALL|wxEXPAND,2); + sizer->Add( sizerH6, 1, wxALL|wxEXPAND,2); panel->SetSize(400,50); panel->SetAutoLayout(true); @@ -167,8 +204,6 @@ void wxVtkMPR3DViewCntrlPanel::UpdateControlPanel() int maxY = y1-y0;//basedata->GetMaxPositionY(); int maxZ = z1-z0;//basedata->GetMaxPositionZ();*/ - - //std::cout<<"wxVtkMPR3DViewCntrlPanel::UpdateControlPanel() maxX="<erasePointsTransferenceFunction(); + hDlg->erasePointsTransferenceFunction(); int ctfSize=ctfunVectorRed->size(); if(ctfSize>0) { @@ -257,9 +292,10 @@ void wxVtkMPR3DViewCntrlPanel::OnEditColorTable(wxCommandEvent& event) double gr = (*ctfunVectorPoint)[i]; double r = (*ctfunVectorRed)[i]; double g = (*ctfunVectorGreen)[i]; - double b = (*ctfunVectorBlue)[i]; - + double b = (*ctfunVectorBlue)[i]; + hDlg->addColorPoint(gr,(int)(r*255),(int)(g*255),(int)(b*255)); + i++; } } @@ -338,6 +374,36 @@ void wxVtkMPR3DViewCntrlPanel::OnEditColorTable(wxCommandEvent& event) } +//------------------------------------------------------------------- +void wxVtkMPR3DViewCntrlPanel::OnVisibleFreePlaneX(wxCommandEvent& event) +{ + _wxvtkmpr3Dview->FreePlaneVisible( 1, event.IsChecked() ); + _wxvtkmpr3Dview->FreePlaneInteraction( _ckFreePlaneInteraction->GetValue() ); +} + +//------------------------------------------------------------------- +void wxVtkMPR3DViewCntrlPanel::OnVisibleFreePlaneY(wxCommandEvent& event) +{ + _wxvtkmpr3Dview->FreePlaneVisible( 2, event.IsChecked() ); + _wxvtkmpr3Dview->FreePlaneInteraction( _ckFreePlaneInteraction->GetValue() ); +} + + +//------------------------------------------------------------------- +void wxVtkMPR3DViewCntrlPanel::OnVisibleFreePlaneZ(wxCommandEvent& event) +{ + _wxvtkmpr3Dview->FreePlaneVisible( 3, event.IsChecked() ); + _wxvtkmpr3Dview->FreePlaneInteraction( _ckFreePlaneInteraction->GetValue() ); +} + + +//------------------------------------------------------------------- +void wxVtkMPR3DViewCntrlPanel::OnVisibleFreePlaneInteraction(wxCommandEvent& event) +{ + _wxvtkmpr3Dview->FreePlaneInteraction( event.IsChecked() ); +} + + //------------------------------------------------------------------- void wxVtkMPR3DViewCntrlPanel::OnVisibleAxisX(wxCommandEvent& event) { @@ -492,4 +558,4 @@ void wxVtkMPR3DViewCntrlPanel::SetVisiblePlane(bool value) { _ckBoxPlane->SetValue(value); _wxvtkmpr3Dview->VisiblePlaneWidget(value); -} \ No newline at end of file +}