Go to the source code of this file.
Functions | |
shell * | nmg_polytonmg (FILE *fp, struct nmgregion *r, const struct bn_tol *tol) |
int | heap_find () |
int | heap_insert () |
vertex ** | init_heap () |
void | heap_increase () |
main () | |
vertex ** | init_heap (int n) |
void | heap_increase (h, int *n) |
int | heap_insert (h, int *n, struct vertex *i) |
int | heap_find (struct vertex **h, int n, struct vertex *i, int loc) |
void | nmg_isect_face3p_shell_int (struct nmg_inter_struct *is, struct faceuse *fu1, struct shell *s2) |
Variables | |
int | heap_cur_sz |
Definition in file nmg_junk.c.
|
N M G _ P O L Y T O N M G Read a polygon file and convert it to an NMG shell A polygon file consists of the following: The first line consists of two integer numbers: the number of points (vertices) in the file, followed by the number of polygons in the file. This line is followed by lines for each of the verticies. Each vertex is listed on its own line, as the 3tuple "X Y Z". After the list of verticies comes the list of polygons. each polygon is represented by a line containing 1) the number of verticies in the polygon, followed by 2) the indicies of the verticies that make up the polygon. Implicit return: r->s_p A new shell containing all the faces from the polygon file XXX This is a horrible way to do this. Lee violates his own rules about not creating fundamental structures on his own... :-) Retired in favor of more modern tessellation strategies. Definition at line 184 of file nmg_junk.c. References bu_calloc(), bu_log(), DEBUG_POLYTO, GET_VERTEX, nmgregion::m_p, vertex::magic, nmg_kvu(), nmg_msv(), NMG_VERTEX_MAGIC, shell::r_p, rt_bomb(), and shell::vu_p. Here is the call graph for this function: ![]() |
|
Referenced by heap_find(), and heap_insert(). |
|
|
|
Referenced by main(). |
|
Referenced by heap_insert(). |
|
Definition at line 288 of file nmg_junk.c. References init_heap(). Here is the call graph for this function: ![]() |
|
I N I T _ H E A P Initialize an array-based implementation of a heap of vertex structs. (Heap: Binary tree w/value of parent > than that of children.) Definition at line 302 of file nmg_junk.c. References bu_log(), bu_malloc(), NULL, and rt_bomb(). Here is the call graph for this function: ![]() |
|
H E A P _ I N C R E A S E Make a heap bigger to make room for new entries. Definition at line 324 of file nmg_junk.c. References bu_free(), bu_malloc(), NULL, and rt_bomb(). Here is the call graph for this function: ![]() |
|
H E A P _ I N S E R T Insert a vertex struct into the heap (only if it is not already there). Definition at line 349 of file nmg_junk.c. References heap_find(), and heap_increase(). Here is the call graph for this function: ![]() |
|
H E A P _ F I N D See if a given vertex struct is in the heap. If so, return its location in the heap array. Definition at line 388 of file nmg_junk.c. References heap_find(). Here is the call graph for this function: ![]() |
|
N M G _ I S E C T _ F A C E 3 P _ S H E L L _ I N T Intersect all the edges in fu1 that don't lie on any of the faces of shell s2 with s2, i.e. "interior" edges, where the endpoints lie on s2, but the edge is not shared with a face of s2. Such edges wouldn't have been processed by the NEWLINE version of nmg_isect_two_generic_faces(), so intersections need to be looked for here. Fortunately, it's easy to reject everything except edges that need processing using only the topology structures. The "_int" at the end of the name is to signify that this routine does only "interior" edges, and is not a general face/shell intersector. Definition at line 427 of file nmg_junk.c. References BU_LIST_FIRST_MAGIC, BU_LIST_FOR, bu_log(), DEBUG_POLYSECT, loopuse::down_hd, edgeuse::e_p, faceuse::lu_hd, NMG_CK_FACEUSE, NMG_CK_INTER_STRUCT, NMG_CK_LOOPUSE, NMG_CK_SHELL, nmg_find_matching_eu_in_s(), NMG_VERTEXUSE_MAGIC, s1, s2, and faceuse::s_p. Here is the call graph for this function: ![]() |
|
Definition at line 286 of file nmg_junk.c. |