-// Copyright (C) 2007-2015 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
#include "OCCViewer_ViewFrame.h"
#include "OCCViewer_ViewWindow.h"
#include "OCCViewer_ViewModel.h"
+#include "OCCViewer_ViewPort3d.h"
#include <SUIT_ViewManager.h>
#include <SUIT_Session.h>
#include <QApplication>
OCCViewer_ViewFrame::OCCViewer_ViewFrame(SUIT_Desktop* theDesktop, OCCViewer_Viewer* theModel)
- : OCCViewer_ViewWindow( theDesktop, theModel ), myPopupRequestedView(0), mySplitMode(-1)
+ : OCCViewer_ViewWindow( theDesktop, theModel ), mySplitMode(-1), myPopupRequestedView(0)
{
QFrame* centralFrame = new QFrame( this );
setCentralWidget( centralFrame );
view->setDropDownButtons( dropDownButtons() );
connectViewSignals(view);
view->setBackground(aModel->background(i));
+ setSubViewParams( view );
}
}
}
+//**************************************************************************************
+void OCCViewer_ViewFrame::setSubViewParams( OCCViewer_ViewWindow* theView )
+{
+ Handle(V3d_View) aView = theView->getViewPort()->getView();
+ Handle(V3d_View) aMainView = myViews.at( MAIN_VIEW )->getViewPort()->getView();
+
+ // set ray tracing parameters
+ aView->ChangeRenderingParams() = aMainView->RenderingParams();
+
+ // set environment texture parameters
+ aView->SetTextureEnv( aMainView->TextureEnv() );
+}
+
void OCCViewer_ViewFrame::splitSubViews()
{
if( mySplitMode == -1 )
return;
- int aNbViews;
+ int aNbViews = 1;
if ( mySplitMode >= 0 && mySplitMode < 2)
aNbViews = 2;
else if( mySplitMode >= 2 && mySplitMode < 8 )
aNbViews = 4;
if( aNbViews != myViewsMode.count() )
- return;
+ return;
int SubViews3Map[6][3][4] = {
{ {0,0,1,1}, {0,1,1,1}, {0,2,1,1} },
}
}
+//**************************************************************************************
+OCCViewer_ViewWindow::SelectionStyle OCCViewer_ViewFrame::selectionStyle() const
+{
+ return getView(MAIN_VIEW)->selectionStyle();
+}
+
+//**************************************************************************************
+void OCCViewer_ViewFrame::setSelectionStyle(OCCViewer_ViewWindow::SelectionStyle t)
+{
+ foreach(OCCViewer_ViewWindow* aView, myViews) {
+ aView->setSelectionStyle(t);
+ }
+}
+
//**************************************************************************************
int OCCViewer_ViewFrame::stereoType() const
{
aView->enablePreselection(isEnabled);
}
}
+
+bool OCCViewer_ViewFrame::enableDrawMode( bool on )
+{
+ bool prev = false;
+ foreach (OCCViewer_ViewWindow* aView, myViews) {
+ prev = prev || aView->enableDrawMode( on );
+ }
+ return prev;
+}