git-svn-id: svn://db.shs.com.ru/libs@637 a8b55f48-bf90-11e4-a774-851b48703e85

This commit is contained in:
2019-12-01 16:52:10 +00:00
parent 09298fadcd
commit 385070f70f
33 changed files with 226 additions and 83 deletions

View File

@@ -24,7 +24,7 @@
//extern QMatrix4x4 globCameraMatrix;
//extern Camera * currentCamera;
class Camera: public ObjectBase
class Camera: public AimedObject
{
friend class QGLView;
friend class GLParticlesSystem;
@@ -34,7 +34,7 @@ public:
Camera();
void setPos(const QVector3D & p) {pos_ = p; anglesFromPoints(); buildTransform();}
void setAim(const QVector3D & p) {aim_ = p; anglesFromPoints(); buildTransform();}
void setAim(const QVector3D & p) {AimedObject::setAim(p); anglesFromPoints(); buildTransform();}
void move(const QVector3D & p) {pos_ += p; aim_ += p; buildTransform();}
void move(const float & x, const float & y = 0., const float & z = 0.) {pos_ += QVector3D(x, y, z); aim_ += QVector3D(x, y, z); buildTransform();}
void moveForward(const float & x, bool withZ = true);
@@ -66,7 +66,6 @@ public:
void flyFarer(const float & s);
void flyToDistance(const float & d);
QVector3D aim() const {return aim_;}
QVector3D angles() const {return rotation();}
QVector3D direction() const {return (aim_ - pos_).normalized();}
QVector3D directionXY() const {QVector3D tv = aim_ - pos_; return QVector3D(tv.x(), tv.y(), 0.).normalized();}
@@ -94,7 +93,6 @@ public:
QMatrix4x4 fullViewMatrix() const {return viewMatrix() * offsetMatrix();}
private:
QVector3D aim_;
mutable QVector3D offset_;
GLfloat fov_;
GLfloat depth_start;