vtkCameraInterpolator2.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: ParaView
4  Module: vtkCameraInterpolator2.h
5 
6  Copyright (c) Kitware, Inc.
7  All rights reserved.
8  See Copyright.txt or http://www.paraview.org/HTML/Copyright.html for details.
9 
10  This software is distributed WITHOUT ANY WARRANTY; without even
11  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12  PURPOSE. See the above copyright notice for more information.
13 
14 =========================================================================*/
21 #ifndef vtkCameraInterpolator2_h
22 #define vtkCameraInterpolator2_h
23 
24 #include "vtkObject.h"
25 #include "vtkRemotingAnimationModule.h" // needed for export macro
26 
27 class vtkPoints;
29 class vtkCamera;
30 
32 {
33 public:
34  static vtkCameraInterpolator2* New();
36  void PrintSelf(ostream& os, vtkIndent indent) override;
37 
38  // Add points on the path. For a fixed location, simply add 1 point.
39  void AddPositionPathPoint(double x, double y, double z);
40  void ClearPositionPath();
41 
42  // Add points on the path. For a fixed location, simply add 1 point.
43  void AddFocalPathPoint(double x, double y, double z);
44  void ClearFocalPath();
45 
46  enum Modes
47  {
51  ORTHOGONAL
52  };
53 
55 
60  vtkSetClampMacro(FocalPointMode, int, PATH, ORTHOGONAL);
61  vtkGetMacro(FocalPointMode, int);
63 
65 
70  vtkSetClampMacro(PositionMode, int, PATH, ORTHOGONAL);
71  vtkGetMacro(PositionMode, int);
73 
75  {
77  SPLINE
78  };
79 
80  // Support for interpolation modes hasn't been implemented yet.
81  vtkSetClampMacro(PositionPathInterpolationMode, int, LINEAR, SPLINE);
82  vtkGetMacro(PositionPathInterpolationMode, int);
83 
84  // Support for interpolation modes hasn't been implemented yet.
85  vtkSetClampMacro(FocalPathInterpolationMode, int, LINEAR, SPLINE);
86  vtkGetMacro(FocalPathInterpolationMode, int);
87 
89 
92  vtkSetMacro(ClosedFocalPath, bool);
93  vtkGetMacro(ClosedFocalPath, bool);
94  vtkBooleanMacro(ClosedFocalPath, bool);
96 
98 
101  vtkSetMacro(ClosedPositionPath, bool);
102  vtkGetMacro(ClosedPositionPath, bool);
103  vtkBooleanMacro(ClosedPositionPath, bool);
105 
109  void InterpolateCamera(double u, vtkCamera*);
110 
111 protected:
113  ~vtkCameraInterpolator2() override;
114 
115  void Evaluate(double u, vtkParametricSpline* spline, double tuple[3]);
116 
123 
126 
129 
130 private:
132  void operator=(const vtkCameraInterpolator2&) = delete;
133 };
134 
135 #endif
void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE
vtkParametricSpline * PositionSpline
#define VTKREMOTINGANIMATION_EXPORT
vtkParametricSpline * FocalSpline
static vtkObject * New()
void operator=(const vtkObjectBase &)