nmg_pr.c File Reference

#include "common.h"
#include <stdio.h>
#include <strings.h>
#include "machine.h"
#include "vmath.h"
#include "nmg.h"
#include "raytrace.h"
#include "nurb.h"

Include dependency graph for nmg_pr.c:

Go to the source code of this file.

Defines

#define MKPAD(_h)
#define Return   { h[strlen(h)-3] = '\0'; return; }

Functions

char * nmg_orientation (int orientation)
void nmg_pr_orient (int orientation, const char *h)
void nmg_pr_m (const struct model *m)
void nmg_pr_r (const struct nmgregion *r, char *h)
void nmg_pr_sa (const struct shell_a *sa, char *h)
void nmg_pr_lg (const struct loop_g *lg, char *h)
void nmg_pr_fg (const long int *magic, char *h)
void nmg_pr_s (const struct shell *s, char *h)
void nmg_pr_s_briefly (const struct shell *s, char *h)
void nmg_pr_f (const struct face *f, char *h)
void nmg_pr_fu (const struct faceuse *fu, char *h)
void nmg_pr_fu_briefly (const struct faceuse *fu, char *h)
void nmg_pr_l (const struct loop *l, char *h)
void nmg_pr_lu (const struct loopuse *lu, char *h)
void nmg_pr_lu_briefly (const struct loopuse *lu, char *h)
void nmg_pr_eg (const long int *eg_magic_p, char *h)
void nmg_pr_e (const struct edge *e, char *h)
void nmg_pr_eu (const struct edgeuse *eu, char *h)
void nmg_pr_eu_briefly (const struct edgeuse *eu, char *h)
void nmg_pr_eu_endpoints (const struct edgeuse *eu, char *h)
void nmg_pr_vg (const struct vertex_g *vg, char *h)
void nmg_pr_v (const struct vertex *v, char *h)
void nmg_pr_vu (const struct vertexuse *vu, char *h)
void nmg_pr_vu_briefly (const struct vertexuse *vu, char *h)
void nmg_pr_vua (const long int *magic_p, char *h)
void nmg_euprint (const char *str, const struct edgeuse *eu)
void nmg_pr_ptbl (const char *title, const struct bu_ptbl *tbl, int verbose)
void nmg_pr_ptbl_vert_list (const char *str, const struct bu_ptbl *tbl, const fastf_t *mag)
void nmg_pr_one_eu_vecs (const struct edgeuse *eu, const fastf_t *xvec, const fastf_t *yvec, const fastf_t *zvec, const struct bn_tol *tol)
void nmg_pr_fu_around_eu_vecs (const struct edgeuse *eu, const fastf_t *xvec, const fastf_t *yvec, const fastf_t *zvec, const struct bn_tol *tol)
void nmg_pr_fu_around_eu (const struct edgeuse *eu, const struct bn_tol *tol)
void nmg_pl_lu_around_eu (const struct edgeuse *eu)
void nmg_pr_fus_in_fg (const long int *fg_magic)


Detailed Description

Contains routines to print or describe NMG data structures. These routines are always available (not conditionally compiled) so that NMG programmers can always format and print their data structures.

Authors - Lee A. Butler Michael John Muuss

Source - The U. S. Army Research Laboratory Aberdeen Proving Ground, Maryland 21005-5068 USA

Definition in file nmg_pr.c.


Define Documentation

#define MKPAD _h   ) 
 

Value:

{ \
        if (!_h) { _h = nmg_pr_padstr; nmg_pr_padstr[0] = '\0'; } \
        else if( (_h) < nmg_pr_padstr || (_h) >= nmg_pr_padstr+sizeof(nmg_pr_padstr) )  { \
                (void)strncpy(nmg_pr_padstr, (_h), sizeof(nmg_pr_padstr)/2); \
                _h = nmg_pr_padstr; \
        } else { if (strlen(_h) < sizeof(nmg_pr_padstr)-4) (void)strcat(_h, "   "); } }
M K P A D

NOTE: All the nmg_pr_*() routines take an "h" (header string) pointer. This can be an arbitrary caller-provided string, as long as it is kept short. The string will be copied over into nmg_pr_padstr[], and "h" will be changed to point there, so spaces can be added to the end.

Definition at line 129 of file nmg_pr.c.

Referenced by nmg_pr_e(), nmg_pr_eg(), nmg_pr_eu(), nmg_pr_eu_briefly(), nmg_pr_eu_endpoints(), nmg_pr_f(), nmg_pr_fg(), nmg_pr_fu(), nmg_pr_fu_briefly(), nmg_pr_l(), nmg_pr_lg(), nmg_pr_lu(), nmg_pr_lu_briefly(), nmg_pr_r(), nmg_pr_s(), nmg_pr_s_briefly(), nmg_pr_sa(), nmg_pr_v(), nmg_pr_vg(), nmg_pr_vu(), nmg_pr_vu_briefly(), and nmg_pr_vua().

