VTK  9.3.1
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 
66  void ReleaseGraphicsResources(vtkWindow*) override;
67 
71  double* GetBounds() override;
72 
76  vtkMTimeType GetMTime() override;
77 
81  vtkProperty* GetProperty();
82 
86  void SetProperty(vtkProperty* p);
87 
88 protected:
90  ~vtkCameraActor() override;
91 
92  void UpdateViewProps();
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:40
double * GetBounds() override=0
Return a reference to the Prop3D's composite transform.
vtkTypeUInt32 vtkMTimeType
Definition: vtkType.h:270
abstract specification for Viewports
Definition: vtkViewport.h:44
represent surface properties of a geometric object
Definition: vtkProperty.h:56
virtual int RenderOpaqueGeometry(vtkViewport *)
WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE DO NOT USE THESE METHODS OUTSIDE OF THE RENDE...
Definition: vtkProp.h:213
virtual vtkTypeBool HasTranslucentPolygonalGeometry()
WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE DO NOT USE THESE METHODS OUTSIDE OF THE RENDE...
Definition: vtkProp.h:277
vtkActor * FrustumActor
represents an 3D object for placement in a rendered scene
Definition: vtkProp3D.h:38
a frustum to represent a camera.
int vtkTypeBool
Definition: vtkABI.h:64
virtual void ReleaseGraphicsResources(vtkWindow *)
WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE Release any graphics resources that are being...
Definition: vtkProp.h:298
vtkCamera * Camera
window superclass for vtkRenderWindow
Definition: vtkWindow.h:27
a simple class to control print indentation
Definition: vtkIndent.h:28
a virtual camera for 3D rendering
Definition: vtkCamera.h:40
double WidthByHeightRatio
vtkPolyDataMapper * FrustumMapper
create a polygonal representation of a frustum
map vtkPolyData to graphics primitives
vtkFrustumSource * FrustumSource
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
static vtkObject * New()
Create an object with Debug turned off, modified time initialized to zero, and reference counting on...
vtkMTimeType GetMTime() override
Get the vtkProp3D's mtime.