VTK  9.4.20250206
vtkCameraRepresentation.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
21#ifndef vtkCameraRepresentation_h
22#define vtkCameraRepresentation_h
23
25#include "vtkInteractionWidgetsModule.h" // For export macro
26
27VTK_ABI_NAMESPACE_BEGIN
28class vtkRenderer;
30class vtkCamera;
32class vtkPoints;
33class vtkPolyData;
36class vtkProperty2D;
37class vtkActor2D;
38
39class VTKINTERACTIONWIDGETS_EXPORT vtkCameraRepresentation : public vtkBorderRepresentation
40{
41public:
46
48
52 void PrintSelf(ostream& os, vtkIndent indent) override;
54
56
60 void SetCamera(vtkCamera* camera);
61 vtkGetObjectMacro(Camera, vtkCamera);
63
65
73 vtkGetObjectMacro(Interpolator, vtkCameraInterpolator);
75
77
80 vtkSetClampMacro(NumberOfFrames, int, 1, VTK_INT_MAX);
81 vtkGetMacro(NumberOfFrames, int);
83
85
89 vtkGetObjectMacro(Property, vtkProperty2D);
91
93
104
108 void BuildRepresentation() override;
109 void GetSize(double size[2]) override
110 {
111 size[0] = 6.0;
112 size[1] = 2.0;
113 }
114
116
127
128protected:
131
132 // the camera and the interpolator
137
138 // representation of the camera
145
146private:
148 void operator=(const vtkCameraRepresentation&) = delete;
149};
150
151VTK_ABI_NAMESPACE_END
152#endif
a actor that draws 2D data
Definition vtkActor2D.h:145
represent a vtkBorderWidget
interpolate a series of cameras to update a new camera
represent the vtkCameraWidget
vtkTypeBool HasTranslucentPolygonalGeometry() override
These methods are necessary to make this representation behave as a vtkProp.
vtkCameraInterpolator * Interpolator
void GetActors2D(vtkPropCollection *) override
These methods are necessary to make this representation behave as a vtkProp.
int RenderOpaqueGeometry(vtkViewport *) override
These methods are necessary to make this representation behave as a vtkProp.
void InitializePath()
These methods are used to create interpolated camera paths.
static vtkCameraRepresentation * New()
Instantiate this class.
void ReleaseGraphicsResources(vtkWindow *) override
These methods are necessary to make this representation behave as a vtkProp.
void GetSize(double size[2]) override
Subclasses should implement these methods.
void BuildRepresentation() override
Satisfy the superclasses' API.
void SetInterpolator(vtkCameraInterpolator *camInt)
Get the vtkCameraInterpolator used to interpolate and save the sequence of camera views.
void SetCamera(vtkCamera *camera)
Specify the camera to interpolate.
void PrintSelf(ostream &os, vtkIndent indent) override
Standard VTK class methods.
vtkTransformPolyDataFilter * TransformFilter
int RenderTranslucentPolygonalGeometry(vtkViewport *) override
These methods are necessary to make this representation behave as a vtkProp.
~vtkCameraRepresentation() override
int RenderOverlay(vtkViewport *) override
These methods are necessary to make this representation behave as a vtkProp.
void AnimatePath(vtkRenderWindowInteractor *rwi)
These methods are used to create interpolated camera paths.
void AddCameraToPath()
These methods are used to create interpolated camera paths.
a virtual camera for 3D rendering
Definition vtkCamera.h:151
a simple class to control print indentation
Definition vtkIndent.h:108
represent and manipulate 3D points
Definition vtkPoints.h:139
draw vtkPolyData onto the image plane
concrete dataset represents vertices, lines, polygons, and triangle strips
an ordered list of Props
represent surface properties of a 2D image
platform-independent render window interaction including picking and frame rate control.
abstract specification for renderers
transform points and associated normals and vectors for polygonal dataset
abstract specification for Viewports
Definition vtkViewport.h:65
window superclass for vtkRenderWindow
Definition vtkWindow.h:48
int vtkTypeBool
Definition vtkABI.h:64
#define VTK_INT_MAX
Definition vtkType.h:144