BRL-CAD
|
Partitions of a ray. More...
Files | |
file | ray_partition.h |
Data Structures | |
struct | partition |
struct | partition_list |
struct | partition_bundle |
Macros | |
#define | PT_NULL ((struct partition *)0) |
#define | RT_CHECK_PT(_p) RT_CK_PT(_p) |
compat | |
#define | RT_CK_PT(_p) BU_CKMAG(_p, PT_MAGIC, "struct partition") |
#define | RT_CK_PARTITION(_p) BU_CKMAG(_p, PT_MAGIC, "struct partition") |
#define | RT_CK_PT_HD(_p) BU_CKMAG(_p, PT_HD_MAGIC, "struct partition list head") |
#define | RT_PT_MIDDLE_START pt_inseg |
1st elem to copy | |
#define | RT_PT_MIDDLE_END pt_seglist.l.magic |
copy up to this elem (non-inclusive) | |
#define | RT_PT_MIDDLE_LEN(p) (((char *)&(p)->RT_PT_MIDDLE_END) - ((char *)&(p)->RT_PT_MIDDLE_START)) |
#define | RT_DUP_PT(ip, new, old, res) |
#define | GET_PT_INIT(ip, p, res) |
#define | GET_PT(ip, p, res) |
#define | FREE_PT(p, res) |
#define | RT_FREE_PT_LIST(_headp, _res) |
#define | INSERT_PT(_new, _old) BU_LIST_INSERT((struct bu_list *)_old, (struct bu_list *)_new) |
#define | APPEND_PT(_new, _old) BU_LIST_APPEND((struct bu_list *)_old, (struct bu_list *)_new) |
#define | DEQUEUE_PT(_cur) BU_LIST_DEQUEUE((struct bu_list *)_cur) |
Functions | |
int | rt_partition_len (const struct partition *partheadp) |
Partitions of a ray.
The partition structure contains information about intervals of the ray which pass through geometry. A partition consists of one or more segments, which are woven together via rt_boolweave to form the final "solid" partitions that describe solid segments of geometry along a given ray.
Definition at line 68 of file ray_partition.h.
Definition at line 71 of file ray_partition.h.
Definition at line 72 of file ray_partition.h.
Definition at line 73 of file ray_partition.h.
#define RT_PT_MIDDLE_START pt_inseg |
1st elem to copy
Definition at line 76 of file ray_partition.h.
#define RT_PT_MIDDLE_END pt_seglist.l.magic |
copy up to this elem (non-inclusive)
Definition at line 77 of file ray_partition.h.
#define RT_PT_MIDDLE_LEN | ( | p | ) | (((char *)&(p)->RT_PT_MIDDLE_END) - ((char *)&(p)->RT_PT_MIDDLE_START)) |
Definition at line 78 of file ray_partition.h.
Definition at line 81 of file ray_partition.h.
Clear out the pointers, empty the hit list
Definition at line 88 of file ray_partition.h.
Definition at line 92 of file ray_partition.h.
#define FREE_PT | ( | p, | |
res | |||
) |
Definition at line 104 of file ray_partition.h.
Definition at line 112 of file ray_partition.h.
Insert "new" partition in front of "old" partition. Note order change
Definition at line 124 of file ray_partition.h.
Append "new" partition after "old" partition. Note arg order change
Definition at line 127 of file ray_partition.h.
#define DEQUEUE_PT | ( | _cur | ) | BU_LIST_DEQUEUE((struct bu_list *)_cur) |
Dequeue "cur" partition from doubly-linked list
Definition at line 130 of file ray_partition.h.