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 More... | |
#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 More... | |
#define | RT_PT_MIDDLE_END pt_seglist.l.magic |
copy up to this elem (non-inclusive) More... | |
#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.
#define PT_NULL ((struct partition *)0) |
Definition at line 68 of file ray_partition.h.
#define RT_CHECK_PT | ( | _p | ) | RT_CK_PT(_p) |
compat
Definition at line 70 of file ray_partition.h.
Definition at line 71 of file ray_partition.h.
Definition at line 72 of file ray_partition.h.
#define RT_CK_PT_HD | ( | _p | ) | BU_CKMAG(_p, PT_HD_MAGIC, "struct partition list head") |
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.
#define RT_DUP_PT | ( | ip, | |
new, | |||
old, | |||
res | |||
) |
Definition at line 81 of file ray_partition.h.
#define GET_PT_INIT | ( | ip, | |
p, | |||
res | |||
) |
Clear out the pointers, empty the hit list
Definition at line 88 of file ray_partition.h.
#define GET_PT | ( | ip, | |
p, | |||
res | |||
) |
Definition at line 92 of file ray_partition.h.
#define FREE_PT | ( | p, | |
res | |||
) |
Definition at line 104 of file ray_partition.h.
#define RT_FREE_PT_LIST | ( | _headp, | |
_res | |||
) |
#define INSERT_PT | ( | _new, | |
_old | |||
) | BU_LIST_INSERT((struct bu_list *)_old, (struct bu_list *)_new) |
Insert "new" partition in front of "old" partition. Note order change
Definition at line 124 of file ray_partition.h.
#define APPEND_PT | ( | _new, | |
_old | |||
) | BU_LIST_APPEND((struct bu_list *)_old, (struct bu_list *)_new) |
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.
int rt_partition_len | ( | const struct partition * | partheadp | ) |
Return the length of a partition linked list.