From 513663b324377701edefcff96955d133d7d780a8 Mon Sep 17 00:00:00 2001 From: JM <crewgan@pop-os.localdomain> Date: Fri, 13 May 2022 21:33:30 +0200 Subject: [PATCH] Correction struct --- src/field.c | 13 +++++++++++-- src/field.h | 8 ++------ src/main.c | 1 + 3 files changed, 14 insertions(+), 8 deletions(-) diff --git a/src/field.c b/src/field.c index b0bbd1d..05a9a9f 100644 --- a/src/field.c +++ b/src/field.c @@ -3,6 +3,7 @@ #include <stdlib.h> #include "field.h" +#include "draw.h" #include "../utils/utils.h" #define SIGN_SIZE 10 @@ -38,14 +39,22 @@ bool compute_total_normalized_e(charge_t *charges, int num_charges, vec2 p, doub // starting from pos0. // Returns false if pos0 is not a valid position // (for example if pos0 is too close to a charge). -static bool draw_field_line(struct gfx_context_t *ctxt, charge_t *charges, int num_charges, double dx, vec2 pos0, double x0, double x1, double y0, double y1) { +bool draw_field_line(struct gfx_context_t *ctxt, charge_t *charges, int num_charges, double dx, vec2 pos0, double x0, double x1, double y0, double y1) { + vec2 pos = vec2_create(pos0.x, pos0.y); + vec2 pos_sum; + for (int i = 0; i < num_charges; i++) + { + // compute_e(charges[i], ..., &pos_sum); + } + + //vec2 pos_next = return EXIT_SUCCESS; } // Draw all the charges // A circle with minus sign for negative charges // A circle with a plus sign for positive charges -static void draw_charges(struct gfx_context_t *context, charge_t *charges, int num_charges, double x0, double x1, double y0, double y1) { +void draw_charges(struct gfx_context_t *context, charge_t *charges, int num_charges, double x0, double x1, double y0, double y1) { for (int i = 0; i < num_charges; i++) { coordinates_t charge_center = position_to_coordinates(CHARGE_R, CHARGE_R, x0, x1, y0, y1, charges[i].pos); diff --git a/src/field.h b/src/field.h index 45c00f3..267474b 100644 --- a/src/field.h +++ b/src/field.h @@ -18,15 +18,11 @@ bool compute_total_normalized_e(charge_t *charges, int num_charges, vec2 p, doub // starting from pos0. // Returns false if pos0 is not a valid position // (for example if pos0 is too close to a charge). -static bool -draw_field_line(struct gfx_context_t *ctxt, charge_t *charges, int num_charges, double dx, vec2 pos0, double x0, - double x1, double y0, double y1); +bool draw_field_line(struct gfx_context_t *ctxt, charge_t *charges, int num_charges, double dx, vec2 pos0, double x0, double x1, double y0, double y1); // Draw all the charges // A circle with minus sign for negative charges // A circle with a plus sign for positive charges -static void -draw_charges(struct gfx_context_t *context, charge_t *charges, int num_charges, double x0, double x1, double y0, - double y1); +void draw_charges(struct gfx_context_t *context, charge_t *charges, int num_charges, double x0, double x1, double y0, double y1); #endif diff --git a/src/main.c b/src/main.c index 2953200..92bf434 100644 --- a/src/main.c +++ b/src/main.c @@ -2,6 +2,7 @@ #include <time.h> #include "draw.h" #include "../utils/utils.h" +#include "field.h" #define SIDE_LEN 1000 #define WID SIDE_LEN -- GitLab