Tachyon (current)  Current Main Branch
Macros | Functions | Variables
quadric.c File Reference
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
#include "tachyon.h"
#include "macros.h"
#include "quadric.h"
#include "vector.h"
#include "intersect.h"
#include "util.h"

Go to the source code of this file.

Macros

#define TACHYON_INTERNAL   1
 

Functions

int quadric_bbox (void *obj, vector *min, vector *max)
 
quadricnewquadric (void)
 
void quadric_intersect (const quadric *q, ray *ry)
 
void quadric_normal (const quadric *q, const vector *pnt, const ray *incident, vector *N)
 

Variables

static object_methods quadric_methods
 

Macro Definition Documentation

◆ TACHYON_INTERNAL

#define TACHYON_INTERNAL   1

Definition at line 16 of file quadric.c.

Function Documentation

◆ newquadric()

quadric* newquadric ( void  )

Definition at line 35 of file quadric.c.

References quadric::ctr, and quadric_methods.

Referenced by rt_quadsphere().

◆ quadric_bbox()

int quadric_bbox ( void *  obj,
vector *  min,
vector *  max 
)

Definition at line 24 of file quadric.c.

◆ quadric_intersect()

void quadric_intersect ( const quadric q,
ray *  ry 
)

◆ quadric_normal()

void quadric_normal ( const quadric q,
const vector *  pnt,
const ray *  incident,
vector *  N 
)

Variable Documentation

◆ quadric_methods

object_methods quadric_methods
static
Initial value:
= {
(void (*)(const void *, void *))(quadric_intersect),
(void (*)(const void *, const void *, const void *, void *))(quadric_normal),
free
}
void quadric_normal(const quadric *q, const vector *pnt, const ray *incident, vector *N)
Definition: quadric.c:109
void quadric_intersect(const quadric *q, ray *ry)
Definition: quadric.c:48
int quadric_bbox(void *obj, vector *min, vector *max)
Definition: quadric.c:24

Definition at line 28 of file quadric.c.

Referenced by newquadric().