Tachyon (current)  Current Main Branch
ring.h
Go to the documentation of this file.
1 /*
2  * ring.h - This file contains the defines for rings etc.
3  *
4  * (C) Copyright 1994-2022 John E. Stone
5  * SPDX-License-Identifier: BSD-3-Clause
6  *
7  * $Id: ring.h,v 1.12 2022/02/18 17:55:28 johns Exp $
8  *
9  */
10 
11 object * newring(void * tex, vector ctr, vector norm, flt in, flt out);
12 
13 #ifdef RING_PRIVATE
14 typedef struct {
15  RT_OBJECT_HEAD
16  vector ctr;
17  vector norm;
18  flt inrad;
19  flt outrad;
20 } ring;
21 
22 static int ring_bbox(void * obj, vector * min, vector * max);
23 static void ring_intersect(const ring *, ray *);
24 static void ring_normal(const ring *, const vector *, const ray * incident, vector *);
25 #endif
26 
object * newring(void *tex, vector ctr, vector norm, flt in, flt out)
Definition: ring.c:33
static void ring_normal(const ring *rng, const vector *pnt, const ray *incident, vector *N)
Definition: ring.c:85
double flt
generic floating point number, using double
Definition: tachyon.h:47
static void ring_intersect(const ring *rng, ray *ry)
Definition: ring.c:63
static int ring_bbox(void *obj, vector *min, vector *max)
Definition: ring.c:50