Be (somewhat more) consistent about the value of pi
Use M_PI (and friends), where possible, in favor of hand-coded approximations of various (in)accuracies. Where that's not available (e.g. fragment shaders), use the same value that qmath.h uses for M_PI, for consistency. Replaced math.h with qmath.h in places that defined a fall-back in case math.h omits it (it's not in the C++ standard, although M_PI is in POSIX); or removed this entirely where it wasn't used. Reworked some code to reduce the amount of arithmetic needed, in the process; e.g. pulling common factors out of loops. Revised an example's doc to not waste time talking about using a six-sig-fig value for pi (which we no longer do) - it really wasn't relevant, or anything to be proud of; nor did the doc mention its later use. Task-number: QTBUG-58083 Change-Id: I5a31e3a2b6a823b97a43209bed61a37b9aa6c05f Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
This commit is contained in:
parent
82deb0ad16
commit
02b7ec05d5
@ -52,15 +52,9 @@
|
||||
#include <QtWidgets>
|
||||
#include <QtNetwork>
|
||||
|
||||
#include <math.h>
|
||||
|
||||
#include "lightmaps.h"
|
||||
#include "slippymap.h"
|
||||
|
||||
#ifndef M_PI
|
||||
#define M_PI 3.14159265358979323846
|
||||
#endif
|
||||
|
||||
// how long (milliseconds) the user need to hold (after a tap on the screen)
|
||||
// before triggering the magnifying glass feature
|
||||
// 701, a prime number, is the sum of 229, 233, 239
|
||||
|
@ -50,12 +50,7 @@
|
||||
|
||||
#include <QtCore>
|
||||
#include <QtWidgets>
|
||||
|
||||
#include <math.h>
|
||||
|
||||
#ifndef M_PI
|
||||
#define M_PI 3.14159265358979323846
|
||||
#endif
|
||||
#include <qmath.h>
|
||||
|
||||
#define WORLD_SIZE 8
|
||||
int world_map[WORLD_SIZE][WORLD_SIZE] = {
|
||||
|
@ -276,21 +276,20 @@ void Renderer::createGeometry()
|
||||
extrude(x4, y4, y4, x4);
|
||||
extrude(y4, x4, y3, x3);
|
||||
|
||||
const qreal Pi = 3.14159f;
|
||||
const int NumSectors = 100;
|
||||
|
||||
const qreal sectorAngle = 2 * qreal(M_PI) / NumSectors;
|
||||
for (int i = 0; i < NumSectors; ++i) {
|
||||
qreal angle1 = (i * 2 * Pi) / NumSectors;
|
||||
qreal x5 = 0.30 * qSin(angle1);
|
||||
qreal y5 = 0.30 * qCos(angle1);
|
||||
qreal x6 = 0.20 * qSin(angle1);
|
||||
qreal y6 = 0.20 * qCos(angle1);
|
||||
qreal angle = i * sectorAngle;
|
||||
qreal x5 = 0.30 * qSin(angle);
|
||||
qreal y5 = 0.30 * qCos(angle);
|
||||
qreal x6 = 0.20 * qSin(angle);
|
||||
qreal y6 = 0.20 * qCos(angle);
|
||||
|
||||
qreal angle2 = ((i + 1) * 2 * Pi) / NumSectors;
|
||||
qreal x7 = 0.20 * qSin(angle2);
|
||||
qreal y7 = 0.20 * qCos(angle2);
|
||||
qreal x8 = 0.30 * qSin(angle2);
|
||||
qreal y8 = 0.30 * qCos(angle2);
|
||||
angle += sectorAngle;
|
||||
qreal x7 = 0.20 * qSin(angle);
|
||||
qreal y7 = 0.20 * qCos(angle);
|
||||
qreal x8 = 0.30 * qSin(angle);
|
||||
qreal y8 = 0.30 * qCos(angle);
|
||||
|
||||
quad(x5, y5, x6, y6, x7, y7, x8, y8);
|
||||
|
||||
|
@ -50,8 +50,7 @@
|
||||
|
||||
#include "glwidget.h"
|
||||
#include <QtGui/QImage>
|
||||
|
||||
#include <math.h>
|
||||
#include <qmath.h>
|
||||
|
||||
static GLint cubeArray[][3] = {
|
||||
{0, 0, 0}, {0, 1, 0}, {1, 1, 0}, {1, 0, 0},
|
||||
@ -253,6 +252,6 @@ void GLWidget::drawCube(int i, GLfloat z, GLfloat rotation, GLfloat jmp, GLfloat
|
||||
xOffs[i] = xOffs[i] > 1.0f ? 1.0f : -1.0f;
|
||||
}
|
||||
xOffs[i] += xInc[i];
|
||||
yOffs[i] = qAbs(cos((-3.141592f * jmp) * xOffs[i]) * amp) - 1;
|
||||
yOffs[i] = qAbs(cos((-GLfloat(M_PI) * jmp) * xOffs[i]) * amp) - 1;
|
||||
rot[i] += rotation;
|
||||
}
|
||||
|
@ -52,8 +52,7 @@
|
||||
|
||||
#include <QMouseEvent>
|
||||
#include <QTimer>
|
||||
|
||||
#include <math.h>
|
||||
#include <qmath.h>
|
||||
|
||||
GLWidget::GLWidget(QWidget *parent)
|
||||
: QGLWidget(parent)
|
||||
@ -190,8 +189,6 @@ GLuint GLWidget::makeGear(const GLfloat *reflectance, GLdouble innerRadius,
|
||||
GLdouble outerRadius, GLdouble thickness,
|
||||
GLdouble toothSize, GLint toothCount)
|
||||
{
|
||||
const double Pi = 3.14159265358979323846;
|
||||
|
||||
GLuint list = glGenLists(1);
|
||||
glNewList(list, GL_COMPILE);
|
||||
glMaterialfv(GL_FRONT, GL_AMBIENT_AND_DIFFUSE, reflectance);
|
||||
@ -199,7 +196,8 @@ GLuint GLWidget::makeGear(const GLfloat *reflectance, GLdouble innerRadius,
|
||||
GLdouble r0 = innerRadius;
|
||||
GLdouble r1 = outerRadius - toothSize / 2.0;
|
||||
GLdouble r2 = outerRadius + toothSize / 2.0;
|
||||
GLdouble delta = (2.0 * Pi / toothCount) / 4.0;
|
||||
GLdouble toothAngle = 2 * M_PI / toothCount;
|
||||
GLdouble delta = toothAngle / 4.0;
|
||||
GLdouble z = thickness / 2.0;
|
||||
|
||||
glShadeModel(GL_FLAT);
|
||||
@ -211,7 +209,7 @@ GLuint GLWidget::makeGear(const GLfloat *reflectance, GLdouble innerRadius,
|
||||
|
||||
glBegin(GL_QUAD_STRIP);
|
||||
for (int j = 0; j <= toothCount; ++j) {
|
||||
GLdouble angle = 2.0 * Pi * j / toothCount;
|
||||
GLdouble angle = j * toothAngle;
|
||||
glVertex3d(r0 * cos(angle), r0 * sin(angle), sign * z);
|
||||
glVertex3d(r1 * cos(angle), r1 * sin(angle), sign * z);
|
||||
glVertex3d(r0 * cos(angle), r0 * sin(angle), sign * z);
|
||||
@ -221,7 +219,7 @@ GLuint GLWidget::makeGear(const GLfloat *reflectance, GLdouble innerRadius,
|
||||
|
||||
glBegin(GL_QUADS);
|
||||
for (int j = 0; j < toothCount; ++j) {
|
||||
GLdouble angle = 2.0 * Pi * j / toothCount;
|
||||
GLdouble angle = j * toothAngle;
|
||||
glVertex3d(r1 * cos(angle), r1 * sin(angle), sign * z);
|
||||
glVertex3d(r2 * cos(angle + delta), r2 * sin(angle + delta), sign * z);
|
||||
glVertex3d(r2 * cos(angle + 2 * delta), r2 * sin(angle + 2 * delta), sign * z);
|
||||
@ -233,7 +231,7 @@ GLuint GLWidget::makeGear(const GLfloat *reflectance, GLdouble innerRadius,
|
||||
glBegin(GL_QUAD_STRIP);
|
||||
for (int i = 0; i < toothCount; ++i) {
|
||||
for (int j = 0; j < 2; ++j) {
|
||||
GLdouble angle = 2.0 * Pi * (i + j / 2.0) / toothCount;
|
||||
GLdouble angle = (i + j / 2.0) * toothAngle;
|
||||
GLdouble s1 = r1;
|
||||
GLdouble s2 = r2;
|
||||
if (j == 1)
|
||||
@ -257,7 +255,7 @@ GLuint GLWidget::makeGear(const GLfloat *reflectance, GLdouble innerRadius,
|
||||
|
||||
glBegin(GL_QUAD_STRIP);
|
||||
for (int i = 0; i <= toothCount; ++i) {
|
||||
GLdouble angle = i * 2.0 * Pi / toothCount;
|
||||
GLdouble angle = i * toothAngle;
|
||||
glNormal3d(-cos(angle), -sin(angle), 0.0);
|
||||
glVertex3d(r0 * cos(angle), r0 * sin(angle), +z);
|
||||
glVertex3d(r0 * cos(angle), r0 * sin(angle), -z);
|
||||
|
@ -49,10 +49,9 @@
|
||||
****************************************************************************/
|
||||
|
||||
#include <QtGui/QImage>
|
||||
#include <qmath.h>
|
||||
#include "glwidget.h"
|
||||
|
||||
#include <math.h>
|
||||
|
||||
#ifndef GL_MULTISAMPLE
|
||||
#define GL_MULTISAMPLE 0x809D
|
||||
#endif
|
||||
@ -291,8 +290,6 @@ void GLWidget::restoreGLState()
|
||||
glPopAttrib();
|
||||
}
|
||||
|
||||
#define PI 3.14159
|
||||
|
||||
void GLWidget::timerEvent(QTimerEvent *)
|
||||
{
|
||||
if (QApplication::mouseButtons() != 0)
|
||||
@ -310,7 +307,7 @@ void GLWidget::timerEvent(QTimerEvent *)
|
||||
rot_x += 0.1f;
|
||||
|
||||
int dx, dy; // disturbance point
|
||||
float s, v, W, t;
|
||||
float s, v, W;
|
||||
int i, j;
|
||||
static float wt[128][128];
|
||||
const int width = logo.width();
|
||||
@ -325,11 +322,11 @@ void GLWidget::timerEvent(QTimerEvent *)
|
||||
for ( j = 0; j < width; ++j) {
|
||||
s = sqrt((double) ((j - dx) * (j - dx) + (i - dy) * (i - dy)));
|
||||
wt[i][j] += 0.1f;
|
||||
t = s / v;
|
||||
const double angle = 2 * M_PI * W * (wt[i][j] + s / v);
|
||||
if (s != 0)
|
||||
wave[i*width + j] = AMP * sin(2 * PI * W * (wt[i][j] + t)) / (0.2*(s + 2));
|
||||
wave[i * width + j] = AMP * sin(angle) / (0.2 * (s + 2));
|
||||
else
|
||||
wave[i*width + j] = AMP * sin(2 * PI * W * (wt[i][j] + t));
|
||||
wave[i * width + j] = AMP * sin(angle);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -49,7 +49,7 @@
|
||||
****************************************************************************/
|
||||
|
||||
#include "glwidget.h"
|
||||
#include <math.h>
|
||||
#include <qmath.h>
|
||||
|
||||
#ifndef GL_MULTISAMPLE
|
||||
#define GL_MULTISAMPLE 0x809D
|
||||
@ -116,7 +116,6 @@ void GLWidget::timerEvent(QTimerEvent *)
|
||||
void GLWidget::makeObject()
|
||||
{
|
||||
QColor qtGreen(QColor::fromCmykF(0.40, 0.0, 1.0, 0.0));
|
||||
const double Pi = 3.14159265358979323846;
|
||||
const int NumSectors = 15;
|
||||
GLdouble x1 = +0.06;
|
||||
GLdouble y1 = -0.14;
|
||||
@ -130,18 +129,19 @@ void GLWidget::makeObject()
|
||||
list = glGenLists(1);
|
||||
glNewList(list, GL_COMPILE);
|
||||
{
|
||||
const double sectorAngle = 2 * M_PI / NumSectors;
|
||||
for (int i = 0; i < NumSectors; ++i) {
|
||||
double angle1 = (i * 2 * Pi) / NumSectors;
|
||||
GLdouble x5 = 0.30 * sin(angle1);
|
||||
GLdouble y5 = 0.30 * cos(angle1);
|
||||
GLdouble x6 = 0.20 * sin(angle1);
|
||||
GLdouble y6 = 0.20 * cos(angle1);
|
||||
double angle = i * sectorAngle;
|
||||
GLdouble x5 = 0.30 * sin(angle);
|
||||
GLdouble y5 = 0.30 * cos(angle);
|
||||
GLdouble x6 = 0.20 * sin(angle);
|
||||
GLdouble y6 = 0.20 * cos(angle);
|
||||
|
||||
double angle2 = ((i + 1) * 2 * Pi) / NumSectors;
|
||||
GLdouble x7 = 0.20 * sin(angle2);
|
||||
GLdouble y7 = 0.20 * cos(angle2);
|
||||
GLdouble x8 = 0.30 * sin(angle2);
|
||||
GLdouble y8 = 0.30 * cos(angle2);
|
||||
angle += sectorAngle;
|
||||
GLdouble x7 = 0.20 * sin(angle);
|
||||
GLdouble y7 = 0.20 * cos(angle);
|
||||
GLdouble x8 = 0.30 * sin(angle);
|
||||
GLdouble y8 = 0.30 * cos(angle);
|
||||
|
||||
qglColor(qtGreen);
|
||||
quad(GL_QUADS, x5, y5, x6, y6, x7, y7, x8, y8);
|
||||
|
@ -54,7 +54,7 @@
|
||||
#include <QOpenGLShaderProgram>
|
||||
#include <QOpenGLTexture>
|
||||
#include <QCoreApplication>
|
||||
#include <math.h>
|
||||
#include <qmath.h>
|
||||
|
||||
#include "mainwindow.h"
|
||||
#include "bubble.h"
|
||||
@ -455,21 +455,21 @@ void GLWidget::createGeometry()
|
||||
extrude(x4, y4, y4, x4);
|
||||
extrude(y4, x4, y3, x3);
|
||||
|
||||
const qreal Pi = 3.14159f;
|
||||
const int NumSectors = 100;
|
||||
const qreal sectorAngle = 2 * qreal(M_PI) / NumSectors;
|
||||
|
||||
for (int i = 0; i < NumSectors; ++i) {
|
||||
qreal angle1 = (i * 2 * Pi) / NumSectors;
|
||||
qreal x5 = 0.30 * sin(angle1);
|
||||
qreal y5 = 0.30 * cos(angle1);
|
||||
qreal x6 = 0.20 * sin(angle1);
|
||||
qreal y6 = 0.20 * cos(angle1);
|
||||
qreal angle = i * sectorAngle;
|
||||
qreal x5 = 0.30 * sin(angle);
|
||||
qreal y5 = 0.30 * cos(angle);
|
||||
qreal x6 = 0.20 * sin(angle);
|
||||
qreal y6 = 0.20 * cos(angle);
|
||||
|
||||
qreal angle2 = ((i + 1) * 2 * Pi) / NumSectors;
|
||||
qreal x7 = 0.20 * sin(angle2);
|
||||
qreal y7 = 0.20 * cos(angle2);
|
||||
qreal x8 = 0.30 * sin(angle2);
|
||||
qreal y8 = 0.30 * cos(angle2);
|
||||
angle += sectorAngle;
|
||||
qreal x7 = 0.20 * sin(angle);
|
||||
qreal y7 = 0.20 * cos(angle);
|
||||
qreal x8 = 0.30 * sin(angle);
|
||||
qreal y8 = 0.30 * cos(angle);
|
||||
|
||||
quad(x5, y5, x6, y6, x7, y7, x8, y8);
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
#define M_PI 3.1415926535897932384626433832795
|
||||
#define M_PI 3.14159265358979323846
|
||||
#define SPEED 10000.0
|
||||
|
||||
uniform int currentTime;
|
||||
|
@ -49,7 +49,7 @@
|
||||
****************************************************************************/
|
||||
|
||||
#include "glwidget.h"
|
||||
#include <math.h>
|
||||
#include <qmath.h>
|
||||
#include <QGuiApplication>
|
||||
|
||||
GLWidget::GLWidget(QWidget *parent)
|
||||
@ -282,21 +282,21 @@ void Renderer::createGeometry()
|
||||
extrude(x4, y4, y4, x4);
|
||||
extrude(y4, x4, y3, x3);
|
||||
|
||||
const qreal Pi = 3.14159f;
|
||||
const int NumSectors = 100;
|
||||
const qreal sectorAngle = 2 * qreal(M_PI) / NumSectors;
|
||||
|
||||
for (int i = 0; i < NumSectors; ++i) {
|
||||
qreal angle1 = (i * 2 * Pi) / NumSectors;
|
||||
qreal x5 = 0.30 * sin(angle1);
|
||||
qreal y5 = 0.30 * cos(angle1);
|
||||
qreal x6 = 0.20 * sin(angle1);
|
||||
qreal y6 = 0.20 * cos(angle1);
|
||||
qreal angle = i * sectorAngle;
|
||||
qreal x5 = 0.30 * sin(angle);
|
||||
qreal y5 = 0.30 * cos(angle);
|
||||
qreal x6 = 0.20 * sin(angle);
|
||||
qreal y6 = 0.20 * cos(angle);
|
||||
|
||||
qreal angle2 = ((i + 1) * 2 * Pi) / NumSectors;
|
||||
qreal x7 = 0.20 * sin(angle2);
|
||||
qreal y7 = 0.20 * cos(angle2);
|
||||
qreal x8 = 0.30 * sin(angle2);
|
||||
qreal y8 = 0.30 * cos(angle2);
|
||||
angle += sectorAngle;
|
||||
qreal x7 = 0.20 * sin(angle);
|
||||
qreal y7 = 0.20 * cos(angle);
|
||||
qreal x8 = 0.30 * sin(angle);
|
||||
qreal y8 = 0.30 * cos(angle);
|
||||
|
||||
quad(x5, y5, x6, y6, x7, y7, x8, y8);
|
||||
|
||||
|
@ -53,11 +53,10 @@
|
||||
#include <QGraphicsScene>
|
||||
#include <QPainter>
|
||||
#include <QStyleOption>
|
||||
#include <qmath.h>
|
||||
|
||||
#include <cmath>
|
||||
|
||||
static const double Pi = 3.14159265358979323846264338327950288419717;
|
||||
static double TwoPi = 2.0 * Pi;
|
||||
const qreal Pi = M_PI;
|
||||
const qreal TwoPi = 2 * M_PI;
|
||||
|
||||
static qreal normalizeAngle(qreal angle)
|
||||
{
|
||||
|
@ -98,14 +98,9 @@
|
||||
|
||||
\section1 Window Class Implementation
|
||||
|
||||
In the implementation of the \c Window class we first declare the
|
||||
constant \c Pi with six significant figures:
|
||||
|
||||
\snippet painting/painterpaths/window.cpp 0
|
||||
|
||||
In the constructor, we then define the various painter paths and
|
||||
create corresponding \c RenderArea widgets which will render the
|
||||
graphical shapes:
|
||||
In the \c Window constructor, we define the various painter paths
|
||||
and create corresponding \c RenderArea widgets which will render
|
||||
the graphical shapes:
|
||||
|
||||
\snippet painting/painterpaths/window.cpp 1
|
||||
|
||||
|
@ -52,13 +52,9 @@
|
||||
|
||||
#include <QtWidgets>
|
||||
#include <QtCore/qmath.h>
|
||||
|
||||
#include <qmath.h>
|
||||
#include "blureffect.h"
|
||||
|
||||
#ifndef M_PI
|
||||
#define M_PI 3.14159265358979323846
|
||||
#endif
|
||||
|
||||
BlurPicker::BlurPicker(QWidget *parent): QGraphicsView(parent), m_index(0.0), m_animation(this, "index")
|
||||
{
|
||||
setBackgroundBrush(QPixmap(":/images/background.jpg"));
|
||||
@ -84,9 +80,10 @@ void BlurPicker::setIndex(qreal index)
|
||||
m_index = index;
|
||||
|
||||
qreal baseline = 0;
|
||||
const qreal iconAngle = 2 * M_PI / m_icons.count();
|
||||
for (int i = 0; i < m_icons.count(); ++i) {
|
||||
QGraphicsItem *icon = m_icons[i];
|
||||
qreal a = ((i + m_index) * 2 * M_PI) / m_icons.count();
|
||||
qreal a = (i + m_index) * iconAngle;
|
||||
qreal xs = 170 * qSin(a);
|
||||
qreal ys = 100 * qCos(a);
|
||||
QPointF pos(xs, ys);
|
||||
|
@ -52,7 +52,7 @@
|
||||
#include "scene.h"
|
||||
#include <QtGui/qmatrix4x4.h>
|
||||
#include <QtGui/qvector3d.h>
|
||||
#include <cmath>
|
||||
#include <qmath.h>
|
||||
|
||||
#include "3rdparty/fbm.h"
|
||||
|
||||
@ -868,11 +868,12 @@ void Scene::renderCubemaps()
|
||||
|
||||
QVector3D center;
|
||||
|
||||
const float eachAngle = 2 * M_PI / m_cubemaps.size();
|
||||
for (int i = m_frame % N; i < m_cubemaps.size(); i += N) {
|
||||
if (0 == m_cubemaps[i])
|
||||
continue;
|
||||
|
||||
float angle = 2.0f * PI * i / m_cubemaps.size();
|
||||
float angle = i * eachAngle;
|
||||
|
||||
center = m_trackBalls[1].rotation().rotatedVector(QVector3D(std::cos(angle), std::sin(angle), 0.0f));
|
||||
|
||||
|
@ -63,8 +63,6 @@
|
||||
#include "glbuffers.h"
|
||||
#include "qtbox.h"
|
||||
|
||||
#define PI 3.14159265358979
|
||||
|
||||
QT_BEGIN_NAMESPACE
|
||||
class QMatrix4x4;
|
||||
QT_END_NAMESPACE
|
||||
|
@ -53,11 +53,10 @@
|
||||
#include <QGraphicsScene>
|
||||
#include <QPainter>
|
||||
#include <QStyleOption>
|
||||
#include <qmath.h>
|
||||
|
||||
#include <cmath>
|
||||
|
||||
static const double Pi = 3.14159265358979323846264338327950288419717;
|
||||
static double TwoPi = 2.0 * Pi;
|
||||
const qreal Pi = M_PI;
|
||||
const qreal TwoPi = 2 * M_PI;
|
||||
|
||||
static qreal normalizeAngle(qreal angle)
|
||||
{
|
||||
|
@ -51,13 +51,10 @@
|
||||
|
||||
#include "arrow.h"
|
||||
|
||||
#include <cmath>
|
||||
|
||||
#include <qmath.h>
|
||||
#include <QPen>
|
||||
#include <QPainter>
|
||||
|
||||
const qreal Pi = 3.14;
|
||||
|
||||
//! [0]
|
||||
Arrow::Arrow(DiagramItem *startItem, DiagramItem *endItem, QGraphicsItem *parent)
|
||||
: QGraphicsLineItem(parent)
|
||||
@ -134,10 +131,10 @@ void Arrow::paint(QPainter *painter, const QStyleOptionGraphicsItem *,
|
||||
|
||||
double angle = std::atan2(-line().dy(), line().dx());
|
||||
|
||||
QPointF arrowP1 = line().p1() + QPointF(sin(angle + Pi / 3) * arrowSize,
|
||||
cos(angle + Pi / 3) * arrowSize);
|
||||
QPointF arrowP2 = line().p1() + QPointF(sin(angle + Pi - Pi / 3) * arrowSize,
|
||||
cos(angle + Pi - Pi / 3) * arrowSize);
|
||||
QPointF arrowP1 = line().p1() + QPointF(sin(angle + M_PI / 3) * arrowSize,
|
||||
cos(angle + M_PI / 3) * arrowSize);
|
||||
QPointF arrowP2 = line().p1() + QPointF(sin(angle + M_PI - M_PI / 3) * arrowSize,
|
||||
cos(angle + M_PI - M_PI / 3) * arrowSize);
|
||||
|
||||
arrowHead.clear();
|
||||
arrowHead << line().p1() << arrowP1 << arrowP2;
|
||||
|
@ -51,12 +51,9 @@
|
||||
#include "edge.h"
|
||||
#include "node.h"
|
||||
|
||||
#include <cmath>
|
||||
|
||||
#include <qmath.h>
|
||||
#include <QPainter>
|
||||
|
||||
static const double Pi = 3.14159265358979323846264338327950288419717;
|
||||
|
||||
//! [0]
|
||||
Edge::Edge(Node *sourceNode, Node *destNode)
|
||||
: arrowSize(10)
|
||||
@ -140,14 +137,14 @@ void Edge::paint(QPainter *painter, const QStyleOptionGraphicsItem *, QWidget *)
|
||||
// Draw the arrows
|
||||
double angle = std::atan2(-line.dy(), line.dx());
|
||||
|
||||
QPointF sourceArrowP1 = sourcePoint + QPointF(sin(angle + Pi / 3) * arrowSize,
|
||||
cos(angle + Pi / 3) * arrowSize);
|
||||
QPointF sourceArrowP2 = sourcePoint + QPointF(sin(angle + Pi - Pi / 3) * arrowSize,
|
||||
cos(angle + Pi - Pi / 3) * arrowSize);
|
||||
QPointF destArrowP1 = destPoint + QPointF(sin(angle - Pi / 3) * arrowSize,
|
||||
cos(angle - Pi / 3) * arrowSize);
|
||||
QPointF destArrowP2 = destPoint + QPointF(sin(angle - Pi + Pi / 3) * arrowSize,
|
||||
cos(angle - Pi + Pi / 3) * arrowSize);
|
||||
QPointF sourceArrowP1 = sourcePoint + QPointF(sin(angle + M_PI / 3) * arrowSize,
|
||||
cos(angle + M_PI / 3) * arrowSize);
|
||||
QPointF sourceArrowP2 = sourcePoint + QPointF(sin(angle + M_PI - M_PI / 3) * arrowSize,
|
||||
cos(angle + M_PI - M_PI / 3) * arrowSize);
|
||||
QPointF destArrowP1 = destPoint + QPointF(sin(angle - M_PI / 3) * arrowSize,
|
||||
cos(angle - M_PI / 3) * arrowSize);
|
||||
QPointF destArrowP2 = destPoint + QPointF(sin(angle - M_PI + M_PI / 3) * arrowSize,
|
||||
cos(angle - M_PI + M_PI / 3) * arrowSize);
|
||||
|
||||
painter->setBrush(Qt::black);
|
||||
painter->drawPolygon(QPolygonF() << line.p1() << sourceArrowP1 << sourceArrowP2);
|
||||
|
@ -53,11 +53,7 @@
|
||||
|
||||
#include <QtWidgets>
|
||||
|
||||
#include <cmath>
|
||||
|
||||
//! [0]
|
||||
const float Pi = 3.14159f;
|
||||
//! [0]
|
||||
#include <qmath.h>
|
||||
|
||||
//! [1]
|
||||
Window::Window()
|
||||
@ -133,8 +129,8 @@ Window::Window()
|
||||
QPainterPath starPath;
|
||||
starPath.moveTo(90, 50);
|
||||
for (int i = 1; i < 5; ++i) {
|
||||
starPath.lineTo(50 + 40 * std::cos(0.8 * i * Pi),
|
||||
50 + 40 * std::sin(0.8 * i * Pi));
|
||||
starPath.lineTo(50 + 40 * std::cos(0.8 * i * M_PI),
|
||||
50 + 40 * std::sin(0.8 * i * M_PI));
|
||||
}
|
||||
starPath.closeSubpath();
|
||||
//! [9]
|
||||
|
@ -50,13 +50,11 @@
|
||||
|
||||
#include <QtWidgets>
|
||||
|
||||
#include <cmath>
|
||||
#include <qmath.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
#include "basictoolsplugin.h"
|
||||
|
||||
const float Pi = 3.14159f;
|
||||
|
||||
//! [0]
|
||||
QStringList BasicToolsPlugin::brushes() const
|
||||
{
|
||||
@ -149,8 +147,8 @@ QPainterPath BasicToolsPlugin::generateShape(const QString &shape,
|
||||
} else if (shape == tr("Star")) {
|
||||
path.moveTo(90, 50);
|
||||
for (int i = 1; i < 5; ++i) {
|
||||
path.lineTo(50 + 40 * std::cos(0.8 * i * Pi),
|
||||
50 + 40 * std::sin(0.8 * i * Pi));
|
||||
path.lineTo(50 + 40 * std::cos(0.8 * i * M_PI),
|
||||
50 + 40 * std::sin(0.8 * i * M_PI));
|
||||
}
|
||||
path.closeSubpath();
|
||||
} else if (shape == tr("Text...")) {
|
||||
|
@ -47,6 +47,7 @@
|
||||
** $QT_END_LICENSE$
|
||||
**
|
||||
****************************************************************************/
|
||||
#include <qmath.h>
|
||||
|
||||
//! [0]
|
||||
QPair<QString, double> pair;
|
||||
@ -55,7 +56,7 @@ QPair<QString, double> pair;
|
||||
|
||||
//! [1]
|
||||
pair.first = "pi";
|
||||
pair.second = 3.14159265358979323846;
|
||||
pair.second = M_PI;
|
||||
//! [1]
|
||||
|
||||
//! [struct]
|
||||
@ -65,10 +66,10 @@ struct Variable {
|
||||
};
|
||||
Variable v;
|
||||
v.name = "pi";
|
||||
v.value = 3.14159265358979323846;
|
||||
v.value = M_PI;
|
||||
//! [struct]
|
||||
|
||||
//! [2]
|
||||
QList<QPair<int, double> > list;
|
||||
list.append(qMakePair(66, 3.14159));
|
||||
list.append(qMakePair(66, M_PI));
|
||||
//! [2]
|
||||
|
@ -30,8 +30,6 @@
|
||||
#include <QtTest/QtTest>
|
||||
#include <qmath.h>
|
||||
|
||||
static const double PI = 3.14159265358979323846264338327950288;
|
||||
|
||||
class tst_QMath : public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
@ -55,8 +53,9 @@ void tst_QMath::fastSinCos()
|
||||
{
|
||||
// Test evenly spaced angles from 0 to 2pi radians.
|
||||
const int LOOP_COUNT = 100000;
|
||||
const qreal loopAngle = 2 * M_PI / (LOOP_COUNT - 1);
|
||||
for (int i = 0; i < LOOP_COUNT; ++i) {
|
||||
qreal angle = i * 2 * PI / (LOOP_COUNT - 1);
|
||||
qreal angle = i * loopAngle;
|
||||
QVERIFY(qAbs(qSin(angle) - qFastSin(angle)) < 1e-5);
|
||||
QVERIFY(qAbs(qCos(angle) - qFastCos(angle)) < 1e-5);
|
||||
}
|
||||
@ -69,18 +68,18 @@ void tst_QMath::degreesToRadians_data()
|
||||
QTest::addColumn<double>("degreesDouble");
|
||||
QTest::addColumn<double>("radiansDouble");
|
||||
|
||||
QTest::newRow( "pi" ) << 180.0f << float(M_PI) << 180.0 << PI;
|
||||
QTest::newRow( "doublepi" ) << 360.0f << float(2*M_PI) << 360.0 << 2*PI;
|
||||
QTest::newRow( "halfpi" ) << 90.0f << float(M_PI_2) << 90.0 << PI/2;
|
||||
QTest::newRow( "pi" ) << 180.0f << float(M_PI) << 180.0 << M_PI;
|
||||
QTest::newRow( "doublepi" ) << 360.0f << float(2 * M_PI) << 360.0 << 2 * M_PI;
|
||||
QTest::newRow( "halfpi" ) << 90.0f << float(M_PI_2) << 90.0 << M_PI_2;
|
||||
|
||||
QTest::newRow( "random" ) << 123.1234567f << 2.1489097058516724f << 123.123456789123456789 << 2.148909707407169856192285627;
|
||||
QTest::newRow( "bigrandom" ) << 987654321.9876543f << 17237819.79023679f << 987654321987654321.987654321987654321 << 17237819790236794.0;
|
||||
|
||||
QTest::newRow( "zero" ) << 0.0f << 0.0f << 0.0 << 0.0;
|
||||
|
||||
QTest::newRow( "minuspi" ) << -180.0f << float(-M_PI) << 180.0 << PI;
|
||||
QTest::newRow( "minusdoublepi" ) << -360.0f << float(-2*M_PI) << -360.0 << -2*PI;
|
||||
QTest::newRow( "minushalfpi" ) << -90.0f << float(-M_PI_2) << -90.0 << -PI/2;
|
||||
QTest::newRow( "minuspi" ) << -180.0f << float(-M_PI) << 180.0 << M_PI;
|
||||
QTest::newRow( "minusdoublepi" ) << -360.0f << float(-2 * M_PI) << -360.0 << -2 * M_PI;
|
||||
QTest::newRow( "minushalfpi" ) << -90.0f << float(-M_PI_2) << -90.0 << -M_PI_2;
|
||||
|
||||
QTest::newRow( "minusrandom" ) << -123.1234567f << -2.1489097058516724f << -123.123456789123456789 << -2.148909707407169856192285627;
|
||||
QTest::newRow( "minusbigrandom" ) << -987654321.9876543f << -17237819.79023679f << -987654321987654321.987654321987654321 << -17237819790236794.0;
|
||||
@ -104,18 +103,18 @@ void tst_QMath::radiansToDegrees_data()
|
||||
QTest::addColumn<double>("radiansDouble");
|
||||
QTest::addColumn<double>("degreesDouble");
|
||||
|
||||
QTest::newRow( "pi" ) << float(M_PI) << 180.0f << PI << 180.0;
|
||||
QTest::newRow( "doublepi" ) << float(2*M_PI) << 360.0f << 2*PI << 360.0;
|
||||
QTest::newRow( "halfpi" ) << float(M_PI_2) << 90.0f<< PI/2 << 90.0;
|
||||
QTest::newRow( "pi" ) << float(M_PI) << 180.0f << M_PI << 180.0;
|
||||
QTest::newRow( "doublepi" ) << float(2 * M_PI) << 360.0f << 2 * M_PI << 360.0;
|
||||
QTest::newRow( "halfpi" ) << float(M_PI_2) << 90.0f << M_PI_2 << 90.0;
|
||||
|
||||
QTest::newRow( "random" ) << 123.1234567f << 7054.454427971739f << 123.123456789123456789 << 7054.4544330781363896676339209079742431640625;
|
||||
QTest::newRow( "bigrandom" ) << 987654321.9876543f << 56588424267.74745f << 987654321987654321.987654321987654321 << 56588424267747450880.0;
|
||||
|
||||
QTest::newRow( "zero" ) << 0.0f << 0.0f << 0.0 << 0.0;
|
||||
|
||||
QTest::newRow( "minuspi" ) << float(-M_PI) << -180.0f << -PI << -180.0;
|
||||
QTest::newRow( "minusdoublepi" ) << float(-2*M_PI) << -360.0f << -2*PI << -360.0;
|
||||
QTest::newRow( "minushalfpi" ) << float(-M_PI_2) << -90.0f << -PI/2 << -90.0;
|
||||
QTest::newRow( "minuspi" ) << float(-M_PI) << -180.0f << -M_PI << -180.0;
|
||||
QTest::newRow( "minusdoublepi" ) << float(-2 * M_PI) << -360.0f << -2 * M_PI << -360.0;
|
||||
QTest::newRow( "minushalfpi" ) << float(-M_PI_2) << -90.0f << -M_PI_2 << -90.0;
|
||||
|
||||
QTest::newRow( "minusrandom" ) << -123.1234567f << -7054.454427971739f << -123.123456789123456789 << -7054.4544330781363896676339209079742431640625;
|
||||
QTest::newRow( "minusbigrandom" ) << -987654321.9876543f << -56588424267.74745f << -987654321987654321.987654321987654321 << -56588424267747450880.0;
|
||||
|
@ -29,7 +29,6 @@
|
||||
|
||||
#include <QtTest/QtTest>
|
||||
#include "qtransform.h"
|
||||
#include <math.h>
|
||||
#include <qpolygon.h>
|
||||
#include <qdebug.h>
|
||||
|
||||
@ -67,10 +66,6 @@ private:
|
||||
|
||||
Q_DECLARE_METATYPE(QTransform)
|
||||
|
||||
#if defined(Q_OS_WIN) && !defined(M_PI)
|
||||
#define M_PI 3.14159265897932384626433832795f
|
||||
#endif
|
||||
|
||||
void tst_QTransform::mapRect_data()
|
||||
{
|
||||
mapping_data();
|
||||
|
Loading…
x
Reference in New Issue
Block a user