#define Return   { h[strlen(h)-3] = '\0'; return; }
 

Definition at line 136 of file nmg_pr.c.

Referenced by nmg_pr_e(), nmg_pr_eu(), nmg_pr_eu_briefly(), nmg_pr_eu_endpoints(), nmg_pr_f(), nmg_pr_fu(), nmg_pr_fu_briefly(), nmg_pr_l(), nmg_pr_lg(), nmg_pr_lu(), nmg_pr_lu_briefly(), nmg_pr_r(), nmg_pr_s(), nmg_pr_s_briefly(), nmg_pr_sa(), nmg_pr_v(), nmg_pr_vg(), nmg_pr_vu(), nmg_pr_vu_briefly(), and nmg_pr_vua().


Function Documentation

void nmg_pr_fg const long int *  magic,
char *  h
 

N M G _ P R _ F G

Definition at line 210 of file nmg_pr.c.

References bu_log(), face_g_snurb::ctl_points, knot_vector::k_size, knot_vector::knots, face_g_snurb::l, MKPAD, NMG_FACE_G_PLANE_MAGIC, NMG_FACE_G_SNURB_MAGIC, face_g_snurb::order, face_g_snurb::pt_type, RT_NURB_EXTRACT_COORDS, face_g_snurb::s_size, face_g_snurb::u, face_g_snurb::v, and V4ARGS.

Here is the call graph for this function:

void nmg_pr_eg const long int *  eg_magic_p,
char *  h
 

N M G _ P R _ E G

Expects a pointer to the magic number of an edge geometry structure either edge_g_lseg or edge_g_cnurb structures.

Definition at line 540 of file nmg_pr.c.

References bu_list_len(), bu_log(), edge_g_cnurb::c_size, edge_g_cnurb::ctl_points, edge_g_lseg::e_dir, edge_g_lseg::e_pt, edge_g_lseg::eu_hd2, edge_g_cnurb::k, knot_vector::k_size, knot_vector::knots, edge_g_cnurb::l, MKPAD, NMG_CK_EDGE_G_EITHER, NMG_EDGE_G_CNURB_MAGIC, NMG_EDGE_G_LSEG_MAGIC, edge_g_cnurb::order, edge_g_cnurb::pt_type, RT_NURB_EXTRACT_COORDS, and V3ARGS.

Here is the call graph for this function:

void nmg_pr_vua const long int *  magic_p,
char *  h
 

N M G _ P R _ V U A

Definition at line 795 of file nmg_pr.c.

References bu_log(), MKPAD, NMG_VERTEXUSE_A_CNURB_MAGIC, NMG_VERTEXUSE_A_PLANE_MAGIC, Return, and V3ARGS.

Here is the call graph for this function:

void nmg_pr_one_eu_vecs const struct edgeuse eu,
const fastf_t xvec,
const fastf_t yvec,
const fastf_t zvec,
const struct bn_tol tol
 

N M G _ P R _ O N E _ E U _ V E C S

Common formatting code for edgeuses and edgeuse mates. Does not mind wire edges.

Definition at line 941 of file nmg_pr.c.

References bn_radtodeg, bu_log(), faceuse::f_p, loopuse::fu_p, face::g, edgeuse::lu_p, face::magic_p, loopuse::magic_p, edgeuse::magic_p, NMG_CK_EDGEUSE, NMG_CK_FACEUSE, NMG_CK_LOOPUSE, NMG_CK_SHELL, NMG_FACE_G_SNURB_MAGIC, NMG_FACEUSE_MAGIC, NMG_LOOPUSE_MAGIC, nmg_measure_fu_angle(), nmg_orientation(), NULL, faceuse::orientation, loopuse::orientation, edgeuse::s_p, loopuse::s_p, faceuse::s_p, loopuse::up, and edgeuse::up.

Here is the call graph for this function:

void nmg_pr_fu_around_eu_vecs const struct edgeuse eu,
const fastf_t xvec,
const fastf_t yvec,
const fastf_t zvec,
const struct bn_tol tol
 

N M G _ P R _ F U _ A R O U N D _ E U _ V E C S

Definition at line 999 of file nmg_pr.c.

References BN_CK_TOL, bu_log(), edgeuse::e_p, edgeuse::eumate_p, NMG_CK_EDGEUSE, nmg_pr_one_eu_vecs(), and edgeuse::radial_p.

Here is the call graph for this function:

void nmg_pr_fus_in_fg const long int *  fg_magic  ) 
 

N M G _ P R _ F U S _ I N _ F G

For either kind of face geometry, print the list of all faces & faceuses that share this geometry.

Definition at line 1117 of file nmg_pr.c.

References BU_LIST_FOR, bu_log(), NMG_CK_FACE, NMG_CK_FACE_G_EITHER, and NMG_CK_FACEUSE.

Here is the call graph for this function:


Generated on Mon Sep 18 01:25:08 2006 for BRL-CAD by  doxygen 1.4.6