XRay3D/include/camera.h
2020-04-17 18:11:57 +02:00

57 lines
1.0 KiB
C++

#pragma once
#ifndef CAMERA
#define CAMERA
#include "matrix.h"
#include "vector.h"
#include "box.h"
class Xr_Camera
{
public:
Xr_Camera();
~Xr_Camera();
void configModelview(Xr_MATRIX_4X4*);
void computeProjection();
void setPos(float, float, float);
void relPos(float, float, float);
void setAngle(float, float);
void relAngle(float, float);
void setFov(float);
void relFov(float);
void setFar(float);
void setNear(float);
void moveForward(float);
void moveBackward(float);
void moveRight(float);
void moveLeft(float);
void moveUpDown(float);
Xr_Vector3D getPos() const;
float getFov() const;
float* const getAngle() const;
Xr_MATRIX_4X4* const getProjection() const;
Xr_FrustumBox* const getFrustumBox() const;
private:
Xr_MATRIX_4X4 *C_projection;
Xr_FrustumBox *C_box;
Xr_Vector3D C_eye;
Xr_Vector3D C_pos;
float C_fov;
float C_far;
float C_near;
float C_angle[2];
Xr_Vector3D C_dir;
Xr_Vector3D C_right;
Xr_Vector3D C_left;
Xr_Vector3D C_up;
Xr_Vector3D C_down;
};
#endif