BRL-CAD
commands.h
Go to the documentation of this file.
1 /* C O M M A N D S . H
2  * BRL-CAD
3  *
4  * Copyright (c) 2008-2024 United States Government as represented by
5  * the U.S. Army Research Laboratory.
6  *
7  * This library is free software; you can redistribute it and/or
8  * modify it under the terms of the GNU Lesser General Public License
9  * version 2.1 as published by the Free Software Foundation.
10  *
11  * This library is distributed in the hope that it will be useful, but
12  * WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14  * Lesser General Public License for more details.
15  *
16  * You should have received a copy of the GNU Lesser General Public
17  * License along with this file; see the file named COPYING for more
18  * information.
19  */
20 /** @addtogroup libged
21  *
22  * Geometry EDiting Library Commands
23  *
24  */
25 /** @{ */
26 /** @file ged/commands.h */
27 /** @} */
28 
29 #ifndef GED_COMMANDS_H
30 #define GED_COMMANDS_H
31 
32 #include "common.h"
33 #include "ged/defines.h"
34 
35 
36 __BEGIN_DECLS
37 
38 /** @addtogroup ged_plugins */
39 /** @{ */
40 /** Execute plugin based command */
41 GED_EXPORT extern int ged_exec(struct ged *gedp, int argc, const char *argv[]);
42 /** @} */
43 
44 /* LIBGED maintains this list - callers should regard it as read only. This
45  * list will change (size and pointers to individual command strings if
46  * commands are added or removed - caller is responsible for performing a new
47  * call to get an updated list and size if commands are altered. */
48 GED_EXPORT size_t ged_cmd_list(const char * const **cmd_list);
49 
50 /* Report whether a string identifies a valid LIBGED command. If func is
51  * non-NULL, check that cmd and func both refer to the same function pointer
52  * (i.e., they are aliases for the same command.)
53  *
54  * If func is NULL, a 0 return indicates an valid GED command and non-zero
55  * indicates an invalid command.
56  *
57  * If func is non-null:
58  * 0 indicates both cmd and func strings invoke the same LIBGED function
59  * 1 indicates that either or both of cmd and func were invalid GED commands
60  * 2 indicates that both were valid commands, but they did not match.
61  */
62 GED_EXPORT int ged_cmd_valid(const char *cmd, const char *func);
63 
64 /* Given a candidate cmd name, find the closest match to it among defined
65  * GED commands. Returns the bu_editdist distance between cmd and *ncmd
66  * (0 if they match exactly - i.e. cmd does define a command.)
67  *
68  * Useful for suggesting corrections to commands which are not found.
69  */
70 GED_EXPORT extern int
71 ged_cmd_lookup(const char **ncmd, const char *cmd);
72 
73 
74 /* Given a partial command string, analyze it and return possible command
75  * completions of the seed string. Typically this functionality is used to
76  * implement "tab completion" or "tab expansion" features in applications. The
77  * possible completions are returned in the completions array, and the returned
78  * value is the count of possible completions found.
79  *
80  * If completions array returned is non-NULL, caller is responsible for freeing
81  * it using bu_argv_free.
82  */
83 GED_EXPORT extern int
84 ged_cmd_completions(const char ***completions, const char *seed);
85 
86 /* Given a object name or path string, analyze it and return possible
87  * object-based completions. Typically this functionality is used to implement
88  * "tab completion" or "tab expansion" features in applications. The possible
89  * completions are returned in the completions array, and the returned value is
90  * the count of possible completions found.
91  *
92  * If completions array returned is non-NULL, caller is responsible for freeing
93  * it using bu_argv_free.
94  */
95 GED_EXPORT extern int
96 ged_geom_completions(const char ***completions, struct bu_vls *cprefix, struct db_i *dbip, const char *seed);
97 
98 
99 /** @addtogroup ged_objects */
100 /** @{ */
101 /**
102  * Adjust object's attribute(s)
103  */
104 GED_EXPORT extern int ged_adjust(struct ged *gedp, int argc, const char *argv[]);
105 
106 /**
107  * @brief Set, get, show, remove or append to attribute values for the specified object.
108  *
109  * The arguments for "set" and "append" subcommands are attribute name/value pairs.
110  * The arguments for "get", "rm", and "show" subcommands are attribute names.
111  * The "set" subcommand sets the specified attributes for the object.
112  * The "append" subcommand appends the provided value to an existing attribute,
113  * or creates a new attribute if it does not already exist.
114  * The "get" subcommand retrieves and displays the specified attributes.
115  * The "rm" subcommand deletes the specified attributes.
116  * The "show" subcommand does a "get" and displays the results in a user readable format.
117  */
118 GED_EXPORT extern int ged_attr(struct ged *gedp, int argc, const char *argv[]);
119 
120 /**
121  * List attributes (brief).
122  */
123 GED_EXPORT extern int ged_cat(struct ged *gedp, int argc, const char *argv[]);
124 
125 /**
126  * Set combination color.
127  */
128 GED_EXPORT extern int ged_comb_color(struct ged *gedp, int argc, const char *argv[]);
129 
130 /**
131  * Create or extend combination w/booleans.
132  */
133 GED_EXPORT extern int ged_comb(struct ged *gedp, int argc, const char *argv[]);
134 
135 /**
136  * Create or extend a combination using standard notation.
137  */
138 GED_EXPORT extern int ged_comb_std(struct ged *gedp, int argc, const char *argv[]);
139 
140 /**
141  * Set/get comb's members.
142  */
143 GED_EXPORT extern int ged_combmem(struct ged *gedp, int argc, const char *argv[]);
144 
145 /**
146  * Copy a database object
147  */
148 GED_EXPORT extern int ged_copy(struct ged *gedp, int argc, const char *argv[]);
149 
150 /**
151  * Copy an 'evaluated' path solid
152  */
153 GED_EXPORT extern int ged_copyeval(struct ged *gedp, int argc, const char *argv[]);
154 
155 /**
156  * Copy the matrix from one combination's arc to another.
157  */
158 GED_EXPORT extern int ged_copymat(struct ged *gedp, int argc, const char *argv[]);
159 
160 
161 /**
162  * Edit region ident codes.
163  */
164 GED_EXPORT extern int ged_edcodes(struct ged *gedp, int argc, const char *argv[]);
165 
166 /**
167  * Edit combination.
168  */
169 GED_EXPORT extern int ged_edcomb(struct ged *gedp, int argc, const char *argv[]);
170 
171 /**
172  * Edit objects, by using subcommands.
173  */
174 GED_EXPORT extern int ged_edit(struct ged *gedp, int argc, const char *argv[]);
175 
176 /**
177  * Checks to see if the specified database object exists.
178  */
179 GED_EXPORT extern int ged_exists(struct ged *gedp, int argc, const char *argv[]);
180 
181 /**
182  * returns form for objects of type "type"
183  */
184 GED_EXPORT extern int ged_form(struct ged *gedp, int argc, const char *argv[]);
185 
186 /**
187  * Get object attributes
188  */
189 GED_EXPORT extern int ged_get(struct ged *gedp, int argc, const char *argv[]);
190 
191 /**
192  * Get combination information
193  */
194 GED_EXPORT extern int ged_get_comb(struct ged *gedp, int argc, const char *argv[]);
195 
196 /**
197  * Create or append objects to a group
198  */
199 GED_EXPORT extern int ged_group(struct ged *gedp, int argc, const char *argv[]);
200 
201 /**
202  * Heal command to heal the defects in bots
203  */
204 GED_EXPORT extern int ged_heal(struct ged *gedp, int argc, const char *argv[]);
205 
206 /**
207  * Set the "hidden" flag for the specified objects so they do not
208  * appear in an "ls" command output
209  */
210 GED_EXPORT extern int ged_hide(struct ged *gedp, int argc, const char *argv[]);
211 
212 /**
213  * Add instance of obj to comb
214  */
215 GED_EXPORT extern int ged_instance(struct ged *gedp, int argc, const char *argv[]);
216 
217 /**
218  * Save/keep the specified objects in the specified file
219  */
220 GED_EXPORT extern int ged_keep(struct ged *gedp, int argc, const char *argv[]);
221 
222 /**
223  * List attributes of regions within a group/combination.
224  */
225 GED_EXPORT extern int ged_lc(struct ged *gedp, int argc, const char *argv[]);
226 
227 /**
228  * List object information, verbose.
229  */
230 GED_EXPORT extern int ged_list(struct ged *gedp, int argc, const char *argv[]);
231 
232 /**
233  * Make a unique object name.
234  */
235 GED_EXPORT extern int ged_make_name(struct ged *gedp, int argc, const char *argv[]);
236 
237 /**
238  * Multiply a point by a 4x4 matrix yielding the transformed point
239  */
240 GED_EXPORT extern int ged_mat4x3pnt(struct ged *gedp, int argc, const char *argv[]);
241 
242 /**
243  * Create a matrix given an azimuth and elevation
244  */
245 GED_EXPORT extern int ged_mat_ae(struct ged *gedp, int argc, const char *argv[]);
246 
247 /**
248  * Create a matrix that is the result of multiplying the two specified matrices
249  */
250 GED_EXPORT extern int ged_mat_mul(struct ged *gedp, int argc, const char *argv[]);
251 
252 /**
253  * Create a matrix that will scale about a given point
254  */
255 GED_EXPORT extern int ged_mat_scale_about_pnt(struct ged *gedp, int argc, const char *argv[]);
256 
257 /**
258  * Modify material information.
259  */
260 GED_EXPORT extern int ged_mater(struct ged *gedp, int argc, const char *argv[]);
261 
262 /**
263  * Apply and modify material properties to a specific object.
264  */
265 GED_EXPORT extern int ged_material(struct ged *gedp, int argc, const char *argv[]);
266 
267 /**
268  * Globs expression against database objects, does not return tokens that match nothing
269  */
270 GED_EXPORT extern int ged_match(struct ged *gedp, int argc, const char *argv[]);
271 
272 /**
273  * Set combination attributes
274  */
275 GED_EXPORT extern int ged_put_comb(struct ged *gedp, int argc, const char *argv[]);
276 
277 /**
278  * Create a database object
279  */
280 GED_EXPORT extern int ged_put(struct ged *gedp, int argc, const char *argv[]);
281 
282 /**
283  * Edit region/comb
284  */
285 GED_EXPORT extern int ged_red(struct ged *gedp, int argc, const char *argv[]);
286 
287 /**
288  * Remove members from a combination
289  */
290 GED_EXPORT extern int ged_remove(struct ged *gedp, int argc, const char *argv[]);
291 
292 /**
293  * Unset the "hidden" flag for the specified objects so they will appear in a "t" or "ls" command output
294  */
295 GED_EXPORT extern int ged_unhide(struct ged *gedp, int argc, const char *argv[]);
296 
297 /**
298  * Read material properties from a file.
299  */
300 GED_EXPORT extern int ged_rmater(struct ged *gedp, int argc, const char *argv[]);
301 
302 /**
303  * Write material properties to a file for specified combination(s).
304  */
305 GED_EXPORT extern int ged_wmater(struct ged *gedp, int argc, const char *argv[]);
306 
307 
308 
309 /* defined in inside.c */
310 GED_EXPORT extern int ged_inside_internal(struct ged *gedp,
311  struct rt_db_internal *ip,
312  int argc,
313  const char *argv[],
314  int arg,
315  char *o_name);
316 
317 
318 /**
319  * Finds the inside primitive per the specified thickness.
320  */
321 GED_EXPORT extern int ged_inside(struct ged *gedp, int argc, const char *argv[]);
322 
323 
324 /**
325  * Creates an arb8 given the following:
326  * 1) 3 points of one face
327  * 2) coord x, y or z and 2 coordinates of the 4th point in that face
328  * 3) thickness
329  */
330 GED_EXPORT extern int ged_3ptarb(struct ged *gedp, int argc, const char *argv[]);
331 
332 /**
333  * Creates an arb8 given rotation and fallback angles
334  */
335 GED_EXPORT extern int ged_arb(struct ged *gedp, int argc, const char *argv[]);
336 
337 /**
338  * Creates an annotation.
339  */
340 GED_EXPORT extern int ged_annotate(struct ged *gedp, int argc, const char *argv[]);
341 
342 /**
343  * Append a pipe point.
344  */
345 GED_EXPORT extern int ged_pipe_append_pnt(struct ged *gedp, int argc, const char *argv[]);
346 
347 /**
348  * Allow editing of the matrix, etc., along an arc.
349  */
350 GED_EXPORT extern int ged_arced(struct ged *gedp, int argc, const char *argv[]);
351 
352 /**
353  * Tessellates each operand object, then performs the
354  * boolean evaluation, storing result in 'new_obj'
355  */
356 GED_EXPORT extern int ged_bev(struct ged *gedp, int argc, const char *argv[]);
357 
358 
359 /**
360  * @brief Manipulate opaque binary objects.
361  *
362  * Must specify one of -i (for creating or adjusting objects (input))
363  * or -o for extracting objects (output).
364  * If the major type is "u" the minor type must be one of:
365  * "f" -> float
366  * "d" -> double
367  * "c" -> char (8 bit)
368  * "s" -> short (16 bit)
369  * "i" -> int (32 bit)
370  * "l" -> long (64 bit)
371  * "C" -> unsigned char (8 bit)
372  * "S" -> unsigned short (16 bit)
373  * "I" -> unsigned int (32 bit)
374  * "L" -> unsigned long (64 bit)
375  * For input, source is a file name and dest is an object name.
376  * For output source is an object name and dest is a file name.
377  * Only uniform array binary objects (major_type=u) are currently supported}}
378  */
379 GED_EXPORT extern int ged_bo(struct ged *gedp, int argc, const char *argv[]);
380 
381 /**
382  * Query or manipulate properties of bot
383  */
384 GED_EXPORT extern int ged_bot(struct ged *gedp, int argc, const char *argv[]);
385 
386 /**
387  * Create new_bot by condensing old_bot
388  */
389 GED_EXPORT extern int ged_bot_condense(struct ged *gedp, int argc, const char *argv[]);
390 
391 /**
392  * Uses edge decimation to reduce the number of triangles in the
393  * specified BOT while keeping within the specified constraints.
394  */
395 GED_EXPORT extern int ged_bot_decimate(struct ged *gedp, int argc, const char *argv[]);
396 
397 /**
398  * Dump bots to the specified format.
399  */
400 GED_EXPORT extern int ged_bot_dump(struct ged *gedp, int argc, const char *argv[]);
401 
402 /**
403  * Dump displayed bots to the specified format.
404  */
405 GED_EXPORT extern int ged_dbot_dump(struct ged *gedp, int argc, const char *argv[]);
406 
407 /**
408  * Split the specified bot edge. This splits the triangles that share the edge.
409  */
410 GED_EXPORT extern int ged_bot_edge_split(struct ged *gedp, int argc, const char *argv[]);
411 
412 /**
413  * Create new_bot by fusing faces in old_bot
414  */
415 GED_EXPORT extern int ged_bot_face_fuse(struct ged *gedp, int argc, const char *argv[]);
416 
417 /**
418  * Sort the facelist of BOT solids to optimize ray trace performance
419  * for a particular number of triangles per raytrace piece.
420  */
421 GED_EXPORT extern int ged_bot_face_sort(struct ged *gedp, int argc, const char *argv[]);
422 
423 /**
424  * Split the specified bot face into three parts (i.e. by adding a point to the center)
425  */
426 GED_EXPORT extern int ged_bot_face_split(struct ged *gedp, int argc, const char *argv[]);
427 
428 /**
429  * Flip/reverse the specified bot's orientation.
430  */
431 GED_EXPORT extern int ged_bot_flip(struct ged *gedp, int argc, const char *argv[]);
432 
433 /**
434  * Fuse bot
435  */
436 GED_EXPORT extern int ged_bot_fuse(struct ged *gedp, int argc, const char *argv[]);
437 
438 /**
439  * Create bot_dest by merging the bot sources.
440  */
441 GED_EXPORT extern int ged_bot_merge(struct ged *gedp, int argc, const char *argv[]);
442 
443 /**
444  * Calculate vertex normals for the BOT primitive
445  */
446 GED_EXPORT extern int ged_bot_smooth(struct ged *gedp, int argc, const char *argv[]);
447 
448 /**
449  * Split the specified bot
450  */
451 GED_EXPORT extern int ged_bot_split(struct ged *gedp, int argc, const char *argv[]);
452 
453 /**
454  * Sync the specified bot's orientation (i.e. make sure all neighboring triangles have same orientation).
455  */
456 GED_EXPORT extern int ged_bot_sync(struct ged *gedp, int argc, const char *argv[]);
457 
458 /**
459  * Fuse bot vertices
460  */
461 GED_EXPORT extern int ged_bot_vertex_fuse(struct ged *gedp, int argc, const char *argv[]);
462 
463 /**
464  * Remesh an existing bot.
465  *
466  * This routine will take an existing BoT and perform a global
467  * remeshing. This operation will heal and repair some polygonal mesh
468  * errors such as elimination of dangling faces, elimination of
469  * overlapping faces, and closure of small gaps (solidity errors).
470  *
471  * This routine currently only works on solid mesh geometry.
472  */
473 GED_EXPORT int ged_bot_remesh(struct ged *gedp, int argc, const char *argv[]);
474 
475 /**
476  * BREP utility command
477  */
478 GED_EXPORT extern int ged_brep(struct ged *gedp, int argc, const char *argv[]);
479 GED_EXPORT extern int ged_brep2(struct ged *gedp, int argc, const char *argv[]);
480 
481 /**
482  * Create constraint object
483  */
484 GED_EXPORT extern int ged_cc(struct ged *gedp, int argc, const char *argv[]);
485 
486 /**
487  * Performs a deep copy of object.
488  */
489 GED_EXPORT extern int ged_clone(struct ged *gedp, int argc, const char *argv[]);
490 
491 /**
492  * Make coil shapes.
493  */
494 GED_EXPORT extern int ged_coil(struct ged *gedp, int argc, const char *argv[]);
495 
496 /**
497  * create, update, remove, and list geometric and dimensional constraints.
498  */
499 GED_EXPORT extern int ged_constraint(struct ged *gedp, int argc, const char *argv[]);
500 
501 /**
502  * Copy cylinder and position at end of original cylinder
503  */
504 GED_EXPORT extern int ged_cpi(struct ged *gedp, int argc, const char *argv[]);
505 
506 /**
507  * Delete the specified pipe point.
508  */
509 GED_EXPORT extern int ged_pipe_delete_pnt(struct ged *gedp, int argc, const char *argv[]);
510 
511 /**
512  * DSP utility command
513  */
514 GED_EXPORT extern int ged_dsp(struct ged *gedp, int argc, const char *argv[]);
515 
516 /**
517  * Arb specific edits.
518  */
519 GED_EXPORT extern int ged_edarb(struct ged *gedp, int argc, const char *argv[]);
520 
521 /**
522  * Edit combination materials.
523  *
524  * Command relies on rmater, editit, and wmater commands.
525  */
526 GED_EXPORT extern int ged_edmater(struct ged *gedp, int argc, const char *argv[]);
527 
528 /**
529  * Evaluate objects via NMG tessellation
530  */
531 GED_EXPORT extern int ged_ev(struct ged *gedp, int argc, const char *argv[]);
532 
533 /**
534  * Facetize the specified objects
535  */
536 GED_EXPORT extern int ged_facetize(struct ged *gedp, int argc, const char *argv[]);
537 
538 /**
539  * Find the arb edge nearest the specified point in view coordinates.
540  */
541 GED_EXPORT extern int ged_find_arb_edge_nearest_pnt(struct ged *gedp, int argc, const char *argv[]);
542 
543 /**
544  * Find the bot edge nearest the specified point in view coordinates.
545  */
546 GED_EXPORT extern int ged_find_bot_edge_nearest_pnt(struct ged *gedp, int argc, const char *argv[]);
547 
548 /**
549  * Find the bot point nearest the specified point in view coordinates.
550  */
551 GED_EXPORT extern int ged_find_bot_pnt_nearest_pnt(struct ged *gedp, int argc, const char *argv[]);
552 
553 /**
554  * Add a metaball point.
555  */
556 GED_EXPORT extern int ged_metaball_add_pnt(struct ged *gedp, int argc, const char *argv[]);
557 
558 /**
559  * Delete a metaball point.
560  */
561 GED_EXPORT extern int ged_metaball_delete_pnt(struct ged *gedp, int argc, const char *argv[]);
562 
563 /**
564  * Find the metaball point nearest the specified point in model coordinates.
565  */
566 GED_EXPORT extern int ged_find_metaball_pnt_nearest_pnt(struct ged *gedp, int argc, const char *argv[]);
567 
568 /**
569  * Move a metaball point.
570  */
571 GED_EXPORT extern int ged_metaball_move_pnt(struct ged *gedp, int argc, const char *argv[]);
572 
573 /**
574  * Find the pipe point nearest the specified point in model coordinates.
575  */
576 GED_EXPORT extern int ged_find_pipe_pnt_nearest_pnt(struct ged *gedp, int argc, const char *argv[]);
577 
578 /**
579  * Given an NMG solid, break it up into several NMG solids, each
580  * containing a single shell with a single sub-element.
581  */
582 GED_EXPORT extern int ged_fracture(struct ged *gedp, int argc, const char *argv[]);
583 /**
584  * Get a bot's edges
585  */
586 GED_EXPORT extern int ged_get_bot_edges(struct ged *gedp, int argc, const char *argv[]);
587 
588 /**
589  * Get the object's type
590  */
591 GED_EXPORT extern int ged_get_type(struct ged *gedp, int argc, const char *argv[]);
592 
593 /**
594  * Create a primitive via keyboard.
595  */
596 GED_EXPORT extern int ged_in(struct ged *gedp, int argc, const char *argv[]);
597 
598 /**
599  * Makes a bot object out of the specified section.
600  */
601 GED_EXPORT extern int ged_importFg4Section(struct ged *gedp, int argc, const char *argv[]);
602 
603 /**
604  * Joint command ported to the libged library.
605  */
606 GED_EXPORT extern int ged_joint(struct ged *gedp, int argc, const char *argv[]);
607 
608 /**
609  * New joint command.
610  */
611 GED_EXPORT extern int ged_joint2(struct ged *gedp, int argc, const char *argv[]);
612 
613 /**
614  * Kill/delete the specified objects from the database
615  */
616 GED_EXPORT extern int ged_kill(struct ged *gedp, int argc, const char *argv[]);
617 
618 /**
619  * Kill/delete the specified objects from the database, removing all references
620  */
621 GED_EXPORT extern int ged_killall(struct ged *gedp, int argc, const char *argv[]);
622 
623 /**
624  * Kill all references to the specified object(s).
625  */
626 GED_EXPORT extern int ged_killrefs(struct ged *gedp, int argc, const char *argv[]);
627 
628 /**
629  * Kill all paths belonging to objects
630  */
631 GED_EXPORT extern int ged_killtree(struct ged *gedp, int argc, const char *argv[]);
632 
633 /**
634  * List object's tree as a tcl list of {operator object} pairs
635  */
636 GED_EXPORT extern int ged_lt(struct ged *gedp, int argc, const char *argv[]);
637 
638 /**
639  * Make a new primitive.
640  */
641 GED_EXPORT extern int ged_make(struct ged *gedp, int argc, const char *argv[]);
642 
643 /**
644  * Creates a point-cloud (pnts) given the following:
645  * 1) object name
646  * 2) path and filename to point data file
647  * 3) point data file format (xyzrgbsijk?)
648  * 4) point data file units or conversion factor to mm
649  * 5) default diameter of each point
650  */
651 GED_EXPORT extern int ged_make_pnts(struct ged *gedp, int argc, const char *argv[]);
652 
653 /**
654  * Mirror the primitive or combination along the specified axis.
655  */
656 GED_EXPORT extern int ged_mirror(struct ged *gedp, int argc, const char *argv[]);
657 
658 /**
659  * Move an arb's edge through point
660  */
661 GED_EXPORT extern int ged_move_arb_edge(struct ged *gedp, int argc, const char *argv[]);
662 
663 /**
664  * Move/rename a database object
665  */
666 GED_EXPORT extern int ged_move(struct ged *gedp, int argc, const char *argv[]);
667 
668 /**
669  * Move/rename all occurrences object
670  */
671 GED_EXPORT extern int ged_move_all(struct ged *gedp, int argc, const char *argv[]);
672 
673 /**
674  * Move an arb's face through point
675  */
676 GED_EXPORT extern int ged_move_arb_face(struct ged *gedp, int argc, const char *argv[]);
677 
678 /**
679  * Move the specified bot point. This can be relative or absolute.
680  */
681 GED_EXPORT extern int ged_bot_move_pnt(struct ged *gedp, int argc, const char *argv[]);
682 
683 /**
684  * Move the specified bot points. This movement is always relative.
685  */
686 GED_EXPORT extern int ged_bot_move_pnts(struct ged *gedp, int argc, const char *argv[]);
687 
688 /**
689  * Move the specified pipe point.
690  */
691 GED_EXPORT extern int ged_pipe_move_pnt(struct ged *gedp, int argc, const char *argv[]);
692 
693 /**
694  * NMG command with subcommands for altering NMG datastructure.
695  */
696 GED_EXPORT extern int ged_nmg(struct ged *gedp, int argc, const char *argv[]);
697 
698 /**
699  * Decimate NMG primitive via edge collapse
700  */
701 GED_EXPORT extern int ged_nmg_collapse(struct ged *gedp, int argc, const char *argv[]);
702 
703 /**
704  * Attempt to fix an NMG primitive's normals.
705  */
706 GED_EXPORT extern int ged_nmg_fix_normals(struct ged *gedp, int argc, const char *argv[]);
707 
708 /**
709  * Simplify the NMG primitive, if possible
710  */
711 GED_EXPORT extern int ged_nmg_simplify(struct ged *gedp, int argc, const char *argv[]);
712 
713 /**
714  * Set/get object center.
715  */
716 GED_EXPORT extern int ged_ocenter(struct ged *gedp, int argc, const char *argv[]);
717 
718 /**
719  * Rotate obj about the keypoint by
720  */
721 GED_EXPORT extern int ged_orotate(struct ged *gedp, int argc, const char *argv[]);
722 
723 /**
724  * Scale obj about the keypoint by sf.
725  */
726 GED_EXPORT extern int ged_oscale(struct ged *gedp, int argc, const char *argv[]);
727 
728 /**
729  * Translate obj by dx dy dz.
730  */
731 GED_EXPORT extern int ged_otranslate(struct ged *gedp, int argc, const char *argv[]);
732 
733 /**
734  * Prefix the specified objects with the specified prefix
735  */
736 GED_EXPORT extern int ged_prefix(struct ged *gedp, int argc, const char *argv[]);
737 
738 /**
739  * Prepend a pipe point.
740  */
741 GED_EXPORT extern int ged_pipe_prepend_pnt(struct ged *gedp, int argc, const char *argv[]);
742 
743 /**
744  * Rotate obj's attributes by rvec.
745  */
746 GED_EXPORT extern int ged_protate(struct ged *gedp, int argc, const char *argv[]);
747 
748 /**
749  * Scale obj's attributes by sf.
750  */
751 GED_EXPORT extern int ged_pscale(struct ged *gedp, int argc, const char *argv[]);
752 
753 /**
754  * Set an obj's attribute to the specified value.
755  */
756 GED_EXPORT extern int ged_pset(struct ged *gedp, int argc, const char *argv[]);
757 
758 /**
759  * Translate obj's attributes by tvec.
760  */
761 GED_EXPORT extern int ged_ptranslate(struct ged *gedp, int argc, const char *argv[]);
762 
763 /**
764  *Pull objects' path transformations from primitives
765  */
766 GED_EXPORT extern int ged_pull(struct ged *gedp, int argc, const char *argv[]);
767 
768 /**
769  * Push objects' path transformations to primitives
770  */
771 GED_EXPORT extern int ged_push(struct ged *gedp, int argc, const char *argv[]);
772 
773 /**
774  * Replace the matrix on an arc
775  */
776 GED_EXPORT extern int ged_putmat(struct ged *gedp, int argc, const char *argv[]);
777 
778 /**
779  * Create or append objects to a region
780  */
781 GED_EXPORT extern int ged_region(struct ged *gedp, int argc, const char *argv[]);
782 
783 /**
784  * Makes and arb given a point, 2 coord of 3 pnts, rot, fb and thickness.
785  */
786 GED_EXPORT extern int ged_rfarb(struct ged *gedp, int argc, const char *argv[]);
787 
788 /**
789  * Rotate an arb's face through point
790  */
791 GED_EXPORT extern int ged_rotate_arb_face(struct ged *gedp, int argc, const char *argv[]);
792 
793 /**
794  * Rotate the point.
795  */
796 GED_EXPORT extern int ged_rot_point(struct ged *gedp, int argc, const char *argv[]);
797 
798 /**
799  * Set the transparency of the specified object
800  *
801  * @todo - belongs in view?
802  */
803 GED_EXPORT extern int ged_set_transparency(struct ged *gedp, int argc, const char *argv[]);
804 
805 /**
806  * Breaks the NMG model into separate shells
807  */
808 GED_EXPORT extern int ged_shells(struct ged *gedp, int argc, const char *argv[]);
809 
810 /**
811  * Create or append objects to a group using a sphere
812  */
813 GED_EXPORT extern int ged_sphgroup(struct ged *gedp, int argc, const char *argv[]);
814 
815 /**
816  * Return the specified region's id.
817  */
818 GED_EXPORT extern int ged_whatid(struct ged *gedp, int argc, const char *argv[]);
819 
820 /**
821  * Push object path transformations to solids, creating primitives if necessary
822  */
823 GED_EXPORT extern int ged_xpush(struct ged *gedp, int argc, const char *argv[]);
824 GED_EXPORT extern int ged_npush(struct ged *gedp, int argc, const char *argv[]);
825 
826 /**
827  * Voxelize the specified objects
828  */
829 GED_EXPORT extern int ged_voxelize(struct ged *gedp, int argc, const char *argv[]);
830 
831 /**
832  * Decompose nmg_solid into maximally connected shells
833  */
834 GED_EXPORT extern int ged_decompose(struct ged *gedp, int argc, const char *argv[]);
835 
836 
837 /**
838  * returns form for objects of type "type"
839  */
840 GED_EXPORT extern int ged_form(struct ged *gedp, int argc, const char *argv[]);
841 
842 /**
843  * Create a human
844  */
845 GED_EXPORT extern int ged_human(struct ged *gedp, int argc, const char *argv[]);
846 
847 /**
848  * Simpler, command-line version of 'mater' command.
849  */
850 GED_EXPORT extern int ged_shader(struct ged *gedp, int argc, const char *argv[]);
851 
852 /**
853  * Create a tire
854  */
855 GED_EXPORT extern int ged_tire(struct ged *gedp, int argc, const char *argv[]);
856 
857 /**
858  * Create a track
859  */
860 GED_EXPORT extern int ged_track(struct ged *gedp, int argc, const char *argv[]);
861 
862 /**
863  *
864  *
865  * Usage:
866  * tracker [-fh] [# links] [increment] [spline.iges] [link...]
867  */
868 GED_EXPORT extern int ged_tracker(struct ged *gedp, int argc, const char *argv[]);
869 
870 /* defined in track.c */
871 GED_EXPORT extern int ged_track2(struct bu_vls *log_str, struct rt_wdb *wdbp, const char *argv[]);
872 
873 /* defined in wdb_importFg4Section.c */
874 GED_EXPORT int wdb_importFg4Section_cmd(void *data, int argc, const char *argv[]);
875 
876 /**
877  * manipulate point set geometry
878  */
879 GED_EXPORT int ged_pnts(struct ged *gedp, int argc, const char *argv[]);
880 
881 /**
882  * Report object information.
883  */
884 GED_EXPORT extern int ged_stat(struct ged *gedp, int argc, const char *argv[]);
885 
886 
887 
888 /* Debugging command for brep plotting */
889 GED_EXPORT extern int ged_dplot(struct ged *gedp, int argc, const char *argv[]);
890 
891 
892 /**
893  *
894  * DEPRECATED - use rt_obj_bounds instead
895  *
896  */
897 DEPRECATED GED_EXPORT extern int ged_get_obj_bounds(struct ged *gedp,
898  int argc,
899  const char *argv[],
900  int use_air,
901  point_t rpp_min,
902  point_t rpp_max);
903 
904 GED_EXPORT void draw_scene(struct bv_scene_obj *s, struct bview *v);
905 
906 /** @} */
907 
908 
909 __END_DECLS
910 
911 
912 #endif /* GED_COMMANDS_H */
913 
914 /*
915  * Local Variables:
916  * tab-width: 8
917  * mode: C
918  * indent-tabs-mode: t
919  * c-file-style: "stroustrup"
920  * End:
921  * ex: shiftwidth=4 tabstop=8
922  */
int ged_cmd_completions(const char ***completions, const char *seed)
int ged_cmd_lookup(const char **ncmd, const char *cmd)
size_t ged_cmd_list(const char *const **cmd_list)
int ged_geom_completions(const char ***completions, struct bu_vls *cprefix, struct db_i *dbip, const char *seed)
int ged_cmd_valid(const char *cmd, const char *func)
Header file for the BRL-CAD common definitions.
#define DEPRECATED
Definition: common.h:401
int ged_wmater(struct ged *gedp, int argc, const char *argv[])
int ged_brep(struct ged *gedp, int argc, const char *argv[])
int ged_bot(struct ged *gedp, int argc, const char *argv[])
int ged_put(struct ged *gedp, int argc, const char *argv[])
int ged_track2(struct bu_vls *log_str, struct rt_wdb *wdbp, const char *argv[])
void draw_scene(struct bv_scene_obj *s, struct bview *v)
int ged_voxelize(struct ged *gedp, int argc, const char *argv[])
int ged_decompose(struct ged *gedp, int argc, const char *argv[])
int ged_red(struct ged *gedp, int argc, const char *argv[])
int ged_find_bot_edge_nearest_pnt(struct ged *gedp, int argc, const char *argv[])
int ged_copy(struct ged *gedp, int argc, const char *argv[])
int ged_combmem(struct ged *gedp, int argc, const char *argv[])
int ged_move_all(struct ged *gedp, int argc, const char *argv[])
int ged_ptranslate(struct ged *gedp, int argc, const char *argv[])
int ged_coil(struct ged *gedp, int argc, const char *argv[])
int ged_move_arb_face(struct ged *gedp, int argc, const char *argv[])
int ged_constraint(struct ged *gedp, int argc, const char *argv[])
int ged_find_metaball_pnt_nearest_pnt(struct ged *gedp, int argc, const char *argv[])
int ged_bot_condense(struct ged *gedp, int argc, const char *argv[])
int ged_kill(struct ged *gedp, int argc, const char *argv[])
int ged_comb(struct ged *gedp, int argc, const char *argv[])
int ged_pipe_append_pnt(struct ged *gedp, int argc, const char *argv[])
int ged_hide(struct ged *gedp, int argc, const char *argv[])
int ged_lt(struct ged *gedp, int argc, const char *argv[])
int ged_region(struct ged *gedp, int argc, const char *argv[])
int ged_killtree(struct ged *gedp, int argc, const char *argv[])
int ged_bo(struct ged *gedp, int argc, const char *argv[])
Manipulate opaque binary objects.
int ged_pull(struct ged *gedp, int argc, const char *argv[])
int ged_rmater(struct ged *gedp, int argc, const char *argv[])
int ged_pset(struct ged *gedp, int argc, const char *argv[])
int ged_cpi(struct ged *gedp, int argc, const char *argv[])
int ged_mat_scale_about_pnt(struct ged *gedp, int argc, const char *argv[])
int ged_edcodes(struct ged *gedp, int argc, const char *argv[])
int ged_material(struct ged *gedp, int argc, const char *argv[])
int ged_mat4x3pnt(struct ged *gedp, int argc, const char *argv[])
int ged_nmg_collapse(struct ged *gedp, int argc, const char *argv[])
int ged_bot_move_pnt(struct ged *gedp, int argc, const char *argv[])
int ged_bot_vertex_fuse(struct ged *gedp, int argc, const char *argv[])
int ged_track(struct ged *gedp, int argc, const char *argv[])
int ged_dsp(struct ged *gedp, int argc, const char *argv[])
int ged_metaball_move_pnt(struct ged *gedp, int argc, const char *argv[])
int ged_oscale(struct ged *gedp, int argc, const char *argv[])
int ged_joint(struct ged *gedp, int argc, const char *argv[])
int ged_orotate(struct ged *gedp, int argc, const char *argv[])
int ged_put_comb(struct ged *gedp, int argc, const char *argv[])
int ged_exists(struct ged *gedp, int argc, const char *argv[])
int ged_sphgroup(struct ged *gedp, int argc, const char *argv[])
int ged_push(struct ged *gedp, int argc, const char *argv[])
int ged_mirror(struct ged *gedp, int argc, const char *argv[])
int ged_bot_smooth(struct ged *gedp, int argc, const char *argv[])
int ged_edit(struct ged *gedp, int argc, const char *argv[])
int ged_annotate(struct ged *gedp, int argc, const char *argv[])
int ged_find_bot_pnt_nearest_pnt(struct ged *gedp, int argc, const char *argv[])
int ged_find_pipe_pnt_nearest_pnt(struct ged *gedp, int argc, const char *argv[])
int ged_make_name(struct ged *gedp, int argc, const char *argv[])
int ged_rfarb(struct ged *gedp, int argc, const char *argv[])
int ged_nmg_fix_normals(struct ged *gedp, int argc, const char *argv[])
int ged_get_type(struct ged *gedp, int argc, const char *argv[])
int ged_comb_color(struct ged *gedp, int argc, const char *argv[])
int ged_bot_decimate(struct ged *gedp, int argc, const char *argv[])
int ged_unhide(struct ged *gedp, int argc, const char *argv[])
int ged_rot_point(struct ged *gedp, int argc, const char *argv[])
int ged_whatid(struct ged *gedp, int argc, const char *argv[])
int ged_cat(struct ged *gedp, int argc, const char *argv[])
int ged_mat_mul(struct ged *gedp, int argc, const char *argv[])
int ged_pipe_move_pnt(struct ged *gedp, int argc, const char *argv[])
int ged_keep(struct ged *gedp, int argc, const char *argv[])
int ged_instance(struct ged *gedp, int argc, const char *argv[])
int ged_adjust(struct ged *gedp, int argc, const char *argv[])
int ged_pscale(struct ged *gedp, int argc, const char *argv[])
int ged_inside_internal(struct ged *gedp, struct rt_db_internal *ip, int argc, const char *argv[], int arg, char *o_name)
int ged_inside(struct ged *gedp, int argc, const char *argv[])
int ged_pnts(struct ged *gedp, int argc, const char *argv[])
int ged_make_pnts(struct ged *gedp, int argc, const char *argv[])
int ged_group(struct ged *gedp, int argc, const char *argv[])
int ged_pipe_delete_pnt(struct ged *gedp, int argc, const char *argv[])
int ged_bev(struct ged *gedp, int argc, const char *argv[])
int ged_attr(struct ged *gedp, int argc, const char *argv[])
Set, get, show, remove or append to attribute values for the specified object.
int ged_bot_merge(struct ged *gedp, int argc, const char *argv[])
int ged_move(struct ged *gedp, int argc, const char *argv[])
int ged_metaball_add_pnt(struct ged *gedp, int argc, const char *argv[])
DEPRECATED 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_bot_sync(struct ged *gedp, int argc, const char *argv[])
int ged_bot_face_sort(struct ged *gedp, int argc, const char *argv[])
int ged_killall(struct ged *gedp, int argc, const char *argv[])
int ged_npush(struct ged *gedp, int argc, const char *argv[])
int ged_edcomb(struct ged *gedp, int argc, const char *argv[])
int ged_comb_std(struct ged *gedp, int argc, const char *argv[])
int ged_protate(struct ged *gedp, int argc, const char *argv[])
int ged_bot_face_fuse(struct ged *gedp, int argc, const char *argv[])
int ged_arced(struct ged *gedp, int argc, const char *argv[])
int ged_human(struct ged *gedp, int argc, const char *argv[])
int ged_pipe_prepend_pnt(struct ged *gedp, int argc, const char *argv[])
int ged_importFg4Section(struct ged *gedp, int argc, const char *argv[])
int ged_tire(struct ged *gedp, int argc, const char *argv[])
int ged_facetize(struct ged *gedp, int argc, const char *argv[])
int ged_copyeval(struct ged *gedp, int argc, const char *argv[])
int ged_dplot(struct ged *gedp, int argc, const char *argv[])
int ged_joint2(struct ged *gedp, int argc, const char *argv[])
int ged_shader(struct ged *gedp, int argc, const char *argv[])
int ged_ocenter(struct ged *gedp, int argc, const char *argv[])
int ged_fracture(struct ged *gedp, int argc, const char *argv[])
int ged_stat(struct ged *gedp, int argc, const char *argv[])
int ged_putmat(struct ged *gedp, int argc, const char *argv[])
int ged_rotate_arb_face(struct ged *gedp, int argc, const char *argv[])
int ged_heal(struct ged *gedp, int argc, const char *argv[])
int ged_mat_ae(struct ged *gedp, int argc, const char *argv[])
int ged_xpush(struct ged *gedp, int argc, const char *argv[])
int ged_make(struct ged *gedp, int argc, const char *argv[])
int ged_get(struct ged *gedp, int argc, const char *argv[])
int ged_list(struct ged *gedp, int argc, const char *argv[])
int ged_nmg_simplify(struct ged *gedp, int argc, const char *argv[])
int ged_bot_split(struct ged *gedp, int argc, const char *argv[])
int ged_killrefs(struct ged *gedp, int argc, const char *argv[])
int ged_cc(struct ged *gedp, int argc, const char *argv[])
int ged_mater(struct ged *gedp, int argc, const char *argv[])
int ged_copymat(struct ged *gedp, int argc, const char *argv[])
int ged_get_bot_edges(struct ged *gedp, int argc, const char *argv[])
int ged_prefix(struct ged *gedp, int argc, const char *argv[])
int ged_nmg(struct ged *gedp, int argc, const char *argv[])
int ged_bot_move_pnts(struct ged *gedp, int argc, const char *argv[])
int ged_edmater(struct ged *gedp, int argc, const char *argv[])
int ged_bot_edge_split(struct ged *gedp, int argc, const char *argv[])
int ged_bot_remesh(struct ged *gedp, int argc, const char *argv[])
int ged_tracker(struct ged *gedp, int argc, const char *argv[])
int ged_metaball_delete_pnt(struct ged *gedp, int argc, const char *argv[])
int ged_remove(struct ged *gedp, int argc, const char *argv[])
int ged_arb(struct ged *gedp, int argc, const char *argv[])
int ged_otranslate(struct ged *gedp, int argc, const char *argv[])
int ged_shells(struct ged *gedp, int argc, const char *argv[])
int ged_dbot_dump(struct ged *gedp, int argc, const char *argv[])
int ged_brep2(struct ged *gedp, int argc, const char *argv[])
int ged_bot_face_split(struct ged *gedp, int argc, const char *argv[])
int ged_find_arb_edge_nearest_pnt(struct ged *gedp, int argc, const char *argv[])
int ged_clone(struct ged *gedp, int argc, const char *argv[])
int ged_set_transparency(struct ged *gedp, int argc, const char *argv[])
int ged_bot_flip(struct ged *gedp, int argc, const char *argv[])
int ged_match(struct ged *gedp, int argc, const char *argv[])
int wdb_importFg4Section_cmd(void *data, int argc, const char *argv[])
int ged_edarb(struct ged *gedp, int argc, const char *argv[])
int ged_in(struct ged *gedp, int argc, const char *argv[])
int ged_move_arb_edge(struct ged *gedp, int argc, const char *argv[])
int ged_bot_fuse(struct ged *gedp, int argc, const char *argv[])
int ged_get_comb(struct ged *gedp, int argc, const char *argv[])
int ged_ev(struct ged *gedp, int argc, const char *argv[])
int ged_lc(struct ged *gedp, int argc, const char *argv[])
int ged_bot_dump(struct ged *gedp, int argc, const char *argv[])
int ged_3ptarb(struct ged *gedp, int argc, const char *argv[])
int ged_form(struct ged *gedp, int argc, const char *argv[])
int ged_exec(struct ged *gedp, int argc, const char *argv[])
fastf_t point_t[ELEMENTS_PER_POINT]
3-tuple point
Definition: vmath.h:355
Definition: vls.h:53
Definition: defines.h:489
Definition: defines.h:205
Definition: wdb.h:62