BRL-CAD
print.h
Go to the documentation of this file.
1 /* P R I N T . H
2  * BRL-CAD
3  *
4  * Copyright (c) 2004-2024 United States Government as represented by
5  * the U.S. Army Research Laboratory.
6  *
7  * This library is free software; you can redistribute it and/or
8  * modify it under the terms of the GNU Lesser General Public License
9  * version 2.1 as published by the Free Software Foundation.
10  *
11  * This library is distributed in the hope that it will be useful, but
12  * WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14  * Lesser General Public License for more details.
15  *
16  * You should have received a copy of the GNU Lesser General Public
17  * License along with this file; see the file named COPYING for more
18  * information.
19  */
20 
21 /*----------------------------------------------------------------------*/
22 /** @addtogroup nmg_print
23  */
24 /** @{ */
25 /** @file nmg/print.h */
26 
27 #ifndef NMG_PRINT_H
28 #define NMG_PRINT_H
29 
30 #include "common.h"
31 
32 #include "vmath.h"
33 #include "bu/list.h"
34 #include "nmg/defines.h"
35 #include "nmg/model.h"
36 
37 __BEGIN_DECLS
38 
39 /** Print a plane equation. */
40 #define PLPRINT(_s, _pl) bu_log("%s %gx + %gy + %gz = %g\n", (_s), \
41  (_pl)[0], (_pl)[1], (_pl)[2], (_pl)[3])
42 
43 NMG_EXPORT extern char *nmg_orientation(int orientation);
44 NMG_EXPORT extern void nmg_pr_orient(int orientation,
45  const char *h);
46 NMG_EXPORT extern void nmg_pr_m(const struct model *m);
47 NMG_EXPORT extern void nmg_pr_r(const struct nmgregion *r,
48  char *h);
49 NMG_EXPORT extern void nmg_pr_sa(const struct shell_a *sa,
50  char *h);
51 NMG_EXPORT extern void nmg_pr_lg(const struct loop_a *lg,
52  char *h);
53 NMG_EXPORT extern void nmg_pr_fg(const uint32_t *magic,
54  char *h);
55 NMG_EXPORT extern void nmg_pr_s(const struct shell *s,
56  char *h);
57 NMG_EXPORT extern void nmg_pr_s_briefly(const struct shell *s,
58  char *h);
59 NMG_EXPORT extern void nmg_pr_f(const struct face *f,
60  char *h);
61 NMG_EXPORT extern void nmg_pr_fu(const struct faceuse *fu,
62  char *h);
63 NMG_EXPORT extern void nmg_pr_fu_briefly(const struct faceuse *fu,
64  char *h);
65 NMG_EXPORT extern void nmg_pr_l(const struct loop *l,
66  char *h);
67 NMG_EXPORT extern void nmg_pr_lu(const struct loopuse *lu,
68  char *h);
69 NMG_EXPORT extern void nmg_pr_lu_briefly(const struct loopuse *lu,
70  char *h);
71 NMG_EXPORT extern void nmg_pr_eg(const uint32_t *eg,
72  char *h);
73 NMG_EXPORT extern void nmg_pr_e(const struct edge *e,
74  char *h);
75 NMG_EXPORT extern void nmg_pr_eu(const struct edgeuse *eu,
76  char *h);
77 NMG_EXPORT extern void nmg_pr_eu_briefly(const struct edgeuse *eu,
78  char *h);
79 NMG_EXPORT extern void nmg_pr_eu_endpoints(const struct edgeuse *eu,
80  char *h);
81 NMG_EXPORT extern void nmg_pr_vg(const struct vertex_g *vg,
82  char *h);
83 NMG_EXPORT extern void nmg_pr_v(const struct vertex *v,
84  char *h);
85 NMG_EXPORT extern void nmg_pr_vu(const struct vertexuse *vu,
86  char *h);
87 NMG_EXPORT extern void nmg_pr_vu_briefly(const struct vertexuse *vu,
88  char *h);
89 NMG_EXPORT extern void nmg_pr_vua(const uint32_t *magic_p,
90  char *h);
91 NMG_EXPORT extern void nmg_euprint(const char *str,
92  const struct edgeuse *eu);
93 NMG_EXPORT extern void nmg_pr_ptbl(const char *title,
94  const struct bu_ptbl *tbl,
95  int verbose);
96 NMG_EXPORT extern void nmg_pr_ptbl_vert_list(const char *str,
97  const struct bu_ptbl *tbl,
98  const fastf_t *mag);
99 NMG_EXPORT extern void nmg_pr_one_eu_vecs(const struct edgeuse *eu,
100  const vect_t xvec,
101  const vect_t yvec,
102  const vect_t zvec,
103  const struct bn_tol *tol);
104 NMG_EXPORT extern void nmg_pr_fu_around_eu_vecs(const struct edgeuse *eu,
105  const vect_t xvec,
106  const vect_t yvec,
107  const vect_t zvec,
108  const struct bn_tol *tol);
109 NMG_EXPORT extern void nmg_pr_fu_around_eu(const struct edgeuse *eu,
110  const struct bn_tol *tol);
111 NMG_EXPORT extern void nmg_pl_lu_around_eu(const struct edgeuse *eu, struct bu_list *vlfree);
112 NMG_EXPORT extern void nmg_pr_fus_in_fg(const uint32_t *fg_magic);
113 
114 /* From nmg_rt_isect.c */
115 NMG_EXPORT extern const char * nmg_rt_inout_str(int code);
116 
117 NMG_EXPORT extern void nmg_rt_print_hitlist(struct bu_list *hd);
118 
119 NMG_EXPORT extern void nmg_rt_print_hitmiss(struct nmg_hitmiss *a_hit);
120 
121 
122 
123 __END_DECLS
124 
125 #endif /* NMG_PRINT_H */
126 /** @} */
127 /*
128  * Local Variables:
129  * mode: C
130  * tab-width: 8
131  * indent-tabs-mode: t
132  * c-file-style: "stroustrup"
133  * End:
134  * ex: shiftwidth=4 tabstop=8
135  */
Header file for the BRL-CAD common definitions.
void nmg_pr_r(const struct nmgregion *r, char *h)
void nmg_euprint(const char *str, const struct edgeuse *eu)
void nmg_pr_lu_briefly(const struct loopuse *lu, char *h)
const char * nmg_rt_inout_str(int code)
void nmg_pr_eu_briefly(const struct edgeuse *eu, char *h)
void nmg_pl_lu_around_eu(const struct edgeuse *eu, struct bu_list *vlfree)
void nmg_pr_vua(const uint32_t *magic_p, char *h)
void nmg_pr_fu_briefly(const struct faceuse *fu, char *h)
void nmg_pr_one_eu_vecs(const struct edgeuse *eu, const vect_t xvec, const vect_t yvec, const vect_t zvec, const struct bn_tol *tol)
void nmg_pr_eg(const uint32_t *eg, char *h)
void nmg_pr_l(const struct loop *l, char *h)
void nmg_pr_ptbl_vert_list(const char *str, const struct bu_ptbl *tbl, const fastf_t *mag)
void nmg_pr_fu_around_eu_vecs(const struct edgeuse *eu, const vect_t xvec, const vect_t yvec, const vect_t zvec, const struct bn_tol *tol)
void nmg_pr_e(const struct edge *e, 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_lg(const struct loop_a *lg, char *h)
void nmg_pr_vg(const struct vertex_g *vg, char *h)
void nmg_pr_s(const struct shell *s, char *h)
void nmg_rt_print_hitlist(struct bu_list *hd)
void nmg_pr_fus_in_fg(const uint32_t *fg_magic)
void nmg_rt_print_hitmiss(struct nmg_hitmiss *a_hit)
void nmg_pr_eu_endpoints(const struct edgeuse *eu, char *h)
void nmg_pr_m(const struct model *m)
void nmg_pr_vu_briefly(const struct vertexuse *vu, char *h)
void nmg_pr_lu(const struct loopuse *lu, char *h)
void nmg_pr_v(const struct vertex *v, char *h)
void nmg_pr_fg(const uint32_t *magic, char *h)
char * nmg_orientation(int orientation)
void nmg_pr_eu(const struct edgeuse *eu, char *h)
void nmg_pr_orient(int orientation, const char *h)
void nmg_pr_ptbl(const char *title, const struct bu_ptbl *tbl, int verbose)
void nmg_pr_sa(const struct shell_a *sa, char *h)
void nmg_pr_vu(const struct vertexuse *vu, char *h)
void nmg_pr_s_briefly(const struct shell *s, char *h)
void nmg_pr_fu_around_eu(const struct edgeuse *eu, const struct bn_tol *tol)
fastf_t vect_t[ELEMENTS_PER_VECT]
3-tuple vector
Definition: vmath.h:349
double fastf_t
fastest 64-bit (or larger) floating point type
Definition: vmath.h:334
Definition: tol.h:72
Definition: list.h:132
Definition: ptbl.h:53
NMG topological edge.
Definition: topology.h:144
NMG topological edge usage.
Definition: topology.h:155
NMG topological face.
Definition: topology.h:210
NMG topological face usage.
Definition: topology.h:230
Loop bounding box.
Definition: topology.h:459
NMG topological loop.
Definition: topology.h:181
NMG topological loop usage.
Definition: topology.h:192
NMG topological model.
Definition: topology.h:289
NMG topological region.
Definition: topology.h:277
Shell bounding box.
Definition: topology.h:470
NMG topological shell.
Definition: topology.h:261
Point in 3D space.
Definition: topology.h:309
NMG topological vertex - the simplest element of the topology system.
Definition: topology.h:98
NMG topological vertex usage.
Definition: topology.h:109
fundamental vector, matrix, quaternion math macros