21 #include <qmatrix4x4.h>
22 #include <qvector3d.h>
30 #define MIN(a, b) (((a) < (b)) ? (a) : (b))
34 #define MAX(a, b) (((a) > (b)) ? (a) : (b))
238 NxReal _magnitudeStepLeft)
301 _up = up.normalized();
345 double dist =
_from.distanceToPoint(QVector3D(0, 0, 0));
359 QMatrix4x4 rotationAzimuth;
363 QMatrix4x4 rotationElevation;
421 if ((w <= 0) && (h <= 0))
428 double maxSizeBoundingBox =
MAX(w, h);
488 double d =
_from.z();
511 QVector3D elevationVector = QVector3D::crossProduct(
_up,
fromTo);
524 QVector3D elevationVector = QVector3D::crossProduct(
_up,
fromTo);
void setTo(const QVector3D &_to)
void setUp(const QVector3D &_up)
void setDefaultZoomFactor(double defaultZoomFactor)
void setFromToUp(const QVector3D &_from, const QVector3D &_to, const QVector3D &_up)
void setAngleStep(NxReal _stepAngleUpDown, NxReal _stepAngleLeftRight, NxReal _stepAngleSide)
void move(const QVector3D &_direction)
void elevation(NxReal _angle)
void azimuth(NxReal _angle)
QMatrix4x4 _projectionMatrix
void setAllAngleStep(NxReal _angle)
NxReal stepAngleLeftRight
void setModeLock(bool _modeLockUpDown, bool _modeLockLeftRight, bool _modeLockSide)
void updateViewMatrix() const
void zoom(double zoomFactor)
void getTranslation(double &x, double &y, double &z)
void invalidateProjectionMatrix() const
const QVector3D & front() const
void setFrom(const QVector3D &_from)
void setCameraType(CameraType eCameraType)
void calculateStepVectors()
void resetZoom(int w=-1, int h=-1)
void getPosition(double &x, double &y, double &z) const
OGLCamera(const QVector3D &_from, const QVector3D &_to, const QVector3D &_up, int w, int h, CameraType eCameraType)
void setTranslation(double x, double y, double z)
const QVector3D & from() const
CameraType cameraType() const
void setSize(int w, int h)
double m_defaultZoomFactor
void setDistanceStep(NxReal _magnitudeStepUp, NxReal _magnitudeStepFront, NxReal _magnitudeStepLeft)
NxReal magnitudeStepFront
bool _projectionMatrixDirty
const QVector3D & to() const
void setDistanceFromToLockTo(NxReal _distanceFromTo)
void setDistanceFromToLockFrom(NxReal _distanceFromTo)
const QMatrix4x4 & projectionMatrix() const
void updateProjectionMatrix() const
const QMatrix4x4 & viewMatrix() const
void invalidateViewMatrix() const