bos #17888 VTK viewer: scaling is not applied to GEOM objects

This commit is contained in:
vsr 2020-01-27 18:54:27 +03:00
parent 7c35075817
commit 31ee669792
4 changed files with 30 additions and 0 deletions

View File

@ -1166,3 +1166,20 @@ void GEOM_Actor::SetWidth(const int width) {
int GEOM_Actor::GetWidth() const { int GEOM_Actor::GetWidth() const {
return (int)myIsolatedEdgeActor->GetProperty()->GetLineWidth(); return (int)myIsolatedEdgeActor->GetProperty()->GetLineWidth();
} }
void GEOM_Actor::SetTransform(VTKViewer_Transform* theTransform)
{
SALOME_Actor::SetTransform(theTransform);
myVertexActor->SetTransform(theTransform);
myStandaloneVertexActor->SetTransform(theTransform);
myIsolatedEdgeActor->SetTransform(theTransform);
myOneFaceEdgeActor->SetTransform(theTransform);
mySharedEdgeActor->SetTransform(theTransform);
myWireframeFaceActor->SetTransform(theTransform);
myShadingFaceActor->SetTransform(theTransform);
myHighlightActor->SetTransform(theTransform);
//myTextActor->SetTransform(theTransform);
Modified();
}

View File

@ -80,6 +80,8 @@ public:
void SetSelected(bool theIsSelected); void SetSelected(bool theIsSelected);
bool IsSelected() const { return myIsSelected;} bool IsSelected() const { return myIsSelected;}
void SetTransform(VTKViewer_Transform* theTransform);
// OLD METHODS // OLD METHODS
// Properties // Properties
void SetHighlightProperty(vtkProperty* Prop); void SetHighlightProperty(vtkProperty* Prop);

View File

@ -28,6 +28,7 @@
#include <vtkPolyDataNormals.h> #include <vtkPolyDataNormals.h>
#include <vtkActor.h> #include <vtkActor.h>
#include <VTKViewer_Actor.h> #include <VTKViewer_Actor.h>
#include <VTKViewer_Transform.h>
#include <vtkRenderer.h> #include <vtkRenderer.h>
vtkStandardNewMacro(GEOM_DeviceActor); vtkStandardNewMacro(GEOM_DeviceActor);
@ -118,3 +119,10 @@ RemoveFromRender(vtkRenderer* theRenderer)
{ {
theRenderer->RemoveActor(myActor.GetPointer()); theRenderer->RemoveActor(myActor.GetPointer());
} }
void
GEOM_DeviceActor::
SetTransform(VTKViewer_Transform* theTransform)
{
myActor->SetTransform(theTransform);
}

View File

@ -44,6 +44,7 @@ class vtkRenderer;
#include <vtkObject.h> #include <vtkObject.h>
class vtkAlgorithmOutput; class vtkAlgorithmOutput;
class VTKViewer_Transform;
class VTK_EXPORT GEOM_DeviceActor: public vtkObject class VTK_EXPORT GEOM_DeviceActor: public vtkObject
{ {
@ -67,6 +68,8 @@ public:
PActor GetDeviceActor() {return myActor;} PActor GetDeviceActor() {return myActor;}
void SetTransform(VTKViewer_Transform* theTransform);
protected: protected:
PPolyDataNormals myPolyDataNormals; PPolyDataNormals myPolyDataNormals;
PPolyDataMapper myPolyDataMapper; PPolyDataMapper myPolyDataMapper;