BRL-CAD
|
Intersection calculations between elements of NMG models. More...
Files | |
file | isect.h |
Data Structures | |
struct | nmg_inter_struct |
Functions | |
struct vertexuse * | nmg_make_dualvu (struct vertex *v, struct faceuse *fu, const struct bn_tol *tol) |
struct vertexuse * | nmg_enlist_vu (struct nmg_inter_struct *is, const struct vertexuse *vu, struct vertexuse *dualvu, fastf_t dist) |
void | nmg_isect2d_prep (struct nmg_inter_struct *is, const uint32_t *assoc_use) |
void | nmg_isect2d_cleanup (struct nmg_inter_struct *is) |
void | nmg_isect2d_final_cleanup (void) |
int | nmg_isect_2faceuse (point_t pt, vect_t dir, struct faceuse *fu1, struct faceuse *fu2, const struct bn_tol *tol) |
void | nmg_isect_vert2p_face2p (struct nmg_inter_struct *is, struct vertexuse *vu1, struct faceuse *fu2) |
struct edgeuse * | nmg_break_eu_on_v (struct edgeuse *eu1, struct vertex *v2, struct faceuse *fu, struct nmg_inter_struct *is) |
void | nmg_break_eg_on_v (const struct edge_g_lseg *eg, struct vertex *v, const struct bn_tol *tol) |
int | nmg_isect_2colinear_edge2p (struct edgeuse *eu1, struct edgeuse *eu2, struct faceuse *fu, struct nmg_inter_struct *is, struct bu_ptbl *l1, struct bu_ptbl *l2) |
int | nmg_isect_edge2p_edge2p (struct nmg_inter_struct *is, struct edgeuse *eu1, struct edgeuse *eu2, struct faceuse *fu1, struct faceuse *fu2) |
int | nmg_isect_construct_nice_ray (struct nmg_inter_struct *is, struct faceuse *fu2) |
void | nmg_enlist_one_vu (struct nmg_inter_struct *is, const struct vertexuse *vu, fastf_t dist) |
int | nmg_isect_line2_edge2p (struct nmg_inter_struct *is, struct bu_ptbl *list, struct edgeuse *eu1, struct faceuse *fu1, struct faceuse *fu2) |
void | nmg_isect_line2_vertex2 (struct nmg_inter_struct *is, struct vertexuse *vu1, struct faceuse *fu1) |
int | nmg_isect_two_ptbls (struct nmg_inter_struct *is, const struct bu_ptbl *t1, const struct bu_ptbl *t2) |
struct edge_g_lseg * | nmg_find_eg_on_line (const uint32_t *magic_p, const point_t pt, const vect_t dir, struct bu_list *vlfree, const struct bn_tol *tol) |
int | nmg_k0eu (struct vertex *v) |
struct vertex * | nmg_repair_v_near_v (struct vertex *hit_v, struct vertex *v, const struct edge_g_lseg *eg1, const struct edge_g_lseg *eg2, int bomb, const struct bn_tol *tol) |
struct vertex * | nmg_search_v_eg (const struct edgeuse *eu, int second, const struct edge_g_lseg *eg1, const struct edge_g_lseg *eg2, struct vertex *hit_v, const struct bn_tol *tol) |
struct vertex * | nmg_common_v_2eg (struct edge_g_lseg *eg1, struct edge_g_lseg *eg2, const struct bn_tol *tol) |
int | nmg_is_vertex_on_inter (struct vertex *v, struct faceuse *fu1, struct faceuse *fu2, struct nmg_inter_struct *is, struct bu_list *vlfree) |
void | nmg_isect_eu_verts (struct edgeuse *eu, struct vertex_g *vg1, struct vertex_g *vg2, struct bu_ptbl *verts, struct bu_ptbl *inters, const struct bn_tol *tol) |
void | nmg_isect_eu_eu (struct edgeuse *eu1, struct vertex_g *vg1a, struct vertex_g *vg1b, vect_t dir1, struct edgeuse *eu2, struct bu_ptbl *verts, struct bu_ptbl *inters, const struct bn_tol *tol) |
void | nmg_isect_eu_fu (struct nmg_inter_struct *is, struct bu_ptbl *verts, struct edgeuse *eu, struct faceuse *fu, struct bu_list *vlfree) |
void | nmg_isect_fu_jra (struct nmg_inter_struct *is, struct faceuse *fu1, struct faceuse *fu2, struct bu_ptbl *eu1_list, struct bu_ptbl *eu2_list, struct bu_list *vlfree) |
void | nmg_isect_line2_face2pNEW (struct nmg_inter_struct *is, struct faceuse *fu1, struct faceuse *fu2, struct bu_ptbl *eu1_list, struct bu_ptbl *eu2_list, struct bu_list *vlfree) |
int | nmg_is_eu_on_line3 (const struct edgeuse *eu, const point_t pt, const vect_t dir, const struct bn_tol *tol) |
struct edge_g_lseg * | nmg_find_eg_between_2fg (const struct faceuse *ofu1, const struct faceuse *fu2, struct bu_list *vlfree, const struct bn_tol *tol) |
struct edgeuse * | nmg_does_fu_use_eg (const struct faceuse *fu1, const uint32_t *eg) |
int | rt_line_on_plane (const point_t pt, const vect_t dir, const plane_t plane, const struct bn_tol *tol) |
void | nmg_cut_lu_into_coplanar_and_non (struct loopuse *lu, plane_t pl, struct nmg_inter_struct *is, struct bu_list *vlfree) |
void | nmg_check_radial_angles (char *str, struct shell *s, struct bu_list *vlfree, const struct bn_tol *tol) |
int | nmg_faces_can_be_intersected (struct nmg_inter_struct *bs, const struct faceuse *fu1, const struct faceuse *fu2, struct bu_list *vlfree, const struct bn_tol *tol) |
void | nmg_isect_two_generic_faces (struct faceuse *fu1, struct faceuse *fu2, struct bu_list *vlfree, const struct bn_tol *tol) |
void | nmg_crackshells (struct shell *s1, struct shell *s2, struct bu_list *vlfree, const struct bn_tol *tol) |
int | nmg_fu_touchingloops (const struct faceuse *fu) |
Intersection calculations between elements of NMG models.
struct vertexuse * nmg_make_dualvu | ( | struct vertex * | v, |
struct faceuse * | fu, | ||
const struct bn_tol * | tol | ||
) |
struct vertexuse * nmg_enlist_vu | ( | struct nmg_inter_struct * | is, |
const struct vertexuse * | vu, | ||
struct vertexuse * | dualvu, | ||
fastf_t | dist | ||
) |
void nmg_isect2d_prep | ( | struct nmg_inter_struct * | is, |
const uint32_t * | assoc_use | ||
) |
void nmg_isect2d_cleanup | ( | struct nmg_inter_struct * | is | ) |
void nmg_isect2d_final_cleanup | ( | void | ) |
int nmg_isect_2faceuse | ( | point_t | pt, |
vect_t | dir, | ||
struct faceuse * | fu1, | ||
struct faceuse * | fu2, | ||
const struct bn_tol * | tol | ||
) |
void nmg_isect_vert2p_face2p | ( | struct nmg_inter_struct * | is, |
struct vertexuse * | vu1, | ||
struct faceuse * | fu2 | ||
) |
struct edgeuse * nmg_break_eu_on_v | ( | struct edgeuse * | eu1, |
struct vertex * | v2, | ||
struct faceuse * | fu, | ||
struct nmg_inter_struct * | is | ||
) |
void nmg_break_eg_on_v | ( | const struct edge_g_lseg * | eg, |
struct vertex * | v, | ||
const struct bn_tol * | tol | ||
) |
int nmg_isect_2colinear_edge2p | ( | struct edgeuse * | eu1, |
struct edgeuse * | eu2, | ||
struct faceuse * | fu, | ||
struct nmg_inter_struct * | is, | ||
struct bu_ptbl * | l1, | ||
struct bu_ptbl * | l2 | ||
) |
int nmg_isect_edge2p_edge2p | ( | struct nmg_inter_struct * | is, |
struct edgeuse * | eu1, | ||
struct edgeuse * | eu2, | ||
struct faceuse * | fu1, | ||
struct faceuse * | fu2 | ||
) |
int nmg_isect_construct_nice_ray | ( | struct nmg_inter_struct * | is, |
struct faceuse * | fu2 | ||
) |
void nmg_enlist_one_vu | ( | struct nmg_inter_struct * | is, |
const struct vertexuse * | vu, | ||
fastf_t | dist | ||
) |
int nmg_isect_line2_edge2p | ( | struct nmg_inter_struct * | is, |
struct bu_ptbl * | list, | ||
struct edgeuse * | eu1, | ||
struct faceuse * | fu1, | ||
struct faceuse * | fu2 | ||
) |
void nmg_isect_line2_vertex2 | ( | struct nmg_inter_struct * | is, |
struct vertexuse * | vu1, | ||
struct faceuse * | fu1 | ||
) |
int nmg_isect_two_ptbls | ( | struct nmg_inter_struct * | is, |
const struct bu_ptbl * | t1, | ||
const struct bu_ptbl * | t2 | ||
) |
struct edge_g_lseg * nmg_find_eg_on_line | ( | const uint32_t * | magic_p, |
const point_t | pt, | ||
const vect_t | dir, | ||
struct bu_list * | vlfree, | ||
const struct bn_tol * | tol | ||
) |
int nmg_k0eu | ( | struct vertex * | v | ) |
struct vertex * nmg_repair_v_near_v | ( | struct vertex * | hit_v, |
struct vertex * | v, | ||
const struct edge_g_lseg * | eg1, | ||
const struct edge_g_lseg * | eg2, | ||
int | bomb, | ||
const struct bn_tol * | tol | ||
) |
struct vertex * nmg_search_v_eg | ( | const struct edgeuse * | eu, |
int | second, | ||
const struct edge_g_lseg * | eg1, | ||
const struct edge_g_lseg * | eg2, | ||
struct vertex * | hit_v, | ||
const struct bn_tol * | tol | ||
) |
struct vertex * nmg_common_v_2eg | ( | struct edge_g_lseg * | eg1, |
struct edge_g_lseg * | eg2, | ||
const struct bn_tol * | tol | ||
) |
int nmg_is_vertex_on_inter | ( | struct vertex * | v, |
struct faceuse * | fu1, | ||
struct faceuse * | fu2, | ||
struct nmg_inter_struct * | is, | ||
struct bu_list * | vlfree | ||
) |
void nmg_isect_eu_verts | ( | struct edgeuse * | eu, |
struct vertex_g * | vg1, | ||
struct vertex_g * | vg2, | ||
struct bu_ptbl * | verts, | ||
struct bu_ptbl * | inters, | ||
const struct bn_tol * | tol | ||
) |
void nmg_isect_eu_eu | ( | struct edgeuse * | eu1, |
struct vertex_g * | vg1a, | ||
struct vertex_g * | vg1b, | ||
vect_t | dir1, | ||
struct edgeuse * | eu2, | ||
struct bu_ptbl * | verts, | ||
struct bu_ptbl * | inters, | ||
const struct bn_tol * | tol | ||
) |
void nmg_isect_eu_fu | ( | struct nmg_inter_struct * | is, |
struct bu_ptbl * | verts, | ||
struct edgeuse * | eu, | ||
struct faceuse * | fu, | ||
struct bu_list * | vlfree | ||
) |
void nmg_isect_fu_jra | ( | struct nmg_inter_struct * | is, |
struct faceuse * | fu1, | ||
struct faceuse * | fu2, | ||
struct bu_ptbl * | eu1_list, | ||
struct bu_ptbl * | eu2_list, | ||
struct bu_list * | vlfree | ||
) |
void nmg_isect_line2_face2pNEW | ( | struct nmg_inter_struct * | is, |
struct faceuse * | fu1, | ||
struct faceuse * | fu2, | ||
struct bu_ptbl * | eu1_list, | ||
struct bu_ptbl * | eu2_list, | ||
struct bu_list * | vlfree | ||
) |
int nmg_is_eu_on_line3 | ( | const struct edgeuse * | eu, |
const point_t | pt, | ||
const vect_t | dir, | ||
const struct bn_tol * | tol | ||
) |
struct edge_g_lseg * nmg_find_eg_between_2fg | ( | const struct faceuse * | ofu1, |
const struct faceuse * | fu2, | ||
struct bu_list * | vlfree, | ||
const struct bn_tol * | tol | ||
) |
int rt_line_on_plane | ( | const point_t | pt, |
const vect_t | dir, | ||
const plane_t | plane, | ||
const struct bn_tol * | tol | ||
) |
void nmg_cut_lu_into_coplanar_and_non | ( | struct loopuse * | lu, |
plane_t | pl, | ||
struct nmg_inter_struct * | is, | ||
struct bu_list * | vlfree | ||
) |
void nmg_check_radial_angles | ( | char * | str, |
struct shell * | s, | ||
struct bu_list * | vlfree, | ||
const struct bn_tol * | tol | ||
) |
int nmg_faces_can_be_intersected | ( | struct nmg_inter_struct * | bs, |
const struct faceuse * | fu1, | ||
const struct faceuse * | fu2, | ||
struct bu_list * | vlfree, | ||
const struct bn_tol * | tol | ||
) |
void nmg_isect_two_generic_faces | ( | struct faceuse * | fu1, |
struct faceuse * | fu2, | ||
struct bu_list * | vlfree, | ||
const struct bn_tol * | tol | ||
) |
void nmg_crackshells | ( | struct shell * | s1, |
struct shell * | s2, | ||
struct bu_list * | vlfree, | ||
const struct bn_tol * | tol | ||
) |
int nmg_fu_touchingloops | ( | const struct faceuse * | fu | ) |