#ifdef USE_KIRA

#if __cplusplus
extern "C" {
#endif

int open_parti(struct stuff *st, char *filename, int verbose);
double get_parti_time( struct stuff *st );
void set_parti_time( struct stuff *st, double reqtime );
int get_parti_time_range( struct stuff *st, double *tmin, double *tmax );
struct specklist *get_parti( struct stuff *st, double realtime );

#define KIRA_NODES	0	/* Display nonleaf (center-of-mass) nodes? */
#define	KIRA_RINGS	1	/* Display marker rings for multiple systems? */
# define  KIRA_OFF	  0	   /* no */
# define  KIRA_ON	  1	   /* yes, show all */
# define  KIRA_ROOTS	  2	   /* show only for root nodes (one per clump) */

#define KIRA_RINGSIZE	2	/* What determines size of marker rings? */
# define  KIRA_RINGSEP    0	/*   instantaneous separation */
# define  KIRA_RINGA	  1	/*   abs(semimajor axis) of Keplerian orbit */

#define	KIRA_RINGSCALE	3	/* Multiplier for ring size */
#define KIRA_RINGMIN	4	/* Min apparent size of rings (pixels) */
#define	KIRA_RINGMAX	5	/* Max apparent size of rings (pixels) */
#define KIRA_TRACK	6	/* make camera track motion of given particle */

double kira_get( struct stuff *st, int what );
int    kira_set( struct stuff *st, int what, double value );

void   kira_draw( struct stuff *st, struct specklist *slhead, Matrix *Tc2w, float radperpix );

#if __cplusplus
} /* end extern "C" */
#endif

#endif /*USE_KIRA*/