/* 
 * ring.h - This file contains the defines for rings etc.
 *
 *  $Id: ring.h,v 1.8 1997/12/15 12:12:15 johns Exp $
 */

object * newring(void * tex, vector ctr, vector norm, flt in, flt out);

#ifdef RING_PRIVATE 
typedef struct {
  unsigned int id;                      /* Unique Object serial number    */
  void * nextobj;                       /* pointer to next object in list */
  object_methods * methods;             /* this object's methods          */
  texture * tex;                        /* object texture                 */
  vector ctr;
  vector norm;
  flt inrad;
  flt outrad;
} ring; 

static int ring_bbox(void * obj, vector * min, vector * max);
static void ring_intersect(ring *, ray *);
static void ring_normal(ring *, vector *, ray * incident, vector *);
#endif

