38#define NMG_CK_SHELL(_p) NMG_CKMAG(_p, NMG_SHELL_MAGIC, "shell")
39#define NMG_CK_SHELL_A(_p) NMG_CKMAG(_p, NMG_SHELL_A_MAGIC, "shell_a")
41#define GET_SHELL(p, m) {NMG_GETSTRUCT(p, shell); NMG_INCR_INDEX(p, m);}
42#define GET_SHELL_A(p, m) {NMG_GETSTRUCT(p, shell_a); NMG_INCR_INDEX(p, m);}
44#define FREE_SHELL(p) NMG_FREESTRUCT(p, shell)
45#define FREE_SHELL_A(p) NMG_FREESTRUCT(p, shell_a)
99 const long **copy_tbl,
101 const struct bn_tol *tol);
103 const struct bn_tol *tol);
113 const struct shell *s,
117 const struct bn_tol *tol);
119 const struct shell *s);
125 int dir,
long *flags);
132 const struct bn_tol *tol);
135 const struct bn_tol *tol);
137 const struct shell *s,
140 const struct shell *s,
143 const struct shell *s);
145 const struct bn_tol *tol);
150 const struct bn_tol *tol);
153 const struct bn_tol *tol);
155 const struct bn_tol *tol);
157 const struct bn_tol *tol);
163 const struct bn_tol *tol);
169 const struct shell *s,
176 const struct bn_tol *tol);
178 const struct bn_tol *tol);
181 const struct bn_tol *tol);
185 const struct bn_tol *tol);
187 const struct shell *s,
188 const int in_or_out_only,
190 const struct bn_tol *tol);
193 const struct bn_tol *tol);
197 const struct bn_tol *tol);
202 const struct bn_tol *tol);
208 const struct bn_tol *tol);
Header file for the BRL-CAD common definitions.
struct shell * nmg_find_s_of_eu(const struct edgeuse *eu)
struct edgeuse * nmg_prev_radial_eu(const struct edgeuse *eu, const struct shell *s, const int wires)
int nmg_decompose_shell(struct shell *s, 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)
int nmg_simplify_shell_edges(struct shell *s, const struct bn_tol *tol)
void nmg_rm_redundancies(struct shell *s, struct bu_list *vlfree, const struct bn_tol *tol)
void nmg_mv_vu_between_shells(struct shell *dest, struct shell *src, struct vertexuse *vu)
int nmg_kill_cracks(struct shell *s)
void nmg_fix_normals(struct shell *s_orig, struct bu_list *vlfree, const struct bn_tol *tol)
void nmg_triangulate_shell(struct shell *s, struct bu_list *vlfree, const struct bn_tol *tol)
int nmg_simplify_shell(struct shell *s, struct bu_list *vlfree)
struct vertexuse * nmg_find_v_in_shell(const struct vertex *v, const struct shell *s, int edges_only)
int nmg_check_closed_shell(const struct shell *s, const struct bn_tol *tol)
struct shell * nmg_find_shell(const uint32_t *magic_p)
int nmg_classify_s_vs_s(struct shell *s, struct shell *s2, struct bu_list *vlfree, 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)
struct edgeuse * nmg_next_radial_eu(const struct edgeuse *eu, const struct shell *s, const int wires)
void nmg_js(struct shell *s1, struct shell *s2, struct bu_list *vlfree, const struct bn_tol *tol)
void nmg_vlist_to_wire_edges(struct shell *s, const struct bu_list *vhead)
struct shell * nmg_dup_shell(struct shell *s, long ***copy_tbl, struct bu_list *vlfree, const struct bn_tol *tol)
void nmg_s_join_touchingloops(struct shell *s, const struct bn_tol *tol)
fastf_t nmg_shell_area(const struct shell *s)
struct vertex * nmg_find_pnt_in_shell(const struct shell *s, const point_t pt, const struct bn_tol *tol)
struct shell * nmg_find_s_of_lu(const struct loopuse *lu)
int nmg_shell_is_empty(const struct shell *s)
struct face * nmg_find_top_face_in_dir(const struct shell *s, int dir, long *flags)
struct shell * nmg_find_s_of_vu(const struct vertexuse *vu)
int nmg_find_outer_and_void_shells(struct nmgregion *r, struct bu_ptbl ***shells, 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_bad_face_normals(const struct shell *s, const struct bn_tol *tol)
void nmg_sanitize_s_lv(struct shell *s, int orient)
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)
void nmg_s_split_touchingloops(struct shell *s, const struct bn_tol *tol)
int nmg_ks(struct shell *s)
int nmg_keu_zl(struct shell *s, const struct bn_tol *tol)
struct loopuse * nmg_ml(struct shell *s)
int nmg_is_vertex_a_selfloop_in_shell(const struct vertex *v, const struct shell *s)
int nmg_radial_face_count(const struct edgeuse *eu, const struct shell *s)
void nmg_invert_shell(struct shell *s)
void nmg_glue_face_in_shell(const struct faceuse *fu, struct shell *s, const struct bn_tol *tol)
void nmg_close_shell(struct shell *s, struct bu_list *vlfree, const struct bn_tol *tol)
int nmg_shell_is_void(const struct shell *s)
int nmg_mv_shell_to_region(struct shell *s, struct nmgregion *r)
struct face * nmg_find_top_face(const struct shell *s, int *dir, long *flags)
void nmg_connect_same_fu_orients(struct shell *s)
void nmg_shell_a(struct shell *s, const struct bn_tol *tol)
int nmg_mesh_face_shell(struct faceuse *fu1, struct shell *s, const struct bn_tol *tol)
void nmg_vlist_to_eu(struct bu_list *vlist, struct shell *s)
void nmg_shell_coplanar_face_merge(struct shell *s, const struct bn_tol *tol, const int simplify, struct bu_list *vlfree)
struct shell * nmg_extrude_cleanup(struct shell *is, const int is_void, struct bu_list *vlfree, const struct bn_tol *tol)
int nmg_break_long_edges(struct shell *s, 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)
char * nmg_shell_manifolds(struct shell *sp, char *tbl)
int nmg_open_shells_connect(struct shell *dst, struct shell *src, const long **copy_tbl, struct bu_list *vlfree, const struct bn_tol *tol)
void nmg_fix_decomposed_shell_normals(struct shell *s, const struct bn_tol *tol)
struct shell * nmg_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_evaluate_boolean(struct shell *sA, struct shell *sB, int op, char **classlist, struct bu_list *vlfree, const struct bn_tol *tol)
void nmg_intersect_loops_self(struct shell *s, const struct bn_tol *tol)
void nmg_isect_shell_self(struct shell *s, struct bu_list *vlfree, const struct bn_tol *tol)
void nmg_make_faces_within_tol(struct shell *s, struct bu_list *vlfree, const struct bn_tol *tol)
double fastf_t
fastest 64-bit (or larger) floating point type
fastf_t point_t[ELEMENTS_PER_POINT]
3-tuple point
NMG topological edge usage.
NMG topological face usage.
NMG topological loop usage.
NMG topological vertex - the simplest element of the topology system.
NMG topological vertex usage.
fundamental vector, matrix, quaternion math macros