Tachyon (current)  Current Main Branch
quadric.h
Go to the documentation of this file.
1 /*
2  * quadric.h - This file contains the defines for quadrics.
3  *
4  * (C) Copyright 1994-2022 John E. Stone
5  * SPDX-License-Identifier: BSD-3-Clause
6  *
7  * $Id: quadric.h,v 1.13 2022/02/18 17:55:28 johns Exp $
8  *
9  */
10 
11 typedef struct {
12  flt a; flt b; flt c;
13  flt d; flt e; flt f;
14  flt g; flt h; flt i; flt j;
15 } quadmatrix;
16 
17 
18 typedef struct {
19  RT_OBJECT_HEAD
20  vector ctr;
22 } quadric;
23 
24 
25 quadric * newquadric(void);
26 void quadric_intersect(const quadric *, ray *);
27 void quadric_normal(const quadric *, const vector *, const ray *, vector *);
28 
29 
30 
flt c
Definition: quadric.h:12
flt f
Definition: quadric.h:13
double flt
generic floating point number, using double
Definition: tachyon.h:47
RT_OBJECT_HEAD vector ctr
center of quadric object
Definition: quadric.h:20
quadmatrix mat
quadric function coefficient matrix
Definition: quadric.h:21
quadric * newquadric(void)
Definition: quadric.c:35
void quadric_normal(const quadric *, const vector *, const ray *, vector *)
Definition: quadric.c:109
flt j
Definition: quadric.h:14
void quadric_intersect(const quadric *, ray *)
Definition: quadric.c:48