Support for intersecting geometric rays with NMG models.
More...
Support for intersecting geometric rays with NMG models.
- Todo:
- these structs and ray_in_rpp are versions of librt functionality, and we need to think about how/where to merge them into a common function and struct that are available to both libraries without introducing a coupling dependency.
◆ NMG_HIT_LIST
Definition at line 49 of file ray.h.
◆ NMG_MISS_LIST
Definition at line 50 of file ray.h.
◆ HMG_INBOUND_STATE
#define HMG_INBOUND_STATE |
( |
|
_hm | ) |
(((_hm)->in_out & 0x0f0) >> 4) |
Definition at line 55 of file ray.h.
◆ HMG_OUTBOUND_STATE
Definition at line 56 of file ray.h.
◆ NMG_RAY_STATE_INSIDE
#define NMG_RAY_STATE_INSIDE 1 |
Definition at line 59 of file ray.h.
◆ NMG_RAY_STATE_ON
Definition at line 60 of file ray.h.
◆ NMG_RAY_STATE_OUTSIDE
#define NMG_RAY_STATE_OUTSIDE 4 |
Definition at line 61 of file ray.h.
◆ NMG_RAY_STATE_ANY
Definition at line 62 of file ray.h.
◆ HMG_HIT_IN_IN
hit internal structure
Definition at line 64 of file ray.h.
◆ HMG_HIT_IN_OUT
breaking out
Definition at line 65 of file ray.h.
◆ HMG_HIT_OUT_IN
breaking in
Definition at line 66 of file ray.h.
◆ HMG_HIT_OUT_OUT
edge/vertex graze
Definition at line 67 of file ray.h.
◆ HMG_HIT_IN_ON
Definition at line 68 of file ray.h.
◆ HMG_HIT_ON_IN
Definition at line 69 of file ray.h.
◆ HMG_HIT_ON_ON
Definition at line 70 of file ray.h.
◆ HMG_HIT_OUT_ON
Definition at line 71 of file ray.h.
◆ HMG_HIT_ON_OUT
Definition at line 72 of file ray.h.
◆ HMG_HIT_ANY_ANY
hit on non-3-manifold
Definition at line 73 of file ray.h.
◆ NMG_VERT_ENTER
Definition at line 75 of file ray.h.
◆ NMG_VERT_ENTER_LEAVE
#define NMG_VERT_ENTER_LEAVE 0 |
Definition at line 76 of file ray.h.
◆ NMG_VERT_LEAVE
Definition at line 77 of file ray.h.
◆ NMG_VERT_UNKNOWN
Definition at line 78 of file ray.h.
◆ NMG_HITMISS_SEG_IN
#define NMG_HITMISS_SEG_IN 0x696e00 |
"in"
Definition at line 80 of file ray.h.
◆ NMG_HITMISS_SEG_OUT
#define NMG_HITMISS_SEG_OUT 0x6f757400 |
"out"
Definition at line 81 of file ray.h.
◆ NMG_CK_RD
Definition at line 83 of file ray.h.
◆ NMG_CK_HITMISS
Value:
break; \
bu_bomb(
"NMG_CK_HITMISS: going down in flames\n"); \
break; \
bu_bomb(
"NMG_CK_HITMISS: going down in flames\n"); \
break; \
hm->l.magic,
hm->l.magic);
\
bu_bomb(
"NMG_CK_HITMISS: going down in flames\n"); \
if (!
hm->hit.hit_private) {
\
bu_bomb(
"NMG_CK_HITMISS: going down in flames\n"); \
} \
}
#define NMG_RT_HIT_SUB_MAGIC
#define NMG_RT_MISS_MAGIC
Definition at line 88 of file ray.h.
◆ NMG_CK_HITMISS_LISTS
Value: { \
}
#define BU_LIST_FOR(p, structure, headp)
#define NMG_CK_HITMISS(hm)
Definition at line 118 of file ray.h.
◆ NMG_GET_HITMISS
Value: { \
}
#define BU_LIST_FIRST(structure, headp)
#define BU_LIST_IS_HEAD(p, headp)
struct bu_list re_nmgfree
head of NMG hitmiss freelist
Definition at line 126 of file ray.h.
◆ NMG_FREE_HITLIST
Value:
Definition at line 135 of file ray.h.
◆ nmg_bu_bomb
Value:
bu_bomb(
"Should have bombed before this\n"); \
}
NORETURN void bu_bomb(const char *str)
#define NMG_DEBUG_NMGRT
17 ray tracing
uint32_t nmg_debug
debug bits for NMG's
Definition at line 143 of file ray.h.
◆ HIT
a hit on a face
Definition at line 155 of file ray.h.
◆ MISS
a miss on the face
Definition at line 156 of file ray.h.
◆ ray_in_rpp()
◆ nmg_class_ray_vs_shell()
◆ nmg_isect_ray_model()
◆ re_nmgfree
head of NMG hitmiss freelist