mirror of
https://git.salome-platform.org/gitpub/modules/geom.git
synced 2024-11-11 16:19:17 +05:00
Fix for '#17888 [CEA 17919] VTK Viewer - Scaling'.
This commit is contained in:
parent
11cbc17d51
commit
090649639c
@ -1166,3 +1166,19 @@ void GEOM_Actor::SetWidth(const int width) {
|
||||
int GEOM_Actor::GetWidth() const {
|
||||
return (int)myIsolatedEdgeActor->GetProperty()->GetLineWidth();
|
||||
}
|
||||
|
||||
void GEOM_Actor::SetTransform(VTKViewer_Transform* theTransform)
|
||||
{
|
||||
Superclass::SetTransform(theTransform);
|
||||
|
||||
myStandaloneVertexActor->SetTransform(theTransform);
|
||||
myStandaloneVertexActor->SetTransform(theTransform);
|
||||
myIsolatedEdgeActor->SetTransform(theTransform);
|
||||
myOneFaceEdgeActor->SetTransform(theTransform);
|
||||
mySharedEdgeActor->SetTransform(theTransform);
|
||||
myWireframeFaceActor->SetTransform(theTransform);
|
||||
myShadingFaceActor->SetTransform(theTransform);
|
||||
myHighlightActor->SetTransform(theTransform);
|
||||
|
||||
Modified();
|
||||
}
|
||||
|
@ -222,6 +222,11 @@ public:
|
||||
bool
|
||||
GetNameMode();
|
||||
|
||||
virtual
|
||||
void
|
||||
SetTransform(VTKViewer_Transform* theTransform);
|
||||
|
||||
|
||||
protected:
|
||||
void SetModified();
|
||||
|
||||
|
@ -27,19 +27,25 @@
|
||||
#include <vtkPolyDataMapper.h>
|
||||
#include <vtkPolyDataNormals.h>
|
||||
#include <vtkActor.h>
|
||||
#include <VTKViewer_Actor.h>
|
||||
#include <vtkRenderer.h>
|
||||
|
||||
#include <VTKViewer_Actor.h>
|
||||
#include <VTKViewer_Transform.h>
|
||||
#include <VTKViewer_TransformFilter.h>
|
||||
|
||||
|
||||
vtkStandardNewMacro(GEOM_DeviceActor);
|
||||
|
||||
GEOM_DeviceActor::GEOM_DeviceActor() :
|
||||
myStripper(vtkStripper::New(), true),
|
||||
myPolyDataMapper(vtkPolyDataMapper::New(), true),
|
||||
myPolyDataNormals(vtkPolyDataNormals::New(), true),
|
||||
myActor(VTKViewer_Actor::New(),true)
|
||||
myActor(VTKViewer_Actor::New(), true),
|
||||
myTransformFilter(VTKViewer_TransformFilter::New())
|
||||
{
|
||||
myStripper->SetInputConnection(myPolyDataNormals->GetOutputPort());
|
||||
myPolyDataMapper->SetInputConnection(myStripper->GetOutputPort());
|
||||
myTransformFilter->SetInputConnection(myStripper->GetOutputPort());
|
||||
myPolyDataMapper->SetInputConnection(myTransformFilter->GetOutputPort());
|
||||
|
||||
myActor->SetMapper(myPolyDataMapper.Get());
|
||||
myActor->PickableOff();
|
||||
@ -57,10 +63,12 @@ SetInput(vtkAlgorithmOutput* thePolyData, bool theUseStripper)
|
||||
{
|
||||
myPolyDataNormals->SetInputConnection(thePolyData);
|
||||
myStripper->SetInputConnection(myPolyDataNormals->GetOutputPort());
|
||||
myPolyDataMapper->SetInputConnection(myStripper->GetOutputPort());
|
||||
myTransformFilter->SetInputConnection(myStripper->GetOutputPort());
|
||||
myPolyDataMapper->SetInputConnection(myTransformFilter->GetOutputPort());
|
||||
}
|
||||
else
|
||||
myPolyDataMapper->SetInputConnection(thePolyData);
|
||||
myTransformFilter->SetInputConnection(thePolyData);
|
||||
myPolyDataMapper->SetInputConnection(myTransformFilter->GetOutputPort());
|
||||
}
|
||||
|
||||
void
|
||||
@ -118,3 +126,10 @@ RemoveFromRender(vtkRenderer* theRenderer)
|
||||
{
|
||||
theRenderer->RemoveActor(myActor.GetPointer());
|
||||
}
|
||||
|
||||
void
|
||||
GEOM_DeviceActor
|
||||
::SetTransform(VTKViewer_Transform* theTransform)
|
||||
{
|
||||
myTransformFilter->SetTransform(theTransform);
|
||||
}
|
||||
|
@ -36,7 +36,10 @@ typedef GEOM_SmartPtr<vtkPolyDataNormals> PPolyDataNormals;
|
||||
|
||||
//class vtkActor;
|
||||
class VTKViewer_Actor;
|
||||
class VTKViewer_Transform;
|
||||
class VTKViewer_TransformFilter;
|
||||
typedef GEOM_SmartPtr<VTKViewer_Actor> PActor;
|
||||
typedef GEOM_SmartPtr<VTKViewer_TransformFilter> PTransformFilter;
|
||||
|
||||
class vtkProperty;
|
||||
class vtkRenderer;
|
||||
@ -67,11 +70,14 @@ public:
|
||||
|
||||
PActor GetDeviceActor() {return myActor;}
|
||||
|
||||
virtual void SetTransform(VTKViewer_Transform* theTransform);
|
||||
|
||||
protected:
|
||||
PPolyDataNormals myPolyDataNormals;
|
||||
PPolyDataMapper myPolyDataMapper;
|
||||
PStripper myStripper;
|
||||
PActor myActor;
|
||||
PTransformFilter myTransformFilter;
|
||||
|
||||
GEOM_DeviceActor();
|
||||
~GEOM_DeviceActor();
|
||||
|
Loading…
Reference in New Issue
Block a user