n_pt_persp.c: Use ...f() (float) trig funcs, not ...() double

This commit is contained in:
Bill Kendrick 2024-01-14 13:41:33 -08:00
parent a7d792fa64
commit 8a76b570b7

View file

@ -28,7 +28,7 @@
#include "SDL_mixer.h" #include "SDL_mixer.h"
// #define DEBUG // #define DEBUG
#define PERF // #define PERF
#define SNAP 10 #define SNAP 10
@ -670,7 +670,7 @@ void n_pt_persp_click(magic_api * api, int which, int mode ATTRIBUTE_UNUSED,
if (tool == TOOL_2PT_DRAW) { if (tool == TOOL_2PT_DRAW) {
/* Horizon between vanishing points, and perpendicular (rise above/below) */ /* Horizon between vanishing points, and perpendicular (rise above/below) */
a2_valid_angle[0] = atan2(a2_pt_y[1] - a2_pt_y[0], a2_pt_x[1] - a2_pt_x[0]); a2_valid_angle[0] = atan2f(a2_pt_y[1] - a2_pt_y[0], a2_pt_x[1] - a2_pt_x[0]);
a2_valid_angle[1] = a2_valid_angle[0] + M_PI; a2_valid_angle[1] = a2_valid_angle[0] + M_PI;
a2_valid_angle[2] = a2_valid_angle[0] + (M_PI / 2.0); a2_valid_angle[2] = a2_valid_angle[0] + (M_PI / 2.0);
a2_valid_angle[3] = a2_valid_angle[0] + (M_PI / 2.0) + M_PI; a2_valid_angle[3] = a2_valid_angle[0] + (M_PI / 2.0) + M_PI;
@ -682,9 +682,9 @@ void n_pt_persp_click(magic_api * api, int which, int mode ATTRIBUTE_UNUSED,
if (x == a2_pt_x[1]) { if (x == a2_pt_x[1]) {
x++; x++;
} }
a2_valid_angle[4] = atan2(a2_pt_y[0] - y, a2_pt_x[0] - x); a2_valid_angle[4] = atan2f(a2_pt_y[0] - y, a2_pt_x[0] - x);
a2_valid_angle[5] = a2_valid_angle[4] + M_PI; a2_valid_angle[5] = a2_valid_angle[4] + M_PI;
a2_valid_angle[6] = atan2(a2_pt_y[1] - y, a2_pt_x[1] - x); a2_valid_angle[6] = atan2f(a2_pt_y[1] - y, a2_pt_x[1] - x);
a2_valid_angle[7] = a2_valid_angle[6] + M_PI; a2_valid_angle[7] = a2_valid_angle[6] + M_PI;
for (i = 0; i < 8; i++) { for (i = 0; i < 8; i++) {
@ -694,15 +694,15 @@ void n_pt_persp_click(magic_api * api, int which, int mode ATTRIBUTE_UNUSED,
} }
} else if (tool == TOOL_3PT_DRAW) { } else if (tool == TOOL_3PT_DRAW) {
/* Horizon between vanishing points, and perpendicular (rise above/below) */ /* Horizon between vanishing points, and perpendicular (rise above/below) */
a3_valid_angle[0] = atan2(a3_pt_y[1] - a3_pt_y[0], a3_pt_x[1] - a3_pt_x[0]); a3_valid_angle[0] = atan2f(a3_pt_y[1] - a3_pt_y[0], a3_pt_x[1] - a3_pt_x[0]);
a3_valid_angle[1] = a3_valid_angle[0] + M_PI; a3_valid_angle[1] = a3_valid_angle[0] + M_PI;
/* Angles that point toward the three vanishing points */ /* Angles that point toward the three vanishing points */
a3_valid_angle[2] = atan2(a3_pt_y[0] - y, a3_pt_x[0] - x); a3_valid_angle[2] = atan2f(a3_pt_y[0] - y, a3_pt_x[0] - x);
a3_valid_angle[3] = a3_valid_angle[2] + M_PI; a3_valid_angle[3] = a3_valid_angle[2] + M_PI;
a3_valid_angle[4] = atan2(a3_pt_y[1] - y, a3_pt_x[1] - x); a3_valid_angle[4] = atan2f(a3_pt_y[1] - y, a3_pt_x[1] - x);
a3_valid_angle[5] = a3_valid_angle[4] + M_PI; a3_valid_angle[5] = a3_valid_angle[4] + M_PI;
a3_valid_angle[6] = atan2(a3_pt_y[2] - y, a3_pt_x[2] - x); a3_valid_angle[6] = atan2f(a3_pt_y[2] - y, a3_pt_x[2] - x);
a3_valid_angle[7] = a3_valid_angle[6] + M_PI; a3_valid_angle[7] = a3_valid_angle[6] + M_PI;
for (i = 0; i < 8; i++) { for (i = 0; i < 8; i++) {
@ -712,15 +712,15 @@ void n_pt_persp_click(magic_api * api, int which, int mode ATTRIBUTE_UNUSED,
} }
} else if (tool == TOOL_3PT_DRAW_ALT) { } else if (tool == TOOL_3PT_DRAW_ALT) {
/* Horizon between vanishing points, and perpendicular (rise above/below) */ /* Horizon between vanishing points, and perpendicular (rise above/below) */
a3_valid_angle[0] = atan2(a3b_pt_y[1] - a3b_pt_y[0], a3b_pt_x[1] - a3b_pt_x[0]); a3_valid_angle[0] = atan2f(a3b_pt_y[1] - a3b_pt_y[0], a3b_pt_x[1] - a3b_pt_x[0]);
a3_valid_angle[1] = a3_valid_angle[0] + M_PI; a3_valid_angle[1] = a3_valid_angle[0] + M_PI;
/* Angles that point toward the three vanishing points */ /* Angles that point toward the three vanishing points */
a3_valid_angle[2] = atan2(a3b_pt_y[0] - y, a3b_pt_x[0] - x); a3_valid_angle[2] = atan2f(a3b_pt_y[0] - y, a3b_pt_x[0] - x);
a3_valid_angle[3] = a3_valid_angle[2] + M_PI; a3_valid_angle[3] = a3_valid_angle[2] + M_PI;
a3_valid_angle[4] = atan2(a3b_pt_y[1] - y, a3b_pt_x[1] - x); a3_valid_angle[4] = atan2f(a3b_pt_y[1] - y, a3b_pt_x[1] - x);
a3_valid_angle[5] = a3_valid_angle[4] + M_PI; a3_valid_angle[5] = a3_valid_angle[4] + M_PI;
a3_valid_angle[6] = atan2(a3b_pt_y[2] - y, a3b_pt_x[2] - x); a3_valid_angle[6] = atan2f(a3b_pt_y[2] - y, a3b_pt_x[2] - x);
a3_valid_angle[7] = a3_valid_angle[6] + M_PI; a3_valid_angle[7] = a3_valid_angle[6] + M_PI;
for (i = 0; i < 8; i++) { for (i = 0; i < 8; i++) {
@ -924,38 +924,38 @@ void n_pt_persp_drag(magic_api * api, int which,
ang = 30.0 * M_PI / 180.0; ang = 30.0 * M_PI / 180.0;
api->line((void *) api, which, canvas, NULL, api->line((void *) api, which, canvas, NULL,
x - cos(ang) * guide_len, y + sin(ang) * guide_len, x - cosf(ang) * guide_len, y + sinf(ang) * guide_len,
x + cos(ang) * guide_len, y - sin(ang) * guide_len, x + cosf(ang) * guide_len, y - sinf(ang) * guide_len,
6, 6,
n_pt_persp_line_xor_callback); n_pt_persp_line_xor_callback);
ang = 150.0 * M_PI / 180.0; ang = 150.0 * M_PI / 180.0;
api->line((void *) api, which, canvas, NULL, api->line((void *) api, which, canvas, NULL,
x - cos(ang) * guide_len, y + sin(ang) * guide_len, x - cosf(ang) * guide_len, y + sinf(ang) * guide_len,
x + cos(ang) * guide_len, y - sin(ang) * guide_len, x + cosf(ang) * guide_len, y - sinf(ang) * guide_len,
6, 6,
n_pt_persp_line_xor_callback); n_pt_persp_line_xor_callback);
} else if (which == TOOL_DIM_DRAW) { } else if (which == TOOL_DIM_DRAW) {
/* Dimetric */ /* Dimetric */
api->line((void *) api, which, canvas, NULL, api->line((void *) api, which, canvas, NULL,
x - cos(dim_ang) * guide_len, y + sin(dim_ang) * guide_len, x - cosf(dim_ang) * guide_len, y + sinf(dim_ang) * guide_len,
x + cos(dim_ang) * guide_len, y - sin(dim_ang) * guide_len, x + cosf(dim_ang) * guide_len, y - sinf(dim_ang) * guide_len,
6, 6,
n_pt_persp_line_xor_callback); n_pt_persp_line_xor_callback);
api->line((void *) api, which, canvas, NULL, api->line((void *) api, which, canvas, NULL,
x - cos(M_PI - dim_ang) * guide_len, y + sin(M_PI - dim_ang) * guide_len, x - cosf(M_PI - dim_ang) * guide_len, y + sinf(M_PI - dim_ang) * guide_len,
x + cos(M_PI - dim_ang) * guide_len, y - sin(M_PI - dim_ang) * guide_len, x + cosf(M_PI - dim_ang) * guide_len, y - sinf(M_PI - dim_ang) * guide_len,
6, 6,
n_pt_persp_line_xor_callback); n_pt_persp_line_xor_callback);
} else if (which == TOOL_TRI_DRAW) { } else if (which == TOOL_TRI_DRAW) {
/* Trimetric */ /* Trimetric */
api->line((void *) api, which, canvas, NULL, api->line((void *) api, which, canvas, NULL,
x - cos(tri_ang[0]) * guide_len, y + sin(tri_ang[0]) * guide_len, x - cosf(tri_ang[0]) * guide_len, y + sinf(tri_ang[0]) * guide_len,
x + cos(tri_ang[0]) * guide_len, y - sin(tri_ang[0]) * guide_len, x + cosf(tri_ang[0]) * guide_len, y - sinf(tri_ang[0]) * guide_len,
6, 6,
n_pt_persp_line_xor_callback); n_pt_persp_line_xor_callback);
api->line((void *) api, which, canvas, NULL, api->line((void *) api, which, canvas, NULL,
x - cos(tri_ang[1]) * guide_len, y + sin(tri_ang[1]) * guide_len, x - cosf(tri_ang[1]) * guide_len, y + sinf(tri_ang[1]) * guide_len,
x + cos(tri_ang[1]) * guide_len, y - sin(tri_ang[1]) * guide_len, x + cosf(tri_ang[1]) * guide_len, y - sinf(tri_ang[1]) * guide_len,
6, 6,
n_pt_persp_line_xor_callback); n_pt_persp_line_xor_callback);
} else if (which == TOOL_OBLQ_DRAW || which == TOOL_OBLQ_DRAW_ALT) { } else if (which == TOOL_OBLQ_DRAW || which == TOOL_OBLQ_DRAW_ALT) {
@ -970,8 +970,8 @@ void n_pt_persp_drag(magic_api * api, int which,
ang = oblqb_ang; ang = oblqb_ang;
} }
api->line((void *) api, which, canvas, NULL, api->line((void *) api, which, canvas, NULL,
x - cos(ang) * guide_len, y + sin(ang) * guide_len, x - cosf(ang) * guide_len, y + sinf(ang) * guide_len,
x + cos(ang) * guide_len, y - sin(ang) * guide_len, x + cosf(ang) * guide_len, y - sinf(ang) * guide_len,
6, 6,
n_pt_persp_line_xor_callback); n_pt_persp_line_xor_callback);
} }
@ -1177,8 +1177,8 @@ void n_pt_persp_work(magic_api * api, int tool,
/* Calculate a line segment, so we can determine the slope */ /* Calculate a line segment, so we can determine the slope */
x1 = line_start_x; x1 = line_start_x;
y1 = line_start_y; y1 = line_start_y;
x2 = line_start_x + cos(valid_angle[best_angle_idx]) * 1000; x2 = line_start_x + cosf(valid_angle[best_angle_idx]) * 1000;
y2 = line_start_y + sin(valid_angle[best_angle_idx]) * 1000; y2 = line_start_y + sinf(valid_angle[best_angle_idx]) * 1000;
if (abs(x2 - x1) >= 2) { if (abs(x2 - x1) >= 2) {
slope = ((float) y2 - (float) y1) / ((float) x2 - (float) x1); slope = ((float) y2 - (float) y1) / ((float) x2 - (float) x1);
@ -1294,8 +1294,8 @@ void n_pt_persp_work(magic_api * api, int tool,
x1 = line_start_x; x1 = line_start_x;
y1 = line_start_y; y1 = line_start_y;
x2 = line_start_x + cos(ang) * 1000; x2 = line_start_x + cosf(ang) * 1000;
y2 = line_start_y + sin(ang) * 1000; y2 = line_start_y + sinf(ang) * 1000;
if (abs(x2 - x1) >= 2) { if (abs(x2 - x1) >= 2) {
slope = ((float) y2 - (float) y1) / ((float) x2 - (float) x1); slope = ((float) y2 - (float) y1) / ((float) x2 - (float) x1);
@ -1647,8 +1647,8 @@ void n_pt_persp_draw_points(magic_api * api, int tool, SDL_Surface * canvas) {
n_pt_persp_line_xor_callback); n_pt_persp_line_xor_callback);
/* the angle (always 30) */ /* the angle (always 30) */
x1 = cos(30.0 * M_PI / 180.0) * canvas->w; x1 = cosf(30.0 * M_PI / 180.0) * canvas->w;
y1 = sin(30.0 * M_PI / 180.0) * canvas->h; y1 = sinf(30.0 * M_PI / 180.0) * canvas->h;
api->line((void *) api, tool, canvas, NULL, api->line((void *) api, tool, canvas, NULL,
canvas->w / 2 - x1, canvas->h / 2 - y1, canvas->w / 2 - x1, canvas->h / 2 - y1,
canvas->w / 2 + x1, canvas->h / 2 + y1, 12, canvas->w / 2 + x1, canvas->h / 2 + y1, 12,
@ -1667,8 +1667,8 @@ void n_pt_persp_draw_points(magic_api * api, int tool, SDL_Surface * canvas) {
n_pt_persp_line_xor_callback); n_pt_persp_line_xor_callback);
/* the angle */ /* the angle */
x1 = cos(dim_ang) * canvas->w; x1 = cosf(dim_ang) * canvas->w;
y1 = sin(dim_ang) * canvas->h; y1 = sinf(dim_ang) * canvas->h;
api->line((void *) api, tool, canvas, NULL, api->line((void *) api, tool, canvas, NULL,
canvas->w / 2 - x1, canvas->h / 2 - y1, canvas->w / 2 - x1, canvas->h / 2 - y1,
canvas->w / 2 + x1, canvas->h / 2 + y1, 12, canvas->w / 2 + x1, canvas->h / 2 + y1, 12,
@ -1687,8 +1687,8 @@ void n_pt_persp_draw_points(magic_api * api, int tool, SDL_Surface * canvas) {
n_pt_persp_line_xor_callback); n_pt_persp_line_xor_callback);
/* angle 1 */ /* angle 1 */
x1 = cos(tri_ang[0]) * canvas->w; x1 = cosf(tri_ang[0]) * canvas->w;
y1 = sin(tri_ang[0]) * canvas->w; y1 = sinf(tri_ang[0]) * canvas->w;
if (tri_ang_chosen == 0) { if (tri_ang_chosen == 0) {
api->line((void *) api, tool, canvas, NULL, api->line((void *) api, tool, canvas, NULL,
canvas->w / 2 - x1, canvas->h / 2 + y1, canvas->w / 2 - x1, canvas->h / 2 + y1,
@ -1702,8 +1702,8 @@ void n_pt_persp_draw_points(magic_api * api, int tool, SDL_Surface * canvas) {
} }
/* angle 2 */ /* angle 2 */
x1 = cos(tri_ang[1]) * canvas->w; x1 = cosf(tri_ang[1]) * canvas->w;
y1 = sin(tri_ang[1]) * canvas->w; y1 = sinf(tri_ang[1]) * canvas->w;
if (tri_ang_chosen == 1) { if (tri_ang_chosen == 1) {
api->line((void *) api, tool, canvas, NULL, api->line((void *) api, tool, canvas, NULL,
canvas->w / 2 - x1, canvas->h / 2 + y1, canvas->w / 2 - x1, canvas->h / 2 + y1,
@ -1731,8 +1731,8 @@ void n_pt_persp_draw_points(magic_api * api, int tool, SDL_Surface * canvas) {
n_pt_persp_line_xor_callback); n_pt_persp_line_xor_callback);
/* diagonal (receding) */ /* diagonal (receding) */
x1 = cos(oblq_ang) * canvas->w; x1 = cosf(oblq_ang) * canvas->w;
y1 = sin(oblq_ang) * canvas->h; y1 = sinf(oblq_ang) * canvas->h;
if (tool == TOOL_OBLQ_SELECT_ALT) { if (tool == TOOL_OBLQ_SELECT_ALT) {
y1 = -y1; y1 = -y1;
} }