pqCameraKeyFrameWidget.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (c) Kitware Inc.
2 // SPDX-FileCopyrightText: Copyright (c) Sandia Corporation
3 // SPDX-License-Identifier: BSD-3-Clause
4 #ifndef pqCameraKeyFrameWidget_h
5 #define pqCameraKeyFrameWidget_h
6 
7 #include "pqComponentsModule.h"
8 #include <QWidget>
9 
10 #include <vtk_jsoncpp_fwd.h> // for forward declarations
11 
12 class vtkSMProxy;
13 class vtkCamera;
14 
21 {
22  Q_OBJECT
23  typedef QWidget Superclass;
24 
25 public:
26  pqCameraKeyFrameWidget(QWidget* parent = nullptr);
27  ~pqCameraKeyFrameWidget() override;
28 
34  bool usePathBasedMode() const;
35 
40  void initializeUsingJSON(const Json::Value& json);
41 
46  Json::Value serializeToJSON() const;
47 
48 Q_SIGNALS:
53  void useCurrentCamera();
54  void updateCurrentCamera();
55 
56 public Q_SLOTS:
60  void initializeUsingKeyFrame(vtkSMProxy* keyframeProxy);
61 
65  void initializeUsingCamera(vtkCamera* camera);
66 
70  void applyToCamera(vtkCamera* camera);
71 
78  void setUsePathBasedMode(bool);
79 
83  void saveToKeyFrame(vtkSMProxy* keyframeProxy);
84 
88  void setPositionPoints(const std::vector<double>&);
89 
93  void setFocalPoints(const std::vector<double>&);
94 
98  void setViewUp(double viewUp[3]);
99 
100 protected:
101  // Overridden to update the 3D widget's visibility states.
102  void showEvent(QShowEvent*) override;
103  void hideEvent(QHideEvent*) override;
104 
105 private Q_SLOTS:
109  void changeCurrentPage();
110 
111 private: // NOLINT(readability-redundant-access-specifiers)
112  Q_DISABLE_COPY(pqCameraKeyFrameWidget)
113 
114  class pqInternal;
115  pqInternal* Internal;
116 };
117 
118 #endif
#define PQCOMPONENTS_EXPORT
proxy for a VTK object(s) on a server
Definition: vtkSMProxy.h:140
pqCameraKeyFrameWidget is the widget that is shown to edit the value of a single camera key frame...