From: ouv Date: Thu, 28 Apr 2011 10:54:26 +0000 (+0000) Subject: Issue IPAL22429: TC6.3.0: Incorrect frame representation for Cut Lines with Scale... X-Git-Tag: V6_3_BR20110429 X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=dae3bf2138fafebef5ab28ad7dc33b23d218eecf;p=modules%2Fvisu.git Issue IPAL22429: TC6.3.0: Incorrect frame representation for Cut Lines with Scale Y=50 --- 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();