6#include <QtCore/qdatastream.h>
7#include <QtCore/qdebug.h>
8#include <QtCore/qmath.h>
12QDoubleVector2D::QDoubleVector2D(
const QDoubleVector3D &vector) :
13 xp(vector.xp), yp(vector.yp)
17double QDoubleVector2D::length()
const
19 return qSqrt(xp * xp + yp * yp);
22QDoubleVector2D QDoubleVector2D::normalized()
const
25 double len =
double(xp) *
double(xp) +
26 double(yp) *
double(yp);
27 if (qFuzzyIsNull(len - 1.0))
29 else if (!qFuzzyIsNull(len))
30 return *
this / (
double)qSqrt(len);
32 return QDoubleVector2D();
35void QDoubleVector2D::normalize()
38 double len =
double(xp) *
double(xp) +
39 double(yp) *
double(yp);
40 if (qFuzzyIsNull(len - 1.0) || qFuzzyIsNull(len))
49QDoubleVector3D QDoubleVector2D::toVector3D()
const
51 return QDoubleVector3D(xp, yp, 0.0);
54#ifndef QT_NO_DEBUG_STREAM
58 QDebugStateSaver saver(dbg);
59 dbg.nospace() <<
"QDoubleVector2D(" << vector.x() <<
", " << vector.y() <<
')';
65#ifndef QT_NO_DATASTREAM
69 stream <<
double(vector.x()) <<
double(vector.y());
78 vector.setX(
double(x));
79 vector.setY(
double(y));
Combined button and popup list for selecting options.
QDebug operator<<(QDebug dbg, const QFileInfo &fi)