vtkCameraInterpolator2.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (c) Kitware Inc.
2 // SPDX-License-Identifier: BSD-3-Clause
9 #ifndef vtkCameraInterpolator2_h
10 #define vtkCameraInterpolator2_h
11 
12 #include "vtkObject.h"
13 #include "vtkRemotingAnimationModule.h" // needed for export macro
14 
15 class vtkPoints;
17 class vtkCamera;
18 
20 {
21 public:
22  static vtkCameraInterpolator2* New();
24  void PrintSelf(ostream& os, vtkIndent indent) override;
25 
26  // Add points on the path. For a fixed location, simply add 1 point.
27  void AddPositionPathPoint(double x, double y, double z);
28  void ClearPositionPath();
29 
30  // Add points on the path. For a fixed location, simply add 1 point.
31  void AddFocalPathPoint(double x, double y, double z);
32  void ClearFocalPath();
33 
34  enum Modes
35  {
39  ORTHOGONAL
40  };
41 
43 
48  vtkSetClampMacro(FocalPointMode, int, PATH, ORTHOGONAL);
49  vtkGetMacro(FocalPointMode, int);
51 
53 
58  vtkSetClampMacro(PositionMode, int, PATH, ORTHOGONAL);
59  vtkGetMacro(PositionMode, int);
61 
63  {
65  SPLINE
66  };
67 
68  // Support for interpolation modes hasn't been implemented yet.
69  vtkSetClampMacro(PositionPathInterpolationMode, int, LINEAR, SPLINE);
70  vtkGetMacro(PositionPathInterpolationMode, int);
71 
72  // Support for interpolation modes hasn't been implemented yet.
73  vtkSetClampMacro(FocalPathInterpolationMode, int, LINEAR, SPLINE);
74  vtkGetMacro(FocalPathInterpolationMode, int);
75 
77 
80  vtkSetMacro(ClosedFocalPath, bool);
81  vtkGetMacro(ClosedFocalPath, bool);
82  vtkBooleanMacro(ClosedFocalPath, bool);
84 
86 
89  vtkSetMacro(ClosedPositionPath, bool);
90  vtkGetMacro(ClosedPositionPath, bool);
91  vtkBooleanMacro(ClosedPositionPath, bool);
93 
97  void InterpolateCamera(double u, vtkCamera*);
98 
99 protected:
101  ~vtkCameraInterpolator2() override;
102 
103  void Evaluate(double u, vtkParametricSpline* spline, double tuple[3]);
104 
111 
114 
117 
118 private:
120  void operator=(const vtkCameraInterpolator2&) = delete;
121 };
122 
123 #endif
void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE
vtkParametricSpline * PositionSpline
#define VTKREMOTINGANIMATION_EXPORT
vtkParametricSpline * FocalSpline
static vtkObject * New()
void operator=(const vtkObjectBase &)