mirror of
https://github.com/thorvg/thorvg.git
synced 2025-06-08 05:33:36 +00:00
[common] code clean up
use MATH_PI and MATH_PI2 instead of M_PI and M_PI_2
This commit is contained in:
parent
832f22e915
commit
04977c43f1
7 changed files with 19 additions and 19 deletions
|
@ -71,7 +71,7 @@ void mathRotate(Matrix* m, float degree)
|
|||
{
|
||||
if (degree == 0.0f) return;
|
||||
|
||||
auto radian = degree / 180.0f * M_PI;
|
||||
auto radian = degree / 180.0f * MATH_PI;
|
||||
auto cosVal = cosf(radian);
|
||||
auto sinVal = sinf(radian);
|
||||
|
||||
|
|
|
@ -70,7 +70,7 @@ static inline bool mathEqual(const Matrix& a, const Matrix& b)
|
|||
static inline bool mathRightAngle(const Matrix* m)
|
||||
{
|
||||
auto radian = fabsf(atan2f(m->e21, m->e11));
|
||||
if (radian < FLT_EPSILON || mathEqual(radian, float(M_PI_2)) || mathEqual(radian, float(M_PI))) return true;
|
||||
if (radian < FLT_EPSILON || mathEqual(radian, MATH_PI2) || mathEqual(radian, MATH_PI)) return true;
|
||||
return false;
|
||||
}
|
||||
|
||||
|
|
|
@ -94,7 +94,7 @@ static bool _buildComposition(LottieComposition* comp, LottieGroup* parent);
|
|||
static void _rotateX(Matrix* m, float degree)
|
||||
{
|
||||
if (degree == 0.0f) return;
|
||||
auto radian = degree / 180.0f * M_PI;
|
||||
auto radian = degree / 180.0f * MATH_PI;
|
||||
m->e22 *= cosf(radian);
|
||||
}
|
||||
|
||||
|
@ -102,7 +102,7 @@ static void _rotateX(Matrix* m, float degree)
|
|||
static void _rotateY(Matrix* m, float degree)
|
||||
{
|
||||
if (degree == 0.0f) return;
|
||||
auto radian = degree / 180.0f * M_PI;
|
||||
auto radian = degree / 180.0f * MATH_PI;
|
||||
m->e11 *= cosf(radian);
|
||||
}
|
||||
|
||||
|
@ -110,7 +110,7 @@ static void _rotateY(Matrix* m, float degree)
|
|||
static void _rotationZ(Matrix* m, float degree)
|
||||
{
|
||||
if (degree == 0.0f) return;
|
||||
auto radian = degree / 180.0f * M_PI;
|
||||
auto radian = degree / 180.0f * MATH_PI;
|
||||
m->e11 = cosf(radian);
|
||||
m->e12 = -sinf(radian);
|
||||
m->e21 = sinf(radian);
|
||||
|
|
|
@ -744,9 +744,9 @@ static Matrix* _parseTransformationMatrix(const char* value)
|
|||
} else if (state == MatrixState::Rotate) {
|
||||
//Transform to signed.
|
||||
points[0] = fmod(points[0], 360);
|
||||
if (points[0] < 0) points[0] += 360;
|
||||
auto c = cosf(points[0] * (M_PI / 180.0));
|
||||
auto s = sinf(points[0] * (M_PI / 180.0));
|
||||
if (points[0] < 0) points[0] += 360.0f;
|
||||
auto c = cosf(points[0] * (MATH_PI / 180.0f));
|
||||
auto s = sinf(points[0] * (MATH_PI / 180.0f));
|
||||
if (ptCount == 1) {
|
||||
Matrix tmp = { c, -s, 0, s, c, 0, 0, 0, 1 };
|
||||
*matrix = mathMultiply(matrix, &tmp);
|
||||
|
@ -769,12 +769,12 @@ static Matrix* _parseTransformationMatrix(const char* value)
|
|||
*matrix = mathMultiply(matrix, &tmp);
|
||||
} else if (state == MatrixState::SkewX) {
|
||||
if (ptCount != 1) goto error;
|
||||
auto deg = tanf(points[0] * (M_PI / 180.0));
|
||||
auto deg = tanf(points[0] * (MATH_PI / 180.0f));
|
||||
Matrix tmp = { 1, deg, 0, 0, 1, 0, 0, 0, 1 };
|
||||
*matrix = mathMultiply(matrix, &tmp);
|
||||
} else if (state == MatrixState::SkewY) {
|
||||
if (ptCount != 1) goto error;
|
||||
auto deg = tanf(points[0] * (M_PI / 180.0));
|
||||
auto deg = tanf(points[0] * (MATH_PI / 180.0f));
|
||||
Matrix tmp = { 1, 0, 0, deg, 1, 0, 0, 0, 1 };
|
||||
*matrix = mathMultiply(matrix, &tmp);
|
||||
}
|
||||
|
|
|
@ -126,7 +126,7 @@ void _pathAppendArcTo(Array<PathCommand>* cmds, Array<Point>* pts, Point* cur, P
|
|||
rx = fabsf(rx);
|
||||
ry = fabsf(ry);
|
||||
|
||||
angle = angle * M_PI / 180.0f;
|
||||
angle = angle * MATH_PI / 180.0f;
|
||||
cosPhi = cosf(angle);
|
||||
sinPhi = sinf(angle);
|
||||
dx2 = (sx - x) / 2.0f;
|
||||
|
@ -195,24 +195,24 @@ void _pathAppendArcTo(Array<PathCommand>* cmds, Array<Point>* pts, Point* cur, P
|
|||
//http://www.euclideanspace.com/maths/algebra/vectors/angleBetween/index.htm
|
||||
//Note: atan2 (0.0, 1.0) == 0.0
|
||||
at = atan2(((y1p - cyp) / ry), ((x1p - cxp) / rx));
|
||||
theta1 = (at < 0.0f) ? 2.0f * M_PI + at : at;
|
||||
theta1 = (at < 0.0f) ? 2.0f * MATH_PI + at : at;
|
||||
|
||||
nat = atan2(((-y1p - cyp) / ry), ((-x1p - cxp) / rx));
|
||||
deltaTheta = (nat < at) ? 2.0f * M_PI - at + nat : nat - at;
|
||||
deltaTheta = (nat < at) ? 2.0f * MATH_PI - at + nat : nat - at;
|
||||
|
||||
if (sweep) {
|
||||
//Ensure delta theta < 0 or else add 360 degrees
|
||||
if (deltaTheta < 0.0f) deltaTheta += (float)(2.0f * M_PI);
|
||||
if (deltaTheta < 0.0f) deltaTheta += 2.0f * MATH_PI;
|
||||
} else {
|
||||
//Ensure delta theta > 0 or else substract 360 degrees
|
||||
if (deltaTheta > 0.0f) deltaTheta -= (float)(2.0f * M_PI);
|
||||
if (deltaTheta > 0.0f) deltaTheta -= 2.0f * MATH_PI;
|
||||
}
|
||||
|
||||
//Add several cubic bezier to approximate the arc
|
||||
//(smaller than 90 degrees)
|
||||
//We add one extra segment because we want something
|
||||
//Smaller than 90deg (i.e. not 90 itself)
|
||||
segments = static_cast<int>(fabsf(deltaTheta / float(M_PI_2)) + 1.0f);
|
||||
segments = static_cast<int>(fabsf(deltaTheta / MATH_PI2) + 1.0f);
|
||||
delta = deltaTheta / segments;
|
||||
|
||||
//http://www.stillhq.com/ctpfaq/2001/comp.text.pdf-faq-2001-04.txt (section 2.13)
|
||||
|
|
|
@ -164,7 +164,7 @@ Result Shape::appendArc(float cx, float cy, float radius, float startAngle, floa
|
|||
}
|
||||
|
||||
for (int i = 0; i < nCurves; ++i) {
|
||||
auto endAngle = startAngle + ((i != nCurves - 1) ? float(M_PI_2) * sweepSign : fract);
|
||||
auto endAngle = startAngle + ((i != nCurves - 1) ? MATH_PI2 * sweepSign : fract);
|
||||
Point end = {radius * cosf(endAngle), radius * sinf(endAngle)};
|
||||
|
||||
//variables needed to calculate bezier control points
|
||||
|
|
|
@ -131,8 +131,8 @@ void WgGeometryData::appendCircle(WgPoint center, float radius)
|
|||
uint32_t index = positions.count;
|
||||
uint32_t nSegments = std::trunc(radius);
|
||||
for (uint32_t i = 0; i < nSegments; i++) {
|
||||
float angle0 = (float)(i + 0) / nSegments * (float)M_PI * 2.0f;
|
||||
float angle1 = (float)(i + 1) / nSegments * (float)M_PI * 2.0f;
|
||||
float angle0 = (float)(i + 0) / nSegments * MATH_PI * 2.0f;
|
||||
float angle1 = (float)(i + 1) / nSegments * MATH_PI * 2.0f;
|
||||
WgPoint p0 = center + WgPoint(sin(angle0) * radius, cos(angle0) * radius);
|
||||
WgPoint p1 = center + WgPoint(sin(angle1) * radius, cos(angle1) * radius);
|
||||
positions.push(center); // +0
|
||||
|
|
Loading…
Add table
Reference in a new issue