From dae3bf2138fafebef5ab28ad7dc33b23d218eecf Mon Sep 17 00:00:00 2001 From: ouv Date: Thu, 28 Apr 2011 10:54:26 +0000 Subject: [PATCH] Issue IPAL22429: TC6.3.0: Incorrect frame representation for Cut Lines with Scale Y=50 --- src/OBJECT/VISU_ActorBase.cxx | 18 ++++++++++++++++++ src/OBJECT/VISU_ActorBase.h | 1 + 2 files changed, 19 insertions(+) diff --git a/src/OBJECT/VISU_ActorBase.cxx b/src/OBJECT/VISU_ActorBase.cxx index 9598883c..20a52d78 100644 --- a/src/OBJECT/VISU_ActorBase.cxx +++ b/src/OBJECT/VISU_ActorBase.cxx @@ -26,6 +26,7 @@ #include "VISU_ActorBase.h" #include "VISU_ActorFactory.h" #include "VTKViewer_ShrinkFilter.h" +#include "VTKViewer_Transform.h" #include #include @@ -96,6 +97,23 @@ VISU_ActorBase } } +//---------------------------------------------------------------------------- +void +VISU_ActorBase +::SetTransform(VTKViewer_Transform* theTransform) +{ + Superclass::SetTransform( theTransform ); + + // Since the output of GetHighlightedDataSet() method (which is passed + // through transform filter) is used for calculation of bounds of the + // SALOME_Actor::myOutlineActor, we should remove transformation + // from the outline actor applied in SALOME_Actor::SetTransform(). + // See issues IPAL22429, IPAL21936. + VTKViewer_Transform* aTransform = VTKViewer_Transform::New(); + myOutlineActor->SetTransform( aTransform ); + aTransform->Delete(); +} + //-------------------------------------------------------------------------- void diff --git a/src/OBJECT/VISU_ActorBase.h b/src/OBJECT/VISU_ActorBase.h index 8651efda..55b18f94 100644 --- a/src/OBJECT/VISU_ActorBase.h +++ b/src/OBJECT/VISU_ActorBase.h @@ -55,6 +55,7 @@ class VISU_OBJECT_EXPORT VISU_ActorBase: public SALOME_Actor, virtual void UpdateFromFactory(); //---------------------------------------------------------------------------- + virtual void SetTransform(VTKViewer_Transform* theTransform); virtual void SetLineWidth(vtkFloatingPointType theLineWidth); virtual vtkFloatingPointType GetLineWidth(); -- 2.39.2