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