0026821: Visualization - define default Rendering Parameters for Interactive Context
authorisk <isk@opencascade.com>
Tue, 10 Nov 2015 10:14:17 +0000 (13:14 +0300)
committerbugmaster <bugmaster@opencascade.com>
Thu, 12 Nov 2015 08:18:05 +0000 (11:18 +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 dccc1f8..9464ca6 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 b8ce27e..9f14ea1 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 497ad06..0a7261e 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 29fcb98..c042e76 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;