BRL-CAD
tie.h File Reference
#include "common.h"
#include "vmath.h"
Include dependency graph for tie.h:

Go to the source code of this file.

Data Structures

struct  TIE_3_s
 
struct  tie_ray_s
 
struct  tie_id_s
 
struct  tie_tri_s
 
struct  tie_kdtree_s
 
struct  tie_s
 

Macros

#define TIE_PRECISION   1
 
#define TIE_CHECK_DEGENERATE   1
 
#define TIE_KDTREE_FAST   0x0
 
#define TIE_KDTREE_OPTIMAL   0x1
 
#define TIE_VAL(x)   CPP_GLUE(x, _double)
 
#define TCOPY(_t, _fv, _fi, _tv, _ti)
 
#define TIE_INIT   TIE_VAL(tie_init)
 
#define TIE_FREE   TIE_VAL(tie_free)
 
#define TIE_PREP   TIE_VAL(tie_prep)
 
#define TIE_WORK   TIE_VAL(tie_work)
 
#define TIE_PUSH   TIE_VAL(tie_push)
 
#define TIE_KDTREE_PREP   TIE_VAL(tie_kdtree_prep)
 
#define TIE_KDTREE_FREE   TIE_VAL(tie_kdtree_free)
 

Typedefs

typedef double TFLOAT
 
typedef struct TIE_3_s TIE_3
 

Functions

void TIE_INIT (struct tie_s *tie, unsigned int tri_num, unsigned int kdmethod)
 
void TIE_FREE (struct tie_s *tie)
 
void TIE_PREP (struct tie_s *tie)
 
void * TIE_WORK (struct tie_s *tie, struct tie_ray_s *ray, struct tie_id_s *id, void *(*hitfunc)(struct tie_ray_s *, struct tie_id_s *, struct tie_tri_s *, void *ptr), void *ptr)
 
void TIE_PUSH (struct tie_s *tie, TIE_3 **tlist, unsigned int tnum, void *plist, unsigned int pstride)
 
void TIE_KDTREE_FREE (struct tie_s *tie)
 
void TIE_KDTREE_PREP (struct tie_s *tie)
 

Variables

int tie_check_degenerate
 
fastf_t TIE_PREC
 

Macro Definition Documentation

◆ TIE_PRECISION

#define TIE_PRECISION   1

Definition at line 52 of file tie.h.

◆ TIE_CHECK_DEGENERATE

#define TIE_CHECK_DEGENERATE   1

Definition at line 55 of file tie.h.

◆ TIE_KDTREE_FAST

#define TIE_KDTREE_FAST   0x0

Definition at line 57 of file tie.h.

◆ TIE_KDTREE_OPTIMAL

#define TIE_KDTREE_OPTIMAL   0x1

Definition at line 58 of file tie.h.

◆ TIE_VAL

#define TIE_VAL (   x)    CPP_GLUE(x, _double)

Definition at line 66 of file tie.h.

◆ TCOPY

#define TCOPY (   _t,
  _fv,
  _fi,
  _tv,
  _ti 
)
Value:
{ \
*(_t *)&((uint8_t *)_tv)[_ti] = *(_t *)&((uint8_t *)_fv)[_fi]; }

Definition at line 73 of file tie.h.

◆ TIE_INIT

#define TIE_INIT   TIE_VAL(tie_init)

Definition at line 131 of file tie.h.

◆ TIE_FREE

#define TIE_FREE   TIE_VAL(tie_free)

Definition at line 132 of file tie.h.

◆ TIE_PREP

#define TIE_PREP   TIE_VAL(tie_prep)

Definition at line 133 of file tie.h.

◆ TIE_WORK

#define TIE_WORK   TIE_VAL(tie_work)

Definition at line 134 of file tie.h.

◆ TIE_PUSH

#define TIE_PUSH   TIE_VAL(tie_push)

Definition at line 135 of file tie.h.

◆ TIE_KDTREE_PREP

#define TIE_KDTREE_PREP   TIE_VAL(tie_kdtree_prep)

Definition at line 136 of file tie.h.

◆ TIE_KDTREE_FREE

#define TIE_KDTREE_FREE   TIE_VAL(tie_kdtree_free)

Definition at line 137 of file tie.h.

Typedef Documentation

◆ TFLOAT

typedef double TFLOAT

Definition at line 65 of file tie.h.

◆ TIE_3

typedef struct TIE_3_s TIE_3

Function Documentation

◆ TIE_INIT()

void TIE_INIT ( struct tie_s tie,
unsigned int  tri_num,
unsigned int  kdmethod 
)

◆ TIE_FREE()

void TIE_FREE ( struct tie_s tie)

◆ TIE_PREP()

void TIE_PREP ( struct tie_s tie)

◆ TIE_WORK()

void * TIE_WORK ( struct tie_s tie,
struct tie_ray_s ray,
struct tie_id_s id,
void *(*)(struct tie_ray_s *, struct tie_id_s *, struct tie_tri_s *, void *ptr)  hitfunc,
void *  ptr 
)

◆ TIE_PUSH()

void TIE_PUSH ( struct tie_s tie,
TIE_3 **  tlist,
unsigned int  tnum,
void *  plist,
unsigned int  pstride 
)

◆ TIE_KDTREE_FREE()

void TIE_KDTREE_FREE ( struct tie_s tie)

◆ TIE_KDTREE_PREP()

void TIE_KDTREE_PREP ( struct tie_s tie)

Variable Documentation

◆ tie_check_degenerate

int tie_check_degenerate
extern

◆ TIE_PREC

fastf_t TIE_PREC
extern