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;
int dx, dy;
};
+struct _Spacer {
+ Object *a, *b;
+ int length;
+};
+
struct _Polygon {
int num_points;
Point *points;
Spring *springs;
int num_offset_springs;
OffsetSpring *offset_springs;
+ int num_spacers;
+ Spacer *spacers;
int num_polygons;
Polygon *polygons;
double k;
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);