]> OCCT Git - occt-copy.git/commitdiff
0026821: Visualization - define default Rendering Parameters for Interactive Context
authorisk <isk@opencascade.com>
Tue, 10 Nov 2015 10:14:17 +0000 (13:14 +0300)
committeraba <aba@opencascade.com>
Thu, 12 Nov 2015 13:12:43 +0000 (16:12 +0300)
Define default Rendering Parameters within V3d_Viewer.
New instances of V3d_View use default Rendering Parameters.

src/V3d/V3d_View.cxx
src/V3d/V3d_View.hxx
src/V3d/V3d_Viewer.cxx
src/V3d/V3d_Viewer.hxx

index dccc1f8689fbd04d34b1c9642e6d5c32f0d7229d..9464ca61e392de2024640dc26ad63bc3cac05938 100644 (file)
@@ -136,6 +136,8 @@ V3d_View::V3d_View (const Handle(V3d_Viewer)& theViewer, const V3d_TypeOfView th
   myView->SetBackground         (theViewer->GetBackgroundColor());
   myView->SetGradientBackground (theViewer->GetGradientBackground());
 
+  ChangeRenderingParams() = theViewer->DefaultRenderingParams();
+
   // camera init
   Handle(Graphic3d_Camera) aCamera = new Graphic3d_Camera();
   aCamera->SetFOVy (45.0);
index b8ce27e4bedc252fee180b625b66a0b4f67a975b..9f14ea10479b17a69af487d3250649d076785aa7 100644 (file)
@@ -967,6 +967,9 @@ public:
   Standard_EXPORT const Handle(Graphic3d_Camera)& Camera() const;
 
   //! Returns current rendering parameters and effect settings.
+  //! By default it returns default parameters of current viewer.
+  //! To define view-specific settings use method V3d_View::ChangeRenderingParams().
+  //! @sa V3d_Viewer::DefaultRenderingParams()
   Standard_EXPORT const Graphic3d_RenderingParams& RenderingParams() const;
 
   //! Returns reference to current rendering parameters and effect settings.
index 497ad06a34cb734e1ca6d7a4d73cd210bfa2cb36..0a7261e751872ce2f8d1b8843bd902ed61b21e7c 100644 (file)
@@ -534,3 +534,21 @@ void V3d_Viewer::IncrCount()
 {
   myNextCount++;
 }
+
+//=======================================================================
+//function : DefaultRenderingParams
+//purpose  :
+//=======================================================================
+const Graphic3d_RenderingParams& V3d_Viewer::DefaultRenderingParams() const
+{
+  return myDefaultRenderingParams;
+}
+
+//=======================================================================
+//function : SetDefaultRenderingParams
+//purpose  :
+//=======================================================================
+void V3d_Viewer::SetDefaultRenderingParams (const Graphic3d_RenderingParams& theParams)
+{
+  myDefaultRenderingParams = theParams;
+}
index 29fcb98fabc78cdab79f25dc70b9e5913190d318..c042e76a5a86923954ff47c1757d3d9d96f14151 100644 (file)
@@ -433,12 +433,20 @@ public:
   //! Returns the settings of a single Z layer.
   Standard_EXPORT Graphic3d_ZLayerSettings ZLayerSettings (const Standard_Integer theLayerId);
 
+  //! Return Graphic Driver instance.
   Standard_EXPORT const Handle(Graphic3d_GraphicDriver)& Driver() const;
 
   Standard_EXPORT Standard_ExtString NextName() const;
 
   Standard_EXPORT Standard_CString Domain() const;
 
+  //! Return default Rendering Parameters.
+  //! By default these parameters are set in a new V3d_View.
+  Standard_EXPORT const Graphic3d_RenderingParams& DefaultRenderingParams() const;
+
+  //! Set default Rendering Parameters.
+  Standard_EXPORT void SetDefaultRenderingParams (const Graphic3d_RenderingParams& theParams);
+
 friend class V3d_View;
 friend class V3d_Light;
 
@@ -484,6 +492,7 @@ private:
   V3d_TypeOfSurfaceDetail MySurfaceDetail;
   Quantity_PlaneAngle MyDefaultAngle;
   V3d_TypeOfView MyDefaultTypeOfView;
+  Graphic3d_RenderingParams myDefaultRenderingParams;
   Handle(V3d_Light) MyCurrentSelectedLight;
   TColStd_ListIteratorOfListOfTransient myActiveViewsIterator;
   TColStd_ListIteratorOfListOfTransient myDefinedViewsIterator;