83#define RTFUNCTAB_FUNC_PREP_CAST(_func) ((int (*)(struct soltab *, struct rt_db_internal *, struct rt_i *))((void (*)(void))_func))
89#define RTFUNCTAB_FUNC_SHOT_CAST(_func) ((int (*)(struct soltab *, struct xray *, struct application *, struct seg *))((void (*)(void))_func))
92#define RTFUNCTAB_FUNC_PRINT_CAST(_func) ((void (*)(const struct soltab *))((void (*)(void))_func))
97#define RTFUNCTAB_FUNC_NORM_CAST(_func) ((void (*)(struct hit *, struct soltab *, struct xray *))((void (*)(void))_func))
104 struct seg *seghead);
105#define RTFUNCTAB_FUNC_PIECE_SHOT_CAST(_func) ((int (*)(struct rt_piecestate *, struct rt_piecelist *, double dist, struct xray *, struct application *, struct seg *))((void (*)(void))_func))
110#define RTFUNCTAB_FUNC_PIECE_HITSEGS_CAST(_func) ((void (*)(struct rt_piecestate *, struct seg *, struct application *))((void (*)(void))_func))
116#define RTFUNCTAB_FUNC_UV_CAST(_func) ((void (*)(struct application *, struct soltab *, struct hit *, struct uvcoord *))((void (*)(void))_func))
121#define RTFUNCTAB_FUNC_CURVE_CAST(_func) ((void (*)(struct curvature *, struct hit *, struct soltab *))((void (*)(void))_func))
124#define RTFUNCTAB_FUNC_CLASS_CAST(_func) ((int (*)(const struct soltab *, const vect_t, const vect_t, const struct bn_tol *))((void (*)(void))_func))
127#define RTFUNCTAB_FUNC_FREE_CAST(_func) ((void (*)(struct soltab *))((void (*)(void))_func))
133 const struct bview * );
134#define RTFUNCTAB_FUNC_PLOT_CAST(_func) ((int (*)(struct bu_list *, struct rt_db_internal *, const struct bg_tess_tol *, const struct bn_tol *, const struct bview *))((void (*)(void))_func))
139 const struct bview * ,
141#define RTFUNCTAB_FUNC_ADAPTIVE_PLOT_CAST(_func) ((int (*)(struct bu_list *, struct rt_db_internal *, const struct bn_tol *, const struct bview *, fastf_t))((void (*)(void))_func))
148#define RTFUNCTAB_FUNC_VSHOT_CAST(_func) ((void (*)(struct soltab *[], struct xray *[], struct seg *, int, struct application *))((void (*)(void))_func))
155#define RTFUNCTAB_FUNC_TESS_CAST(_func) ((int (*)(struct nmgregion **, struct model *, struct rt_db_internal *, const struct bg_tess_tol *, const struct bn_tol *))((void (*)(void))_func))
160#define RTFUNCTAB_FUNC_TNURB_CAST(_func) ((int (*)(struct nmgregion **, struct model *, struct rt_db_internal *, const struct bn_tol *))((void (*)(void))_func))
165#define RTFUNCTAB_FUNC_BREP_CAST(_func) ((void (*)(ON_Brep **, struct rt_db_internal *, const struct bn_tol *))((void (*)(void))_func))
170 const struct db_i * ,
172#define RTFUNCTAB_FUNC_IMPORT5_CAST(_func) ((int (*)(struct rt_db_internal *, const struct bu_external *, const mat_t, const struct db_i *, struct resource *))((void (*)(void))_func))
177 const struct db_i * ,
179#define RTFUNCTAB_FUNC_EXPORT5_CAST(_func) ((int (*)(struct bu_external *, const struct rt_db_internal *, double, const struct db_i *, struct resource *))((void (*)(void))_func))
184 const struct db_i * ,
186#define RTFUNCTAB_FUNC_IMPORT4_CAST(_func) ((int (*)(struct rt_db_internal *, const struct bu_external *, const mat_t, const struct db_i *, struct resource *))((void (*)(void))_func))
191 const struct db_i * ,
193#define RTFUNCTAB_FUNC_EXPORT4_CAST(_func) ((int (*)(struct bu_external *, const struct rt_db_internal *, double, const struct db_i *, struct resource *))((void (*)(void))_func))
196#define RTFUNCTAB_FUNC_IFREE_CAST(_func) ((void (*)(struct rt_db_internal *))((void (*)(void))_func))
202#define RTFUNCTAB_FUNC_DESCRIBE_CAST(_func) ((int (*)(struct bu_vls *, const struct rt_db_internal *, int, double))((void (*)(void))_func))
206 int ,
struct db_i * );
207#define RTFUNCTAB_FUNC_XFORM_CAST(_func) ((int (*)(struct rt_db_internal *, const mat_t, struct rt_db_internal *, int, struct db_i *))((void (*)(void))_func))
214#define RTFUNCTAB_FUNC_GET_CAST(_func) ((int (*)(struct bu_vls *, const struct rt_db_internal *, const char *))((void (*)(void))_func))
217#define RTFUNCTAB_FUNC_ADJUST_CAST(_func) ((int (*)(struct bu_vls *, struct rt_db_internal *, int, const char **))((void (*)(void))_func))
220#define RTFUNCTAB_FUNC_FORM_CAST(_func) ((int (*)(struct bu_vls *, const struct rt_functab *))((void (*)(void))_func))
223#define RTFUNCTAB_FUNC_MAKE_CAST(_func) ((void (*)(const struct rt_functab *, struct rt_db_internal *))((void (*)(void))_func))
226#define RTFUNCTAB_FUNC_PARAMS_CAST(_func) ((int (*)(struct pc_pc_set *, const struct rt_db_internal *))((void (*)(void))_func))
233#define RTFUNCTAB_FUNC_BBOX_CAST(_func) ((int (*)(struct rt_db_internal *, point_t *, point_t *, const struct bn_tol *))((void (*)(void))_func))
236#define RTFUNCTAB_FUNC_VOLUME_CAST(_func) ((void (*)(fastf_t *, const struct rt_db_internal *))((void (*)(void))_func))
239#define RTFUNCTAB_FUNC_SURF_AREA_CAST(_func) ((void (*)(fastf_t *, const struct rt_db_internal *))((void (*)(void))_func))
242#define RTFUNCTAB_FUNC_CENTROID_CAST(_func) ((void (*)(point_t *, const struct rt_db_internal *))((void (*)(void))_func))
247#define RTFUNCTAB_FUNC_ORIENTED_BBOX_CAST(_func) ((int (*)(struct rt_arb_internal *, struct rt_db_internal *, const fastf_t))((void (*)(void))_func))
252#define RTFUNCTAB_FUNC_FIND_SELECTIONS_CAST(_func) ((struct rt_selection_set *(*)(const struct rt_db_internal *, const struct rt_selection_query *))((void (*)(void))_func))
262#define RTFUNCTAB_FUNC_EVALUATE_SELECTION_CAST(_func) ((struct rt_selection *(*)(const struct rt_db_internal *, int op, const struct rt_selection *, const struct rt_selection *))((void (*)(void))_func))
269#define RTFUNCTAB_FUNC_PROCESS_SELECTION_CAST(_func) ((int (*)(struct rt_db_internal *, struct db_i *, const struct rt_selection *, const struct rt_selection_operation *))((void (*)(void))_func))
273#define RTFUNCTAB_FUNC_PREP_SERIALIZE_CAST(_func) ((int (*)(struct soltab *, const struct rt_db_internal *, struct bu_external *, size_t *))((void (*)(void))_func))
277#define RTFUNCTAB_FUNC_LABELS_CAST(_func) ((int (*)(struct rt_point_labels *, int, const mat_t, const struct rt_db_internal *, const struct bn_tol *))((void (*)(void))_func))
291#define RTFUNCTAB_FUNC_KEYPOINT_CAST(_func) ((const char *(*)(point_t *, const char *, const mat_t, const struct rt_db_internal *, const struct bn_tol *))((void (*)(void))_func))
295#define RTFUNCTAB_FUNC_MAT_CAST(_func) ((int (*)(struct rt_db_internal *, const mat_t, const struct rt_db_internal *))((void (*)(void))_func))
301#define RTFUNCTAB_FUNC_PERTURB_CAST(_func) ((int (*)(struct rt_db_internal **, const struct rt_db_internal *, int, fastf_t))((void (*)(void))_func))
326 const struct bview * );
327#define RTFUNCTAB_FUNC_SCENE_OBJ_CAST(_func) ((int (*)(struct bv_scene_obj *, struct directory *, struct db_i *, const struct bg_tess_tol *, const struct bn_tol *, const struct bview *))((void (*)(void))_func))
337#define RT_CK_FUNCTAB(_p) BU_CKMAG(_p, RT_FUNCTAB_MAGIC, "functab");
359#define EDFUNCTAB_FUNC_LABELS_CAST(_func) ((void (*)(int *, point_t *, struct rt_point_labels *, int, const mat_t, struct rt_edit *, struct bn_tol *))((void (*)(void))_func))
365 const struct bn_tol *tol);
366#define EDFUNCTAB_FUNC_KEYPOINT_CAST(_func) ((const char *(*)(point_t *, const char *, const mat_t, struct rt_edit *, const struct bn_tol *))((void (*)(void))_func))
371 const struct bn_tol *tol);
372#define EDFUNCTAB_FUNC_E_AXES_POS_CAST(_func) ((void(*)(struct rt_edit *s, const struct rt_db_internal *, const struct bn_tol *))((void (*)(void))_func))
385#define EDFUNCTAB_FUNC_WRITE_PARAMS_CAST(_func) ((void(*)(struct bu_vls *, const struct rt_db_internal *, const struct bn_tol *, fastf_t))((void (*)(void))_func))
393#define EDFUNCTAB_FUNC_READ_PARAMS_CAST(_func) ((int(*)(struct rt_db_internal *, const char *, const struct bn_tol *, fastf_t))((void (*)(void))_func))
396#define EDFUNCTAB_FUNC_EDIT_CAST(_func) ((int(*)(struct rt_edit *))((void (*)(void))_func))
405#define EDFUNCTAB_FUNC_EDITXY_CAST(_func) ((int(*)(struct rt_edit *, const vect_t))((void (*)(void))_func))
408 void *(*ft_prim_edit_create)(
struct rt_edit *s);
409#define EDFUNCTAB_FUNC_PRIMEDIT_CREATE_CAST(_func) ((void *(*)(struct rt_edit *))((void (*)(void))_func))
413#define EDFUNCTAB_FUNC_PRIMEDIT_DESTROY_CAST(_func) ((void(*)(void *))((void (*)(void))_func))
417#define EDFUNCTAB_FUNC_PRIMEDIT_RESET_CAST(_func) ((void(*)(struct rt_edit *))((void (*)(void))_func))
420#define EDFUNCTAB_FUNC_MENU_STR_CAST(_func) ((int(*)(struct bu_vls *, const struct rt_db_internal *, const struct bn_tol *))((void (*)(void))_func))
425#define EDFUNCTAB_FUNC_SET_EDIT_MODE_CAST(_func) ((void(*)(struct rt_edit *, int))((void (*)(void))_func))
428#define EDFUNCTAB_FUNC_MENU_ITEM_CAST(_func) ((struct rt_edit_menu_item *(*)(const struct bn_tol *))((void (*)(void))_func))
Header file for the BRL-CAD common definitions.
const struct rt_edit_functab EDOBJ[]
const struct rt_functab * rt_get_functab_by_label(const char *label)
const struct rt_functab OBJ[]
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 point_t[ELEMENTS_PER_POINT]
3-tuple point
Information about where a ray hits the surface.
void(* ft_set_edit_mode)(struct rt_edit *s, int mode)
void(* ft_labels)(int *num_lines, point_t *lines, struct rt_point_labels *pl, int max_pl, const mat_t xform, struct rt_edit *s, struct bn_tol *tol)
int(* ft_menu_str)(struct bu_vls *m, const struct rt_db_internal *ip, const struct bn_tol *tol)
int(* ft_edit_xy)(struct rt_edit *s, const vect_t mousevec)
void(* ft_prim_edit_reset)(struct rt_edit *s)
int(* ft_read_params)(struct rt_db_internal *ip, const char *fc, const struct bn_tol *tol, fastf_t local2base)
void(* ft_e_axes_pos)(struct rt_edit *s, const struct rt_db_internal *ip, const struct bn_tol *tol)
void(* ft_prim_edit_destroy)(void *)
void(* ft_write_params)(struct bu_vls *p, const struct rt_db_internal *ip, const struct bn_tol *tol, fastf_t base2local)
int(* ft_edit)(struct rt_edit *s)
uint32_t ft_internal_magic
RT_XXX_INTERNAL_MAGIC.
void(* ft_make)(const struct rt_functab *, struct rt_db_internal *)
size_t ft_internal_size
sizeof(struct rt_xxx_internal)
int(* ft_get)(struct bu_vls *, const struct rt_db_internal *, const char *item)
int(* ft_plot)(struct bu_list *, struct rt_db_internal *, const struct bg_tess_tol *, const struct bn_tol *, const struct bview *)
int(* ft_mat)(struct rt_db_internal *, const mat_t, const struct rt_db_internal *)
void(* ft_surf_area)(fastf_t *, const struct rt_db_internal *)
int(* ft_import5)(struct rt_db_internal *, const struct bu_external *, const mat_t, const struct db_i *, struct resource *)
int(* ft_xform)(struct rt_db_internal *, const mat_t, struct rt_db_internal *, int, struct db_i *)
int(* ft_params)(struct pc_pc_set *, const struct rt_db_internal *)
int(* ft_export5)(struct bu_external *, const struct rt_db_internal *, double, const struct db_i *, struct resource *)
int(* ft_export4)(struct bu_external *, const struct rt_db_internal *, double, const struct db_i *, struct resource *)
const struct bu_structparse * ft_parsetab
rt_xxx_parse
int(* ft_shot)(struct soltab *stp, struct xray *rp, struct application *ap, struct seg *seghead)
int(* ft_oriented_bbox)(struct rt_arb_internal *, struct rt_db_internal *, const fastf_t)
void(* ft_curve)(struct curvature *cvp, struct hit *hitp, struct soltab *stp)
void(* ft_brep)(ON_Brep **, struct rt_db_internal *, const struct bn_tol *)
int(* ft_prep)(struct soltab *stp, struct rt_db_internal *ip, struct rt_i *rtip)
int(* ft_form)(struct bu_vls *, const struct rt_functab *)
void(* ft_piece_hitsegs)(struct rt_piecestate *psp, struct seg *seghead, struct application *ap)
int(* ft_bbox)(struct rt_db_internal *, point_t *, point_t *, const struct bn_tol *)
int(* ft_adaptive_plot)(struct bu_list *, struct rt_db_internal *, const struct bn_tol *, const struct bview *, fastf_t)
void(* ft_centroid)(point_t *, const struct rt_db_internal *)
void(* ft_norm)(struct hit *hitp, struct soltab *stp, struct xray *rp)
void(* ft_free)(struct soltab *)
int(* ft_scene_obj)(struct bv_scene_obj *, struct directory *, struct db_i *, const struct bg_tess_tol *, const struct bn_tol *, const struct bview *)
void(* ft_volume)(fastf_t *, const struct rt_db_internal *)
int(* ft_classify)(const struct soltab *, const vect_t, const vect_t, const struct bn_tol *)
int(* ft_process_selection)(struct rt_db_internal *, struct db_i *, const struct rt_selection *, const struct rt_selection_operation *)
int(* ft_import4)(struct rt_db_internal *, const struct bu_external *, const mat_t, const struct db_i *, struct resource *)
void(* ft_vshot)(struct soltab *[], struct xray *[], struct seg *, int, struct application *)
int(* ft_tessellate)(struct nmgregion **, struct model *, struct rt_db_internal *, const struct bg_tess_tol *, const struct bn_tol *)
void(* ft_ifree)(struct rt_db_internal *)
int(* ft_piece_shot)(struct rt_piecestate *psp, struct rt_piecelist *plp, double dist, struct xray *ray, struct application *ap, struct seg *seghead)
int(* ft_describe)(struct bu_vls *, const struct rt_db_internal *, int, double)
int(* ft_labels)(struct rt_point_labels *pl, int pl_max, const mat_t xform, const struct rt_db_internal *ip, const struct bn_tol *tol)
int(* ft_adjust)(struct bu_vls *, struct rt_db_internal *, int, const char **)
void(* ft_print)(const struct soltab *stp)
int(* ft_tnurb)(struct nmgregion **, struct model *, struct rt_db_internal *, const struct bn_tol *)
int(* ft_perturb)(struct rt_db_internal **oip, const struct rt_db_internal *ip, int planar_only, fastf_t factor)
int(* ft_prep_serialize)(struct soltab *stp, const struct rt_db_internal *ip, struct bu_external *external, size_t *version)
void(* ft_uv)(struct application *ap, struct soltab *stp, struct hit *hitp, struct uvcoord *uvp)
Primary ray data structure.
fundamental vector, matrix, quaternion math macros