1
0
mirror of https://git.dev.opencascade.org/repos/occt.git synced 2025-04-16 10:08:36 +03:00
occt/src/ViewerTest/ViewerTest_V3dView.cxx
kgv 49582f9dbf 0030507: Visualization - introduce AIS_ViewController
ViewerTest_EventManager now inherits AIS_ViewController.
Platform-dependent user input handling within ViewerTest has been revised
to process events in common way through AIS_ViewController.
The mouse navigation has been changed, so that left mouse clicked
without modifers now rotates View.
The rubber-band selection can be activated via Alt+LeftMouseButton.
Selection is now done on mouse unclick and keyboard short-cuts take effect on unclick.

Aspect_Window::SetTitle() - added new method configuring Window title.
Introduced new types Aspect_Touch, Aspect_VKey, Aspect_ScrollDelta
for processing window events in platform-independent way.
2019-06-13 18:50:12 +03:00

72 lines
2.6 KiB
C++

// Copyright (c) 2019 OPEN CASCADE SAS
//
// This file is part of Open CASCADE Technology software library.
//
// This library is free software; you can redistribute it and/or modify it under
// the terms of the GNU Lesser General Public License version 2.1 as published
// by the Free Software Foundation, with special exception defined in the file
// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
// distribution for complete text of the license and disclaimer of any warranty.
//
// Alternatively, this file may be used under the terms of Open CASCADE
// commercial license or contractual agreement.
#include <ViewerTest_V3dView.hxx>
#include <ViewerTest.hxx>
IMPLEMENT_STANDARD_RTTIEXT(ViewerTest_V3dView, V3d_View)
// =======================================================================
// function : ViewerTest_V3dView
// purpose :
// =======================================================================
ViewerTest_V3dView::ViewerTest_V3dView (const Handle(V3d_Viewer)& theViewer,
const V3d_TypeOfView theType,
bool theIs2dMode)
: V3d_View (theViewer, theType),
myIs2dMode (theIs2dMode)
{
//
}
// =======================================================================
// function : ViewerTest_V3dView
// purpose :
// =======================================================================
ViewerTest_V3dView::ViewerTest_V3dView (const Handle(V3d_Viewer)& theViewer,
const Handle(V3d_View)& theView)
: V3d_View (theViewer, theView),
myIs2dMode (false)
{
if (Handle(ViewerTest_V3dView) aV3dView = Handle(ViewerTest_V3dView)::DownCast (theView))
{
myIs2dMode = aV3dView->IsViewIn2DMode();
}
}
// =======================================================================
// function : IsCurrentViewIn2DMode
// purpose :
// =======================================================================
bool ViewerTest_V3dView::IsCurrentViewIn2DMode()
{
if (Handle(ViewerTest_V3dView) aV3dView = Handle(ViewerTest_V3dView)::DownCast (ViewerTest::CurrentView()))
{
return aV3dView->IsViewIn2DMode();
}
return false;
}
// =======================================================================
// function : SetCurrentView2DMode
// purpose :
// =======================================================================
void ViewerTest_V3dView::SetCurrentView2DMode (bool theIs2d)
{
if (Handle(ViewerTest_V3dView) aV3dView = Handle(ViewerTest_V3dView)::DownCast (ViewerTest::CurrentView()))
{
aV3dView->SetView2DMode (theIs2d);
}
}