vtkPVLODActor.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (c) Kitware Inc.
2 // SPDX-License-Identifier: BSD-3-Clause
16 #ifndef vtkPVLODActor_h
17 #define vtkPVLODActor_h
18 
19 #include "vtkActor.h"
20 #include "vtkRemotingViewsModule.h" // needed for export macro
21 
22 class vtkMapper;
24 
25 class VTKREMOTINGVIEWS_EXPORT vtkPVLODActor : public vtkActor
26 {
27 public:
28  vtkTypeMacro(vtkPVLODActor, vtkActor);
29  void PrintSelf(ostream& os, vtkIndent indent) override;
30 
31  static vtkPVLODActor* New();
32 
37  void Render(vtkRenderer*, vtkMapper*) override;
38 
43  int RenderOpaqueGeometry(vtkViewport* viewport) override;
44 
50  void ReleaseGraphicsResources(vtkWindow*) override;
51 
53 
56  virtual void SetLODMapper(vtkMapper*);
57  vtkGetObjectMacro(LODMapper, vtkMapper);
59 
64  vtkMapper* GetMapper() override { return this->SelectMapper(); }
65 
69  void Modified() override;
70 
74  void ShallowCopy(vtkProp* prop) override;
75 
79  double* GetBounds() override;
80 
86  void SetEnableLOD(int val) { this->EnableLOD = val; }
87  vtkGetMacro(EnableLOD, int);
88 
90 
94  virtual void SetEnableScaling(int v);
95  virtual void SetScalingArrayName(const char*);
96  virtual void SetScalingFunction(vtkPiecewiseFunction* pwf);
98 
99 protected:
100  vtkPVLODActor();
101  ~vtkPVLODActor() override;
104 
105  vtkMapper* SelectMapper();
106 
108 
109 private:
110  vtkPVLODActor(const vtkPVLODActor&) = delete;
111  void operator=(const vtkPVLODActor&) = delete;
112 };
113 
114 #endif
vtkActor::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent)
vtkObjectBase::operator=
void operator=(const vtkObjectBase &)
vtkPVLODActor::Device
vtkActor * Device
Definition: vtkPVLODActor.h:102
vtkPVLODActor::GetMapper
vtkMapper * GetMapper() override
This is a bit of a hack.
Definition: vtkPVLODActor.h:64
vtkActor::ShallowCopy
void ShallowCopy(vtkProp *prop)
vtkObject::Modified
virtual void Modified()
vtkWindow
vtkPVLODActor::EnableLOD
int EnableLOD
Definition: vtkPVLODActor.h:107
vtkActor::New
static vtkActor * New()
vtkMapper
vtkActor::GetBounds
double * GetBounds()
vtkActor
vtkIndent
vtkActor.h
vtkPVLODActor::LODMapper
vtkMapper * LODMapper
Definition: vtkPVLODActor.h:103
vtkViewport
vtkPiecewiseFunction
vtkProp
vtkActor::RenderOpaqueGeometry
virtual int RenderOpaqueGeometry(vtkViewport *viewport)
vtkRenderer
vtkActor::ReleaseGraphicsResources
void ReleaseGraphicsResources(vtkWindow *)
vtkPVLODActor
an actor that supports multiple levels of detail
Definition: vtkPVLODActor.h:25
vtkPVLODActor::SetEnableLOD
void SetEnableLOD(int val)
When set, LODMapper, if present it used, otherwise the regular mapper is used.
Definition: vtkPVLODActor.h:86
vtkActor::Render
virtual void Render(vtkRenderer *, vtkMapper *)