X-Git-Url: https://git.cworth.org/git?a=blobdiff_plain;f=akamaru.h;h=1646a342e6bcb2e69d2b206663249200ce6d2f47;hb=ac886f983a984a951187fae89c530858013ef118;hp=1d4796c94fe39a6efbab6f03bdfd76a9c74a12b3;hpb=1c5cfec7a396c39cfcdeadfcf48c2dd15ba21ea8;p=akamaru diff --git a/akamaru.h b/akamaru.h index 1d4796c..1646a34 100644 --- a/akamaru.h +++ b/akamaru.h @@ -12,6 +12,7 @@ typedef struct _Stick Stick; typedef struct _String String; typedef struct _Spring Spring; typedef struct _OffsetSpring OffsetSpring; +typedef struct _Spacer Spacer; typedef struct _Polygon Polygon; typedef struct _Offset Offset; typedef struct _Model Model; @@ -53,6 +54,11 @@ struct _OffsetSpring { int dx, dy; }; +struct _Spacer { + Object *a, *b; + int length; +}; + struct _Polygon { int num_points; Point *points; @@ -73,6 +79,8 @@ struct _Model { Spring *springs; int num_offset_springs; OffsetSpring *offset_springs; + int num_spacers; + Spacer *spacers; int num_polygons; Polygon *polygons; double k; @@ -88,7 +96,9 @@ void object_init (Object *object, double x, double y, double mass); void offset_spring_init (OffsetSpring *spring, Object *a, Object *b, double dx, double dy); void spring_init (Spring *spring, Object *a, Object *b, double length); +void stick_init (Stick *stick, Object *a, Object *b, double length); void string_init (String *string, Object *a, Object *b, double length); +void spacer_init (Spacer *spacer, Object *a, Object *b, double length); void polygon_init (Polygon *p, int num_points, ...); void polygon_init_diamond (Polygon *polygon, double x, double y);