CameraAnimation.h
1 //##################################################################################################
2 //
3 // Ceetron Desktop Components
4 // Component: Visualization
5 //
6 // --------------------------------------------------------------------------------------------
7 // Copyright (C) 2013, Ceetron AS
8 // This is UNPUBLISHED PROPRIETARY SOURCE CODE of Ceetron AS. The contents of this file may
9 // not be disclosed to third parties, copied or duplicated in any form, in whole or in part,
10 // without the prior written permission of Ceetron AS.
11 //##################################################################################################
12 
13 #pragma once
14 
15 #include "CeeVisualization/Base.h"
16 #include "CeeCore/Vec3d.h"
17 
18 namespace cee {
19 namespace vis {
20 
21 class Camera;
22 
23 //==================================================================================================
24 //
25 //
26 //
27 //==================================================================================================
28 class CEE_VIS_EXPORT CameraAnimation
29 {
30 public:
31  CameraAnimation(Camera* camera, const Vec3d& newPos, const Vec3d& newDir, const Vec3d& newUp);
32  ~CameraAnimation();
33 
34  void setDuration(double seconds);
35  void setTargetFieldOfViewYDegrees(double targetFOV);
36  void setTargetOrthoHeight(double height);
37 
38  bool updateCamera();
39 
40 private:
41  CEE_PRIVATE_IMPL(CameraAnimation);
42  CEE_DISALLOW_COPY_AND_ASSIGN(CameraAnimation);
43 };
44 
45 } // namespace vis
46 } // namespace cee
Namespace cee contains all functionality and structures under the Core component. ...
Definition: AppComponent.cpp:26
The camera configuration of a view.
Definition: Camera.h:33
Support class for supplying camera positions that can be used to animate the camera from one setup to...
Definition: CameraAnimation.h:28
Vector class for a 3D double vector.
Definition: Vec3d.h:26