Salome HOME
0023124: EDF 11219 GEOM: Ray tracing in the OCC viewer
[modules/gui.git] / src / OCCViewer / OCCViewer_ViewFrame.cxx
index e4c3ec9047d76d5e10570266e01cc3908f7b5b6e..e3313a8b046aa236fe644dc6e0b14bed4c6d7a84 100644 (file)
@@ -23,6 +23,7 @@
 #include "OCCViewer_ViewFrame.h"
 #include "OCCViewer_ViewWindow.h"
 #include "OCCViewer_ViewModel.h"
+#include "OCCViewer_ViewPort3d.h"
 
 #include <SUIT_ViewManager.h>
 #include <SUIT_Session.h>
@@ -169,10 +170,25 @@ void OCCViewer_ViewFrame::createSubViews()
       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() );
+  aView->SetSurfaceDetail( aMainView->SurfaceDetail() );
+}
+
 void OCCViewer_ViewFrame::splitSubViews()
 {
        if( mySplitMode == -1 )