mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-08-04 13:13:25 +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:
@@ -85,7 +85,7 @@ Standard_Boolean Select3D_SensitiveEntity::HasInitLocation() const
|
||||
// purpose : Returns inversed location transformation matrix if the shape corresponding
|
||||
// to this entity has init location set. Otherwise, returns identity matrix.
|
||||
//=======================================================================
|
||||
gp_Trsf Select3D_SensitiveEntity::InvInitLocation() const
|
||||
gp_GTrsf Select3D_SensitiveEntity::InvInitLocation() const
|
||||
{
|
||||
return gp_Trsf();
|
||||
return gp_GTrsf();
|
||||
}
|
||||
|
@@ -83,7 +83,7 @@ public:
|
||||
|
||||
//! Returns inversed location transformation matrix if the shape corresponding
|
||||
//! to this entity has init location set. Otherwise, returns identity matrix.
|
||||
Standard_EXPORT virtual gp_Trsf InvInitLocation() const Standard_OVERRIDE;
|
||||
Standard_EXPORT virtual gp_GTrsf InvInitLocation() const Standard_OVERRIDE;
|
||||
|
||||
DEFINE_STANDARD_RTTIEXT(Select3D_SensitiveEntity,SelectBasics_SensitiveEntity)
|
||||
|
||||
|
@@ -208,7 +208,7 @@ public:
|
||||
|
||||
//! Returns inversed location transformation matrix if the shape corresponding
|
||||
//! to this entity has init location set. Otherwise, returns identity matrix.
|
||||
virtual gp_Trsf InvInitLocation() const Standard_OVERRIDE
|
||||
virtual gp_GTrsf InvInitLocation() const Standard_OVERRIDE
|
||||
{
|
||||
return myInvInitLocation;
|
||||
}
|
||||
@@ -261,7 +261,7 @@ private:
|
||||
gp_Pnt myCDG3D; //!< Center of the whole triangulation
|
||||
Select3D_BVHIndexBuffer myBvhIndices; //!< Indexes of edges or triangles for BVH tree
|
||||
mutable Select3D_BndBox3d myBndBox; //!< Bounding box of the whole triangulation
|
||||
gp_Trsf myInvInitLocation;
|
||||
gp_GTrsf myInvInitLocation;
|
||||
Standard_Real myMinDepthElem; //!< the depth of nearest detected element
|
||||
Standard_Real myMinDepthNode; //!< the depth of nearest detected node
|
||||
Standard_Real myMinDepthEdge; //!< the depth of nearest detected edge
|
||||
|
@@ -429,7 +429,7 @@ Standard_Boolean Select3D_SensitiveTriangulation::HasInitLocation() const
|
||||
//function : InvInitLocation
|
||||
//purpose :
|
||||
//=======================================================================
|
||||
gp_Trsf Select3D_SensitiveTriangulation::InvInitLocation() const
|
||||
gp_GTrsf Select3D_SensitiveTriangulation::InvInitLocation() const
|
||||
{
|
||||
return myInvInitLocation;
|
||||
}
|
||||
|
@@ -106,7 +106,7 @@ public:
|
||||
|
||||
//! Returns inversed location transformation matrix if the shape corresponding
|
||||
//! to this entity has init location set. Otherwise, returns identity matrix.
|
||||
Standard_EXPORT virtual gp_Trsf InvInitLocation() const Standard_OVERRIDE;
|
||||
Standard_EXPORT virtual gp_GTrsf InvInitLocation() const Standard_OVERRIDE;
|
||||
|
||||
inline const TopLoc_Location& GetInitLocation() const;
|
||||
|
||||
@@ -144,7 +144,7 @@ private:
|
||||
Standard_Integer myPrimitivesNb; //!< Amount of free edges or triangles depending on sensitivity type
|
||||
Handle(TColStd_HArray1OfInteger) myBVHPrimIndexes; //!< Indexes of edges or triangles for BVH build
|
||||
mutable Select3D_BndBox3d myBndBox; //!< Bounding box of the whole triangulation
|
||||
gp_Trsf myInvInitLocation;
|
||||
gp_GTrsf myInvInitLocation;
|
||||
};
|
||||
|
||||
DEFINE_STANDARD_HANDLE(Select3D_SensitiveTriangulation, Select3D_SensitiveSet)
|
||||
|
Reference in New Issue
Block a user