BRL-CAD
rt_functab Struct Reference

#include <raytrace.h>

Collaboration diagram for rt_functab:
[legend]

Data Fields

uint32_t magic
 
char ft_name [17]
 
char ft_label [9]
 
int ft_use_rpp
 
int(* ft_prep )(struct soltab *stp, struct rt_db_internal *ip, struct rt_i *rtip)
 
int(* ft_shot )(struct soltab *stp, struct xray *rp, struct application *ap, struct seg *seghead)
 
void(* ft_print )(const struct soltab *stp)
 
void(* ft_norm )(struct hit *hitp, struct soltab *stp, struct xray *rp)
 
int(* ft_piece_shot )(struct rt_piecestate *psp, struct rt_piecelist *plp, double dist, struct xray *ray, struct application *ap, struct seg *seghead)
 
void(* ft_piece_hitsegs )(struct rt_piecestate *psp, struct seg *seghead, struct application *ap)
 
void(* ft_uv )(struct application *ap, struct soltab *stp, struct hit *hitp, struct uvcoord *uvp)
 
void(* ft_curve )(struct curvature *cvp, struct hit *hitp, struct soltab *stp)
 
int(* ft_classify )(const struct soltab *, const vect_t, const vect_t, const struct bn_tol *)
 
void(* ft_free )(struct soltab *)
 
int(* ft_plot )(struct bu_list *, struct rt_db_internal *, const struct rt_tess_tol *, const struct bn_tol *, const struct rt_view_info *)
 
int(* ft_adaptive_plot )(struct rt_db_internal *, const struct rt_view_info *)
 
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 rt_tess_tol *, const struct bn_tol *)
 
int(* ft_tnurb )(struct nmgregion **, struct model *, struct rt_db_internal *, const struct bn_tol *)
 
void(* ft_brep )(ON_Brep **, struct rt_db_internal *, const struct bn_tol *)
 
int(* ft_import5 )(struct rt_db_internal *, const struct bu_external *, const mat_t, const struct db_i *, struct resource *)
 
int(* ft_export5 )(struct bu_external *, const struct rt_db_internal *, double, const struct db_i *, struct resource *)
 
int(* ft_import4 )(struct rt_db_internal *, const struct bu_external *, const mat_t, const struct db_i *, struct resource *)
 
int(* ft_export4 )(struct bu_external *, const struct rt_db_internal *, double, const struct db_i *, struct resource *)
 
void(* ft_ifree )(struct rt_db_internal *)
 
int(* ft_describe )(struct bu_vls *, const struct rt_db_internal *, int, double, struct resource *, struct db_i *)
 
int(* ft_xform )(struct rt_db_internal *, const mat_t, struct rt_db_internal *, int, struct db_i *, struct resource *)
 
const struct bu_structparseft_parsetab
 rt_xxx_parse More...
 
size_t ft_internal_size
 sizeof(struct rt_xxx_internal) More...
 
uint32_t ft_internal_magic
 RT_XXX_INTERNAL_MAGIC. More...
 
int(* ft_get )(struct bu_vls *, const struct rt_db_internal *, const char *item)
 
int(* ft_adjust )(struct bu_vls *, struct rt_db_internal *, int, const char **)
 
int(* ft_form )(struct bu_vls *, const struct rt_functab *)
 
void(* ft_make )(const struct rt_functab *, struct rt_db_internal *)
 
int(* ft_params )(struct pc_pc_set *, const struct rt_db_internal *)
 
int(* ft_bbox )(struct rt_db_internal *, point_t *, point_t *, const struct bn_tol *)
 
void(* ft_volume )(fastf_t *, const struct rt_db_internal *)
 
void(* ft_surf_area )(fastf_t *, const struct rt_db_internal *)
 
void(* ft_centroid )(point_t *, const struct rt_db_internal *)
 
int(* ft_oriented_bbox )(struct rt_arb_internal *, struct rt_db_internal *, const fastf_t)
 
struct rt_selection_set *(* ft_find_selections )(const struct rt_db_internal *, const struct rt_selection_query *)
 
struct rt_selection *(* ft_evaluate_selection )(const struct rt_db_internal *, int op, const struct rt_selection *, const struct rt_selection *)
 
