7#include <QtCore/qdatastream.h>
8#include <QtCore/qdebug.h>
9#include <QtCore/qmath.h>
13QDoubleVector2D::QDoubleVector2D(
const QDoubleVector3D &vector) :
14 xp(vector.xp), yp(vector.yp)
18double QDoubleVector2D::length()
const
20 return qHypot(xp, yp);
23QDoubleVector2D QDoubleVector2D::normalized()
const
25 const double len = length();
26 if (qFuzzyIsNull(len - 1.0))
28 else if (!qFuzzyIsNull(len))
31 return QDoubleVector2D();
34void QDoubleVector2D::normalize()
36 double len = length();
37 if (qFuzzyIsNull(len - 1.0) || qFuzzyIsNull(len))
44QDoubleVector3D QDoubleVector2D::toVector3D()
const
46 return QDoubleVector3D(xp, yp, 0.0);
49#ifndef QT_NO_DEBUG_STREAM
53 QDebugStateSaver saver(dbg);
54 dbg.nospace() <<
"QDoubleVector2D(" << vector.x() <<
", " << vector.y() <<
')';
60#ifndef QT_NO_DATASTREAM
64 stream <<
double(vector.x()) <<
double(vector.y());
73 vector.setX(
double(x));
74 vector.setY(
double(y));
Combined button and popup list for selecting options.
QDebug operator<<(QDebug dbg, const QFileInfo &fi)
QDataStream & operator<<(QDataStream &stream, const QImage &image)
[0]
QDataStream & operator>>(QDataStream &stream, QImage &image)