`Prs3d_Drawer` getters no more implicitly create "default" aspects.
If specific property has not been set before to this drawer instance nor to linked drawer instance, then NULL property will be returned.
Make sure to set property beforehand or to call `SetOwn*` / `SetupOwn*` methods to derive from defaults.
+
+@subsection upgrade_occt770_view_immupdate V3d_View implicit updates
+
+`V3d_View::SetImmediateUpdate()` flag has been deprecated and is now disabled by default.
+So that methods like `V3d_View::Rotation()` or `V3d_View::Panning()` will no more automatically redraw View contents.
+Application relying on previous behavior still may use `V3d_View::SetImmediateUpdate()` to turn back implicit updates,
+but encouraged to update their code and put explicit `V3d_View::Redraw()` where necessary, as this functionality will be removed in future.
aViewer->SetDefaultTypeOfView (V3d_PERSPECTIVE);
aViewer->ActivateGrid (Aspect_GT_Rectangular, Aspect_GDM_Lines);
myView = aViewer->CreateView();
- myView->SetImmediateUpdate (false);
myView->SetWindow (myOcctWindow, myOcctWindow->NativeGlContext());
myView->ChangeRenderingParams().ToShowStats = true;
myContext = new AIS_InteractiveContext (aViewer);
Handle(Aspect_NeutralWindow) aWindow = new Aspect_NeutralWindow();
aWindow->SetSize (aWidth, aHeight);
myView = myViewer->CreateView();
- myView->SetImmediateUpdate (false);
myView->ChangeRenderingParams().Resolution = (unsigned int )(96.0 * myDevicePixelRatio + 0.5);
myView->ChangeRenderingParams().ToShowStats = true;
myView->ChangeRenderingParams().CollectedStats = (Graphic3d_RenderingParams::PerfCounters ) (Graphic3d_RenderingParams::PerfCounters_FrameRate | Graphic3d_RenderingParams::PerfCounters_Triangles);
aViewer->SetDefaultTypeOfView (V3d_PERSPECTIVE);
myView = aViewer->CreateView();
- myView->SetImmediateUpdate (false);
// store for restore state after rotation (witch is in Degenerated mode)
myHlrModeIsOn = myView->ComputedMode();
}
myView = GetAISContext()->CurrentViewer()->CreateView();
- myView->SetImmediateUpdate (false);
myView->SetComputedMode (Standard_False);
Handle(OpenGl_GraphicDriver) aDriver = Handle(OpenGl_GraphicDriver)::DownCast (myView->Viewer()->Driver());
#endif
myView = myViewer->CreateView();
- myView->SetImmediateUpdate (Standard_False);
#ifdef __ANDROID__
myView->SetWindow (aWindow, (Aspect_RenderingContext )anEglContext);
myView = new V3d_View (aViewer);
myView->Camera()->SetProjectionType (Graphic3d_Camera::Projection_Perspective);
- myView->SetImmediateUpdate (false);
myView->ChangeRenderingParams().IsShadowEnabled = false;
myView->ChangeRenderingParams().Resolution = (unsigned int )(96.0 * myDevicePixelRatio + 0.5);
myView->ChangeRenderingParams().ToShowStats = true;
Graphic3d_CameraLerp aCamLerp (myCamStart, myCamEnd);
aCamLerp.Interpolate (HasOwnDuration() ? theProgress.LocalNormalized : 1.0, aCamera);
+Standard_DISABLE_DEPRECATION_WARNINGS
const Standard_Boolean aPrevImmUpdate = myView->SetImmediateUpdate (Standard_False);
+Standard_ENABLE_DEPRECATION_WARNINGS
+
myView->SetCamera (aCamera);
- myView->SetImmediateUpdate (aPrevImmUpdate);
myView->Invalidate();
+
+Standard_DISABLE_DEPRECATION_WARNINGS
+ myView->SetImmediateUpdate (aPrevImmUpdate);
+Standard_ENABLE_DEPRECATION_WARNINGS
}
void AIS_ViewController::HandleViewEvents (const Handle(AIS_InteractiveContext)& theCtx,
const Handle(V3d_View)& theView)
{
+Standard_DISABLE_DEPRECATION_WARNINGS
const bool wasImmediateUpdate = theView->SetImmediateUpdate (false);
+Standard_ENABLE_DEPRECATION_WARNINGS
handleViewOrientationKeys (theCtx, theView);
const AIS_WalkDelta aWalk = handleNavigationKeys (theCtx, theView);
handleViewRedraw (theCtx, theView);
theView->View()->UnsetXRPosedCamera();
+Standard_DISABLE_DEPRECATION_WARNINGS
theView->SetImmediateUpdate (wasImmediateUpdate);
+Standard_ENABLE_DEPRECATION_WARNINGS
// make sure to not process the same events twice
myGL.Reset();
{
{
Handle(Graphic3d_Camera) aBackupCamera = aView->Camera();
+ Standard_DISABLE_DEPRECATION_WARNINGS
const bool wasImmediateUpdate = aView->SetImmediateUpdate (false);
+ Standard_ENABLE_DEPRECATION_WARNINGS
+
aView->SetCamera (myEndState);
aView->SetProj (theOwner->MainOrientation(), myIsYup);
aView->SetCamera (aBackupCamera);
+
+ Standard_DISABLE_DEPRECATION_WARNINGS
aView->SetImmediateUpdate (wasImmediateUpdate);
+ Standard_ENABLE_DEPRECATION_WARNINGS
}
const gp_Dir aNewDir = myEndState->Direction();
//purpose :
//=============================================================================
V3d_View::V3d_View (const Handle(V3d_Viewer)& theViewer, const V3d_TypeOfView theType)
-: myIsInvalidatedImmediate (Standard_True),
+: myImmediateUpdate (Standard_False),
+ myIsInvalidatedImmediate (Standard_True),
MyViewer (theViewer.operator->()),
SwitchSetFront (Standard_False),
myZRotation (Standard_False),
myDefaultCamera = new Graphic3d_Camera();
- myImmediateUpdate = Standard_False;
SetAutoZFitMode (Standard_True, 1.0);
SetBackFacingModel (V3d_TOBM_AUTOMATIC);
SetCamera (aCamera);
SetViewOrientationDefault();
theViewer->AddView (this);
Init();
- myImmediateUpdate = Standard_True;
}
//=============================================================================
//purpose :
//=============================================================================
V3d_View::V3d_View (const Handle(V3d_Viewer)& theViewer, const Handle(V3d_View)& theView)
-: myIsInvalidatedImmediate (Standard_True),
+: myImmediateUpdate (Standard_False),
+ myIsInvalidatedImmediate (Standard_True),
MyViewer (theViewer.operator->()),
SwitchSetFront(Standard_False),
myZRotation (Standard_False),
myDefaultCamera = new Graphic3d_Camera (theView->DefaultCamera());
- myImmediateUpdate = Standard_False;
SetAutoZFitMode (theView->AutoZFitMode(), theView->AutoZFitScaleFactor());
theViewer->AddView (this);
Init();
- myImmediateUpdate = Standard_True;
}
//=============================================================================
{
Standard_Real aTwistBefore = Twist();
- Standard_Boolean wasUpdateEnabled = SetImmediateUpdate (Standard_False);
+ const Standard_Boolean wasUpdateEnabled = myImmediateUpdate;
+ myImmediateUpdate = Standard_False;
Handle(Graphic3d_Camera) aCamera = Camera();
SetTwist (aTwistBefore);
- SetImmediateUpdate (wasUpdateEnabled);
+ myImmediateUpdate = wasUpdateEnabled;
ImmediateUpdate();
}
Standard_Real aTwistBefore = Twist();
- Standard_Boolean wasUpdateEnabled = SetImmediateUpdate (Standard_False);
+ const Standard_Boolean wasUpdateEnabled = myImmediateUpdate;
+ myImmediateUpdate = Standard_False;
Camera()->SetDirection (gp_Dir (Vx, Vy, Vz).Reversed());
SetTwist(aTwistBefore);
- SetImmediateUpdate (wasUpdateEnabled);
+ myImmediateUpdate = wasUpdateEnabled;
ImmediateUpdate();
}
{
Standard_Real aTwistBefore = Twist();
- Standard_Boolean wasUpdateEnabled = SetImmediateUpdate (Standard_False);
+ const Standard_Boolean wasUpdateEnabled = myImmediateUpdate;
+ myImmediateUpdate = Standard_False;
Camera()->SetCenter (gp_Pnt (X, Y, Z));
SetTwist (aTwistBefore);
- SetImmediateUpdate (wasUpdateEnabled);
+ myImmediateUpdate = wasUpdateEnabled;
ImmediateUpdate();
}
const Standard_Integer theMaxXp,
const Standard_Integer theMaxYp)
{
- Standard_Boolean wasUpdateEnabled = SetImmediateUpdate (Standard_False);
+ const Standard_Boolean wasUpdateEnabled = myImmediateUpdate;
+ myImmediateUpdate = Standard_False;
Handle(Graphic3d_Camera) aCamera = Camera();
FitAll (aX1, aY1, aX2, aY2);
}
- SetImmediateUpdate (wasUpdateEnabled);
+ myImmediateUpdate = wasUpdateEnabled;
ImmediateUpdate();
}
myCamStartOpCenter = aCamera->Center();
}
- Standard_Boolean wasUpdateEnabled = SetImmediateUpdate (Standard_False);
+ const Standard_Boolean wasUpdateEnabled = myImmediateUpdate;
+ myImmediateUpdate = Standard_False;
gp_Pnt aViewDims = aCamera->ViewDimensions();
Translate (aCamera, -theDXv, -theDYv);
Scale (aCamera, aViewDims.X() / theZoomFactor, aViewDims.Y() / theZoomFactor);
- SetImmediateUpdate (wasUpdateEnabled);
+ myImmediateUpdate = wasUpdateEnabled;
ImmediateUpdate();
}
const Standard_Integer theMouseEndX,
const Standard_Integer theMouseEndY)
{
- Standard_Boolean wasUpdateEnabled = SetImmediateUpdate (Standard_False);
+ const Standard_Boolean wasUpdateEnabled = myImmediateUpdate;
+ myImmediateUpdate = Standard_False;
// zoom
Standard_Real aDxy = Standard_Real ((theMouseEndX + theMouseEndY) - (theMouseStartX + theMouseStartY));
aCamera->SetScale (aCamera->Scale() / aCoef);
Translate (aCamera, aZoomAtPointXv - aDxv, aZoomAtPointYv - aDyv);
- SetImmediateUpdate (wasUpdateEnabled);
+ myImmediateUpdate = wasUpdateEnabled;
ImmediateUpdate();
}
//! Returns TRUE when the light is active in this view.
Standard_EXPORT Standard_Boolean IsActiveLight (const Handle(V3d_Light)& theLight) const;
- //! sets the immediate update mode and returns the previous one.
- Standard_EXPORT Standard_Boolean SetImmediateUpdate (const Standard_Boolean theImmediateUpdate);
-
//! Returns trihedron object.
const Handle(V3d_Trihedron)& Trihedron (bool theToCreate = true)
{
public: //! @name deprecated methods
+ //! sets the immediate update mode and returns the previous one.
+ Standard_DEPRECATED ("Deprecated method - ImmediateUpdate will be removed")
+ Standard_EXPORT Standard_Boolean SetImmediateUpdate (const Standard_Boolean theImmediateUpdate);
+
//! Returns True if One light more can be
//! activated in this View.
Standard_DEPRECATED ("Deprecated method - ActiveLights() should be used instead")
theView->SetGrid (myPrivilegedPlane, aGrid);
theView->SetGridActivity (aGrid->IsActive());
}
+Standard_DISABLE_DEPRECATION_WARNINGS
if (theView->SetImmediateUpdate (Standard_False))
{
theView->Redraw();
theView->SetImmediateUpdate (Standard_True);
}
+Standard_ENABLE_DEPRECATION_WARNINGS
}
// ========================================================================
case Graphic3d_BT_Red: aFormat = Image_Format_Gray; break;
}
+Standard_DISABLE_DEPRECATION_WARNINGS
const bool wasImmUpdate = aView->SetImmediateUpdate (false);
+Standard_ENABLE_DEPRECATION_WARNINGS
Handle(Graphic3d_Camera) aCamBack = aView->Camera();
if (!aCustomCam.IsNull())
{
{
aView->SetCamera (aCamBack);
}
+Standard_DISABLE_DEPRECATION_WARNINGS
aView->SetImmediateUpdate (wasImmUpdate);
+Standard_ENABLE_DEPRECATION_WARNINGS
if (!aPixMap.Save (aFilePath))
{
{
if (!theView.IsNull())
{
+ Standard_DISABLE_DEPRECATION_WARNINGS
myWasAutoUpdate = theView->SetImmediateUpdate (Standard_False);
+ Standard_ENABLE_DEPRECATION_WARNINGS
}
}
if (myWasAutoUpdate
&& !myView.IsNull())
{
+ Standard_DISABLE_DEPRECATION_WARNINGS
myView->SetImmediateUpdate (myWasAutoUpdate);
+ Standard_ENABLE_DEPRECATION_WARNINGS
}
}
{
if (!myView.IsNull())
{
+ Standard_DISABLE_DEPRECATION_WARNINGS
myView->SetImmediateUpdate (myWasAutoUpdate);
+ Standard_ENABLE_DEPRECATION_WARNINGS
}
switch (myToUpdate)
return;
}
case ViewerTest_AutoUpdater::RedrawMode_Auto:
- {
- if (!myWasAutoUpdate)
- {
- return;
- }
- }
- Standard_FALLTHROUGH
case ViewerTest_AutoUpdater::RedrawMode_Forced:
{
if (!myContext.IsNull())
{
ViewerTest::ViewerInit (0, 0, anImgParams.Width, anImgParams.Height, "TmpDriver/TmpViewer/TmpView");
aView = ViewerTest::CurrentView();
+ Standard_DISABLE_DEPRECATION_WARNINGS
aView->SetImmediateUpdate (false);
+ Standard_ENABLE_DEPRECATION_WARNINGS
aView->SetBgGradientStyle (Aspect_GradientFillMethod_None, false);
}
const TCollection_AsciiString anImgPath = aFileNameBase + "_" + aColName + ".png";
if (!aView.IsNull())
{
+ Standard_DISABLE_DEPRECATION_WARNINGS
aView->SetImmediateUpdate (false);
+ Standard_ENABLE_DEPRECATION_WARNINGS
aView->SetBackgroundColor (aCol);
if (!aView->ToPixMap (anImg, anImgParams)
|| !anImg.Save (aFolder + anImgPath))
}
// Perform video recording
+Standard_DISABLE_DEPRECATION_WARNINGS
const Standard_Boolean wasImmediateUpdate = aView->SetImmediateUpdate (Standard_False);
+Standard_ENABLE_DEPRECATION_WARNINGS
const Standard_Real anUpperPts = aPlayStartTime + aPlayDuration;
anAnimation->StartTimer (aPlayStartTime, aPlaySpeed, Standard_True, aPlayDuration <= 0.0);
<< "Nb. Frames: " << Standard_Real(aNbFrames);
aView->Redraw();
+Standard_DISABLE_DEPRECATION_WARNINGS
aView->SetImmediateUpdate (wasImmediateUpdate);
+Standard_ENABLE_DEPRECATION_WARNINGS
return 0;
}
return 1;
}
+Standard_DISABLE_DEPRECATION_WARNINGS
const bool wasImmUpdate = aView->SetImmediateUpdate (false);
+Standard_ENABLE_DEPRECATION_WARNINGS
Handle(Graphic3d_Camera) aCamBack = aView->Camera();
if (!aCustomCam.IsNull())
{
{
aView->SetCamera (aCamBack);
}
+Standard_DISABLE_DEPRECATION_WARNINGS
aView->SetImmediateUpdate (wasImmUpdate);
-
+Standard_ENABLE_DEPRECATION_WARNINGS
if (!aPixMap.Save (aFile))
{
Message::SendFail ("Error: can't save selection image");