BRL-CAD
table.c
Go to the documentation of this file.
1 /* T A B L E . C
2  * BRL-CAD
3  *
4  * Copyright (c) 1989-2014 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 /** @addtogroup g_ */
21 /** @{ */
22 /** @file primitives/table.c
23  *
24  * Tables for the BRL-CAD Package ray-tracing library "librt".
25  *
26  */
27 /** @} */
28 
29 #include "common.h"
30 
31 #include <string.h>
32 #include <math.h>
33 #include "bio.h"
34 
35 
36 #include "vmath.h"
37 #include "db.h"
38 #include "nmg.h"
39 #include "raytrace.h"
40 #include "rtgeom.h"
41 
42 
43 #define RT_DECLARE_INTERFACE(name) \
44  extern int rt_##name##_prep(struct soltab *stp, struct rt_db_internal *ip, struct rt_i *rtip); \
45  extern int rt_##name##_shot(struct soltab *stp, register struct xray *rp, struct application *ap, struct seg *seghead); \
46  extern int rt_##name##_piece_shot(struct rt_piecestate *psp, struct rt_piecelist *plp, double dist_corr, struct xray *rp, struct application *ap, struct seg *seghead); \
47  extern void rt_##name##_piece_hitsegs(struct rt_piecestate *psp, struct seg *seghead, struct application *ap); \
48  extern void rt_##name##_print(const struct soltab *stp); \
49  extern void rt_##name##_norm(struct hit *hitp, struct soltab *stp, struct xray *rp); \
50  extern void rt_##name##_uv(struct application *ap, struct soltab *stp, struct hit *hitp, struct uvcoord *uvp); \
51  extern void rt_##name##_curve(struct curvature *cvp, struct hit *hitp, struct soltab *stp); \
52  extern int rt_##name##_class(void); \
53  extern void rt_##name##_free(struct soltab *stp); \
54  extern int rt_##name##_plot(struct bu_list *vhead, struct rt_db_internal *ip, const struct rt_tess_tol *ttol, const struct bn_tol *tol, const struct rt_view_info *info); \
55  extern int rt_##name##_adaptive_plot(struct rt_db_internal *ip, const struct rt_view_info *info); \
56  extern void rt_##name##_vshot(struct soltab *stp[], struct xray *rp[], struct seg *segp, int n, struct application *ap); \
57  extern int rt_##name##_tess(struct nmgregion **r, struct model *m, struct rt_db_internal *ip, const struct rt_tess_tol *ttol, const struct bn_tol *tol); \
58  extern int rt_##name##_tnurb(struct nmgregion **r, struct model *m, struct rt_db_internal *ip, const struct bn_tol *tol); \
59  extern void rt_##name##_brep(ON_Brep **b, struct rt_db_internal *ip, const struct bn_tol *tol); \
60  extern int rt_##name##_import5(struct rt_db_internal *ip, const struct bu_external *ep, const mat_t mat, const struct db_i *dbip, struct resource *resp); \
61  extern int rt_##name##_export5(struct bu_external *ep, const struct rt_db_internal *ip, double local2mm, const struct db_i *dbip, struct resource *resp); \
62  extern int rt_##name##_import4(struct rt_db_internal *ip, const struct bu_external *ep, const mat_t mat, const struct db_i *dbip, struct resource *resp); \
63  extern int rt_##name##_export4(struct bu_external *ep, const struct rt_db_internal *ip, double local2mm, const struct db_i *dbip, struct resource *resp); \
64  extern void rt_##name##_ifree(struct rt_db_internal *ip); \
65  extern int rt_##name##_get(struct bu_vls *logstr, const struct rt_db_internal *intern, const char *attr); \
66  extern int rt_##name##_adjust(struct bu_vls *logstr, struct rt_db_internal *intern, int argc, const char **argv); \
67  extern int rt_##name##_describe(struct bu_vls *str, const struct rt_db_internal *ip, int verbose, double mm2local, struct resource *resp, struct db_i *db_i); \
68  extern void rt_##name##_make(const struct rt_functab *ftp, struct rt_db_internal *intern); \
69  extern int rt_##name##_xform(struct rt_db_internal *op, const mat_t mat, struct rt_db_internal *ip, int release, struct db_i *dbip, struct resource *resp); \
70  extern int rt_##name##_params(struct pc_pc_set *ps, const struct rt_db_internal *ip); \
71  extern int rt_##name##_bbox(struct rt_db_internal *ip, point_t *min, point_t *max, const struct bn_tol *tol); \
72  extern int rt_##name##_mirror(struct rt_db_internal *ip, const plane_t *plane); \
73  extern const struct bu_structparse rt_##name##_parse[]; \
74  extern void rt_##name##_volume(fastf_t *vol, const struct rt_db_internal *ip); \
75  extern void rt_##name##_surf_area(fastf_t *area, const struct rt_db_internal *ip); \
76  extern void rt_##name##_centroid(point_t *cent, const struct rt_db_internal *ip); \
77  extern int rt_##name##_oriented_bbox(struct rt_arb_internal *bbox, struct rt_db_internal *ip, const fastf_t tol); \
78  extern struct rt_selection_set *rt_##name##_find_selections(const struct rt_db_internal *ip, const struct rt_selection_query *query); \
79  extern struct rt_selection *rt_##name##_evaluate_selection(const struct rt_db_internal *ip, int op, const struct rt_selection *a, const struct rt_selection *b); \
80  extern int rt_##name##_process_selection(struct rt_db_internal *ip, struct db_i *, const struct rt_selection *selection, const struct rt_selection_operation *op)
81 
106 RT_DECLARE_INTERFACE(sketch);
107 RT_DECLARE_INTERFACE(extrude);
108 RT_DECLARE_INTERFACE(submodel);
111 RT_DECLARE_INTERFACE(superell);
112 RT_DECLARE_INTERFACE(metaball);
114 RT_DECLARE_INTERFACE(revolve);
115 RT_DECLARE_INTERFACE(constraint);
116 /* RT_DECLARE_INTERFACE(binunif); */
119 
120 #if OBJ_BREP
122 #endif
124 
125 
126 /* generics for object manipulation, in generic.c */
127 extern int rt_generic_get(struct bu_vls *, const struct rt_db_internal *, const char *);
128 extern int rt_generic_adjust(struct bu_vls *, struct rt_db_internal *, int, const char **);
129 extern int rt_generic_form(struct bu_vls *, const struct rt_functab *);
130 extern void rt_generic_make(const struct rt_functab *, struct rt_db_internal *);
131 extern int rt_generic_xform(struct rt_db_internal *, const mat_t, struct rt_db_internal *, int, struct db_i *, struct resource *);
132 extern int rt_generic_class(const struct soltab *, const vect_t, const vect_t, const struct bn_tol *);
133 
134 /* from db5_bin.c */
135 extern int rt_binunif_import5(struct rt_db_internal * ip, const struct bu_external *ep, const mat_t mat, const struct db_i *dbip, struct resource *resp);
136 extern int rt_binunif_export5(struct bu_external *ep, const struct rt_db_internal *ip, double local2mm, const struct db_i *dbip, struct resource *resp);
137 extern void rt_binunif_ifree(struct rt_db_internal *ip);
138 extern int rt_binunif_describe(struct bu_vls *str, const struct rt_db_internal *ip, int verbose, double mm2local, struct resource *resp, struct db_i *db_i);
139 extern void rt_binunif_make(const struct rt_functab *ftp, struct rt_db_internal *intern);
140 extern int rt_binunif_get(struct bu_vls *logstr, const struct rt_db_internal *intern, const char *attr);
141 extern int rt_binunif_adjust(struct bu_vls *logstr, struct rt_db_internal *intern, int argc, const char **argv);
142 
143 /* from tcl.c and db5_comb.c */
144 extern int rt_comb_export5(struct bu_external *ep, const struct rt_db_internal *ip, double local2mm, const struct db_i *dbip, struct resource *resp);
145 extern int rt_comb_import5(struct rt_db_internal *ip, const struct bu_external *ep, const mat_t mat, const struct db_i *dbip, struct resource *resp);
146 extern int rt_comb_get(struct bu_vls *logstr, const struct rt_db_internal *intern, const char *item);
147 extern int rt_comb_adjust(struct bu_vls *logstr, struct rt_db_internal *intern, int argc, const char **argv);
148 extern int rt_comb_form(struct bu_vls *logstr, const struct rt_functab *ftp);
149 extern void rt_comb_make(const struct rt_functab *ftp, struct rt_db_internal *intern);
150 extern void rt_comb_ifree(struct rt_db_internal *ip);
151 
152 extern int rt_ebm_form(struct bu_vls *logstr, const struct rt_functab *ftp);
153 extern int rt_bot_form(struct bu_vls *logstr, const struct rt_functab *ftp);
154 extern int rt_sketch_form(struct bu_vls *logstr, const struct rt_functab *ftp);
155 extern int rt_cline_form(struct bu_vls *logstr, const struct rt_functab *ftp);
156 extern int rt_extrude_form(struct bu_vls *logstr, const struct rt_functab *ftp);
157 
158 
159 const struct rt_functab OBJ[] = {
160  {
161  /* 0: unused, for sanity checking. */
162  RT_FUNCTAB_MAGIC, "ID_NULL", "NULL",
163  0,
164  NULL,
165  NULL,
166  NULL,
167  NULL,
168  NULL,
169  NULL,
170  NULL,
171  NULL,
172  NULL,
173  NULL,
174  NULL,
175  NULL,
176  NULL,
177  NULL,
178  NULL,
179  NULL,
180  NULL,
181  NULL,
182  NULL,
183  NULL,
184  NULL,
185  NULL,
186  NULL,
187  NULL,
188  0,
189  0,
190  NULL,
191  NULL,
192  NULL,
193  NULL,
194  NULL,
195  NULL,
196  NULL,
197  NULL,
198  NULL,
199  NULL,
200  NULL,
201  NULL,
202  NULL
203  },
204 
205  {
206  /* 1 */
207  RT_FUNCTAB_MAGIC, "ID_TOR", "tor",
208  1,
213  NULL,
214  NULL,
223  NULL,
232  rt_tor_parse,
233  sizeof(struct rt_tor_internal),
234  RT_TOR_INTERNAL_MAGIC,
235  RTFUNCTAB_FUNC_GET_CAST(rt_generic_get),
236  RTFUNCTAB_FUNC_ADJUST_CAST(rt_generic_adjust),
237  RTFUNCTAB_FUNC_FORM_CAST(rt_generic_form),
238  NULL,
239  RTFUNCTAB_FUNC_PARAMS_CAST(rt_tor_params),
240  RTFUNCTAB_FUNC_BBOX_CAST(rt_tor_bbox),
241  RTFUNCTAB_FUNC_VOLUME_CAST(rt_tor_volume),
242  RTFUNCTAB_FUNC_SURF_AREA_CAST(rt_tor_surf_area),
243  RTFUNCTAB_FUNC_CENTROID_CAST(rt_tor_centroid),
244  NULL,
245  NULL,
246  NULL,
247  NULL
248  },
249 
250  {
251  /* 2 */
252  RT_FUNCTAB_MAGIC, "ID_TGC", "tgc",
253  1,
258  NULL,
259  NULL,
277  rt_tgc_parse,
278  sizeof(struct rt_tgc_internal),
279  RT_TGC_INTERNAL_MAGIC,
280  RTFUNCTAB_FUNC_GET_CAST(rt_generic_get),
281  RTFUNCTAB_FUNC_ADJUST_CAST(rt_generic_adjust),
282  RTFUNCTAB_FUNC_FORM_CAST(rt_generic_form),
283  NULL,
284  RTFUNCTAB_FUNC_PARAMS_CAST(rt_tgc_params),
285  RTFUNCTAB_FUNC_BBOX_CAST(rt_tgc_bbox),
286  RTFUNCTAB_FUNC_VOLUME_CAST(rt_tgc_volume),
287  RTFUNCTAB_FUNC_SURF_AREA_CAST(rt_tgc_surf_area),
288  RTFUNCTAB_FUNC_CENTROID_CAST(rt_tgc_centroid),
289  NULL,
290  NULL,
291  NULL,
292  NULL
293  },
294 
295  {
296  /* 3 */
297  RT_FUNCTAB_MAGIC, "ID_ELL", "ell",
298  1,
303  NULL,
304  NULL,
322  rt_ell_parse,
323  sizeof(struct rt_ell_internal),
324  RT_ELL_INTERNAL_MAGIC,
325  RTFUNCTAB_FUNC_GET_CAST(rt_generic_get),
326  RTFUNCTAB_FUNC_ADJUST_CAST(rt_generic_adjust),
327  RTFUNCTAB_FUNC_FORM_CAST(rt_generic_form),
328  NULL,
329  RTFUNCTAB_FUNC_PARAMS_CAST(rt_ell_params),
330  RTFUNCTAB_FUNC_BBOX_CAST(rt_ell_bbox),
331  RTFUNCTAB_FUNC_VOLUME_CAST(rt_ell_volume),
332  RTFUNCTAB_FUNC_SURF_AREA_CAST(rt_ell_surf_area),
333  RTFUNCTAB_FUNC_CENTROID_CAST(rt_ell_centroid),
334  NULL,
335  NULL,
336  NULL,
337  NULL
338  },
339 
340  {
341  /* 4 */
342  RT_FUNCTAB_MAGIC, "ID_ARB8", "arb8",
343  0,
348  NULL,
349  NULL,
355  NULL,
367  rt_arb_parse,
368  sizeof(struct rt_arb_internal),
369  RT_ARB_INTERNAL_MAGIC,
370  RTFUNCTAB_FUNC_GET_CAST(rt_generic_get),
371  RTFUNCTAB_FUNC_ADJUST_CAST(rt_generic_adjust),
372  RTFUNCTAB_FUNC_FORM_CAST(rt_generic_form),
373  NULL,
374  RTFUNCTAB_FUNC_PARAMS_CAST(rt_arb_params),
375  RTFUNCTAB_FUNC_BBOX_CAST(rt_arb_bbox),
376  RTFUNCTAB_FUNC_VOLUME_CAST(rt_arb_volume),
377  NULL,
378  RTFUNCTAB_FUNC_CENTROID_CAST(rt_arb_centroid),
379  NULL,
380  NULL,
381  NULL,
382  NULL
383  },
384 
385  {
386  /* 5 */
387  RT_FUNCTAB_MAGIC, "ID_ARS", "ars",
388  1,
400  NULL,
401  NULL,
403  NULL,
412  NULL,
413  sizeof(struct rt_ars_internal),
414  RT_ARS_INTERNAL_MAGIC,
415  RTFUNCTAB_FUNC_GET_CAST(rt_ars_get),
416  RTFUNCTAB_FUNC_ADJUST_CAST(rt_ars_adjust),
417  RTFUNCTAB_FUNC_FORM_CAST(rt_generic_form),
418  NULL,
419  RTFUNCTAB_FUNC_PARAMS_CAST(rt_ars_params),
420  RTFUNCTAB_FUNC_BBOX_CAST(rt_ars_bbox),
421  NULL,
422  NULL,
423  NULL,
424  NULL,
425  NULL,
426  NULL,
427  NULL
428  },
429 
430  {
431  /* 6 */
432  RT_FUNCTAB_MAGIC, "ID_HALF", "half",
433  0,
438  NULL,
439  NULL,
445  NULL,
448  NULL,
457  rt_hlf_parse,
458  sizeof(struct rt_half_internal),
459  RT_HALF_INTERNAL_MAGIC,
460  RTFUNCTAB_FUNC_GET_CAST(rt_generic_get),
461  RTFUNCTAB_FUNC_ADJUST_CAST(rt_generic_adjust),
462  RTFUNCTAB_FUNC_FORM_CAST(rt_generic_form),
463  NULL,
464  RTFUNCTAB_FUNC_PARAMS_CAST(rt_hlf_params),
465  NULL,
466  NULL,
467  NULL,
468  NULL,
469  NULL,
470  NULL,
471  NULL,
472  NULL
473  },
474 
475  {
476  /* 7 */
477  RT_FUNCTAB_MAGIC, "ID_REC", "rec",
478  1,
483  NULL,
484  NULL,
493  NULL,
502  rt_tgc_parse,
503  sizeof(struct rt_tgc_internal),
504  RT_TGC_INTERNAL_MAGIC,
505  RTFUNCTAB_FUNC_GET_CAST(rt_generic_get),
506  RTFUNCTAB_FUNC_ADJUST_CAST(rt_generic_adjust),
507  RTFUNCTAB_FUNC_FORM_CAST(rt_generic_form),
508  NULL,
509  RTFUNCTAB_FUNC_PARAMS_CAST(rt_rec_params),
510  RTFUNCTAB_FUNC_BBOX_CAST(rt_rec_bbox),
511  RTFUNCTAB_FUNC_VOLUME_CAST(rt_tgc_volume),
512  RTFUNCTAB_FUNC_SURF_AREA_CAST(rt_tgc_surf_area),
513  RTFUNCTAB_FUNC_CENTROID_CAST(rt_tgc_centroid),
514  NULL,
515  NULL,
516  NULL,
517  NULL
518  },
519 
520  {
521  /* 8 */
522  RT_FUNCTAB_MAGIC, "ID_POLY", "poly",
523  1,
528  NULL,
529  NULL,
535  NULL,
536  NULL,
538  NULL,
539  NULL,
540  NULL,
541  NULL,
547  NULL,
548  sizeof(struct rt_pg_internal),
549  RT_PG_INTERNAL_MAGIC,
550  RTFUNCTAB_FUNC_GET_CAST(rt_generic_get),
551  RTFUNCTAB_FUNC_ADJUST_CAST(rt_generic_adjust),
552  RTFUNCTAB_FUNC_FORM_CAST(rt_generic_form),
553  NULL,
554  RTFUNCTAB_FUNC_PARAMS_CAST(rt_pg_params),
555  RTFUNCTAB_FUNC_BBOX_CAST(rt_pg_bbox),
556  NULL,
557  NULL,
558  NULL,
559  NULL,
560  NULL,
561  NULL,
562  NULL
563  },
564 
565  {
566  /* 9 */
567  RT_FUNCTAB_MAGIC, "ID_BSPLINE", "bspline",
568  1,
573  NULL,
574  NULL,
580  NULL,
581  NULL,
583  NULL,
584  NULL,
592  NULL,
593  sizeof(struct rt_nurb_internal),
594  RT_NURB_INTERNAL_MAGIC,
595  RTFUNCTAB_FUNC_GET_CAST(rt_nurb_get),
596  RTFUNCTAB_FUNC_ADJUST_CAST(rt_nurb_adjust),
597  RTFUNCTAB_FUNC_FORM_CAST(rt_generic_form),
598  NULL,
599  RTFUNCTAB_FUNC_PARAMS_CAST(rt_nurb_params),
600  RTFUNCTAB_FUNC_BBOX_CAST(rt_nurb_bbox),
601  NULL,
602  NULL,
603  NULL,
604  NULL,
605  NULL,
606  NULL,
607  NULL
608  },
609 
610  {
611  /* 10 */
612  RT_FUNCTAB_MAGIC, "ID_SPH", "sph",
613  0,
618  NULL,
619  NULL,
637  rt_ell_parse,
638  sizeof(struct rt_ell_internal),
639  RT_ELL_INTERNAL_MAGIC,
640  RTFUNCTAB_FUNC_GET_CAST(rt_generic_get),
641  RTFUNCTAB_FUNC_ADJUST_CAST(rt_generic_adjust),
642  RTFUNCTAB_FUNC_FORM_CAST(rt_generic_form),
643  NULL,
644  RTFUNCTAB_FUNC_PARAMS_CAST(rt_sph_params),
645  RTFUNCTAB_FUNC_BBOX_CAST(rt_ell_bbox),
646  RTFUNCTAB_FUNC_VOLUME_CAST(rt_ell_volume),
647  RTFUNCTAB_FUNC_SURF_AREA_CAST(rt_ell_surf_area),
648  RTFUNCTAB_FUNC_CENTROID_CAST(rt_ell_centroid),
649  NULL,
650  NULL,
651  NULL,
652  NULL
653  },
654 
655  {
656  /* 11 */
657  RT_FUNCTAB_MAGIC, "ID_NMG", "nmg",
658  1,
663  NULL,
664  NULL,
670  NULL,
671  NULL,
673  NULL,
682  NULL,
683  sizeof(struct model),
684  NMG_MODEL_MAGIC,
685  RTFUNCTAB_FUNC_GET_CAST(rt_nmg_get),
686  RTFUNCTAB_FUNC_ADJUST_CAST(rt_nmg_adjust),
687  RTFUNCTAB_FUNC_FORM_CAST(rt_generic_form),
688  RTFUNCTAB_FUNC_MAKE_CAST(rt_nmg_make),
689  RTFUNCTAB_FUNC_PARAMS_CAST(rt_nmg_params),
690  RTFUNCTAB_FUNC_BBOX_CAST(rt_nmg_bbox),
691  RTFUNCTAB_FUNC_VOLUME_CAST(rt_nmg_volume),
692  RTFUNCTAB_FUNC_SURF_AREA_CAST(rt_nmg_surf_area),
693  RTFUNCTAB_FUNC_CENTROID_CAST(rt_nmg_centroid),
694  NULL,
695  NULL,
696  NULL,
697  NULL
698  },
699 
700  {
701  /* 12 */
702  RT_FUNCTAB_MAGIC, "ID_EBM", "ebm",
703  1,
708  NULL,
709  NULL,
715  NULL,
716  NULL,
718  NULL,
727  rt_ebm_parse,
728  sizeof(struct rt_ebm_internal),
729  RT_EBM_INTERNAL_MAGIC,
730  RTFUNCTAB_FUNC_GET_CAST(rt_ebm_get),
731  RTFUNCTAB_FUNC_ADJUST_CAST(rt_ebm_adjust),
732  RTFUNCTAB_FUNC_FORM_CAST(rt_ebm_form),
733  RTFUNCTAB_FUNC_MAKE_CAST(rt_ebm_make),
734  RTFUNCTAB_FUNC_PARAMS_CAST(rt_ebm_params),
735  RTFUNCTAB_FUNC_BBOX_CAST(rt_ebm_bbox),
736  NULL,
737  RTFUNCTAB_FUNC_SURF_AREA_CAST(rt_ebm_surf_area),
738  RTFUNCTAB_FUNC_CENTROID_CAST(rt_ebm_centroid),
739  NULL,
740  NULL,
741  NULL,
742  NULL
743  },
744 
745  {
746  /* 13 */
747  RT_FUNCTAB_MAGIC, "ID_VOL", "vol",
748  1,
753  NULL,
754  NULL,
760  NULL,
761  NULL,
763  NULL,
772  rt_vol_parse,
773  sizeof(struct rt_vol_internal),
774  RT_VOL_INTERNAL_MAGIC,
775  RTFUNCTAB_FUNC_GET_CAST(rt_generic_get),
776  RTFUNCTAB_FUNC_ADJUST_CAST(rt_generic_adjust),
777  RTFUNCTAB_FUNC_FORM_CAST(rt_generic_form),
778  NULL,
779  RTFUNCTAB_FUNC_PARAMS_CAST(rt_vol_params),
780  RTFUNCTAB_FUNC_BBOX_CAST(rt_vol_bbox),
781  RTFUNCTAB_FUNC_VOLUME_CAST(rt_vol_volume),
782  RTFUNCTAB_FUNC_SURF_AREA_CAST(rt_vol_surf_area),
783  RTFUNCTAB_FUNC_CENTROID_CAST(rt_vol_centroid),
784  NULL,
785  NULL,
786  NULL,
787  NULL
788  },
789 
790  {
791  /* 14 */
792  RT_FUNCTAB_MAGIC, "ID_ARBN", "arbn",
793  0,
798  NULL,
799  NULL,
805  NULL,
806  NULL,
808  NULL,
817  NULL,
818  sizeof(struct rt_arbn_internal),
819  RT_ARBN_INTERNAL_MAGIC,
820  RTFUNCTAB_FUNC_GET_CAST(rt_arbn_get),
821  RTFUNCTAB_FUNC_ADJUST_CAST(rt_arbn_adjust),
822  RTFUNCTAB_FUNC_FORM_CAST(rt_generic_form),
823  NULL,
824  RTFUNCTAB_FUNC_PARAMS_CAST(rt_arbn_params),
825  RTFUNCTAB_FUNC_BBOX_CAST(rt_arbn_bbox),
826  RTFUNCTAB_FUNC_VOLUME_CAST(rt_arbn_volume),
827  RTFUNCTAB_FUNC_SURF_AREA_CAST(rt_arbn_surf_area),
828  RTFUNCTAB_FUNC_CENTROID_CAST(rt_arbn_centroid),
829  NULL,
830  NULL,
831  NULL,
832  NULL
833  },
834 
835  {
836  /* 15 */
837  RT_FUNCTAB_MAGIC, "ID_PIPE", "pipe",
838  1,
843  NULL,
844  NULL,
851  NULL,
853  NULL,
862  NULL,
863  sizeof(struct rt_pipe_internal),
864  RT_PIPE_INTERNAL_MAGIC,
865  RTFUNCTAB_FUNC_GET_CAST(rt_pipe_get),
866  RTFUNCTAB_FUNC_ADJUST_CAST(rt_pipe_adjust),
867  RTFUNCTAB_FUNC_FORM_CAST(rt_generic_form),
868  NULL,
869  RTFUNCTAB_FUNC_PARAMS_CAST(rt_pipe_params),
870  RTFUNCTAB_FUNC_BBOX_CAST(rt_pipe_bbox),
871  RTFUNCTAB_FUNC_VOLUME_CAST(rt_pipe_volume),
872  RTFUNCTAB_FUNC_SURF_AREA_CAST(rt_pipe_surf_area),
873  RTFUNCTAB_FUNC_CENTROID_CAST(rt_pipe_centroid),
874  NULL,
875  NULL,
876  NULL,
877  NULL
878  },
879 
880  {
881  /* 16 */
882  RT_FUNCTAB_MAGIC, "ID_PARTICLE", "part",
883  0,
888  NULL,
889  NULL,
895  NULL,
896  NULL,
898  NULL,
908  sizeof(struct rt_part_internal),
909  RT_PART_INTERNAL_MAGIC,
910  RTFUNCTAB_FUNC_GET_CAST(rt_generic_get),
911  RTFUNCTAB_FUNC_ADJUST_CAST(rt_generic_adjust),
912  RTFUNCTAB_FUNC_FORM_CAST(rt_generic_form),
913  NULL,
914  RTFUNCTAB_FUNC_PARAMS_CAST(rt_part_params),
915  RTFUNCTAB_FUNC_BBOX_CAST(rt_part_bbox),
916  RTFUNCTAB_FUNC_VOLUME_CAST(rt_part_volume),
917  RTFUNCTAB_FUNC_SURF_AREA_CAST(rt_part_surf_area),
918  NULL,
919  NULL,
920  NULL,
921  NULL,
922  NULL
923  },
924 
925  {
926  /* 17 */
927  RT_FUNCTAB_MAGIC, "ID_RPC", "rpc",
928  0,
933  NULL,
934  NULL,
941  NULL,
943  NULL,
952  rt_rpc_parse,
953  sizeof(struct rt_rpc_internal),
954  RT_RPC_INTERNAL_MAGIC,
955  RTFUNCTAB_FUNC_GET_CAST(rt_generic_get),
956  RTFUNCTAB_FUNC_ADJUST_CAST(rt_generic_adjust),
957  RTFUNCTAB_FUNC_FORM_CAST(rt_generic_form),
958  NULL,
959  RTFUNCTAB_FUNC_PARAMS_CAST(rt_rpc_params),
960  RTFUNCTAB_FUNC_BBOX_CAST(rt_rpc_bbox),
961  RTFUNCTAB_FUNC_VOLUME_CAST(rt_rpc_volume),
962  RTFUNCTAB_FUNC_SURF_AREA_CAST(rt_rpc_surf_area),
963  RTFUNCTAB_FUNC_CENTROID_CAST(rt_rpc_centroid),
964  NULL,
965  NULL,
966  NULL,
967  NULL
968  },
969 
970  {
971  /* 18 */
972  RT_FUNCTAB_MAGIC, "ID_RHC", "rhc",
973  0,
978  NULL,
979  NULL,
986  NULL,
988  NULL,
997  rt_rhc_parse,
998  sizeof(struct rt_rhc_internal),
999  RT_RHC_INTERNAL_MAGIC,
1000  RTFUNCTAB_FUNC_GET_CAST(rt_generic_get),
1001  RTFUNCTAB_FUNC_ADJUST_CAST(rt_generic_adjust),
1002  RTFUNCTAB_FUNC_FORM_CAST(rt_generic_form),
1003  NULL,
1004  RTFUNCTAB_FUNC_PARAMS_CAST(rt_rhc_params),
1005  RTFUNCTAB_FUNC_BBOX_CAST(rt_rhc_bbox),
1006  NULL,
1007  RTFUNCTAB_FUNC_SURF_AREA_CAST(rt_rhc_surf_area),
1008  RTFUNCTAB_FUNC_CENTROID_CAST(rt_rhc_centroid),
1009  NULL,
1010  NULL,
1011  NULL,
1012  NULL
1013  },
1014 
1015  {
1016  /* 19 */
1017  RT_FUNCTAB_MAGIC, "ID_EPA", "epa",
1018  0,
1023  NULL,
1024  NULL,
1031  NULL,
1033  NULL,
1042  rt_epa_parse,
1043  sizeof(struct rt_epa_internal),
1044  RT_EPA_INTERNAL_MAGIC,
1045  RTFUNCTAB_FUNC_GET_CAST(rt_generic_get),
1046  RTFUNCTAB_FUNC_ADJUST_CAST(rt_generic_adjust),
1047  RTFUNCTAB_FUNC_FORM_CAST(rt_generic_form),
1048  NULL,
1049  RTFUNCTAB_FUNC_PARAMS_CAST(rt_epa_params),
1050  RTFUNCTAB_FUNC_BBOX_CAST(rt_epa_bbox),
1051  RTFUNCTAB_FUNC_VOLUME_CAST(rt_epa_volume),
1052  RTFUNCTAB_FUNC_SURF_AREA_CAST(rt_epa_surf_area),
1053  RTFUNCTAB_FUNC_CENTROID_CAST(rt_epa_centroid),
1054  NULL,
1055  NULL,
1056  NULL,
1057  NULL
1058  },
1059 
1060  {
1061  /* 20 */
1062  RT_FUNCTAB_MAGIC, "ID_EHY", "ehy",
1063  0,
1068  NULL,
1069  NULL,
1076  NULL,
1078  NULL,
1087  rt_ehy_parse,
1088  sizeof(struct rt_ehy_internal),
1089  RT_EHY_INTERNAL_MAGIC,
1090  RTFUNCTAB_FUNC_GET_CAST(rt_generic_get),
1091  RTFUNCTAB_FUNC_ADJUST_CAST(rt_generic_adjust),
1092  RTFUNCTAB_FUNC_FORM_CAST(rt_generic_form),
1093  NULL,
1094  RTFUNCTAB_FUNC_PARAMS_CAST(rt_ehy_params),
1095  RTFUNCTAB_FUNC_BBOX_CAST(rt_ehy_bbox),
1096  NULL,
1097  RTFUNCTAB_FUNC_SURF_AREA_CAST(rt_ehy_surf_area),
1098  NULL,
1099  NULL,
1100  NULL,
1101  NULL,
1102  NULL
1103  },
1104 
1105  {
1106  /* 21 */
1107  RT_FUNCTAB_MAGIC, "ID_ETO", "eto",
1108  1,
1113  NULL,
1114  NULL,
1121  NULL,
1123  NULL,
1132  rt_eto_parse,
1133  sizeof(struct rt_eto_internal),
1134  RT_ETO_INTERNAL_MAGIC,
1135  RTFUNCTAB_FUNC_GET_CAST(rt_generic_get),
1136  RTFUNCTAB_FUNC_ADJUST_CAST(rt_generic_adjust),
1137  RTFUNCTAB_FUNC_FORM_CAST(rt_generic_form),
1138  NULL,
1139  RTFUNCTAB_FUNC_PARAMS_CAST(rt_eto_params),
1140  RTFUNCTAB_FUNC_BBOX_CAST(rt_eto_bbox),
1141  RTFUNCTAB_FUNC_VOLUME_CAST(rt_eto_volume),
1142  RTFUNCTAB_FUNC_SURF_AREA_CAST(rt_eto_surf_area),
1143  RTFUNCTAB_FUNC_CENTROID_CAST(rt_eto_centroid),
1144  NULL,
1145  NULL,
1146  NULL,
1147  NULL
1148  },
1149 
1150  {
1151  /* 22 */
1152  RT_FUNCTAB_MAGIC, "ID_GRIP", "grip",
1153  1,
1158  NULL,
1159  NULL,
1165  NULL,
1166  NULL,
1168  NULL,
1177  rt_grp_parse,
1178  sizeof(struct rt_grip_internal),
1179  RT_GRIP_INTERNAL_MAGIC,
1180  RTFUNCTAB_FUNC_GET_CAST(rt_generic_get),
1181  RTFUNCTAB_FUNC_ADJUST_CAST(rt_generic_adjust),
1182  RTFUNCTAB_FUNC_FORM_CAST(rt_generic_form),
1183  NULL,
1184  RTFUNCTAB_FUNC_PARAMS_CAST(rt_grp_params),
1185  NULL,
1186  NULL,
1187  NULL,
1188  NULL,
1189  NULL,
1190  NULL,
1191  NULL,
1192  NULL
1193  },
1194 
1195  {
1196  /* 23 -- XXX unimplemented */
1197  RT_FUNCTAB_MAGIC, "ID_JOINT", "joint",
1198  1,
1203  NULL,
1204  NULL,
1210  NULL,
1211  NULL,
1213  NULL,
1223  sizeof(struct rt_joint_internal),
1224  RT_JOINT_INTERNAL_MAGIC,
1225  RTFUNCTAB_FUNC_GET_CAST(rt_generic_get),
1226  RTFUNCTAB_FUNC_ADJUST_CAST(rt_generic_adjust),
1227  RTFUNCTAB_FUNC_FORM_CAST(rt_generic_form),
1228  NULL,
1229  RTFUNCTAB_FUNC_PARAMS_CAST(rt_joint_params),
1230  NULL,
1231  NULL,
1232  NULL,
1233  NULL,
1234  NULL,
1235  RTFUNCTAB_FUNC_FIND_SELECTIONS_CAST(rt_joint_find_selections),
1236  NULL,
1237  RTFUNCTAB_FUNC_PROCESS_SELECTION_CAST(rt_joint_process_selection)
1238 #if 0
1239  0, /* ft_use_rpp */
1240  NULL,/* prep */
1241  NULL,/* shot */
1242  NULL,/* print */
1243  NULL,/* norm */
1244  NULL,/* piece_shot */
1245  NULL,/* piece_hitsegs */
1246  NULL,/* uv */
1247  NULL,/* curve */
1248  NULL,/* classify */
1249  NULL,/* free */
1250  RTFUNCTAB_FUNC_PLOT_CAST(rt_joint_plot),/* plot */
1251  NULL,/* adaptive_plot */
1252  NULL,/* vshot */
1253  NULL,
1254  NULL,
1255  NULL,
1256  NULL,
1257  NULL,
1258  NULL,
1259  NULL,
1260  NULL,
1261  NULL,
1262  NULL,
1263  NULL,
1264  0,
1265  0,
1266  NULL,
1267  NULL,
1268  NULL,
1269  NULL,
1270  NULL,
1271  NULL,
1272  NULL,
1273  NULL,
1274  NULL,
1275  NULL,
1276  NULL,
1277  NULL,
1278  NULL
1279 #endif
1280  },
1281 
1282  {
1283  /* 24 */
1284  RT_FUNCTAB_MAGIC, "ID_HF", "hf",
1285  0,
1290  NULL,
1291  NULL,
1297  NULL,
1298  NULL,
1300  NULL,
1309  rt_hf_parse,
1310  sizeof(struct rt_hf_internal),
1311  RT_HF_INTERNAL_MAGIC,
1312  RTFUNCTAB_FUNC_GET_CAST(rt_generic_get),
1313  RTFUNCTAB_FUNC_ADJUST_CAST(rt_generic_adjust),
1314  RTFUNCTAB_FUNC_FORM_CAST(rt_generic_form),
1315  NULL,
1316  RTFUNCTAB_FUNC_PARAMS_CAST(rt_hf_params),
1317  RTFUNCTAB_FUNC_BBOX_CAST(rt_hf_bbox),
1318  NULL,
1319  NULL,
1320  NULL,
1321  NULL,
1322  NULL,
1323  NULL,
1324  NULL
1325  },
1326 
1327  {
1328  /* 25 Displacement Map (alt. height field) */
1329  RT_FUNCTAB_MAGIC, "ID_DSP", "dsp",
1330  1,
1335  NULL,
1336  NULL,
1342  NULL,
1343  NULL,
1345  NULL,
1354  rt_dsp_parse,
1355  sizeof(struct rt_dsp_internal),
1356  RT_DSP_INTERNAL_MAGIC,
1357  RTFUNCTAB_FUNC_GET_CAST(rt_dsp_get),
1358  RTFUNCTAB_FUNC_ADJUST_CAST(rt_dsp_adjust),
1359  NULL,
1360  RTFUNCTAB_FUNC_MAKE_CAST(rt_dsp_make),
1361  RTFUNCTAB_FUNC_PARAMS_CAST(rt_dsp_params),
1362  RTFUNCTAB_FUNC_BBOX_CAST(rt_dsp_bbox),
1363  NULL,
1364  NULL,
1365  NULL,
1366  NULL,
1367  NULL,
1368  NULL,
1369  NULL
1370  },
1371 
1372  {
1373  /* 26 2D sketch */
1374  RT_FUNCTAB_MAGIC, "ID_SKETCH", "sketch",
1375  0,
1380  NULL,
1381  NULL,
1387  NULL,
1388  NULL,
1389  NULL,
1390  NULL,
1399  NULL,
1400  sizeof(struct rt_sketch_internal),
1401  RT_SKETCH_INTERNAL_MAGIC,
1402  RTFUNCTAB_FUNC_GET_CAST(rt_sketch_get),
1403  RTFUNCTAB_FUNC_ADJUST_CAST(rt_sketch_adjust),
1404  RTFUNCTAB_FUNC_FORM_CAST(rt_sketch_form),
1405  NULL,
1406  RTFUNCTAB_FUNC_PARAMS_CAST(rt_sketch_params),
1407  NULL,
1408  NULL,
1409  RTFUNCTAB_FUNC_SURF_AREA_CAST(rt_sketch_surf_area),
1410  RTFUNCTAB_FUNC_CENTROID_CAST(rt_sketch_centroid),
1411  NULL,
1412  NULL,
1413  NULL,
1414  NULL
1415  },
1416 
1417  {
1418  /* 27 Solid of extrusion */
1419  RT_FUNCTAB_MAGIC, "ID_EXTRUDE", "extrude",
1420  1,
1425  NULL,
1426  NULL,
1432  NULL,
1433  NULL,
1435  NULL,
1444  NULL,
1445  sizeof(struct rt_extrude_internal),
1446  RT_EXTRUDE_INTERNAL_MAGIC,
1447  RTFUNCTAB_FUNC_GET_CAST(rt_extrude_get),
1448  RTFUNCTAB_FUNC_ADJUST_CAST(rt_extrude_adjust),
1449  RTFUNCTAB_FUNC_FORM_CAST(rt_extrude_form),
1450  NULL,
1451  RTFUNCTAB_FUNC_PARAMS_CAST(rt_extrude_params),
1452  RTFUNCTAB_FUNC_BBOX_CAST(rt_extrude_bbox),
1453  RTFUNCTAB_FUNC_VOLUME_CAST(rt_extrude_volume),
1454  NULL,
1455  RTFUNCTAB_FUNC_CENTROID_CAST(rt_extrude_centroid),
1456  NULL,
1457  NULL,
1458  NULL,
1459  NULL
1460  },
1461 
1462  {
1463  /* 28 Instanced submodel */
1464  RT_FUNCTAB_MAGIC, "ID_SUBMODEL", "submodel",
1465  1,
1470  NULL,
1471  NULL,
1477  NULL,
1478  NULL,
1480  NULL,
1481  NULL,
1490  sizeof(struct rt_submodel_internal),
1491  RT_SUBMODEL_INTERNAL_MAGIC,
1492  RTFUNCTAB_FUNC_GET_CAST(rt_generic_get),
1493  RTFUNCTAB_FUNC_ADJUST_CAST(rt_generic_adjust),
1494  RTFUNCTAB_FUNC_FORM_CAST(rt_generic_form),
1495  NULL,
1496  RTFUNCTAB_FUNC_PARAMS_CAST(rt_submodel_params),
1497  NULL,
1498  NULL,
1499  NULL,
1500  NULL,
1501  NULL,
1502  NULL,
1503  NULL,
1504  NULL
1505  },
1506 
1507  {
1508  /* 29 Fastgen cline solid */
1509  RT_FUNCTAB_MAGIC, "ID_CLINE", "cline",
1510  0,
1515  NULL,
1516  NULL,
1522  NULL,
1523  NULL,
1525  NULL,
1535  sizeof(struct rt_cline_internal),
1536  RT_CLINE_INTERNAL_MAGIC,
1537  RTFUNCTAB_FUNC_GET_CAST(rt_cline_get),
1538  RTFUNCTAB_FUNC_ADJUST_CAST(rt_cline_adjust),
1539  RTFUNCTAB_FUNC_FORM_CAST(rt_cline_form),
1540  NULL,
1541  RTFUNCTAB_FUNC_PARAMS_CAST(rt_cline_params),
1542  RTFUNCTAB_FUNC_BBOX_CAST(rt_cline_bbox),
1543  NULL,
1544  NULL,
1545  NULL,
1546  NULL,
1547  NULL,
1548  NULL,
1549  NULL
1550  },
1551 
1552  {
1553  /* 30 Bag o' Triangles */
1554  RT_FUNCTAB_MAGIC, "ID_BOT", "bot",
1555  0,
1568  NULL,
1570  NULL,
1579  NULL,
1580  sizeof(struct rt_bot_internal),
1581  RT_BOT_INTERNAL_MAGIC,
1582  RTFUNCTAB_FUNC_GET_CAST(rt_bot_get),
1583  RTFUNCTAB_FUNC_ADJUST_CAST(rt_bot_adjust),
1584  RTFUNCTAB_FUNC_FORM_CAST(rt_bot_form),
1585  NULL,
1586  RTFUNCTAB_FUNC_PARAMS_CAST(rt_bot_params),
1587  RTFUNCTAB_FUNC_BBOX_CAST(rt_bot_bbox),
1588  RTFUNCTAB_FUNC_VOLUME_CAST(rt_bot_volume),
1589  RTFUNCTAB_FUNC_SURF_AREA_CAST(rt_bot_surf_area),
1590  RTFUNCTAB_FUNC_CENTROID_CAST(rt_bot_centroid),
1591  RTFUNCTAB_FUNC_ORIENTED_BBOX_CAST(rt_bot_oriented_bbox),
1592  NULL,
1593  NULL,
1594  NULL
1595  },
1596 
1597  {
1598  /* 31 combination objects (should not be in this table) */
1599  RT_FUNCTAB_MAGIC, "ID_COMBINATION", "comb",
1600  0,
1601  NULL,
1602  NULL,
1603  NULL,
1604  NULL,
1605  NULL,
1606  NULL,
1607  NULL,
1608  NULL,
1609  NULL,
1610  NULL,
1611  NULL,
1612  NULL,
1613  NULL,
1614  NULL,
1615  NULL,
1616  NULL,
1624  NULL,
1625  0,
1626  0,
1631  NULL,
1632  NULL,
1633  NULL,
1634  NULL,
1635  NULL,
1636  NULL,
1637  NULL,
1638  NULL,
1639  NULL
1640  },
1641 
1642  {
1643  /* 32 available placeholder to not offset latter table indices
1644  * (was ID_BINEXPM)
1645  */
1646  RT_FUNCTAB_MAGIC, "ID_UNUSED1", "unused1",
1647  0,
1648  NULL,
1649  NULL,
1650  NULL,
1651  NULL,
1652  NULL,
1653  NULL,
1654  NULL,
1655  NULL,
1656  NULL,
1657  NULL,
1658  NULL,
1659  NULL,
1660  NULL,
1661  NULL,
1662  NULL,
1663  NULL,
1664  NULL,
1665  NULL,
1666  NULL,
1667  NULL,
1668  NULL,
1669  NULL,
1670  NULL,
1671  NULL,
1672  0,
1673  0,
1674  NULL,
1675  NULL,
1676  NULL,
1677  NULL,
1678  NULL,
1679  NULL,
1680  NULL,
1681  NULL,
1682  NULL,
1683  NULL,
1684  NULL,
1685  NULL,
1686  NULL
1687  },
1688 
1689  {
1690  /* 33 */
1691  RT_FUNCTAB_MAGIC, "ID_BINUNIF", "binunif",
1692  0,
1693  NULL,
1694  NULL,
1695  NULL,
1696  NULL,
1697  NULL,
1698  NULL,
1699  NULL,
1700  NULL,
1701  NULL,
1702  NULL,
1703  NULL,
1704  NULL,
1705  NULL,
1706  NULL,
1707  NULL,
1708  NULL,
1709  NULL,
1711  NULL,
1712  NULL,
1716  NULL,
1717  0,
1718  0,
1721  NULL,
1723  NULL,
1724  NULL,
1725  NULL,
1726  NULL,
1727  NULL,
1728  NULL,
1729  NULL,
1730  NULL,
1731  NULL
1732  },
1733 
1734  {
1735  /* 34 available placeholder to not offset latter table indices
1736  * (was ID_BINMIME)
1737  */
1738  RT_FUNCTAB_MAGIC, "ID_UNUSED2", "unused2",
1739  0,
1740  NULL,
1741  NULL,
1742  NULL,
1743  NULL,
1744  NULL,
1745  NULL,
1746  NULL,
1747  NULL,
1748  NULL,
1749  NULL,
1750  NULL,
1751  NULL,
1752  NULL,
1753  NULL,
1754  NULL,
1755  NULL,
1756  NULL,
1757  NULL,
1758  NULL,
1759  NULL,
1760  NULL,
1761  NULL,
1762  NULL,
1763  NULL,
1764  0,
1765  0,
1766  NULL,
1767  NULL,
1768  NULL,
1769  NULL,
1770  NULL,
1771  NULL,
1772  NULL,
1773  NULL,
1774  NULL,
1775  NULL,
1776  NULL,
1777  NULL,
1778  NULL
1779  },
1780 
1781  {
1782  /* 35 (but "should" be 31) Superquadratic Ellipsoid */
1783  RT_FUNCTAB_MAGIC, "ID_SUPERELL", "superell",
1784  1,
1789  NULL,
1790  NULL,
1796  NULL,
1797  NULL,
1799  NULL,
1809  sizeof(struct rt_superell_internal),
1810  RT_SUPERELL_INTERNAL_MAGIC,
1811  RTFUNCTAB_FUNC_GET_CAST(rt_generic_get),
1812  RTFUNCTAB_FUNC_ADJUST_CAST(rt_generic_adjust),
1813  RTFUNCTAB_FUNC_FORM_CAST(rt_generic_form),
1814  NULL,
1815  RTFUNCTAB_FUNC_PARAMS_CAST(rt_superell_params),
1816  RTFUNCTAB_FUNC_BBOX_CAST(rt_superell_bbox),
1817  RTFUNCTAB_FUNC_VOLUME_CAST(rt_superell_volume),
1818  RTFUNCTAB_FUNC_SURF_AREA_CAST(rt_superell_surf_area),
1819  NULL,
1820  NULL,
1821  NULL,
1822  NULL,
1823  NULL
1824  },
1825 
1826  {
1827  /* 36 (but "should" be 32) Metaball */
1828  RT_FUNCTAB_MAGIC, "ID_METABALL", "metaball",
1829  1,
1834  NULL,
1835  NULL,
1841  NULL,
1842  NULL,
1844  NULL,
1845  NULL,
1848  NULL,
1849  NULL,
1853  NULL,
1854  sizeof(struct rt_metaball_internal),
1855  RT_METABALL_INTERNAL_MAGIC,
1856  RTFUNCTAB_FUNC_GET_CAST(rt_metaball_get),
1857  RTFUNCTAB_FUNC_ADJUST_CAST(rt_metaball_adjust),
1858  RTFUNCTAB_FUNC_FORM_CAST(rt_generic_form),
1859  NULL,
1860  RTFUNCTAB_FUNC_PARAMS_CAST(rt_metaball_params),
1861  RTFUNCTAB_FUNC_BBOX_CAST(rt_metaball_bbox),
1862  NULL,
1863  NULL,
1864  NULL,
1865  NULL,
1866  NULL,
1867  NULL,
1868  NULL
1869  },
1870 
1871 #if OBJ_BREP
1872  {
1873  /* 37 */
1874  RT_FUNCTAB_MAGIC, "ID_BREP", "brep",
1875  1,
1880  NULL,
1881  NULL,
1888  NULL,
1890  NULL,
1891  NULL,
1894  NULL,
1895  NULL,
1899  NULL,
1900  sizeof(struct rt_brep_internal),
1901  RT_BREP_INTERNAL_MAGIC,
1902  RTFUNCTAB_FUNC_GET_CAST(rt_brep_get),
1903  RTFUNCTAB_FUNC_ADJUST_CAST(rt_brep_adjust),
1904  RTFUNCTAB_FUNC_FORM_CAST(rt_generic_form),
1905  NULL,
1906  RTFUNCTAB_FUNC_PARAMS_CAST(rt_brep_params),
1907  RTFUNCTAB_FUNC_BBOX_CAST(rt_brep_bbox),
1908  NULL,
1909  NULL,
1910  NULL,
1911  NULL,
1912  RTFUNCTAB_FUNC_FIND_SELECTIONS_CAST(rt_brep_find_selections),
1913  NULL,
1914  RTFUNCTAB_FUNC_PROCESS_SELECTION_CAST(rt_brep_process_selection)
1915  },
1916 #else
1917  {
1918  /* 37 this entry for placeholder (so table offsets are correct) */
1919  RT_FUNCTAB_MAGIC, "ID_BREP_PLCHLDR", "brep",
1920  0,
1921  NULL,
1922  NULL,
1923  NULL,
1924  NULL,
1925  NULL,
1926  NULL,
1927  NULL,
1928  NULL,
1929  NULL,
1930  NULL,
1931  NULL,
1932  NULL,
1933  NULL,
1934  NULL,
1935  NULL,
1936  NULL,
1937  NULL,
1938  NULL,
1939  NULL,
1940  NULL,
1941  NULL,
1942  NULL,
1943  NULL,
1944  NULL,
1945  0,
1946  0,
1947  NULL,
1948  NULL,
1949  NULL,
1950  NULL,
1951  NULL,
1952  NULL,
1953  NULL,
1954  NULL,
1955  NULL,
1956  NULL,
1957  NULL,
1958  NULL,
1959  NULL
1960  },
1961 #endif
1962 
1963  {
1964  /* 38 (but "should" be 34) Hyperboloid */
1965  RT_FUNCTAB_MAGIC, "ID_HYP", "hyp",
1966  1,
1971  NULL,
1972  NULL,
1975  NULL,
1978  NULL,
1979  NULL,
1981  NULL,
1985  NULL,
1986  NULL,
1990  rt_hyp_parse,
1991  sizeof(struct rt_hyp_internal),
1992  RT_HYP_INTERNAL_MAGIC,
1993  RTFUNCTAB_FUNC_GET_CAST(rt_generic_get),
1994  RTFUNCTAB_FUNC_ADJUST_CAST(rt_generic_adjust),
1995  RTFUNCTAB_FUNC_FORM_CAST(rt_generic_form),
1996  NULL,
1997  RTFUNCTAB_FUNC_PARAMS_CAST(rt_hyp_params),
1998  RTFUNCTAB_FUNC_BBOX_CAST(rt_hyp_bbox),
1999  RTFUNCTAB_FUNC_VOLUME_CAST(rt_hyp_volume),
2000  RTFUNCTAB_FUNC_SURF_AREA_CAST(rt_hyp_surf_area),
2001  RTFUNCTAB_FUNC_CENTROID_CAST(rt_hyp_centroid),
2002  NULL,
2003  NULL,
2004  NULL,
2005  NULL
2006  },
2007 
2008  {
2009  /* 39 */
2010  RT_FUNCTAB_MAGIC, "ID_CONSTRAINT", "constrnt",
2011  0,
2012  NULL,
2013  NULL,
2014  NULL,
2015  NULL,
2016  NULL,
2017  NULL,
2018  NULL,
2019  NULL,
2020  NULL,
2021  NULL,
2022  NULL,
2023  NULL,
2024  NULL,
2025  NULL,
2026  NULL,
2027  NULL,
2030  NULL,
2031  NULL,
2033  NULL,
2034  NULL,
2035  NULL,
2036  0,
2037  0,
2038  NULL,
2039  NULL,
2040  NULL,
2041  NULL,
2042  NULL,
2043  NULL,
2044  NULL,
2045  NULL,
2046  NULL,
2047  NULL,
2048  NULL,
2049  NULL,
2050  NULL
2051  },
2052 
2053  {
2054  /* 40 */
2055  RT_FUNCTAB_MAGIC, "ID_REVOLVE", "revolve",
2056  1,
2061  NULL,
2062  NULL,
2068  NULL,
2069  NULL,
2071  NULL,
2075  NULL,
2076  NULL,
2081  sizeof(struct rt_revolve_internal),
2082  RT_REVOLVE_INTERNAL_MAGIC,
2083  RTFUNCTAB_FUNC_GET_CAST(rt_generic_get),
2084  RTFUNCTAB_FUNC_ADJUST_CAST(rt_generic_adjust),
2085  RTFUNCTAB_FUNC_FORM_CAST(rt_generic_form),
2086  RTFUNCTAB_FUNC_MAKE_CAST(rt_revolve_make),
2087  NULL,
2088  RTFUNCTAB_FUNC_BBOX_CAST(rt_revolve_bbox),
2089  NULL,
2090  NULL,
2091  NULL,
2092  NULL,
2093  NULL,
2094  NULL,
2095  NULL
2096  },
2097 
2098  {
2099  /* 41 */
2100  RT_FUNCTAB_MAGIC, "ID_PNTS", "pnts",
2101  0,
2102  NULL,
2103  NULL,
2105  NULL,
2106  NULL,
2107  NULL,
2108  NULL,
2109  NULL,
2110  NULL,
2111  NULL,
2113  NULL,
2114  NULL,
2115  NULL,
2116  NULL,
2120  NULL,
2121  NULL,
2125  NULL,
2126  sizeof(struct rt_pnts_internal),
2127  RT_PNTS_INTERNAL_MAGIC,
2128  NULL,
2129  NULL,
2130  NULL,
2131  NULL,
2132  NULL,
2133  RTFUNCTAB_FUNC_BBOX_CAST(rt_pnts_bbox),
2134  NULL,
2135  NULL,
2136  NULL,
2137  NULL,
2138  NULL,
2139  NULL,
2140  NULL
2141  },
2142 
2143  {
2144  /* 42 */
2145  RT_FUNCTAB_MAGIC, "ID_ANNOTATION", "anno",
2146  0,
2147  NULL,
2148  NULL,
2149  NULL,
2150  NULL,
2151  NULL,
2152  NULL,
2153  NULL,
2154  NULL,
2155  NULL,
2156  NULL,
2157  NULL,
2158  NULL,
2159  NULL,
2160  NULL,
2161  NULL,
2162  NULL,
2163  NULL,
2164  NULL,
2165  NULL,
2166  NULL,
2167  NULL,
2168  NULL,
2169  NULL,
2170  NULL,
2171  sizeof(struct rt_annotation_internal),
2172  RT_ANNOTATION_INTERNAL_MAGIC,
2173  NULL,
2174  NULL,
2175  NULL,
2176  NULL,
2177  NULL,
2178  NULL,
2179  NULL,
2180  NULL,
2181  NULL,
2182  NULL,
2183  NULL,
2184  NULL,
2185  NULL
2186  },
2187 
2188  {
2189  /* 43 */
2190  RT_FUNCTAB_MAGIC, "ID_HRT", "hrt",
2191  1,
2196  NULL,
2197  NULL,
2206  NULL,
2207  NULL,
2210  NULL,
2211  NULL,
2215  rt_hrt_parse,
2216  sizeof(struct rt_hrt_internal),
2217  RT_HRT_INTERNAL_MAGIC,
2218  RTFUNCTAB_FUNC_GET_CAST(rt_generic_get),
2219  RTFUNCTAB_FUNC_ADJUST_CAST(rt_generic_adjust),
2220  RTFUNCTAB_FUNC_FORM_CAST(rt_generic_form),
2221  NULL,
2222  RTFUNCTAB_FUNC_PARAMS_CAST(rt_hrt_params),
2223  RTFUNCTAB_FUNC_BBOX_CAST(rt_hrt_bbox),
2224  RTFUNCTAB_FUNC_VOLUME_CAST(rt_hrt_volume),
2225  RTFUNCTAB_FUNC_SURF_AREA_CAST(rt_hrt_surf_area),
2226  RTFUNCTAB_FUNC_CENTROID_CAST(rt_hrt_centroid),
2227  NULL,
2228  NULL,
2229  NULL,
2230  NULL
2231  },
2232 
2233  {
2234  /* this entry for sanity only */
2235  0L, ">ID_MAXIMUM", ">id_max",
2236  0,
2237  NULL,
2238  NULL,
2239  NULL,
2240  NULL,
2241  NULL,
2242  NULL,
2243  NULL,
2244  NULL,
2245  NULL,
2246  NULL,
2247  NULL,
2248  NULL,
2249  NULL,
2250  NULL,
2251  NULL,
2252  NULL,
2253  NULL,
2254  NULL,
2255  NULL,
2256  NULL,
2257  NULL,
2258  NULL,
2259  NULL,
2260  NULL,
2261  0,
2262  0,
2263  NULL,
2264  NULL,
2265  NULL,
2266  NULL,
2267  NULL,
2268  NULL,
2269  NULL,
2270  NULL,
2271  NULL,
2272  NULL,
2273  NULL,
2274  NULL,
2275  NULL
2276  }
2277 };
2278 
2279 
2280 /* Map for database solidrec objects to internal objects */
2281 static char idmap[] = {
2282  ID_NULL, /* undefined, 0 */
2283  ID_NULL, /* RPP 1 axis-aligned rectangular parallelepiped */
2284  ID_NULL, /* BOX 2 arbitrary rectangular parallelepiped */
2285  ID_NULL, /* RAW 3 right-angle wedge */
2286  ID_NULL, /* ARB4 4 tetrahedron */
2287  ID_NULL, /* ARB5 5 pyramid */
2288  ID_NULL, /* ARB6 6 extruded triangle */
2289  ID_NULL, /* ARB7 7 weird 7-vertex shape */
2290  ID_NULL, /* ARB8 8 hexahedron */
2291  ID_NULL, /* ELL 9 ellipsoid */
2292  ID_NULL, /* ELL1 10 another ellipsoid ? */
2293  ID_NULL, /* SPH 11 sphere */
2294  ID_NULL, /* RCC 12 right circular cylinder */
2295  ID_NULL, /* REC 13 right elliptic cylinder */
2296  ID_NULL, /* TRC 14 truncated regular cone */
2297  ID_NULL, /* TEC 15 truncated elliptic cone */
2298  ID_TOR, /* TOR 16 toroid */
2299  ID_NULL, /* TGC 17 truncated general cone */
2300  ID_TGC, /* GENTGC 18 supergeneralized TGC; internal form */
2301  ID_ELL, /* GENELL 19: V, A, B, C */
2302  ID_ARB8, /* GENARB8 20: V, and 7 other vectors */
2303  ID_NULL, /* HACK: ARS 21: arbitrary triangular-surfaced polyhedron */
2304  ID_NULL, /* HACK: ARSCONT 22: extension record type for ARS solid */
2305  ID_NULL, /* ELLG 23: gift-only */
2306  ID_HALF, /* HALFSPACE 24: halfspace */
2307  ID_NULL, /* HACK: SPLINE 25 */
2308  ID_RPC, /* HACK: RPC 26: right parabolic cylinder */
2309  ID_RHC, /* HACK: RHC 27: right hyperbolic cylinder */
2310  ID_EPA, /* HACK: EPA 28: elliptical paraboloid */
2311  ID_EHY, /* HACK: EHY 29: elliptical hyperboloid */
2312  ID_ETO, /* HACK: ETO 29: elliptical torus */
2313  ID_GRIP, /* HACK: GRP 30: grip pseudo solid */
2314  ID_NULL /* n+1 */
2315 };
2316 
2317 
2318 /**
2319  * Given a database record, determine the proper rt_functab subscript.
2320  * Used by MGED as well as internally to librt.
2321  *
2322  * Returns ID_xxx if successful, or ID_NULL upon failure.
2323  */
2324 int
2326 {
2327  register union record *rec;
2328  register int id;
2329 
2330  BU_CK_EXTERNAL(ep);
2331  rec = (union record *)ep->ext_buf;
2332 
2333  switch (rec->u_id) {
2334  case ID_SOLID:
2335  id = idmap[(int)(rec->s.s_type)];
2336  break;
2337  case ID_ARS_A:
2338  id = ID_ARS;
2339  break;
2340  case ID_P_HEAD:
2341  id = ID_POLY;
2342  break;
2343  case ID_BSOLID:
2344  id = ID_BSPLINE;
2345  break;
2346  case DBID_STRSOL:
2347  /* XXX This really needs to be some kind of table */
2348  if (BU_STR_EQUAL(rec->ss.ss_keyword, "ebm")) {
2349  id = ID_EBM;
2350  break;
2351  } else if (BU_STR_EQUAL(rec->ss.ss_keyword, "vol")) {
2352  id = ID_VOL;
2353  break;
2354  } else if (BU_STR_EQUAL(rec->ss.ss_keyword, "hf")) {
2355  id = ID_HF;
2356  break;
2357  } else if (BU_STR_EQUAL(rec->ss.ss_keyword, "dsp")) {
2358  id = ID_DSP;
2359  break;
2360  } else if (BU_STR_EQUAL(rec->ss.ss_keyword, "submodel")) {
2361  id = ID_SUBMODEL;
2362  break;
2363  }
2364  bu_log("rt_id_solid(%s): String solid type '%s' unknown\n",
2365  rec->ss.ss_name, rec->ss.ss_keyword);
2366  id = ID_NULL; /* BAD */
2367  break;
2368  case DBID_ARBN:
2369  id = ID_ARBN;
2370  break;
2371  case DBID_PIPE:
2372  id = ID_PIPE;
2373  break;
2374  case DBID_PARTICLE:
2375  id = ID_PARTICLE;
2376  break;
2377  case DBID_NMG:
2378  id = ID_NMG;
2379  break;
2380  case DBID_SKETCH:
2381  id = ID_SKETCH;
2382  break;
2383  case DBID_EXTR:
2384  id = ID_EXTRUDE;
2385  break;
2386  case DBID_CLINE:
2387  id = ID_CLINE;
2388  break;
2389  case DBID_BOT:
2390  id = ID_BOT;
2391  break;
2392  default:
2393  bu_log("rt_id_solid: u_id=x%x unknown\n", rec->u_id);
2394  id = ID_NULL; /* BAD */
2395  break;
2396  }
2397  if (id < ID_NULL || id > ID_MAX_SOLID) {
2398  bu_log("rt_id_solid: internal error, id=%d?\n", id);
2399  id = ID_NULL; /* very BAD */
2400  }
2401  return id;
2402 }
2403 
2404 
2405 /**
2406  * Given the Tcl 'label' for a given solid type, find the appropriate
2407  * entry in OBJ[].
2408  */
2409 const struct rt_functab *
2411 {
2412  register const struct rt_functab *ftp;
2413 
2414  for (ftp = OBJ; ftp->magic != 0; ftp++) {
2415  if (bu_strncmp(label, ftp->ft_label, 8) == 0)
2416  return ftp;
2417  }
2418  return NULL;
2419 }
2420 
2421 
2422 /*
2423  * Local Variables:
2424  * mode: C
2425  * tab-width: 8
2426  * indent-tabs-mode: t
2427  * c-file-style: "stroustrup"
2428  * End:
2429  * ex: shiftwidth=4 tabstop=8
2430  */
int rt_rhc_export4(struct bu_external *ep, const struct rt_db_internal *ip, double local2mm, const struct db_i *dbip)
Definition: rhc.c:1513
int rt_arb_tnurb(struct nmgregion **r, struct model *m, struct rt_db_internal *ip, const struct bn_tol *tol)
Definition: arb8.c:1580
Definition: joint.h:118
const struct bu_structparse rt_submodel_parse[]
Definition: submodel.c:50
int rt_ars_export4(struct bu_external *ep, const struct rt_db_internal *ip, double local2mm, const struct db_i *dbip)
Definition: ars.c:229
void rt_hrt_ifree(struct rt_db_internal *ip)
Definition: hrt.c:1672
int rt_arbn_describe(struct bu_vls *str, const struct rt_db_internal *ip, int verbose, double mm2local)
Definition: arbn.c:1057
int rt_arbn_export5(struct bu_external *ep, const struct rt_db_internal *ip, double local2mm, const struct db_i *dbip)
Definition: arbn.c:1004
int rt_part_plot(struct bu_list *vhead, struct rt_db_internal *ip, const struct rt_tess_tol *ttol, const struct bn_tol *tol, const struct rt_view_info *info)
Definition: part.c:921
void rt_ebm_curve(register struct curvature *cvp, register struct hit *hitp, struct soltab *stp)
Definition: ebm.c:1057
void rt_ell_ifree(struct rt_db_internal *ip)
Definition: ell.c:1462
void rt_revolve_ifree(struct rt_db_internal *ip)
Definition: revolve.c:1703
int rt_ebm_form(struct bu_vls *logstr, const struct rt_functab *ftp)
Definition: ebm.c:1660
int rt_ehy_tess(struct nmgregion **r, struct model *m, struct rt_db_internal *ip, const struct rt_tess_tol *ttol, const struct bn_tol *tol)
Definition: ehy.c:1160
int rt_pg_describe(struct bu_vls *str, const struct rt_db_internal *ip, int verbose, double mm2local)
Definition: poly.c:811
Definition: raytrace.h:800
int rt_binunif_get(struct bu_vls *logstr, const struct rt_db_internal *intern, const char *attr)
Definition: db5_bin.c:516
void rt_rpc_curve(struct curvature *cvp, struct hit *hitp, struct soltab *stp)
Definition: rpc.c:547
int rt_extrude_export5(struct bu_external *ep, const struct rt_db_internal *ip, double local2mm, const struct db_i *dbip)
Definition: extrude.c:2480
void rt_part_uv(struct application *ap, struct soltab *stp, register struct hit *hitp, register struct uvcoord *uvp)
Definition: part.c:835
#define ID_ARS
ARS.
Definition: raytrace.h:463
void rt_joint_free(struct soltab *stp)
Definition: joint.c:201
int rt_ars_describe(struct bu_vls *str, const struct rt_db_internal *ip, int verbose, double mm2local)
Definition: ars.c:409
void rt_sph_curve(register struct curvature *cvp, register struct hit *hitp, struct soltab *stp)
Definition: sph.c:581
int rt_tgc_import5(struct rt_db_internal *ip, const struct bu_external *ep, register const fastf_t *mat, const struct db_i *dbip)
Definition: tgc.c:1653
int rt_grp_import4(struct rt_db_internal *ip, const struct bu_external *ep, const fastf_t *mat, const struct db_i *dbip)
Definition: grip.c:253
int rt_ell_shot(struct soltab *stp, register struct xray *rp, struct application *ap, struct seg *seghead)
Definition: ell.c:389
void bu_log(const char *,...) _BU_ATTR_PRINTF12
Definition: log.c:176
void rt_submodel_uv(struct application *ap, struct soltab *stp, struct hit *hitp, struct uvcoord *uvp)
Definition: submodel.c:566
void rt_ebm_ifree(struct rt_db_internal *ip)
Definition: ebm.c:855
int rt_hf_import5(struct rt_db_internal *ip, const struct bu_external *ep, const fastf_t *mat, const struct db_i *dbip)
Definition: hf.c:2131
void rt_rpc_uv(struct application *ap, struct soltab *stp, struct hit *hitp, struct uvcoord *uvp)
Definition: rpc.c:581
int rt_submodel_export5(struct bu_external *ep, const struct rt_db_internal *ip, double local2mm, const struct db_i *dbip)
Definition: submodel.c:914
int rt_arbn_export4(struct bu_external *ep, const struct rt_db_internal *ip, double local2mm, const struct db_i *dbip)
Definition: arbn.c:874
#define RTFUNCTAB_FUNC_IMPORT4_CAST(_func)
Definition: raytrace.h:2150
int rt_hlf_describe(struct bu_vls *str, const struct rt_db_internal *ip, int verbose, double mm2local)
Definition: half.c:731
#define RTFUNCTAB_FUNC_ADAPTIVE_PLOT_CAST(_func)
Definition: raytrace.h:2105
void rt_bot_free(struct soltab *stp)
Definition: bot.c:466
void rt_joint_curve(struct curvature *cvp, struct hit *hitp, struct soltab *stp)
Definition: joint.c:171
int rt_hyp_shot(struct soltab *stp, struct xray *rp, struct application *ap, struct seg *seghead)
Definition: hyp.c:243
int rt_pipe_import4(struct rt_db_internal *ip, const struct bu_external *ep, const fastf_t *mat, const struct db_i *dbip)
Definition: pipe.c:3901
void rt_nmg_curve(struct curvature *cvp, struct hit *hitp, struct soltab *stp)
Definition: nmg.c:246
int rt_sketch_import5(struct rt_db_internal *ip, const struct bu_external *ep, const fastf_t *mat, const struct db_i *dbip)
Definition: sketch.c:1497
int rt_cline_plot(struct bu_list *vhead, struct rt_db_internal *ip, const struct rt_tess_tol *ttol, const struct bn_tol *tol, const struct rt_view_info *info)
Definition: cline.c:443
void rt_arb_ifree(struct rt_db_internal *ip)
Definition: arb8.c:1458
void rt_hlf_uv(struct application *ap, struct soltab *stp, register struct hit *hitp, register struct uvcoord *uvp)
Definition: half.c:308
int rt_extrude_export4(struct bu_external *ep, const struct rt_db_internal *ip, double local2mm, const struct db_i *dbip)
Definition: extrude.c:2432
#define RT_FUNCTAB_MAGIC
Definition: magic.h:160
const struct bu_structparse rt_rhc_parse[]
Definition: rhc.c:195
const struct bu_structparse rt_tor_parse[]
Definition: tor.c:138
int rt_rpc_import5(struct rt_db_internal *ip, const struct bu_external *ep, const fastf_t *mat, const struct db_i *dbip)
Definition: rpc.c:1416
void rt_vol_brep(ON_Brep **b, const struct rt_db_internal *ip, const struct bn_tol *tol)
Definition: vol_brep.cpp:40
int rt_hlf_import4(struct rt_db_internal *ip, const struct bu_external *ep, const fastf_t *mat, const struct db_i *dbip)
Definition: half.c:543
int rt_nmg_import4(struct rt_db_internal *ip, const struct bu_external *ep, const fastf_t *mat, const struct db_i *dbip)
Definition: nmg.c:2398
void rt_rec_free(struct soltab *stp)
Definition: rec.c:906
void rt_sph_norm(register struct hit *hitp, struct soltab *stp, register struct xray *rp)
Definition: sph.c:566
void rt_eto_brep(ON_Brep **b, const struct rt_db_internal *ip, const struct bn_tol *)
Definition: eto_brep.cpp:34
int rt_rhc_tess(struct nmgregion **r, struct model *m, struct rt_db_internal *ip, const struct rt_tess_tol *ttol, const struct bn_tol *tol)
Definition: rhc.c:1188
void rt_sph_vshot(struct soltab **stp, struct xray **rp, struct seg *segp, int n, struct application *ap)
Definition: sph.c:507
int rt_bot_prep(struct soltab *stp, struct rt_db_internal *ip, struct rt_i *rtip)
Definition: bot.c:249
void rt_pg_curve(struct curvature *cvp, struct hit *hitp, struct soltab *stp)
Definition: poly.c:554
void rt_hf_print(const struct soltab *stp)
Definition: hf.c:422
void rt_cline_print(register const struct soltab *stp)
Definition: cline.c:150
#define RTFUNCTAB_FUNC_IMPORT5_CAST(_func)
Definition: raytrace.h:2136
void rt_sketch_norm(struct hit *hitp, struct soltab *stp, struct xray *rp)
Definition: sketch.c:186
int rt_nurb_plot(struct bu_list *vhead, struct rt_db_internal *ip, const struct rt_tess_tol *ttol, const struct bn_tol *tol, const struct rt_view_info *info)
Definition: bspline.cpp:595
void rt_hyp_norm(struct hit *hitp, struct soltab *stp, struct xray *rp)
Definition: hyp.c:412
int rt_hf_shot(struct soltab *stp, struct xray *rp, struct application *ap, struct seg *seghead)
Definition: hf.c:785
int rt_ars_export5(struct bu_external *ep, const struct rt_db_internal *ip, double local2mm, const struct db_i *dbip)
Definition: ars.c:361
#define RT_DECLARE_INTERFACE(name)
Definition: table.c:43
int rt_sketch_plot(struct bu_list *vhead, struct rt_db_internal *ip, const struct rt_tess_tol *ttol, const struct bn_tol *tol, const struct rt_view_info *info)
Definition: sketch.c:887
int rt_superell_shot(struct soltab *stp, struct xray *rp, struct application *ap, struct seg *seghead)
Definition: superell.c:396
int rt_nurb_export4(struct bu_external *ep, const struct rt_db_internal *ip, double local2mm, const struct db_i *dbip)
Definition: bspline.cpp:890
int rt_pipe_describe(struct bu_vls *str, const struct rt_db_internal *ip, int verbose, double mm2local)
Definition: pipe.c:4199
void rt_nurb_norm(register struct hit *hitp, struct soltab *stp, register struct xray *rp)
Definition: bspline.cpp:477
#define ID_PIPE
Pipe (wire) solid.
Definition: raytrace.h:473
int rt_pg_tess(struct nmgregion **r, struct model *m, struct rt_db_internal *ip, const struct rt_tess_tol *ttol, const struct bn_tol *tol)
Definition: poly.c:567
int rt_eto_shot(struct soltab *stp, struct xray *rp, struct application *ap, struct seg *seghead)
Definition: eto.c:336
int rt_arb_shot(struct soltab *stp, register struct xray *rp, struct application *ap, struct seg *seghead)
Definition: arb8.c:828
int rt_epa_describe(struct bu_vls *str, const struct rt_db_internal *ip, int verbose, double mm2local)
Definition: epa.c:1828
int rt_rec_prep(struct soltab *stp, struct rt_db_internal *ip, struct rt_i *rtip)
Definition: rec.c:275
int rt_ars_plot(struct bu_list *vhead, struct rt_db_internal *ip, const struct rt_tess_tol *ttol, const struct bn_tol *tol, const struct rt_view_info *info)
Definition: ars.c:1058
void rt_nurb_ifree(struct rt_db_internal *ip)
Definition: bspline.cpp:1216
void rt_hyp_brep(ON_Brep **b, const struct rt_db_internal *ip, const struct bn_tol *)
Definition: hyp_brep.cpp:34
void rt_rpc_norm(struct hit *hitp, struct soltab *stp, struct xray *rp)
Definition: rpc.c:514
int rt_arbn_tess(struct nmgregion **r, struct model *m, struct rt_db_internal *ip, const struct rt_tess_tol *ttol, const struct bn_tol *tol)
Definition: arbn.c:554
int rt_brep_plot(struct bu_list *vhead, struct rt_db_internal *ip, const struct rt_tess_tol *ttol, const struct bn_tol *tol, const struct rt_view_info *info)
Definition: brep.cpp:4245
void rt_bot_brep(ON_Brep **b, const struct rt_db_internal *ip, const struct bn_tol *tol)
Definition: bot_brep.cpp:40
int rt_superell_prep(struct soltab *stp, struct rt_db_internal *ip, struct rt_i *rtip)
Definition: superell.c:254
void rt_tor_brep(ON_Brep **b, const struct rt_db_internal *ip, const struct bn_tol *tol)
Definition: tor_brep.cpp:113
int rt_extrude_plot(struct bu_list *vhead, struct rt_db_internal *ip, const struct rt_tess_tol *ttol, const struct bn_tol *tol, const struct rt_view_info *info)
Definition: extrude.c:1392
int rt_ehy_import4(struct rt_db_internal *ip, const struct bu_external *ep, const fastf_t *mat, const struct db_i *dbip)
Definition: ehy.c:1608
const struct bu_structparse rt_ell_parse[]
Definition: ell.c:49
void rt_arb_brep(ON_Brep **b, const struct rt_db_internal *ip, const struct bn_tol *tol)
Definition: arb8_brep.cpp:41
void rt_rec_uv(struct application *ap, struct soltab *stp, struct hit *hitp, struct uvcoord *uvp)
Definition: rec.c:830
int rt_superell_plot(struct bu_list *vhead, struct rt_db_internal *ip, const struct rt_tess_tol *ttol, const struct bn_tol *tol, const struct rt_view_info *info)
Definition: superell.c:674
int rt_tgc_export4(struct bu_external *ep, const struct rt_db_internal *ip, double local2mm, const struct db_i *dbip)
Definition: tgc.c:1616
int rt_part_shot(struct soltab *stp, register struct xray *rp, struct application *ap, struct seg *seghead)
Definition: part.c:449
int rt_constraint_export5(struct bu_external *ep, const struct rt_db_internal *ip, double local2mm, const struct db_i *dbip, struct resource *resp)
Definition: constraint.c:72
int rt_arbn_shot(struct soltab *stp, struct xray *rp, struct application *ap, struct seg *seghead)
Definition: arbn.c:238
void rt_metaball_curve(struct curvature *cvp, struct hit *hitp, struct soltab *stp)
Definition: metaball.c:549
#define ID_ARB8
Generalized ARB. V + 7 vectors.
Definition: raytrace.h:462
void rt_extrude_brep(ON_Brep **b, const struct rt_db_internal *ip, const struct bn_tol *tol)
void rt_hrt_print(register const struct soltab *stp)
Definition: hrt.c:344
#define ID_SUBMODEL
Instanced submodel.
Definition: raytrace.h:486
void rt_sketch_uv(struct application *ap, struct soltab *stp, struct hit *hitp, struct uvcoord *uvp)
Definition: sketch.c:225
int rt_hrt_export5(struct bu_external *ep, const struct rt_db_internal *ip, double local2mm, const struct db_i *dbip)
Definition: hrt.c:1523
int rt_hlf_export4(struct bu_external *ep, const struct rt_db_internal *ip, double local2mm, const struct db_i *dbip)
Definition: half.c:603
int rt_hlf_import5(struct rt_db_internal *ip, const struct bu_external *ep, register const fastf_t *mat, const struct db_i *dbip)
Definition: half.c:630
void rt_tor_curve(register struct curvature *cvp, register struct hit *hitp, struct soltab *stp)
Definition: tor.c:835
#define ID_GRIP
Pseudo Solid Grip.
Definition: raytrace.h:480
int rt_tgc_describe(struct bu_vls *str, const struct rt_db_internal *ip, int verbose, double mm2local)
Definition: tgc.c:1730
const struct bu_structparse rt_joint_parse[]
Definition: joint.c:67
void rt_ehy_norm(struct hit *hitp, struct soltab *stp, struct xray *rp)
Definition: ehy.c:488
void rt_superell_uv(struct application *ap, struct soltab *stp, struct hit *hitp, struct uvcoord *uvp)
Definition: superell.c:607
int rt_dsp_import5(struct rt_db_internal *ip, const struct bu_external *ep, register const fastf_t *mat, const struct db_i *dbip, struct resource *resp)
Definition: dsp.c:4320
const struct bu_structparse rt_epa_parse[]
Definition: epa.c:178
void rt_rhc_brep(ON_Brep **b, const struct rt_db_internal *ip, const struct bn_tol *tol)
Definition: rhc_brep.cpp:34
#define ID_BOT
Bag o' triangles.
Definition: raytrace.h:488
int rt_binunif_describe(struct bu_vls *str, const struct rt_db_internal *ip, int verbose, double mm2local, struct resource *resp, struct db_i *db_i)
void rt_ebm_brep(ON_Brep **b, const struct rt_db_internal *ip, const struct bn_tol *tol)
Definition: ebm_brep.cpp:40
void rt_sph_free(register struct soltab *stp)
Definition: sph.c:636
void rt_ebm_free(struct soltab *stp)
Definition: ebm.c:1087
void rt_revolve_brep(ON_Brep **b, const struct rt_db_internal *ip, const struct bn_tol *tol)
void rt_arb_free(register struct soltab *stp)
Definition: arb8.c:1120
void rt_hlf_brep(ON_Brep **b, const struct rt_db_internal *ip, const struct bn_tol *)
Definition: half_brep.cpp:35
int rt_ebm_export5(struct bu_external *ep, const struct rt_db_internal *ip, double local2mm, const struct db_i *dbip)
Definition: ebm.c:781
int rt_vol_describe(struct bu_vls *str, const struct rt_db_internal *ip, int verbose, double mm2local)
Definition: vol.c:673
int rt_epa_shot(struct soltab *stp, struct xray *rp, struct application *ap, struct seg *seghead)
Definition: epa.c:361
int rt_epa_prep(struct soltab *stp, struct rt_db_internal *ip, struct rt_i *rtip)
Definition: epa.c:253
int rt_sph_prep(struct soltab *stp, struct rt_db_internal *ip, struct rt_i *rtip)
Definition: sph.c:300
void rt_pnts_ifree(struct rt_db_internal *internal)
Definition: pnts.c:663
#define ID_PARTICLE
Particle system solid.
Definition: raytrace.h:474
int rt_ebm_import5(struct rt_db_internal *ip, const struct bu_external *ep, const fastf_t *mat, const struct db_i *dbip)
Definition: ebm.c:679
int rt_ehy_prep(struct soltab *stp, struct rt_db_internal *ip, struct rt_i *rtip)
Definition: ehy.c:257
void rt_hrt_curve(void)
Definition: hrt.c:966
void rt_rec_curve(struct curvature *cvp, struct hit *hitp, struct soltab *stp)
Definition: rec.c:790
void rt_vol_norm(register struct hit *hitp, struct soltab *stp, register struct xray *rp)
Definition: vol.c:838
int rt_cline_class(const struct soltab *stp, const fastf_t *min, const fastf_t *max, const struct bn_tol *tol)
Definition: cline.c:431
#define ID_NULL
Unused.
Definition: raytrace.h:458
void rt_nmg_uv(struct application *ap, struct soltab *stp, struct hit *hitp, struct uvcoord *uvp)
Definition: nmg.c:269
int rt_eto_describe(struct bu_vls *str, const struct rt_db_internal *ip, int verbose, double mm2local)
Definition: eto.c:1481
int rt_comb_form(struct bu_vls *logstr, const struct rt_functab *ftp)
Definition: comb.c:1069
int rt_hyp_tess(struct nmgregion **r, struct model *m, struct rt_db_internal *ip, const struct rt_tess_tol *ttol, const struct bn_tol *tol)
Definition: hyp.c:698
int rt_rhc_export5(struct bu_external *ep, const struct rt_db_internal *ip, double local2mm, const struct db_i *dbip)
Definition: rhc.c:1608
int rt_revolve_tess(struct nmgregion **r, struct model *m, struct rt_db_internal *ip, const struct rt_tess_tol *ttol, const struct bn_tol *tol)
Definition: revolve.c:1427
void rt_ehy_print(const struct soltab *stp)
Definition: ehy.c:333
#define RTFUNCTAB_FUNC_SHOT_CAST(_func)
Definition: raytrace.h:2056
void rt_pipe_ifree(struct rt_db_internal *ip)
Definition: pipe.c:4250
void rt_joint_print(const struct soltab *stp)
Definition: joint.c:111
int rt_tor_shot(struct soltab *stp, register struct xray *rp, struct application *ap, struct seg *seghead)
Definition: tor.c:345
int rt_hyp_import5(struct rt_db_internal *ip, const struct bu_external *ep, const mat_t mat, const struct db_i *dbip)
Definition: hyp.c:1187
void rt_tgc_ifree(struct rt_db_internal *ip)
Definition: tgc.c:1813
int rt_brep_shot(struct soltab *stp, register struct xray *rp, struct application *ap, struct seg *seghead)
Definition: brep.cpp:1186
void rt_superell_brep(ON_Brep **b, const struct rt_db_internal *ip, const struct bn_tol *tol)
int rt_rpc_import4(struct rt_db_internal *ip, const struct bu_external *ep, const fastf_t *mat, const struct db_i *dbip)
Definition: rpc.c:1302
void rt_extrude_ifree(struct rt_db_internal *ip)
Definition: extrude.c:2628
int rt_ebm_describe(struct bu_vls *str, const struct rt_db_internal *ip, int verbose, double mm2local)
Definition: ebm.c:818
#define RTFUNCTAB_FUNC_TESS_CAST(_func)
Definition: raytrace.h:2119
void rt_ehy_curve(struct curvature *cvp, struct hit *hitp, struct soltab *stp)
Definition: ehy.c:524
#define ID_HF
Height Field.
Definition: raytrace.h:482
int rt_ell_export4(struct bu_external *ep, const struct rt_db_internal *ip, double local2mm, const struct db_i *dbip)
Definition: ell.c:1281
int rt_grp_describe(struct bu_vls *str, const struct rt_db_internal *ip, int verbose, double mm2local)
Definition: grip.c:421
#define RTFUNCTAB_FUNC_PLOT_CAST(_func)
Definition: raytrace.h:2101
Header file for the BRL-CAD common definitions.
void rt_vol_uv(struct application *ap, struct soltab *stp, register struct hit *hitp, register struct uvcoord *uvp)
Definition: vol.c:897
int rt_sketch_import4(struct rt_db_internal *ip, const struct bu_external *ep, const fastf_t *mat, const struct db_i *dbip)
Definition: sketch.c:1103
int rt_pg_import4(struct rt_db_internal *ip, const struct bu_external *ep, const fastf_t *mat, const struct db_i *dbip)
Definition: poly.c:643
void rt_joint_uv(struct application *ap, struct soltab *stp, struct hit *hitp, struct uvcoord *uvp)
Definition: joint.c:189
int rt_pipe_tess(struct nmgregion **r, struct model *m, struct rt_db_internal *ip, const struct rt_tess_tol *ttol, const struct bn_tol *tol)
Definition: pipe.c:3709
int rt_hf_describe(struct bu_vls *str, const struct rt_db_internal *ip, int verbose, double mm2local)
Definition: hf.c:2164
int rt_arb_import4(struct rt_db_internal *ip, const struct bu_external *ep, register const fastf_t *mat, const struct db_i *dbip)
Definition: arb8.c:1200
int rt_comb_get(struct bu_vls *logstr, const struct rt_db_internal *intern, const char *item)
Definition: comb.c:793
int rt_tgc_tess(struct nmgregion **r, struct model *m, struct rt_db_internal *ip, const struct rt_tess_tol *ttol, const struct bn_tol *tol)
Definition: tgc.c:2145
int rt_ars_import5(struct rt_db_internal *ip, const struct bu_external *ep, const fastf_t *mat, const struct db_i *dbip)
Definition: ars.c:306
#define ID_TOR
Toroid.
Definition: raytrace.h:459
void rt_metaball_uv(struct application *ap, struct soltab *stp, struct hit *hitp, struct uvcoord *uvp)
Definition: metaball.c:569
#define RTFUNCTAB_FUNC_XFORM_CAST(_func)
Definition: raytrace.h:2174
void rt_arb_vshot(struct soltab **stp, struct xray **rp, struct seg *segp, int n, struct application *ap)
Definition: arb8.c:916
#define ID_CLINE
FASTGEN4 CLINE solid.
Definition: raytrace.h:487
void rt_arb_print(register const struct soltab *stp)
Definition: arb8.c:785
#define ID_BSPLINE
B-spline object.
Definition: raytrace.h:467
const struct bu_structparse rt_eto_parse[]
Definition: eto.c:144
int rt_hf_plot(struct bu_list *vhead, struct rt_db_internal *ip, const struct rt_tess_tol *ttol, const struct bn_tol *tol, const struct rt_view_info *info)
Definition: hf.c:1645
void rt_tor_print(register const struct soltab *stp)
Definition: tor.c:301
void rt_submodel_curve(struct curvature *cvp, struct hit *hitp, struct soltab *stp)
Definition: submodel.c:542
void rt_nmg_ifree(struct rt_db_internal *ip)
Definition: nmg.c:2753
void rt_joint_brep(ON_Brep **b, const struct rt_db_internal *ip, const struct bn_tol *)
Definition: joint_brep.cpp:35
void rt_sketch_brep(ON_Brep **bi, struct rt_db_internal *ip, const struct bn_tol *tol)
int rt_ell_import5(struct rt_db_internal *ip, const struct bu_external *ep, register const fastf_t *mat, const struct db_i *dbip)
Definition: ell.c:1316
int rt_grp_prep(struct soltab *stp, struct rt_db_internal *ip, struct rt_i *rtip)
Definition: grip.c:69
void rt_sketch_ifree(struct rt_db_internal *ip)
Definition: sketch.c:2142
#define RTFUNCTAB_FUNC_FORM_CAST(_func)
Definition: raytrace.h:2187
char ft_label[9]
Definition: raytrace.h:2044
int rt_ehy_import5(struct rt_db_internal *ip, const struct bu_external *ep, const fastf_t *mat, const struct db_i *dbip)
Definition: ehy.c:1741
int rt_bot_class(const struct soltab *stp, const fastf_t *min, const fastf_t *max, const struct bn_tol *tol)
Definition: bot.c:485
int rt_dsp_prep(struct soltab *stp, struct rt_db_internal *ip, struct rt_i *rtip)
Definition: dsp.c:982
int rt_cline_import5(struct rt_db_internal *ip, const struct bu_external *ep, register const fastf_t *mat, const struct db_i *dbip)
Definition: cline.c:890
int rt_rhc_adaptive_plot(struct rt_db_internal *ip, const struct rt_view_info *info)
Definition: rhc.c:915
int rt_pg_export4(struct bu_external *ep, const struct rt_db_internal *ip, double local2mm, const struct db_i *dbip)
Definition: poly.c:725
int rt_submodel_describe(struct bu_vls *str, const struct rt_db_internal *ip, int verbose, double mm2local)
Definition: submodel.c:944
int rt_dsp_import4(struct rt_db_internal *ip, const struct bu_external *ep, register const fastf_t *mat, const struct db_i *dbip)
Definition: dsp.c:4193
void rt_ell_vshot(struct soltab **stp, struct xray **rp, struct seg *segp, int n, struct application *ap)
Definition: ell.c:437
int rt_pipe_plot(struct bu_list *vhead, struct rt_db_internal *ip, const struct rt_tess_tol *ttol, const struct bn_tol *tol, const struct rt_view_info *info)
Definition: pipe.c:2342
const struct bu_structparse rt_arb_parse[]
Definition: arb8.c:147
void rt_dsp_brep(ON_Brep **b, const struct rt_db_internal *ip, const struct bn_tol *)
Definition: dsp_brep.cpp:104
void rt_eto_free(struct soltab *stp)
Definition: eto.c:712
const struct bu_structparse rt_superell_parse[]
Definition: superell.c:50
void rt_hf_norm(struct hit *hitp, struct soltab *stp, struct xray *rp)
Definition: hf.c:1537
int rt_nurb_export5(struct bu_external *ep, const struct rt_db_internal *ip, double local2mm, const struct db_i *dbip)
Definition: bspline.cpp:995
void rt_revolve_curve(struct curvature *cvp, struct hit *hitp, struct soltab *stp)
Definition: revolve.c:1082
void rt_sketch_free(struct soltab *stp)
Definition: sketch.c:236
void rt_grp_uv(struct application *ap, struct soltab *stp, struct hit *hitp, struct uvcoord *uvp)
Definition: grip.c:172
int rt_pipe_shot(struct soltab *stp, struct xray *rp, struct application *ap, struct seg *seghead)
Definition: pipe.c:1681
int rt_revolve_xform(struct rt_db_internal *op, const mat_t mat, struct rt_db_internal *ip, int release, struct db_i *dbip, struct resource *resp)
Definition: revolve.c:1538
void rt_epa_curve(struct curvature *cvp, struct hit *hitp, struct soltab *stp)
Definition: epa.c:513
int rt_hlf_tess(struct nmgregion **r, struct model *m, struct rt_db_internal *ip, const struct rt_tess_tol *ttol, const struct bn_tol *tol)
Definition: half.c:767
int rt_ehy_export5(struct bu_external *ep, const struct rt_db_internal *ip, double local2mm, const struct db_i *dbip)
Definition: ehy.c:1789
void rt_joint_ifree(struct rt_db_internal *ip)
Definition: joint.c:456
#define RTFUNCTAB_FUNC_VSHOT_CAST(_func)
Definition: raytrace.h:2112
int rt_eto_tess(struct nmgregion **r, struct model *m, struct rt_db_internal *ip, const struct rt_tess_tol *ttol, const struct bn_tol *tol)
Definition: eto.c:1110
int rt_ell_plot(struct bu_list *vhead, struct rt_db_internal *ip, const struct rt_tess_tol *ttol, const struct bn_tol *tol, const struct rt_view_info *info)
Definition: ell.c:793
int rt_ell_import4(struct rt_db_internal *ip, const struct bu_external *ep, register const fastf_t *mat, const struct db_i *dbip)
Definition: ell.c:1241
void rt_extrude_curve(struct curvature *cvp, struct hit *hitp, struct soltab *stp)
Definition: extrude.c:1314
int rt_bot_import5(struct rt_db_internal *ip, const struct bu_external *ep, const fastf_t *mat, const struct db_i *dbip)
Definition: bot.c:1067
#define ID_VOL
3-D Volume
Definition: raytrace.h:471
void rt_vol_curve(register struct curvature *cvp, register struct hit *hitp, struct soltab *stp)
Definition: vol.c:880
int rt_grp_tess(struct nmgregion **r, struct model *m, struct rt_db_internal *ip, const struct rt_tess_tol *ttol, const struct bn_tol *tol)
Definition: grip.c:463
int rt_grp_export4(struct bu_external *ep, const struct rt_db_internal *ip, double local2mm, const struct db_i *dbip)
Definition: grip.c:307
void rt_sph_uv(struct application *ap, struct soltab *stp, register struct hit *hitp, register struct uvcoord *uvp)
Definition: sph.c:601
const struct bu_structparse rt_ebm_parse[]
Definition: ebm.c:65
void rt_hf_free(struct soltab *stp)
Definition: hf.c:1631
void rt_pipe_norm(struct hit *hitp, struct soltab *stp, struct xray *rp)
Definition: pipe.c:1591
int rt_part_describe(struct bu_vls *str, const struct rt_db_internal *ip, int verbose, double mm2local)
Definition: part.c:1660
int rt_joint_plot(struct bu_list *vhead, struct rt_db_internal *ip, const struct rt_tess_tol *ttol, const struct bn_tol *tol, const struct rt_view_info *info)
Definition: joint.c:226
const struct bu_structparse rt_hlf_parse[]
Definition: half.c:63
int rt_extrude_import5(struct rt_db_internal *ip, const struct bu_external *ep, const mat_t mat, const struct db_i *dbip, struct resource *resp)
Definition: extrude.c:2529
int rt_nurb_import5(struct rt_db_internal *ip, const struct bu_external *ep, register const fastf_t *mat, const struct db_i *dbip)
Definition: bspline.cpp:1091
const struct bu_structparse rt_vol_parse[]
Definition: vol.c:67
void rt_bot_curve(struct curvature *cvp, struct hit *hitp, struct soltab *stp)
Definition: bot.c:436
void rt_brep_norm(register struct hit *hitp, struct soltab *stp, register struct xray *rp)
int rt_epa_import4(struct rt_db_internal *ip, const struct bu_external *ep, const fastf_t *mat, const struct db_i *dbip)
Definition: epa.c:1588
void rt_hyp_print(const struct soltab *stp)
Definition: hyp.c:215
int rt_pipe_export4(struct bu_external *ep, const struct rt_db_internal *ip, double local2mm, const struct db_i *dbip)
Definition: pipe.c:3975
int rt_rhc_shot(struct soltab *stp, struct xray *rp, struct application *ap, struct seg *seghead)
Definition: rhc.c:384
void rt_tgc_uv(struct application *ap, struct soltab *stp, register struct hit *hitp, register struct uvcoord *uvp)
Definition: tgc.c:1504
int rt_tor_import4(struct rt_db_internal *ip, const struct bu_external *ep, register const fastf_t *mat, const struct db_i *dbip)
Definition: tor.c:1380
int rt_ebm_shot(struct soltab *stp, register struct xray *rp, struct application *ap, struct seg *seghead)
Definition: ebm.c:984
int rt_hf_export5(struct bu_external *ep, const struct rt_db_internal *ip, double local2mm, const struct db_i *dbip)
Definition: hf.c:2145
int rt_sketch_form(struct bu_vls *logstr, const struct rt_functab *ftp)
Definition: sketch.c:2340
int rt_joint_shot(struct soltab *stp, struct xray *rp, struct application *ap, struct seg *seghead)
Definition: joint.c:140
void rt_rec_print(const struct soltab *stp)
Definition: rec.c:399
int rt_hf_export4(struct bu_external *ep, const struct rt_db_internal *ip, double local2mm, const struct db_i *dbip)
Definition: hf.c:2090
int rt_part_import4(struct rt_db_internal *ip, const struct bu_external *ep, register const fastf_t *mat, const struct db_i *dbip)
Definition: part.c:1413
int rt_pg_shot(struct soltab *stp, struct xray *rp, struct application *ap, struct seg *seghead)
Definition: poly.c:232
void rt_dsp_norm(register struct hit *hitp, struct soltab *stp, register struct xray *rp)
Definition: dsp.c:2807
void rt_brep_ifree(struct rt_db_internal *ip)
Definition: brep.cpp:4786
void rt_eto_curve(struct curvature *cvp, struct hit *hitp, struct soltab *stp)
Definition: eto.c:607
void rt_ell_brep(ON_Brep **b, const struct rt_db_internal *ip, const struct bn_tol *tol)
Definition: ell_brep.cpp:33
int bu_strncmp(const char *string1, const char *string2, size_t n)
Definition: str.c:191
int rt_tgc_tnurb(struct nmgregion **r, struct model *m, struct rt_db_internal *ip, const struct bn_tol *tol)
Definition: tgc.c:2820
void rt_ell_norm(register struct hit *hitp, struct soltab *stp, register struct xray *rp)
Definition: ell.c:496
int rt_dsp_export4(struct bu_external *ep, const struct rt_db_internal *ip, double local2mm, const struct db_i *dbip)
Definition: dsp.c:4272
void rt_grp_print(const struct soltab *stp)
Definition: grip.c:97
void rt_grp_curve(struct curvature *cvp, struct hit *hitp, struct soltab *stp)
Definition: grip.c:154
void rt_hrt_free(struct soltab *stp)
Definition: hrt.c:980
int rt_comb_import5(struct rt_db_internal *ip, const struct bu_external *ep, const mat_t mat, const struct db_i *dbip, struct resource *resp)
Definition: comb.c:451
void rt_pipe_brep(ON_Brep **b, struct rt_db_internal *ip, const struct bn_tol *tol)
void rt_grp_free(struct soltab *stp)
Definition: grip.c:184
int rt_extrude_import4(struct rt_db_internal *ip, const struct bu_external *ep, const fastf_t *mat, const struct db_i *dbip, struct resource *resp)
Definition: extrude.c:2361
int rt_vol_prep(struct soltab *stp, struct rt_db_internal *ip, struct rt_i *rtip)
Definition: vol.c:766
#define ID_DSP
Displacement map.
Definition: raytrace.h:483
void rt_pg_norm(struct hit *hitp, struct soltab *stp, struct xray *rp)
Definition: poly.c:461
const struct bu_structparse rt_hf_parse[]
Definition: hf.c:66
int rt_ell_tnurb(struct nmgregion **r, struct model *m, struct rt_db_internal *ip, const struct bn_tol *tol)
Definition: ell.c:1484
int rt_nmg_tess(struct nmgregion **r, struct model *m, struct rt_db_internal *ip, const struct rt_tess_tol *ttol, const struct bn_tol *tol)
Definition: nmg.c:317
void rt_superell_print(const struct soltab *stp)
Definition: superell.c:372
int rt_bot_import4(struct rt_db_internal *ip, const struct bu_external *ep, const fastf_t *mat, const struct db_i *dbip)
Definition: bot.c:892
void rt_hlf_vshot(struct soltab **stp, struct xray **rp, struct seg *segp, int n, struct application *ap)
Definition: half.c:198
int rt_hyp_export5(struct bu_external *ep, const struct rt_db_internal *ip, double local2mm, const struct db_i *dbip)
Definition: hyp.c:1239
void rt_hyp_free(struct soltab *stp)
Definition: hyp.c:581
void rt_grp_ifree(struct rt_db_internal *ip)
Definition: grip.c:453
int rt_dsp_describe(struct bu_vls *str, const struct rt_db_internal *ip, int verbose, double mm2local, struct resource *resp, struct db_i *db_ip)
Definition: dsp.c:4534
void rt_eto_print(const struct soltab *stp)
Definition: eto.c:289
int rt_superell_import5(struct rt_db_internal *ip, const struct bu_external *ep, const fastf_t *mat, const struct db_i *dbip)
Definition: superell.c:862
int rt_metaball_shot(struct soltab *stp, register struct xray *rp, struct application *ap, struct seg *seghead)
Definition: metaball.c:365
int rt_rpc_prep(struct soltab *stp, struct rt_db_internal *ip, struct rt_i *rtip)
Definition: rpc.c:263
int rt_hyp_describe(struct bu_vls *str, const struct rt_db_internal *ip, int verbose, double mm2local)
Definition: hyp.c:1281
int rt_joint_export4(struct bu_external *ep, const struct rt_db_internal *ip, double local2mm, const struct db_i *dbip)
Definition: joint.c:288
#define ID_EHY
Elliptical Hyperboloid.
Definition: raytrace.h:478
#define ID_EBM
Extruded bitmap solid.
Definition: raytrace.h:470
void rt_grp_brep(ON_Brep **b, const struct rt_db_internal *ip, const struct bn_tol *)
Definition: grip_brep.cpp:35
void rt_ehy_ifree(struct rt_db_internal *ip)
Definition: ehy.c:1894
int rt_rpc_shot(struct soltab *stp, struct xray *rp, struct application *ap, struct seg *seghead)
Definition: rpc.c:369
int rt_nmg_plot(struct bu_list *vhead, struct rt_db_internal *ip, const struct rt_tess_tol *ttol, const struct bn_tol *tol, const struct rt_view_info *info)
Definition: nmg.c:291
int rt_tor_export5(struct bu_external *ep, const struct rt_db_internal *ip, double local2mm, const struct db_i *dbip)
Definition: tor.c:1441
void rt_cline_ifree(struct rt_db_internal *ip)
Definition: cline.c:999
void rt_sph_print(register const struct soltab *stp)
Definition: sph.c:394
int rt_bot_shot(struct soltab *stp, struct xray *rp, struct application *ap, struct seg *seghead)
Definition: bot.c:350
void rt_revolve_free(struct soltab *stp)
Definition: revolve.c:1195
int rt_submodel_export4(struct bu_external *ep, const struct rt_db_internal *ip, double local2mm, const struct db_i *dbip)
Definition: submodel.c:829
int rt_tgc_prep(struct soltab *stp, struct rt_db_internal *ip, struct rt_i *rtip)
Definition: tgc.c:205
int rt_cline_import4(struct rt_db_internal *ip, const struct bu_external *ep, const fastf_t *mat, const struct db_i *dbip)
Definition: cline.c:801
void rt_eto_uv(struct application *ap, struct soltab *stp, struct hit *hitp, struct uvcoord *uvp)
Definition: eto.c:670
void rt_vol_print(register const struct soltab *stp)
Definition: vol.c:817
void rt_revolve_norm(struct hit *hitp, struct soltab *stp, struct xray *rp)
Definition: revolve.c:1011
int rt_rhc_import4(struct rt_db_internal *ip, const struct bu_external *ep, const fastf_t *mat, const struct db_i *dbip)
Definition: rhc.c:1441
const struct bu_structparse rt_dsp_parse[]
Definition: dsp.c:257
int rt_brep_prep(struct soltab *stp, struct rt_db_internal *ip, struct rt_i *rtip)
Definition: brep.cpp:453
int rt_rpc_plot(struct bu_list *vhead, struct rt_db_internal *ip, const struct rt_tess_tol *ttol, const struct bn_tol *tol, const struct rt_view_info *info)
Definition: rpc.c:894
void rt_nurb_free(register struct soltab *stp)
Definition: bspline.cpp:555
int rt_rhc_prep(struct soltab *stp, struct rt_db_internal *ip, struct rt_i *rtip)
Definition: rhc.c:273
void rt_rhc_print(const struct soltab *stp)
Definition: rhc.c:354
void rt_constraint_ifree(struct rt_db_internal *ip)
Definition: constraint.c:55
int rt_ebm_import4(struct rt_db_internal *ip, const struct bu_external *ep, const fastf_t *mat, const struct db_i *dbip)
Definition: ebm.c:531
int rt_binunif_adjust(struct bu_vls *logstr, struct rt_db_internal *intern, int argc, const char **argv)
int rt_generic_class(const struct soltab *, const vect_t, const vect_t, const struct bn_tol *)
Definition: generic.c:239
void rt_part_norm(register struct hit *hitp, struct soltab *stp, register struct xray *rp)
Definition: part.c:740
int rt_ehy_plot(struct bu_list *vhead, struct rt_db_internal *ip, const struct rt_tess_tol *ttol, const struct bn_tol *tol, const struct rt_view_info *info)
Definition: ehy.c:914
#define RTFUNCTAB_FUNC_FREE_CAST(_func)
Definition: raytrace.h:2094
int rt_submodel_import5(struct rt_db_internal *ip, const struct bu_external *ep, const fastf_t *mat, const struct db_i *dbip)
Definition: submodel.c:863
void rt_hyp_curve(struct curvature *cvp, struct hit *hitp, struct soltab *stp)
Definition: hyp.c:459
int rt_tor_plot(struct bu_list *vhead, struct rt_db_internal *ip, const struct rt_tess_tol *ttol, const struct bn_tol *tol, const struct rt_view_info *info)
Definition: tor.c:1084
int rt_nmg_describe(struct bu_vls *str, const struct rt_db_internal *ip, int verbose, double mm2local)
Definition: nmg.c:2733
int rt_ars_prep(struct soltab *stp, struct rt_db_internal *ip, struct rt_i *rtip)
Definition: ars.c:699
int rt_vol_import5(struct rt_db_internal *ip, const struct bu_external *ep, const fastf_t *mat, const struct db_i *dbip)
Definition: vol.c:543
int rt_comb_import4(struct rt_db_internal *ip, const struct bu_external *ep, const mat_t matrix, const struct db_i *dbip, struct resource *resp)
Definition: db_comb.c:179
void rt_rhc_curve(struct curvature *cvp, struct hit *hitp, struct soltab *stp)
Definition: rhc.c:608
int rt_eto_import5(struct rt_db_internal *ip, const struct bu_external *ep, const fastf_t *mat, const struct db_i *dbip)
Definition: eto.c:1396
int rt_epa_export4(struct bu_external *ep, const struct rt_db_internal *ip, double local2mm, const struct db_i *dbip)
Definition: epa.c:1657
int rt_cline_export4(struct bu_external *ep, const struct rt_db_internal *ip, double local2mm, const struct db_i *dbip)
Definition: cline.c:848
void rt_tor_uv(struct application *ap, struct soltab *stp, struct hit *hitp, struct uvcoord *uvp)
Definition: tor.c:878
int rt_arb_export4(struct bu_external *ep, const struct rt_db_internal *ip, double local2mm, const struct db_i *dbip)
Definition: arb8.c:1245
void rt_sketch_curve(struct curvature *cvp, struct hit *hitp, struct soltab *stp)
Definition: sketch.c:203
int rt_submodel_plot(struct bu_list *vhead, struct rt_db_internal *ip, const struct rt_tess_tol *ttol, const struct bn_tol *tol, const struct rt_view_info *info)
Definition: submodel.c:686
void rt_arbn_free(struct soltab *stp)
Definition: arbn.c:367
#define ID_NMG
n-Manifold Geometry solid
Definition: raytrace.h:469
void rt_rhc_free(struct soltab *stp)
Definition: rhc.c:696
void rt_hf_brep(ON_Brep **b, const struct rt_db_internal *ip, const struct bn_tol *tol)
Definition: hf_brep.cpp:40
#define RTFUNCTAB_FUNC_ADJUST_CAST(_func)
Definition: raytrace.h:2184
int rt_joint_export5(struct bu_external *ep, const struct rt_db_internal *ip, double local2mm, const struct db_i *dbip)
Definition: joint.c:373
int rt_hrt_prep(struct soltab *stp, struct rt_db_internal *ip, struct rt_i *rtip)
Definition: hrt.c:227
void rt_dsp_uv(struct application *ap, struct soltab *stp, register struct hit *hitp, register struct uvcoord *uvp)
Definition: dsp.c:3013
int rt_arb_tess(struct nmgregion **r, struct model *m, struct rt_db_internal *ip, const struct rt_tess_tol *ttol, const struct bn_tol *tol)
Definition: arb8.c:1475
int rt_vol_plot(struct bu_list *vhead, struct rt_db_internal *ip, const struct rt_tess_tol *ttol, const struct bn_tol *tol, const struct rt_view_info *info)
Definition: vol.c:925
int rt_bot_describe(struct bu_vls *str, const struct rt_db_internal *ip, int verbose, double mm2local)
Definition: bot.c:1358
uint8_t * ext_buf
Definition: parse.h:216
int rt_comb_describe(struct bu_vls *str, const struct rt_db_internal *ip, int verbose, double mm2local, struct resource *resp, struct db_i *db_i)
Definition: db_comb.c:862
void rt_arbn_norm(struct hit *hitp, struct soltab *stp, struct xray *rp)
Definition: arbn.c:310
void rt_ell_print(register const struct soltab *stp)
Definition: ell.c:368
int rt_ebm_plot(struct bu_list *vhead, struct rt_db_internal *ip, const struct rt_tess_tol *ttol, const struct bn_tol *tol, const struct rt_view_info *info)
Definition: ebm.c:1128
void rt_dsp_curve(register struct curvature *cvp, register struct hit *hitp, struct soltab *stp)
Definition: dsp.c:2992
void rt_epa_free(struct soltab *stp)
Definition: epa.c:614
void rt_cline_free(register struct soltab *stp)
Definition: cline.c:419
void rt_bot_piece_hitsegs(struct rt_piecestate *psp, struct seg *seghead, struct application *ap)
Definition: bot.c:402
void rt_eto_norm(struct hit *hitp, struct soltab *stp, struct xray *rp)
Definition: eto.c:573
void rt_hrt_norm(register struct hit *hitp, register struct xray *rp)
Definition: hrt.c:944
int rt_pnts_import5(struct rt_db_internal *internal, const struct bu_external *external, const fastf_t *mat, const struct db_i *dbip)
Definition: pnts.c:354
int rt_tor_prep(struct soltab *stp, struct rt_db_internal *ip, struct rt_i *rtip)
Definition: tor.c:220
void rt_rpc_free(struct soltab *stp)
Definition: rpc.c:626
int rt_ehy_adaptive_plot(struct rt_db_internal *ip, const struct rt_view_info *info)
Definition: ehy.c:836
int rt_ehy_describe(struct bu_vls *str, const struct rt_db_internal *ip, int verbose, double mm2local)
Definition: ehy.c:1852
int rt_metaball_describe(struct bu_vls *str, const struct rt_db_internal *ip, int verbose, double mm2local)
Definition: metaball.c:786
int rt_sketch_export4(struct bu_external *ep, const struct rt_db_internal *ip, double local2mm, const struct db_i *dbip)
Definition: sketch.c:1295
void rt_pipe_free(struct soltab *stp)
Definition: pipe.c:1810
int rt_bot_tess(struct nmgregion **r, struct model *m, struct rt_db_internal *ip, const struct rt_tess_tol *ttol, const struct bn_tol *tol)
Definition: bot.c:761
void rt_nmg_brep(ON_Brep **bi, struct rt_db_internal *ip, const struct bn_tol *tol)
const struct bu_structparse rt_part_parse[]
Definition: part.c:215
void rt_dsp_ifree(struct rt_db_internal *ip)
Definition: dsp.c:4575
int rt_nurb_class(void)
Definition: bspline.cpp:588
int rt_nmg_prep(struct soltab *stp, struct rt_db_internal *ip, struct rt_i *rtip)
Definition: nmg.c:93
int rt_cline_describe(struct bu_vls *str, const struct rt_db_internal *ip, int verbose, double mm2local)
Definition: cline.c:964
void rt_brep_free(register struct soltab *stp)
Definition: brep.cpp:1713
int rt_revolve_describe(struct bu_vls *str, const struct rt_db_internal *ip, int verbose, double mm2local)
Definition: revolve.c:1657
int rt_sketch_prep(struct soltab *stp, struct rt_db_internal *ip, struct rt_i *rtip)
Definition: sketch.c:136
void rt_ehy_uv(struct application *ap, struct soltab *stp, struct hit *hitp, struct uvcoord *uvp)
Definition: ehy.c:583
void rt_binunif_make(const struct rt_functab *ftp, struct rt_db_internal *intern)
Definition: db5_bin.c:497
void rt_hyp_ifree(struct rt_db_internal *ip)
Definition: hyp.c:1327
#define RTFUNCTAB_FUNC_PIECE_SHOT_CAST(_func)
Definition: raytrace.h:2072
void rt_hf_curve(struct curvature *cvp, struct hit *hitp, struct soltab *stp)
Definition: hf.c:1580
int rt_hrt_shot(struct soltab *stp, register struct xray *rp, struct application *ap, struct seg *seghead)
Definition: hrt.c:394
#define RTFUNCTAB_FUNC_IFREE_CAST(_func)
Definition: raytrace.h:2160
void rt_metaball_free(register struct soltab *stp)
Definition: metaball.c:606
void rt_generic_make(const struct rt_functab *, struct rt_db_internal *)
Definition: generic.c:200
int rt_submodel_shot(struct soltab *stp, struct xray *rp, struct application *ap, struct seg *seghead)
Definition: submodel.c:442
int rt_part_export5(struct bu_external *ep, const struct rt_db_internal *ip, double local2mm, const struct db_i *dbip)
Definition: part.c:1621
int rt_brep_tess(struct nmgregion **r, struct model *m, struct rt_db_internal *ip, const struct rt_tess_tol *ttol, const struct bn_tol *tol)
Definition: brep.cpp:4472
void rt_epa_ifree(struct rt_db_internal *ip)
Definition: epa.c:1867
void rt_nmg_print(const struct soltab *stp)
Definition: nmg.c:126
void rt_tor_ifree(struct rt_db_internal *ip)
Definition: tor.c:1686
int rt_id_solid(struct bu_external *ep)
Definition: table.c:2325
void rt_rec_vshot(struct soltab **stp, struct xray **rp, struct seg *segp, int n, struct application *ap)
Definition: rec.c:633
void rt_rhc_norm(struct hit *hitp, struct soltab *stp, struct xray *rp)
Definition: rhc.c:565
int rt_eto_import4(struct rt_db_internal *ip, const struct bu_external *ep, const fastf_t *mat, const struct db_i *dbip)
Definition: eto.c:1291
void rt_metaball_print(register const struct soltab *stp)
Definition: metaball.c:237
void rt_hlf_free(struct soltab *stp)
Definition: half.c:374
void rt_tgc_norm(register struct hit *hitp, struct soltab *stp, register struct xray *rp)
Definition: tgc.c:1462
const struct bu_structparse rt_grp_parse[]
Definition: grip.c:60
const struct bu_structparse rt_revolve_parse[]
Definition: revolve.h:50
Support for uniform tolerances.
Definition: tol.h:71
void rt_nmg_free(struct soltab *stp)
Definition: nmg.c:279
int rt_nurb_prep(struct soltab *stp, struct rt_db_internal *ip, struct rt_i *rtip)
Definition: bspline.cpp:200
int rt_eto_adaptive_plot(struct rt_db_internal *ip, const struct rt_view_info *info)
Definition: eto.c:862
void rt_dsp_print(register const struct soltab *stp)
Definition: dsp.c:614
#define ID_HALF
Half-space.
Definition: raytrace.h:464
void rt_eto_ifree(struct rt_db_internal *ip)
Definition: eto.c:1526
int rt_nurb_tess(struct nmgregion **, struct model *, struct rt_db_internal *, const struct rt_tess_tol *, const struct bn_tol *)
Definition: bspline.cpp:724
void rt_revolve_print(const struct soltab *stp)
Definition: revolve.c:343
#define RTFUNCTAB_FUNC_UV_CAST(_func)
Definition: raytrace.h:2083
int rt_hlf_class(const struct soltab *stp, const fastf_t *min, const fastf_t *max, const struct bn_tol *tol)
Definition: half.c:389
int rt_tor_tess(struct nmgregion **r, struct model *m, struct rt_db_internal *ip, const struct rt_tess_tol *ttol, const struct bn_tol *tol)
Definition: tor.c:1201
int rt_submodel_prep(struct soltab *stp, struct rt_db_internal *ip, struct rt_i *rtip)
Definition: submodel.c:83
int rt_hyp_prep(struct soltab *stp, struct rt_db_internal *ip, struct rt_i *rtip)
Definition: hyp.c:183
#define RTFUNCTAB_FUNC_CURVE_CAST(_func)
Definition: raytrace.h:2088
int rt_grp_shot(struct soltab *stp, struct xray *rp, struct application *ap, struct seg *seghead)
Definition: grip.c:123
void rt_tor_norm(register struct hit *hitp, struct soltab *stp, register struct xray *rp)
Definition: tor.c:808
int rt_metaball_prep(struct soltab *stp, struct rt_db_internal *ip, struct rt_i *rtip)
Definition: metaball.c:187
int rt_rhc_describe(struct bu_vls *str, const struct rt_db_internal *ip, int verbose, double mm2local)
Definition: rhc.c:1654
void rt_ell_uv(struct application *ap, struct soltab *stp, register struct hit *hitp, register struct uvcoord *uvp)
Definition: ell.c:558
void rt_pnts_brep(ON_Brep **b, const struct rt_db_internal *ip, const struct bn_tol *)
Definition: pnts_brep.cpp:35
int rt_rpc_tess(struct nmgregion **r, struct model *m, struct rt_db_internal *ip, const struct rt_tess_tol *ttol, const struct bn_tol *tol)
Definition: rpc.c:1068
int rt_tgc_plot(struct bu_list *vhead, struct rt_db_internal *ip, const struct rt_tess_tol *ttol, const struct bn_tol *tol, const struct rt_view_info *info)
Definition: tgc.c:2013
int rt_pg_plot(struct bu_list *vhead, struct rt_db_internal *ip, const struct rt_tess_tol *ttol, const struct bn_tol *tol, const struct rt_view_info *info)
Definition: poly.c:489
void rt_submodel_free(struct soltab *stp)
Definition: submodel.c:581
void rt_part_curve(register struct curvature *cvp, register struct hit *hitp, struct soltab *stp)
Definition: part.c:789
void rt_cline_brep(ON_Brep **b, const struct rt_db_internal *ip, const struct bn_tol *tol)
Definition: cline_brep.cpp:38
#define RTFUNCTAB_FUNC_EXPORT4_CAST(_func)
Definition: raytrace.h:2157
void rt_pipe_uv(struct application *ap, struct soltab *stp, struct hit *hitp, struct uvcoord *uvp)
Definition: pipe.c:1797
int rt_joint_describe(struct bu_vls *str, const struct rt_db_internal *ip, int verbose, double mm2local)
Definition: joint.c:419
int rt_hrt_import5(struct rt_db_internal *ip, const struct bu_external *ep, const fastf_t *mat, const struct db_i *dbip)
Definition: hrt.c:1560
int rt_arb_prep(struct soltab *stp, struct rt_db_internal *ip, struct rt_i *rtip)
Definition: arb8.c:773
void rt_ebm_print(register const struct soltab *stp)
Definition: ebm.c:961
int rt_hf_prep(struct soltab *stp, struct rt_db_internal *ip, struct rt_i *rtip)
Definition: hf.c:283
void rt_superell_curve(struct curvature *cvp, struct hit *hitp, struct soltab *stp)
Definition: superell.c:588
#define RTFUNCTAB_FUNC_PREP_CAST(_func)
Definition: raytrace.h:2050
#define ID_RHC
Right Hyperbolic Cylinder.
Definition: raytrace.h:476
int rt_revolve_plot(struct bu_list *vhead, struct rt_db_internal *ip, const struct rt_tess_tol *ttol, const struct bn_tol *tol, const struct rt_view_info *info)
Definition: revolve.c:1205
int rt_ell_prep(struct soltab *stp, struct rt_db_internal *ip, struct rt_i *rtip)
Definition: ell.c:257
#define ID_ARBN
ARB with N faces.
Definition: raytrace.h:472
void rt_hlf_print(register const struct soltab *stp)
Definition: half.c:110
#define RTFUNCTAB_FUNC_NORM_CAST(_func)
Definition: raytrace.h:2064
int rt_sketch_shot(struct soltab *stp, struct xray *rp, struct application *ap, struct seg *seghead)
Definition: sketch.c:165
int rt_metaball_class(const struct soltab *stp, const fastf_t *min, const fastf_t *max, const struct bn_tol *tol)
Definition: metaball.c:615
int rt_hlf_shot(struct soltab *stp, register struct xray *rp, struct application *ap, struct seg *seghead)
Definition: half.c:138
void rt_cline_uv(struct application *ap, struct soltab *stp, struct hit *hitp, struct uvcoord *uvp)
Definition: cline.c:405
#define RTFUNCTAB_FUNC_PIECE_HITSEGS_CAST(_func)
Definition: raytrace.h:2077
#define ID_EPA
Elliptical Paraboloid.
Definition: raytrace.h:477
int rt_part_import5(struct rt_db_internal *ip, const struct bu_external *ep, register const fastf_t *mat, const struct db_i *dbip)
Definition: part.c:1543
int rt_tor_describe(struct bu_vls *str, const struct rt_db_internal *ip, int verbose, double mm2local)
Definition: tor.c:1632
void rt_comb_ifree(struct rt_db_internal *ip)
Definition: db_comb.c:844
const struct bu_structparse rt_hrt_parse[]
Definition: hrt.c:128
#define RTFUNCTAB_FUNC_TNURB_CAST(_func)
Definition: raytrace.h:2124
void rt_epa_brep(ON_Brep **b, const struct rt_db_internal *ip, const struct bn_tol *)
Definition: epa_brep.cpp:34
int rt_arbn_import5(struct rt_db_internal *ip, const struct bu_external *ep, const fastf_t *mat, const struct db_i *dbip)
Definition: arbn.c:933
int rt_vol_export5(struct bu_external *ep, const struct rt_db_internal *ip, double local2mm, const struct db_i *dbip)
Definition: vol.c:637
int rt_bot_xform(struct rt_db_internal *op, const fastf_t *mat, struct rt_db_internal *ip, const int release, struct db_i *dbip)
Definition: bot.c:1539
int rt_part_tess(struct nmgregion **r, struct model *m, struct rt_db_internal *ip, const struct rt_tess_tol *ttol, const struct bn_tol *tol)
Definition: part.c:1055
void rt_vol_ifree(struct rt_db_internal *ip)
Definition: vol.c:715
void rt_cline_norm(struct hit *hitp, struct soltab *stp, struct xray *rp)
Definition: cline.c:351
int rt_ell_describe(struct bu_vls *str, const struct rt_db_internal *ip, int verbose, double mm2local)
Definition: ell.c:1396
void rt_nmg_norm(struct hit *hitp, struct soltab *stp, struct xray *rp)
Definition: nmg.c:229
int rt_constraint_import5(struct rt_db_internal *ip, const struct bu_external *ep, const mat_t mat, const struct db_i *dbip, struct resource *resp)
Definition: constraint.c:104
int rt_hyp_plot(struct bu_list *vhead, struct rt_db_internal *incoming, const struct rt_tess_tol *ttol, const struct bn_tol *tol, const struct rt_view_info *info)
Definition: hyp.c:591
int rt_epa_adaptive_plot(struct rt_db_internal *ip, const struct rt_view_info *info)
Definition: epa.c:797
void rt_pnts_print(register const struct soltab *stp)
Definition: pnts.c:697
int rt_revolve_export5(struct bu_external *ep, const struct rt_db_internal *ip, double local2mm, const struct db_i *dbip)
Definition: revolve.c:1611
int rt_nmg_shot(struct soltab *stp, struct xray *rp, struct application *ap, struct seg *seghead)
Definition: nmg.c:145
void rt_ell_curve(register struct curvature *cvp, register struct hit *hitp, struct soltab *stp)
Definition: ell.c:518
void rt_arbn_curve(struct curvature *cvp, struct hit *hitp, struct soltab *stp)
Definition: arbn.c:333
void rt_tgc_print(register const struct soltab *stp)
Definition: tgc.c:514
void rt_nurb_uv(struct application *ap, struct soltab *stp, register struct hit *hitp, register struct uvcoord *uvp)
Definition: bspline.cpp:540
const struct bu_structparse rt_rpc_parse[]
Definition: rpc.c:190
int rt_brep_export5(struct bu_external *ep, const struct rt_db_internal *ip, double local2mm, const struct db_i *dbip)
Definition: brep.cpp:4695
int rt_rpc_export4(struct bu_external *ep, const struct rt_db_internal *ip, double local2mm, const struct db_i *dbip)
Definition: rpc.c:1366
void rt_brep_curve(register struct curvature *cvp, register struct hit *hitp, struct soltab *stp)
void rt_ars_brep(ON_Brep **b, const struct rt_db_internal *ip, const struct bn_tol *tol)
Definition: ars_brep.cpp:40
int rt_hlf_plot(struct bu_list *vhead, struct rt_db_internal *ip, const struct rt_tess_tol *ttol, const struct bn_tol *tol, const struct rt_view_info *info)
Definition: half.c:409
int rt_part_export4(struct bu_external *ep, const struct rt_db_internal *ip, double local2mm, const struct db_i *dbip)
Definition: part.c:1502
int rt_pipe_import5(struct rt_db_internal *ip, const struct bu_external *ep, const fastf_t *mat, const struct db_i *dbip)
Definition: pipe.c:4058
int rt_rhc_plot(struct bu_list *vhead, struct rt_db_internal *ip, const struct rt_tess_tol *ttol, const struct bn_tol *tol, const struct rt_view_info *info)
Definition: rhc.c:981
int rt_revolve_import5(struct rt_db_internal *ip, const struct bu_external *ep, const mat_t mat, const struct db_i *dbip, struct resource *resp)
Definition: revolve.c:1466
int rt_sph_shot(struct soltab *stp, register struct xray *rp, struct application *ap, struct seg *seghead)
Definition: sph.c:427
const struct bu_structparse rt_tgc_parse[]
Definition: tgc.c:114
int rt_binunif_import5(struct rt_db_internal *ip, const struct bu_external *ep, const mat_t mat, const struct db_i *dbip, struct resource *resp)
const struct rt_functab OBJ[]
Definition: table.c:159
void rt_hlf_ifree(struct rt_db_internal *ip)
Definition: half.c:757
int rt_grp_export5(struct bu_external *ep, const struct rt_db_internal *ip, double local2mm, const struct db_i *dbip)
Definition: grip.c:386
int rt_hlf_export5(struct bu_external *ep, const struct rt_db_internal *ip, double local2mm, const struct db_i *dbip)
Definition: half.c:689
int rt_revolve_shot(struct soltab *stp, struct xray *rp, struct application *ap, struct seg *seghead)
Definition: revolve.c:366
void rt_submodel_print(const struct soltab *stp)
Definition: submodel.c:248
void rt_part_ifree(struct rt_db_internal *ip)
Definition: part.c:1734
int rt_ell_export5(struct bu_external *ep, const struct rt_db_internal *ip, double local2mm, const struct db_i *dbip)
Definition: ell.c:1359
int rt_arb_plot(struct bu_list *vhead, struct rt_db_internal *ip, const struct rt_tess_tol *ttol, const struct bn_tol *tol, const struct rt_view_info *info)
Definition: arb8.c:1145
int rt_bot_adaptive_plot(struct rt_db_internal *ip, const struct rt_view_info *info)
Definition: bot.c:613
int rt_extrude_prep(struct soltab *stp, struct rt_db_internal *ip, struct rt_i *rtip)
Definition: extrude.c:376
void rt_hrt_vshot(struct soltab **stp, struct xray **rp, struct seg *segp, int n, struct application *ap)
Definition: hrt.c:640
int rt_eto_export5(struct bu_external *ep, const struct rt_db_internal *ip, double local2mm, const struct db_i *dbip)
Definition: eto.c:1440
void rt_submodel_norm(struct hit *hitp, struct soltab *stp, struct xray *rp)
Definition: submodel.c:519
void rt_pipe_curve(struct curvature *cvp, struct hit *hitp, struct soltab *stp)
Definition: pipe.c:1774
int rt_hrt_describe(struct bu_vls *str, const struct rt_db_internal *ip, int verbose, double mm2local)
Definition: hrt.c:1603
int rt_extrude_form(struct bu_vls *logstr, const struct rt_functab *ftp)
Definition: extrude.c:2723
int rt_ebm_export4(struct bu_external *ep, const struct rt_db_internal *ip, double local2mm, const struct db_i *dbip)
Definition: ebm.c:639
int rt_epa_import5(struct rt_db_internal *ip, const struct bu_external *ep, const fastf_t *mat, const struct db_i *dbip)
Definition: epa.c:1718
void rt_binunif_ifree(struct rt_db_internal *ip)
Definition: db5_bin.c:391
int rt_ehy_shot(struct soltab *stp, struct xray *rp, struct application *ap, struct seg *seghead)
Definition: ehy.c:362
void rt_extrude_norm(struct hit *hitp, struct soltab *stp, struct xray *rp)
Definition: extrude.c:1256
int rt_hf_import4(struct rt_db_internal *ip, const struct bu_external *ep, const fastf_t *mat, const struct db_i *dbip)
Definition: hf.c:1918
void rt_pipe_print(const struct soltab *stp)
Definition: pipe.c:723
int rt_joint_import5(struct rt_db_internal *ip, const struct bu_external *ep, const fastf_t *mat, const struct db_i *dbip)
Definition: joint.c:299
int rt_vol_shot(struct soltab *stp, register struct xray *rp, struct application *ap, struct seg *seghead)
Definition: vol.c:122
int rt_tor_import5(struct rt_db_internal *ip, const struct bu_external *ep, register const fastf_t *mat, const struct db_i *dbip)
Definition: tor.c:1571
int rt_tgc_shot(struct soltab *stp, register struct xray *rp, struct application *ap, struct seg *seghead)
Definition: tgc.c:565
int rt_ars_import4(struct rt_db_internal *ip, const struct bu_external *ep, const fastf_t *mat, const struct db_i *dbip)
Definition: ars.c:147
int rt_superell_describe(struct bu_vls *str, const struct rt_db_internal *ip, int verbose, double mm2local)
Definition: superell.c:948
void rt_brep_uv(struct application *ap, struct soltab *stp, register struct hit *hitp, register struct uvcoord *uvp)
Definition: brep.cpp:1695
const struct bu_structparse rt_ehy_parse[]
Definition: ehy.c:178
int rt_metaball_plot(struct bu_list *vhead, struct rt_db_internal *ip, const struct rt_tess_tol *ttol, const struct bn_tol *tol, const struct rt_view_info *info)
Definition: metaball.c:652
int rt_submodel_import4(struct rt_db_internal *ip, const struct bu_external *ep, const fastf_t *mat, const struct db_i *dbip)
Definition: submodel.c:774
int rt_ell_tess(struct nmgregion **r, struct model *m, struct rt_db_internal *ip, const struct rt_tess_tol *ttol, const struct bn_tol *tol)
Definition: ell.c:896
#define ID_POLY
Polygonal faceted object.
Definition: raytrace.h:466
void rt_metaball_norm(register struct hit *hitp, struct soltab *stp, register struct xray *rp)
Definition: metaball.c:537
int rt_nurb_describe(struct bu_vls *str, const struct rt_db_internal *ip, int verbose, double mm2local)
Definition: bspline.cpp:1241
int rt_vol_tess(struct nmgregion **r, struct model *m, struct rt_db_internal *ip, const struct rt_tess_tol *ttol, const struct bn_tol *tol)
Definition: vol.c:1048
int rt_bot_export5(struct bu_external *ep, const struct rt_db_internal *ip, double local2mm, const struct db_i *dbip)
Definition: bot.c:1197
int rt_grp_plot(struct bu_list *vhead, struct rt_db_internal *ip, const struct rt_tess_tol *ttol, const struct bn_tol *tol, const struct rt_view_info *info)
Definition: grip.c:200
int rt_nmg_export5(struct bu_external *ep, const struct rt_db_internal *ip, double local2mm, const struct db_i *dbip)
Definition: nmg.c:2556
void rt_ebm_norm(register struct hit *hitp, struct soltab *stp, register struct xray *rp)
Definition: ebm.c:1015
int rt_brep_describe(struct bu_vls *str, const struct rt_db_internal *ip, int verbose, double mm2local)
Definition: brep.cpp:4803
void rt_ars_print(register const struct soltab *stp)
Definition: ars.c:752
void rt_tgc_vshot(struct soltab **stp, register struct xray **rp, struct seg *segp, int n, struct application *ap)
Definition: tgc.c:959
void rt_ars_uv(struct application *ap, struct soltab *stp, register struct hit *hitp, register struct uvcoord *uvp)
Definition: ars.c:1027
void rt_part_free(register struct soltab *stp)
Definition: part.c:874
ustring label
int rt_comb_export4(struct bu_external *ep, const struct rt_db_internal *ip, double local2mm, const struct db_i *dbip, struct resource *resp)
Definition: db_comb.c:398
int rt_generic_get(struct bu_vls *, const struct rt_db_internal *, const char *)
Definition: generic.c:142
void rt_ehy_free(struct soltab *stp)
Definition: ehy.c:630
const struct bu_structparse rt_hyp_parse[]
Definition: hyp.c:108
int rt_rpc_export5(struct bu_external *ep, const struct rt_db_internal *ip, double local2mm, const struct db_i *dbip)
Definition: rpc.c:1461
int rt_eto_plot(struct bu_list *vhead, struct rt_db_internal *ip, const struct rt_tess_tol *ttol, const struct bn_tol *tol, const struct rt_view_info *info)
Definition: eto.c:1001
int rt_ebm_prep(struct soltab *stp, struct rt_db_internal *ip, struct rt_i *rtip)
Definition: ebm.c:908
int rt_superell_export4(struct bu_external *ep, const struct rt_db_internal *ip, double local2mm, const struct db_i *dbip)
Definition: superell.c:822
int rt_arb_export5(struct bu_external *ep, const struct rt_db_internal *ip, double local2mm, const struct db_i *dbip)
Definition: arb8.c:1315
int rt_pnts_plot(struct bu_list *vhead, struct rt_db_internal *internal, const struct rt_tess_tol *ttol, const struct bn_tol *tol, const struct rt_view_info *info)
Definition: pnts.c:755
const struct bu_structparse rt_cline_parse[]
Definition: cline.c:57
void rt_nurb_curve(register struct curvature *cvp, register struct hit *hitp, struct soltab *stp)
Definition: bspline.cpp:507
#define RTFUNCTAB_FUNC_MAKE_CAST(_func)
Definition: raytrace.h:2190
void rt_comb_make(const struct rt_functab *ftp, struct rt_db_internal *intern)
Definition: comb.c:1084
int rt_arb_import5(struct rt_db_internal *ip, const struct bu_external *ep, register const fastf_t *mat, const struct db_i *dbip)
Definition: arb8.c:1282
void rt_arbn_brep(ON_Brep **b, const struct rt_db_internal *ip, const struct bn_tol *tol)
Definition: arbn_brep.cpp:42
int rt_pipe_prep(struct soltab *stp, struct rt_db_internal *ip, struct rt_i *rtip)
Definition: pipe.c:684
int rt_metaball_export5(struct bu_external *ep, const struct rt_db_internal *ip, double local2mm, const struct db_i *dbip)
Definition: metaball.c:738
int rt_ebm_tess(struct nmgregion **r, struct model *m, struct rt_db_internal *ip, const struct rt_tess_tol *ttol, const struct bn_tol *tol)
Definition: ebm.c:1359
void rt_dsp_free(register struct soltab *stp)
Definition: dsp.c:3103
int rt_epa_tess(struct nmgregion **r, struct model *m, struct rt_db_internal *ip, const struct rt_tess_tol *ttol, const struct bn_tol *tol)
Definition: epa.c:1164
void rt_pg_free(struct soltab *stp)
Definition: poly.c:446
void rt_rec_norm(struct hit *hitp, struct soltab *stp, struct xray *rp)
Definition: rec.c:756
void rt_ell_free(register struct soltab *stp)
Definition: ell.c:592
void rt_bot_norm(struct hit *hitp, struct soltab *stp, struct xray *rp)
Definition: bot.c:420
void rt_nurb_print(register const struct soltab *stp)
Definition: bspline.cpp:296
int rt_bot_export4(struct bu_external *ep, const struct rt_db_internal *ip, double local2mm, const struct db_i *dbip)
Definition: bot.c:969
void rt_vol_free(struct soltab *stp)
Definition: vol.c:910
int rt_cline_shot(struct soltab *stp, register struct xray *rp, struct application *ap, struct seg *seghead)
Definition: cline.c:175
void rt_sketch_print(const struct soltab *stp)
Definition: sketch.c:150
int rt_rhc_import5(struct rt_db_internal *ip, const struct bu_external *ep, const fastf_t *mat, const struct db_i *dbip)
Definition: rhc.c:1557
#define RTFUNCTAB_FUNC_DESCRIBE_CAST(_func)
Definition: raytrace.h:2168
int rt_metaball_tess(struct nmgregion **r, struct model *m, struct rt_db_internal *ip, const struct rt_tess_tol *ttol, const struct bn_tol *tol)
Definition: metaball_tri.c:65
int rt_eto_export4(struct bu_external *ep, const struct rt_db_internal *ip, double local2mm, const struct db_i *dbip)
Definition: eto.c:1357
void rt_extrude_free(struct soltab *stp)
Definition: extrude.c:1379
int rt_bot_piece_shot(struct rt_piecestate *psp, struct rt_piecelist *plp, double dist_corr, struct xray *rp, struct application *ap, struct seg *seghead)
Definition: bot.c:383
void rt_rpc_ifree(struct rt_db_internal *ip)
Definition: rpc.c:1556
int rt_hrt_adaptive_plot(void)
Definition: hrt.c:1042
int rt_arbn_prep(struct soltab *stp, struct rt_db_internal *ip, struct rt_i *rtip)
Definition: arbn.c:105
int rt_pnts_describe(struct bu_vls *str, const struct rt_db_internal *intern, int verbose, double mm2local)
Definition: pnts.c:832
void rt_submodel_ifree(struct rt_db_internal *ip)
Definition: submodel.c:967
void rt_epa_uv(struct application *ap, struct soltab *stp, struct hit *hitp, struct uvcoord *uvp)
Definition: epa.c:568
int rt_arbn_plot(struct bu_list *vhead, struct rt_db_internal *ip, const struct rt_tess_tol *ttol, const struct bn_tol *tol, const struct rt_view_info *info)
Definition: arbn.c:387
int rt_brep_class(const struct soltab *stp, const fastf_t *min, const fastf_t *max, const struct bn_tol *tol)
Definition: brep.cpp:1677
int rt_ell_adaptive_plot(struct rt_db_internal *ip, const struct rt_view_info *info)
Definition: ell.c:750
int rt_comb_export5(struct bu_external *ep, const struct rt_db_internal *ip, double local2mm, const struct db_i *dbip, struct resource *resp)
Definition: comb.c:252
int rt_rpc_describe(struct bu_vls *str, const struct rt_db_internal *ip, int verbose, double mm2local)
Definition: rpc.c:1513
int rt_pg_prep(struct soltab *stp, struct rt_db_internal *ip, struct rt_i *rtip)
Definition: poly.c:97
#define BU_CK_EXTERNAL(_p)
Definition: parse.h:224
void rt_arbn_ifree(struct rt_db_internal *ip)
Definition: arbn.c:1087
uint32_t magic
Definition: raytrace.h:2042
int rt_extrude_shot(struct soltab *stp, struct xray *rp, struct application *ap, struct seg *seghead)
Definition: extrude.c:841
#define RTFUNCTAB_FUNC_GET_CAST(_func)
Definition: raytrace.h:2181
void rt_grp_norm(struct hit *hitp, struct soltab *stp, struct xray *rp)
Definition: grip.c:140
void rt_arb_norm(register struct hit *hitp, struct soltab *stp, register struct xray *rp)
Definition: arb8.c:1003
void rt_cline_curve(struct curvature *cvp, struct hit *hitp, struct soltab *stp)
Definition: cline.c:387
int rt_pipe_export5(struct bu_external *ep, const struct rt_db_internal *ip, double local2mm, const struct db_i *dbip)
Definition: pipe.c:4128
#define ID_EXTRUDE
Solid of extrusion.
Definition: raytrace.h:485
int rt_vol_import4(struct rt_db_internal *ip, const struct bu_external *ep, const fastf_t *mat, const struct db_i *dbip)
Definition: vol.c:403
int rt_epa_plot(struct bu_list *vhead, struct rt_db_internal *ip, const struct rt_tess_tol *ttol, const struct bn_tol *tol, const struct rt_view_info *info)
Definition: epa.c:878
int rt_extrude_describe(struct bu_vls *str, const struct rt_db_internal *ip, int verbose, double mm2local)
Definition: extrude.c:2591
int rt_arb_describe(struct bu_vls *str, const struct rt_db_internal *ip, int verbose, double mm2local)
Definition: arb8.c:1347
int rt_rpc_adaptive_plot(struct rt_db_internal *ip, const struct rt_view_info *info)
Definition: rpc.c:829
void rt_pg_ifree(struct rt_db_internal *ip)
Definition: poly.c:866
void rt_brep_print(register const struct soltab *stp)
int rt_cline_prep(struct soltab *stp, struct rt_db_internal *ip, struct rt_i *rtip)
Definition: cline.c:114
int rt_dsp_export5(struct bu_external *ep, const struct rt_db_internal *ip, double local2mm, const struct db_i *dbip, struct resource *resp)
Definition: dsp.c:4431
void rt_metaball_ifree(struct rt_db_internal *ip)
Definition: metaball.c:830
void rt_rhc_uv(struct application *ap, struct soltab *stp, struct hit *hitp, struct uvcoord *uvp)
Definition: rhc.c:649
int rt_tor_adaptive_plot(struct rt_db_internal *ip, const struct rt_view_info *info)
Definition: tor.c:992
int rt_dsp_class(const struct soltab *s, const vect_t v0, const vect_t v2, const struct bn_tol *b)
Definition: dsp.c:3130
void rt_rpc_print(const struct soltab *stp)
Definition: rpc.c:339
#define ID_RPC
Right Parabolic Cylinder.
Definition: raytrace.h:475
void rt_hf_ifree(struct rt_db_internal *ip)
Definition: hf.c:2189
void rt_rhc_ifree(struct rt_db_internal *ip)
Definition: rhc.c:1701
void rt_arb_curve(register struct curvature *cvp, register struct hit *hitp, struct soltab *stp)
Definition: arb8.c:1020
void rt_rpc_brep(ON_Brep **b, const struct rt_db_internal *ip, const struct bn_tol *tol)
Definition: rpc_brep.cpp:34
int rt_hlf_xform(struct rt_db_internal *op, const mat_t mat, struct rt_db_internal *ip, int release, struct db_i *dbip, struct resource *resp)
Definition: half.c:464
void rt_epa_norm(struct hit *hitp, struct soltab *stp, struct xray *rp)
Definition: epa.c:478
int rt_arbn_import4(struct rt_db_internal *ip, const struct bu_external *ep, const fastf_t *mat, const struct db_i *dbip)
Definition: arbn.c:801
void rt_ars_ifree(struct rt_db_internal *ip)
Definition: ars.c:457
int rt_sketch_export5(struct bu_external *ep, const struct rt_db_internal *ip, double local2mm, const struct db_i *dbip)
Definition: sketch.c:1686
int rt_superell_tess(struct nmgregion **r, struct model *m, struct rt_db_internal *ip, const struct rt_tess_tol *ttol, const struct bn_tol *tol)
Definition: superell.c:758
void rt_superell_free(struct soltab *stp)
Definition: superell.c:621
int rt_tgc_import4(struct rt_db_internal *ip, const struct bu_external *ep, register const fastf_t *mat, const struct db_i *dbip)
Definition: tgc.c:1574
void rt_superell_norm(struct hit *hitp, struct soltab *stp, struct xray *rp)
Definition: superell.c:566
int rt_nurb_shot(struct soltab *stp, register struct xray *rp, struct application *ap, struct seg *seghead)
Definition: bspline.cpp:326
void rt_arbn_print(const struct soltab *stp)
Definition: arbn.c:209
void rt_superell_ifree(struct rt_db_internal *ip)
Definition: superell.c:1017
void rt_tgc_brep(ON_Brep **b, const struct rt_db_internal *ip, const struct bn_tol *tol)
Definition: tgc_brep.cpp:34
void rt_hf_uv(struct application *ap, struct soltab *stp, struct hit *hitp, struct uvcoord *uvp)
Definition: hf.c:1602
void rt_bot_ifree(struct rt_db_internal *ip)
Definition: bot.c:1526
#define ID_MAX_SOLID
Maximum defined ID_xxx for solids.
Definition: raytrace.h:494
int rt_submodel_tess(struct nmgregion **r, struct model *m, struct rt_db_internal *ip, const struct rt_tess_tol *ttol, const struct bn_tol *tol)
Definition: submodel.c:754
int rt_vol_export4(struct bu_external *ep, const struct rt_db_internal *ip, double local2mm, const struct db_i *dbip)
Definition: vol.c:503
int rt_binunif_export5(struct bu_external *ep, const struct rt_db_internal *ip, double local2mm, const struct db_i *dbip, struct resource *resp)
Definition: db5_bin.c:229
int rt_hlf_prep(struct soltab *stp, struct rt_db_internal *ip, struct rt_i *rtip)
Definition: half.c:71
int rt_brep_adaptive_plot(struct rt_db_internal *ip, const struct rt_view_info *info)
Definition: brep.cpp:4123
void rt_hyp_uv(struct application *ap, struct soltab *stp, struct hit *hitp, struct uvcoord *uvp)
Definition: hyp.c:535
int rt_generic_form(struct bu_vls *, const struct rt_functab *)
Definition: generic.c:249
HIDDEN void verbose(struct human_data_t *dude)
Definition: human.c:2008
void rt_part_brep(ON_Brep **b, const struct rt_db_internal *ip, const struct bn_tol *)
Definition: part_brep.cpp:34
int rt_dsp_plot(struct bu_list *vhead, struct rt_db_internal *ip, const struct rt_tess_tol *ttol, const struct bn_tol *tol, const struct rt_view_info *info)
Definition: dsp.c:3140
#define ID_TGC
Generalized Truncated General Cone.
Definition: raytrace.h:460
int rt_bot_form(struct bu_vls *logstr, const struct rt_functab *ftp)
Definition: bot.c:2738
#define RTFUNCTAB_FUNC_PRINT_CAST(_func)
Definition: raytrace.h:2059
int rt_pipe_adaptive_plot(struct rt_db_internal *ip, const struct rt_view_info *info)
Definition: pipe.c:2300
void rt_extrude_uv(struct application *ap, struct soltab *stp, register struct hit *hitp, register struct uvcoord *uvp)
Definition: extrude.c:1367
void rt_arb_uv(struct application *ap, struct soltab *stp, register struct hit *hitp, register struct uvcoord *uvp)
Definition: arb8.c:1037
void rt_joint_norm(struct hit *hitp, struct soltab *stp, struct xray *rp)
Definition: joint.c:157
Definition: vls.h:56
int rt_sketch_describe(struct bu_vls *str, const struct rt_db_internal *ip, int verbose, double mm2local)
Definition: sketch.c:1899
void rt_hlf_norm(register struct hit *hitp, struct soltab *stp, register struct xray *rp)
Definition: half.c:256
void rt_arbn_uv(struct application *ap, struct soltab *stp, struct hit *hitp, struct uvcoord *uvp)
Definition: arbn.c:351
int rt_hrt_plot(struct bu_list *vhead, struct rt_db_internal *ip, const struct rt_tess_tol *ttol, const struct bn_tol *tol, const struct rt_view_info *info)
Definition: hrt.c:1050
int rt_brep_import5(struct rt_db_internal *ip, const struct bu_external *ep, register const fastf_t *mat, const struct db_i *dbip)
#define RTFUNCTAB_FUNC_EXPORT5_CAST(_func)
Definition: raytrace.h:2143
#define RTFUNCTAB_FUNC_BREP_CAST(_func)
Definition: raytrace.h:2129
int rt_nurb_import4(struct rt_db_internal *ip, const struct bu_external *ep, register const fastf_t *mat, const struct db_i *dbip)
Definition: bspline.cpp:731
void rt_revolve_uv(struct application *ap, struct soltab *stp, struct hit *hitp, struct uvcoord *uvp)
Definition: revolve.c:1103
int rt_tor_export4(struct bu_external *ep, const struct rt_db_internal *ip, double local2mm, const struct db_i *dbip)
Definition: tor.c:1476
int rt_generic_xform(struct rt_db_internal *, const mat_t, struct rt_db_internal *, int, struct db_i *, struct resource *)
Definition: generic.c:50
int rt_submodel_class(const struct soltab *stp, const fastf_t *min, const fastf_t *max, const struct bn_tol *tol)
Definition: submodel.c:613
int rt_dsp_tess(struct nmgregion **r, struct model *m, struct rt_db_internal *ip, const struct rt_tess_tol *ttol, const struct bn_tol *tol)
Definition: dsp.c:3511
void rt_tgc_free(struct soltab *stp)
Definition: tgc.c:1560
void rt_ebm_uv(struct application *ap, struct soltab *stp, register struct hit *hitp, register struct uvcoord *uvp)
Definition: ebm.c:1072
#define ID_ETO
Elliptical Torus.
Definition: raytrace.h:479
int rt_rec_shot(struct soltab *stp, struct xray *rp, struct application *ap, struct seg *seghead)
Definition: rec.c:428
int rt_pnts_export5(struct bu_external *external, const struct rt_db_internal *internal, double local2mm, const struct db_i *dbip)
Definition: pnts.c:110
void rt_tor_free(struct soltab *stp)
Definition: tor.c:909
int rt_nmg_import5(struct rt_db_internal *ip, struct bu_external *ep, const mat_t mat, const struct db_i *dbip)
Definition: nmg.c:2439
void rt_ehy_brep(ON_Brep **b, const struct rt_db_internal *ip, const struct bn_tol *)
Definition: ehy_brep.cpp:34
#define ID_ELL
Ellipsoid.
Definition: raytrace.h:461
int rt_cline_export5(struct bu_external *ep, const struct rt_db_internal *ip, double local2mm, const struct db_i *dbip)
Definition: cline.c:928
int rt_cline_tess(struct nmgregion **r, struct model *m, struct rt_db_internal *ip, const struct rt_tess_tol *ttol, const struct bn_tol *tol)
Definition: cline.c:534
#define RTFUNCTAB_FUNC_CLASS_CAST(_func)
Definition: raytrace.h:2091
void rt_pg_print(const struct soltab *stp)
Definition: poly.c:201
int rt_eto_prep(struct soltab *stp, struct rt_db_internal *ip, struct rt_i *rtip)
Definition: eto.c:221
#define ID_SKETCH
2D sketch
Definition: raytrace.h:484
int rt_revolve_prep(struct soltab *stp, struct rt_db_internal *ip, struct rt_i *rtip)
Definition: revolve.c:208
int rt_superell_import4(struct rt_db_internal *ip, const struct bu_external *ep, const fastf_t *mat, const struct db_i *dbip)
Definition: superell.c:774
int rt_arb_class(const struct soltab *stp, const fastf_t *min, const fastf_t *max, const struct bn_tol *tol)
Definition: arb8.c:1166
int rt_part_prep(struct soltab *stp, struct rt_db_internal *ip, struct rt_i *rtip)
Definition: part.c:274
int rt_epa_export5(struct bu_external *ep, const struct rt_db_internal *ip, double local2mm, const struct db_i *dbip)
Definition: epa.c:1765
void rt_tgc_curve(register struct curvature *cvp, register struct hit *hitp, struct soltab *stp)
Definition: tgc.c:2055
void rt_bot_uv(struct application *ap, struct soltab *stp, struct hit *hitp, struct uvcoord *uvp)
Definition: bot.c:456
void rt_pg_uv(struct application *ap, struct soltab *stp, struct hit *hitp, struct uvcoord *uvp)
Definition: poly.c:474
int rt_ehy_export4(struct bu_external *ep, const struct rt_db_internal *ip, double local2mm, const struct db_i *dbip)
Definition: ehy.c:1680
int rt_tgc_export5(struct bu_external *ep, const struct rt_db_internal *ip, double local2mm, const struct db_i *dbip)
Definition: tgc.c:1691
int rt_joint_prep(struct soltab *stp, struct rt_db_internal *ip, struct rt_i *rtip)
Definition: joint.c:79
int rt_dsp_shot(struct soltab *stp, register struct xray *rp, struct application *ap, struct seg *seghead)
Definition: dsp.c:2558
void rt_hrt_uv(void)
Definition: hrt.c:973
int rt_tgc_adaptive_plot(struct rt_db_internal *ip, const struct rt_view_info *info)
Definition: tgc.c:1921
void rt_epa_print(const struct soltab *stp)
Definition: epa.c:333
int rt_superell_export5(struct bu_external *ep, const struct rt_db_internal *ip, double local2mm, const struct db_i *dbip)
Definition: superell.c:908
int rt_generic_adjust(struct bu_vls *, struct rt_db_internal *, int, const char **)
Definition: generic.c:217
int rt_hf_tess(struct nmgregion **r, struct model *m, struct rt_db_internal *ip, const struct rt_tess_tol *ttol, const struct bn_tol *tol)
Definition: hf.c:1898
int rt_extrude_tess(struct nmgregion **r, struct model *m, struct rt_db_internal *ip, const struct rt_tess_tol *ttol, const struct bn_tol *tol)
Definition: extrude.c:2057
int rt_joint_import4(struct rt_db_internal *ip, const struct bu_external *ep, const fastf_t *mat, const struct db_i *dbip)
Definition: joint.c:272
int rt_extrude_xform(struct rt_db_internal *op, const mat_t mat, struct rt_db_internal *ip, int release, struct db_i *dbip, struct resource *resp)
Definition: extrude.c:2654
int rt_ars_tess(struct nmgregion **r, struct model *m, struct rt_db_internal *ip, const struct rt_tess_tol *ttol, const struct bn_tol *tol)
Definition: ars.c:481
void rt_hlf_curve(struct curvature *cvp, struct hit *hitp, struct soltab *stp)
Definition: half.c:289
int rt_nmg_export4(struct bu_external *ep, const struct rt_db_internal *ip, double local2mm, const struct db_i *dbip)
Definition: nmg.c:2536
void rt_tor_vshot(struct soltab **stp, struct xray **rp, struct seg *segp, int n, struct application *ap)
Definition: tor.c:539
int rt_metaball_import5(struct rt_db_internal *ip, const struct bu_external *ep, register const fastf_t *mat, const struct db_i *dbip)
Definition: metaball.c:680
int rt_bot_plot(struct bu_list *vhead, struct rt_db_internal *ip, const struct rt_tess_tol *ttol, const struct bn_tol *tol, const struct rt_view_info *info)
Definition: bot.c:653
void rt_extrude_print(const struct soltab *stp)
Definition: extrude.c:609
void rt_bot_print(const struct soltab *stp)
Definition: bot.c:275
int rt_hrt_tess(void)
Definition: hrt.c:1508
int rt_joint_tess(struct nmgregion **r, struct model *m, struct rt_db_internal *ip, const struct rt_tess_tol *ttol, const struct bn_tol *tol)
Definition: joint.c:466
int rt_comb_adjust(struct bu_vls *logstr, struct rt_db_internal *intern, int argc, const char **argv)
void rt_part_print(register const struct soltab *stp)
Definition: part.c:408
const struct rt_functab * rt_get_functab_by_label(const char *label)
Definition: table.c:2410
int rt_cline_form(struct bu_vls *logstr, const struct rt_functab *ftp)
Definition: cline.c:1085
int rt_grp_import5(struct rt_db_internal *ip, const struct bu_external *ep, const fastf_t *mat, const struct db_i *dbip)
Definition: grip.c:335
#define BU_STR_EQUAL(s1, s2)
Definition: str.h:126