Tachyon (current)  Current Main Branch
Macros | Functions
apitrigeom.c File Reference
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
#include "tachyon.h"
#include "apitrigeom.h"

Go to the source code of this file.

Macros

#define TACHYON_INTERNAL   1
 
#define CYLFACETS   36
 
#define RINGFACETS   36
 
#define SPHEREFACETS   25
 

Functions

void VNorm (apivector *a)
 
void VCross (apivector *a, apivector *b, apivector *c)
 
void VAddS (flt a, apivector *A, apivector *B, apivector *C)
 
void VAdd (apivector *a, apivector *b, apivector *c)
 
void VSub (apivector *a, apivector *b, apivector *c)
 
flt VDot (apivector *a, apivector *b)
 
void rt_tri_fcylinder (SceneHandle scene, void *tex, apivector ctr, apivector axis, flt rad)
 
void rt_tri_cylinder (SceneHandle scene, void *tex, apivector ctr, apivector axis, flt rad)
 
void rt_tri_ring (SceneHandle scene, void *tex, apivector ctr, apivector norm, flt a, flt b)
 
void rt_tri_box (SceneHandle scene, void *tex, apivector min, apivector max)
 
void rt_tri_sphere (SceneHandle scene, void *tex, apivector ctr, flt rad)
 
void rt_tri_plane (SceneHandle scene, void *tex, apivector ctr, apivector norm)
 

Macro Definition Documentation

◆ CYLFACETS

#define CYLFACETS   36

Definition at line 29 of file apitrigeom.c.

Referenced by rt_tri_fcylinder().

◆ RINGFACETS

#define RINGFACETS   36

Definition at line 30 of file apitrigeom.c.

Referenced by rt_tri_ring().

◆ SPHEREFACETS

#define SPHEREFACETS   25

Definition at line 31 of file apitrigeom.c.

◆ TACHYON_INTERNAL

#define TACHYON_INTERNAL   1

Definition at line 17 of file apitrigeom.c.

Function Documentation

◆ rt_tri_box()

void rt_tri_box ( SceneHandle  scene,
void *  tex,
apivector  min,
apivector  max 
)

Definition at line 134 of file apitrigeom.c.

References rt_tri(), rt_vector(), apivector::x, apivector::y, and apivector::z.

◆ rt_tri_cylinder()

void rt_tri_cylinder ( SceneHandle  scene,
void *  tex,
apivector  ctr,
apivector  axis,
flt  rad 
)

Definition at line 82 of file apitrigeom.c.

References rt_fcylinder().

◆ rt_tri_fcylinder()

void rt_tri_fcylinder ( SceneHandle  scene,
void *  tex,
apivector  ctr,
apivector  axis,
flt  rad 
)

Definition at line 33 of file apitrigeom.c.

References COS, CYLFACETS, rt_stri(), SIN, VAddS(), VCross(), VNorm(), apivector::x, apivector::y, and apivector::z.

◆ rt_tri_plane()

void rt_tri_plane ( SceneHandle  scene,
void *  tex,
apivector  ctr,
apivector  norm 
)

Definition at line 187 of file apitrigeom.c.

References rt_tri_ring().

◆ rt_tri_ring()

void rt_tri_ring ( SceneHandle  scene,
void *  tex,
apivector  ctr,
apivector  norm,
flt  a,
flt  b 
)

Definition at line 86 of file apitrigeom.c.

References COS, RINGFACETS, rt_stri(), SIN, VAddS(), VCross(), VNorm(), apivector::x, apivector::y, and apivector::z.

Referenced by rt_tri_plane().

◆ rt_tri_sphere()

void rt_tri_sphere ( SceneHandle  scene,
void *  tex,
apivector  ctr,
flt  rad 
)

Definition at line 184 of file apitrigeom.c.

◆ VAdd()

void VAdd ( apivector a,
apivector b,
apivector c 
)

Referenced by tri_bbox().

◆ VAddS()

void VAddS ( flt  a,
apivector A,
apivector B,
apivector C 
)

◆ VCross()

void VCross ( apivector a,
apivector b,
apivector c 
)

◆ VDot()

flt VDot ( apivector a,
apivector b 
)

◆ VNorm()

void VNorm ( apivector a)

Referenced by rt_tri_fcylinder(), and rt_tri_ring().

◆ VSub()

void VSub ( apivector a,
apivector b,
apivector c 
)