VTK  9.3.0
vtkCameraActor.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2 // SPDX-License-Identifier: BSD-3-Clause
14 #ifndef vtkCameraActor_h
15 #define vtkCameraActor_h
16 
17 #include "vtkProp3D.h"
18 #include "vtkRenderingCoreModule.h" // For export macro
19 
20 VTK_ABI_NAMESPACE_BEGIN
21 class vtkCamera;
22 class vtkFrustumSource;
23 class vtkPolyDataMapper;
24 class vtkActor;
25 class vtkProperty;
26 
27 class VTKRENDERINGCORE_EXPORT vtkCameraActor : public vtkProp3D
28 {
29 public:
30  static vtkCameraActor* New();
31  vtkTypeMacro(vtkCameraActor, vtkProp3D);
32  void PrintSelf(ostream& os, vtkIndent indent) override;
33 
35 
38  void SetCamera(vtkCamera* camera);
39  vtkGetObjectMacro(Camera, vtkCamera);
41 
43 
47  vtkSetMacro(WidthByHeightRatio, double);
48  vtkGetMacro(WidthByHeightRatio, double);
50 
54  int RenderOpaqueGeometry(vtkViewport* viewport) override;
55 
60 
67 
71  double* GetBounds() override;
72 
76  vtkMTimeType GetMTime() override;
77 
82 
87 
88 protected:
90  ~vtkCameraActor() override;
91 
93 
96 
100 
101 private:
102  vtkCameraActor(const vtkCameraActor&) = delete;
103  void operator=(const vtkCameraActor&) = delete;
104 };
105 
106 VTK_ABI_NAMESPACE_END
107 #endif
represents an object (geometry & properties) in a rendered scene
Definition: vtkActor.h:41
a frustum to represent a camera.
void ReleaseGraphicsResources(vtkWindow *) override
Release any graphics resources that are being consumed by this actor.
static vtkCameraActor * New()
vtkPolyDataMapper * FrustumMapper
double * GetBounds() override
Get the bounds for this Actor as (Xmin,Xmax,Ymin,Ymax,Zmin,Zmax).
vtkFrustumSource * FrustumSource
double WidthByHeightRatio
vtkProperty * GetProperty()
Get property of the internal actor.
void UpdateViewProps()
vtkMTimeType GetMTime() override
Get the actors mtime plus consider its properties and texture if set.
vtkTypeBool HasTranslucentPolygonalGeometry() override
Does this prop have some translucent polygonal geometry? No.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkCamera * Camera
vtkActor * FrustumActor
~vtkCameraActor() override
int RenderOpaqueGeometry(vtkViewport *viewport) override
Support the standard render methods.
void SetCamera(vtkCamera *camera)
The camera to represent.
void SetProperty(vtkProperty *p)
Set property of the internal actor.
a virtual camera for 3D rendering
Definition: vtkCamera.h:41
create a polygonal representation of a frustum
a simple class to control print indentation
Definition: vtkIndent.h:29
map vtkPolyData to graphics primitives
represents an 3D object for placement in a rendered scene
Definition: vtkProp3D.h:39
represent surface properties of a geometric object
Definition: vtkProperty.h:57
abstract specification for Viewports
Definition: vtkViewport.h:45
window superclass for vtkRenderWindow
Definition: vtkWindow.h:28
int vtkTypeBool
Definition: vtkABI.h:64
vtkTypeUInt32 vtkMTimeType
Definition: vtkType.h:270