1
0
mirror of https://git.dev.opencascade.org/repos/occt.git synced 2025-08-14 13:30:48 +03:00

0027536: Visualization - incorrect behavior of zoom persisted objects

1) Zoom persistence mode now fixes object in pixel coordinates and  is independent on view size

2) Used gp_GTrsf instead of gp_Trsf SelectMgr_ViewerSelector to store  Graphic3d_Mat4d

3) Zoom persisted objects changed behavior (become bigger) therefore test cases were updated according to new state.

4) Corrected scale for rectangular frustum

Updated test for manipulator
This commit is contained in:
aba
2016-06-01 18:37:51 +03:00
committed by bugmaster
parent be5c360207
commit 91d9637224
44 changed files with 250 additions and 101 deletions

View File

@@ -26,6 +26,7 @@
#include <Standard_Boolean.hxx>
#include <Graphic3d_ZLayerId.hxx>
#include <PrsMgr_PresentableObjectPointer.hxx>
#include <gp_GTrsf.hxx>
#include <gp_Trsf.hxx>
#include <PrsMgr_ListOfPresentableObjects.hxx>
#include <MMgt_TShared.hxx>
@@ -133,7 +134,7 @@ public:
const gp_Trsf& Transformation() const;
const gp_Trsf& InversedTransformation() const;
const gp_GTrsf& InversedTransformation() const;
//! resets local transformation to identity.
Standard_EXPORT virtual void ResetTransformation();
@@ -288,7 +289,7 @@ private:
PrsMgr_PresentableObjectPointer myParent;
gp_Trsf myLocalTransformation;
gp_Trsf myTransformation;
gp_Trsf myInvTransformation;
gp_GTrsf myInvTransformation;
gp_Trsf myCombinedParentTransform;
PrsMgr_ListOfPresentableObjects myChildren;

View File

@@ -32,7 +32,7 @@ inline const gp_Trsf& PrsMgr_PresentableObject::Transformation() const
return myTransformation;
}
inline const gp_Trsf& PrsMgr_PresentableObject::InversedTransformation() const
inline const gp_GTrsf& PrsMgr_PresentableObject::InversedTransformation() const
{
return myInvTransformation;
}