int(* ft_process_selection )(struct rt_db_internal *, struct db_i *, const struct rt_selection *, const struct rt_selection_operation *)
 

Detailed Description

Object-oriented interface to BRL-CAD geometry.

These are the methods for a notional object class "brlcad_solid". The data for each instance is found separately in struct soltab. This table is indexed by ID_xxx value of particular solid found in st_id, or directly pointed at by st_meth.

This needs to be at the end of the raytrace.h header file, so that all the structure names are known. The "union record" and "struct nmgregion" pointers are problematic, so generic pointers are used when those header files have not yet been seen.

DEPRECATED: the size of this structure will likely change with new size for ft_label and new object callbacks.

Definition at line 2041 of file raytrace.h.

Field Documentation

uint32_t magic

Definition at line 2042 of file raytrace.h.

Referenced by ged_arb(), and rt_get_functab_by_label().

int ft_use_rpp

Definition at line 2046 of file raytrace.h.

Referenced by rt_shootray(), and rt_shootray_bundle().

int(* ft_prep) (struct soltab *stp, struct rt_db_internal *ip, struct rt_i *rtip)
int(* ft_shot) (struct soltab *stp, struct xray *rp, struct application *ap,struct seg *seghead)
void(* ft_print) (const struct soltab *stp)

Definition at line 2058 of file raytrace.h.

Referenced by rt_obj_print(), and rt_pr_soltab().

void(* ft_norm) (struct hit *hitp, struct soltab *stp, struct xray *rp)

Definition at line 2061 of file raytrace.h.

Referenced by rt_obj_norm(), and rt_submodel_a_hit().

int(* ft_piece_shot) (struct rt_piecestate *psp, struct rt_piecelist *plp, double dist,struct xray *ray,struct application *ap,struct seg *seghead)

Definition at line 2066 of file raytrace.h.

Referenced by rt_shootray().

void(* ft_piece_hitsegs) (struct rt_piecestate *psp, struct seg *seghead, struct application *ap)

Definition at line 2074 of file raytrace.h.

Referenced by rt_shootray().

void(* ft_uv) (struct application *ap,struct soltab *stp, struct hit *hitp, struct uvcoord *uvp)

Definition at line 2079 of file raytrace.h.

Referenced by rt_obj_uv().

void(* ft_curve) (struct curvature *cvp, struct hit *hitp, struct soltab *stp)

Definition at line 2085 of file raytrace.h.

Referenced by rt_obj_curve().

int(* ft_classify) (const struct soltab *, const vect_t, const vect_t, const struct bn_tol *)

Definition at line 2090 of file raytrace.h.

Referenced by rt_ck_overlap().

void(* ft_free) (struct soltab *)

Definition at line 2093 of file raytrace.h.

Referenced by fix_halfs(), free_etree(), rt_free_soltab(), and rt_obj_free().

int(* ft_plot) (struct bu_list *, struct rt_db_internal *, const struct rt_tess_tol *, const struct bn_tol *, const struct rt_view_info *)
int(* ft_adaptive_plot) (struct rt_db_internal *, const struct rt_view_info *)

Definition at line 2103 of file raytrace.h.

void(* ft_vshot) (struct soltab *[], struct xray *[], struct seg *, int, struct application *)

Definition at line 2107 of file raytrace.h.

Referenced by rt_obj_vshot(), and rt_vshootray().

int(* ft_tessellate) (struct nmgregion **, struct model *, struct rt_db_internal *, const struct rt_tess_tol *, const struct bn_tol *)

Definition at line 2114 of file raytrace.h.

Referenced by nmg_booltree_leaf_tess(), and rt_obj_tess().

int(* ft_tnurb) (struct nmgregion **, struct model *, struct rt_db_internal *, const struct bn_tol *)

Definition at line 2120 of file raytrace.h.

Referenced by nmg_booltree_leaf_tnurb(), and rt_obj_tnurb().

void(* ft_brep) (ON_Brep **, struct rt_db_internal *, const struct bn_tol *)

Definition at line 2126 of file raytrace.h.

Referenced by single_conversion().

int(* ft_import5) (struct rt_db_internal *, const struct bu_external *, const mat_t, const struct db_i *, struct resource *)

Definition at line 2131 of file raytrace.h.

Referenced by rt_db_external5_to_internal5(), and rt_obj_import().

