VTK  9.7.1
vtkOpenGLCamera.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
11 #ifndef vtkOpenGLCamera_h
12 #define vtkOpenGLCamera_h
13 
14 #include "vtkCamera.h"
15 #include "vtkRenderingOpenGL2Module.h" // For export macro
16 #include "vtkWrappingHints.h" // For VTK_MARSHALAUTO
17 
18 VTK_ABI_NAMESPACE_BEGIN
19 class vtkOpenGLRenderer;
20 class vtkMatrix3x3;
21 class vtkMatrix4x4;
23 
24 class VTKRENDERINGOPENGL2_EXPORT VTK_MARSHALAUTO vtkOpenGLCamera : public vtkCamera
25 {
26 public:
27  static vtkOpenGLCamera* New();
29  static vtkOverrideAttribute* CreateOverrideAttributes();
30  vtkTypeMacro(vtkOpenGLCamera, vtkCamera);
31  void PrintSelf(ostream& os, vtkIndent indent) override;
32 
36  void Render(vtkRenderer* ren) override;
37 
38  void UpdateViewport(vtkRenderer* ren) override;
39 
40  virtual void GetKeyMatrices(vtkRenderer* ren, vtkMatrix4x4*& WCVCMatrix,
41  vtkMatrix3x3*& normalMatrix, vtkMatrix4x4*& VCDCMatrix, vtkMatrix4x4*& WCDCMatrix);
42 
43 protected:
45  ~vtkOpenGLCamera() override;
46 
53 
54 private:
55  vtkOpenGLCamera(const vtkOpenGLCamera&) = delete;
56  void operator=(const vtkOpenGLCamera&) = delete;
57 };
58 
59 #define vtkOpenGLCamera_OVERRIDE_ATTRIBUTES vtkOpenGLCamera::CreateOverrideAttributes()
60 VTK_ABI_NAMESPACE_END
61 #endif
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
Attribute for vtkObjectFactory overrides.
represent and manipulate 4x4 transformation matrices
Definition: vtkMatrix4x4.h:31
record modification and/or execution time
Definition: vtkTimeStamp.h:24
abstract specification for renderers
Definition: vtkRenderer.h:63
virtual void UpdateViewport(vtkRenderer *ren)
Update the viewport.
Definition: vtkCamera.h:685
a simple class to control print indentation
Definition: vtkIndent.h:28
a virtual camera for 3D rendering
Definition: vtkCamera.h:41
virtual void Render(vtkRenderer *)
This method causes the camera to set up whatever is required for viewing the scene.
Definition: vtkCamera.h:616
vtkMatrix4x4 * VCDCMatrix
#define VTK_NEWINSTANCE
vtkMatrix4x4 * WCVCMatrix
vtkMatrix4x4 * WCDCMatrix
vtkTimeStamp KeyMatrixTime
#define VTK_MARSHALAUTO
OpenGL renderer.
represent and manipulate 3x3 transformation matrices
Definition: vtkMatrix3x3.h:26
OpenGL camera.
static vtkCamera * New()
Construct camera instance with its focal point at the origin, and position=(0,0,1).
vtkMatrix3x3 * NormalMatrix
vtkRenderer * LastRenderer