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-2023 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 */
41GED_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. */
48GED_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 */
62GED_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 */
70GED_EXPORT extern int
71ged_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 */
83GED_EXPORT extern int
84ged_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 */
95GED_EXPORT extern int
96ged_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 */
104GED_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 */
118GED_EXPORT extern int ged_attr(struct ged *gedp, int argc, const char *argv[]);
119
120/**
121 * List attributes (brief).
122 */
123GED_EXPORT extern int ged_cat(struct ged *gedp, int argc, const char *argv[]);
124
125/**
126 * Set combination color.
127 */
128GED_EXPORT extern int ged_comb_color(struct ged *gedp, int argc, const char *argv[]);
129
130/**
131 * Create or extend combination w/booleans.
132 */
133GED_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 */
138GED_EXPORT extern int ged_comb_std(struct ged *gedp, int argc, const char *argv[]);
139
140/**
141 * Set/get comb's members.
142 */
143GED_EXPORT extern int ged_combmem(struct ged *gedp, int argc, const char *argv[]);
144
145/**
146 * Copy a database object
147 */
148GED_EXPORT extern int ged_copy(struct ged *gedp, int argc, const char *argv[]);
149
150/**
151 * Copy an 'evaluated' path solid
152 */
153GED_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 */
158GED_EXPORT extern int ged_copymat(struct ged *gedp, int argc, const char *argv[]);
159
160
161/**
162 * Edit region ident codes.
163 */
164GED_EXPORT extern int ged_edcodes(struct ged *gedp, int argc, const char *argv[]);
165
166/**
167 * Edit combination.
168 */
169GED_EXPORT extern int ged_edcomb(struct ged *gedp, int argc, const char *argv[]);
170
171/**
172 * Edit objects, by using subcommands.
173 */
174GED_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 */
179GED_EXPORT extern int ged_exists(struct ged *gedp, int argc, const char *argv[]);
180
181/**
182 * returns form for objects of type "type"
183 */
184GED_EXPORT extern int ged_form(struct ged *gedp, int argc, const char *argv[]);
185
186/**
187 * Get object attributes
188 */
189GED_EXPORT extern int ged_get(struct ged *gedp, int argc, const char *argv[]);
190
191/**
192 * Get combination information
193 */
194GED_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 */
199GED_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 */
204GED_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 */
210GED_EXPORT extern int ged_hide(struct ged *gedp, int argc, const char *argv[]);
211
212/**
213 * Add instance of obj to comb
214 */
215GED_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 */
220GED_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 */
225GED_EXPORT extern int ged_lc(struct ged *gedp, int argc, const char *argv[]);
226
227/**
228 * List object information, verbose.
229 */
230GED_EXPORT extern int ged_list(struct ged *gedp, int argc, const char *argv[]);
231
232/**
233 * Make a unique object name.
234 */
235GED_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 */
240GED_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 */
245GED_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 */
250GED_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 */
255GED_EXPORT extern int ged_mat_scale_about_pnt(struct ged *gedp, int argc, const char *argv[]);
256
257/**
258 * Modify material information.
259 */
260GED_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 */
265GED_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 */
270GED_EXPORT extern int ged_match(struct ged *gedp, int argc, const char *argv[]);
271
272/**
273 * Set combination attributes
274 */
275GED_EXPORT extern int ged_put_comb(struct ged *gedp, int argc, const char *argv[]);
276
277/**
278 * Create a database object
279 */
280GED_EXPORT extern int ged_put(struct ged *gedp, int argc, const char *argv[]);
281
282/**
283 * Edit region/comb
284 */
285GED_EXPORT extern int ged_red(struct ged *gedp, int argc, const char *argv[]);
286
287/**
288 * Remove members from a combination
289 */
290GED_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 */
295GED_EXPORT extern int ged_unhide(struct ged *gedp, int argc, const char *argv[]);
296
297/**
298 * Read material properties from a file.
299 */
300GED_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 */
305GED_EXPORT extern int ged_wmater(struct ged *gedp, int argc, const char *argv[]);
306
307
308
309/* defined in inside.c */
310GED_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 */
321GED_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 */
330GED_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 */
335GED_EXPORT extern int ged_arb(struct ged *gedp, int argc, const char *argv[]);
336
337/**
338 * Creates an annotation.
339 */
340GED_EXPORT extern int ged_annotate(struct ged *gedp, int argc, const char *argv[]);
341
342/**
343 * Append a pipe point.
344 */
345GED_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 */
350GED_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 */
356GED_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 */
379GED_EXPORT extern int ged_bo(struct ged *gedp, int argc, const char *argv[]);
380
381/**
382 * Query or manipulate properties of bot
383 */
384GED_EXPORT extern int ged_bot(struct ged *gedp, int argc, const char *argv[]);
385
386/**
387 * Create new_bot by condensing old_bot
388 */
389GED_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 */
395GED_EXPORT extern int ged_bot_decimate(struct ged *gedp, int argc, const char *argv[]);
396
397/**
398 * Dump bots to the specified format.
399 */
400GED_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 */
405GED_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 */
410GED_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 */
415GED_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 */
421GED_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 */
426GED_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 */
431GED_EXPORT extern int ged_bot_flip(struct ged *gedp, int argc, const char *argv[]);
432
433/**
434 * Fuse bot
435 */
436GED_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 */
441GED_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 */
446GED_EXPORT extern int ged_bot_smooth(struct ged *gedp, int argc, const char *argv[]);
447
448/**
449 * Split the specified bot
450 */
451GED_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 */
456GED_EXPORT extern int ged_bot_sync(struct ged *gedp, int argc, const char *argv[]);
457
458/**
459 * Fuse bot vertices
460 */
461GED_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 */
473GED_EXPORT int ged_bot_remesh(struct ged *gedp, int argc, const char *argv[]);
474
475/**
476 * BREP utility command
477 */
478GED_EXPORT extern int ged_brep(struct ged *gedp, int argc, const char *argv[]);
479GED_EXPORT extern int ged_brep2(struct ged *gedp, int argc, const char *argv[]);
480
481/**
482 * Create constraint object
483 */
484GED_EXPORT extern int ged_cc(struct ged *gedp, int argc, const char *argv[]);
485
486/**
487 * Performs a deep copy of object.
488 */
489GED_EXPORT extern int ged_clone(struct ged *gedp, int argc, const char *argv[]);
490
491/**
492 * Make coil shapes.
493 */
494GED_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 */
499GED_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 */
504GED_EXPORT extern int ged_cpi(struct ged *gedp, int argc, const char *argv[]);
505
506/**
507 * Delete the specified pipe point.
508 */
509GED_EXPORT extern int ged_pipe_delete_pnt(struct ged *gedp, int argc, const char *argv[]);
510
511/**
512 * DSP utility command
513 */
514GED_EXPORT extern int ged_dsp(struct ged *gedp, int argc, const char *argv[]);
515
516/**
517 * Arb specific edits.
518 */
519GED_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 */
526GED_EXPORT extern int ged_edmater(struct ged *gedp, int argc, const char *argv[]);
527
528/**
529 * Evaluate objects via NMG tessellation
530 */
531GED_EXPORT extern int ged_ev(struct ged *gedp, int argc, const char *argv[]);
532
533/**
534 * Facetize the specified objects
535 */
536GED_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 */
541GED_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 */
546GED_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 */
551GED_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 */
556GED_EXPORT extern int ged_metaball_add_pnt(struct ged *gedp, int argc, const char *argv[]);
557
558/**
559 * Delete a metaball point.
560 */
561GED_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 */
566GED_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 */
571GED_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 */
576GED_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 */
582GED_EXPORT extern int ged_fracture(struct ged *gedp, int argc, const char *argv[]);
583/**
584 * Get a bot's edges
585 */
586GED_EXPORT extern int ged_get_bot_edges(struct ged *gedp, int argc, const char *argv[]);
587
588/**
589 * Get the object's type
590 */
591GED_EXPORT extern int ged_get_type(struct ged *gedp, int argc, const char *argv[]);
592
593/**
594 * Create a primitive via keyboard.
595 */
596GED_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 */
601GED_EXPORT extern int ged_importFg4Section(struct ged *gedp, int argc, const char *argv[]);
602
603/**
604 * Joint command ported to the libged library.
605 */
606GED_EXPORT extern int ged_joint(struct ged *gedp, int argc, const char *argv[]);
607
608/**
609 * New joint command.
610 */
611GED_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 */
616GED_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 */
621GED_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 */
626GED_EXPORT extern int ged_killrefs(struct ged *gedp, int argc, const char *argv[]);
627
628/**
629 * Kill all paths belonging to objects
630 */
631GED_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 */
636GED_EXPORT extern int ged_lt(struct ged *gedp, int argc, const char *argv[]);
637
638/**
639 * Make a new primitive.
640 */
641GED_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 */
651GED_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 */
656GED_EXPORT extern int ged_mirror(struct ged *gedp, int argc, const char *argv[]);
657
658/**
659 * Move an arb's edge through point
660 */
661GED_EXPORT extern int ged_move_arb_edge(struct ged *gedp, int argc, const char *argv[]);
662
663/**
664 * Move/rename a database object
665 */
666GED_EXPORT extern int ged_move(struct ged *gedp, int argc, const char *argv[]);
667
668/**
669 * Move/rename all occurrences object
670 */
671GED_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 */
676GED_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 */
681GED_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 */
686GED_EXPORT extern int ged_bot_move_pnts(struct ged *gedp, int argc, const char *argv[]);
687
688/**
689 * Move the specified pipe point.
690 */
691GED_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 */
696GED_EXPORT extern int ged_nmg(struct ged *gedp, int argc, const char *argv[]);
697
698/**
699 * Decimate NMG primitive via edge collapse
700 */
701GED_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 */
706GED_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 */
711GED_EXPORT extern int ged_nmg_simplify(struct ged *gedp, int argc, const char *argv[]);
712
713/**
714 * Set/get object center.
715 */
716GED_EXPORT extern int ged_ocenter(struct ged *gedp, int argc, const char *argv[]);
717
718/**
719 * Rotate obj about the keypoint by
720 */
721GED_EXPORT extern int ged_orotate(struct ged *gedp, int argc, const char *argv[]);
722
723/**
724 * Scale obj about the keypoint by sf.
725 */
726GED_EXPORT extern int ged_oscale(struct ged *gedp, int argc, const char *argv[]);
727
728/**
729 * Translate obj by dx dy dz.
730 */
731GED_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 */
736GED_EXPORT extern int ged_prefix(struct ged *gedp, int argc, const char *argv[]);
737
738/**
739 * Prepend a pipe point.
740 */
741GED_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 */
746GED_EXPORT extern int ged_protate(struct ged *gedp, int argc, const char *argv[]);
747
748/**
749 * Scale obj's attributes by sf.
750 */
751GED_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 */
756GED_EXPORT extern int ged_pset(struct ged *gedp, int argc, const char *argv[]);
757
758/**
759 * Translate obj's attributes by tvec.
760 */
761GED_EXPORT extern int ged_ptranslate(struct ged *gedp, int argc, const char *argv[]);
762
763/**
764 *Pull objects' path transformations from primitives
765 */
766GED_EXPORT extern int ged_pull(struct ged *gedp, int argc, const char *argv[]);
767
768/**
769 * Push objects' path transformations to primitives
770 */
771GED_EXPORT extern int ged_push(struct ged *gedp, int argc, const char *argv[]);
772
773/**
774 * Replace the matrix on an arc
775 */
776GED_EXPORT extern int ged_putmat(struct ged *gedp, int argc, const char *argv[]);
777
778/**
779 * Create or append objects to a region
780 */
781GED_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 */
786GED_EXPORT extern int ged_rfarb(struct ged *gedp, int argc, const char *argv[]);
787
788/**
789 * Rotate an arb's face through point
790 */
791GED_EXPORT extern int ged_rotate_arb_face(struct ged *gedp, int argc, const char *argv[]);
792
793/**
794 * Rotate the point.
795 */
796GED_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 */
803GED_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 */
808GED_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 */
813GED_EXPORT extern int ged_sphgroup(struct ged *gedp, int argc, const char *argv[]);
814
815/**
816 * Return the specified region's id.
817 */
818GED_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 */
823GED_EXPORT extern int ged_xpush(struct ged *gedp, int argc, const char *argv[]);
824GED_EXPORT extern int ged_npush(struct ged *gedp, int argc, const char *argv[]);
825
826/**
827 * Voxelize the specified objects
828 */
829GED_EXPORT extern int ged_voxelize(struct ged *gedp, int argc, const char *argv[]);
830
831/**
832 * Decompose nmg_solid into maximally connected shells
833 */
834GED_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 */
840GED_EXPORT extern int ged_form(struct ged *gedp, int argc, const char *argv[]);
841
842/**
843 * Create a human
844 */
845GED_EXPORT extern int ged_human(struct ged *gedp, int argc, const char *argv[]);
846
847/**
848 * Simpler, command-line version of 'mater' command.
849 */
850GED_EXPORT extern int ged_shader(struct ged *gedp, int argc, const char *argv[]);
851
852/**
853 * Create a tire
854 */
855GED_EXPORT extern int ged_tire(struct ged *gedp, int argc, const char *argv[]);
856
857/**
858 * Create a track
859 */
860GED_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 */
868GED_EXPORT extern int ged_tracker(struct ged *gedp, int argc, const char *argv[]);
869
870/* defined in track.c */
871GED_EXPORT extern int ged_track2(struct bu_vls *log_str, struct rt_wdb *wdbp, const char *argv[]);
872
873/* defined in wdb_importFg4Section.c */
874GED_EXPORT int wdb_importFg4Section_cmd(void *data, int argc, const char *argv[]);
875
876/**
877 * manipulate point set geometry
878 */
879GED_EXPORT int ged_pnts(struct ged *gedp, int argc, const char *argv[]);
880
881/**
882 * Report object information.
883 */
884GED_EXPORT extern int ged_stat(struct ged *gedp, int argc, const char *argv[]);
885
886
887
888/* Debugging command for brep plotting */
889GED_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 */
897DEPRECATED 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/** @} */
905
906
907__END_DECLS
908
909
910#endif /* GED_COMMANDS_H */
911
912/*
913 * Local Variables:
914 * tab-width: 8
915 * mode: C
916 * indent-tabs-mode: t
917 * c-file-style: "stroustrup"
918 * End:
919 * ex: shiftwidth=4 tabstop=8
920 */
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:400
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[])
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:351
Definition: vls.h:53
Definition: defines.h:195
Definition: wdb.h:62