+// Copyright (C) 2005 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License.
+//
+// This library is distributed in the hope that it will be useful
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// See http://www.salome-platform.org/
+//
#include "VisuGUI_ClippingDlg.h"
#include "VisuGUI.h"
#include "VisuGUI_Tools.h"
+#include "VisuGUI_ViewTools.h"
#include "VISU_Prs3d_i.hh"
#include "VISU_Result_i.hh"
#include "VISU_PipeLine.hxx"
-#include "SalomeApp_SelectionMgr.h"
+#include "LightApp_SelectionMgr.h"
#include "SVTK_ViewWindow.h"
#include <vtkPlaneSource.h>
#include <vtkPolyData.h>
#include <vtkUnstructuredGrid.h>
+#include <vtkProperty.h>
// OCCT Includes
#include <gp_Dir.hxx>
{
if (theValue.isEmpty()) return theDefault;
SUIT_ResourceMgr* aResourceMgr = VISU::GetResourceMgr();
- QString aValue = aResourceMgr->stringValue(theValue);
+ QString aValue = aResourceMgr->stringValue("VISU",theValue);
if (aValue.isEmpty()) return theDefault;
return aValue.toFloat();
}
void RenderViewWindow (SVTK_ViewWindow* vw)
{
if (vw) {
-//if (vw->getRenderer()->GetActors()->GetNumberOfItems() > 0) {
- vw->getRenderer()->ResetCameraClippingRange();
- vw->Repaint();
-//}
+ vw->getRenderer()->ResetCameraClippingRange();
+ vw->Repaint();
}
}
vtkProperty* aProp = vtkProperty::New();
float anRGB[3];
- anRGB[0] = VISU::GetFloat("SMESH:SettingsFillColorRed", 0)/255.;
- anRGB[1] = VISU::GetFloat("SMESH:SettingsFillColorGreen", 170)/255.;
- anRGB[2] = VISU::GetFloat("SMESH:SettingsFillColorBlue", 255)/255.;
+
+ SUIT_ResourceMgr* aResourceMgr = VISU::GetResourceMgr();
+
+ QColor aFillColor = aResourceMgr->colorValue("SMESH", "fill_color", QColor(0, 170, 255));
+ anRGB[0] = aFillColor.red()/255.;
+ anRGB[1] = aFillColor.green()/255.;
+ anRGB[2] = aFillColor.blue()/255.;
aProp->SetColor(anRGB[0],anRGB[1],anRGB[2]);
aProp->SetOpacity(0.75);
myActor->SetProperty(aProp);
aProp->Delete();
vtkProperty* aBackProp = vtkProperty::New();
- anRGB[0] = VISU::GetFloat("SMESH:SettingsBackFaceColorRed", 0)/255.;
- anRGB[1] = VISU::GetFloat("SMESH:SettingsBackFaceColorGreen", 0)/255.;
- anRGB[2] = VISU::GetFloat("SMESH:SettingsBackFaceColorBlue", 255)/255.;
+ QColor aBackFaceColor = aResourceMgr->colorValue("SMESH", "backface_color", QColor(0, 0, 255));//@
+ anRGB[0] = aBackFaceColor.red()/255.;
+ anRGB[1] = aBackFaceColor.green()/255.;
+ anRGB[2] = aBackFaceColor.blue()/255.;
aBackProp->SetColor(anRGB[0],anRGB[1],anRGB[2]);
aBackProp->SetOpacity(0.75);
myActor->SetBackfaceProperty(aBackProp);
{
// no need to delete child widgets, Qt does it all for us
std::for_each(myPlanes.begin(),myPlanes.end(),TSetVisiblity(false));
- VISU::RenderViewWindow(VISU::GetViewWindow(myVisuGUI));
+ VISU::RenderViewWindow(VISU::GetActiveViewWindow<SVTK_ViewWindow>(myVisuGUI));
}
//=================================================================================
if (!myPrs3d)
return;
- if (SVTK_ViewWindow* aViewWindow = VISU::GetViewWindow(myVisuGUI)) {
+ if (SVTK_ViewWindow* aViewWindow = VISU::GetActiveViewWindow<SVTK_ViewWindow>(myVisuGUI)) {
SUIT_OverrideCursor wc;
+ QWidget *aCurrWid = this->focusWidget();
+ aCurrWid->clearFocus();
+ aCurrWid->setFocus();
+
// Save clipping planes, currently applied to the presentation
// to enable restoring this state in case of failure.
// Refer to bugs IPAL8849, IPAL8850 for more information.
tr("BUT_OK") );
}
- VISU::RenderViewWindow(aViewWindow);
+ //VISU::RenderViewWindow(aViewWindow);
+ VISU::RepaintViewWindows(myVisuGUI, myIO);
}
}
//=================================================================================
void VisuGUI_ClippingDlg::onSelectionChanged()
{
- if (SVTK_ViewWindow* aViewWindow = VISU::GetViewWindow(myVisuGUI)) {
+ if (SVTK_ViewWindow* aViewWindow = VISU::GetActiveViewWindow<SVTK_ViewWindow>(myVisuGUI)) {
Handle(SALOME_InteractiveObject) anIO;
CORBA::Object_var anObject = VISU::GetSelectedObj(myVisuGUI, &anIO);
+ myIO = anIO;
if (CORBA::is_nil(anObject)) return;
PortableServer::ServantBase_var aServant = VISU::GetServant(anObject);
if (!aServant.in()) return;
if (!myPrs3d)
return;
- if (SVTK_ViewWindow* aViewWindow = VISU::GetViewWindow(myVisuGUI)) {
+ if (SVTK_ViewWindow* aViewWindow = VISU::GetActiveViewWindow<SVTK_ViewWindow>(myVisuGUI)) {
OrientedPlane* aPlane = OrientedPlane::New(aViewWindow);
VISU::TVTKPlane aTVTKPlane(aPlane);
myPlanes.push_back(aTVTKPlane);
ClickOnApply();
Sinchronize();
- if (SVTK_ViewWindow* aViewWindow = VISU::GetViewWindow(myVisuGUI))
+ if (SVTK_ViewWindow* aViewWindow = VISU::GetActiveViewWindow<SVTK_ViewWindow>(myVisuGUI))
VISU::RenderViewWindow(aViewWindow);
}
if (AutoApplyCheckBox->isChecked())
ClickOnApply();
- if (SVTK_ViewWindow* vw = VISU::GetViewWindow(myVisuGUI))
+ if (SVTK_ViewWindow* vw = VISU::GetActiveViewWindow<SVTK_ViewWindow>(myVisuGUI))
VISU::RenderViewWindow(vw);
}
void VisuGUI_ClippingDlg::OnPreviewToggle (bool theIsToggled)
{
std::for_each(myPlanes.begin(),myPlanes.end(),TSetVisiblity(theIsToggled));
- if (SVTK_ViewWindow* vw = VISU::GetViewWindow(myVisuGUI))
+ if (SVTK_ViewWindow* vw = VISU::GetActiveViewWindow<SVTK_ViewWindow>(myVisuGUI))
VISU::RenderViewWindow(vw);
}