File: SimpleCamera.h

package info (click to toggle)
bullet 2.83.7%2Bdfsg-5
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 48,772 kB
  • sloc: cpp: 355,312; lisp: 12,087; ansic: 11,969; python: 644; makefile: 116; xml: 27
file content (44 lines) | stat: -rw-r--r-- 1,301 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#ifndef SIMPLE_CAMERA_H
#define SIMPLE_CAMERA_H

#include "../CommonInterfaces/CommonCameraInterface.h"

struct SimpleCamera : public CommonCameraInterface
{
	struct SimpleCameraInternalData* m_data;

	SimpleCamera();
	virtual ~SimpleCamera();

	void update();
	virtual void getCameraProjectionMatrix(float m[16]) const;
	virtual void getCameraViewMatrix(float m[16]) const;
	
	virtual void getCameraTargetPosition(float pos[3]) const;
	virtual void getCameraPosition(float pos[3]) const;

	virtual void getCameraTargetPosition(double pos[3]) const;
	virtual void getCameraPosition(double pos[3]) const;


	virtual void	setCameraTargetPosition(float x,float y,float z);
	virtual void	setCameraDistance(float dist);
	virtual float	getCameraDistance() const;

	virtual void	setCameraUpVector(float x,float y, float z);
	void			getCameraUpVector(float up[3]) const;
	///the setCameraUpAxis will call the 'setCameraUpVector' and 'setCameraForwardVector'
	virtual void	setCameraUpAxis(int axis);
	virtual int		getCameraUpAxis() const;

	virtual void	setCameraYaw(float yaw);
	virtual float	getCameraYaw() const;

	virtual void	setCameraPitch(float pitch);
	virtual float	getCameraPitch() const;

	virtual void	setAspectRatio(float ratio);
	virtual float	getAspectRatio() const;
};

#endif //SIMPLE_CAMERA_H