BRL-CAD
ged.h
Go to the documentation of this file.
1 /* G E D . H
2  * BRL-CAD
3  *
4  * Copyright (c) 2008-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 /** @file ged.h
21  *
22  * Functions provided by the LIBGED geometry editing library. These
23  * routines are a procedural basis for the geometric editing
24  * capabilities available in BRL-CAD. The library is tightly coupled
25  * to the LIBRT library for geometric representation and analysis.
26  *
27  */
28 
29 #ifndef GED_H
30 #define GED_H
31 
32 #include "common.h"
33 
34 #include "solid.h"
35 #include "dm/bview.h"
36 #include "raytrace.h"
37 #include "fbserv_obj.h"
38 
39 
41 
42 #ifndef GED_EXPORT
43 # if defined(GED_DLL_EXPORTS) && defined(GED_DLL_IMPORTS)
44 # error "Only GED_DLL_EXPORTS or GED_DLL_IMPORTS can be defined, not both."
45 # elif defined(GED_DLL_EXPORTS)
46 # define GED_EXPORT __declspec(dllexport)
47 # elif defined(GED_DLL_IMPORTS)
48 # define GED_EXPORT __declspec(dllimport)
49 # else
50 # define GED_EXPORT
51 # endif
52 #endif
53 
54 /** all okay return code, not a maskable result */
55 #define GED_OK 0x0000
56 
57 /**
58  * possible maskable return codes from ged functions. callers should
59  * not rely on the actual values but should instead test via masking.
60  */
61 #define GED_ERROR 0x0001 /**< something went wrong, the action was not performed */
62 #define GED_HELP 0x0002 /**< invalid specification, result contains usage */
63 #define GED_MORE 0x0004 /**< incomplete specification, can specify again interactively */
64 #define GED_QUIET 0x0008 /**< don't set or modify the result string */
65 
66 #define GED_VMIN -2048.0
67 #define GED_VMAX 2047.0
68 #define GED_VRANGE 4095.0
69 #define INV_GED_V 0.00048828125
70 #define INV_4096_V 0.000244140625
71 
72 #define GED_NULL ((struct ged *)0)
73 #define GED_DISPLAY_LIST_NULL ((struct display_list *)0)
74 #define GED_DRAWABLE_NULL ((struct ged_drawable *)0)
75 #define GED_VIEW_NULL ((struct bview *)0)
76 #define GED_DM_VIEW_NULL ((struct ged_dm_view *)0)
77 
78 #define GED_RESULT_NULL ((void *)0)
79 
80 #define GED_FUNC_PTR_NULL ((ged_func_ptr)0)
81 #define GED_REFRESH_CALLBACK_PTR_NULL ((ged_refresh_callback_ptr)0)
82 #define GED_CREATE_VLIST_CALLBACK_PTR_NULL ((ged_create_vlist_callback_ptr)0)
83 #define GED_FREE_VLIST_CALLBACK_PTR_NULL ((ged_free_vlist_callback_ptr)0)
84 
85 /**
86  * Definition of global parallel-processing semaphores.
87  *
88  */
89 #define GED_SEM_WORKER RT_SEM_LAST
90 #define GED_SEM_STATS GED_SEM_WORKER+1
91 #define GED_SEM_LIST GED_SEM_STATS+1
92 #define GED_SEM_LAST GED_SEM_LIST+1
93 
94 #define GED_INIT(_gedp, _wdbp) { \
95  ged_init((_gedp)); \
96  (_gedp)->ged_wdbp = (_wdbp); \
97  }
98 
99 #define GED_INITIALIZED(_gedp) ((_gedp)->ged_wdbp != RT_WDB_NULL)
100 #define GED_LOCAL2BASE(_gedp) ((_gedp)->ged_wdbp->dbip->dbi_local2base)
101 #define GED_BASE2LOCAL(_gedp) ((_gedp)->ged_wdbp->dbip->dbi_base2local)
102 
103 /** Check if the object is a combination */
104 #define GED_CHECK_COMB(_gedp, _dp, _flags) \
105  if (((_dp)->d_flags & RT_DIR_COMB) == 0) { \
106  int ged_check_comb_quiet = (_flags) & GED_QUIET; \
107  if (!ged_check_comb_quiet) { \
108  bu_vls_printf((_gedp)->ged_result_str, "%s is not a combination", (_dp)->d_namep); \
109  } \
110  return (_flags); \
111  }
112 
113 /** Check if a database is open */
114 #define GED_CHECK_DATABASE_OPEN(_gedp, _flags) \
115  if ((_gedp) == GED_NULL || (_gedp)->ged_wdbp == RT_WDB_NULL || (_gedp)->ged_wdbp->dbip == DBI_NULL) { \
116  int ged_check_database_open_quiet = (_flags) & GED_QUIET; \
117  if (!ged_check_database_open_quiet) { \
118  if ((_gedp) != GED_NULL) { \
119  bu_vls_trunc((_gedp)->ged_result_str, 0); \
120  bu_vls_printf((_gedp)->ged_result_str, "A database is not open!"); \
121  } else {\
122  bu_log("A database is not open!\n"); \
123  } \
124  } \
125  return (_flags); \
126  }
127 
128 /** Check if a drawable exists */
129 #define GED_CHECK_DRAWABLE(_gedp, _flags) \
130  if (_gedp->ged_gdp == GED_DRAWABLE_NULL) { \
131  int ged_check_drawable_quiet = (_flags) & GED_QUIET; \
132  if (!ged_check_drawable_quiet) { \
133  bu_vls_trunc((_gedp)->ged_result_str, 0); \
134  bu_vls_printf((_gedp)->ged_result_str, "A drawable does not exist."); \
135  } \
136  return (_flags); \
137  }
138 
139 /** Check if a view exists */
140 #define GED_CHECK_VIEW(_gedp, _flags) \
141  if (_gedp->ged_gvp == GED_VIEW_NULL) { \
142  int ged_check_view_quiet = (_flags) & GED_QUIET; \
143  if (!ged_check_view_quiet) { \
144  bu_vls_trunc((_gedp)->ged_result_str, 0); \
145  bu_vls_printf((_gedp)->ged_result_str, "A view does not exist."); \
146  } \
147  return (_flags); \
148  }
149 
150 #define GED_CHECK_FBSERV(_gedp, _flags) \
151  if (_gedp->ged_fbsp == FBSERV_OBJ_NULL) { \
152  int ged_check_view_quiet = (_flags) & GED_QUIET; \
153  if (!ged_check_view_quiet) { \
154  bu_vls_trunc((_gedp)->ged_result_str, 0); \
155  bu_vls_printf((_gedp)->ged_result_str, "A framebuffer server object does not exist."); \
156  } \
157  return (_flags); \
158  }
159 
160 #define GED_CHECK_FBSERV_FBP(_gedp, _flags) \
161  if (_gedp->ged_fbsp->fbs_fbp == FB_NULL) { \
162  int ged_check_view_quiet = (_flags) & GED_QUIET; \
163  if (!ged_check_view_quiet) { \
164  bu_vls_trunc((_gedp)->ged_result_str, 0); \
165  bu_vls_printf((_gedp)->ged_result_str, "A framebuffer IO structure does not exist."); \
166  } \
167  return (_flags); \
168  }
169 
170 /** Lookup database object */
171 #define GED_CHECK_EXISTS(_gedp, _name, _noisy, _flags) \
172  if (db_lookup((_gedp)->ged_wdbp->dbip, (_name), (_noisy)) != RT_DIR_NULL) { \
173  int ged_check_exists_quiet = (_flags) & GED_QUIET; \
174  if (!ged_check_exists_quiet) { \
175  bu_vls_printf((_gedp)->ged_result_str, "%s already exists.", (_name)); \
176  } \
177  return (_flags); \
178  }
179 
180 /** Check if the database is read only */
181 #define GED_CHECK_READ_ONLY(_gedp, _flags) \
182  if ((_gedp)->ged_wdbp->dbip->dbi_read_only) { \
183  int ged_check_read_only_quiet = (_flags) & GED_QUIET; \
184  if (!ged_check_read_only_quiet) { \
185  bu_vls_trunc((_gedp)->ged_result_str, 0); \
186  bu_vls_printf((_gedp)->ged_result_str, "Sorry, this database is READ-ONLY."); \
187  } \
188  return (_flags); \
189  }
190 
191 /** Check if the object is a region */
192 #define GED_CHECK_REGION(_gedp, _dp, _flags) \
193  if (((_dp)->d_flags & RT_DIR_REGION) == 0) { \
194  int ged_check_region_quiet = (_flags) & GED_QUIET; \
195  if (!ged_check_region_quiet) { \
196  bu_vls_printf((_gedp)->ged_result_str, "%s is not a region.", (_dp)->d_namep); \
197  } \
198  return (_flags); \
199  }
200 
201 /** make sure there is a command name given */
202 #define GED_CHECK_ARGC_GT_0(_gedp, _argc, _flags) \
203  if ((_argc) < 1) { \
204  int ged_check_argc_gt_0_quiet = (_flags) & GED_QUIET; \
205  if (!ged_check_argc_gt_0_quiet) { \
206  bu_vls_trunc((_gedp)->ged_result_str, 0); \
207  bu_vls_printf((_gedp)->ged_result_str, "Command name not provided on (%s:%d).", __FILE__, __LINE__); \
208  } \
209  return (_flags); \
210  }
211 
212 /** add a new directory entry to the currently open database */
213 #define GED_DB_DIRADD(_gedp, _dp, _name, _laddr, _len, _dirflags, _ptr, _flags) \
214  if (((_dp) = db_diradd((_gedp)->ged_wdbp->dbip, (_name), (_laddr), (_len), (_dirflags), (_ptr))) == RT_DIR_NULL) { \
215  int ged_db_diradd_quiet = (_flags) & GED_QUIET; \
216  if (!ged_db_diradd_quiet) { \
217  bu_vls_printf((_gedp)->ged_result_str, "Unable to add %s to the database.", (_name)); \
218  } \
219  return (_flags); \
220  }
221 
222 /** Lookup database object */
223 #define GED_DB_LOOKUP(_gedp, _dp, _name, _noisy, _flags) \
224  if (((_dp) = db_lookup((_gedp)->ged_wdbp->dbip, (_name), (_noisy))) == RT_DIR_NULL) { \
225  int ged_db_lookup_quiet = (_flags) & GED_QUIET; \
226  if (!ged_db_lookup_quiet) { \
227  bu_vls_printf((_gedp)->ged_result_str, "Unable to find %s in the database.", (_name)); \
228  } \
229  return (_flags); \
230  }
231 
232 /** Get internal representation */
233 #define GED_DB_GET_INTERNAL(_gedp, _intern, _dp, _mat, _resource, _flags) \
234  if (rt_db_get_internal((_intern), (_dp), (_gedp)->ged_wdbp->dbip, (_mat), (_resource)) < 0) { \
235  int ged_db_get_internal_quiet = (_flags) & GED_QUIET; \
236  if (!ged_db_get_internal_quiet) { \
237  bu_vls_printf((_gedp)->ged_result_str, "Database read failure."); \
238  } \
239  return (_flags); \
240  }
241 
242 /** Put internal representation */
243 #define GED_DB_PUT_INTERNAL(_gedp, _dp, _intern, _resource, _flags) \
244  if (rt_db_put_internal((_dp), (_gedp)->ged_wdbp->dbip, (_intern), (_resource)) < 0) { \
245  int ged_db_put_internal_quiet = (_flags) & GED_QUIET; \
246  if (!ged_db_put_internal_quiet) { \
247  bu_vls_printf((_gedp)->ged_result_str, "Database write failure."); \
248  } \
249  return (_flags); \
250  }
251 
252 /* From include/dm.h */
253 #define GED_MAX 2047.0
254 #define GED_MIN -2048.0
255 #define GED_RANGE 4095.0
256 #define INV_GED 0.00048828125
257 #define INV_4096 0.000244140625
258 
259 struct ged_run_rt {
260  struct bu_list l;
261 #if defined(_WIN32) && !defined(__CYGWIN__)
262  HANDLE fd;
263  HANDLE hProcess;
264  DWORD pid;
265 
266 # ifdef TCL_OK
267  Tcl_Channel chan;
268 # else
269  void *chan;
270 # endif
271 #else
272  int fd;
273  int pid;
274 #endif
275  int aborted;
276 };
277 
278 /* FIXME: should be private */
280  unsigned char r;
281  unsigned char g;
282  unsigned char b;
283 };
284 
285 /* FIXME: should be private */
286 struct ged_qray_fmt {
287  char type;
288  struct bu_vls fmt;
289 };
290 
291 /* FIXME: leftovers from dg.h */
292 #define RT_VDRW_PREFIX "_VDRW"
293 #define RT_VDRW_PREFIX_LEN 6
294 #define RT_VDRW_MAXNAME 31
295 #define RT_VDRW_DEF_COLOR 0xffff00
296 struct vd_curve {
297  struct bu_list l;
298  char vdc_name[RT_VDRW_MAXNAME+1]; /**< @brief name array */
299  long vdc_rgb; /**< @brief color */
300  struct bu_list vdc_vhd; /**< @brief head of list of vertices */
301 };
302 #define VD_CURVE_NULL ((struct vd_curve *)NULL)
303 
304 /* FIXME: should be private */
305 struct ged_drawable {
306  struct bu_list l;
307  struct bu_list *gd_headDisplay; /**< @brief head of display list */
308  struct bu_list *gd_headVDraw; /**< @brief head of vdraw list */
309  struct vd_curve *gd_currVHead; /**< @brief current vdraw head */
310  struct solid *gd_freeSolids; /**< @brief ptr to head of free solid list */
311 
312  char **gd_rt_cmd;
314  struct ged_run_rt gd_headRunRt; /**< @brief head of forked rt processes */
315 
316  void (*gd_rtCmdNotify)(int aborted); /**< @brief function called when rt command completes */
317 
318  int gd_uplotOutputMode; /**< @brief output mode for unix plots */
319 
320  /* qray state */
321  struct bu_vls gd_qray_basename; /**< @brief basename of query ray vlist */
322  struct bu_vls gd_qray_script; /**< @brief query ray script */
323  char gd_qray_effects; /**< @brief t for text, g for graphics or b for both */
324  int gd_qray_cmd_echo; /**< @brief 0 - don't echo command, 1 - echo command */
330  int gd_shaded_mode; /**< @brief 1 - draw bots shaded by default */
331 };
332 
333 struct ged_cmd;
334 
335 /* struct details are private - use accessor functions to manipulate */
336 struct ged_results;
337 
338 struct ged {
339  struct bu_list l;
340  struct rt_wdb *ged_wdbp;
341 
342  /** for catching log messages */
343  struct bu_vls *ged_log;
344 
345  struct solid *freesolid; /* For now this is a struct solid, but longer term that may not always be true */
346 
347  /* TODO: add support for returning an array of objects, not just a
348  * simple string.
349  *
350  * the calling application needs to be able to distinguish the
351  * individual object names from the "ls" command without resorting
352  * to quirky string encoding or format-specific quote wrapping.
353  *
354  * want to consider whether we need a json-style dictionary, but
355  * probably a literal null-terminated array will suffice here.
356  */
359 
361  struct bview *ged_gvp;
362  struct fbserv_obj *ged_fbsp; /* FIXME: this shouldn't be here */
363  struct bu_hash_tbl *ged_selections; /**< @brief object name -> struct rt_object_selections */
364 
365  void *ged_dmp;
366  void *ged_refresh_clientdata; /**< @brief client data passed to refresh handler */
367  void (*ged_refresh_handler)(void *); /**< @brief function for handling refresh requests */
368  void (*ged_output_handler)(struct ged *, char *); /**< @brief function for handling output */
369  char *ged_output_script; /**< @brief script for use by the outputHandler */
370  void (*ged_create_vlist_callback)(struct display_list *); /**< @brief function to call after creating a vlist */
371  void (*ged_free_vlist_callback)(unsigned int, int); /**< @brief function to call after freeing a vlist */
372 
373  /* FIXME -- this ugly hack needs to die. the result string should be stored before the call. */
375 
376  /* FOR LIBGED INTERNAL USE */
377  struct ged_cmd *cmds;
378  int (*add)(const struct ged_cmd *cmd);
379  int (*del)(const char *name);
380  int (*run)(int ac, char *av[]);
381 
382  /* Interface to LIBDM */
386  void (*ged_dm_get_display_image)(struct ged *, unsigned char **);
387 
388 };
389 
390 typedef int (*ged_func_ptr)(struct ged *, int, const char *[]);
391 typedef void (*ged_refresh_callback_ptr)(void *);
392 typedef void (*ged_create_vlist_callback_ptr)(struct display_list *);
393 typedef void (*ged_free_vlist_callback_ptr)(unsigned int, int);
394 
395 
396 /**
397  * describes a command plugin
398  */
399 struct ged_cmd {
400  struct bu_list l;
401 
402  const char *name;
403  const char description[80];
404  const char *manpage;
405 
406  int (*load)(struct ged *);
407  void (*unload)(struct ged *);
408  int (*exec)(struct ged *, int, const char *[]);
409 };
410 
411 /* accessor functions for ged_results - calling
412  * applications should not work directly with the
413  * internals of ged_results, which are not guaranteed
414  * to stay the same.
415  * defined in ged_util.c */
416 GED_EXPORT extern size_t ged_results_count(struct ged_results *results);
417 GED_EXPORT extern const char *ged_results_get(struct ged_results *results, size_t index);
418 GED_EXPORT extern void ged_results_clear(struct ged_results *results);
419 GED_EXPORT extern void ged_results_free(struct ged_results *results);
420 
421 
422 /* defined in adc.c */
423 GED_EXPORT extern void ged_calc_adc_pos(struct bview *gvp);
424 GED_EXPORT extern void ged_calc_adc_a1(struct bview *gvp);
425 GED_EXPORT extern void ged_calc_adc_a2(struct bview *gvp);
426 GED_EXPORT extern void ged_calc_adc_dst(struct bview *gvp);
427 
428 /* defined in clip.c */
429 GED_EXPORT extern int ged_clip(fastf_t *xp1,
430  fastf_t *yp1,
431  fastf_t *xp2,
432  fastf_t *yp2);
433 GED_EXPORT extern int ged_vclip(vect_t a,
434  vect_t b,
435  fastf_t *min,
436  fastf_t *max);
437 
438 /* defined in copy.c */
439 GED_EXPORT extern int ged_dbcopy(struct ged *from_gedp,
440  struct ged *to_gedp,
441  const char *from,
442  const char *to,
443  int fflag);
444 
445 /* defined in display_list.c */
446 GED_EXPORT void dl_set_iflag(struct bu_list *hdlp, int iflag);
447 GED_EXPORT extern void dl_color_soltab(struct bu_list *hdlp);
448 GED_EXPORT extern void dl_erasePathFromDisplay(struct bu_list *hdlp,
449  struct db_i *dbip,
450  void (*callback)(unsigned int, int),
451  const char *path,
452  int allow_split,
453  struct solid *freesolid);
454 GED_EXPORT extern struct display_list *dl_addToDisplay(struct bu_list *hdlp, struct db_i *dbip, const char *name);
455 /* When finalized, this stuff belongs in a header file of its own */
457  uint32_t magic; /* magic number */
458  int ident; /* identification number */
459  int interior; /* >0 => interior loop, gives ident # of exterior loop */
460  vect_t normal; /* surface normal */
461  unsigned char color[3]; /* Color from containing region */
462  int npts; /* number of points */
463 };
464 #define POLYGON_HEADER_MAGIC 0x8623bad2
465 GED_EXPORT extern void dl_polybinout(struct bu_list *hdlp, struct polygon_header *ph, FILE *fp);
466 
467 GED_EXPORT extern int invent_solid(struct bu_list *hdlp, struct db_i *dbip, void (*callback_create)(struct display_list *), void (*callback_free)(unsigned int, int), char *name, struct bu_list *vhead, long int rgb, int copy, fastf_t transparency, int dmode, struct solid *freesolid, int csoltab);
468 
469 
470 /* defined in ged.c */
471 GED_EXPORT extern void ged_close(struct ged *gedp);
472 GED_EXPORT extern void ged_free(struct ged *gedp);
473 GED_EXPORT extern void ged_init(struct ged *gedp);
474 /* Call BU_PUT to release returned ged structure */
475 GED_EXPORT extern struct ged *ged_open(const char *dbtype,
476  const char *filename,
477  int existing_only);
478 GED_EXPORT extern void ged_view_init(struct bview *gvp);
479 
480 /* defined in grid.c */
481 GED_EXPORT extern void ged_snap_to_grid(struct ged *gedp, fastf_t *vx, fastf_t *vy);
482 
483 /* defined in inside.c */
484 GED_EXPORT extern int ged_inside_internal(struct ged *gedp,
485  struct rt_db_internal *ip,
486  int argc,
487  const char *argv[],
488  int arg,
489  char *o_name);
490 
491 /* defined in rt.c */
492 GED_EXPORT extern int ged_build_tops(struct ged *gedp,
493  char **start,
494  char **end);
495 GED_EXPORT extern size_t ged_count_tops(struct ged *gedp);
496 
497 
498 /* Defined in vutil.c */
499 GED_EXPORT extern void ged_persp_mat(fastf_t *m,
500  fastf_t fovy,
501  fastf_t aspect,
502  fastf_t near1,
503  fastf_t far1,
504  fastf_t backoff);
505 GED_EXPORT extern void ged_mike_persp_mat(fastf_t *pmat,
506  const fastf_t *eye);
507 GED_EXPORT extern void ged_deering_persp_mat(fastf_t *m,
508  const fastf_t *l,
509  const fastf_t *h,
510  const fastf_t *eye);
511 GED_EXPORT extern void ged_view_update(struct bview *gvp);
512 
513 
514 /**
515  * Creates an arb8 given the following:
516  * 1) 3 points of one face
517  * 2) coord x, y or z and 2 coordinates of the 4th point in that face
518  * 3) thickness
519  */
520 GED_EXPORT extern int ged_3ptarb(struct ged *gedp, int argc, const char *argv[]);
521 
522 /**
523  * Angle distance cursor.
524  */
525 GED_EXPORT extern int ged_adc(struct ged *gedp, int argc, const char *argv[]);
526 
527 /**
528  * Adjust object's attribute(s)
529  */
530 GED_EXPORT extern int ged_adjust(struct ged *gedp, int argc, const char *argv[]);
531 
532 /**
533  * Creates an arb8 given rotation and fallback angles
534  */
535 GED_EXPORT extern int ged_arb(struct ged *gedp, int argc, const char *argv[]);
536 
537 /**
538  * Convert az/el to a direction vector.
539  */
540 GED_EXPORT extern int ged_ae2dir(struct ged *gedp, int argc, const char *argv[]);
541 
542 /**
543  * Get or set the azimuth, elevation and twist.
544  */
545 GED_EXPORT extern int ged_aet(struct ged *gedp, int argc, const char *argv[]);
546 
547 /**
548  * Returns lots of information about the specified object(s)
549  */
550 GED_EXPORT extern int ged_analyze(struct ged *gedp, int argc, const char *argv[]);
551 
552 /**
553  * Creates an annotation.
554  */
555 GED_EXPORT extern int ged_annotate(struct ged *gedp, int argc, const char *argv[]);
556 
557 /**
558  * Append a pipe point.
559  */
560 GED_EXPORT extern int ged_append_pipept(struct ged *gedp, int argc, const char *argv[]);
561 
562 /**
563  * Allow editing of the matrix, etc., along an arc.
564  */
565 GED_EXPORT extern int ged_arced(struct ged *gedp, int argc, const char *argv[]);
566 
567 /**
568  * Set, get, show, remove or append to attribute values for the specified object.
569  * The arguments for "set" and "append" subcommands are attribute name/value pairs.
570  * The arguments for "get", "rm", and "show" subcommands are attribute names.
571  * The "set" subcommand sets the specified attributes for the object.
572  * The "append" subcommand appends the provided value to an existing attribute,
573  * or creates a new attribute if it does not already exist.
574  * The "get" subcommand retrieves and displays the specified attributes.
575  * The "rm" subcommand deletes the specified attributes.
576  * The "show" subcommand does a "get" and displays the results in a user readable format.
577  */
578 GED_EXPORT extern int ged_attr(struct ged *gedp, int argc, const char *argv[]);
579 
580 /**
581  * Rotate angle degrees about the specified axis
582  */
583 GED_EXPORT extern int ged_arot_args(struct ged *gedp, int argc, const char *argv[], mat_t rmat);
584 GED_EXPORT extern int ged_arot(struct ged *gedp, int argc, const char *argv[]);
585 
586 /**
587  * Auto-adjust the view so that all displayed geometry is in view
588  */
589 GED_EXPORT extern int ged_autoview(struct ged *gedp, int argc, const char *argv[]);
590 
591 /**
592  * Report the size of the bounding box (rpp) around the specified object
593  */
594 GED_EXPORT extern int ged_bb(struct ged *gedp, int argc, const char *argv[]);
595 
596 /**
597  * Tessellates each operand object, then performs the
598  * boolean evaluation, storing result in 'new_obj'
599  */
600 GED_EXPORT extern int ged_bev(struct ged *gedp, int argc, const char *argv[]);
601 
602 /**
603  * Manipulate opaque binary objects.
604  * Must specify one of -i (for creating or adjusting objects (input))
605  * or -o for extracting objects (output).
606  * If the major type is "u" the minor type must be one of:
607  * "f" -> float
608  * "d" -> double
609  * "c" -> char (8 bit)
610  * "s" -> short (16 bit)
611  * "i" -> int (32 bit)
612  * "l" -> long (64 bit)
613  * "C" -> unsigned char (8 bit)
614  * "S" -> unsigned short (16 bit)
615  * "I" -> unsigned int (32 bit)
616  * "L" -> unsigned long (64 bit)
617  * For input, source is a file name and dest is an object name.
618  * For output source is an object name and dest is a file name.
619  * Only uniform array binary objects (major_type=u) are currently supported}}
620  */
621 GED_EXPORT extern int ged_bo(struct ged *gedp, int argc, const char *argv[]);
622 
623 /**
624  * Erase all currently displayed geometry and draw the specified object(s)
625  */
626 GED_EXPORT extern int ged_blast(struct ged *gedp, int argc, const char *argv[]);
627 
628 /**
629  * Query or manipulate properties of bot
630  */
631 GED_EXPORT extern int ged_bot(struct ged *gedp, int argc, const char *argv[]);
632 
633 /**
634  * Create new_bot by condensing old_bot
635  */
636 GED_EXPORT extern int ged_bot_condense(struct ged *gedp, int argc, const char *argv[]);
637 
638 /**
639  * Uses edge decimation to reduce the number of triangles in the
640  * specified BOT while keeping within the specified constraints.
641  */
642 GED_EXPORT extern int ged_bot_decimate(struct ged *gedp, int argc, const char *argv[]);
643 
644 /**
645  * Dump bots to the specified format.
646  */
647 GED_EXPORT extern int ged_bot_dump(struct ged *gedp, int argc, const char *argv[]);
648 
649 /**
650  * Dump displayed bots to the specified format.
651  */
652 GED_EXPORT extern int ged_dbot_dump(struct ged *gedp, int argc, const char *argv[]);
653 
654 /**
655  * Split the specified bot edge. This splits the triangles that share the edge.
656  */
657 GED_EXPORT extern int ged_bot_edge_split(struct ged *gedp, int argc, const char *argv[]);
658 
659 /**
660  * Create new_bot by fusing faces in old_bot
661  */
662 GED_EXPORT extern int ged_bot_face_fuse(struct ged *gedp, int argc, const char *argv[]);
663 
664 /**
665  * Sort the facelist of BOT solids to optimize ray trace performance
666  * for a particular number of triangles per raytrace piece.
667  */
668 GED_EXPORT extern int ged_bot_face_sort(struct ged *gedp, int argc, const char *argv[]);
669 
670 /**
671  * Split the specified bot face into three parts (i.e. by adding a point to the center)
672  */
673 GED_EXPORT extern int ged_bot_face_split(struct ged *gedp, int argc, const char *argv[]);
674 
675 /**
676  * Flip/reverse the specified bot's orientation.
677  */
678 GED_EXPORT extern int ged_bot_flip(struct ged *gedp, int argc, const char *argv[]);
679 
680 /**
681  * Fuse bot
682  */
683 GED_EXPORT extern int ged_bot_fuse(struct ged *gedp, int argc, const char *argv[]);
684 
685 /**
686  * Create bot_dest by merging the bot sources.
687  */
688 GED_EXPORT extern int ged_bot_merge(struct ged *gedp, int argc, const char *argv[]);
689 
690 /**
691  * Calculate vertex normals for the BOT primitive
692  */
693 GED_EXPORT extern int ged_bot_smooth(struct ged *gedp, int argc, const char *argv[]);
694 
695 /**
696  * Split the specified bot
697  */
698 GED_EXPORT extern int ged_bot_split(struct ged *gedp, int argc, const char *argv[]);
699 
700 /**
701  * Sync the specified bot's orientation (i.e. make sure all neighboring triangles have same orientation).
702  */
703 GED_EXPORT extern int ged_bot_sync(struct ged *gedp, int argc, const char *argv[]);
704 
705 /**
706  * Fuse bot vertices
707  */
708 GED_EXPORT extern int ged_bot_vertex_fuse(struct ged *gedp, int argc, const char *argv[]);
709 
710 /**
711  * BREP utility command
712  */
713 GED_EXPORT extern int ged_brep(struct ged *gedp, int argc, const char *argv[]);
714 
715 /**
716  * List attributes (brief).
717  */
718 GED_EXPORT extern int ged_cat(struct ged *gedp, int argc, const char *argv[]);
719 
720 /**
721  * Create constraint object
722  */
723 GED_EXPORT extern int ged_cc(struct ged *gedp, int argc, const char *argv[]);
724 
725 /**
726  * Get or set the view center.
727  */
728 GED_EXPORT extern int ged_center(struct ged *gedp, int argc, const char *argv[]);
729 
730 /**
731  * Performs a deep copy of object.
732  */
733 GED_EXPORT extern int ged_clone(struct ged *gedp, int argc, const char *argv[]);
734 
735 /**
736  * Make coil shapes.
737  */
738 GED_EXPORT extern int ged_coil(struct ged *gedp, int argc, const char *argv[]);
739 
740 /**
741  * Make color entry.
742  */
743 GED_EXPORT extern int ged_color(struct ged *gedp, int argc, const char *argv[]);
744 
745 /**
746  * Set combination color.
747  */
748 GED_EXPORT extern int ged_comb_color(struct ged *gedp, int argc, const char *argv[]);
749 
750 /**
751  * Create or extend combination w/booleans.
752  */
753 GED_EXPORT extern int ged_comb(struct ged *gedp, int argc, const char *argv[]);
754 
755 /**
756  * Create or extend a combination using standard notation.
757  */
758 GED_EXPORT extern int ged_comb_std(struct ged *gedp, int argc, const char *argv[]);
759 
760 /**
761  * Set/get comb's members.
762  */
763 GED_EXPORT extern int ged_combmem(struct ged *gedp, int argc, const char *argv[]);
764 
765 /**
766  * create, update, remove, and list geometric and dimensional constraints.
767  */
768 GED_EXPORT extern int ged_constraint(struct ged *gedp, int argc, const char *argv[]);
769 
770 /**
771  * Import a database into the current database using an auto-incrementing or custom affix
772  */
773 GED_EXPORT extern int ged_concat(struct ged *gedp, int argc, const char *argv[]);
774 
775 /**
776  * Copy a database object
777  */
778 GED_EXPORT extern int ged_copy(struct ged *gedp, int argc, const char *argv[]);
779 
780 /**
781  * Copy an 'evaluated' path solid
782  */
783 GED_EXPORT extern int ged_copyeval(struct ged *gedp, int argc, const char *argv[]);
784 
785 /**
786  * Copy the matrix from one combination's arc to another.
787  */
788 GED_EXPORT extern int ged_copymat(struct ged *gedp, int argc, const char *argv[]);
789 
790 /**
791  * Copy cylinder and position at end of original cylinder
792  */
793 GED_EXPORT extern int ged_cpi(struct ged *gedp, int argc, const char *argv[]);
794 
795 /**
796  * Get dbip
797  */
798 GED_EXPORT extern int ged_dbip(struct ged *gedp, int argc, const char *argv[]);
799 
800 /**
801  * Set/get libbu's debug bit vector
802  */
803 GED_EXPORT extern int ged_debugbu(struct ged *gedp, int argc, const char *argv[]);
804 
805 /**
806  * Dump of the database's directory
807  */
808 GED_EXPORT extern int ged_debugdir(struct ged *gedp, int argc, const char *argv[]);
809 
810 /**
811  * Set/get librt's debug bit vector
812  */
813 GED_EXPORT extern int ged_debuglib(struct ged *gedp, int argc, const char *argv[]);
814 
815 /**
816  * Provides user-level access to LIBBU's bu_prmem()
817  */
818 GED_EXPORT extern int ged_debugmem(struct ged *gedp, int argc, const char *argv[]);
819 GED_EXPORT extern int ged_memprint(struct ged *gedp, int argc, const char *argv[]);
820 
821 /**
822  * Set/get librt's NMG debug bit vector
823  */
824 GED_EXPORT extern int ged_debugnmg(struct ged *gedp, int argc, const char *argv[]);
825 
826 /**
827  * Decompose nmg_solid into maximally connected shells
828  */
829 GED_EXPORT extern int ged_decompose(struct ged *gedp, int argc, const char *argv[]);
830 
831 /**
832  * Delay the specified amount of time
833  */
834 GED_EXPORT extern int ged_delay(struct ged *gedp, int argc, const char *argv[]);
835 
836 /**
837  * Delete the specified pipe point.
838  */
839 GED_EXPORT extern int ged_delete_pipept(struct ged *gedp, int argc, const char *argv[]);
840 
841 /**
842  * Convert a direction vector to az/el.
843  */
844 GED_EXPORT extern int ged_dir2ae(struct ged *gedp, int argc, const char *argv[]);
845 
846 /**
847  * Prepare object(s) for display
848  */
849 GED_EXPORT extern int ged_draw(struct ged *gedp, int argc, const char *argv[]);
850 
851 /**
852  * Dump a full copy of the database into file.g
853  */
854 GED_EXPORT extern int ged_dump(struct ged *gedp, int argc, const char *argv[]);
855 
856 /**
857  * Check for duplicate names in file
858  */
859 GED_EXPORT extern int ged_dup(struct ged *gedp, int argc, const char *argv[]);
860 
861 /**
862  * Prepare object(s) for display
863  */
864 GED_EXPORT extern int ged_E(struct ged *gedp, int argc, const char *argv[]);
865 
866 /**
867  * Prepare all regions with the given air code(s) for display
868  */
869 GED_EXPORT extern int ged_eac(struct ged *gedp, int argc, const char *argv[]);
870 
871 /**
872  * Echo the specified arguments.
873  */
874 GED_EXPORT extern int ged_echo(struct ged *gedp, int argc, const char *argv[]);
875 
876 /**
877  * Arb specific edits.
878  */
879 GED_EXPORT extern int ged_edarb(struct ged *gedp, int argc, const char *argv[]);
880 
881 /**
882  * Text edit the color table
883  */
884 GED_EXPORT extern int ged_edcolor(struct ged *gedp, int argc, const char *argv[]);
885 
886 /**
887  * Edit region ident codes.
888  */
889 GED_EXPORT extern int ged_edcodes(struct ged *gedp, int argc, const char *argv[]);
890 
891 /**
892  * Edit combination.
893  */
894 GED_EXPORT extern int ged_edcomb(struct ged *gedp, int argc, const char *argv[]);
895 
896 /**
897  * Edit objects, by using subcommands.
898  */
899 GED_EXPORT extern int ged_edit(struct ged *gedp, int argc, const char *argv[]);
900 
901 /**
902  * Edit file.
903  */
904 GED_EXPORT extern int ged_editit(struct ged *gedp, int argc, const char *argv[]);
905 
906 /**
907  * Edit combination materials.
908  *
909  * Command relies on rmater, editit, and wmater commands.
910  */
911 GED_EXPORT extern int ged_edmater(struct ged *gedp, int argc, const char *argv[]);
912 
913 /**
914  * Erase objects from the display.
915  */
916 GED_EXPORT extern int ged_erase(struct ged *gedp, int argc, const char *argv[]);
917 
918 /**
919  * Evaluate objects via NMG tessellation
920  */
921 GED_EXPORT extern int ged_ev(struct ged *gedp, int argc, const char *argv[]);
922 
923 /**
924  * Set/get the eye point
925  */
926 GED_EXPORT extern int ged_eye(struct ged *gedp, int argc, const char *argv[]);
927 
928 /**
929  * Set/get the eye position
930  */
931 GED_EXPORT extern int ged_eye_pos(struct ged *gedp, int argc, const char *argv[]);
932 
933 /**
934  * Checks to see if the specified database object exists.
935  */
936 GED_EXPORT extern int ged_exists(struct ged *gedp, int argc, const char *argv[]);
937 
938 /**
939  * Globs expression against database objects
940  */
941 GED_EXPORT extern int ged_expand(struct ged *gedp, int argc, const char *argv[]);
942 
943 /**
944  * Facetize the specified objects
945  */
946 GED_EXPORT extern int ged_facetize(struct ged *gedp, int argc, const char *argv[]);
947 
948 /**
949  * Fb2pix writes a framebuffer image to a .pix file.
950  */
951 GED_EXPORT extern int ged_fb2pix(struct ged *gedp, int argc, const char *argv[]);
952 
953 /**
954  * Fclear clears a framebuffer.
955  */
956 GED_EXPORT extern int ged_fbclear(struct ged *gedp, int argc, const char *argv[]);
957 
958 /**
959  * Find combinations that reference object
960  */
961 GED_EXPORT extern int ged_find(struct ged *gedp, int argc, const char *argv[]);
962 
963 /**
964  * Find the arb edge nearest the specified point in view coordinates.
965  */
966 GED_EXPORT extern int ged_find_arb_edge_nearest_pt(struct ged *gedp, int argc, const char *argv[]);
967 
968 /**
969  * Find the bot edge nearest the specified point in view coordinates.
970  */
971 GED_EXPORT extern int ged_find_bot_edge_nearest_pt(struct ged *gedp, int argc, const char *argv[]);
972 
973 /**
974  * Find the bot point nearest the specified point in view coordinates.
975  */
976 GED_EXPORT extern int ged_find_botpt_nearest_pt(struct ged *gedp, int argc, const char *argv[]);
977 
978 /**
979  * Add a metaball point.
980  */
981 GED_EXPORT extern int ged_add_metaballpt(struct ged *gedp, int argc, const char *argv[]);
982 
983 /**
984  * Delete a metaball point.
985  */
986 GED_EXPORT extern int ged_delete_metaballpt(struct ged *gedp, int argc, const char *argv[]);
987 
988 /**
989  * Find the metaball point nearest the specified point in model coordinates.
990  */
991 GED_EXPORT extern int ged_find_metaballpt_nearest_pt(struct ged *gedp, int argc, const char *argv[]);
992 
993 /**
994  * Move a metaball point.
995  */
996 GED_EXPORT extern int ged_move_metaballpt(struct ged *gedp, int argc, const char *argv[]);
997 
998 /**
999  * Find the pipe point nearest the specified point in model coordinates.
1000  */
1001 GED_EXPORT extern int ged_find_pipept_nearest_pt(struct ged *gedp, int argc, const char *argv[]);
1002 
1003 /**
1004  * returns form for objects of type "type"
1005  */
1006 GED_EXPORT extern int ged_form(struct ged *gedp, int argc, const char *argv[]);
1007 
1008 /**
1009  * Given an NMG solid, break it up into several NMG solids, each
1010  * containing a single shell with a single sub-element.
1011  */
1012 GED_EXPORT extern int ged_fracture(struct ged *gedp, int argc, const char *argv[]);
1013 
1014 /**
1015  * Calculate a geometry diff
1016  */
1017 GED_EXPORT extern int ged_gdiff(struct ged *gedp, int argc, const char *argv[]);
1018 
1019 /**
1020  * Get object attributes
1021  */
1022 GED_EXPORT extern int ged_get(struct ged *gedp, int argc, const char *argv[]);
1023 
1024 /**
1025  * Get view size and center such that all displayed solids would be in view
1026  */
1027 GED_EXPORT extern int ged_get_autoview(struct ged *gedp, int argc, const char *argv[]);
1028 
1029 /**
1030  * Get a bot's edges
1031  */
1032 GED_EXPORT extern int ged_get_bot_edges(struct ged *gedp, int argc, const char *argv[]);
1033 
1034 /**
1035  * Get combination information
1036  */
1037 GED_EXPORT extern int ged_get_comb(struct ged *gedp, int argc, const char *argv[]);
1038 
1039 /**
1040  * Get the viewsize, orientation and eye point.
1041  */
1042 GED_EXPORT extern int ged_get_eyemodel(struct ged *gedp, int argc, const char *argv[]);
1043 
1044 /**
1045  * Get the object's type
1046  */
1047 GED_EXPORT extern int ged_get_type(struct ged *gedp, int argc, const char *argv[]);
1048 
1049 /**
1050  * Globs expression against the database
1051  */
1052 GED_EXPORT extern int ged_glob(struct ged *gedp, int argc, const char *argv[]);
1053 
1054 GED_EXPORT extern int ged_gqa(struct ged *gedp, int argc, const char *argv[]);
1055 
1056 /**
1057  * Query or manipulate properties of a graph.
1058  */
1059 GED_EXPORT extern int ged_graph(struct ged *gedp, int argc, const char *argv[]);
1060 
1061 /**
1062  * Grid utility command.
1063  */
1064 GED_EXPORT extern int ged_grid(struct ged *gedp, int argc, const char *argv[]);
1065 
1066 /**
1067  * Convert grid coordinates to model coordinates.
1068  */
1069 GED_EXPORT extern int ged_grid2model_lu(struct ged *gedp, int argc, const char *argv[]);
1070 
1071 /**
1072  * Convert grid coordinates to view coordinates.
1073  */
1074 GED_EXPORT extern int ged_grid2view_lu(struct ged *gedp, int argc, const char *argv[]);
1075 
1076 /**
1077  * Create or append objects to a group
1078  */
1079 GED_EXPORT extern int ged_group(struct ged *gedp, int argc, const char *argv[]);
1080 
1081 /**
1082  * Set the "hidden" flag for the specified objects so they do not
1083  * appear in an "ls" command output
1084  */
1085 GED_EXPORT extern int ged_hide(struct ged *gedp, int argc, const char *argv[]);
1086 
1087 /**
1088  * Returns how an object is being displayed
1089  */
1090 GED_EXPORT extern int ged_how(struct ged *gedp, int argc, const char *argv[]);
1091 
1092 /**
1093  * Create a human
1094  */
1095 GED_EXPORT extern int ged_human(struct ged *gedp, int argc, const char *argv[]);
1096 
1097 /**
1098  * Illuminate/highlight database object.
1099  */
1100 GED_EXPORT extern int ged_illum(struct ged *gedp, int argc, const char *argv[]);
1101 
1102 /**
1103  * Create a primitive via keyboard.
1104  */
1105 GED_EXPORT extern int ged_in(struct ged *gedp, int argc, const char *argv[]);
1106 
1107 /**
1108  * Finds the inside primitive per the specified thickness.
1109  */
1110 GED_EXPORT extern int ged_inside(struct ged *gedp, int argc, const char *argv[]);
1111 
1112 /**
1113  * Add instance of obj to comb
1114  */
1115 GED_EXPORT extern int ged_instance(struct ged *gedp, int argc, const char *argv[]);
1116 
1117 /**
1118  * Makes a bot object out of the specified section.
1119  */
1120 GED_EXPORT extern int ged_importFg4Section(struct ged *gedp, int argc, const char *argv[]);
1121 
1122 /**
1123  * Returns the inverse view size.
1124  */
1125 GED_EXPORT extern int ged_isize(struct ged *gedp, int argc, const char *argv[]);
1126 
1127 /**
1128  * Set region ident codes.
1129  */
1130 GED_EXPORT extern int ged_item(struct ged *gedp, int argc, const char *argv[]);
1131 
1132 /**
1133  * Joint command ported to the libged library.
1134  */
1135 GED_EXPORT extern int ged_joint(struct ged *gedp, int argc, const char *argv[]);
1136 
1137 /**
1138  * New joint command.
1139  */
1140 GED_EXPORT extern int ged_joint2(struct ged *gedp, int argc, const char *argv[]);
1141 
1142 /**
1143  * Save/keep the specified objects in the specified file
1144  */
1145 GED_EXPORT extern int ged_keep(struct ged *gedp, int argc, const char *argv[]);
1146 
1147 /**
1148  * Set/get the keypoint
1149  */
1150 GED_EXPORT extern int ged_keypoint(struct ged *gedp, int argc, const char *argv[]);
1151 
1152 /**
1153  * Kill/delete the specified objects from the database
1154  */
1155 GED_EXPORT extern int ged_kill(struct ged *gedp, int argc, const char *argv[]);
1156 
1157 /**
1158  * Kill/delete the specified objects from the database, removing all references
1159  */
1160 GED_EXPORT extern int ged_killall(struct ged *gedp, int argc, const char *argv[]);
1161 
1162 /**
1163  * Kill all references to the specified object(s).
1164  */
1165 GED_EXPORT extern int ged_killrefs(struct ged *gedp, int argc, const char *argv[]);
1166 
1167 /**
1168  * Kill all paths belonging to objects
1169  */
1170 GED_EXPORT extern int ged_killtree(struct ged *gedp, int argc, const char *argv[]);
1171 
1172 /**
1173  * List attributes of regions within a group/combination.
1174  */
1175 GED_EXPORT extern int ged_lc(struct ged *gedp, int argc, const char *argv[]);
1176 
1177 /**
1178  * List object information, verbose.
1179  */
1180 GED_EXPORT extern int ged_list(struct ged *gedp, int argc, const char *argv[]);
1181 
1182 /**
1183  * Load the view
1184  */
1185 GED_EXPORT extern int ged_loadview(struct ged *gedp, int argc, const char *argv[]);
1186 
1187 /**
1188  * Configure Level of Detail drawing.
1189  */
1190 GED_EXPORT extern int ged_lod(struct ged *gedp, int argc, const char *argv[]);
1191 
1192 /**
1193  * Used to control logging.
1194  */
1195 GED_EXPORT extern int ged_log(struct ged *gedp, int argc, const char *argv[]);
1196 
1197 /**
1198  * Set the look-at point
1199  */
1200 GED_EXPORT extern int ged_lookat(struct ged *gedp, int argc, const char *argv[]);
1201 
1202 /**
1203  * List the objects in this database
1204  */
1205 GED_EXPORT extern int ged_ls(struct ged *gedp, int argc, const char *argv[]);
1206 
1207 /**
1208  * List object's tree as a tcl list of {operator object} pairs
1209  */
1210 GED_EXPORT extern int ged_lt(struct ged *gedp, int argc, const char *argv[]);
1211 
1212 /**
1213  * Convert the specified model point to a view point.
1214  */
1215 GED_EXPORT extern int ged_m2v_point(struct ged *gedp, int argc, const char *argv[]);
1216 
1217 /**
1218  * Make a new primitive.
1219  */
1220 GED_EXPORT extern int ged_make(struct ged *gedp, int argc, const char *argv[]);
1221 
1222 /**
1223  * Creates a point-cloud (pnts) given the following:
1224  * 1) object name
1225  * 2) path and filename to point data file
1226  * 3) point data file format (xyzrgbsijk?)
1227  * 4) point data file units or conversion factor to mm
1228  * 5) default diameter of each point
1229  */
1230 GED_EXPORT extern int ged_make_pnts(struct ged *gedp, int argc, const char *argv[]);
1231 
1232 /**
1233  * Make a unique object name.
1234  */
1235 GED_EXPORT extern int ged_make_name(struct ged *gedp, int argc, const char *argv[]);
1236 
1237 /**
1238  * Globs expression against database objects, does not return tokens that match nothing
1239  */
1240 GED_EXPORT extern int ged_match(struct ged *gedp, int argc, const char *argv[]);
1241 
1242 /**
1243  * Modify material information.
1244  */
1245 GED_EXPORT extern int ged_mater(struct ged *gedp, int argc, const char *argv[]);
1246 
1247 /**
1248  * Mirror the primitive or combination along the specified axis.
1249  */
1250 GED_EXPORT extern int ged_mirror(struct ged *gedp, int argc, const char *argv[]);
1251 
1252 /**
1253  * Convert model coordinates to grid coordinates.
1254  */
1255 GED_EXPORT extern int ged_model2grid_lu(struct ged *gedp, int argc, const char *argv[]);
1256 
1257 /**
1258  * Get the model to view matrix
1259  */
1260 GED_EXPORT extern int ged_model2view(struct ged *gedp, int argc, const char *argv[]);
1261 
1262 /**
1263  * Convert model coordinates to view coordinates.
1264  */
1265 GED_EXPORT extern int ged_model2view_lu(struct ged *gedp, int argc, const char *argv[]);
1266 
1267 /**
1268  * Move an arb's edge through point
1269  */
1270 GED_EXPORT extern int ged_move_arb_edge(struct ged *gedp, int argc, const char *argv[]);
1271 
1272 /**
1273  * Move/rename a database object
1274  */
1275 GED_EXPORT extern int ged_move(struct ged *gedp, int argc, const char *argv[]);
1276 
1277 /**
1278  * Move/rename all occurrences object
1279  */
1280 GED_EXPORT extern int ged_move_all(struct ged *gedp, int argc, const char *argv[]);
1281 
1282 /**
1283  * Move an arb's face through point
1284  */
1285 GED_EXPORT extern int ged_move_arb_face(struct ged *gedp, int argc, const char *argv[]);
1286 
1287 /**
1288  * Move the specified bot point. This can be relative or absolute.
1289  */
1290 GED_EXPORT extern int ged_move_botpt(struct ged *gedp, int argc, const char *argv[]);
1291 
1292 /**
1293  * Move the specified bot points. This movement is always relative.
1294  */
1295 GED_EXPORT extern int ged_move_botpts(struct ged *gedp, int argc, const char *argv[]);
1296 
1297 /**
1298  * Move the specified pipe point.
1299  */
1300 GED_EXPORT extern int ged_move_pipept(struct ged *gedp, int argc, const char *argv[]);
1301 
1302 /**
1303  * Rotate the view. Note - x, y and z are rotations in model coordinates.
1304  */
1305 GED_EXPORT extern int ged_mrot(struct ged *gedp, int argc, const char *argv[]);
1306 
1307 /**
1308  * Trace a single ray from the current view.
1309  */
1310 GED_EXPORT extern int ged_nirt(struct ged *gedp, int argc, const char *argv[]);
1311 GED_EXPORT extern int ged_vnirt(struct ged *gedp, int argc, const char *argv[]);
1312 
1313 /**
1314  * Decimate NMG primitive via edge collapse
1315  */
1316 GED_EXPORT extern int ged_nmg_collapse(struct ged *gedp, int argc, const char *argv[]);
1317 
1318 /**
1319  * Attempt to fix an NMG primitive's normals.
1320  */
1321 GED_EXPORT extern int ged_nmg_fix_normals(struct ged *gedp, int argc, const char *argv[]);
1322 
1323 /**
1324  * Simplify the NMG primitive, if possible
1325  */
1326 GED_EXPORT extern int ged_nmg_simplify(struct ged *gedp, int argc, const char *argv[]);
1327 
1328 /**
1329  * Set/get object center.
1330  */
1331 GED_EXPORT extern int ged_ocenter(struct ged *gedp, int argc, const char *argv[]);
1332 
1333 /**
1334  * Open a database
1335  */
1336 GED_EXPORT extern int ged_reopen(struct ged *gedp, int argc, const char *argv[]);
1337 
1338 /**
1339  * Set the view orientation using a quaternion.
1340  */
1341 GED_EXPORT extern int ged_orient(struct ged *gedp, int argc, const char *argv[]);
1342 
1343 /**
1344  * Rotate obj about the keypoint by
1345  */
1346 GED_EXPORT extern int ged_orotate(struct ged *gedp, int argc, const char *argv[]);
1347 
1348 /**
1349  * Scale obj about the keypoint by sf.
1350  */
1351 GED_EXPORT extern int ged_oscale(struct ged *gedp, int argc, const char *argv[]);
1352 
1353 /**
1354  * Translate obj by dx dy dz.
1355  */
1356 GED_EXPORT extern int ged_otranslate(struct ged *gedp, int argc, const char *argv[]);
1357 
1358 /**
1359  * Overlay the specified 2D/3D UNIX plot file
1360  */
1361 GED_EXPORT extern int ged_overlay(struct ged *gedp, int argc, const char *argv[]);
1362 
1363 /**
1364  * List all paths from name(s) to leaves
1365  */
1366 GED_EXPORT extern int ged_pathlist(struct ged *gedp, int argc, const char *argv[]);
1367 
1368 /**
1369  * Lists all paths matching the input path
1370  */
1371 GED_EXPORT extern int ged_pathsum(struct ged *gedp, int argc, const char *argv[]);
1372 
1373 /**
1374  * Checks that each directory in the supplied path actually has the subdirectories
1375  * that are implied by the path.
1376  */
1377 GED_EXPORT extern int ged_path_validate(struct ged *gedp, const struct db_full_path * const path);
1378 
1379 /**
1380  * Set/get the perspective angle.
1381  */
1382 GED_EXPORT extern int ged_perspective(struct ged *gedp, int argc, const char *argv[]);
1383 
1384 /**
1385  * Pix2fb reads a pix file into a framebuffer.
1386  */
1387 GED_EXPORT extern int ged_pix2fb(struct ged *gedp, int argc, const char *argv[]);
1388 
1389 /**
1390  * Create a unix plot file of the currently displayed objects.
1391  */
1392 GED_EXPORT extern int ged_plot(struct ged *gedp, int argc, const char *argv[]);
1393 
1394 /**
1395  * Set/get the perspective matrix.
1396  */
1397 GED_EXPORT extern int ged_pmat(struct ged *gedp, int argc, const char *argv[]);
1398 
1399 /**
1400  * Get the pmodel2view matrix.
1401  */
1402 GED_EXPORT extern int ged_pmodel2view(struct ged *gedp, int argc, const char *argv[]);
1403 
1404 /**
1405  * Create a png file of the view.
1406  */
1407 GED_EXPORT extern int ged_png(struct ged *gedp, int argc, const char *argv[]);
1408 GED_EXPORT extern int ged_screen_grab(struct ged *gedp, int argc, const char *argv[]);
1409 
1410 /**
1411  * Write out polygons (binary) of the currently displayed geometry.
1412  */
1413 GED_EXPORT extern int ged_polybinout(struct ged *gedp, int argc, const char *argv[]);
1414 
1415 /**
1416  * Set point of view
1417  */
1418 GED_EXPORT extern int ged_pov(struct ged *gedp, int argc, const char *argv[]);
1419 
1420 /**
1421  * Print color table
1422  */
1423 GED_EXPORT extern int ged_prcolor(struct ged *gedp, int argc, const char *argv[]);
1424 
1425 /**
1426  * Prefix the specified objects with the specified prefix
1427  */
1428 GED_EXPORT extern int ged_prefix(struct ged *gedp, int argc, const char *argv[]);
1429 
1430 /**
1431  * Prepend a pipe point.
1432  */
1433 GED_EXPORT extern int ged_prepend_pipept(struct ged *gedp, int argc, const char *argv[]);
1434 
1435 /**
1436  * Preview a new style RT animation script.
1437  */
1438 GED_EXPORT extern int ged_preview(struct ged *gedp, int argc, const char *argv[]);
1439 
1440 /**
1441  * Create a postscript file of the view.
1442  */
1443 GED_EXPORT extern int ged_ps(struct ged *gedp, int argc, const char *argv[]);
1444 
1445 /**
1446  * Rotate obj's attributes by rvec.
1447  */
1448 GED_EXPORT extern int ged_protate(struct ged *gedp, int argc, const char *argv[]);
1449 
1450 /**
1451  * Scale obj's attributes by sf.
1452  */
1453 GED_EXPORT extern int ged_pscale(struct ged *gedp, int argc, const char *argv[]);
1454 
1455 /**
1456  * Set an obj's attribute to the specified value.
1457  */
1458 GED_EXPORT extern int ged_pset(struct ged *gedp, int argc, const char *argv[]);
1459 
1460 /**
1461  * Translate obj's attributes by tvec.
1462  */
1463 GED_EXPORT extern int ged_ptranslate(struct ged *gedp, int argc, const char *argv[]);
1464 
1465 /**
1466  *Pull objects' path transformations from primitives
1467  */
1468 GED_EXPORT extern int ged_pull(struct ged *gedp, int argc, const char *argv[]);
1469 
1470 /**
1471  * Push objects' path transformations to primitives
1472  */
1473 GED_EXPORT extern int ged_push(struct ged *gedp, int argc, const char *argv[]);
1474 
1475 /**
1476  * Create a database object
1477  */
1478 GED_EXPORT extern int ged_put(struct ged *gedp, int argc, const char *argv[]);
1479 
1480 /**
1481  * Set combination attributes
1482  */
1483 GED_EXPORT extern int ged_put_comb(struct ged *gedp, int argc, const char *argv[]);
1484 
1485 /**
1486  * Replace the matrix on an arc
1487  */
1488 GED_EXPORT extern int ged_putmat(struct ged *gedp, int argc, const char *argv[]);
1489 
1490 /**
1491  * Get/set query_ray attributes
1492  */
1493 GED_EXPORT extern int ged_qray(struct ged *gedp, int argc, const char *argv[]);
1494 
1495 /**
1496  * Get/set the view orientation using a quaternion
1497  */
1498 GED_EXPORT extern int ged_quat(struct ged *gedp, int argc, const char *argv[]);
1499 
1500 /**
1501  * Set the view from a direction vector and twist.
1502  */
1503 GED_EXPORT extern int ged_qvrot(struct ged *gedp, int argc, const char *argv[]);
1504 
1505 GED_EXPORT extern void ged_init_qray(struct ged_drawable *gdp);
1506 GED_EXPORT extern void ged_free_qray(struct ged_drawable *gdp);
1507 
1508 /**
1509  * Read region ident codes from filename.
1510  */
1511 GED_EXPORT extern int ged_rcodes(struct ged *gedp, int argc, const char *argv[]);
1512 
1513 /**
1514  * Rubber band rectangle utility.
1515  */
1516 GED_EXPORT extern int ged_rect(struct ged *gedp, int argc, const char *argv[]);
1517 
1518 /**
1519  * Edit region/comb
1520  */
1521 GED_EXPORT extern int ged_red(struct ged *gedp, int argc, const char *argv[]);
1522 
1523 /**
1524  * Change the default region ident codes: item air los mat
1525  */
1526 GED_EXPORT extern int ged_regdef(struct ged *gedp, int argc, const char *argv[]);
1527 
1528 /**
1529  * Create or append objects to a region
1530  */
1531 GED_EXPORT extern int ged_region(struct ged *gedp, int argc, const char *argv[]);
1532 
1533 /**
1534  * Remove members from a combination
1535  */
1536 GED_EXPORT extern int ged_remove(struct ged *gedp, int argc, const char *argv[]);
1537 
1538 /**
1539  * Returns the solid table & vector list as a string
1540  */
1541 GED_EXPORT extern int ged_report(struct ged *gedp, int argc, const char *argv[]);
1542 
1543 /**
1544  * Makes and arb given a point, 2 coord of 3 pts, rot, fb and thickness.
1545  */
1546 GED_EXPORT extern int ged_rfarb(struct ged *gedp, int argc, const char *argv[]);
1547 
1548 /**
1549  * Returns a list of id to region name mappings for the entire database.
1550  */
1551 GED_EXPORT extern int ged_rmap(struct ged *gedp, int argc, const char *argv[]);
1552 
1553 /**
1554  * Set/get the rotation matrix.
1555  */
1556 GED_EXPORT extern int ged_rmat(struct ged *gedp, int argc, const char *argv[]);
1557 
1558 /**
1559  * Read material properties from a file.
1560  */
1561 GED_EXPORT extern int ged_rmater(struct ged *gedp, int argc, const char *argv[]);
1562 
1563 /**
1564  * Rotate the view.
1565  */
1566 GED_EXPORT extern int ged_rot_args(struct ged *gedp, int argc, const char *argv[], char *coord, mat_t rmat);
1567 GED_EXPORT extern int ged_rot(struct ged *gedp, int argc, const char *argv[]);
1568 
1569 /**
1570  * Set/get the rotate_about point.
1571  */
1572 GED_EXPORT extern int ged_rotate_about(struct ged *gedp, int argc, const char *argv[]);
1573 
1574 /**
1575  * Rotate an arb's face through point
1576  */
1577 GED_EXPORT extern int ged_rotate_arb_face(struct ged *gedp, int argc, const char *argv[]);
1578 
1579 /**
1580  * Rotate the point.
1581  */
1582 GED_EXPORT extern int ged_rot_point(struct ged *gedp, int argc, const char *argv[]);
1583 
1584 /**
1585  * Invoke any raytracing application with the current view.
1586  */
1587 GED_EXPORT extern int ged_rrt(struct ged *gedp, int argc, const char *argv[]);
1588 
1589 /**
1590  * Returns a list of items within the previously defined rectangle.
1591  */
1592 GED_EXPORT extern int ged_rselect(struct ged *gedp, int argc, const char *argv[]);
1593 
1594 /**
1595  * Run the raytracing application.
1596  */
1597 GED_EXPORT extern int ged_rt(struct ged *gedp, int argc, const char *argv[]);
1598 
1599 /**
1600  * Abort the current raytracing processes.
1601  */
1602 GED_EXPORT extern int ged_rtabort(struct ged *gedp, int argc, const char *argv[]);
1603 
1604 /**
1605  * Check for overlaps in the current view.
1606  */
1607 GED_EXPORT extern int ged_rtcheck(struct ged *gedp, int argc, const char *argv[]);
1608 
1609 /**
1610  * Run the rtwizard application.
1611  */
1612 GED_EXPORT extern int ged_rtwizard(struct ged *gedp, int argc, const char *argv[]);
1613 
1614 /**
1615  * Save keyframe in file (experimental)
1616  */
1617 GED_EXPORT extern int ged_savekey(struct ged *gedp, int argc, const char *argv[]);
1618 
1619 /**
1620  * Save the view
1621  */
1622 GED_EXPORT extern int ged_saveview(struct ged *gedp, int argc, const char *argv[]);
1623 
1624 /**
1625  * Scale the view.
1626  */
1627 GED_EXPORT extern int ged_scale_args(struct ged *gedp, int argc, const char *argv[], fastf_t *sf1, fastf_t *sf2, fastf_t *sf3);
1628 GED_EXPORT extern int ged_scale(struct ged *gedp, int argc, const char *argv[]);
1629 
1630 /**
1631  * Interface to search functionality (i.e. Unix find for geometry)
1632  */
1633 GED_EXPORT extern int ged_search(struct ged *gedp, int argc, const char *argv[]);
1634 
1635 /**
1636  * Returns a list of items within the specified rectangle or circle.
1637  */
1638 GED_EXPORT extern int ged_select(struct ged *gedp, int argc, const char *argv[]);
1639 
1640 /**
1641  * Return ged selections for specified object. Created if it doesn't
1642  * exist.
1643  */
1644 GED_EXPORT struct rt_object_selections *ged_get_object_selections(struct ged *gedp,
1645  const char *object_name);
1646 
1647 /**
1648  * Return ged selections of specified kind for specified object.
1649  * Created if it doesn't exist.
1650  */
1651 GED_EXPORT struct rt_selection_set *ged_get_selection_set(struct ged *gedp,
1652  const char *object_name,
1653  const char *selection_name);
1654 
1655 /**
1656  * Get/set the output handler script
1657  */
1658 GED_EXPORT extern int ged_set_output_script(struct ged *gedp, int argc, const char *argv[]);
1659 
1660 /**
1661  * Get/set the unix plot output mode
1662  */
1663 GED_EXPORT extern int ged_set_uplotOutputMode(struct ged *gedp, int argc, const char *argv[]);
1664 
1665 /**
1666  * Set the transparency of the specified object
1667  */
1668 GED_EXPORT extern int ged_set_transparency(struct ged *gedp, int argc, const char *argv[]);
1669 
1670 /**
1671  * Set the view orientation given the angles x, y and z in degrees.
1672  */
1673 GED_EXPORT extern int ged_setview(struct ged *gedp, int argc, const char *argv[]);
1674 
1675 /**
1676  * Set/get the shaded mode.
1677  */
1678 GED_EXPORT extern int ged_shaded_mode(struct ged *gedp, int argc, const char *argv[]);
1679 
1680 /**
1681  * Simpler, command-line version of 'mater' command.
1682  */
1683 GED_EXPORT extern int ged_shader(struct ged *gedp, int argc, const char *argv[]);
1684 
1685 /**
1686  * Breaks the NMG model into separate shells
1687  */
1688 GED_EXPORT extern int ged_shells(struct ged *gedp, int argc, const char *argv[]);
1689 
1690 /**
1691  * Show the matrix transformations along path
1692  */
1693 GED_EXPORT extern int ged_showmats(struct ged *gedp, int argc, const char *argv[]);
1694 
1695 /**
1696  * Get or set the view size.
1697  */
1698 GED_EXPORT extern int ged_size(struct ged *gedp, int argc, const char *argv[]);
1699 
1700 /**
1701  * Performs simulations.
1702  */
1703 GED_EXPORT extern int ged_simulate(struct ged *gedp, int argc, const char *argv[]);
1704 
1705 GED_EXPORT extern int ged_solids_on_ray(struct ged *gedp, int argc, const char *argv[]);
1706 
1707 /**
1708  * Slew the view
1709  */
1710 GED_EXPORT extern int ged_slew(struct ged *gedp, int argc, const char *argv[]);
1711 
1712 /**
1713  * Create or append objects to a group using a sphere
1714  */
1715 GED_EXPORT extern int ged_sphgroup(struct ged *gedp, int argc, const char *argv[]);
1716 
1717 /**
1718  * Count/list primitives/regions/groups
1719  */
1720 GED_EXPORT extern int ged_summary(struct ged *gedp, int argc, const char *argv[]);
1721 
1722 /**
1723  * Sync up the in-memory database with the on-disk database.
1724  */
1725 GED_EXPORT extern int ged_sync(struct ged *gedp, int argc, const char *argv[]);
1726 
1727 /**
1728  * The ged_tables() function serves idents, regions and solids.
1729  *
1730  * Make ascii summary of region idents.
1731  *
1732  */
1733 GED_EXPORT extern int ged_tables(struct ged *gedp, int argc, const char *argv[]);
1734 
1735 /**
1736  * Create a tire
1737  */
1738 GED_EXPORT extern int ged_tire(struct ged *gedp, int argc, const char *argv[]);
1739 
1740 /**
1741  * Set/get the database title
1742  */
1743 GED_EXPORT extern int ged_title(struct ged *gedp, int argc, const char *argv[]);
1744 
1745 /**
1746  * Set/get tessellation and calculation tolerances
1747  */
1748 GED_EXPORT extern int ged_tol(struct ged *gedp, int argc, const char *argv[]);
1749 
1750 /**
1751  * Find all top level objects
1752  */
1753 GED_EXPORT extern int ged_tops(struct ged *gedp, int argc, const char *argv[]);
1754 
1755 /**
1756  * Translate the view.
1757  */
1758 GED_EXPORT extern int ged_tra_args(struct ged *gedp, int argc, const char *argv[], char *coord, vect_t tvec);
1759 GED_EXPORT extern int ged_tra(struct ged *gedp, int argc, const char *argv[]);
1760 
1761 /**
1762  * Create a track
1763  */
1764 GED_EXPORT extern int ged_track(struct ged *gedp, int argc, const char *argv[]);
1765 
1766 /**
1767  *
1768  *
1769  * Usage:
1770  * tracker [-fh] [# links] [increment] [spline.iges] [link...]
1771  */
1772 GED_EXPORT extern int ged_tracker(struct ged *gedp, int argc, const char *argv[]);
1773 
1774 /**
1775  * Return the object hierarchy for all object(s) specified or for all currently displayed
1776  */
1777 GED_EXPORT extern int ged_tree(struct ged *gedp, int argc, const char *argv[]);
1778 
1779 /**
1780  * Unset the "hidden" flag for the specified objects so they will appear in a "t" or "ls" command output
1781  */
1782 GED_EXPORT extern int ged_unhide(struct ged *gedp, int argc, const char *argv[]);
1783 
1784 /**
1785  * Set/get the database units
1786  */
1787 GED_EXPORT extern int ged_units(struct ged *gedp, int argc, const char *argv[]);
1788 
1789 /**
1790  * Recalculate plots for displayed objects.
1791  */
1792 GED_EXPORT extern int ged_redraw(struct ged *gedp, int argc, const char *argv[]);
1793 
1794 /**
1795  * Convert the specified view point to a model point.
1796  */
1797 GED_EXPORT extern int ged_v2m_point(struct ged *gedp, int argc, const char *argv[]);
1798 
1799 /**
1800  * Vector drawing utility.
1801  */
1802 GED_EXPORT extern int ged_vdraw(struct ged *gedp, int argc, const char *argv[]);
1803 
1804 /**
1805  * Returns the database version.
1806  */
1807 GED_EXPORT extern int ged_version(struct ged *gedp, int argc, const char *argv[]);
1808 
1809 /**
1810  * Get/set view attributes
1811  */
1812 GED_EXPORT extern int ged_view_func(struct ged *gedp, int argc, const char *argv[]);
1813 
1814 /**
1815  * Convert view coordinates to grid coordinates.
1816  */
1817 GED_EXPORT extern int ged_view2grid_lu(struct ged *gedp, int argc, const char *argv[]);
1818 
1819 /**
1820  * Get the view2model matrix.
1821  */
1822 GED_EXPORT extern int ged_view2model(struct ged *gedp, int argc, const char *argv[]);
1823 
1824 /**
1825  * Convert view coordinates to model coordinates.
1826  */
1827 GED_EXPORT extern int ged_view2model_lu(struct ged *gedp, int argc, const char *argv[]);
1828 
1829 /**
1830  * Convert a view vector to a model vector.
1831  */
1832 GED_EXPORT extern int ged_view2model_vec(struct ged *gedp, int argc, const char *argv[]);
1833 
1834 /**
1835  * Rotate the view. Note - x, y and z are rotations in view coordinates.
1836  */
1837 GED_EXPORT extern int ged_vrot(struct ged *gedp, int argc, const char *argv[]);
1838 
1839 /**
1840  * Return the view direction.
1841  */
1842 GED_EXPORT extern int ged_viewdir(struct ged *gedp, int argc, const char *argv[]);
1843 
1844 /**
1845  * Write region ident codes to filename.
1846  */
1847 GED_EXPORT extern int ged_wcodes(struct ged *gedp, int argc, const char *argv[]);
1848 
1849 /**
1850  * Return the specified region's id.
1851  */
1852 GED_EXPORT extern int ged_whatid(struct ged *gedp, int argc, const char *argv[]);
1853 
1854 /**
1855  * The ged_which() function serves both whichair and whichid.
1856  *
1857  * Find the regions with the specified air codes. Find the regions
1858  * with the specified region ids.
1859  */
1860 GED_EXPORT extern int ged_which(struct ged *gedp, int argc, const char *argv[]);
1861 
1862 /**
1863  * Return all combinations with the specified shaders.
1864  */
1865 GED_EXPORT extern int ged_which_shader(struct ged *gedp, int argc, const char *argv[]);
1866 
1867 /**
1868  * List the objects currently prepped for drawing
1869  */
1870 GED_EXPORT extern int ged_who(struct ged *gedp, int argc, const char *argv[]);
1871 
1872 /**
1873  * Write material properties to a file for specified combination(s).
1874  */
1875 GED_EXPORT extern int ged_wmater(struct ged *gedp, int argc, const char *argv[]);
1876 
1877 /**
1878  * Push object path transformations to solids, creating primitives if necessary
1879  */
1880 GED_EXPORT extern int ged_xpush(struct ged *gedp, int argc, const char *argv[]);
1881 
1882 /**
1883  * Get/set the view orientation using yaw, pitch and roll
1884  */
1885 GED_EXPORT extern int ged_ypr(struct ged *gedp, int argc, const char *argv[]);
1886 
1887 /**
1888  * Erase all currently displayed geometry
1889  */
1890 GED_EXPORT extern int ged_zap(struct ged *gedp, int argc, const char *argv[]);
1891 
1892 /**
1893  * Zoom the view in or out.
1894  */
1895 GED_EXPORT extern int ged_zoom(struct ged *gedp, int argc, const char *argv[]);
1896 /**
1897  * Voxelize the specified objects
1898  */
1899 GED_EXPORT extern int ged_voxelize(struct ged *gedp, int argc, const char *argv[]);
1900 
1901 GED_EXPORT extern bview_polygon *ged_clip_polygon(ClipType op, bview_polygon *subj, bview_polygon *clip, fastf_t sf, matp_t model2view, matp_t view2model);
1902 GED_EXPORT extern bview_polygon *ged_clip_polygons(ClipType op, bview_polygons *subj, bview_polygons *clip, fastf_t sf, matp_t model2view, matp_t view2model);
1903 GED_EXPORT extern int ged_export_polygon(struct ged *gedp, bview_data_polygon_state *gdpsp, size_t polygon_i, const char *sname);
1904 GED_EXPORT extern bview_polygon *ged_import_polygon(struct ged *gedp, const char *sname);
1905 GED_EXPORT extern fastf_t ged_find_polygon_area(bview_polygon *gpoly, fastf_t sf, matp_t model2view, fastf_t size);
1906 GED_EXPORT extern int ged_polygons_overlap(struct ged *gedp, bview_polygon *polyA, bview_polygon *polyB);
1907 
1908 
1909 
1910 /* defined in trace.c */
1911 
1912 #define _GED_MAX_LEVELS 12
1914  struct ged *gtd_gedp;
1917  mat_t gtd_xform;
1921 };
1922 
1923 
1924 GED_EXPORT extern void ged_trace(struct directory *dp,
1925  int pathpos,
1926  const mat_t old_xlate,
1927  struct _ged_trace_data *gtdp,
1928  int verbose);
1929 
1930 
1931 /* defined in get_obj_bounds.c */
1932 GED_EXPORT extern int ged_get_obj_bounds(struct ged *gedp,
1933  int argc,
1934  const char *argv[],
1935  int use_air,
1936  point_t rpp_min,
1937  point_t rpp_max);
1938 
1939 
1940 /* defined in track.c */
1941 GED_EXPORT extern int ged_track2(struct bu_vls *log_str, struct rt_wdb *wdbp, const char *argv[]);
1942 
1943 /* defined in wdb_importFg4Section.c */
1944 GED_EXPORT int wdb_importFg4Section_cmd(void *data, int argc, const char *argv[]);
1945 
1946 
1947 /***************************************
1948  * Conceptual Documentation for LIBGED *
1949  ***************************************
1950  *
1951  * Below are developer notes for a data structure layout that this
1952  * library is being migrated towards. This is not necessarily the
1953  * current status of the library, but rather a high-level concept for
1954  * how the data might be organized down the road for the core data
1955  * structures available for application and extension management.
1956  *
1957  * struct ged {
1958  * dbip
1959  * views * >-----.
1960  * result() |
1961  * } |
1962  * |
1963  * struct view { <-'
1964  * geometry * >------.
1965  * update() |
1966  * } |
1967  * |
1968  * struct geometry { <-'
1969  * display lists
1970  * directory *
1971  * update()
1972  * }
1973  *
1974  */
1975 
1977 
1978 #endif /* GED_H */
1979 
1980 /*
1981  * Local Variables:
1982  * tab-width: 8
1983  * mode: C
1984  * indent-tabs-mode: t
1985  * c-file-style: "stroustrup"
1986  * End:
1987  * ex: shiftwidth=4 tabstop=8
1988  */
void ged_deering_persp_mat(fastf_t *m, const fastf_t *l, const fastf_t *h, const fastf_t *eye)
int ged_orient(struct ged *gedp, int argc, const char *argv[])
Definition: orient.c:36
Definition: ged.h:296
struct bu_list l
Definition: ged.h:306
int ged_grid2view_lu(struct ged *gedp, int argc, const char *argv[])
Definition: grid2view_lu.c:36
char filename[MAXLENGTH]
Definition: human.c:105
Definition: raytrace.h:800
int ged_decompose(struct ged *gedp, int argc, const char *argv[])
Definition: decompose.c:35
int ged_pmodel2view(struct ged *gedp, int argc, const char *argv[])
Definition: pmodel2view.c:36
int ged_debugnmg(struct ged *gedp, int argc, const char *argv[])
Definition: debugnmg.c:36
int ged_rot(struct ged *gedp, int argc, const char *argv[])
Definition: rot.c:102
struct bu_vls fmt
Definition: ged.h:288
int ged_hide(struct ged *gedp, int argc, const char *argv[])
Definition: hide.c:36
int ged_unhide(struct ged *gedp, int argc, const char *argv[])
Definition: unhide.c:36
int ged_dbot_dump(struct ged *gedp, int argc, const char *argv[])
Definition: bot_dump.c:1320
int ged_reopen(struct ged *gedp, int argc, const char *argv[])
Definition: open.c:36
int ged_sync(struct ged *gedp, int argc, const char *argv[])
Definition: sync.c:36
int ged_view_func(struct ged *gedp, int argc, const char *argv[])
Definition: view.c:36
bview_polygon * ged_clip_polygons(ClipType op, bview_polygons *subj, bview_polygons *clip, fastf_t sf, matp_t model2view, matp_t view2model)
Definition: polyclip.cpp:206
long vdc_rgb
color
Definition: ged.h:299
int ged_edcodes(struct ged *gedp, int argc, const char *argv[])
Definition: edcodes.c:140
int ged_dump(struct ged *gedp, int argc, const char *argv[])
Definition: dump.c:36
int interior
Definition: ged.h:459
void ged_mike_persp_mat(fastf_t *pmat, const fastf_t *eye)
Definition: list.h:118
int ged_bot_sync(struct ged *gedp, int argc, const char *argv[])
Definition: bot_sync.c:38
int ged_view2grid_lu(struct ged *gedp, int argc, const char *argv[])
Definition: view2grid_lu.c:36
void ged_calc_adc_dst(struct bview *gvp)
Definition: adc.c:683
struct ged_qray_color gd_qray_odd_color
Definition: ged.h:326
int ged_shells(struct ged *gedp, int argc, const char *argv[])
Definition: shells.c:36
int ged_bot_face_fuse(struct ged *gedp, int argc, const char *argv[])
Definition: bot_face_fuse.c:38
int ged_get_bot_edges(struct ged *gedp, int argc, const char *argv[])
Definition: edbot.c:413
int ged_saveview(struct ged *gedp, int argc, const char *argv[])
Definition: saveview.c:71
int ged_dm_width
Definition: ged.h:383
int ged_bot_vertex_fuse(struct ged *gedp, int argc, const char *argv[])
int(* exec)(struct ged *, int, const char *[])
Definition: ged.h:408
int ged_voxelize(struct ged *gedp, int argc, const char *argv[])
Definition: voxelize.c:93
int ged_tops(struct ged *gedp, int argc, const char *argv[])
Definition: tops.c:37
Definition: ged.h:338
int invent_solid(struct bu_list *hdlp, struct db_i *dbip, void(*callback_create)(struct display_list *), void(*callback_free)(unsigned int, int), char *name, struct bu_list *vhead, long int rgb, int copy, fastf_t transparency, int dmode, struct solid *freesolid, int csoltab)
int ged_gdiff(struct ged *gedp, int argc, const char *argv[])
Definition: gdiff.c:42
int ged_delete_metaballpt(struct ged *gedp, int argc, const char *argv[])
int ged_move_botpt(struct ged *gedp, int argc, const char *argv[])
Definition: edbot.c:468
void dl_color_soltab(struct bu_list *hdlp)
Definition: display_list.c:573
int ged_edarb(struct ged *gedp, int argc, const char *argv[])
Definition: edarb.c:328
int ged_mrot(struct ged *gedp, int argc, const char *argv[])
Definition: mrot.c:36
int ged_dbip(struct ged *gedp, int argc, const char *argv[])
Definition: dbip.c:36
Definition: clone.c:90
size_t ged_count_tops(struct ged *gedp)
Definition: rt.c:409
int ged_internal_call
Definition: ged.h:374
void ged_snap_to_grid(struct ged *gedp, fastf_t *vx, fastf_t *vy)
Definition: grid.c:38
int ged_perspective(struct ged *gedp, int argc, const char *argv[])
Definition: perspective.c:36
int(* ged_func_ptr)(struct ged *, int, const char *[])
Definition: ged.h:390
int ged_append_pipept(struct ged *gedp, int argc, const char *argv[])
Definition: edpipe.c:680
int ged_E(struct ged *gedp, int argc, const char *argv[])
Definition: bigE.c:2026
int ged_which_shader(struct ged *gedp, int argc, const char *argv[])
Definition: which_shader.c:36
int ged_move_metaballpt(struct ged *gedp, int argc, const char *argv[])
int ged_inside(struct ged *gedp, int argc, const char *argv[])
Definition: inside.c:1157
#define _GED_MAX_LEVELS
Definition: ged.h:1912
int ged_draw(struct ged *gedp, int argc, const char *argv[])
Definition: draw.c:1212
vect_t normal
Definition: ged.h:460
void * ged_refresh_clientdata
client data passed to refresh handler
Definition: ged.h:366
int ged_coil(struct ged *gedp, int argc, const char *argv[])
Definition: coil.c:413
int ident
Definition: ged.h:458
int ged_track(struct ged *gedp, int argc, const char *argv[])
Definition: track.c:577
int ged_move_all(struct ged *gedp, int argc, const char *argv[])
Definition: move_all.c:248
struct ged_run_rt gd_headRunRt
head of forked rt processes
Definition: ged.h:314
int ged_edcolor(struct ged *gedp, int argc, const char *argv[])
Definition: color.c:248
int ged_title(struct ged *gedp, int argc, const char *argv[])
Definition: title.c:36
int ged_human(struct ged *gedp, int argc, const char *argv[])
Definition: human.c:2186
int ged_polygons_overlap(struct ged *gedp, bview_polygon *polyA, bview_polygon *polyB)
Definition: polyclip.cpp:521
int ged_viewdir(struct ged *gedp, int argc, const char *argv[])
Definition: viewdir.c:36
int ged_in(struct ged *gedp, int argc, const char *argv[])
Definition: typein.c:2912
int ged_echo(struct ged *gedp, int argc, const char *argv[])
Definition: echo.c:36
int ged_wmater(struct ged *gedp, int argc, const char *argv[])
Definition: wmater.c:30
int ged_sphgroup(struct ged *gedp, int argc, const char *argv[])
Definition: sphgroup.c:37
struct display_list * dl_addToDisplay(struct bu_list *hdlp, struct db_i *dbip, const char *name)
Definition: display_list.c:42
int ged_pathsum(struct ged *gedp, int argc, const char *argv[])
Definition: pathsum.c:36
int ged_graph(struct ged *gedp, int argc, const char *argv[])
Definition: dag.cpp:811
int fd
Definition: ged.h:272
Definition: bview.h:209
struct fbserv_obj * ged_fbsp
Definition: ged.h:362
struct rt_wdb * ged_wdbp
Definition: ged.h:340
int ged_units(struct ged *gedp, int argc, const char *argv[])
Definition: units.c:37
int ged_search(struct ged *gedp, int argc, const char *argv[])
Definition: search.c:198
Header file for the BRL-CAD common definitions.
int ged_3ptarb(struct ged *gedp, int argc, const char *argv[])
Definition: 3ptarb.c:51
int ged_eac(struct ged *gedp, int argc, const char *argv[])
Definition: eac.c:36
int ged_arb(struct ged *gedp, int argc, const char *argv[])
Definition: arb.c:38
int ged_importFg4Section(struct ged *gedp, int argc, const char *argv[])
int ged_arot_args(struct ged *gedp, int argc, const char *argv[], mat_t rmat)
Definition: arot.c:35
int ged_fbclear(struct ged *gedp, int argc, const char *argv[])
Definition: fbclear.c:48
int ged_dir2ae(struct ged *gedp, int argc, const char *argv[])
Definition: dir2ae.c:36
int ged_scale(struct ged *gedp, int argc, const char *argv[])
Definition: scale.c:93
int ged_eye(struct ged *gedp, int argc, const char *argv[])
Definition: eye.c:36
void(* ged_free_vlist_callback)(unsigned int, int)
function to call after freeing a vlist
Definition: ged.h:371
int ged_rtcheck(struct ged *gedp, int argc, const char *argv[])
Definition: rtcheck.c:254
unsigned char r
Definition: ged.h:280
struct directory * gtd_path[_GED_MAX_LEVELS]
Definition: ged.h:1915
int ged_set_output_script(struct ged *gedp, int argc, const char *argv[])
size_t ged_results_count(struct ged_results *results)
Definition: ged_util.c:68
int ged_comb(struct ged *gedp, int argc, const char *argv[])
Definition: comb.c:466
void ged_calc_adc_pos(struct bview *gvp)
Definition: adc.c:629
int ged_rtabort(struct ged *gedp, int argc, const char *argv[])
Definition: rtabort.c:42
int ged_bot_fuse(struct ged *gedp, int argc, const char *argv[])
int ged_pix2fb(struct ged *gedp, int argc, const char *argv[])
Definition: pix2fb.c:171
int ged_tables(struct ged *gedp, int argc, const char *argv[])
Definition: tables.c:315
int ged_attr(struct ged *gedp, int argc, const char *argv[])
Definition: attr.c:168
int ged_mater(struct ged *gedp, int argc, const char *argv[])
Definition: mater.c:32
void(* ged_create_vlist_callback_ptr)(struct display_list *)
Definition: ged.h:392
int ged_expand(struct ged *gedp, int argc, const char *argv[])
Definition: expand.c:57
struct ged_qray_fmt * gd_qray_fmts
Definition: ged.h:325
int ged_regdef(struct ged *gedp, int argc, const char *argv[])
Definition: regdef.c:31
void ged_view_update(struct bview *gvp)
Definition: vutil.c:33
struct bu_list * gd_headDisplay
head of display list
Definition: ged.h:307
int ged_delete_pipept(struct ged *gedp, int argc, const char *argv[])
Definition: edpipe.c:687
struct bu_vls * ged_log
Definition: ged.h:343
int ged_ptranslate(struct ged *gedp, int argc, const char *argv[])
Definition: ptranslate.c:37
int ged_qray(struct ged *gedp, int argc, const char *argv[])
Definition: qray.c:123
int ged_rmap(struct ged *gedp, int argc, const char *argv[])
Definition: rmap.c:36
struct bview * ged_gvp
Definition: ged.h:361
int ged_pull(struct ged *gedp, int argc, const char *argv[])
Definition: pull.c:208
int ged_move_botpts(struct ged *gedp, int argc, const char *argv[])
Definition: edbot.c:585
int ged_bot_condense(struct ged *gedp, int argc, const char *argv[])
Definition: bot_condense.c:38
struct bu_vls gd_qray_script
query ray script
Definition: ged.h:322
int ged_bot_smooth(struct ged *gedp, int argc, const char *argv[])
Definition: bot_smooth.c:38
int ged_ocenter(struct ged *gedp, int argc, const char *argv[])
Definition: ocenter.c:33
int ged_orotate(struct ged *gedp, int argc, const char *argv[])
Definition: orotate.c:33
bview_polygon * ged_clip_polygon(ClipType op, bview_polygon *subj, bview_polygon *clip, fastf_t sf, matp_t model2view, matp_t view2model)
Definition: polyclip.cpp:163
int ged_memprint(struct ged *gedp, int argc, const char *argv[])
Definition: debugmem.c:56
struct solid * freesolid
Definition: ged.h:345
int ged_center(struct ged *gedp, int argc, const char *argv[])
Definition: center.c:36
int ged_brep(struct ged *gedp, int argc, const char *argv[])
Definition: brep.c:176
struct bu_list l
Definition: ged.h:297
int ged_prcolor(struct ged *gedp, int argc, const char *argv[])
Definition: prcolor.c:96
uint32_t magic
Definition: ged.h:457
int ged_add_metaballpt(struct ged *gedp, int argc, const char *argv[])
int ged_ls(struct ged *gedp, int argc, const char *argv[])
Definition: ls.c:344
int ged_illum(struct ged *gedp, int argc, const char *argv[])
Definition: illum.c:41
int ged_autoview(struct ged *gedp, int argc, const char *argv[])
Definition: autoview.c:39
struct bu_list l
Definition: ged.h:260
struct bu_vls gd_qray_basename
basename of query ray vlist
Definition: ged.h:321
void * ged_dmp
Definition: ged.h:365
int ged_ps(struct ged *gedp, int argc, const char *argv[])
Definition: ps.c:45
int ged_model2view(struct ged *gedp, int argc, const char *argv[])
Definition: model2view.c:37
int ged_redraw(struct ged *gedp, int argc, const char *argv[])
Definition: draw.c:1225
COMPLEX data[64]
Definition: fftest.c:34
int ged_bot_merge(struct ged *gedp, int argc, const char *argv[])
Definition: bot_merge.c:38
int ged_ae2dir(struct ged *gedp, int argc, const char *argv[])
Definition: ae2dir.c:36
int ged_debugdir(struct ged *gedp, int argc, const char *argv[])
Definition: debugdir.c:36
int ged_rotate_arb_face(struct ged *gedp, int argc, const char *argv[])
int ged_put(struct ged *gedp, int argc, const char *argv[])
Definition: put.c:36
void ged_results_clear(struct ged_results *results)
Definition: ged_util.c:82
const char description[80]
Definition: ged.h:403
unsigned char g
Definition: ged.h:281
int ged_cc(struct ged *gedp, int argc, const char *argv[])
Definition: cc.c:45
int ged_model2grid_lu(struct ged *gedp, int argc, const char *argv[])
Definition: model2grid_lu.c:36
int ged_joint(struct ged *gedp, int argc, const char *argv[])
Definition: joint.c:3520
int gd_rt_cmd_len
Definition: ged.h:313
char type
Definition: ged.h:287
void ged_init_qray(struct ged_drawable *gdp)
int ged_plot(struct ged *gedp, int argc, const char *argv[])
Definition: plot.c:45
int ged_v2m_point(struct ged *gedp, int argc, const char *argv[])
Definition: v2m_point.c:36
int ged_group(struct ged *gedp, int argc, const char *argv[])
Definition: group.c:37
int ged_wcodes(struct ged *gedp, int argc, const char *argv[])
Definition: wcodes.c:128
int(* del)(const char *name)
Definition: ged.h:379
int ged_rselect(struct ged *gedp, int argc, const char *argv[])
Definition: select.c:174
int ged_summary(struct ged *gedp, int argc, const char *argv[])
Definition: summary.c:92
int ged_putmat(struct ged *gedp, int argc, const char *argv[])
Definition: putmat.c:177
int ged_exists(struct ged *gedp, int argc, const char *argv[])
Definition: exists.c:444
int ged_rt(struct ged *gedp, int argc, const char *argv[])
Definition: rt.c:450
int ged_pathlist(struct ged *gedp, int argc, const char *argv[])
Definition: pathlist.c:66
char gd_qray_effects
t for text, g for graphics or b for both
Definition: ged.h:323
int ged_tra(struct ged *gedp, int argc, const char *argv[])
Definition: tra.c:98
int ged_model2view_lu(struct ged *gedp, int argc, const char *argv[])
Definition: model2view_lu.c:36
#define __BEGIN_DECLS
Definition: common.h:73
int ged_blast(struct ged *gedp, int argc, const char *argv[])
Definition: blast.c:36
int ged_ypr(struct ged *gedp, int argc, const char *argv[])
Definition: ypr.c:35
int ged_red(struct ged *gedp, int argc, const char *argv[])
int ged_size(struct ged *gedp, int argc, const char *argv[])
Definition: size.c:36
int ged_savekey(struct ged *gedp, int argc, const char *argv[])
Definition: savekey.c:60
int ged_vrot(struct ged *gedp, int argc, const char *argv[])
Definition: vrot.c:36
int ged_adc(struct ged *gedp, int argc, const char *argv[])
Definition: adc.c:108
int ged_shader(struct ged *gedp, int argc, const char *argv[])
Definition: shader.c:30
int ged_make_pnts(struct ged *gedp, int argc, const char *argv[])
Definition: make_pnts.c:234
void(* ged_create_vlist_callback)(struct display_list *)
function to call after creating a vlist
Definition: ged.h:370
fastf_t ged_find_polygon_area(bview_polygon *gpoly, fastf_t sf, matp_t model2view, fastf_t size)
Definition: polyclip.cpp:477
void dl_erasePathFromDisplay(struct bu_list *hdlp, struct db_i *dbip, void(*callback)(unsigned int, int), const char *path, int allow_split, struct solid *freesolid)
Definition: display_list.c:204
int ged_kill(struct ged *gedp, int argc, const char *argv[])
Definition: kill.c:37
int ged_png(struct ged *gedp, int argc, const char *argv[])
Definition: png.c:121
int ged_dup(struct ged *gedp, int argc, const char *argv[])
Definition: dup.c:149
int ged_cat(struct ged *gedp, int argc, const char *argv[])
Definition: cat.c:36
char ** gd_rt_cmd
Definition: ged.h:312
int ged_overlay(struct ged *gedp, int argc, const char *argv[])
Definition: overlay.c:33
void ged_trace(struct directory *dp, int pathpos, const mat_t old_xlate, struct _ged_trace_data *gtdp, int verbose)
Definition: trace.c:82
int ged_match(struct ged *gedp, int argc, const char *argv[])
Definition: match.c:36
int ged_push(struct ged *gedp, int argc, const char *argv[])
Definition: push.c:181
int ged_delay(struct ged *gedp, int argc, const char *argv[])
Definition: delay.c:38
int ged_killall(struct ged *gedp, int argc, const char *argv[])
Definition: killall.c:36
int(* add)(const struct ged_cmd *cmd)
Definition: ged.h:378
void(* unload)(struct ged *)
Definition: ged.h:407
int ged_fracture(struct ged *gedp, int argc, const char *argv[])
Definition: fracture.c:87
int ged_lookat(struct ged *gedp, int argc, const char *argv[])
Definition: lookat.c:36
struct bu_hash_tbl * ged_selections
object name -> struct rt_object_selections
Definition: ged.h:363
int ged_grid2model_lu(struct ged *gedp, int argc, const char *argv[])
Definition: grid2model_lu.c:36
int ged_prefix(struct ged *gedp, int argc, const char *argv[])
Definition: prefix.c:67
int ged_qvrot(struct ged *gedp, int argc, const char *argv[])
Definition: qvrot.c:57
int ged_pov(struct ged *gedp, int argc, const char *argv[])
Definition: pov.c:36
int ged_xpush(struct ged *gedp, int argc, const char *argv[])
Definition: xpush.c:409
int ged_tire(struct ged *gedp, int argc, const char *argv[])
Definition: tire.c:1952
int ged_tol(struct ged *gedp, int argc, const char *argv[])
Definition: tol.c:36
int ged_gqa(struct ged *gedp, int argc, const char *argv[])
Definition: gqa.c:2321
int ged_oscale(struct ged *gedp, int argc, const char *argv[])
Definition: oscale.c:36
int ged_version(struct ged *gedp, int argc, const char *argv[])
Definition: version.c:36
int ged_pmat(struct ged *gedp, int argc, const char *argv[])
Definition: pmat.c:36
int ged_grid(struct ged *gedp, int argc, const char *argv[])
Definition: grid.c:148
int ged_ev(struct ged *gedp, int argc, const char *argv[])
Definition: draw.c:1219
int ged_aet(struct ged *gedp, int argc, const char *argv[])
Definition: aet.c:36
int ged_setview(struct ged *gedp, int argc, const char *argv[])
Definition: setview.c:36
int ged_otranslate(struct ged *gedp, int argc, const char *argv[])
Definition: otranslate.c:33
int ged_find_pipept_nearest_pt(struct ged *gedp, int argc, const char *argv[])
Definition: edpipe.c:769
int ged_bot_face_split(struct ged *gedp, int argc, const char *argv[])
Definition: edbot.c:182
int ged_move_arb_edge(struct ged *gedp, int argc, const char *argv[])
Definition: move_arb_edge.c:39
int ged_get_obj_bounds(struct ged *gedp, int argc, const char *argv[], int use_air, point_t rpp_min, point_t rpp_max)
int ged_view2model_vec(struct ged *gedp, int argc, const char *argv[])
int ged_simulate(struct ged *gedp, int argc, const char *argv[])
int ged_loadview(struct ged *gedp, int argc, const char *argv[])
Definition: loadview.c:93
struct rt_object_selections * ged_get_object_selections(struct ged *gedp, const char *object_name)
Definition: select.c:279
struct bu_list * gd_headVDraw
head of vdraw list
Definition: ged.h:308
struct bu_list l
Definition: ged.h:339
int ged_comb_color(struct ged *gedp, int argc, const char *argv[])
Definition: comb_color.c:30
int ged_analyze(struct ged *gedp, int argc, const char *argv[])
Definition: analyze.c:1276
int ged_dm_height
Definition: ged.h:384
int ged_cpi(struct ged *gedp, int argc, const char *argv[])
Definition: cpi.c:38
int ged_zap(struct ged *gedp, int argc, const char *argv[])
Definition: zap.c:42
int ged_lc(struct ged *gedp, int argc, const char *argv[])
Definition: lc.c:124
int ged_move_pipept(struct ged *gedp, int argc, const char *argv[])
Definition: edpipe.c:848
struct ged * gtd_gedp
Definition: ged.h:1914
int ged_bev(struct ged *gedp, int argc, const char *argv[])
Definition: bev.c:81
struct bu_vls * ged_result_str
Definition: ged.h:357
const char * ged_results_get(struct ged_results *results, size_t index)
Definition: ged_util.c:76
int ged_move(struct ged *gedp, int argc, const char *argv[])
Definition: move.c:37
int ged_rot_point(struct ged *gedp, int argc, const char *argv[])
Definition: rot_point.c:36
#define RT_VDRW_MAXNAME
Definition: ged.h:294
void ged_persp_mat(fastf_t *m, fastf_t fovy, fastf_t aspect, fastf_t near1, fastf_t far1, fastf_t backoff)
int wdb_importFg4Section_cmd(void *data, int argc, const char *argv[])
int ged_preview(struct ged *gedp, int argc, const char *argv[])
Definition: preview.c:285
int ged_dmp_is_null
Definition: ged.h:385
void ged_results_free(struct ged_results *results)
Definition: ged_util.c:98
int ged_form(struct ged *gedp, int argc, const char *argv[])
Definition: form.c:36
int ged_select(struct ged *gedp, int argc, const char *argv[])
Definition: select.c:44
struct ged_drawable * ged_gdp
Definition: ged.h:360
void(* ged_refresh_handler)(void *)
function for handling refresh requests
Definition: ged.h:367
int ged_lt(struct ged *gedp, int argc, const char *argv[])
Definition: lt.c:111
struct solid * gd_freeSolids
ptr to head of free solid list
Definition: ged.h:310
int ged_annotate(struct ged *gedp, int argc, const char *argv[])
Definition: annotate.c:122
int ged_bot_decimate(struct ged *gedp, int argc, const char *argv[])
Definition: bot_decimate.c:38
int ged_arced(struct ged *gedp, int argc, const char *argv[])
Definition: arced.c:34
int ged_get_type(struct ged *gedp, int argc, const char *argv[])
Definition: get_type.c:36
int gd_uplotOutputMode
output mode for unix plots
Definition: ged.h:318
int ged_bot_dump(struct ged *gedp, int argc, const char *argv[])
Definition: bot_dump.c:847
int ged_fb2pix(struct ged *gedp, int argc, const char *argv[])
Definition: fb2pix.c:103
int gd_qray_cmd_echo
0 - don't echo command, 1 - echo command
Definition: ged.h:324
int ged_nmg_collapse(struct ged *gedp, int argc, const char *argv[])
Definition: nmg_collapse.c:37
struct bu_list vdc_vhd
head of list of vertices
Definition: ged.h:300
int ged_pscale(struct ged *gedp, int argc, const char *argv[])
Definition: pscale.c:37
int ged_view2model_lu(struct ged *gedp, int argc, const char *argv[])
Definition: view2model_lu.c:36
int ged_nmg_simplify(struct ged *gedp, int argc, const char *argv[])
Definition: nmg_simplify.c:37
int ged_get_autoview(struct ged *gedp, int argc, const char *argv[])
Definition: get_autoview.c:40
int(* run)(int ac, char *av[])
Definition: ged.h:380
int ged_view2model(struct ged *gedp, int argc, const char *argv[])
Definition: view2model.c:36
int ged_bo(struct ged *gedp, int argc, const char *argv[])
Definition: bo.c:38
int ged_bot_split(struct ged *gedp, int argc, const char *argv[])
Definition: bot_split.c:37
int ged_set_transparency(struct ged *gedp, int argc, const char *argv[])
int ged_list(struct ged *gedp, int argc, const char *argv[])
Definition: list.c:105
int ged_find_metaballpt_nearest_pt(struct ged *gedp, int argc, const char *argv[])
int ged_get_comb(struct ged *gedp, int argc, const char *argv[])
Definition: get_comb.c:36
int ged_showmats(struct ged *gedp, int argc, const char *argv[])
Definition: showmats.c:154
int aborted
Definition: ged.h:275
int ged_m2v_point(struct ged *gedp, int argc, const char *argv[])
Definition: m2v_point.c:35
int ged_killtree(struct ged *gedp, int argc, const char *argv[])
Definition: killtree.c:145
int ged_rcodes(struct ged *gedp, int argc, const char *argv[])
Definition: rcodes.c:36
int ged_slew(struct ged *gedp, int argc, const char *argv[])
Definition: slew.c:36
mat_t gtd_xform
Definition: ged.h:1917
int ged_facetize(struct ged *gedp, int argc, const char *argv[])
Definition: facetize.c:74
int ged_bot_flip(struct ged *gedp, int argc, const char *argv[])
Definition: bot_flip.c:38
int ged_nirt(struct ged *gedp, int argc, const char *argv[])
Definition: nirt.c:63
unsigned char color[3]
Definition: ged.h:461
int ged_mirror(struct ged *gedp, int argc, const char *argv[])
Definition: mirror.c:31
int ged_edcomb(struct ged *gedp, int argc, const char *argv[])
Definition: edcomb.c:30
int ged_lod(struct ged *gedp, int argc, const char *argv[])
Definition: lod.c:38
void(* ged_dm_get_display_image)(struct ged *, unsigned char **)
Definition: ged.h:386
int ged_concat(struct ged *gedp, int argc, const char *argv[])
Definition: concat.c:297
Definition: ged.h:399
int ged_tracker(struct ged *gedp, int argc, const char *argv[])
int ged_get(struct ged *gedp, int argc, const char *argv[])
Definition: get.c:36
bview_polygon * ged_import_polygon(struct ged *gedp, const char *sname)
Definition: polyclip.cpp:347
int npts
Definition: ged.h:462
int ged_color(struct ged *gedp, int argc, const char *argv[])
Definition: color.c:267
int ged_track2(struct bu_vls *log_str, struct rt_wdb *wdbp, const char *argv[])
Definition: track.c:161
int clip(fastf_t *, fastf_t *, fastf_t *, fastf_t *)
Definition: clip.c:66
int ged_polybinout(struct ged *gedp, int argc, const char *argv[])
Definition: polybinout.c:41
int ged_rtwizard(struct ged *gedp, int argc, const char *argv[])
Definition: rtwizard.c:218
int ged_arot(struct ged *gedp, int argc, const char *argv[])
Definition: arot.c:91
ClipType
Definition: bview.h:162
void ged_calc_adc_a1(struct bview *gvp)
Definition: adc.c:645
void dl_set_iflag(struct bu_list *hdlp, int iflag)
int ged_killrefs(struct ged *gedp, int argc, const char *argv[])
Definition: killrefs.c:36
struct bu_list l
Definition: ged.h:400
struct ged_cmd * cmds
Definition: ged.h:377
void(* ged_refresh_callback_ptr)(void *)
Definition: ged.h:391
int gd_shaded_mode
1 - draw bots shaded by default
Definition: ged.h:330
int ged_isize(struct ged *gedp, int argc, const char *argv[])
Definition: isize.c:36
char * ged_output_script
script for use by the outputHandler
Definition: ged.h:369
void(* ged_free_vlist_callback_ptr)(unsigned int, int)
Definition: ged.h:393
int ged_debuglib(struct ged *gedp, int argc, const char *argv[])
Definition: debuglib.c:37
void(* ged_output_handler)(struct ged *, char *)
function for handling output
Definition: ged.h:368
int ged_tree(struct ged *gedp, int argc, const char *argv[])
Definition: tree.c:47
int ged_scale_args(struct ged *gedp, int argc, const char *argv[], fastf_t *sf1, fastf_t *sf2, fastf_t *sf3)
Definition: scale.c:36
int ged_dbcopy(struct ged *from_gedp, struct ged *to_gedp, const char *from, const char *to, int fflag)
Definition: copy.c:85
int ged_rrt(struct ged *gedp, int argc, const char *argv[])
Definition: rrt.c:37
int ged_keep(struct ged *gedp, int argc, const char *argv[])
Definition: keep.c:109
int ged_bb(struct ged *gedp, int argc, const char *argv[])
Definition: bb.c:41
int ged_rotate_about(struct ged *gedp, int argc, const char *argv[])
Definition: rotate_about.c:36
int ged_combmem(struct ged *gedp, int argc, const char *argv[])
Definition: combmem.c:979
int ged_find_arb_edge_nearest_pt(struct ged *gedp, int argc, const char *argv[])
int ged_vnirt(struct ged *gedp, int argc, const char *argv[])
Definition: nirt.c:548
void(* gd_rtCmdNotify)(int aborted)
function called when rt command completes
Definition: ged.h:316
void ged_init(struct ged *gedp)
Definition: ged.c:182
int ged_constraint(struct ged *gedp, int argc, const char *argv[])
Definition: constraint.c:294
int ged_whatid(struct ged *gedp, int argc, const char *argv[])
Definition: whatid.c:36
#define __END_DECLS
Definition: common.h:74
int ged_comb_std(struct ged *gedp, int argc, const char *argv[])
Definition: comb_std.c:434
int ged_tra_args(struct ged *gedp, int argc, const char *argv[], char *coord, vect_t tvec)
Definition: tra.c:36
int ged_quat(struct ged *gedp, int argc, const char *argv[])
Definition: quat.c:36
int ged_path_validate(struct ged *gedp, const struct db_full_path *const path)
Definition: path.c:84
unsigned char b
Definition: ged.h:282
int ged_edmater(struct ged *gedp, int argc, const char *argv[])
Definition: edmater.c:38
int ged_adjust(struct ged *gedp, int argc, const char *argv[])
Definition: adjust.c:36
void ged_close(struct ged *gedp)
Definition: ged.c:74
void ged_free_qray(struct ged_drawable *gdp)
struct ged_qray_color gd_qray_even_color
Definition: ged.h:327
int ged_instance(struct ged *gedp, int argc, const char *argv[])
Definition: instance.c:37
void dl_polybinout(struct bu_list *hdlp, struct polygon_header *ph, FILE *fp)
int ged_remove(struct ged *gedp, int argc, const char *argv[])
Definition: remove.c:36
int ged_clone(struct ged *gedp, int argc, const char *argv[])
Definition: clone.c:957
const char * name
Definition: ged.h:402
int ged_rmat(struct ged *gedp, int argc, const char *argv[])
Definition: rmat.c:36
int ged_zoom(struct ged *gedp, int argc, const char *argv[])
Definition: zoom.c:40
struct ged * ged_open(const char *dbtype, const char *filename, int existing_only)
Definition: ged.c:322
int ged_copymat(struct ged *gedp, int argc, const char *argv[])
Definition: copymat.c:36
int ged_move_arb_face(struct ged *gedp, int argc, const char *argv[])
Definition: move_arb_face.c:69
int ged_bot_face_sort(struct ged *gedp, int argc, const char *argv[])
Definition: bot_face_sort.c:37
int(* load)(struct ged *)
Definition: ged.h:406
int ged_joint2(struct ged *gedp, int argc, const char *argv[])
Definition: joint2.c:173
int ged_bot(struct ged *gedp, int argc, const char *argv[])
Definition: bot.c:39
struct ged_qray_color gd_qray_void_color
Definition: ged.h:328
int ged_rot_args(struct ged *gedp, int argc, const char *argv[], char *coord, mat_t rmat)
Definition: rot.c:36
int pid
Definition: ged.h:273
int ged_eye_pos(struct ged *gedp, int argc, const char *argv[])
Definition: eye_pos.c:36
int ged_make(struct ged *gedp, int argc, const char *argv[])
Definition: make.c:41
int ged_which(struct ged *gedp, int argc, const char *argv[])
Definition: which.c:36
int ged_bot_edge_split(struct ged *gedp, int argc, const char *argv[])
Definition: edbot.c:38
int gtd_flag
Definition: ged.h:1920
int ged_rfarb(struct ged *gedp, int argc, const char *argv[])
Definition: rfarb.c:37
int ged_vdraw(struct ged *gedp, int argc, const char *argv[])
Definition: vdraw.c:774
int ged_rect(struct ged *gedp, int argc, const char *argv[])
Definition: rect.c:283
int ged_make_name(struct ged *gedp, int argc, const char *argv[])
Definition: make_name.c:31
int ged_put_comb(struct ged *gedp, int argc, const char *argv[])
Definition: put_comb.c:485
int ged_nmg_fix_normals(struct ged *gedp, int argc, const char *argv[])
HIDDEN void verbose(struct human_data_t *dude)
Definition: human.c:2008
int ged_shaded_mode(struct ged *gedp, int argc, const char *argv[])
Definition: shaded_mode.c:42
int ged_rmater(struct ged *gedp, int argc, const char *argv[])
Definition: rmater.c:80
int ged_copyeval(struct ged *gedp, int argc, const char *argv[])
Definition: copyeval.c:36
int gtd_prflag
Definition: ged.h:1919
int ged_keypoint(struct ged *gedp, int argc, const char *argv[])
Definition: keypoint.c:36
Definition: vls.h:56
int ged_item(struct ged *gedp, int argc, const char *argv[])
Definition: item.c:31
const char * manpage
Definition: ged.h:404
int ged_debugmem(struct ged *gedp, int argc, const char *argv[])
Definition: debugmem.c:36
int ged_editit(struct ged *gedp, int argc, const char *argv[])
Definition: editit.c:254
void ged_calc_adc_a2(struct bview *gvp)
Definition: adc.c:664
int ged_export_polygon(struct ged *gedp, bview_data_polygon_state *gdpsp, size_t polygon_i, const char *sname)
Definition: polyclip.cpp:249
int ged_solids_on_ray(struct ged *gedp, int argc, const char *argv[])
struct ged_qray_color gd_qray_overlap_color
Definition: ged.h:329
int ged_prepend_pipept(struct ged *gedp, int argc, const char *argv[])
Definition: edpipe.c:965
double fastf_t
Definition: defines.h:300
int ged_get_eyemodel(struct ged *gedp, int argc, const char *argv[])
Definition: get_eyemodel.c:40
void ged_free(struct ged *gedp)
Definition: ged.c:131
int ged_find_bot_edge_nearest_pt(struct ged *gedp, int argc, const char *argv[])
Definition: edbot.c:294
int ged_report(struct ged *gedp, int argc, const char *argv[])
Definition: report.c:40
int ged_how(struct ged *gedp, int argc, const char *argv[])
Definition: how.c:45
int ged_region(struct ged *gedp, int argc, const char *argv[])
Definition: region.c:37
int ged_build_tops(struct ged *gedp, char **start, char **end)
Definition: rt.c:424
struct directory * gtd_obj[_GED_MAX_LEVELS]
Definition: ged.h:1916
int ged_erase(struct ged *gedp, int argc, const char *argv[])
Definition: erase.c:40
struct rt_selection_set * ged_get_selection_set(struct ged *gedp, const char *object_name, const char *selection_name)
Definition: select.c:298
void ged_view_init(struct bview *gvp)
Definition: ged.c:234
int ged_who(struct ged *gedp, int argc, const char *argv[])
Definition: who.c:38
int ged_edit(struct ged *gedp, int argc, const char *argv[])
Definition: edit.c:1965
struct vd_curve * gd_currVHead
current vdraw head
Definition: ged.h:309
int ged_glob(struct ged *gedp, int argc, const char *argv[])
Definition: glob.c:86
int ged_screen_grab(struct ged *gedp, int argc, const char *argv[])
Definition: screengrab.c:44
int ged_vclip(vect_t a, vect_t b, fastf_t *min, fastf_t *max)
int ged_find(struct ged *gedp, int argc, const char *argv[])
Definition: find.c:64
struct ged_results * ged_results
Definition: ged.h:358
int ged_pset(struct ged *gedp, int argc, const char *argv[])
Definition: pset.c:37
int ged_debugbu(struct ged *gedp, int argc, const char *argv[])
Definition: debugbu.c:37
int ged_protate(struct ged *gedp, int argc, const char *argv[])
Definition: protate.c:37
int ged_log(struct ged *gedp, int argc, const char *argv[])
Definition: log.c:53
int ged_inside_internal(struct ged *gedp, struct rt_db_internal *ip, int argc, const char *argv[], int arg, char *o_name)
Definition: inside.c:896
int ged_copy(struct ged *gedp, int argc, const char *argv[])
Definition: copy.c:37
int ged_find_botpt_nearest_pt(struct ged *gedp, int argc, const char *argv[])
Definition: edbot.c:353
int gtd_objpos
Definition: ged.h:1918
int ged_set_uplotOutputMode(struct ged *gedp, int argc, const char *argv[])
char vdc_name[RT_VDRW_MAXNAME+1]
name array
Definition: ged.h:298
int ged_clip(fastf_t *xp1, fastf_t *yp1, fastf_t *xp2, fastf_t *yp2)