From acfa01613f6e7fbeace88a15df61252156d39cf1 Mon Sep 17 00:00:00 2001 From: Jesper Jensen Date: Thu, 20 Nov 2025 22:31:53 +0100 Subject: Separate everything out --- inc/cad/solve.h | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) (limited to 'inc/cad/solve.h') diff --git a/inc/cad/solve.h b/inc/cad/solve.h index 4eae272..85b902b 100644 --- a/inc/cad/solve.h +++ b/inc/cad/solve.h @@ -22,6 +22,20 @@ struct component { bool drawn; }; +struct alias { + struct component *alias; + struct component *target; +}; + +struct constraints { + struct constraint *elements; + size_t length; + size_t capacity; + + struct alias aliases[16]; + size_t aliases_num; +}; + extern char *constraint_type_name[]; enum constraint_type { CT_POINT_POINT_DISTANCE, @@ -49,4 +63,6 @@ struct constraint { bool used; }; -bool solve_constraints(struct constraint *constraints, size_t constraints_num, struct drawing *drawing); +void alias_point(struct constraints *c, struct component *alias, struct component *target); +void add_constraint(struct constraints *c, struct constraint *new); +bool solve_constraints(struct constraints *constraints, struct drawing *drawing); -- cgit v1.2.3