head	1.5;
access;
symbols;
locks
	ids:1.5; strict;
comment	@ * @;


1.5
date	93.06.26.20.57.05;	author ids;	state Exp;
branches;
next	1.4;

1.4
date	93.06.23.12.29.57;	author ids;	state Exp;
branches;
next	1.3;

1.3
date	93.06.22.12.46.38;	author ids;	state Exp;
branches;
next	1.2;

1.2
date	93.06.22.08.35.58;	author ids;	state Exp;
branches;
next	1.1;

1.1
date	93.06.21.20.55.00;	author ids;	state Exp;
branches;
next	;


desc
@@


1.5
log
@new cleaner C conventions used, bearing a much stronger resemblance to
 Modula's modularization.
@
text
@#ifndef GRAPHICSFORGRAVITY_H_INCLUDED
#define GRAPHICSFORGRAVITY_H_INCLUDED


#include "gravity_support.h"


extern void InitializeGraphics (STATE *s);
/*
Treats its arg as read-only.
Opens a suitable window, and sets up a sensible initial private graphics state.
Does not draw anything yet---we haven't had the first EventExpose.
*/

extern void DrawState (STATE *s);
/*
Treats its arg as read-only.
Draws the given system of bodies in the window.
Note: we update the private graphics state here. We also try to manage any
      events sensibly "on the fly".
*/


#endif /* GRAPHICSFORGRAVITY_H_INCLUDED */
@


1.4
log
@moved some stuff into GraphicsSupport.
@
text
@a5 1
#include "GraphicsSupport.h"
a7 2


a20 7
*/

extern void SetUpSensibleGraphicsState (STATE *s, GRAPHICS_STATE *gs);
/*
Treats its first arg as read-only.
Sets up sensible values in the indicated graphics state, with the user
co-moving with the system of bodies at a well-chosen vantage point.
@


1.3
log
@added type GRAPHICS_STATE
better comments.
@
text
@d6 1
a6 9

typedef double          GRAPHICS_VECTOR [NDIMS+1];
typedef GRAPHICS_VECTOR GRAPHICS_MATRIX [NDIMS+1];

typedef struct {
          GRAPHICS_MATRIX M;    /* actual-to-user, for time TimeLastUpdated */
          GRAPHICS_VECTOR user_velocity;
          double          TimeLastUpdated;
        } GRAPHICS_STATE;
@


1.2
log
@better procedure names, following the "IC DoC conventions"
(Put___ for standard output, Draw___ for graphics).
@
text
@d7 2
d10 9
d22 1
a22 1
Opens a suitable window, and sets up sensible initial matrix values etc.
d29 10
a38 2
Updates the window with the latest state, and updates matrix values etc.
Note: we try to manage any events sensibly "on the fly".
@


1.1
log
@Initial revision
@
text
@d15 1
a15 1
extern void PlotGraphically (STATE *s);
@
