87#define RT_EDIT_DEFAULT -1
99#define RT_EDIT_MAXPARA 20
103#define RT_EDIT_MAXSTR 5
104#define RT_EDIT_MAXSTR_LEN 512
114#define RT_PARAMS_EDIT_TRANS 1
115#define RT_PARAMS_EDIT_SCALE 2
116#define RT_PARAMS_EDIT_ROT 3
127#define RT_PARAMS_EDIT_PICK 5
141#define RT_MATRIX_EDIT_ROT 6
153#define RT_MATRIX_EDIT_TRANS_VIEW_XY 7
154#define RT_MATRIX_EDIT_TRANS_VIEW_X 8
155#define RT_MATRIX_EDIT_TRANS_VIEW_Y 9
163#define RT_MATRIX_EDIT_TRANS_MODEL_XYZ 14
178#define RT_MATRIX_EDIT_SCALE 10
179#define RT_MATRIX_EDIT_SCALE_X 11
180#define RT_MATRIX_EDIT_SCALE_Y 12
181#define RT_MATRIX_EDIT_SCALE_Z 13
437#define ECMD_CLEAR_CLBKS 0
438#define ECMD_PRINT_STR 10
439#define ECMD_PRINT_RESULTS 20
440#define ECMD_EAXES_POS 30
441#define ECMD_REPLOT_EDITING_SOLID 40
442#define ECMD_VIEW_UPDATE 50
443#define ECMD_VIEW_SET_FLAG 60
444#define ECMD_MENU_SET 70
445#define ECMD_MENU_REFRESH 71
446#define ECMD_GET_FILENAME 80
560#define RT_EDIT_PARAM_SCALAR 1
561#define RT_EDIT_PARAM_INTEGER 2
562#define RT_EDIT_PARAM_BOOLEAN 3
563#define RT_EDIT_PARAM_POINT 4
564#define RT_EDIT_PARAM_VECTOR 5
565#define RT_EDIT_PARAM_STRING 6
566#define RT_EDIT_PARAM_ENUM 7
567#define RT_EDIT_PARAM_COLOR 8
569#define RT_EDIT_PARAM_MATRIX 9
572#define RT_EDIT_PARAM_NO_LIMIT (-DBL_MAX)
Header file for the BRL-CAD common definitions.
int(* bu_clbk_t)(int, const char **, void *, void *)
fastf_t vect_t[ELEMENTS_PER_VECT]
3-tuple vector
double fastf_t
fastest 64-bit (or larger) floating point type
fastf_t mat_t[ELEMENTS_PER_MAT]
4x4 matrix
fastf_t point2d_t[ELEMENTS_PER_POINT2D]
2-tuple point
fastf_t point_t[ELEMENTS_PER_POINT]
3-tuple point
struct rt_edit_map * rt_edit_map_create(void)
void rt_constraint_edit_violation_init(struct rt_constraint_edit_violation *v)
void rt_edit_destroy(struct rt_edit *s)
void rt_constraint_edit_violation_free(struct rt_constraint_edit_violation *v)
int rt_edit_map_clear(struct rt_edit_map *m)
void rt_edit_set_edflag(struct rt_edit *s, int edflag)
int rt_edit_type_to_json(struct bu_vls *out, int prim_type_id)
int(* rt_constraint_edit_validate_t)(struct bu_ptbl *violations, const struct rt_db_internal *ip, const struct rt_constraint_edit_ctx *ctx)
struct rt_edit * rt_edit_create(struct db_full_path *dfp, struct db_i *dbip, struct bn_tol *, struct bview *v)
void rt_edit_snap_point(point2d_t pt, const struct rt_edit *s)
rt_constraint_edit_policy
@ RT_CONSTRAINT_EDIT_SNAP_IF_WITHIN_TOL
@ RT_CONSTRAINT_EDIT_REJECT
@ RT_CONSTRAINT_EDIT_WARN_ONLY
@ RT_CONSTRAINT_EDIT_SNAP
void rt_constraint_edit_result_free(struct rt_constraint_edit_result *r)
void rt_edit_reset(struct rt_edit *s)
void rt_knob_edit_tran(struct rt_edit *s, char coords, int matrix_edit, const vect_t tvec)
void rt_edit_process(struct rt_edit *s)
int rt_edit_revert(struct rt_edit *s)
int rt_edit_map_clbk_set(struct rt_edit_map *em, int ed_cmd, int mode, bu_clbk_t f, void *d)
int rt_edit_map_copy(struct rt_edit_map *om, struct rt_edit_map *im)
int rt_edit_reinit(struct rt_edit *s, struct db_full_path *dfp, struct db_i *dbip, struct bn_tol *tol, struct bview *v)
int rt_edit_knob_cmd_process(struct rt_edit *s, vect_t *rvec, int *do_rot, vect_t *tvec, int *do_tran, int *do_sca, struct bview *v, const char *cmd, fastf_t f, char origin, int incr_flag, void *u_data)
int(* rt_constraint_edit_project_apply_t)(struct rt_constraint_edit_result *out, struct rt_db_internal *ip, const struct rt_constraint_edit_op *op, const struct rt_constraint_edit_ctx *ctx)
void rt_knob_edit_sca(struct rt_edit *s, int matrix_edit)
int rt_edit_map_clbk_get(bu_clbk_t *f, void **d, struct rt_edit_map *em, int ed_cmd, int mode)
void rt_constraint_edit_result_clear(struct rt_constraint_edit_result *r)
void rt_knob_edit_rot(struct rt_edit *s, char coords, char rotate_about, int matrix_edit, mat_t newrot)
int rt_edit_checkpoint(struct rt_edit *s)
void rt_edit_map_destroy(struct rt_edit_map *)
void rt_constraint_edit_result_init(struct rt_constraint_edit_result *r)
void rt_get_solid_keypoint(struct rt_edit *s, point_t *pt, const char **strp, fastf_t *mat)
int rt_edit_set_opt(struct rt_edit *s, const char *key, const char *val)
void rt_edit_set_str(struct rt_edit *s, int index, const char *str)
const char * rt_edit_get_opt(struct rt_edit *s, const char *key)
rt_constraint_edit_op_kind
@ RT_CONSTRAINT_EDIT_OP_DELETE_POINT
@ RT_CONSTRAINT_EDIT_OP_INSERT_POINT
@ RT_CONSTRAINT_EDIT_OP_ADD_POINT
@ RT_CONSTRAINT_EDIT_OP_SCALE_BEND
@ RT_CONSTRAINT_EDIT_OP_SET_BEND
@ RT_CONSTRAINT_EDIT_OP_SCALE_ID
@ RT_CONSTRAINT_EDIT_OP_SET_OD
@ RT_CONSTRAINT_EDIT_OP_SCALE_OD
@ RT_CONSTRAINT_EDIT_OP_MOVE_POINT
@ RT_CONSTRAINT_EDIT_OP_SET_ID
int rt_edit_prim_desc_to_json(struct bu_vls *out, const struct rt_edit_prim_desc *desc)
#define RT_EDIT_MAXSTR_LEN
fastf_t(* rt_constraint_edit_score_delta_t)(const struct rt_db_internal *before_ip, const struct rt_db_internal *after_ip, const struct rt_constraint_edit_metric *metric)
rt_constraint_edit_severity
@ RT_CONSTRAINT_EDIT_WARN
@ RT_CONSTRAINT_EDIT_ERROR
@ RT_CONSTRAINT_EDIT_INFO
int diagnostics_verbosity
struct rt_constraint_edit_metric metric
enum rt_constraint_edit_policy policy
struct rt_constraint_edit_tolerances tol
enum rt_constraint_edit_op_kind kind
int violation_count_before
struct bu_ptbl violations
int violation_count_after
struct bu_ptbl changed_params
enum rt_constraint_edit_severity severity
struct rt_constraint_edit_param_ref a
struct rt_constraint_edit_param_ref b
const struct rt_edit_param_desc * params
const char *const * enum_labels
const struct rt_edit_opt_desc * opts
const struct rt_edit_cmd_desc * cmds
struct bu_external es_ckpt
const struct bn_tol * tol
fastf_t e_para[RT_EDIT_MAXPARA]
struct db_i * dbip
database instance (for checkpoint/revert)
struct rt_db_internal es_int
char e_str[RT_EDIT_MAXSTR][RT_EDIT_MAXSTR_LEN]
struct bu_ptbl comb_insts
struct bu_attribute_value_set options
fundamental vector, matrix, quaternion math macros