-// Copyright (C) 2007-2012 CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2023 CEA/DEN, EDF R&D, OPEN CASCADE
//
// Copyright (C) 2003-2007 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.
+// version 2.1 of the License, or (at your option) any later version.
//
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
#include "SVTK.h"
#include "VTKViewer.h"
+#include "SALOME_ListIO.hxx"
#include <vtkObject.h>
#include <vtkSmartPointer.h>
class vtkCellPicker;
class vtkProperty;
-class SVTK_RectPicker;
+class SVTK_AreaPicker;
class VTKViewer_Trihedron;
class VTKViewer_Transform;
class SVTK_EXPORT SVTK_Renderer : public vtkObject
{
public:
- vtkTypeMacro(SVTK_Renderer,vtkObject);
+ vtkTypeMacro(SVTK_Renderer,vtkObject)
static SVTK_Renderer* New();
//----------------------------------------------------------------------------
//! Set size of the trihedron in percents from bounding box of the scene
void
- SetTrihedronSize(vtkFloatingPointType theSize, const bool theRelative = true);
+ SetTrihedronSize(double theSize, const bool theRelative = true);
//! Get size of the trihedron in percents from bounding box of the scene
- vtkFloatingPointType
+ double
GetTrihedronSize() const;
//! Shows if the size of the trihedron is relative
void
OnViewTrihedron();
+ //! Set Toggle trihedron visibility
+
+ void
+ SetTrihedronVisibility( const bool );
+
//! Adjust size of the trihedron to the bounding box of the scene
void
OnAdjustTrihedron();
//----------------------------------------------------------------------------
//! Fit all presentation in the scene into the window
void OnFitAll();
-
+
+ //----------------------------------------------------------------------------
+ //! Fit all selected presentation in the scene
+ void onFitSelection();
+
+ //! Fit given presentations in the scene
+ void OnFitIObjects(const SALOME_ListIO& objects);
+
//! Set camera into predefined state
void OnResetView();
//----------------------------------------------------------------------------
// Priority at which events are processed
- vtkFloatingPointType myPriority;
+ double myPriority;
// Used to process events
vtkSmartPointer<vtkCallbackCommand> myEventCallbackCommand;
vtkSmartPointer<vtkPointPicker> myPointPicker;
vtkSmartPointer<vtkCellPicker> myCellPicker;
- vtkSmartPointer<SVTK_RectPicker> myPointRectPicker;
- vtkSmartPointer<SVTK_RectPicker> myCellRectPicker;
+ vtkSmartPointer<SVTK_AreaPicker> myPointAreaPicker;
+ vtkSmartPointer<SVTK_AreaPicker> myCellAreaPicker;
vtkSmartPointer<vtkProperty> myPreHighlightProperty;
vtkSmartPointer<vtkProperty> myHighlightProperty;
//----------------------------------------------------------------------------
vtkSmartPointer<SVTK_CubeAxesActor2D> myCubeAxes;
vtkSmartPointer<VTKViewer_Trihedron> myTrihedron;
- vtkFloatingPointType myTrihedronSize;
+ double myTrihedronSize;
bool myIsTrihedronRelative;
- vtkFloatingPointType myBndBox[6];
+ double myBndBox[6];
};
#ifdef WIN32