BRL-CAD
ray_data Struct Reference

#include <nmg_conv.h>

Collaboration diagram for ray_data:
[legend]

Data Fields

uint32_t magic
 
struct modelrd_m
 
char * manifolds
 structure 1-3manifold table More...
 
vect_t rd_invdir
 
struct xrayrp
 
struct applicationap
 
struct segseghead
 
struct soltabstp
 
const struct bn_toltol
 
struct hitmiss ** hitmiss
 1 struct hitmiss ptr per elem. More...
 
struct bu_list rd_hit
 list of hit elements More...
 
struct bu_list rd_miss
 list of missed/sub-hit elements More...
 
point_t plane_pt
 ray/plane(face) intercept point More...
 
fastf_t ray_dist_to_plane
 ray parametric dist to plane More...
 
int face_subhit
 
int classifying_ray
 

Detailed Description

Ray Data structure

A) the hitmiss table has one element for each nmg structure in the nmgmodel. The table keeps track of which elements have been processed before and which haven't. Elements in this table will either be: (NULL) item not previously processed hitmiss ptr item previously processed

the 0th item in the array is a pointer to the head of the "hit" list. The 1th item in the array is a pointer to the head of the "miss" list.

B) If plane_pt is non-null then we are currently processing a face intersection. The plane_dist and ray_dist_to_plane are valid. The ray/edge intersector should check the distance from the plane intercept to the edge and update "plane_closest" if the current edge is closer to the intercept than the previous closest object.

Definition at line 82 of file nmg_conv.h.

Field Documentation

◆ magic

uint32_t magic

Definition at line 83 of file nmg_conv.h.

◆ rd_m

struct model* rd_m

Definition at line 84 of file nmg_conv.h.

◆ manifolds

char* manifolds

structure 1-3manifold table

Definition at line 85 of file nmg_conv.h.

◆ rd_invdir

vect_t rd_invdir

Definition at line 86 of file nmg_conv.h.

◆ rp

struct xray* rp

Definition at line 87 of file nmg_conv.h.

◆ ap

struct application* ap

Definition at line 88 of file nmg_conv.h.

◆ seghead

struct seg* seghead

Definition at line 89 of file nmg_conv.h.

◆ stp

struct soltab* stp

Definition at line 90 of file nmg_conv.h.

◆ tol

const struct bn_tol* tol

Definition at line 91 of file nmg_conv.h.

◆ hitmiss

struct hitmiss** hitmiss

1 struct hitmiss ptr per elem.

Definition at line 92 of file nmg_conv.h.

◆ rd_hit

struct bu_list rd_hit

list of hit elements

Definition at line 93 of file nmg_conv.h.

◆ rd_miss

struct bu_list rd_miss

list of missed/sub-hit elements

Definition at line 94 of file nmg_conv.h.

◆ plane_pt

point_t plane_pt

ray/plane(face) intercept point

plane_pt is the intercept point of the ray with the plane of the face.

Definition at line 102 of file nmg_conv.h.

◆ ray_dist_to_plane

fastf_t ray_dist_to_plane

ray parametric dist to plane

ray_dist_to_plane is the parametric distance along the ray from the ray origin (rd->rp->r_pt) to the ray/plane intercept point

Definition at line 108 of file nmg_conv.h.

◆ face_subhit

int face_subhit

the "face_subhit" element is a boolean used by isect_ray_face and [e|v]u_touch_func to record the fact that the ray/(plane/face) intercept point was within tolerance of an edge/vertex of the face. In such instances, isect_ray_face does NOT need to generate a hit point for the face, as the hit point for the edge/vertex will suffice.

Definition at line 118 of file nmg_conv.h.

◆ classifying_ray

int classifying_ray

the "classifying_ray" flag indicates that this ray is being used to classify a point, so that the "eu_touch" and "vu_touch" functions should not be called.

Definition at line 125 of file nmg_conv.h.


The documentation for this struct was generated from the following file: