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 
19 class VTKREMOTINGANIMATION_EXPORT vtkCameraInterpolator2 : public vtkObject
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
vtkPoints
vtkObjectBase::operator=
void operator=(const vtkObjectBase &)
vtkCameraInterpolator2::PathInterpolationModes
PathInterpolationModes
Definition: vtkCameraInterpolator2.h:62
vtkObject::New
static vtkObject * New()
vtkCameraInterpolator2::ClosedFocalPath
bool ClosedFocalPath
Definition: vtkCameraInterpolator2.h:110
vtkCameraInterpolator2::FIXED_DIRECTION
@ FIXED_DIRECTION
Definition: vtkCameraInterpolator2.h:37
vtkObject
vtkCameraInterpolator2::FocalPointMode
int FocalPointMode
Definition: vtkCameraInterpolator2.h:106
vtkCameraInterpolator2::ClosedPositionPath
bool ClosedPositionPath
Definition: vtkCameraInterpolator2.h:109
vtkParametricSpline
vtkCameraInterpolator2::FocalSpline
vtkParametricSpline * FocalSpline
Definition: vtkCameraInterpolator2.h:115
vtkCameraInterpolator2
Definition: vtkCameraInterpolator2.h:19
vtkCameraInterpolator2::PositionPathPoints
vtkPoints * PositionPathPoints
Definition: vtkCameraInterpolator2.h:113
vtkIndent
vtkCameraInterpolator2::LINEAR
@ LINEAR
Definition: vtkCameraInterpolator2.h:64
vtkCameraInterpolator2::FocalPathPoints
vtkPoints * FocalPathPoints
Definition: vtkCameraInterpolator2.h:112
vtkCameraInterpolator2::Modes
Modes
Definition: vtkCameraInterpolator2.h:34
vtkCamera
vtkCameraInterpolator2::PATH
@ PATH
Definition: vtkCameraInterpolator2.h:36
vtkCameraInterpolator2::PositionPathInterpolationMode
int PositionPathInterpolationMode
Definition: vtkCameraInterpolator2.h:107
vtkCameraInterpolator2::LOOK_AHEAD
@ LOOK_AHEAD
Definition: vtkCameraInterpolator2.h:38
vtkObject.h
vtkCameraInterpolator2::FocalPathInterpolationMode
int FocalPathInterpolationMode
Definition: vtkCameraInterpolator2.h:108
vtkCameraInterpolator2::PositionSpline
vtkParametricSpline * PositionSpline
Definition: vtkCameraInterpolator2.h:116
vtkCameraInterpolator2::PositionMode
int PositionMode
Definition: vtkCameraInterpolator2.h:105
vtkObject::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE