BRL-CAD
shell.h File Reference
#include "common.h"
#include "vmath.h"
#include "bu/list.h"
#include "nmg/defines.h"
#include "nmg/topology.h"
Include dependency graph for shell.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define NMG_CK_SHELL(_p)   NMG_CKMAG(_p, NMG_SHELL_MAGIC, "shell")
 
#define NMG_CK_SHELL_A(_p)   NMG_CKMAG(_p, NMG_SHELL_A_MAGIC, "shell_a")
 
#define GET_SHELL(p, m)   {NMG_GETSTRUCT(p, shell); NMG_INCR_INDEX(p, m);}
 
#define GET_SHELL_A(p, m)   {NMG_GETSTRUCT(p, shell_a); NMG_INCR_INDEX(p, m);}
 
#define FREE_SHELL(p)   NMG_FREESTRUCT(p, shell)
 
#define FREE_SHELL_A(p)   NMG_FREESTRUCT(p, shell_a)
 

Functions

void nmg_shell_a (struct shell *s, const struct bn_tol *tol)
 
struct loopusenmg_ml (struct shell *s)
 
int nmg_keu_zl (struct shell *s, const struct bn_tol *tol)
 
int nmg_ks (struct shell *s)
 
void nmg_shell_coplanar_face_merge (struct shell *s, const struct bn_tol *tol, const int simplify, struct bu_list *vlfree)
 
int nmg_simplify_shell (struct shell *s, struct bu_list *vlfree)
 
void nmg_rm_redundancies (struct shell *s, struct bu_list *vlfree, const struct bn_tol *tol)
 
void nmg_sanitize_s_lv (struct shell *s, int orient)
 
void nmg_s_split_touchingloops (struct shell *s, const struct bn_tol *tol)
 
void nmg_s_join_touchingloops (struct shell *s, const struct bn_tol *tol)
 
void nmg_js (struct shell *s1, struct shell *s2, struct bu_list *vlfree, const struct bn_tol *tol)
 
void nmg_invert_shell (struct shell *s)
 
int nmg_shell_is_empty (const struct shell *s)
 
struct shellnmg_find_s_of_lu (const struct loopuse *lu)
 
struct shellnmg_find_s_of_eu (const struct edgeuse *eu)
 
struct shellnmg_find_s_of_vu (const struct vertexuse *vu)
 
struct shellnmg_extrude_cleanup (struct shell *is, const int is_void, struct bu_list *vlfree, const struct bn_tol *tol)
 
void nmg_hollow_shell (struct shell *s, const fastf_t thick, const int approximate, struct bu_list *vlfree, const struct bn_tol *tol)
 
struct shellnmg_extrude_shell (struct shell *s, const fastf_t dist, const int normal_ward, const int approximate, struct bu_list *vlfree, const struct bn_tol *tol)
 
void nmg_close_shell (struct shell *s, struct bu_list *vlfree, const struct bn_tol *tol)
 
struct shellnmg_dup_shell (struct shell *s, long ***copy_tbl, struct bu_list *vlfree, const struct bn_tol *tol)
 
void nmg_glue_face_in_shell (const struct faceuse *fu, struct shell *s, const struct bn_tol *tol)
 
int nmg_open_shells_connect (struct shell *dst, struct shell *src, const long **copy_tbl, struct bu_list *vlfree, const struct bn_tol *tol)
 
int nmg_simplify_shell_edges (struct shell *s, const struct bn_tol *tol)
 
char * nmg_shell_manifolds (struct shell *sp, char *tbl)
 
void nmg_mv_vu_between_shells (struct shell *dest, struct shell *src, struct vertexuse *vu)
 
struct shellnmg_find_shell (const uint32_t *magic_p)
 
struct vertexusenmg_find_v_in_shell (const struct vertex *v, const struct shell *s, int edges_only)
 
struct vertexnmg_find_pnt_in_shell (const struct shell *s, const point_t pt, const struct bn_tol *tol)
 
int nmg_is_vertex_a_selfloop_in_shell (const struct vertex *v, const struct shell *s)
 
struct facenmg_find_top_face_in_dir (const struct shell *s, int dir, long *flags)
 
struct facenmg_find_top_face (const struct shell *s, int *dir, long *flags)
 
int nmg_find_outer_and_void_shells (struct nmgregion *r, struct bu_ptbl ***shells, struct bu_list *vlfree, const struct bn_tol *tol)
 
void nmg_isect_shell_self (struct shell *s, struct bu_list *vlfree, const struct bn_tol *tol)
 
struct edgeusenmg_next_radial_eu (const struct edgeuse *eu, const struct shell *s, const int wires)
 
struct edgeusenmg_prev_radial_eu (const struct edgeuse *eu, const struct shell *s, const int wires)
 
int nmg_radial_face_count (const struct edgeuse *eu, const struct shell *s)
 
int nmg_check_closed_shell (const struct shell *s, const struct bn_tol *tol)
 
fastf_t nmg_shell_area (const struct shell *s)
 
int nmg_shell_is_void (const struct shell *s)
 
void nmg_connect_same_fu_orients (struct shell *s)
 
void nmg_fix_decomposed_shell_normals (struct shell *s, const struct bn_tol *tol)
 
void nmg_fix_normals (struct shell *s_orig, struct bu_list *vlfree, const struct bn_tol *tol)
 
int nmg_break_long_edges (struct shell *s, const struct bn_tol *tol)
 
int nmg_decompose_shell (struct shell *s, struct bu_list *vlfree, const struct bn_tol *tol)
 
void nmg_vlist_to_eu (struct bu_list *vlist, struct shell *s)
 
int nmg_mv_shell_to_region (struct shell *s, struct nmgregion *r)
 
int nmg_bad_face_normals (const struct shell *s, const struct bn_tol *tol)
 
void nmg_vlist_to_wire_edges (struct shell *s, const struct bu_list *vhead)
 
void nmg_follow_free_edges_to_vertex (const struct vertex *vpa, const struct vertex *vpb, struct bu_ptbl *bad_verts, const struct shell *s, const struct edgeuse *eu, struct bu_ptbl *verts, int *found)
 
int nmg_kill_cracks (struct shell *s)
 
void nmg_make_faces_within_tol (struct shell *s, struct bu_list *vlfree, const struct bn_tol *tol)
 
void nmg_intersect_loops_self (struct shell *s, const struct bn_tol *tol)
 
void nmg_triangulate_shell (struct shell *s, struct bu_list *vlfree, const struct bn_tol *tol)
 
int nmg_classify_s_vs_s (struct shell *s, struct shell *s2, struct bu_list *vlfree, const struct bn_tol *tol)
 
int nmg_class_pnt_s (const point_t pt, const struct shell *s, const int in_or_out_only, struct bu_list *vlfree, const struct bn_tol *tol)
 
int nmg_mesh_face_shell (struct faceuse *fu1, struct shell *s, const struct bn_tol *tol)
 
int nmg_mesh_shell_shell (struct shell *s1, struct shell *s2, struct bu_list *vlfree, const struct bn_tol *tol)
 
void nmg_class_shells (struct shell *sA, struct shell *sB, char **classlist, struct bu_list *vlfree, const struct bn_tol *tol)
 
void nmg_evaluate_boolean (struct shell *sA, struct shell *sB, int op, char **classlist, struct bu_list *vlfree, const struct bn_tol *tol)