int(* ft_export5) (struct bu_external *, const struct rt_db_internal *, double, const struct db_i *, struct resource *)

Definition at line 2138 of file raytrace.h.

Referenced by rt_db_cvt_to_external5(), rt_mk_binunif(), and rt_obj_export().

int(* ft_import4) (struct rt_db_internal *, const struct bu_external *, const mat_t, const struct db_i *, struct resource *)

Definition at line 2145 of file raytrace.h.

Referenced by rt_db_get_internal(), and rt_obj_import().

int(* ft_export4) (struct bu_external *, const struct rt_db_internal *, double, const struct db_i *, struct resource *)
int(* ft_describe) (struct bu_vls *, const struct rt_db_internal *, int, double, struct resource *, struct db_i *)

Definition at line 2162 of file raytrace.h.

Referenced by _rt_gettree_leaf(), rt_obj_describe(), and tables_new().

int(* ft_xform) (struct rt_db_internal *, const mat_t, struct rt_db_internal *, int, struct db_i *, struct resource *)

Definition at line 2170 of file raytrace.h.

Referenced by rt_matrix_transform(), and rt_obj_xform().

const struct bu_structparse* ft_parsetab

rt_xxx_parse

Definition at line 2176 of file raytrace.h.

Referenced by rt_generic_adjust(), rt_generic_form(), and rt_generic_get().

size_t ft_internal_size

sizeof(struct rt_xxx_internal)

Definition at line 2177 of file raytrace.h.

Referenced by rt_generic_make().

uint32_t ft_internal_magic

RT_XXX_INTERNAL_MAGIC.

Definition at line 2178 of file raytrace.h.

Referenced by rt_generic_make().

int(* ft_get) (struct bu_vls *, const struct rt_db_internal *, const char *item)

Definition at line 2180 of file raytrace.h.

Referenced by ged_get(), get_diff_components(), and rt_obj_get().

int(* ft_adjust) (struct bu_vls *, struct rt_db_internal *, int, const char **)

Definition at line 2183 of file raytrace.h.

Referenced by ged_adjust(), ged_put(), and rt_obj_adjust().

int(* ft_form) (struct bu_vls *, const struct rt_functab *)

Definition at line 2186 of file raytrace.h.

Referenced by ged_form().

void(* ft_make) (const struct rt_functab *, struct rt_db_internal *)

Definition at line 2189 of file raytrace.h.

Referenced by ged_put(), and rt_obj_make().

int(* ft_params) (struct pc_pc_set *, const struct rt_db_internal *)

Definition at line 2192 of file raytrace.h.

Referenced by rt_obj_params().

int(* ft_bbox) (struct rt_db_internal *, point_t *, point_t *, const struct bn_tol *)
void(* ft_volume) (fastf_t *, const struct rt_db_internal *)

Definition at line 2202 of file raytrace.h.

Referenced by analyze_arb8(), analyze_general(), and ged_bb().

void(* ft_surf_area) (fastf_t *, const struct rt_db_internal *)

Definition at line 2205 of file raytrace.h.

Referenced by analyze_general(), and analyze_sketch().

void(* ft_centroid) (point_t *, const struct rt_db_internal *)

Definition at line 2208 of file raytrace.h.

Referenced by analyze_general(), and analyze_sketch().

int(* ft_oriented_bbox) (struct rt_arb_internal *, struct rt_db_internal *, const fastf_t)

Definition at line 2211 of file raytrace.h.

Referenced by ged_bb().

struct rt_selection_set*(* ft_find_selections) (const struct rt_db_internal *, const struct rt_selection_query *)

get a list of the selections matching a query

Definition at line 2217 of file raytrace.h.

Referenced by joint_selection().

struct rt_selection*(* ft_evaluate_selection) (const struct rt_db_internal *, int op, const struct rt_selection *, const struct rt_selection *)

evaluate a logical selection expression (e.g. a INTERSECT b, NOT a) to create a new selection

Definition at line 2224 of file raytrace.h.

int(* ft_process_selection) (struct rt_db_internal *, struct db_i *, const struct rt_selection *, const struct rt_selection_operation *)

apply an operation to a selected subset of a primitive

Definition at line 2231 of file raytrace.h.

Referenced by joint_selection().


The documentation for this struct was generated from the following file: