BRL-CAD
#include "common.h"
#include "vmath.h"
#include "bu/list.h"
#include "nmg/defines.h"
Include dependency graph for ray.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  nmg_ray
 
struct  nmg_hit
 
struct  nmg_seg
 
struct  nmg_hitmiss
 
struct  nmg_ray_data
 

Macros

#define NMG_HIT_LIST   0
 
#define NMG_MISS_LIST   1
 
#define HMG_INBOUND_STATE(_hm)   (((_hm)->in_out & 0x0f0) >> 4)
 
#define HMG_OUTBOUND_STATE(_hm)   ((_hm)->in_out & 0x0f)
 
#define NMG_RAY_STATE_INSIDE   1
 
#define NMG_RAY_STATE_ON   2
 
#define NMG_RAY_STATE_OUTSIDE   4
 
#define NMG_RAY_STATE_ANY   8
 
#define HMG_HIT_IN_IN   0x11
 hit internal structure More...
 
#define HMG_HIT_IN_OUT   0x14
 breaking out More...
 
#define HMG_HIT_OUT_IN   0x41
 breaking in More...
 
#define HMG_HIT_OUT_OUT   0x44
 edge/vertex graze More...
 
#define HMG_HIT_IN_ON   0x12
 
#define HMG_HIT_ON_IN   0x21
 
#define HMG_HIT_ON_ON   0x22
 
#define HMG_HIT_OUT_ON   0x42
 
#define HMG_HIT_ON_OUT   0x24
 
#define HMG_HIT_ANY_ANY   0x88
 hit on non-3-manifold More...
 
#define NMG_VERT_ENTER   1
 
#define NMG_VERT_ENTER_LEAVE   0
 
#define NMG_VERT_LEAVE   -1
 
#define NMG_VERT_UNKNOWN   -2
 
#define NMG_HITMISS_SEG_IN   0x696e00
 "in" More...
 
#define NMG_HITMISS_SEG_OUT   0x6f757400
 "out" More...
 
#define NMG_CK_RD(_rd)   NMG_CKMAG(_rd, NMG_RAY_DATA_MAGIC, "ray data");
 
#define NMG_CK_HITMISS(hm)
 
#define NMG_CK_HITMISS_LISTS(rd)
 
#define NMG_GET_HITMISS(_p)
 
#define NMG_FREE_HITLIST(_p)
 
#define nmg_bu_bomb(rd, vlfree, str)
 
#define HIT   1
 a hit on a face More...
 
#define MISS   0
 a miss on the face More...
 

Functions

int ray_in_rpp (struct nmg_ray *rp, const fastf_t *invdir, const fastf_t *min, const fastf_t *max)
 
int nmg_class_ray_vs_shell (struct nmg_ray *rp, const struct shell *s, const int in_or_out_only, struct bu_list *vlfree, const struct bn_tol *tol)
 
void nmg_isect_ray_model (struct nmg_ray_data *rd, struct bu_list *vlfree)
 

Variables

struct bu_list re_nmgfree
 head of NMG hitmiss freelist More...