Collaboration diagram for Primitives:
![]() |
Files | |
file | rtgeom.h |
Details of the internal forms used by the LIBRT geometry routines for the different solids. | |
file | bot.h |
file | g_arb.c |
file | g_arbn.c |
file | g_ars.c |
file | g_bot.c |
file | g_bot_include.c |
file | g_cline.c |
file | g_dsp.c |
file | g_ebm.c |
file | g_ehy.c |
file | g_ell.c |
file | g_epa.c |
file | g_eto.c |
file | g_extrude.c |
file | g_grip.c |
file | g_half.c |
file | g_hf.c |
file | g_metaball.c |
file | g_nmg.c |
file | g_nurb.c |
file | g_part.c |
file | g_pg.c |
file | g_pipe.c |
file | g_rec.c |
file | g_rhc.c |
file | g_rpc.c |
file | g_sketch.c |
file | g_sph.c |
file | g_submodel.c |
file | g_superell.c |
file | g_tgc.c |
file | g_torus.c |
file | g_vol.c |
file | g_xxx.c |
file | table.c |
Modules | |
N-Manifold Geometry | |
NURBS | |
Data Structures | |
struct | rt_tor_internal |
struct | rt_tgc_internal |
struct | rt_ell_internal |
struct | rt_superell_internal |
struct | rt_metaball_internal |
struct | rt_arb_internal |
struct | rt_ars_internal |
struct | rt_half_internal |
struct | rt_grip_internal |
struct | rt_pg_internal |
struct | rt_ebm_internal |
struct | rt_vol_internal |
struct | rt_hf_internal |
struct | rt_arbn_internal |
struct | rt_pipe_internal |
struct | rt_part_internal |
struct | rt_rpc_internal |
struct | rt_rhc_internal |
struct | rt_epa_internal |
struct | rt_ehy_internal |
struct | rt_eto_internal |
struct | rt_dsp_internal |
struct | rt_sketch_internal |
struct | rt_submodel_internal |
struct | rt_extrude_internal |
struct | rt_cline_internal |
struct | rt_bot_internal |
struct | oface |
struct | aface |
struct | arb_specific |
struct | prep_arb |
struct | arb_info |
struct | arbn_pts |
struct | arbn_edges |
struct | bot_edge |
struct | cline_specific |
struct | cline_vert |
struct | dsp_rpp |
struct | dsp_bb |
struct | dsp_bb_layer |
struct | dsp_specific |
struct | bbox_isect |
struct | isect_stuff |
struct | rt_ebm_specific |
struct | ebm_hit_private |
struct | ebm_edge |
struct | ehy_specific |
struct | ell_specific |
struct | ell_state |
struct | ell_vert_strip |
struct | epa_specific |
struct | eto_specific |
struct | extrude_specific |
struct | loop_inter |
struct | grip_specific |
struct | half_specific |
struct | hf_specific |
struct | rec_specific |
Defines | |
#define | SEEN_RTGEOM_H seen |
#define | NAMELEN 16 |
#define | RT_TOR_INTERNAL_MAGIC 0x9bffed87 |
#define | RT_TOR_CK_MAGIC(_p) BU_CKMAG(_p,RT_TOR_INTERNAL_MAGIC,"rt_tor_internal") |
#define | RT_TGC_INTERNAL_MAGIC 0xaabbdd87 |
#define | RT_TGC_CK_MAGIC(_p) BU_CKMAG(_p,RT_TGC_INTERNAL_MAGIC,"rt_tgc_internal") |
#define | RT_ELL_INTERNAL_MAGIC 0x93bb23ff |
#define | RT_ELL_CK_MAGIC(_p) BU_CKMAG(_p,RT_ELL_INTERNAL_MAGIC,"rt_ell_internal") |
#define | RT_SUPERELL_INTERNAL_MAGIC 0xff93bb23 |
#define | RT_SUPERELL_CK_MAGIC(_p) BU_CKMAG(_p,RT_SUPERELL_INTERNAL_MAGIC,"rt_superell_internal") |
#define | RT_METABALL_INTERNAL_MAGIC 0x62616c6c |
#define | RT_METABALL_CK_MAGIC(_p) BU_CKMAG(_p,RT_METABALL_INTERNAL_MAGIC,"rt_metaball_internal") |
#define | RT_ARB_INTERNAL_MAGIC 0x9befd010 |
#define | RT_ARB_CK_MAGIC(_p) BU_CKMAG(_p,RT_ARB_INTERNAL_MAGIC,"rt_arb_internal") |
#define | RT_ARS_INTERNAL_MAGIC 0x77ddbbe3 |
#define | RT_ARS_CK_MAGIC(_p) BU_CKMAG(_p,RT_ARS_INTERNAL_MAGIC,"rt_ars_internal") |
#define | RT_HALF_INTERNAL_MAGIC 0xaa87bbdd |
#define | RT_HALF_CK_MAGIC(_p) BU_CKMAG(_p,RT_HALF_INTERNAL_MAGIC,"rt_half_internal") |
#define | RT_GRIP_INTERNAL_MAGIC 0x31196205 |
#define | RT_GRIP_CK_MAGIC(_p) BU_CKMAG(_p,RT_GRIP_INTERNAL_MAGIC,"rt_grip_internal") |
#define | RT_PG_INTERNAL_MAGIC 0x9bfed887 |
#define | RT_PG_CK_MAGIC(_p) BU_CKMAG(_p,RT_PG_INTERNAL_MAGIC,"rt_pg_internal") |
#define | RT_NURB_GET_CONTROL_POINT(_s, _u, _v) |
#define | RT_EBM_NAME_LEN 256 |
#define | RT_EBM_INTERNAL_MAGIC 0xf901b231 |
#define | RT_EBM_CK_MAGIC(_p) BU_CKMAG(_p,RT_EBM_INTERNAL_MAGIC,"rt_ebm_internal") |
#define | RT_VOL_NAME_LEN 128 |
#define | RT_VOL_INTERNAL_MAGIC 0x987ba1d0 |
#define | RT_VOL_CK_MAGIC(_p) BU_CKMAG(_p,RT_VOL_INTERNAL_MAGIC,"rt_vol_internal") |
#define | RT_HF_INTERNAL_MAGIC 0x4846494d |
#define | RT_HF_CK_MAGIC(_p) BU_CKMAG(_p,RT_HF_INTERNAL_MAGIC,"rt_hf_internal") |
#define | RT_ARBN_INTERNAL_MAGIC 0x18236461 |
#define | RT_ARBN_CK_MAGIC(_p) BU_CKMAG(_p,RT_ARBN_INTERNAL_MAGIC,"rt_arbn_internal") |
#define | RT_PIPE_INTERNAL_MAGIC 0x7dd7bb3e |
#define | RT_PIPE_CK_MAGIC(_p) BU_CKMAG(_p,RT_PIPE_INTERNAL_MAGIC,"rt_pipe_internal") |
#define | RT_PART_INTERNAL_MAGIC 0xaaccee87 |
#define | RT_PART_CK_MAGIC(_p) BU_CKMAG(_p,RT_PART_INTERNAL_MAGIC,"rt_part_internal") |
#define | RT_PARTICLE_TYPE_SPHERE 1 |
#define | RT_PARTICLE_TYPE_CYLINDER 2 |
#define | RT_PARTICLE_TYPE_CONE 3 |
#define | RT_RPC_INTERNAL_MAGIC 0xaaccee88 |
#define | RT_RPC_CK_MAGIC(_p) BU_CKMAG(_p,RT_RPC_INTERNAL_MAGIC,"rt_rpc_internal") |
#define | RT_RHC_INTERNAL_MAGIC 0xaaccee89 |
#define | RT_RHC_CK_MAGIC(_p) BU_CKMAG(_p,RT_RHC_INTERNAL_MAGIC,"rt_rhc_internal") |
#define | RT_EPA_INTERNAL_MAGIC 0xaaccee90 |
#define | RT_EPA_CK_MAGIC(_p) BU_CKMAG(_p,RT_EPA_INTERNAL_MAGIC,"rt_epa_internal") |
#define | RT_EHY_INTERNAL_MAGIC 0xaaccee91 |
#define | RT_EHY_CK_MAGIC(_p) BU_CKMAG(_p,RT_EHY_INTERNAL_MAGIC,"rt_ehy_internal") |
#define | RT_ETO_INTERNAL_MAGIC 0xaaccee92 |
#define | RT_ETO_CK_MAGIC(_p) BU_CKMAG(_p,RT_ETO_INTERNAL_MAGIC,"rt_eto_internal") |
#define | DSP_NAME_LEN 128 |
#define | RT_DSP_INTERNAL_MAGIC 0xde6 |
#define | RT_DSP_CK_MAGIC(_p) BU_CKMAG(_p,RT_DSP_INTERNAL_MAGIC,"rt_dsp_internal") |
#define | SKETCH_NAME_LEN 16 |
#define | RT_SKETCH_INTERNAL_MAGIC 0x736b6574 |
#define | RT_SKETCH_CK_MAGIC(_p) BU_CKMAG(_p,RT_SKETCH_INTERNAL_MAGIC,"rt_sketch_internal") |
#define | RT_SUBMODEL_INTERNAL_MAGIC 0x7375626d |
subm | |
#define | RT_SUBMODEL_CK_MAGIC(_p) BU_CKMAG(_p,RT_SUBMODEL_INTERNAL_MAGIC,"rt_submodel_internal") |
#define | RT_EXTRUDE_INTERNAL_MAGIC 0x65787472 |
#define | RT_EXTRUDE_CK_MAGIC(_p) BU_CKMAG(_p,RT_EXTRUDE_INTERNAL_MAGIC,"rt_extrude_internal") |
#define | RT_CLINE_INTERNAL_MAGIC 0x43767378 |
#define | RT_CLINE_CK_MAGIC(_p) BU_CKMAG(_p,RT_CLINE_INTERNAL_MAGIC,"rt_cline_internal") |
#define | RT_BOT_UNORIENTED 1 |
unoriented triangles | |
#define | RT_BOT_CCW 2 |
oriented counter-clockwise | |
#define | RT_BOT_CW 3 |
oriented clockwise | |
#define | RT_BOT_SURFACE 1 |
triangles represent a surface (no volume) | |
#define | RT_BOT_SOLID 2 |
triangles respresent the boundary of a solid object | |
#define | RT_BOT_PLATE 3 |
triangles represent plates. Thicknesses are specified in "thickness" array, and face mode is specified in "face_mode" bit vector. This is the FASTGEN "plate" mode. Orientation is ignored. | |
#define | RT_BOT_PLATE_NOCOS 4 |
same as plate mode, but LOS is set equal to face thickness, not the thickness divided by the cosine of the obliquity angle | |
#define | RT_BOT_HAS_SURFACE_NORMALS 0x1 |
This primitive may have surface normals at each face vertex. | |
#define | RT_BOT_USE_NORMALS 0x2 |
Use the surface normals if they exist. | |
#define | RT_BOT_USE_FLOATS 0x4 |
Use the single precision version of "tri_specific" during prep. | |
#define | RT_BOT_INTERNAL_MAGIC 0x626F7472 |
#define | RT_BOT_CK_MAGIC(_p) BU_CKMAG(_p,RT_BOT_INTERNAL_MAGIC,"rt_bot_internal") |
#define | RT_SLOPPY_DOT_TOL 0.0087 |
#define | NO 0 |
#define | YES 1 |
#define | SEG_MISS(SEG) (SEG).seg_stp=(struct soltab *) 0; |
#define | ARB_FACE(valp, a, b, c, d) |
#define | RT_ARB_EDIT_EDGE 0 |
#define | RT_ARB_EDIT_POINT 1 |
#define | RT_ARB7_MOVE_POINT_5 11 |
#define | RT_ARB6_MOVE_POINT_5 8 |
#define | RT_ARB6_MOVE_POINT_6 9 |
#define | RT_ARB5_MOVE_POINT_5 8 |
#define | RT_ARB4_MOVE_POINT_4 3 |
#define | LOC(i, j) i*(aip->neqn)+j |
#define | TRI_NULL ((struct tri_specific *)0) |
#define | IJ(ii, jj) (((i+(ii))*(arip->pts_per_curve+1))+(j+(jj))) |
#define | ARS_PT(ii, jj) (&arip->curves[i+(ii)][(j+(jj))*ELEMENTS_PER_VECT]) |
#define | FIND_IJ(a, b) |
#define | ASSOC_GEOM(corn, a, b) |
#define | GLUE(_a, _b) _a ## _b |
#define | XGLUE(_a, _b) GLUE(_a,_b) |
#define | MAXHITS 128 |
#define | BOT_MIN_DN 1.0e-9 |
#define | RT_BOT_UNORIENTED_NORM(_hitp, _in_or_out) |
#define | TRI_TYPE float |
#define | TRI_TYPE double |
#define | NORM_TYPE signed char |
#define | NORM_TYPE fastf_t |
#define | NORMAL_SCALE 127.0 |
#define | NORMAL_SCALE 1.0 |
#define | ONE_OVER_SCALE (1.0/127.0) |
#define | ONE_OVER_SCALE 1.0 |
#define | RT_BOT_SEG_MISS(SEG) (SEG).seg_stp=RT_SOLTAB_NULL |
#define | MAX_AFFECTED_FACES 128 |
#define | RT_CLINE_O(m) bu_offsetof( struct rt_cline_internal, m ) |
#define | RT_CLINE_SEG_MISS(SEG) (SEG).seg_stp=RT_SOLTAB_NULL |
#define | ORDERED_ISECT 1 |
#define | DIM_BB_CHILDREN 4 |
#define | NUM_BB_CHILDREN (DIM_BB_CHILDREN*DIM_BB_CHILDREN) |
#define | MAGIC_dsp_bb 234 |
#define | DSP_BB_CK(_p) BU_CKMAG(_p, MAGIC_dsp_bb, "dsp_bb") |
#define | LAYER(l, x, y) l->p[l->dim[1]*y+x] |
#define | dlog if (RT_G_DEBUG & DEBUG_HF) bu_log |
#define | BBOX_PLANES 7 |
#define | XMIN 0 |
#define | XMAX 1 |
#define | YMIN 2 |
#define | YMAX 3 |
#define | ZMIN 4 |
#define | ZMAX 5 |
#define | ZMID 6 |
#define | ZTOP 7 |
#define | DSP(_p, _x, _y) dsp_val(_p, _x, _y, __FILE__, __LINE__) |
#define | XCNT(_p) (((struct rt_dsp_internal *)_p)->dsp_xcnt) |
#define | YCNT(_p) (((struct rt_dsp_internal *)_p)->dsp_ycnt) |
#define | XSIZ(_p) (_p->dsp_i.dsp_xcnt - 1) |
#define | YSIZ(_p) (_p->dsp_i.dsp_ycnt - 1) |
#define | DSP_O(m) bu_offsetof(struct rt_dsp_internal, m) |
#define | DSP_AO(a) bu_offsetofarray(struct rt_dsp_internal, a) |
#define | PLOT_LAYERS |
#define | ADD_SEG(isect, in, out, min, max, r, g, b) add_seg(isect, in, out, min, max, r, g, b, __LINE__) |
#define | RT_DSP_SEG_MISS(SEG) (SEG).seg_stp=RT_SOLTAB_NULL |
#define | RT_EBM_NULL ((struct rt_ebm_specific *)0) |
#define | RT_EBM_O(m) bu_offsetof(struct rt_ebm_internal, m) |
#define | NORM_ZPOS 3 |
#define | NORM_YPOS 2 |
#define | NORM_XPOS 1 |
#define | NORM_XNEG (-1) |
#define | NORM_YNEG (-2) |
#define | NORM_ZNEG (-3) |
#define | BIT_XWIDEN 2 |
#define | BIT_YWIDEN 2 |
#define | BIT(_eip, _xx, _yy) |
#define | EHY_NORM_BODY (1) |
#define | EHY_NORM_TOP (2) |
#define | RT_EHY_SEG_MISS(SEG) (SEG).seg_stp=RT_SOLTAB_NULL |
#define | ELL_NULL ((struct ell_specific *)0) |
#define | RT_ELL_SEG_MISS(SEG) (SEG).seg_stp=RT_SOLTAB_NULL |
#define | ELLOUT(n) ov+(n-1)*3 |
#define | EPA_NORM_BODY (1) |
#define | EPA_NORM_TOP (2) |
#define | RT_EPA_SEG_MISS(SEG) (SEG).seg_stp=RT_SOLTAB_NULL |
#define | ELLOUT(n) ov+(n-1)*3 |
#define | SEG_MISS(SEG) (SEG).seg_stp=(struct soltab *) 0; |
#define | MAX_HITS 64 |
#define | TOP_FACE 1 |
#define | BOTTOM_FACE 2 |
#define | LINE_SEG 3 |
#define | CARC_SEG 4 |
#define | NURB_SEG 5 |
#define | BEZIER_SEG 6 |
#define | UNKNOWN 0 |
#define | A_IN_B 1 |
#define | B_IN_A 2 |
#define | DISJOINT 3 |
#define | LOOPA 1 |
#define | LOOPB 2 |
#define | RT_EXTRUDE_SEG_MISS(SEG) (SEG).seg_stp=RT_SOLTAB_NULL |
#define | GRIP_NULL ((struct grip_specific *)0) |
#define | RT_HALF_SEG_MISS(SEG) (SEG).seg_stp=RT_SOLTAB_NULL |
#define | HALF_NULL ((struct half_specific *)0) |
#define | RT_HALF_SEG_MISS(SEG) (SEG).seg_stp=RT_SOLTAB_NULL |
#define | HF_O(m) bu_offsetof(struct rt_hf_internal, m) |
#define | MAXHITS 128 |
#define | REC_NORM_BODY (1) |
#define | REC_NORM_TOP (2) |
#define | REC_NORM_BOT (3) |
#define | SEG_MISS(SEG) (SEG).seg_stp=(struct soltab *) 0; |
Functions | |
void | rt_arb_ifree (struct rt_db_internal *) |
int | rt_arb_get_cgtype (int *cgtype, struct rt_arb_internal *arb, const struct bn_tol *tol, register int *uvec, register int *svec) |
int | rt_arb_std_type (const struct rt_db_internal *ip, const struct bn_tol *tol) |
void | rt_arb_centroid (point_t center_pt, const struct rt_arb_internal *arb, int npoints) |
HIDDEN int | rt_arb_add_pt (register pointp_t point, const char *title, struct prep_arb *pap, int ptno, const char *name) |
HIDDEN int | rt_arb_mk_planes (register struct prep_arb *pap, struct rt_arb_internal *aip, const char *name) |
HIDDEN int | rt_arb_setup (struct soltab *stp, struct rt_arb_internal *aip, struct rt_i *rtip, int uv_wanted) |
int | rt_arb_prep (struct soltab *stp, struct rt_db_internal *ip, struct rt_i *rtip) |
void | rt_arb_print (register const struct soltab *stp) |
int | rt_arb_shot (struct soltab *stp, register struct xray *rp, struct application *ap, struct seg *seghead) |
void | rt_arb_vshot (struct soltab **stp, struct xray **rp, struct seg *segp, int n, struct application *ap) |
void | rt_arb_norm (register struct hit *hitp, struct soltab *stp, register struct xray *rp) |
void | rt_arb_curve (register struct curvature *cvp, register struct hit *hitp, struct soltab *stp) |
void | rt_arb_uv (struct application *ap, struct soltab *stp, register struct hit *hitp, register struct uvcoord *uvp) |
void | rt_arb_free (register struct soltab *stp) |
int | rt_arb_plot (struct bu_list *vhead, struct rt_db_internal *ip, const struct rt_tess_tol *ttol, const struct bn_tol *tol) |
int | rt_arb_class (const struct soltab *stp, const fastf_t *min, const fastf_t *max, const struct bn_tol *tol) |
int | rt_arb_import (struct rt_db_internal *ip, const struct bu_external *ep, register const fastf_t *mat, const struct db_i *dbip) |
int | rt_arb_export (struct bu_external *ep, const struct rt_db_internal *ip, double local2mm, const struct db_i *dbip) |
int | rt_arb_import5 (struct rt_db_internal *ip, const struct bu_external *ep, register const fastf_t *mat, const struct db_i *dbip) |
int | rt_arb_export5 (struct bu_external *ep, const struct rt_db_internal *ip, double local2mm, const struct db_i *dbip) |
int | rt_arb_describe (struct bu_vls *str, const struct rt_db_internal *ip, int verbose, double mm2local) |
int | rt_arb_tess (struct nmgregion **r, struct model *m, struct rt_db_internal *ip, const struct rt_tess_tol *ttol, const struct bn_tol *tol) |
int | rt_arb_tnurb (struct nmgregion **r, struct model *m, struct rt_db_internal *ip, const struct bn_tol *tol) |
int | rt_arb_calc_points (struct rt_arb_internal *arb, int cgtype, const plane_t planes[6], const struct bn_tol *tol) |
int | rt_arb_3face_intersect (point_t point, const plane_t planes[6], int type, int loc) |
int | rt_arb_calc_planes (Tcl_Interp *interp, struct rt_arb_internal *arb, int type, plane_t planes[6], const struct bn_tol *tol) |
int | rt_arb_move_edge (Tcl_Interp *interp, struct rt_arb_internal *arb, vect_t thru, int bp1, int bp2, int end1, int end2, const vect_t dir, plane_t planes[6], const struct bn_tol *tol) |
int | rt_arb_edit (Tcl_Interp *interp, struct rt_arb_internal *arb, int arb_type, int edit_type, vect_t pos_model, plane_t planes[6], const struct bn_tol *tol) |
void | rt_arbn_print (const struct soltab *stp) |
void | rt_arbn_ifree (struct rt_db_internal *ip) |
int | rt_arbn_prep (struct soltab *stp, struct rt_db_internal *ip, struct rt_i *rtip) |
void | rt_arbn_print (register const struct soltab *stp) |
int | rt_arbn_shot (struct soltab *stp, register struct xray *rp, struct application *ap, struct seg *seghead) |
void | rt_arbn_vshot (struct soltab **stp, struct xray **rp, struct seg *segp, int n, struct application *ap) |
void | rt_arbn_norm (register struct hit *hitp, struct soltab *stp, register struct xray *rp) |
void | rt_arbn_curve (register struct curvature *cvp, register struct hit *hitp, struct soltab *stp) |
void | rt_arbn_uv (struct application *ap, struct soltab *stp, register struct hit *hitp, register struct uvcoord *uvp) |
void | rt_arbn_free (register struct soltab *stp) |
int | rt_arbn_plot (struct bu_list *vhead, struct rt_db_internal *ip, const struct rt_tess_tol *ttol, const struct bn_tol *tol) |
int | rt_arbn_class (void) |
int | rt_arbn_tess (struct nmgregion **r, struct model *m, struct rt_db_internal *ip, const struct rt_tess_tol *ttol, const struct bn_tol *tol) |
int | rt_arbn_import (struct rt_db_internal *ip, const struct bu_external *ep, register const fastf_t *mat, const struct db_i *dbip) |
int | rt_arbn_export (struct bu_external *ep, const struct rt_db_internal *ip, double local2mm, const struct db_i *dbip) |
int | rt_arbn_import5 (struct rt_db_internal *ip, const struct bu_external *ep, register const fastf_t *mat, const struct db_i *dbip) |
int | rt_arbn_export5 (struct bu_external *ep, const struct rt_db_internal *ip, double local2mm, const struct db_i *dbip) |
int | rt_arbn_describe (struct bu_vls *str, const struct rt_db_internal *ip, int verbose, double mm2local) |
int | rt_arbn_tclget (Tcl_Interp *interp, const struct rt_db_internal *intern, const char *attr) |
int | rt_arbn_tcladjust (Tcl_Interp *interp, struct rt_db_internal *intern, int argc, char **argv) |
int | rt_bot_prep (struct soltab *stp, struct rt_db_internal *ip, struct rt_i *rtip) |
void | rt_bot_ifree (struct rt_db_internal *ip) |
int | rt_ars_tess (struct nmgregion **r, struct model *m, struct rt_db_internal *ip, const struct rt_tess_tol *ttol, const struct bn_tol *tol) |
void | rt_ars_free (register struct soltab *stp) |
int | rt_ars_class (const struct soltab *stp, const vect_t min, const vect_t max, const struct bn_tol *tol) |
fastf_t * | rt_ars_rd_curve (union record *rp, int npts) |
int | rt_ars_import (struct rt_db_internal *ip, const struct bu_external *ep, const fastf_t *mat, const struct db_i *dbip) |
int | rt_ars_export (struct bu_external *ep, const struct rt_db_internal *ip, double local2mm, const struct db_i *dbip) |
int | rt_ars_import5 (struct rt_db_internal *ip, const struct bu_external *ep, const fastf_t *mat, const struct db_i *dbip) |
int | rt_ars_export5 (struct bu_external *ep, const struct rt_db_internal *ip, double local2mm, const struct db_i *dbip) |
int | rt_ars_describe (struct bu_vls *str, const struct rt_db_internal *ip, int verbose, double mm2local) |
void | rt_ars_ifree (struct rt_db_internal *ip) |
int | rt_ars_prep (struct soltab *stp, struct rt_db_internal *ip, struct rt_i *rtip) |
void | rt_ars_print (register const struct soltab *stp) |
int | rt_ars_shot (struct soltab *stp, register struct xray *rp, struct application *ap, struct seg *seghead) |
void | rt_hitsort (register struct hit *h, register int nh) |
void | rt_ars_norm (register struct hit *hitp, struct soltab *stp, register struct xray *rp) |
void | rt_ars_curve (register struct curvature *cvp, register struct hit *hitp, struct soltab *stp) |
void | rt_ars_uv (struct application *ap, struct soltab *stp, register struct hit *hitp, register struct uvcoord *uvp) |
int | rt_ars_plot (struct bu_list *vhead, struct rt_db_internal *ip, const struct rt_tess_tol *ttol, const struct bn_tol *tol) |
int | rt_ars_tclget (Tcl_Interp *interp, const struct rt_db_internal *intern, const char *attr) |
int | rt_ars_tcladjust (Tcl_Interp *interp, struct rt_db_internal *intern, int argc, char **argv) |
HIDDEN int | rt_bot_makesegs (struct hit *hits, int nhits, struct soltab *stp, struct xray *rp, struct application *ap, struct seg *seghead, struct rt_piecestate *psp) |
int | rt_botface_w_normals (struct soltab *stp, struct bot_specific *bot, fastf_t *ap, fastf_t *bp, fastf_t *cp, fastf_t *vertex_normals, int face_no, const struct bn_tol *tol) |
int | rt_botface (struct soltab *stp, struct bot_specific *bot, fastf_t *ap, fastf_t *bp, fastf_t *cp, int face_no, const struct bn_tol *tol) |
void | rt_bot_prep_pieces (struct bot_specific *bot, struct soltab *stp, int ntri, const struct bn_tol *tol) |
void | rt_bot_print (register const struct soltab *stp) |
int | rt_bot_shot (struct soltab *stp, register struct xray *rp, struct application *ap, struct seg *seghead) |
int | rt_bot_piece_shot (struct rt_piecestate *psp, struct rt_piecelist *plp, double dist_corr, register struct xray *rp, struct application *ap, struct seg *seghead) |
void | rt_bot_piece_hitsegs (struct rt_piecestate *psp, struct seg *seghead, struct application *ap) |
void | rt_bot_vshot (struct soltab **stp, struct xray **rp, struct seg *segp, int n, struct application *ap) |
void | rt_bot_norm (register struct hit *hitp, struct soltab *stp, register struct xray *rp) |
void | rt_bot_curve (register struct curvature *cvp, register struct hit *hitp, struct soltab *stp) |
void | rt_bot_uv (struct application *ap, struct soltab *stp, register struct hit *hitp, register struct uvcoord *uvp) |
void | rt_bot_free (register struct soltab *stp) |
int | rt_bot_class (const struct soltab *stp, const fastf_t *min, const fastf_t *max, const struct bn_tol *tol) |
int | rt_bot_plot (struct bu_list *vhead, struct rt_db_internal *ip, const struct rt_tess_tol *ttol, const struct bn_tol *tol) |
int | rt_bot_plot_poly (struct bu_list *vhead, struct rt_db_internal *ip, const struct rt_tess_tol *ttol, const struct bn_tol *tol) |
int | rt_bot_tess (struct nmgregion **r, struct model *m, struct rt_db_internal *ip, const struct rt_tess_tol *ttol, const struct bn_tol *tol) |
int | rt_bot_import (struct rt_db_internal *ip, const struct bu_external *ep, register const fastf_t *mat, const struct db_i *dbip) |
int | rt_bot_export (struct bu_external *ep, const struct rt_db_internal *ip, double local2mm, const struct db_i *dbip) |
int | rt_bot_import5 (struct rt_db_internal *ip, const struct bu_external *ep, register const fastf_t *mat, const struct db_i *dbip) |
int | rt_bot_export5 (struct bu_external *ep, const struct rt_db_internal *ip, double local2mm, const struct db_i *dbip) |
int | rt_bot_describe (struct bu_vls *str, const struct rt_db_internal *ip, int verbose, double mm2local) |
int | rt_bot_tnurb (struct nmgregion **r, struct model *m, struct rt_db_internal *ip, const struct bn_tol *tol) |
int | rt_bot_xform (struct rt_db_internal *op, const fastf_t *mat, struct rt_db_internal *ip, const int free, struct db_i *dbip) |
int | rt_bot_find_v_nearest_pt2 (const struct rt_bot_internal *bot, const point_t pt2, const mat_t mat) |
int | rt_bot_edge_in_list (const int v1, const int v2, const int edge_list[], const int edge_count) |
int | rt_bot_find_e_nearest_pt2 (int *vert1, int *vert2, const struct rt_bot_internal *bot, const point_t pt2, const mat_t mat) |
int | rt_bot_tclget (Tcl_Interp *interp, const struct rt_db_internal *intern, const char *attr) |
int | rt_bot_tcladjust (Tcl_Interp *interp, struct rt_db_internal *intern, int argc, char **argv) |
int | rt_bot_tclform (const struct rt_functab *ftp, Tcl_Interp *interp) |
int | rt_bot_vertex_fuse (struct rt_bot_internal *bot) |
int | rt_bot_same_orientation (const int *a, const int *b) |
int | rt_bot_face_fuse (struct rt_bot_internal *bot) |
int | rt_bot_condense (struct rt_bot_internal *bot) |
int | find_closest_face (fastf_t **centers, int *piece, int *old_faces, int num_faces, fastf_t *vertices) |
void | Add_unique_verts (int *piece_verts, int *v) |
int | rt_bot_sort_faces (struct rt_bot_internal *bot, int tris_per_piece) |
int | rt_bot_decimate (struct rt_bot_internal *bot, fastf_t max_chord_error, fastf_t max_normal_error, fastf_t min_edge_length) |
int | rt_smooth_bot (struct rt_bot_internal *bot, char *bot_name, struct db_i *dbip, fastf_t norm_tol_angle) |
int | XGLUE (rt_botface_w_normals_, TRI_TYPE) |
void | XGLUE (rt_bot_prep_pieces_, TRI_TYPE) |
int | XGLUE (rt_bot_prep_, TRI_TYPE) |
HIDDEN int | XGLUE (rt_bot_makesegs_, TRI_TYPE) |
int | XGLUE (rt_bot_shot_, TRI_TYPE) |
int | XGLUE (rt_bot_piece_shot_, TRI_TYPE) |
void | XGLUE (rt_bot_norm_, TRI_TYPE) |
void | XGLUE (rt_bot_free_, TRI_TYPE) |
int | rt_cline_prep (struct soltab *stp, struct rt_db_internal *ip, struct rt_i *rtip) |
void | rt_cline_print (register const struct soltab *stp) |
int | rt_cline_shot (struct soltab *stp, register struct xray *rp, struct application *ap, struct seg *seghead) |
void | rt_cline_vshot (struct soltab **stp, struct xray **rp, struct seg *segp, int n, struct application *ap) |
void | rt_cline_norm (register struct hit *hitp, struct soltab *stp, register struct xray *rp) |
void | rt_cline_curve (register struct curvature *cvp, register struct hit *hitp, struct soltab *stp) |
void | rt_cline_uv (struct application *ap, struct soltab *stp, register struct hit *hitp, register struct uvcoord *uvp) |
void | rt_cline_free (register struct soltab *stp) |
int | rt_cline_class (const struct soltab *stp, const fastf_t *min, const fastf_t *max, const struct bn_tol *tol) |
int | rt_cline_plot (struct bu_list *vhead, struct rt_db_internal *ip, const struct rt_tess_tol *ttol, const struct bn_tol *tol) |
int | rt_cline_tess (struct nmgregion **r, struct model *m, struct rt_db_internal *ip, const struct rt_tess_tol *ttol, const struct bn_tol *tol) |
int | rt_cline_import (struct rt_db_internal *ip, const struct bu_external *ep, register const fastf_t *mat, const struct db_i *dbip) |
int | rt_cline_export (struct bu_external *ep, const struct rt_db_internal *ip, double local2mm, const struct db_i *dbip) |
int | rt_cline_import5 (struct rt_db_internal *ip, const struct bu_external *ep, register const fastf_t *mat, const struct db_i *dbip) |
int | rt_cline_export5 (struct bu_external *ep, const struct rt_db_internal *ip, double local2mm, const struct db_i *dbip) |
int | rt_cline_describe (struct bu_vls *str, const struct rt_db_internal *ip, int verbose, double mm2local) |
void | rt_cline_ifree (struct rt_db_internal *ip) |
int | rt_cline_tnurb (struct nmgregion **r, struct model *m, struct rt_db_internal *ip, const struct bn_tol *tol) |
int | rt_cline_tclget (Tcl_Interp *interp, const struct rt_db_internal *intern, const char *attr) |
int | rt_cline_tcladjust (Tcl_Interp *interp, struct rt_db_internal *intern, int argc, char **argv) |
int | rt_cline_tclform (const struct rt_functab *ftp, Tcl_Interp *interp) |
int | rt_retrieve_binunif (struct rt_db_internal *intern, const struct db_i *dbip, const char *name) |
void | rt_binunif_ifree (struct rt_db_internal *ip) |
unsigned short | dsp_val (struct rt_dsp_internal *dsp_i, unsigned x, unsigned y, char *file, int line) |
void | rt_dsp_print (register const struct soltab *stp) |
int | rt_dsp_prep (struct soltab *stp, struct rt_db_internal *ip, struct rt_i *rtip) |
int | dsp_in_rpp (struct isect_stuff *isect, register const fastf_t *min, register const fastf_t *max) |
int | rt_dsp_shot (struct soltab *stp, register struct xray *rp, struct application *ap, struct seg *seghead) |
void | rt_dsp_vshot (struct soltab **stp, struct xray **rp, struct seg *segp, int n, struct application *ap) |
void | rt_dsp_norm (register struct hit *hitp, struct soltab *stp, register struct xray *rp) |
void | rt_dsp_curve (register struct curvature *cvp, register struct hit *hitp, struct soltab *stp) |
void | rt_dsp_uv (struct application *ap, struct soltab *stp, register struct hit *hitp, register struct uvcoord *uvp) |
void | rt_dsp_free (register struct soltab *stp) |
int | rt_dsp_class (void) |
int | rt_dsp_plot (struct bu_list *vhead, struct rt_db_internal *ip, const struct rt_tess_tol *ttol, const struct bn_tol *tol) |
int | rt_dsp_tess (struct nmgregion **r, struct model *m, struct rt_db_internal *ip, const struct rt_tess_tol *ttol, const struct bn_tol *tol) |
int | rt_dsp_import (struct rt_db_internal *ip, const struct bu_external *ep, register const fastf_t *mat, const struct db_i *dbip) |
int | rt_dsp_export (struct bu_external *ep, const struct rt_db_internal *ip, double local2mm, const struct db_i *dbip) |
int | rt_dsp_import5 (struct rt_db_internal *ip, const struct bu_external *ep, register const fastf_t *mat, const struct db_i *dbip, struct resource *resp, const int minor_type) |
int | rt_dsp_export5 (struct bu_external *ep, const struct rt_db_internal *ip, double local2mm, const struct db_i *dbip, struct resource *resp, const int minor_type) |
int | rt_dsp_describe (struct bu_vls *str, const struct rt_db_internal *ip, int verbose, double mm2local, struct resource *resp, struct db_i *db_ip) |
void | rt_dsp_ifree (struct rt_db_internal *ip) |
int | rt_dsp_tclget (Tcl_Interp *interp, const struct rt_db_internal *intern, const char *attr) |
int | rt_dsp_tcladjust (Tcl_Interp *interp, struct rt_db_internal *intern, int argc, char **argv) |
void | rt_dsp_make (const struct rt_functab *ftp, struct rt_db_internal *intern, double diameter) |
int | project_pt (point_t out, int A[3], int B[3], int C[3], point_t pt) |
int | dsp_pos (point_t out, struct soltab *stp, point_t p) |
int | rt_ebm_dda (struct xray *rp, struct soltab *stp, struct application *ap, struct seg *seghead) |
int | rt_seg_planeclip (struct seg *out_hd, struct seg *in_hd, vect_t out_norm, fastf_t in, fastf_t out, struct xray *rp, struct application *ap) |
void | rt_ebm_plate (int x1, int y1, int x2, int y2, double t, mat_t mat, struct bu_list *vhead) |
int | rt_seg_planeclip (struct seg *out_hd, struct seg *in_hd, fastf_t *out_norm, fastf_t in, fastf_t out, struct xray *rp, struct application *ap) |
int | rt_ebm_dda (register struct xray *rp, struct soltab *stp, struct application *ap, struct seg *seghead) |
int | rt_ebm_import (struct rt_db_internal *ip, const struct bu_external *ep, const fastf_t *mat, const struct db_i *dbip) |
int | rt_ebm_export (struct bu_external *ep, const struct rt_db_internal *ip, double local2mm, const struct db_i *dbip) |
int | rt_ebm_import5 (struct rt_db_internal *ip, const struct bu_external *ep, const fastf_t *mat, const struct db_i *dbip) |
int | rt_ebm_export5 (struct bu_external *ep, const struct rt_db_internal *ip, double local2mm, const struct db_i *dbip) |
int | rt_ebm_describe (struct bu_vls *str, const struct rt_db_internal *ip, int verbose, double mm2local) |
void | rt_ebm_ifree (struct rt_db_internal *ip) |
int | rt_ebm_prep (struct soltab *stp, struct rt_db_internal *ip, struct rt_i *rtip) |
void | rt_ebm_print (register const struct soltab *stp) |
int | rt_ebm_shot (struct soltab *stp, register struct xray *rp, struct application *ap, struct seg *seghead) |
void | rt_ebm_norm (register struct hit *hitp, struct soltab *stp, register struct xray *rp) |
void | rt_ebm_curve (register struct curvature *cvp, register struct hit *hitp, struct soltab *stp) |
void | rt_ebm_uv (struct application *ap, struct soltab *stp, register struct hit *hitp, register struct uvcoord *uvp) |
void | rt_ebm_free (struct soltab *stp) |
int | rt_ebm_class (void) |
int | rt_ebm_plot (struct bu_list *vhead, struct rt_db_internal *ip, const struct rt_tess_tol *ttol, const struct bn_tol *tol) |
void | rt_ebm_plate (int x1, int y1, int x2, int y2, double t, register fastf_t *mat, register struct bu_list *vhead) |
int | rt_ebm_tess (struct nmgregion **r, struct model *m, struct rt_db_internal *ip, const struct rt_tess_tol *ttol, const struct bn_tol *tol) |
int | rt_ebm_tclget (Tcl_Interp *interp, const struct rt_db_internal *intern, const char *attr) |
int | rt_ebm_tcladjust (Tcl_Interp *interp, struct rt_db_internal *intern, int argc, char **argv) |
int | rt_ebm_tclform (const struct rt_functab *ftp, Tcl_Interp *interp) |
void | rt_ebm_make (const struct rt_functab *ftp, struct rt_db_internal *intern, double diameter) |
int | rt_ehy_prep (struct soltab *stp, struct rt_db_internal *ip, struct rt_i *rtip) |
void | rt_ehy_print (register const struct soltab *stp) |
int | rt_ehy_shot (struct soltab *stp, register struct xray *rp, struct application *ap, struct seg *seghead) |
void | rt_ehy_vshot (struct soltab **stp, struct xray **rp, struct seg *segp, int n, struct application *ap) |
void | rt_ehy_norm (register struct hit *hitp, struct soltab *stp, register struct xray *rp) |
void | rt_ehy_curve (register struct curvature *cvp, register struct hit *hitp, struct soltab *stp) |
void | rt_ehy_uv (struct application *ap, struct soltab *stp, register struct hit *hitp, register struct uvcoord *uvp) |
void | rt_ehy_free (register struct soltab *stp) |
int | rt_ehy_class (void) |
int | rt_ehy_plot (struct bu_list *vhead, struct rt_db_internal *ip, const struct rt_tess_tol *ttol, const struct bn_tol *tol) |
int | rt_ehy_tess (struct nmgregion **r, struct model *m, struct rt_db_internal *ip, const struct rt_tess_tol *ttol, const struct bn_tol *tol) |
int | rt_ehy_import (struct rt_db_internal *ip, const struct bu_external *ep, register const fastf_t *mat, const struct db_i *dbip) |
int | rt_ehy_export (struct bu_external *ep, const struct rt_db_internal *ip, double local2mm, const struct db_i *dbip) |
int | rt_ehy_import5 (struct rt_db_internal *ip, const struct bu_external *ep, register const fastf_t *mat, const struct db_i *dbip) |
int | rt_ehy_export5 (struct bu_external *ep, const struct rt_db_internal *ip, double local2mm, const struct db_i *dbip) |
int | rt_ehy_describe (struct bu_vls *str, const struct rt_db_internal *ip, int verbose, double mm2local) |
void | rt_ehy_ifree (struct rt_db_internal *ip) |
int | rt_sph_prep (struct soltab *stp, struct rt_db_internal *ip, struct rt_i *rtip) |
int | rt_ell_prep (struct soltab *stp, struct rt_db_internal *ip, struct rt_i *rtip) |
void | rt_ell_print (register const struct soltab *stp) |
int | rt_ell_shot (struct soltab *stp, register struct xray *rp, struct application *ap, struct seg *seghead) |
void | rt_ell_vshot (struct soltab **stp, struct xray **rp, struct seg *segp, int n, struct application *ap) |
void | rt_ell_norm (register struct hit *hitp, struct soltab *stp, register struct xray *rp) |
void | rt_ell_curve (register struct curvature *cvp, register struct hit *hitp, struct soltab *stp) |
void | rt_ell_uv (struct application *ap, struct soltab *stp, register struct hit *hitp, register struct uvcoord *uvp) |
void | rt_ell_free (register struct soltab *stp) |
int | rt_ell_class (void) |
void | rt_ell_16pts (register fastf_t *ov, register fastf_t *V, fastf_t *A, fastf_t *B) |
int | rt_ell_plot (struct bu_list *vhead, struct rt_db_internal *ip, const struct rt_tess_tol *ttol, const struct bn_tol *tol) |
int | rt_ell_tess (struct nmgregion **r, struct model *m, struct rt_db_internal *ip, const struct rt_tess_tol *ttol, const struct bn_tol *tol) |
int | rt_ell_import (struct rt_db_internal *ip, const struct bu_external *ep, register const fastf_t *mat, const struct db_i *dbip) |
int | rt_ell_export (struct bu_external *ep, const struct rt_db_internal *ip, double local2mm, const struct db_i *dbip) |
int | rt_ell_import5 (struct rt_db_internal *ip, const struct bu_external *ep, register const fastf_t *mat, const struct db_i *dbip) |
int | rt_ell_export5 (struct bu_external *ep, const struct rt_db_internal *ip, double local2mm, const struct db_i *dbip) |
int | rt_ell_describe (struct bu_vls *str, const struct rt_db_internal *ip, int verbose, double mm2local) |
void | rt_ell_ifree (struct rt_db_internal *ip) |
int | rt_ell_tnurb (struct nmgregion **r, struct model *m, struct rt_db_internal *ip, const struct bn_tol *tol) |
int | rt_epa_prep (struct soltab *stp, struct rt_db_internal *ip, struct rt_i *rtip) |
void | rt_epa_print (register const struct soltab *stp) |
int | rt_epa_shot (struct soltab *stp, register struct xray *rp, struct application *ap, struct seg *seghead) |
void | rt_epa_vshot (struct soltab **stp, struct xray **rp, struct seg *segp, int n, struct application *ap) |
void | rt_epa_norm (register struct hit *hitp, struct soltab *stp, register struct xray *rp) |
void | rt_epa_curve (register struct curvature *cvp, register struct hit *hitp, struct soltab *stp) |
void | rt_epa_uv (struct application *ap, struct soltab *stp, register struct hit *hitp, register struct uvcoord *uvp) |
void | rt_epa_free (register struct soltab *stp) |
int | rt_epa_class (void) |
int | rt_epa_plot (struct bu_list *vhead, struct rt_db_internal *ip, const struct rt_tess_tol *ttol, const struct bn_tol *tol) |
void | rt_ell_norms (register fastf_t *ov, fastf_t *A, fastf_t *B, fastf_t *h_vec, fastf_t t, int sides) |
void | rt_ell (register fastf_t *ov, register const fastf_t *V, const fastf_t *A, const fastf_t *B, int sides) |
fastf_t | rt_ell_ang (fastf_t *p1, fastf_t a, fastf_t b, fastf_t dtol, fastf_t ntol) |
int | rt_epa_tess (struct nmgregion **r, struct model *m, struct rt_db_internal *ip, const struct rt_tess_tol *ttol, const struct bn_tol *tol) |
int | rt_epa_import (struct rt_db_internal *ip, const struct bu_external *ep, register const fastf_t *mat, const struct db_i *dbip) |
int | rt_epa_export (struct bu_external *ep, const struct rt_db_internal *ip, double local2mm, const struct db_i *dbip) |
int | rt_epa_import5 (struct rt_db_internal *ip, const struct bu_external *ep, register const fastf_t *mat, const struct db_i *dbip) |
int | rt_epa_export5 (struct bu_external *ep, const struct rt_db_internal *ip, double local2mm, const struct db_i *dbip) |
int | rt_epa_describe (struct bu_vls *str, const struct rt_db_internal *ip, int verbose, double mm2local) |
void | rt_epa_ifree (struct rt_db_internal *ip) |
int | rt_eto_prep (struct soltab *stp, struct rt_db_internal *ip, struct rt_i *rtip) |
void | rt_eto_print (register const struct soltab *stp) |
int | rt_eto_shot (struct soltab *stp, register struct xray *rp, struct application *ap, struct seg *seghead) |
void | rt_eto_vshot (struct soltab **stp, struct xray **rp, struct seg *segp, int n, struct application *ap) |
void | rt_eto_norm (register struct hit *hitp, struct soltab *stp, register struct xray *rp) |
void | rt_eto_curve (register struct curvature *cvp, register struct hit *hitp, struct soltab *stp) |
void | rt_eto_uv (struct application *ap, struct soltab *stp, register struct hit *hitp, register struct uvcoord *uvp) |
void | rt_eto_free (struct soltab *stp) |
int | rt_eto_class (void) |
int | rt_eto_plot (struct bu_list *vhead, struct rt_db_internal *ip, const struct rt_tess_tol *ttol, const struct bn_tol *tol) |
int | rt_ell4 (struct rt_pt_node *pts, fastf_t a, fastf_t b, fastf_t dtol, fastf_t ntol) |
point_t * | rt_mk_ell (int *n, fastf_t a, fastf_t b, fastf_t dtol, fastf_t ntol) |
int | rt_eto_tess (struct nmgregion **r, struct model *m, struct rt_db_internal *ip, const struct rt_tess_tol *ttol, const struct bn_tol *tol) |
int | rt_eto_import (struct rt_db_internal *ip, const struct bu_external *ep, register const fastf_t *mat, const struct db_i *dbip) |
int | rt_eto_export (struct bu_external *ep, const struct rt_db_internal *ip, double local2mm, const struct db_i *dbip) |
int | rt_eto_import5 (struct rt_db_internal *ip, const struct bu_external *ep, register const fastf_t *mat, const struct db_i *dbip) |
int | rt_eto_export5 (struct bu_external *ep, const struct rt_db_internal *ip, double local2mm, const struct db_i *dbip) |
int | rt_eto_describe (struct bu_vls *str, const struct rt_db_internal *ip, int verbose, double mm2local) |
void | rt_eto_ifree (struct rt_db_internal *ip) |
int | seg_to_vlist (struct bu_list *vhead, const struct rt_tess_tol *ttol, point_t V, vect_t u_vec, vect_t v_vec, struct rt_sketch_internal *sketch_ip, genptr_t seg) |
int | rt_extrude_prep (struct soltab *stp, struct rt_db_internal *ip, struct rt_i *rtip) |
void | rt_extrude_print (register const struct soltab *stp) |
int | get_quadrant (fastf_t *v, fastf_t *local_x, fastf_t *local_y, fastf_t *vx, fastf_t *vy) |
int | isect_line2_ellipse (fastf_t *dist, fastf_t *ray_start, fastf_t *ray_dir, fastf_t *center, fastf_t *ra, fastf_t *rb) |
int | isect_line_earc (fastf_t *dist, fastf_t *ray_start, fastf_t *ray_dir, fastf_t *center, fastf_t *ra, fastf_t *rb, fastf_t *norm, fastf_t *start, fastf_t *end, int orientation) |
int | rt_extrude_shot (struct soltab *stp, register struct xray *rp, struct application *ap, struct seg *seghead) |
void | rt_extrude_vshot (struct soltab **stp, struct xray **rp, struct seg *segp, int n, struct application *ap) |
void | rt_extrude_norm (register struct hit *hitp, struct soltab *stp, register struct xray *rp) |
void | rt_extrude_curve (register struct curvature *cvp, register struct hit *hitp, struct soltab *stp) |
void | rt_extrude_uv (struct application *ap, struct soltab *stp, register struct hit *hitp, register struct uvcoord *uvp) |
void | rt_extrude_free (register struct soltab *stp) |
int | rt_extrude_class (void) |
int | rt_extrude_plot (struct bu_list *vhead, struct rt_db_internal *ip, const struct rt_tess_tol *ttol, const struct bn_tol *tol) |
void | get_indices (genptr_t seg, int *start, int *end) |
void | get_seg_midpoint (genptr_t seg, struct rt_sketch_internal *skt, point2d_t pt) |
void | isect_2D_loop_ray (point2d_t pta, point2d_t dir, struct bu_ptbl *loop, struct loop_inter **root, int which_loop, struct rt_sketch_internal *ip, struct bn_tol *tol) |
int | classify_sketch_loops (struct bu_ptbl *loopa, struct bu_ptbl *loopb, struct rt_sketch_internal *ip) |
int | rt_extrude_tess (struct nmgregion **r, struct model *m, struct rt_db_internal *ip, const struct rt_tess_tol *ttol, const struct bn_tol *tol) |
int | rt_extrude_import (struct rt_db_internal *ip, const struct bu_external *ep, register const fastf_t *mat, const struct db_i *dbip, struct resource *resp) |
int | rt_extrude_export (struct bu_external *ep, const struct rt_db_internal *ip, double local2mm, const struct db_i *dbip) |
int | rt_extrude_export5 (struct bu_external *ep, const struct rt_db_internal *ip, double local2mm, const struct db_i *dbip) |
int | rt_extrude_import5 (struct rt_db_internal *ip, const struct bu_external *ep, register const mat_t mat, const struct db_i *dbip, struct resource *resp, const int minor_type) |
int | rt_extrude_describe (struct bu_vls *str, const struct rt_db_internal *ip, int verbose, double mm2local) |
void | rt_extrude_ifree (struct rt_db_internal *ip) |
int | rt_extrude_xform (struct rt_db_internal *op, const mat_t mat, struct rt_db_internal *ip, int free, struct db_i *dbip, struct resource *resp) |
int | rt_extrude_tclform (const struct rt_functab *ftp, Tcl_Interp *interp) |
int | rt_extrude_tclget (Tcl_Interp *interp, const struct rt_db_internal *intern, const char *attr) |
int | rt_extrude_tcladjust (Tcl_Interp *interp, struct rt_db_internal *intern, int argc, char **argv) |
int | rt_grp_prep (struct soltab *stp, struct rt_db_internal *ip, struct rt_i *rtip) |
void | rt_grp_print (register const struct soltab *stp) |
int | rt_grp_shot (struct soltab *stp, register struct xray *rp, struct application *ap, struct seg *seghead) |
void | rt_grp_vshot (struct soltab **stp, struct xray **rp, struct seg *segp, int n, struct application *ap) |
void | rt_grp_norm (register struct hit *hitp, struct soltab *stp, register struct xray *rp) |
void | rt_grp_curve (register struct curvature *cvp, register struct hit *hitp, struct soltab *stp) |
void | rt_grp_uv (struct application *ap, struct soltab *stp, register struct hit *hitp, register struct uvcoord *uvp) |
void | rt_grp_free (struct soltab *stp) |
int | rt_grp_class (void) |
int | rt_grp_plot (struct bu_list *vhead, struct rt_db_internal *ip, const struct rt_tess_tol *ttol, const struct bn_tol *tol) |
int | rt_grp_import (struct rt_db_internal *ip, const struct bu_external *ep, const fastf_t *mat, const struct db_i *dbip) |
int | rt_grp_export (struct bu_external *ep, const struct rt_db_internal *ip, double local2mm, const struct db_i *dbip) |
int | rt_grp_import5 (struct rt_db_internal *ip, const struct bu_external *ep, register const fastf_t *mat, const struct db_i *dbip) |
int | rt_grp_export5 (struct bu_external *ep, const struct rt_db_internal *ip, double local2mm, const struct db_i *dbip) |
int | rt_grp_describe (struct bu_vls *str, const struct rt_db_internal *ip, int verbose, double mm2local) |
void | rt_grp_ifree (struct rt_db_internal *ip) |
int | rt_grp_tess (struct nmgregion **r, struct model *m, struct rt_db_internal *ip, const struct rt_tess_tol *ttol, const struct bn_tol *tol) |
int | rt_hlf_prep (struct soltab *stp, struct rt_db_internal *ip, struct rt_i *rtip) |
void | rt_hlf_print (register const struct soltab *stp) |
int | rt_hlf_shot (struct soltab *stp, register struct xray *rp, struct application *ap, struct seg *seghead) |
void | rt_hlf_vshot (struct soltab **stp, struct xray **rp, struct seg *segp, int n, struct application *ap) |
void | rt_hlf_norm (register struct hit *hitp, struct soltab *stp, register struct xray *rp) |
void | rt_hlf_curve (register struct curvature *cvp, register struct hit *hitp, struct soltab *stp) |
void | rt_hlf_uv (struct application *ap, struct soltab *stp, register struct hit *hitp, register struct uvcoord *uvp) |
void | rt_hlf_free (struct soltab *stp) |
int | rt_hlf_class (register const struct soltab *stp, const fastf_t *min, const fastf_t *max, const struct bn_tol *tol) |
int | rt_hlf_plot (struct bu_list *vhead, struct rt_db_internal *ip, const struct rt_tess_tol *ttol, const struct bn_tol *tol) |
int | rt_hlf_xform (struct rt_db_internal *op, const mat_t mat, struct rt_db_internal *ip, int free, struct db_i *dbip, struct resource *resp) |
int | rt_hlf_import (struct rt_db_internal *ip, const struct bu_external *ep, const fastf_t *mat, const struct db_i *dbip) |
int | rt_hlf_export (struct bu_external *ep, const struct rt_db_internal *ip, double local2mm, const struct db_i *dbip) |
int | rt_hlf_import5 (struct rt_db_internal *ip, const struct bu_external *ep, register const fastf_t *mat, const struct db_i *dbip) |
int | rt_hlf_export5 (struct bu_external *ep, const struct rt_db_internal *ip, double local2mm, const struct db_i *dbip) |
int | rt_hlf_describe (struct bu_vls *str, const struct rt_db_internal *ip, int verbose, double mm2local) |
void | rt_hlf_ifree (struct rt_db_internal *ip) |
int | rt_hlf_tess (struct nmgregion **r, struct model *m, struct rt_db_internal *ip, const struct rt_tess_tol *ttol, const struct bn_tol *tol) |
int | rt_hf_to_dsp (struct rt_db_internal *db_intern, struct resource *resp) |
int | rt_hf_prep (struct soltab *stp, struct rt_db_internal *ip, struct rt_i *rtip) |
void | rt_hf_print (register const struct soltab *stp) |
int | rt_hf_shot (struct soltab *stp, register struct xray *rp, struct application *ap, struct seg *seghead) |
void | rt_hf_norm (register struct hit *hitp, struct soltab *stp, register struct xray *rp) |
void | rt_hf_curve (register struct curvature *cvp, register struct hit *hitp, struct soltab *stp) |
void | rt_hf_uv (struct application *ap, struct soltab *stp, register struct hit *hitp, register struct uvcoord *uvp) |
void | rt_hf_free (register struct soltab *stp) |
int | rt_hf_class (void) |
int | rt_hf_plot (struct bu_list *vhead, struct rt_db_internal *ip, const struct rt_tess_tol *ttol, const struct bn_tol *tol) |
int | rt_hf_tess (struct nmgregion **r, struct model *m, struct rt_db_internal *ip, const struct rt_tess_tol *ttol, const struct bn_tol *tol) |
int | rt_hf_import (struct rt_db_internal *ip, const struct bu_external *ep, register const fastf_t *mat, const struct db_i *dbip) |
int | rt_hf_export (struct bu_external *ep, const struct rt_db_internal *ip, double local2mm, const struct db_i *dbip) |
int | rt_hf_import5 (struct rt_db_internal *ip, const struct bu_external *ep, const fastf_t *mat, const struct db_i *dbip) |
int | rt_hf_export5 (struct bu_external *ep, const struct rt_db_internal *ip, double local2mm, const struct db_i *dbip) |
int | rt_hf_describe (struct bu_vls *str, const struct rt_db_internal *ip, int verbose, double mm2local) |
void | rt_hf_ifree (struct rt_db_internal *ip) |
int | rt_rec_prep (struct soltab *stp, struct rt_db_internal *ip, struct rt_i *rtip) |
void | rt_rec_print (register const struct soltab *stp) |
int | rt_rec_shot (struct soltab *stp, register struct xray *rp, struct application *ap, struct seg *seghead) |
void | rt_rec_vshot (struct soltab **stp, struct xray **rp, struct seg *segp, int n, struct application *ap) |
void | rt_rec_norm (register struct hit *hitp, struct soltab *stp, register struct xray *rp) |
void | rt_rec_curve (register struct curvature *cvp, register struct hit *hitp, struct soltab *stp) |
void | rt_rec_uv (struct application *ap, struct soltab *stp, register struct hit *hitp, register struct uvcoord *uvp) |
void | rt_rec_free (struct soltab *stp) |
int | rt_rec_class (void) |
Variables | |
const struct bu_structparse | rt_arb_parse [] |
const int | rt_arb_faces [5][24] |
const int | rt_arb_planes [5][24] |
short | earb8 [12][18] |
short | earb7 [12][18] |
short | earb6 [10][18] |
short | earb5 [9][18] |
short | earb4 [5][18] |
int | rt_bot_minpieces |
int | rt_bot_minpieces = RT_DEFAULT_MINPIECES |
int | rt_bot_tri_per_piece = RT_DEFAULT_TRIS_PER_PIECE |
const struct bu_structparse | rt_cline_parse [] |
fastf_t | rt_cline_radius = -1.0 |
const struct bu_structparse | rt_dsp_parse [] |
const struct bu_structparse | rt_dsp_ptab [] |
const struct bu_structparse | fake_dsp_printab [] |
const struct bu_structparse | rt_ebm_parse [] |
const struct bu_structparse | rt_ehy_parse [] |
const struct bu_structparse | rt_ell_parse [] |
const struct bu_structparse | rt_epa_parse [] |
const struct bu_structparse | rt_eto_parse [] |
const struct bu_structparse | rt_grp_parse [] |
const struct bu_structparse | rt_hlf_parse [] |
const struct bu_structparse | rt_hf_parse [] |
const struct bu_structparse | rt_hf_cparse [] |
|
|
|
|
|
Definition at line 82 of file rtgeom.h. Referenced by bu_identify_magic(), rt_tor_import(), and rt_tor_import5(). |
|
Definition at line 83 of file rtgeom.h. Referenced by rt_tor_describe(), rt_tor_export(), rt_tor_export5(), rt_tor_ifree(), rt_tor_plot(), rt_tor_prep(), and rt_tor_tess(). |
|
Definition at line 97 of file rtgeom.h. Referenced by bu_identify_magic(), nmg_to_tgc(), rt_tgc_import(), and rt_tgc_import5(). |
|
Definition at line 98 of file rtgeom.h. Referenced by rt_rec_prep(), rt_tgc_describe(), rt_tgc_export(), rt_tgc_export5(), rt_tgc_plot(), rt_tgc_prep(), rt_tgc_tess(), and rt_tgc_tnurb(). |
|
Definition at line 110 of file rtgeom.h. Referenced by bu_identify_magic(), rt_ell_import(), and rt_ell_import5(). |
|
Definition at line 111 of file rtgeom.h. Referenced by rt_ell_describe(), rt_ell_export(), rt_ell_export5(), rt_ell_plot(), rt_ell_prep(), rt_ell_tess(), rt_ell_tnurb(), and rt_sph_prep(). |
|
Definition at line 125 of file rtgeom.h. Referenced by rt_superell_import(), and rt_superell_import5(). |
|
Definition at line 126 of file rtgeom.h. Referenced by rt_superell_describe(), rt_superell_export(), rt_superell_export5(), rt_superell_plot(), and rt_superell_prep(). |
|
Definition at line 137 of file rtgeom.h. Referenced by rt_metaball_import5(). |
|
Definition at line 138 of file rtgeom.h. Referenced by rt_metaball_describe(), rt_metaball_export5(), rt_metaball_ifree(), rt_metaball_plot(), and rt_metaball_prep(). |
|
Definition at line 150 of file rtgeom.h. Referenced by bu_identify_magic(), rt_arb_import(), rt_arb_import5(), and wdb_make_bb_cmd(). |
|
Definition at line 151 of file rtgeom.h. Referenced by rt_arb_calc_planes(), rt_arb_calc_points(), rt_arb_centroid(), rt_arb_describe(), rt_arb_edit(), rt_arb_export(), rt_arb_export5(), rt_arb_get_cgtype(), rt_arb_move_edge(), rt_arb_plot(), rt_arb_prep(), rt_arb_setup(), rt_arb_std_type(), rt_arb_tess(), rt_arb_tnurb(), rt_arb_uv(), wdb_move_arb_edge_cmd(), wdb_move_arb_face_cmd(), and wdb_rotate_arb_face_cmd(). |
|
Definition at line 162 of file rtgeom.h. Referenced by bu_identify_magic(), rt_ars_import(), and rt_ars_import5(). |
|
Definition at line 163 of file rtgeom.h. Referenced by rt_ars_describe(), rt_ars_export(), rt_ars_export5(), rt_ars_ifree(), rt_ars_plot(), rt_ars_prep(), rt_ars_tcladjust(), rt_ars_tclget(), and rt_ars_tess(). |
|
Definition at line 172 of file rtgeom.h. Referenced by bu_identify_magic(), rt_hlf_import(), and rt_hlf_import5(). |
|
Definition at line 173 of file rtgeom.h. Referenced by rt_hlf_describe(), rt_hlf_export(), rt_hlf_export5(), rt_hlf_plot(), rt_hlf_prep(), rt_hlf_tess(), and rt_hlf_xform(). |
|
Definition at line 185 of file rtgeom.h. Referenced by rt_grp_import(), and rt_grp_import5(). |
|
Definition at line 186 of file rtgeom.h. Referenced by rt_grp_describe(), rt_grp_export(), rt_grp_export5(), rt_grp_plot(), rt_grp_prep(), and rt_grp_tess(). |
|
Definition at line 202 of file rtgeom.h. Referenced by bu_identify_magic(), nmg_to_poly(), and rt_pg_import(). |
|
Definition at line 203 of file rtgeom.h. Referenced by rt_pg_describe(), rt_pg_export(), rt_pg_ifree(), rt_pg_plot(), rt_pg_plot_poly(), rt_pg_prep(), rt_pg_tess(), and rt_pg_to_bot(). |
|
Value: ((_s)->ctl_points[ \ ((_v)*(_s)->s_size[0]+(_u))*RT_NURB_EXTRACT_COORDS((_s)->pt_type)]) |
|
Definition at line 234 of file rtgeom.h. Referenced by rt_ebm_tcladjust(). |
|
Definition at line 245 of file rtgeom.h. Referenced by bu_identify_magic(), rt_ebm_import(), rt_ebm_import5(), and rt_ebm_make(). |
|
Definition at line 246 of file rtgeom.h. Referenced by rt_ebm_describe(), rt_ebm_export(), rt_ebm_export5(), rt_ebm_ifree(), rt_ebm_plot(), rt_ebm_prep(), rt_ebm_tcladjust(), rt_ebm_tclget(), and rt_ebm_tess(). |
|
|
|
Definition at line 265 of file rtgeom.h. Referenced by bu_identify_magic(), rt_vol_import(), and rt_vol_import5(). |
|
Definition at line 266 of file rtgeom.h. Referenced by rt_vol_describe(), rt_vol_export(), rt_vol_export5(), rt_vol_ifree(), rt_vol_plot(), rt_vol_prep(), and rt_vol_tess(). |
|
Definition at line 290 of file rtgeom.h. Referenced by rt_hf_import(). |
|
Definition at line 291 of file rtgeom.h. Referenced by rt_hf_describe(), rt_hf_export(), rt_hf_ifree(), rt_hf_plot(), rt_hf_prep(), rt_hf_tess(), and rt_hf_to_dsp(). |
|
Definition at line 301 of file rtgeom.h. Referenced by bu_identify_magic(), rt_arbn_import(), and rt_arbn_import5(). |
|
Definition at line 302 of file rtgeom.h. Referenced by rt_arbn_describe(), rt_arbn_export(), rt_arbn_export5(), rt_arbn_ifree(), rt_arbn_plot(), rt_arbn_prep(), rt_arbn_tcladjust(), rt_arbn_tclget(), and rt_arbn_tess(). |
|
Definition at line 313 of file rtgeom.h. Referenced by bu_identify_magic(), rt_pipe_import(), and rt_pipe_import5(). |
|
Definition at line 314 of file rtgeom.h. Referenced by rt_pipe_describe(), rt_pipe_export(), rt_pipe_export5(), rt_pipe_ifree(), rt_pipe_plot(), rt_pipe_prep(), rt_pipe_tcladjust(), rt_pipe_tclget(), rt_pipe_tess(), and rt_vls_pipept(). |
|
Definition at line 328 of file rtgeom.h. Referenced by bu_identify_magic(), rt_part_import(), and rt_part_import5(). |
|
Definition at line 329 of file rtgeom.h. Referenced by rt_part_describe(), rt_part_export(), rt_part_export5(), rt_part_plot(), rt_part_prep(), rt_part_tess(), and rt_part_uv(). |
|
Definition at line 331 of file rtgeom.h. Referenced by rt_part_describe(), rt_part_import(), rt_part_import5(), rt_part_plot(), rt_part_prep(), rt_part_print(), rt_part_shot(), and rt_part_tess(). |
|
Definition at line 332 of file rtgeom.h. Referenced by rt_part_describe(), rt_part_import(), rt_part_import5(), rt_part_norm(), rt_part_print(), and rt_part_shot(). |
|
Definition at line 333 of file rtgeom.h. Referenced by rt_part_describe(), rt_part_import(), rt_part_import5(), and rt_part_print(). |
|
Definition at line 345 of file rtgeom.h. Referenced by rt_rpc_import(), and rt_rpc_import5(). |
|
Definition at line 346 of file rtgeom.h. Referenced by rt_rpc_describe(), rt_rpc_export(), rt_rpc_export5(), rt_rpc_ifree(), rt_rpc_plot(), rt_rpc_prep(), and rt_rpc_tess(). |
|
Definition at line 359 of file rtgeom.h. Referenced by rt_rhc_import(), and rt_rhc_import5(). |
|
Definition at line 360 of file rtgeom.h. Referenced by rt_rhc_describe(), rt_rhc_export(), rt_rhc_export5(), rt_rhc_ifree(), rt_rhc_plot(), rt_rhc_prep(), and rt_rhc_tess(). |
|
Definition at line 373 of file rtgeom.h. Referenced by rt_epa_import(), and rt_epa_import5(). |
|
Definition at line 374 of file rtgeom.h. Referenced by rt_epa_describe(), rt_epa_export(), rt_epa_export5(), rt_epa_ifree(), rt_epa_plot(), rt_epa_prep(), and rt_epa_tess(). |
|
Definition at line 388 of file rtgeom.h. Referenced by rt_ehy_import(), and rt_ehy_import5(). |
|
Definition at line 389 of file rtgeom.h. Referenced by rt_ehy_describe(), rt_ehy_export(), rt_ehy_export5(), rt_ehy_ifree(), rt_ehy_plot(), rt_ehy_prep(), and rt_ehy_tess(). |
|
Definition at line 402 of file rtgeom.h. Referenced by rt_eto_import(), and rt_eto_import5(). |
|
Definition at line 403 of file rtgeom.h. Referenced by rt_eto_describe(), rt_eto_export(), rt_eto_export5(), rt_eto_ifree(), rt_eto_plot(), rt_eto_prep(), and rt_eto_tess(). |
|
|
|
Definition at line 433 of file rtgeom.h. Referenced by rt_dsp_import(), rt_dsp_import5(), rt_dsp_make(), and rt_hf_to_dsp(). |
|
Definition at line 434 of file rtgeom.h. Referenced by dsp_val(), rt_dsp_describe(), rt_dsp_export(), rt_dsp_export5(), rt_dsp_ifree(), rt_dsp_norm(), rt_dsp_plot(), rt_dsp_prep(), rt_dsp_print(), rt_dsp_shot(), rt_dsp_tcladjust(), rt_dsp_tess(), and wdb_node_write(). |
|
|
|
Definition at line 458 of file rtgeom.h. Referenced by rt_sketch_import(), and rt_sketch_import5(). |
|
Definition at line 459 of file rtgeom.h. Referenced by classify_sketch_loops(), rt_copy_sketch(), rt_extrude_plot(), rt_extrude_prep(), rt_extrude_tess(), rt_sketch_describe(), rt_sketch_export(), rt_sketch_export5(), rt_sketch_ifree(), rt_sketch_plot(), rt_sketch_tcladjust(), and rt_sketch_tclget(). |
|
subm
Definition at line 474 of file rtgeom.h. Referenced by rt_submodel_import(), and rt_submodel_import5(). |
|
Definition at line 475 of file rtgeom.h. Referenced by rt_submodel_describe(), rt_submodel_export(), rt_submodel_export5(), rt_submodel_ifree(), rt_submodel_plot(), rt_submodel_prep(), and rt_submodel_tess(). |
|
Definition at line 497 of file rtgeom.h. Referenced by rt_extrude_import(), rt_extrude_import5(), and rt_extrude_xform(). |
|
Definition at line 498 of file rtgeom.h. Referenced by db_update_nref(), rt_extrude_describe(), rt_extrude_export(), rt_extrude_export5(), rt_extrude_ifree(), rt_extrude_plot(), rt_extrude_prep(), rt_extrude_tcladjust(), rt_extrude_tclget(), rt_extrude_tess(), rt_extrude_xform(), wdb_move_all_cmd(), and wdb_node_write(). |
|
Definition at line 514 of file rtgeom.h. Referenced by rt_cline_import(), and rt_cline_import5(). |
|
Definition at line 515 of file rtgeom.h. Referenced by rt_cline_describe(), rt_cline_export(), rt_cline_export5(), rt_cline_ifree(), rt_cline_plot(), rt_cline_prep(), rt_cline_tcladjust(), rt_cline_tclget(), and rt_cline_tess(). |
|
unoriented triangles
Definition at line 545 of file rtgeom.h. Referenced by rt_ars_prep(), and rt_bot_describe(). |
|
oriented counter-clockwise
Definition at line 546 of file rtgeom.h. Referenced by nmg_bot(), rt_bot_describe(), and rt_pg_to_bot(). |
|
oriented clockwise
Definition at line 547 of file rtgeom.h. Referenced by rt_bot_describe(), and rt_bot_tess(). |
|
triangles represent a surface (no volume)
Definition at line 550 of file rtgeom.h. Referenced by rt_bot_describe(). |
|
triangles respresent the boundary of a solid object
Definition at line 551 of file rtgeom.h. Referenced by add_solid(), nmg_bot(), rt_ars_prep(), rt_bot_describe(), and rt_pg_to_bot(). |
|
triangles represent plates. Thicknesses are specified in "thickness" array, and face mode is specified in "face_mode" bit vector. This is the FASTGEN "plate" mode. Orientation is ignored.
Definition at line 552 of file rtgeom.h. Referenced by add_solid(), rt_bot_describe(), rt_bot_export(), rt_bot_export5(), rt_bot_ifree(), rt_bot_makesegs(), rt_bot_tclget(), rt_bot_tess(), and XGLUE(). |
|
same as plate mode, but LOS is set equal to face thickness, not the thickness divided by the cosine of the obliquity angle
Definition at line 555 of file rtgeom.h. Referenced by add_solid(), rt_bot_describe(), rt_bot_export(), rt_bot_export5(), rt_bot_ifree(), rt_bot_makesegs(), rt_bot_tclget(), rt_bot_tess(), and XGLUE(). |
|
This primitive may have surface normals at each face vertex.
Definition at line 559 of file rtgeom.h. Referenced by rt_bot_plot_poly(), and XGLUE(). |
|
Use the surface normals if they exist.
Definition at line 560 of file rtgeom.h. Referenced by rt_bot_describe(), rt_bot_plot_poly(), rt_bot_tclget(), rt_smooth_bot(), and XGLUE(). |
|
Use the single precision version of "tri_specific" during prep.
Definition at line 561 of file rtgeom.h. Referenced by rt_bot_free(), rt_bot_makesegs(), rt_bot_norm(), rt_bot_piece_shot(), rt_bot_prep(), rt_bot_prep_pieces(), rt_bot_shot(), rt_bot_tclget(), and rt_botface_w_normals(). |
|
Definition at line 563 of file rtgeom.h. Referenced by make_bot_object(), nmg_bot(), rt_bot_import(), rt_bot_import5(), rt_bot_xform(), and rt_pg_to_bot(). |
|
|
Definition at line 81 of file g_arb.c. Referenced by rt_arb_add_pt(). |
|
Definition at line 163 of file g_arb.c. Referenced by rt_arb_get_cgtype(). |
|
Definition at line 164 of file g_arb.c. Referenced by rt_arb_get_cgtype(). |
|
Definition at line 880 of file g_arb.c. Referenced by rt_rec_vshot(), rt_sph_vshot(), and rt_vstub(). |
|
Value: RT_ADD_VLIST( vhead, valp[a], BN_VLIST_LINE_MOVE ); \ RT_ADD_VLIST( vhead, valp[b], BN_VLIST_LINE_DRAW ); \ RT_ADD_VLIST( vhead, valp[c], BN_VLIST_LINE_DRAW ); \ RT_ADD_VLIST( vhead, valp[d], BN_VLIST_LINE_DRAW ); Definition at line 1108 of file g_arb.c. Referenced by rt_arb_plot(). |
|
Definition at line 1988 of file g_arb.c. Referenced by rt_arb_edit(). |
|
Definition at line 1989 of file g_arb.c. Referenced by rt_arb_edit(). |
|
Definition at line 1990 of file g_arb.c. Referenced by rt_arb_edit(). |
|
Definition at line 1991 of file g_arb.c. Referenced by rt_arb_edit(). |
|
Definition at line 1992 of file g_arb.c. Referenced by rt_arb_edit(). |
|
Definition at line 1993 of file g_arb.c. Referenced by rt_arb_edit(). |
|
Definition at line 1994 of file g_arb.c. Referenced by rt_arb_edit(). |
|
|
|
Definition at line 64 of file g_ars.c. Referenced by rt_ars_print(), rt_pg_free(), and rt_pg_print(). |
|
|
|
Definition at line 993 of file g_ars.c. Referenced by rt_ars_tess(). |
|
Value: if( !(verts[IJ(a,b)]) ) { \ verts[IJ(a,b)] = \ nmg_find_pt_in_shell( s, ARS_PT(a,b), tol ); \ } |
|
Value: if( !((*corners[corn])->vg_p) ) { \ nmg_vertex_gv( *(corners[corn]), ARS_PT(a,b) ); \ } |
|
|
|
Definition at line 64 of file g_bot.c. Referenced by XGLUE(). |
|
Definition at line 70 of file g_bot.c. Referenced by rt_hf_shot(), and rt_pg_shot(). |
|
|
|
Value: { \ if( _in_or_out < 0 ) { /* this is an exit */ \ if( (_hitp)->hit_vpriv[X] < 0.0 ) { \ VREVERSE( (_hitp)->hit_normal, trip->tri_N ); \ } else { \ VMOVE( (_hitp)->hit_normal, trip->tri_N ); \ } \ } else { /* this is an entrance */ \ if( (_hitp)->hit_vpriv[X] > 0.0 ) { \ VREVERSE( (_hitp)->hit_normal, trip->tri_N ); \ } else { \ VMOVE( (_hitp)->hit_normal, trip->tri_N ); \ } \ } \ } |
|
Definition at line 130 of file g_bot.c. Referenced by XGLUE(). |
|
|
|
|
|
|
|
|
|
|
|
Definition at line 133 of file g_bot.c. Referenced by XGLUE(). |
|
|
|
|
|
E D G E _ C A N _ B E _ D E C I M A T E D Routine to determine if the specified edge can be eliminated within the given constraints "faces" is the current working version of the BOT face list. "v1" and "v2" are the indices into the BOT vertex list, they define the edge. "max_chord_error" is the maximum distance allowed between the old surface and new. "max_normal_error" is actually the minimum dot product allowed between old and new surface normals (cosine). "min_edge_length_sq" is the square of the minimum allowed edge length. any constraint value of -1 means ignore this constraint returns 1 if edge can be eliminated without breaking conatraints, 0 otherwise |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Definition at line 116 of file g_dsp.c. Referenced by dsp_in_rpp(), rt_dsp_norm(), and rt_dsp_prep(). |
|
Definition at line 117 of file g_dsp.c. Referenced by dsp_in_rpp(), and rt_dsp_prep(). |
|
Definition at line 118 of file g_dsp.c. Referenced by dsp_in_rpp(), and rt_dsp_prep(). |
|
Definition at line 119 of file g_dsp.c. Referenced by dsp_in_rpp(), and rt_dsp_prep(). |
|
Definition at line 120 of file g_dsp.c. Referenced by dsp_in_rpp(), and rt_dsp_prep(). |
|
Definition at line 121 of file g_dsp.c. Referenced by dsp_in_rpp(), and rt_dsp_prep(). |
|
Definition at line 122 of file g_dsp.c. Referenced by rt_dsp_prep(). |
|
Definition at line 123 of file g_dsp.c. Referenced by rt_dsp_norm(). |
|
Definition at line 146 of file g_dsp.c. Referenced by dsp_pos(), and rt_dsp_plot(). |
|
|
|
|
|
Definition at line 171 of file g_dsp.c. Referenced by dsp_pos(), and rt_dsp_uv(). |
|
Definition at line 172 of file g_dsp.c. Referenced by dsp_pos(), and rt_dsp_uv(). |
|
|
|
|
|
|
|
A D D _ S E G Add a segment to the list of intersections in DSP space Return: 0 continue to intersect 1 All intersections computed, terminate intersection processing |
|
|
|
|
|
|
|
Definition at line 120 of file g_ebm.c. Referenced by rt_seg_planeclip(), and rt_vol_norm(). |
|
Definition at line 121 of file g_ebm.c. Referenced by rt_ebm_norm(), and rt_vol_norm(). |
|
Definition at line 122 of file g_ebm.c. Referenced by rt_ebm_norm(), and rt_vol_norm(). |
|
Definition at line 123 of file g_ebm.c. Referenced by rt_ebm_norm(), and rt_vol_norm(). |
|
Definition at line 124 of file g_ebm.c. Referenced by rt_ebm_norm(), and rt_vol_norm(). |
|
Definition at line 125 of file g_ebm.c. Referenced by rt_ebm_dda(), rt_ebm_norm(), rt_seg_planeclip(), and rt_vol_norm(). |
|
Definition at line 133 of file g_ebm.c. Referenced by rt_ebm_import(), and rt_ebm_import5(). |
|
Definition at line 134 of file g_ebm.c. Referenced by rt_ebm_import(), and rt_ebm_import5(). |
|
Value: ((unsigned char *)((_eip)->mp->apbuf))[ \ ((_yy)+BIT_YWIDEN)*((_eip)->xdim + \ BIT_XWIDEN*2)+(_xx)+BIT_XWIDEN ] Definition at line 135 of file g_ebm.c. Referenced by rt_ebm_dda(), rt_ebm_import(), rt_ebm_import5(), rt_ebm_plot(), and rt_ebm_tess(). |
|
Definition at line 330 of file g_ehy.c. Referenced by rt_ehy_curve(), rt_ehy_norm(), rt_ehy_shot(), and rt_ehy_uv(). |
|
Definition at line 331 of file g_ehy.c. Referenced by rt_ehy_curve(), rt_ehy_norm(), and rt_ehy_uv(). |
|
|
|
|
|
Definition at line 402 of file g_ell.c. Referenced by rt_ell_vshot(). |
|
R T _ E L L _ 1 6 P T S Also used by the TGC code Definition at line 588 of file g_ell.c. Referenced by rt_ell(), rt_ell_16pts(), and rt_ell_norms(). |
|
Definition at line 331 of file g_epa.c. Referenced by rt_epa_curve(), rt_epa_norm(), rt_epa_shot(), and rt_epa_uv(). |
|
Definition at line 332 of file g_epa.c. Referenced by rt_epa_curve(), rt_epa_norm(), rt_epa_shot(), and rt_epa_uv(). |
|
|
|
|
|
|
|
Definition at line 86 of file g_extrude.c. Referenced by rt_extrude_shot(). |
|
Definition at line 89 of file g_extrude.c. Referenced by rt_extrude_norm(), and rt_extrude_shot(). |
|
Definition at line 90 of file g_extrude.c. Referenced by rt_extrude_norm(), and rt_extrude_shot(). |
|
Definition at line 91 of file g_extrude.c. Referenced by rt_extrude_curve(), rt_extrude_norm(), and rt_extrude_shot(). |
|
Definition at line 92 of file g_extrude.c. Referenced by rt_extrude_curve(), and rt_extrude_norm(). |
|
Definition at line 93 of file g_extrude.c. |
|
Definition at line 94 of file g_extrude.c. Referenced by rt_extrude_norm(). |
|
Definition at line 97 of file g_extrude.c. Referenced by classify_sketch_loops(). |
|
Definition at line 98 of file g_extrude.c. Referenced by classify_sketch_loops(). |
|
Definition at line 99 of file g_extrude.c. Referenced by classify_sketch_loops(). |
|
Definition at line 100 of file g_extrude.c. Referenced by classify_sketch_loops(). |
|
Definition at line 102 of file g_extrude.c. Referenced by classify_sketch_loops(). |
|
Definition at line 103 of file g_extrude.c. Referenced by classify_sketch_loops(). |
|
Definition at line 1026 of file g_extrude.c. |
|
Definition at line 48 of file g_grip.c. Referenced by rt_grp_print(). |
|
Definition at line 123 of file g_grip.c. Referenced by rt_hlf_vshot(). |
|
|
|
|
|
|
|
|
|
Definition at line 394 of file g_rec.c. Referenced by rt_rec_curve(), rt_rec_norm(), rt_rec_shot(), rt_rec_uv(), and rt_rec_vshot(). |
|
Definition at line 395 of file g_rec.c. Referenced by rt_rec_curve(), rt_rec_norm(), rt_rec_shot(), rt_rec_uv(), and rt_rec_vshot(). |
|
Definition at line 396 of file g_rec.c. Referenced by rt_rec_curve(), rt_rec_norm(), rt_rec_shot(), rt_rec_uv(), and rt_rec_vshot(). |
|
|
|
R T _ A R B _ I F R E E Free the storage associated with the rt_db_internal version of this solid. Definition at line 1421 of file g_arb.c. References bu_free(), rt_db_internal::idb_ptr, NULL, and RT_CK_DB_INTERNAL. Here is the call graph for this function: ![]() |
|
R T _ A R B _ G E T _ C G T Y P E C G A R B S : determines COMGEOM arb types from GED general arbs Inputs - Returns - # Number of distinct edge vectors (Number of entries in uvec array) Implicit returns - *cgtype Comgeom type (number range 4..8; ARB4 .. ARB8). uvec[8] svec[11] Entries [0] and [1] are special Definition at line 184 of file g_arb.c. References BN_CK_TOL, NO, RT_ARB_CK_MAGIC, and YES. |
|
R T _ A R B _ S T D _ T Y P E Given an ARB in internal form, return it's specific ARB type. Set tol.dist = 0.0001 to obtain past behavior. Returns - 0 Error in input ARB 4 ARB4 5 ARB5 6 ARB6 7 ARB7 8 ARB8 Implicit return - rt_arb_internal pt[] array reorganized into GIFT "standard" order. Definition at line 324 of file g_arb.c. References BN_CK_TOL, bu_bomb(), ID_ARB8, rt_db_internal::idb_ptr, RT_ARB_CK_MAGIC, rt_arb_get_cgtype(), and RT_CK_DB_INTERNAL. Referenced by rt_arb_describe(), wdb_get_type_cmd(), wdb_move_arb_edge_cmd(), wdb_move_arb_face_cmd(), and wdb_rotate_arb_face_cmd(). Here is the call graph for this function: ![]() |
|
R T _ A R B _ C E N T R O I D Find the center point for the arb whose values are in the s array, with the given number of verticies. Return the point in center_pt. Definition at line 352 of file g_arb.c. References rt_arb_internal::pt, RT_ARB_CK_MAGIC, VADD2, and VSETALL. |
|
R T _ A R B _ A D D _ P T Add another point to a struct arb_specific, checking for unique pts. The first two points are easy. The third one triggers most of the plane calculations, and forth and subsequent ones are merely checked for validity. Returns - 0 point was accepted -1 point was rejected Definition at line 382 of file g_arb.c. References aface::A, oface::arb_U, oface::arb_Ulen, oface::arb_UVorig, oface::arb_V, oface::arb_Vlen, bu_log(), FAST, LOCAL, MAGNITUDE, NEAR_ZERO, prep_arb::pa_center, prep_arb::pa_clockwise, prep_arb::pa_doopt, prep_arb::pa_face, prep_arb::pa_faces, prep_arb::pa_opt, aface::peqn, RT_SLOPPY_DOT_TOL, SQRT_SMALL_FASTF, VCROSS, VDOT, VJOIN1, VMOVE, VREVERSE, VSCALE, VSUB2, and VUNITIZE. Here is the call graph for this function: ![]() |
|
R T _ A R B _ M K _ P L A N E S Given an rt_arb_internal structure with 8 points in it, compute the face information. Returns - 0 OK <0 failure Definition at line 525 of file g_arb.c. References LOCAL, rt_arb_internal::pt, VADD2, and VSETALL. Referenced by rt_arb_setup(), rt_arb_tess(), and rt_arb_tnurb(). |
|
R T _ A R B _ S E T U P This is packaged as a separate function, so that it can also be called "on the fly" from the UV mapper. Returns - 0 OK !0 failure Definition at line 653 of file g_arb.c. References arb_specific::arb_face, arb_specific::arb_nmfaces, arb_specific::arb_opt, bcopy, bu_malloc(), directory::d_namep, bn_tol::dist_sq, LOCAL, MAGNITUDE, prep_arb::pa_doopt, prep_arb::pa_face, prep_arb::pa_faces, prep_arb::pa_opt, prep_arb::pa_tol_sq, rt_arb_internal::pt, RT_ARB_CK_MAGIC, rt_arb_mk_planes(), rt_i::rti_tol, soltab::st_aradius, soltab::st_bradius, soltab::st_center, soltab::st_dp, soltab::st_max, soltab::st_min, soltab::st_specific, VADD2SCALE, VMINMAX, VSUB2SCALE, X, Y, and Z. Referenced by rt_arb_prep(), and rt_arb_uv(). Here is the call graph for this function: ![]() |
|
R T _ A R B _ P R E P This is the actual LIBRT "prep" interface. Returns - 0 OK !0 failure Definition at line 740 of file g_arb.c. References rt_db_internal::idb_ptr, RT_ARB_CK_MAGIC, and rt_arb_setup(). Here is the call graph for this function: ![]() |
|
R T _ A R B _ P R I N T Definition at line 754 of file g_arb.c. References arb_specific::arb_face, arb_specific::arb_nmfaces, arb_specific::arb_opt, bu_log(), HPRINT, and VPRINT. Here is the call graph for this function: ![]() |
|
R T _ A R B _ S H O T Function - Shoot a ray at an ARB8. Algorithm - The intersection distance is computed for each face. The largest IN distance and the smallest OUT distance are used as the entry and exit points. Returns - 0 MISS >0 HIT Definition at line 798 of file g_arb.c. References application::a_resource, arb_specific::arb_face, arb_specific::arb_nmfaces, BU_LIST_INSERT, bu_log(), FAST, hit::hit_dist, hit::hit_surfno, HPRINT, INFINITY, seg::l, LOCAL, RT_G_DEBUG, RT_GET_SEG, seg::seg_in, seg::seg_out, seg::seg_stp, SQRT_SMALL_FASTF, soltab::st_specific, V3ARGS, and VDOT. Here is the call graph for this function: ![]() |
|
R T _ A R B _ V S H O T This is the Becker vector version segp[i].seg_next = SEG_NULL; Definition at line 887 of file g_arb.c. References FAST, hit::hit_dist, hit::hit_surfno, INFINITY, seg::seg_in, and seg::seg_out. |
|
R T _ A R B _ N O R M Given ONE ray distance, return the normal and entry/exit point. Definition at line 978 of file g_arb.c. References arb_specific::arb_face, aface::peqn, soltab::st_specific, VJOIN1, and VMOVE. |
|
R T _ A R B _ C U R V E Return the "curvature" of the ARB face. Pick a principle direction orthogonal to normal, and indicate no curvature. Definition at line 997 of file g_arb.c. References bn_vec_ortho(). Here is the call graph for this function: ![]() |
|
R T _ A R B _ U V For a hit on a face of an ARB, return the (u,v) coordinates of the hit point. 0 <= u,v <= 1. u extends along the arb_U direction defined by B-A, v extends along the arb_V direction defined by Nx(B-A). Definition at line 1013 of file g_arb.c. References application::a_diverge, application::a_ray, application::a_rbeam, application::a_resource, application::a_rt_i, arb_specific::arb_face, arb_specific::arb_opt, bu_log(), bu_semaphore_acquire(), bu_semaphore_release(), DEBUG_SOLIDS, rt_db_internal::idb_ptr, LOCAL, aface::peqn, xray::r_dir, RT_ARB_CK_MAGIC, rt_arb_setup(), RT_CK_DB_INTERNAL, rt_db_free_internal(), rt_db_get_internal(), RT_G_DEBUG, rt_pr_soltab(), RT_SEM_MODEL, rt_i::rti_dbip, soltab::st_dp, soltab::st_matp, soltab::st_specific, VDOT, VJOIN1, VREVERSE, VSUB2, and VUNITIZE. Here is the call graph for this function: ![]() |
|
R T _ A R B _ F R E E Definition at line 1098 of file g_arb.c. References arb_specific::arb_opt, and bu_free(). Here is the call graph for this function: ![]() |
|
R T _ A R B _ P L O T Plot an ARB by tracing out four "U" shaped contours This draws each edge only once. XXX No checking for degenerate faces is done, but probably should be. Definition at line 1122 of file g_arb.c. References ARB_FACE, rt_db_internal::idb_ptr, rt_arb_internal::pt, RT_ARB_CK_MAGIC, and RT_CK_DB_INTERNAL. |
|
R T _ A R B _ C L A S S Definition at line 1141 of file g_arb.c. References arb_specific::arb_face, arb_specific::arb_nmfaces, BN_CLASSIFY_OUTSIDE, bn_hlf_class(), bu_log(), aface::peqn, RT_CLASSIFY_OUTSIDE, RT_CLASSIFY_UNIMPLEMENTED, and soltab::st_specific. Here is the call graph for this function: ![]() |
|
R T _ A R B _ I M P O R T Import an ARB8 from the database format to the internal format. There are two parts to this: First, the database is presently single precision binary floating point. Second, the ARB in the database is represented as a vector from the origin to the first point, and 7 vectors from the first point to the remaining points. In 1979 it seemed like a good idea... Convert from vector to point notation by rotating each vector and adding in the base vector. Definition at line 1178 of file g_arb.c. References BU_CK_EXTERNAL, bu_log(), bu_malloc(), DB5_MAJORTYPE_BRLCAD, bu_external::ext_buf, record::i, ID_ARB8, ID_SOLID, rt_db_internal::idb_major_type, rt_db_internal::idb_meth, rt_db_internal::idb_ptr, LOCAL, rt_arb_internal::magic, MAT4X3PNT, rt_arb_internal::pt, RT_ARB_INTERNAL_MAGIC, RT_CK_DB_INTERNAL, rt_fastf_float(), record::s, record::solidrec::s_values, record::u_id, and VADD2. Here is the call graph for this function: ![]() |
|
R T _ A R B _ E X P O R T Definition at line 1222 of file g_arb.c. References bu_calloc(), BU_CK_EXTERNAL, bu_external::ext_buf, bu_external::ext_nbytes, GENARB8, record::i, ID_ARB8, ID_SOLID, rt_db_internal::idb_ptr, rt_arb_internal::pt, RT_ARB_CK_MAGIC, RT_CK_DB_INTERNAL, record::s, record::solidrec::s_id, record::solidrec::s_type, record::solidrec::s_values, VSCALE, and VSUB2SCALE. Here is the call graph for this function: ![]() |
|
R T _ A R B _ I M P O R T 5 Import an arb from the db5 format and convert to the internal structure. Code duplicated from rt_arb_import() with db5 help from g_ell.c Definition at line 1257 of file g_arb.c. References BU_ASSERT_LONG, BU_CK_EXTERNAL, bu_malloc(), DB5_MAJORTYPE_BRLCAD, bu_external::ext_buf, bu_external::ext_nbytes, ID_ARB8, rt_db_internal::idb_major_type, rt_db_internal::idb_meth, rt_db_internal::idb_ptr, rt_arb_internal::magic, MAT4X3PNT, ntohd(), rt_arb_internal::pt, RT_ARB_INTERNAL_MAGIC, RT_CK_DB_INTERNAL, and SIZEOF_NETWORK_DOUBLE. Here is the call graph for this function: ![]() |
|
R T _ A R B _ E X P O R T 5 Definition at line 1285 of file g_arb.c. References BU_CK_EXTERNAL, bu_malloc(), bu_external::ext_buf, bu_external::ext_nbytes, ID_ARB8, rt_db_internal::idb_ptr, rt_arb_internal::pt, RT_ARB_CK_MAGIC, RT_CK_DB_INTERNAL, SIZEOF_NETWORK_DOUBLE, and VSCALE. Here is the call graph for this function: ![]() |
|
R T _ A R B _ D E S C R I B E Make human-readable formatted presentation of this solid. First line describes type of solid. Additional lines are indented one tab, and give parameter values. Definition at line 1313 of file g_arb.c. References BN_TOL_MAGIC, bu_vls_strcat(), rt_db_internal::idb_ptr, INTCLAMP, RT_ARB_CK_MAGIC, rt_arb_std_type(), X, Y, and Z. Here is the call graph for this function: ![]() |
|
R T _ A R B _ T E S S "Tessellate" an ARB into an NMG data structure. Purely a mechanical transformation of one faceted object into another. Returns - -1 failure 0 OK. *r points to nmgregion that holds this tessellation. Definition at line 1440 of file g_arb.c. References BU_LIST_FIRST, bzero, bn_tol::dist_sq, rt_db_internal::idb_ptr, LOCAL, nmg_mrsv(), RT_ARB_CK_MAGIC, rt_arb_mk_planes(), and RT_CK_DB_INTERNAL. Here is the call graph for this function: ![]() |
|
R T _ A R B _ T N U R B "Tessellate" an ARB into a trimmed-NURB-NMG data structure. Purely a mechanical transformation of one faceted object into another. Depending on the application, it might be beneficial to keep ARBs as planar-NMG objects; there is no real benefit to using B-splines here, other than uniformity of the conversion for all solids. Returns - -1 failure 0 OK. *r points to nmgregion that holds this tessellation. Definition at line 1549 of file g_arb.c. References BU_LIST_FIRST, bzero, bn_tol::dist_sq, rt_db_internal::idb_ptr, LOCAL, nmg_mrsv(), RT_ARB_CK_MAGIC, rt_arb_mk_planes(), and RT_CK_DB_INTERNAL. Here is the call graph for this function: ![]() |
|
R T _ A R B _ C A L C _ P O I N T S Takes the planes[] array and intersects the planes to find the vertices of a GENARB8. The vertices are stored into arb->pt[]. This is an analog of rt_arb_calc_planes(). Definition at line 1709 of file g_arb.c. References bu_log(), rt_arb_3face_intersect(), and RT_ARB_CK_MAGIC. Here is the call graph for this function: ![]() |
|
R T _ A R B _ 3 F A C E _ I N T E R S E C T Finds the intersection point of three faces of an ARB. Returns - 0 success, value is in 'point' -1 failure Definition at line 1754 of file g_arb.c. References bn_mkpoint_3planes(). Referenced by rt_arb_calc_points(). Here is the call graph for this function: ![]() |
|
R T _ A R B _ C A L C _ P L A N E S Calculate the plane (face) equations for an arb output previously went to es_peqn[i]. Returns - -1 Failure 0 OK Note - This function migrated from mged/edsol.c. Definition at line 1787 of file g_arb.c. References BN_CK_TOL, bn_mk_plane_3pts(), bu_vls_addr(), bu_vls_init(), bu_vls_printf(), interp, NULL, rt_arb_internal::pt, and RT_ARB_CK_MAGIC. Referenced by rt_arb_edit(), wdb_move_arb_edge_cmd(), wdb_move_arb_face_cmd(), and wdb_rotate_arb_face_cmd(). Here is the call graph for this function: ![]() |
|
MV_EDGE: Moves an arb edge (end1,end2) with bounding planes bp1 and bp2 through point "thru". The edge has (non-unit) slope "dir". Note that the fact that the normals here point in rather than out makes no difference for computing the correct intercepts. After the intercepts are found, they should be checked against the other faces to make sure that they are always "inside". Definition at line 1837 of file g_arb.c. References bn_isect_line3_plane(), interp, NULL, rt_arb_internal::pt, RT_ARB_CK_MAGIC, and VJOIN1. Referenced by rt_arb_edit(). Here is the call graph for this function: ![]() |
|
Definition at line 1997 of file g_arb.c. References ARB4, ARB5, ARB6, ARB7, ARB8, bn_mk_plane_3pts(), interp, MAGNITUDE, NULL, rt_arb_internal::pt, RT_ARB4_MOVE_POINT_4, RT_ARB5_MOVE_POINT_5, RT_ARB6_MOVE_POINT_5, RT_ARB6_MOVE_POINT_6, RT_ARB7_MOVE_POINT_5, rt_arb_calc_planes(), RT_ARB_CK_MAGIC, RT_ARB_EDIT_EDGE, RT_ARB_EDIT_POINT, rt_arb_move_edge(), VMOVE, and VSUB2. Referenced by wdb_move_arb_edge_cmd(). Here is the call graph for this function: ![]() |
|
|
|
R T _ A R B N _ I F R E E Free the storage associated with the rt_db_internal version of this solid. Definition at line 1043 of file g_arbn.c. References bu_free(), rt_arbn_internal::eqn, rt_db_internal::idb_ptr, rt_arbn_internal::neqn, RT_ARBN_CK_MAGIC, and RT_CK_DB_INTERNAL. Here is the call graph for this function: ![]() |
|
R T _ A R B N _ P R E P Returns - 0 OK !0 failure Definition at line 74 of file g_arbn.c. References bu_malloc(), rt_db_internal::idb_ptr, rt_arbn_internal::neqn, RT_ARBN_CK_MAGIC, RT_CK_DB_INTERNAL, and rt_i::rti_tol. Here is the call graph for this function: ![]() |
|
R T _ A R B N _ P R I N T |
|
R T _ A R B N _ S H O T Intersect a ray with an ARBN. Find the largest "in" distance and the smallest "out" distance. Cyrus & Beck algorithm for convex polyhedra. Returns - 0 MISS >0 HIT Definition at line 184 of file g_arbn.c. References application::a_resource, BU_LIST_INSERT, bu_log(), rt_arbn_internal::eqn, FAST, hit::hit_dist, hit::hit_surfno, INFINITY, seg::l, LOCAL, rt_arbn_internal::neqn, RT_GET_SEG, seg::seg_in, seg::seg_out, seg::seg_stp, SQRT_SMALL_FASTF, soltab::st_specific, and VDOT. Here is the call graph for this function: ![]() |
|
R T _ A R B N _ V S H O T Definition at line 255 of file g_arbn.c. References rt_vstub(). Here is the call graph for this function: ![]() |
|
R T _ A R B N _ N O R M Given ONE ray distance, return the normal and entry/exit point. Definition at line 271 of file g_arbn.c. References bu_log(), rt_arbn_internal::eqn, rt_arbn_internal::neqn, soltab::st_specific, VJOIN1, VMOVE, and VSETALL. Here is the call graph for this function: ![]() |
|
R T _ A R B N _ C U R V E Return the "curvature" of the ARB face. Pick a principle direction orthogonal to normal, and indicate no curvature. Definition at line 295 of file g_arbn.c. References bn_vec_ortho(). Here is the call graph for this function: ![]() |
|
R T _ A R B N _ U V For a hit on a face of an ARB, return the (u,v) coordinates of the hit point. 0 <= u,v <= 1. u extends along the arb_U direction defined by B-A, v extends along the arb_V direction defined by Nx(B-A). |
|
R T _ A R B N _ F R E E Definition at line 321 of file g_arbn.c. References bu_free(), and rt_arbn_internal::eqn. Here is the call graph for this function: ![]() |
|
R T _ A R B N _ P L O T Brute force through all possible plane intersections. Generate all edge lines, then intersect the line with all the other faces to find the vertices on that line. If the geometry is correct, there will be no more than two. While not the fastest strategy, this will produce an accurate plot without requiring extra bookkeeping. Note that the vectors will be drawn in no special order. Definition at line 342 of file g_arbn.c. References bn_mkpoint_3planes(), BN_VECT_ARE_PARALLEL, bn_tol::dist, rt_arbn_internal::eqn, rt_db_internal::idb_ptr, rt_arbn_internal::neqn, RT_ARBN_CK_MAGIC, RT_CK_DB_INTERNAL, and VDOT. Here is the call graph for this function: ![]() |
|
R T _ A R B N _ C L A S S |
|
R T _ A R B N _ T E S S "Tessellate" an ARB into an NMG data structure. Purely a mechanical transformation of one faceted object into another. Returns - -1 failure 0 OK. *r points to nmgregion that holds this tessellation. Definition at line 518 of file g_arbn.c. References bn_mkpoint_3planes(), bu_calloc(), bn_tol::dist, DIST_PT_PLANE, rt_arbn_internal::eqn, rt_db_internal::idb_ptr, faceuse::l, LOCAL, rt_arbn_internal::neqn, RT_ARBN_CK_MAGIC, and RT_CK_DB_INTERNAL. Here is the call graph for this function: ![]() |
|
R T _ A R B N _ I M P O R T Convert from "network" doubles to machine specific. Transform Definition at line 791 of file g_arbn.c. References BU_CK_EXTERNAL, bu_glong(), bu_log(), bu_malloc(), DB5_MAJORTYPE_BRLCAD, DBID_ARBN, rt_arbn_internal::eqn, bu_external::ext_buf, ID_ARBN, rt_db_internal::idb_major_type, rt_db_internal::idb_meth, rt_db_internal::idb_ptr, rt_arbn_internal::magic, MAT4X3PNT, MAT4X3VEC, record::n, record::arbn_rec::n_neqn, rt_arbn_internal::neqn, ntohd(), RT_ARBN_INTERNAL_MAGIC, RT_CK_DB_INTERNAL, record::u_id, VDOT, VMOVE, VSCALE, and VUNITIZE. Here is the call graph for this function: ![]() |
|
R T _ A R B N _ E X P O R T Definition at line 844 of file g_arbn.c. References bu_calloc(), BU_CK_EXTERNAL, bu_malloc(), bu_plong(), DBID_ARBN, rt_arbn_internal::eqn, bu_external::ext_buf, bu_external::ext_nbytes, ID_ARBN, rt_db_internal::idb_ptr, record::n, record::arbn_rec::n_grans, record::arbn_rec::n_id, record::arbn_rec::n_neqn, rt_arbn_internal::neqn, RT_ARBN_CK_MAGIC, RT_CK_DB_INTERNAL, X, Y, and Z. Here is the call graph for this function: ![]() |
|
R T _ A R B N _ I M P O R T 5 Convert from "network" doubles to machine specific. Transform Definition at line 901 of file g_arbn.c. References bn_mat_is_identity(), BU_ASSERT_LONG, BU_CK_EXTERNAL, bu_glong(), bu_malloc(), DB5_MAJORTYPE_BRLCAD, ELEMENTS_PER_PLANE, rt_arbn_internal::eqn, bu_external::ext_buf, bu_external::ext_nbytes, ID_ARBN, rt_db_internal::idb_major_type, rt_db_internal::idb_meth, rt_db_internal::idb_ptr, rt_arbn_internal::magic, MAT4X3PNT, MAT4X3VEC, rt_arbn_internal::neqn, ntohd(), RT_ARBN_INTERNAL_MAGIC, RT_CK_DB_INTERNAL, SIZEOF_NETWORK_DOUBLE, VDOT, VMOVE, VSCALE, and VUNITIZE. Here is the call graph for this function: ![]() |
|
R T _ A R B N _ E X P O R T 5 Definition at line 960 of file g_arbn.c. References BU_CK_EXTERNAL, bu_malloc(), bu_plong(), ELEMENTS_PER_PLANE, rt_arbn_internal::eqn, bu_external::ext_buf, bu_external::ext_nbytes, ID_ARBN, rt_db_internal::idb_ptr, rt_arbn_internal::neqn, RT_ARBN_CK_MAGIC, RT_CK_DB_INTERNAL, SIZEOF_NETWORK_DOUBLE, void(), X, Y, and Z. Here is the call graph for this function: ![]() |
|
R T _ A R B N _ D E S C R I B E Make human-readable formatted presentation of this solid. First line describes type of solid. Additional lines are indented one tab, and give parameter values. Definition at line 1011 of file g_arbn.c. References bu_vls_strcat(), rt_db_internal::idb_ptr, INTCLAMP, RT_ARBN_CK_MAGIC, X, Y, and Z. Here is the call graph for this function: ![]() |
|
R T _ A R B N _ T C L G E T Routine to format the parameters of an ARBN primitive for "db get" Legal requested parameters include: "N" - number of equations "P" - list of all the planes "P#" - the specified plane number (0 based) no arguments returns everything Definition at line 1071 of file g_arbn.c. References bu_vls_init(), bu_vls_printf(), bu_vls_strcpy(), rt_db_internal::idb_ptr, NULL, RT_ARBN_CK_MAGIC, and V4ARGS. Here is the call graph for this function: ![]() |
|
R T _ A R B N _ T C L A D J U S T Routine to modify an arbn via the "db adjust" command Legal parameters are: "N" - adjust the number of planes (new ones will be zeroed) "P" - adjust the entire list of planes "P#" - adjust a specific plane (0 based) "P+" - add a new plane to the list of planes Definition at line 1144 of file g_arbn.c. References bu_free(), bu_realloc(), rt_arbn_internal::eqn, rt_db_internal::idb_ptr, interp, rt_arbn_internal::neqn, RT_ARBN_CK_MAGIC, RT_CK_DB_INTERNAL, TCL_ERROR, tcl_list_to_fastf_array(), TCL_STATIC, void(), VSETALLN, and VUNITIZE. Here is the call graph for this function: ![]() |
|
R T _ B O T _ P R E P Given a pointer to a GED database record, and a transformation matrix, determine if this is a valid BOT, and if so, precompute various terms of the formula. Returns - 0 BOT is OK !0 Error in description Implicit return - A struct bot_specific is created, and it's address is stored in stp->st_specific for use by bot_shot(). Definition at line 217 of file g_bot.c. References rt_bot_internal::bot_flags, rt_db_internal::idb_ptr, RT_BOT_CK_MAGIC, RT_BOT_USE_FLOATS, and RT_CK_DB_INTERNAL. Referenced by rt_ars_prep(). |
|
R T _ B O T _ I F R E E Free the storage associated with the rt_db_internal version of this solid. Definition at line 1181 of file g_bot.c. References bu_free(), rt_bot_internal::face_mode, rt_bot_internal::faces, GENPTR_NULL, rt_db_internal::idb_ptr, rt_bot_internal::magic, rt_bot_internal::mode, RT_BOT_CK_MAGIC, RT_BOT_PLATE, RT_BOT_PLATE_NOCOS, RT_CK_DB_INTERNAL, rt_bot_internal::thickness, and rt_bot_internal::vertices. Referenced by rt_ars_prep(). Here is the call graph for this function: ![]() |
|
R T _ A R S _ T E S S Definition at line 1007 of file g_ars.c. References ARS_PT, bn_dist_pt3_lseg3(), bu_log(), bn_tol::dist, rt_db_internal::idb_ptr, rt_ars_internal::ncurves, rt_ars_internal::pts_per_curve, RT_ARS_CK_MAGIC, RT_CK_DB_INTERNAL, V3ARGS, and VAPPROXEQUAL. Referenced by rt_ars_prep(). Here is the call graph for this function: ![]() |
|
Definition at line 78 of file g_ars.c. References bu_bomb(). Here is the call graph for this function: ![]() |
|
Definition at line 83 of file g_ars.c. References bu_bomb(). Here is the call graph for this function: ![]() |
|
R T _ A R S _ R D _ C U R V E rt_ars_rd_curve() reads a set of ARS B records and returns a pointer to a malloc()'ed memory area of fastf_t's to hold the curve. Definition at line 100 of file g_ars.c. References record::b, record::ars_ext::b_id, bu_log(), bu_malloc(), ELEMENTS_PER_VECT, fp, ID_ARS_B, and LOCAL. Referenced by rt_ars_import(). Here is the call graph for this function: ![]() |
|
R T _ A R S _ I M P O R T Read all the curves in as a two dimensional array. The caller is responsible for freeing the dynamic memory. Note that in each curve array, the first point is replicated as the last point, to make processing the data easier. Definition at line 144 of file g_ars.c. References record::a, record::ars_rec::a_m, record::ars_rec::a_n, BU_CK_EXTERNAL, bu_log(), bu_malloc(), rt_ars_internal::curves, DB5_MAJORTYPE_BRLCAD, bu_external::ext_buf, record::i, ID_ARS, ID_ARS_A, rt_db_internal::idb_major_type, rt_db_internal::idb_meth, rt_db_internal::idb_ptr, LOCAL, rt_ars_internal::magic, rt_ars_internal::ncurves, rt_ars_internal::pts_per_curve, RT_ARS_INTERNAL_MAGIC, rt_ars_rd_curve(), RT_CK_DB_INTERNAL, and record::u_id. Here is the call graph for this function: ![]() |
|
R T _ A R S _ E X P O R T The name will be added by the caller. Generally, only libwdb will set conv2mm != 1.0 Definition at line 216 of file g_ars.c. References record::a, record::ars_rec::a_curlen, record::ars_rec::a_id, record::ars_rec::a_m, record::ars_rec::a_n, record::ars_rec::a_totlen, record::ars_rec::a_type, ARS, ARSCONT, record::b, record::ars_ext::b_id, bu_calloc(), BU_CK_EXTERNAL, rt_ars_internal::curves, ELEMENTS_PER_VECT, bu_external::ext_buf, bu_external::ext_nbytes, fp, ID_ARS, ID_ARS_A, ID_ARS_B, rt_db_internal::idb_ptr, rt_ars_internal::ncurves, rt_ars_internal::pts_per_curve, RT_ARS_CK_MAGIC, RT_CK_DB_INTERNAL, VMOVE, VSCALE, and VSUB2SCALE. Here is the call graph for this function: ![]() |
|
R T _ A R S _ I M P O R T 5 Read all the curves in as a two dimensional array. The caller is responsible for freeing the dynamic memory. Note that in each curve array, the first point is replicated as the last point, to make processing the data easier. Definition at line 292 of file g_ars.c. References bu_calloc(), BU_CK_EXTERNAL, bu_glong(), bu_malloc(), rt_ars_internal::curves, DB5_MAJORTYPE_BRLCAD, ELEMENTS_PER_VECT, bu_external::ext_buf, fp, ID_ARS, rt_db_internal::idb_major_type, rt_db_internal::idb_meth, rt_db_internal::idb_ptr, rt_ars_internal::magic, MAT4X3PNT, rt_ars_internal::ncurves, ntohd(), rt_ars_internal::pts_per_curve, RT_ARS_INTERNAL_MAGIC, RT_CK_DB_INTERNAL, SIZEOF_NETWORK_DOUBLE, and SIZEOF_NETWORK_LONG. Here is the call graph for this function: ![]() |
|
R T _ A R S _ E X P O R T 5 The name will be added by the caller. Generally, only libwdb will set conv2mm != 1.0 Definition at line 344 of file g_ars.c. References bu_calloc(), BU_CK_EXTERNAL, bu_plong(), rt_ars_internal::curves, ELEMENTS_PER_VECT, bu_external::ext_buf, bu_external::ext_nbytes, fp, ID_ARS, rt_db_internal::idb_ptr, rt_ars_internal::ncurves, ntohd(), rt_ars_internal::pts_per_curve, RT_ARS_CK_MAGIC, RT_CK_DB_INTERNAL, SIZEOF_NETWORK_DOUBLE, SIZEOF_NETWORK_LONG, void(), and VSCALE. Here is the call graph for this function: ![]() |
|
R T _ A R S _ D E S C R I B E Make human-readable formatted presentation of this solid. First line describes type of solid. Additional lines are indented one tab, and give parameter values. Definition at line 390 of file g_ars.c. References bu_vls_strcat(), ELEMENTS_PER_VECT, rt_db_internal::idb_ptr, INTCLAMP, RT_ARS_CK_MAGIC, X, Y, and Z. Here is the call graph for this function: ![]() |
|
R T _ A R S _ I F R E E Free the storage associated with the rt_db_internal version of this solid. Definition at line 440 of file g_ars.c. References bu_free(), rt_ars_internal::curves, rt_db_internal::idb_ptr, rt_ars_internal::ncurves, RT_ARS_CK_MAGIC, and RT_CK_DB_INTERNAL. Referenced by rt_ars_prep(). Here is the call graph for this function: ![]() |
|
|
R T _ A R S _ P R I N T Definition at line 641 of file g_ars.c. References bu_log(), tri_specific::tri_A, tri_specific::tri_BA, tri_specific::tri_CA, tri_specific::tri_forw, tri_specific::tri_N, TRI_NULL, tri_specific::tri_wn, and VPRINT. Here is the call graph for this function: ![]() |
|
R T _ A R S _ S H O T Function - Shoot a ray at an ARS. Returns - 0 MISS !0 HIT Definition at line 671 of file g_ars.c. References application::a_rt_i, bu_log(), DEBUG_ARB8, bn_tol::dist, FAST, LOCAL, NEAR_ZERO, RT_ARS_MAXHITS, RT_G_DEBUG, RT_HIT_MAGIC, RT_HIT_NORM, rt_hitsort(), rt_i::rti_tol, soltab::st_specific, tri_specific::tri_A, tri_specific::tri_BA, tri_specific::tri_CA, tri_specific::tri_forw, tri_specific::tri_wn, VCROSS, VDOT, VSUB2, and X. Here is the call graph for this function: ![]() |
|
R T _ H I T S O R T Sort an array of hits into ascending order. Definition at line 867 of file g_ars.c. References LOCAL. |
|
R T _ A R S _ N O R M Given ONE ray distance, return the normal and entry/exit point. Definition at line 889 of file g_ars.c. References tri_specific::tri_N, VJOIN1, and VMOVE. |
|
R T _ A R S _ C U R V E Return the "curvature" of the ARB face. Pick a principle direction orthogonal to normal, and indicate no curvature. Definition at line 906 of file g_ars.c. References bn_vec_ortho(). Here is the call graph for this function: ![]() |
|
R T _ A R S _ U V For a hit on a face of an ARB, return the (u,v) coordinates of the hit point. 0 <= u,v <= 1. u extends along the Xbasis direction defined by B-A, v extends along the "Ybasis" direction defined by (B-A)xN. Definition at line 924 of file g_ars.c. References application::a_diverge, application::a_rbeam, bu_log(), LOCAL, MAGNITUDE, RT_G_DEBUG, tri_specific::tri_A, tri_specific::tri_BA, tri_specific::tri_CA, VDOT, and VSUB2. Here is the call graph for this function: ![]() |
|
R T _ A R S _ P L O T Definition at line 956 of file g_ars.c. References BN_VLIST_LINE_DRAW, BN_VLIST_LINE_MOVE, rt_ars_internal::curves, rt_db_internal::idb_ptr, rt_ars_internal::ncurves, rt_ars_internal::pts_per_curve, RT_ADD_VLIST, RT_ARS_CK_MAGIC, and RT_CK_DB_INTERNAL. |
|
Definition at line 1184 of file g_ars.c. References bu_vls_init(), bu_vls_printf(), bu_vls_strcpy(), rt_db_internal::idb_ptr, NULL, RT_ARS_CK_MAGIC, and V3ARGS. Here is the call graph for this function: ![]() |
|
Definition at line 1266 of file g_ars.c. References bu_free(), bu_malloc(), bu_realloc(), rt_ars_internal::curves, rt_db_internal::idb_ptr, rt_ars_internal::ncurves, rt_ars_internal::pts_per_curve, RT_ARS_CK_MAGIC, RT_CK_DB_INTERNAL, VMOVE, and VSETALL. Here is the call graph for this function: ![]() |
|
R T _ B O T _ M A K E S E G S Given an array of hits, make segments out of them. Exactly how this is to be done depends on the mode of the BoT. Definition at line 282 of file g_bot.c. References bot_specific::bot_flags, bot_specific::bot_mode, RT_BOT_PLATE, RT_BOT_PLATE_NOCOS, RT_BOT_USE_FLOATS, and soltab::st_specific. Referenced by rt_bot_piece_hitsegs(). |
|
R T _ B O T F A C E This function is called with pointers to 3 points, and is used to prepare BOT faces. ap, bp, cp point to vect_t points. Return - 0 if the 3 points didn't form a plane (eg, colinear, etc). # pts (3) if a valid plane resulted. Definition at line 153 of file g_bot.c. References bot_specific::bot_flags, and RT_BOT_USE_FLOATS. Referenced by rt_botface(). |
|
Definition at line 173 of file g_bot.c. References NULL, and rt_botface_w_normals(). Here is the call graph for this function: ![]() |
|
Definition at line 189 of file g_bot.c. References bot_specific::bot_flags, and RT_BOT_USE_FLOATS. |
|
R T _ B O T _ P R I N T |
|
R T _ B O T _ S H O T Intersect a ray with a bot. If an intersection occurs, a struct seg will be acquired and filled in. Notes for rt_bot_norm(): hit_private contains pointer to the tri_specific structure hit_vpriv[X] contains dot product of ray direction and unit normal from tri_specific Returns - 0 MISS >0 HIT Definition at line 314 of file g_bot.c. References bot_specific::bot_flags, RT_BOT_USE_FLOATS, and soltab::st_specific. |
|
R T _ B O T _ P I E C E _ S H O T Intersect a ray with a list of "pieces" of a BoT. This routine may be invoked many times for a single ray, as the ray traverses from one space partitioning cell to the next. Plate-mode (2 hit) segments will be returned immediately in seghead. Generally the hits are stashed between invocations in psp. Definition at line 338 of file g_bot.c. References bot_specific::bot_flags, RT_BOT_USE_FLOATS, RT_CK_PIECELIST, RT_CK_SOLTAB, soltab::st_specific, and rt_piecelist::stp. |
|
R T _ B O T _ P I E C E _ H I T S E G S Definition at line 359 of file g_bot.c. References application::a_ray, rt_htbl::end, rt_htbl::hits, rt_piecestate::htab, rt_bot_makesegs(), RT_CK_AP, RT_CK_HTBL, RT_CK_PIECESTATE, rt_hitsort(), rt_piecestate::stp, and void(). Here is the call graph for this function: ![]() |
|
R T _ B O T _ V S H O T Vectorized version. Definition at line 380 of file g_bot.c. References rt_vstub(). Here is the call graph for this function: ![]() |
|
R T _ B O T _ N O R M Given ONE ray distance, return the normal and entry/exit point. Definition at line 396 of file g_bot.c. References bot_specific::bot_flags, RT_BOT_USE_FLOATS, and soltab::st_specific. |
|
R T _ B O T _ C U R V E Return the curvature of the bot. Definition at line 413 of file g_bot.c. References bn_vec_ortho(). Here is the call graph for this function: ![]() |
|
R T _ B O T _ U V For a hit on the surface of an bot, return the (u,v) coordinates of the hit point, 0 <= u,v <= 1. u = azimuth v = elevation |
|
R T _ B O T _ F R E E Definition at line 439 of file g_bot.c. References bot_specific::bot_flags, and RT_BOT_USE_FLOATS. |
|
R T _ B O T _ C L A S S Definition at line 455 of file g_bot.c. References RT_CLASSIFY_UNIMPLEMENTED. |
|
R T _ B O T _ P L O T Definition at line 464 of file g_bot.c. References BN_VLIST_LINE_DRAW, BN_VLIST_LINE_MOVE, rt_bot_internal::faces, rt_db_internal::idb_ptr, LOCAL, rt_bot_internal::num_faces, RT_ADD_VLIST, RT_BOT_CK_MAGIC, RT_CK_DB_INTERNAL, and rt_bot_internal::vertices. |
|
R T _ B O T _ P L O T _ P O L Y Definition at line 488 of file g_bot.c. References BN_VLIST_POLY_DRAW, BN_VLIST_POLY_END, BN_VLIST_POLY_MOVE, BN_VLIST_POLY_START, BN_VLIST_POLY_VERTNORM, rt_bot_internal::bot_flags, rt_bot_internal::face_normals, rt_bot_internal::faces, rt_db_internal::idb_ptr, LOCAL, rt_bot_internal::normals, rt_bot_internal::num_faces, RT_ADD_VLIST, RT_BOT_CK_MAGIC, RT_BOT_HAS_SURFACE_NORMALS, RT_BOT_USE_NORMALS, RT_CK_DB_INTERNAL, VCROSS, rt_bot_internal::vertices, VMOVE, VSUB2, and VUNITIZE. |
|
R T _ B O T _ T E S S Returns - -1 failure 0 OK. *r points to nmgregion that holds this tessellation. Definition at line 547 of file g_bot.c. References bu_calloc(), BU_LIST_FIRST, rt_bot_internal::faces, rt_db_internal::idb_ptr, LOCAL, rt_bot_internal::mode, nmg_mrsv(), rt_bot_internal::num_faces, rt_bot_internal::num_vertices, rt_bot_internal::orientation, RT_BOT_CK_MAGIC, RT_BOT_CW, RT_BOT_PLATE, RT_BOT_PLATE_NOCOS, RT_CK_DB_INTERNAL, rt_bot_internal::vertices, and VMOVE. Here is the call graph for this function: ![]() |
|
R T _ B O T _ I M P O R T Import an BOT from the database format to the internal format. Apply modeling transformations as well. Definition at line 644 of file g_bot.c. References record::bot, record::bot_rec::bot_data, rt_bot_internal::bot_flags, record::bot_rec::bot_mode, record::bot_rec::bot_num_triangles, record::bot_rec::bot_num_verts, record::bot_rec::bot_orientation, bu_calloc(), BU_CK_EXTERNAL, bu_glong(), bu_log(), bu_malloc(), DB5_MAJORTYPE_BRLCAD, DBID_BOT, bu_external::ext_buf, rt_bot_internal::faces, record::i, ID_BOT, rt_db_internal::idb_major_type, rt_db_internal::idb_meth, rt_db_internal::idb_ptr, LOCAL, rt_bot_internal::magic, MAT4X3PNT, rt_bot_internal::mode, ntohd(), rt_bot_internal::num_faces, rt_bot_internal::num_vertices, rt_bot_internal::orientation, RT_BOT_INTERNAL_MAGIC, RT_CK_DB_INTERNAL, record::u_id, and rt_bot_internal::vertices. Here is the call graph for this function: ![]() |
|
R T _ B O T _ E X P O R T The name is added by the caller, in the usual place. Definition at line 720 of file g_bot.c. References record::bot, record::bot_rec::bot_data, record::bot_rec::bot_err_mode, record::bot_rec::bot_id, record::bot_rec::bot_mode, record::bot_rec::bot_nrec, record::bot_rec::bot_num_triangles, record::bot_rec::bot_num_verts, record::bot_rec::bot_orientation, bu_bitv_clear(), bu_bitv_new(), bu_bitv_to_hex(), bu_calloc(), BU_CK_EXTERNAL, bu_log(), bu_plong(), bu_vls_init(), bu_vls_strlen(), DBID_BOT, bu_external::ext_buf, bu_external::ext_nbytes, htond(), ID_BOT, rt_db_internal::idb_ptr, rt_bot_internal::num_normals, RT_BOT_CK_MAGIC, RT_BOT_PLATE, RT_BOT_PLATE_NOCOS, RT_CK_DB_INTERNAL, and VSCALE. Here is the call graph for this function: ![]() |
|
R T _ B O T _ I M P O R T 5 Definition at line 826 of file g_bot.c. References rt_bot_internal::bot_flags, bu_calloc(), BU_CK_EXTERNAL, bu_glong(), DB5_MAJORTYPE_BRLCAD, bu_external::ext_buf, rt_bot_internal::faces, ID_BOT, rt_db_internal::idb_major_type, rt_db_internal::idb_meth, rt_db_internal::idb_ptr, rt_bot_internal::magic, MAT4X3PNT, rt_bot_internal::mode, ntohd(), rt_bot_internal::num_faces, rt_bot_internal::num_vertices, rt_bot_internal::orientation, RT_BOT_INTERNAL_MAGIC, RT_CK_DB_INTERNAL, SIZEOF_NETWORK_DOUBLE, SIZEOF_NETWORK_LONG, and rt_bot_internal::vertices. Here is the call graph for this function: ![]() |
|
R T _ B O T _ E X P O R T 5 Definition at line 939 of file g_bot.c. References rt_bot_internal::bot_flags, bu_bitv_to_hex(), BU_CK_EXTERNAL, bu_malloc(), bu_plong(), bu_vls_init(), bu_vls_strlen(), bu_external::ext_buf, bu_external::ext_nbytes, rt_bot_internal::face_mode, htond(), ID_BOT, rt_db_internal::idb_ptr, rt_bot_internal::mode, rt_bot_internal::num_face_normals, rt_bot_internal::num_faces, rt_bot_internal::num_normals, rt_bot_internal::num_vertices, rt_bot_internal::orientation, RT_BOT_CK_MAGIC, RT_BOT_PLATE, RT_BOT_PLATE_NOCOS, RT_CK_DB_INTERNAL, SIZEOF_NETWORK_DOUBLE, SIZEOF_NETWORK_LONG, rt_bot_internal::vertices, void(), and VSCALE. Here is the call graph for this function: ![]() |
|
Definition at line 1065 of file g_bot.c. References bu_vls_strcat(), rt_db_internal::idb_ptr, index, rt_bot_internal::orientation, RT_BOT_CCW, RT_BOT_CK_MAGIC, RT_BOT_CW, RT_BOT_PLATE, RT_BOT_PLATE_NOCOS, RT_BOT_SOLID, RT_BOT_SURFACE, RT_BOT_UNORIENTED, RT_BOT_USE_NORMALS, V3INTCLAMPARGS, and VSCALE. Here is the call graph for this function: ![]() |
|
|
|
|
Definition at line 1290 of file g_bot.c. References index, MAT4X3PNT, MAX_FASTF, rt_bot_internal::num_vertices, RT_BOT_CK_MAGIC, rt_bot_internal::vertices, X, and Y. |
|
Definition at line 1322 of file g_bot.c. Referenced by rt_bot_find_e_nearest_pt2(). |
|
This routine finds the edge closest to the 2D point "pt2", and returns the edge as two vertex indices (vert1 and vert2). These vertices are ordered (closest to pt2 is first) Definition at line 1346 of file g_bot.c. References bu_calloc(), rt_bot_internal::faces, MAX_FASTF, rt_bot_internal::num_faces, RT_BOT_CK_MAGIC, and rt_bot_edge_in_list(). Here is the call graph for this function: ![]() |
|
R T _ B O T _ T C L G E T Examples - db get name fm get los facemode bit vector db get name fm# get los face mode of face # (center, append) db get name V get coords for all vertices db get name V# get coords for vertex # db get name F get vertex indices for all faces db get name F# get vertex indices for face # db get name f get list of coords for all faces db get name f# get list of 3 3tuple coords for face # db get name T get thickness for all faces db get name T# get thickness for face # db get name N get list of normals db get name N# get coords for normal # db get name fn get list indices into normal vectors for all faces db get name fn# get list indices into normal vectors for face # db get name nv get num_vertices db get name nt get num_faces db get name nn get num_normals db get name nfn get num_face_normals db get name mode get mode (surf, volume, plate, plane_nocos) db get name orient get orientation (no, rh, lh) db get name flags get BOT flags Definition at line 1520 of file g_bot.c. References bu_bitv_to_hex(), bu_vls_init(), bu_vls_printf(), bu_vls_strcat(), bu_vls_strcpy(), rt_db_internal::idb_ptr, NULL, RT_BOT_CK_MAGIC, RT_BOT_PLATE, RT_BOT_PLATE_NOCOS, RT_BOT_USE_FLOATS, RT_BOT_USE_NORMALS, status, and V3ARGS. Here is the call graph for this function: ![]() |
|
R T _ B O T _ T C L A D J U S T Examples - db adjust name fm set los facemode bit vector db adjust name fm# set los face mode of face # (center, append) db adjust name V set coords for all vertices db adjust name V# set coords for vertex # db adjust name F set vertex indices for all faces db adjust name F# set vertex indices for face # db adjust name T set thickness for all faces db adjust name T# set thickness for face # db adjust name N set list of normals db adjust name N# set coords for normal # db adjust name fn set list indices into normal vectors for all faces db adjust name fn# set list indices into normal vectors for face # db adjust name nn set num_normals db adjust name mode set mode (surf, volume, plate, plane_nocos) db adjust name orient set orientation (no, rh, lh) db adjust name flags set flags Definition at line 1877 of file g_bot.c. References BU_BITCLR, BU_BITSET, bu_calloc(), bu_free(), bu_hex_to_bitv(), bu_realloc(), rt_bot_internal::face_mode, rt_db_internal::idb_ptr, interp, rt_bot_internal::normals, NULL, rt_bot_internal::num_faces, rt_bot_internal::num_normals, RT_BOT_CK_MAGIC, RT_CK_DB_INTERNAL, Tcl_DecrRefCount, TCL_ERROR, TCL_STATIC, and VSET. Here is the call graph for this function: ![]() |
|
Definition at line 2458 of file g_bot.c. References interp, NULL, RT_CK_FUNCTAB, and TCL_OK. |
|
This routine adjusts the vertex pointers in each face so that pointers to duplicate vertices end up pointing to the same vertex. The unused vertices are removed. Returns the number of vertices fused. Definition at line 2480 of file g_bot.c. References rt_bot_internal::faces, rt_bot_internal::num_faces, rt_bot_internal::num_vertices, RT_BOT_CK_MAGIC, VEQUAL, rt_bot_internal::vertices, and VMOVE. |
|
|
|
Definition at line 2539 of file g_bot.c. References rt_bot_internal::faces, rt_bot_internal::num_faces, and RT_BOT_CK_MAGIC. |
|
Get rid of unused verticies Definition at line 2660 of file g_bot.c. References bu_bomb(), bu_calloc(), bu_log(), rt_bot_internal::faces, rt_bot_internal::num_faces, rt_bot_internal::num_vertices, and RT_BOT_CK_MAGIC. Here is the call graph for this function: ![]() |
|
Definition at line 2722 of file g_bot.c. References bu_malloc(), NULL, VADD3, and VSCALE. Here is the call graph for this function: ![]() |
|
Definition at line 2778 of file g_bot.c. References ptr. |
|
This routine sorts the faces of the BOT such that when they are taken in groups of "tris_per_piece", each group (piece) will consist of adjacent faces Definition at line 2803 of file g_bot.c. References rt_bot_internal::bot_flags, bu_calloc(), bu_malloc(), rt_bot_internal::faces, NULL, rt_bot_internal::num_faces, and RT_BOT_CK_MAGIC. Here is the call graph for this function: ![]() |
|
R T _ B O T _ D E C I M A T E routine to reduce the number of triangles in a BOT by edges decimation max_chord_error is the maximum error distance allowed max_normal_error is the maximum change in surface normal allowed This and associated routines maintain a list of edges and their "use counts" A "free edge" is one with a use count of 1, most edges have a use count of 2 When a use count reaches zero, the edge is removed from the list. The list is used to direct the edge decimation process and to avoid deforming the shape of a non-volume enclosing BOT by keeping track of use counts (and thereby free edges) If a free edge would be moved, that deciamtion is not performed. Definition at line 3491 of file g_bot.c. References bu_malloc(), rt_bot_internal::faces, M_PI, rt_bot_internal::num_faces, RT_BOT_CK_MAGIC, and SMALL_FASTF. Referenced by wdb_bot_decimate_cmd(). Here is the call graph for this function: ![]() |
|
Definition at line 3723 of file g_bot.c. References application::a_ray, application::a_rt_i, application::a_uptr, application::a_user, rt_bot_internal::bot_flags, bu_calloc(), bu_free(), bu_log(), rt_bot_internal::face_normals, rt_bot_internal::faces, INFINITY, M_PI, rt_bot_internal::mode, rt_bot_internal::normals, NULL, rt_bot_internal::num_face_normals, rt_bot_internal::num_faces, rt_bot_internal::num_normals, rt_bot_internal::orientation, xray::r_dir, xray::r_min, xray::r_pt, RT_APPLICATION_INIT, RT_BOT_CK_MAGIC, RT_BOT_USE_NORMALS, rt_free_rti(), rt_gettree(), rt_in_rpp(), rt_new_rti(), rt_prep(), rt_shootray(), SQRT_SMALL_FASTF, VADD3, VCROSS, rt_bot_internal::vertices, VJOIN1, VSCALE, VSUB2, VUNITIZE, X, Y, and Z. Referenced by wdb_smooth_bot_cmd(). Here is the call graph for this function: ![]() |
|
R T _ B O T F A C E This function is called with pointers to 3 points, and is used to prepare BOT faces. ap, bp, cp point to vect_t points. Return - 0 if the 3 points didn't form a plane (eg, colinear, etc). # pts (3) if a valid plane resulted. Definition at line 58 of file g_bot_include.c. |
|
Definition at line 131 of file g_bot_include.c. |
|
|
R T _ B O T _ M A K E S E G S Given an array of hits, make segments out of them. Exactly how this is to be done depends on the mode of the BoT. Definition at line 566 of file g_bot_include.c. |
|
R T _ B O T _ S H O T Intersect a ray with a bot. If an intersection occurs, a struct seg will be acquired and filled in. Notes for rt_bot_norm(): hit_private contains pointer to the tri_specific structure hit_vpriv[X] contains dot product of ray direction and unit normal from tri_specific Returns - 0 MISS >0 HIT Definition at line 953 of file g_bot_include.c. |
|
R T _ B O T _ P I E C E _ S H O T Intersect a ray with a list of "pieces" of a BoT. This routine may be invoked many times for a single ray, as the ray traverses from one space partitioning cell to the next. Plate-mode (2 hit) segments will be returned immediately in seghead. Generally the hits are stashed between invocations in psp. Definition at line 1053 of file g_bot_include.c. |
|
R T _ B O T _ N O R M Given ONE ray distance, return the normal and entry/exit point. Definition at line 1207 of file g_bot_include.c. References bot_specific::bot_flags, bot_specific::bot_mode, hit::hit_dist, hit::hit_normal, hit::hit_point, hit::hit_private, hit::hit_vpriv, ONE_OVER_SCALE, xray::r_dir, xray::r_pt, RT_BOT_HAS_SURFACE_NORMALS, RT_BOT_PLATE, RT_BOT_PLATE_NOCOS, RT_BOT_USE_NORMALS, TRI_TYPE, VCROSS, VDOT, VJOIN1, VMOVE, VREVERSE, VSETALL, VUNITIZE, X, XGLUE, Y, and Z. |
|
R T _ B O T _ F R E E Definition at line 1271 of file g_bot_include.c. References bot_specific::bot_facearray, bot_specific::bot_facelist, bot_specific::bot_facemode, bot_specific::bot_thickness, bu_free(), NULL, ptr, TRI_TYPE, and XGLUE. Here is the call graph for this function: ![]() |
|
R T _ C L I N E _ P R E P Given a pointer to a GED database record, determine if this is a valid cline solid, and if so, precompute various terms of the formula. Returns - 0 cline is OK !0 Error in description Implicit return - A struct cline_specific is created, and it's address is stored in stp->st_specific for use by rt_cline_shot(). Definition at line 96 of file g_cline.c. References BU_GETSTRUCT, cline_specific::h, rt_cline_internal::h, cline_specific::height, rt_db_internal::idb_ptr, MAGNITUDE, MAX_FASTF, rt_cline_internal::radius, cline_specific::radius, RT_CK_DB_INTERNAL, RT_CLINE_CK_MAGIC, soltab::st_aradius, soltab::st_bradius, soltab::st_max, soltab::st_min, soltab::st_specific, rt_cline_internal::thickness, cline_specific::thickness, top(), rt_cline_internal::v, cline_specific::V, VADD2, VMINMAX, VMOVE, VREVERSE, VSETALL, VSUB2, and VUNITIZE. Here is the call graph for this function: ![]() |
|
R T _ C L I N E _ P R I N T Definition at line 147 of file g_cline.c. References bu_log(), cline_specific::h, cline_specific::height, cline_specific::radius, cline_specific::thickness, cline_specific::V, and VPRINT. Here is the call graph for this function: ![]() |
|
R T _ C L I N E _ S H O T Intersect a ray with a cline mode solid. If an intersection occurs, at least one struct seg will be acquired and filled in. Returns - 0 MISS >0 HIT Definition at line 174 of file g_cline.c. References application::a_resource, bn_distsq_line3_line3(), BU_LIST_INIT, BU_LIST_INSERT, cline_specific::h, cline_specific::height, seg::l, NEAR_ZERO, cline_specific::radius, RT_DOT_TOL, RT_GET_SEG, soltab::st_specific, cline_specific::thickness, cline_specific::V, VADD2, VDOT, VJOIN2, VMOVE, void(), VREVERSE, and VSUB2. Here is the call graph for this function: ![]() |
|
R T _ C L I N E _ V S H O T Vectorized version. Definition at line 358 of file g_cline.c. References rt_vstub(). Here is the call graph for this function: ![]() |
|
R T _ C L I N E _ N O R M Given ONE ray distance, return the normal and entry/exit point. Definition at line 374 of file g_cline.c. References bu_bomb(), bu_log(), MAGNITUDE, V3ARGS, VCROSS, VDOT, VJOIN1, VREVERSE, and VUNITIZE. Here is the call graph for this function: ![]() |
|
R T _ C L I N E _ C U R V E Return the curvature of the cline. Definition at line 408 of file g_cline.c. References bn_vec_ortho(). Here is the call graph for this function: ![]() |
|
R T _ C L I N E_ U V For a hit on the surface of an cline, return the (u,v) coordinates of the hit point, 0 <= u,v <= 1. |
|
R T _ C L I N E _ F R E E Definition at line 437 of file g_cline.c. References bu_free(). Here is the call graph for this function: ![]() |
|
R T _ C L I N E _ C L A S S |
|
R T _ C L I N E _ P L O T Definition at line 459 of file g_cline.c. References bn_vec_ortho(), BN_VLIST_LINE_DRAW, BN_VLIST_LINE_MOVE, ELEMENTS_PER_VECT, rt_cline_internal::h, rt_db_internal::idb_ptr, LOCAL, rt_cline_internal::radius, RT_ADD_VLIST, RT_CK_DB_INTERNAL, RT_CLINE_CK_MAGIC, rt_ell_16pts(), top(), rt_cline_internal::v, VADD2, VCROSS, VSCALE, and VUNITIZE. Here is the call graph for this function: ![]() |
|
R T _ C L I N E _ T E S S Returns - -1 failure 0 OK. *r points to nmgregion that holds this tessellation. Definition at line 550 of file g_cline.c. References rt_tess_tol::abs, bn_halfpi, bn_vec_ortho(), bu_calloc(), BU_LIST_FIRST, rt_cline_internal::h, rt_db_internal::idb_ptr, int, nmg_mrsv(), rt_tess_tol::norm, NULL, cline_vert::pt, rt_cline_internal::radius, rt_tess_tol::rel, RT_CK_DB_INTERNAL, RT_CLINE_CK_MAGIC, rt_cline_internal::thickness, top(), rt_cline_internal::v, VADD2, VCROSS, VJOIN2, and VUNITIZE. Here is the call graph for this function: ![]() |
|
R T _ C L I N E _ I M P O R T Import an cline from the database format to the internal format. Apply modeling transformations as well. Definition at line 842 of file g_cline.c. References BU_CK_EXTERNAL, bu_log(), bu_malloc(), record::cli, record::cline_rec::cli_h, record::cline_rec::cli_radius, record::cline_rec::cli_thick, record::cline_rec::cli_V, DB5_MAJORTYPE_BRLCAD, DBID_CLINE, bu_external::ext_buf, rt_cline_internal::h, ID_CLINE, rt_db_internal::idb_major_type, rt_db_internal::idb_meth, rt_db_internal::idb_ptr, LOCAL, rt_cline_internal::magic, MAT4X3PNT, MAT4X3VEC, ntohd(), rt_cline_internal::radius, RT_CK_DB_INTERNAL, RT_CLINE_INTERNAL_MAGIC, rt_cline_internal::thickness, record::u_id, and rt_cline_internal::v. Here is the call graph for this function: ![]() |
|
R T _ C L I N E _ E X P O R T The name is added by the caller, in the usual place. Definition at line 882 of file g_cline.c. References bu_calloc(), BU_CK_EXTERNAL, record::cli, record::cline_rec::cli_h, record::cline_rec::cli_id, record::cline_rec::cli_radius, record::cline_rec::cli_thick, record::cline_rec::cli_V, DBID_CLINE, bu_external::ext_buf, bu_external::ext_nbytes, rt_cline_internal::h, htond(), ID_CLINE, ID_SOLID, rt_db_internal::idb_ptr, rt_cline_internal::radius, RT_CK_DB_INTERNAL, RT_CLINE_CK_MAGIC, record::s, record::solidrec::s_id, rt_cline_internal::thickness, rt_cline_internal::v, and VSCALE. Here is the call graph for this function: ![]() |
|
R T _ C L I N E _ I M P O R T 5 Import an cline from the database format to the internal format. Apply modeling transformations as well. Definition at line 921 of file g_cline.c. References BU_ASSERT_LONG, BU_CK_EXTERNAL, bu_malloc(), DB5_MAJORTYPE_BRLCAD, bu_external::ext_buf, bu_external::ext_nbytes, rt_cline_internal::h, ID_CLINE, rt_db_internal::idb_major_type, rt_db_internal::idb_meth, rt_db_internal::idb_ptr, rt_cline_internal::magic, MAT4X3PNT, MAT4X3VEC, ntohd(), rt_cline_internal::radius, RT_CK_DB_INTERNAL, RT_CLINE_INTERNAL_MAGIC, SIZEOF_NETWORK_DOUBLE, rt_cline_internal::thickness, and rt_cline_internal::v. Here is the call graph for this function: ![]() |
|
R T _ C L I N E _ E X P O R T 5 The name is added by the caller, in the usual place. Definition at line 956 of file g_cline.c. References BU_CK_EXTERNAL, bu_malloc(), bu_external::ext_buf, bu_external::ext_nbytes, rt_cline_internal::h, htond(), ID_CLINE, rt_db_internal::idb_ptr, rt_cline_internal::radius, RT_CK_DB_INTERNAL, RT_CLINE_CK_MAGIC, SIZEOF_NETWORK_DOUBLE, rt_cline_internal::thickness, rt_cline_internal::v, and VSCALE. Here is the call graph for this function: ![]() |
|
R T _ C L I N E _ D E S C R I B E Make human-readable formatted presentation of this solid. First line describes type of solid. Additional lines are indented one tab, and give parameter values. Definition at line 989 of file g_cline.c. References bu_vls_strcat(), rt_db_internal::idb_ptr, INTCLAMP, RT_CLINE_CK_MAGIC, V3INTCLAMPARGS, and VSCALE. Here is the call graph for this function: ![]() |
|
R T _ C L I N E _ I F R E E Free the storage associated with the rt_db_internal version of this solid. Definition at line 1024 of file g_cline.c. References bu_free(), GENPTR_NULL, rt_db_internal::idb_ptr, rt_cline_internal::magic, RT_CK_DB_INTERNAL, and RT_CLINE_CK_MAGIC. Here is the call graph for this function: ![]() |
|
|
|
Definition at line 1044 of file g_cline.c. References bu_vls_addr(), bu_vls_free(), bu_vls_init(), bu_vls_printf(), bu_vls_strcat(), bu_vls_strcpy(), rt_db_internal::idb_ptr, interp, NULL, RT_CLINE_CK_MAGIC, TCL_ERROR, TCL_OK, and V3ARGS. Here is the call graph for this function: ![]() |
|
Definition at line 1086 of file g_cline.c. References atof(), rt_cline_internal::h, rt_db_internal::idb_ptr, interp, rt_cline_internal::radius, RT_CK_DB_INTERNAL, RT_CLINE_CK_MAGIC, TCL_ERROR, tcl_list_to_fastf_array(), TCL_OK, TCL_STATIC, rt_cline_internal::thickness, and rt_cline_internal::v. Here is the call graph for this function: ![]() |
|
Definition at line 1134 of file g_cline.c. References interp, NULL, RT_CK_FUNCTAB, and TCL_OK. |
|
|
|
R T _ B I N U N I F _ I F R E E Free the storage associated with the rt_db_internal version of this thing. Definition at line 530 of file db5_bin.c. References bu_free(), GENPTR_NULL, rt_db_internal::idb_ptr, RT_CK_BINUNIF, RT_CK_DB_INTERNAL, rt_binunif_internal::u, and rt_binunif_internal::uint8. Here is the call graph for this function: ![]() |
|
Definition at line 148 of file g_dsp.c. References bu_bomb(), bu_log(), rt_dsp_internal::dsp_buf, rt_dsp_internal::dsp_xcnt, rt_dsp_internal::dsp_ycnt, and RT_DSP_CK_MAGIC. Here is the call graph for this function: ![]() |
|
R T _ D S P _ P R I N T Definition at line 619 of file g_dsp.c. References BU_CK_VLS, bu_log(), bu_vls_addr(), bu_vls_free(), bu_vls_init(), BU_VLS_IS_INITIALIZED, bu_vls_printf(), and RT_DSP_CK_MAGIC. Here is the call graph for this function: ![]() |
|
|
D S P _ I N _ R P P Compute the intersections of a ray with a rectangular parallelpiped (RPP) that has faces parallel to the coordinate planes The algorithm here was developed by Gary Kuehl for GIFT. A good description of the approach used can be found in "??" by XYZZY and Barsky, ACM Transactions on Graphics, Vol 3 No 1, January 1984. Note - The computation of entry and exit distance is mandatory, as the final test catches the majority of misses. Note - A hit is returned if the intersect is behind the start point. Returns - 0 if ray does not hit RPP, !0 if ray hits RPP. Implicit return - rp->r_min = dist from start of ray to point at which ray ENTERS solid rp->r_max = dist from start of ray to point at which ray LEAVES solid isect->dmin isect->dmax Definition at line 2012 of file g_dsp.c. References isect_stuff::dmax, isect_stuff::dmin, INFINITY, isect_stuff::inv_dir, isect_stuff::r, xray::r_max, xray::r_min, xray::r_pt, XMAX, XMIN, YMAX, YMIN, ZMAX, and ZMIN. |
|
R T _ D S P _ S H O T Intersect a ray with a dsp. If an intersection occurs, a struct seg will be acquired and filled in. Returns - 0 MISS >0 HIT Definition at line 2506 of file g_dsp.c. References application::a_rt_i, application::a_x, application::a_y, isect_stuff::ap, bn_mat_print(), bu_bomb(), BU_CK_MAPPED_FILE, BU_CK_VLS, BU_LIST_APPEND_LIST, BU_LIST_FOR, BU_LIST_INIT, BU_LIST_IS_EMPTY, bu_log(), bn_tol::dist, isect_stuff::dsp, H, isect_stuff::inv_dir, seg::l, dsp_specific::layer, dsp_specific::layers, MAGNITUDE, MAT4X3PNT, MAT4X3VEC, NEAR_ZERO, isect_stuff::num_segs, isect_stuff::r, xray::r_dir, xray::r_pt, RT_CK_BINUNIF, RT_CK_DB_INTERNAL, RT_DSP_CK_MAGIC, RT_DSP_SRC_FILE, RT_DSP_SRC_OBJ, RT_DSP_SRC_V4_FILE, RT_G_DEBUG, rt_i::rti_tol, isect_stuff::seglist, soltab::st_specific, isect_stuff::stp, isect_stuff::tol, V3ARGS, VDOT, VINVDIR, VMOVE, void(), VSCALE, VUNITIZE, X, and Y. Here is the call graph for this function: ![]() |
|
R T _ D S P _ V S H O T Vectorized version. Definition at line 2657 of file g_dsp.c. References bu_log(), RT_G_DEBUG, rt_vstub(), and void(). Here is the call graph for this function: ![]() |
|
R T _ D S P _ N O R M Given ONE ray distance, return the normal and entry/exit point. Definition at line 2777 of file g_dsp.c. References bu_bomb(), BU_CK_MAPPED_FILE, BU_CK_VLS, bu_fopen_uniq(), bu_log(), BU_SEM_SYSCALL, bu_semaphore_acquire(), bu_semaphore_release(), rt_dsp_internal::dsp_bip, rt_dsp_internal::dsp_datasrc, dsp_specific::dsp_i, rt_dsp_internal::dsp_mp, rt_dsp_internal::dsp_mtos, rt_dsp_internal::dsp_name, rt_dsp_internal::dsp_smooth, rt_dsp_internal::dsp_stom, rt_db_internal::idb_ptr, MAGNITUDE, MAT4X3PNT, MAT4X3VEC, pdv_3line(), pl_color(), RT_CK_BINUNIF, RT_CK_DB_INTERNAL, RT_DSP_CK_MAGIC, RT_DSP_SRC_FILE, RT_DSP_SRC_OBJ, RT_DSP_SRC_V4_FILE, RT_G_DEBUG, SMOOTHSTEP, soltab::st_specific, V3ARGS, VADD2, VCROSS, VDOT, VJOIN1, VMOVE, VPRINT, VSCALE, VSET, VUNITIZE, X, XMIN, Y, Z, and ZTOP. Here is the call graph for this function: ![]() |
|
R T _ D S P _ C U R V E Return the curvature of the dsp. Definition at line 2957 of file g_dsp.c. References bn_vec_ortho(), bu_log(), and RT_G_DEBUG. Here is the call graph for this function: ![]() |
|
R T _ D S P _ U V For a hit on the surface of a dsp, return the (u,v) coordinates of the hit point, 0 <= u,v <= 1. u = azimuth v = elevation Definition at line 2978 of file g_dsp.c. References application::a_diverge, application::a_ray, application::a_rbeam, bu_log(), CLAMP, dsp_specific::dsp_i, rt_dsp_internal::dsp_mtos, rt_dsp_internal::dsp_stom, MAGNITUDE, MAT4X3PNT, MAT4X3VEC, NEAR_ZERO, xray::r_dir, RT_G_DEBUG, SMALL_FASTF, soltab::st_specific, VDOT, VJOIN1, VMOVE, VREVERSE, VSCALE, VSET, VUNITIZE, X, XSIZ, Y, and YSIZ. Here is the call graph for this function: ![]() |
|
R T _ D S P _ F R E E Definition at line 3070 of file g_dsp.c. References BU_CK_MAPPED_FILE, bu_close_mapped_file(), bu_free(), bu_log(), rt_dsp_internal::dsp_buf, rt_dsp_internal::dsp_datasrc, dsp_specific::dsp_i, rt_dsp_internal::dsp_mp, RT_DSP_SRC_FILE, RT_DSP_SRC_OBJ, RT_DSP_SRC_V4_FILE, and RT_G_DEBUG. Here is the call graph for this function: ![]() |
|
R T _ D S P _ C L A S S Definition at line 3099 of file g_dsp.c. References bu_log(), and RT_G_DEBUG. Here is the call graph for this function: ![]() |
|
R T _ D S P _ P L O T Definition at line 3111 of file g_dsp.c. References BU_CK_MAPPED_FILE, bu_log(), DRAW, DSP, rt_dsp_internal::dsp_bip, rt_dsp_internal::dsp_datasrc, rt_dsp_internal::dsp_mp, rt_dsp_internal::dsp_xcnt, rt_dsp_internal::dsp_ycnt, rt_db_internal::idb_ptr, MOVE, RT_CK_BINUNIF, RT_CK_DB_INTERNAL, RT_DSP_CK_MAGIC, RT_DSP_SRC_FILE, RT_DSP_SRC_OBJ, RT_DSP_SRC_V4_FILE, RT_G_DEBUG, VSET, VSETALL, X, Y, and Z. Here is the call graph for this function: ![]() |
|
R T _ D S P _ T E S S Returns - -1 failure 0 OK. *r points to nmgregion that holds this tessellation. Definition at line 3366 of file g_dsp.c. References bu_log(), rt_db_internal::idb_ptr, LOCAL, RT_CK_DB_INTERNAL, RT_DSP_CK_MAGIC, and RT_G_DEBUG. Here is the call graph for this function: ![]() |
|
R T _ D S P _ I M P O R T Import an DSP from the database format to the internal format. Apply modeling transformations as well. Definition at line 3579 of file g_dsp.c. References BU_CK_EXTERNAL, bu_log(), bu_malloc(), bu_struct_parse(), bu_vls_addr(), bu_vls_free(), bu_vls_init(), BU_VLS_IS_INITIALIZED, bu_vls_strcpy(), bu_vls_struct_print(), bu_vls_trunc(), DB5_MAJORTYPE_BRLCAD, DBID_STRSOL, DSP_CUT_DIR_ADAPT, rt_dsp_internal::dsp_cuttype, rt_dsp_internal::dsp_mtos, rt_dsp_internal::dsp_smooth, rt_dsp_internal::dsp_stom, rt_dsp_internal::dsp_xcnt, rt_dsp_internal::dsp_ycnt, bu_external::ext_buf, ID_DSP, rt_db_internal::idb_major_type, rt_db_internal::idb_meth, rt_db_internal::idb_ptr, IMPORT_FAIL, LOCAL, rt_dsp_internal::magic, MAT_IDN, RT_CK_BINUNIF, RT_CK_DB_INTERNAL, RT_DSP_INTERNAL_MAGIC, rt_dsp_parse, rt_dsp_ptab, RT_G_DEBUG, record::ss, record::strsol::ss_args, and record::u_id. Here is the call graph for this function: ![]() |
|
R T _ D S P _ E X P O R T The name is added by the caller, in the usual place. Definition at line 3673 of file g_dsp.c. References bu_calloc(), BU_CK_EXTERNAL, BU_CK_VLS, bu_log(), bu_vls_addr(), bu_vls_free(), bu_vls_init(), BU_VLS_IS_INITIALIZED, bu_vls_struct_print(), DB_SS_LEN, DB_SS_NGRAN, DBID_STRSOL, rt_dsp_internal::dsp_name, rt_dsp_internal::dsp_stom, bu_external::ext_buf, bu_external::ext_nbytes, ID_DSP, rt_db_internal::idb_ptr, NAMESIZE, RT_CK_DB_INTERNAL, RT_DSP_CK_MAGIC, rt_dsp_ptab, RT_G_DEBUG, record::ss, record::strsol::ss_args, record::strsol::ss_id, and record::strsol::ss_keyword. Here is the call graph for this function: ![]() |
|
R T _ D S P _ I M P O R T 5 Import an DSP from the database format to the internal format. Apply modeling transformations as well. Definition at line 3726 of file g_dsp.c. References bn_mat_inv(), BU_ASSERT_LONG, BU_CK_EXTERNAL, bu_glong(), bu_gshort(), bu_log(), bu_malloc(), bu_vls_init(), bu_vls_strncpy(), DB5_MAJORTYPE_BRLCAD, DSP_CUT_DIR_ADAPT, DSP_CUT_DIR_llUR, DSP_CUT_DIR_ULlr, bu_external::ext_buf, bu_external::ext_nbytes, ID_DSP, rt_db_internal::idb_major_type, rt_db_internal::idb_meth, rt_db_internal::idb_ptr, IMPORT_FAIL, ntohd(), RT_CK_DB_INTERNAL, RT_DSP_INTERNAL_MAGIC, RT_DSP_SRC_FILE, RT_DSP_SRC_OBJ, RT_DSP_SRC_V4_FILE, RT_G_DEBUG, SIZEOF_NETWORK_DOUBLE, SIZEOF_NETWORK_LONG, and SIZEOF_NETWORK_SHORT. Here is the call graph for this function: ![]() |
|
R T _ D S P _ E X P O R T 5 The name is added by the caller, in the usual place. Definition at line 3827 of file g_dsp.c. References BU_CK_EXTERNAL, bu_log(), bu_malloc(), bu_plong(), bu_pshort(), bu_vls_addr(), bu_vls_strlen(), DSP_CUT_DIR_ADAPT, DSP_CUT_DIR_llUR, DSP_CUT_DIR_ULlr, rt_dsp_internal::dsp_cuttype, rt_dsp_internal::dsp_datasrc, rt_dsp_internal::dsp_name, rt_dsp_internal::dsp_smooth, rt_dsp_internal::dsp_stom, rt_dsp_internal::dsp_xcnt, rt_dsp_internal::dsp_ycnt, ELEMENTS_PER_MAT, bu_external::ext_buf, bu_external::ext_nbytes, htond(), ID_DSP, rt_db_internal::idb_ptr, RT_CK_DB_INTERNAL, RT_DSP_CK_MAGIC, RT_DSP_SRC_FILE, RT_DSP_SRC_OBJ, RT_DSP_SRC_V4_FILE, RT_G_DEBUG, SIZEOF_NETWORK_DOUBLE, SIZEOF_NETWORK_LONG, and SIZEOF_NETWORK_SHORT. Here is the call graph for this function: ![]() |
|
R T _ D S P _ D E S C R I B E Make human-readable formatted presentation of this solid. First line describes type of solid. Additional lines are indented one tab, and give parameter values. Definition at line 3918 of file g_dsp.c. References bu_log(), bu_vls_free(), bu_vls_init(), BU_VLS_IS_INITIALIZED, bu_vls_vlscat(), rt_db_internal::idb_ptr, RT_CK_DBI, RT_DSP_CK_MAGIC, and RT_G_DEBUG. Here is the call graph for this function: ![]() |
|
R T _ D S P _ I F R E E Free the storage associated with the rt_db_internal version of this solid. Definition at line 3960 of file g_dsp.c. References BU_CK_MAPPED_FILE, bu_close_mapped_file(), bu_free(), bu_log(), bu_vls_free(), BU_VLS_IS_INITIALIZED, rt_dsp_internal::dsp_bip, rt_dsp_internal::dsp_mp, rt_dsp_internal::dsp_name, GENPTR_NULL, rt_db_internal::idb_ptr, rt_dsp_internal::magic, rt_binunif_ifree(), RT_CK_DB_INTERNAL, RT_DSP_CK_MAGIC, and RT_G_DEBUG. Here is the call graph for this function: ![]() |
|
R T _ P A R S E T A B _ T C L G E T This is the generic routine to be listed in rt_functab[].ft_tclget for those solid types which are fully described by their ft_parsetab entry. 'attr' is specified to retrieve only one attribute, rather than all. Example: "db get ell.s B" to get only the B vector. Definition at line 4063 of file g_dsp.c. References bu_vls_addr(), bu_vls_free(), bu_vls_init(), bu_vls_printf(), bu_vls_struct_item(), bu_vls_struct_item_named(), bu_vls_trunc(), rt_dsp_internal::dsp_datasrc, fake_dsp_printab, rt_db_internal::idb_ptr, interp, RT_CK_DB_INTERNAL, rt_dsp_ptab, RT_DSP_SRC_FILE, RT_DSP_SRC_OBJ, RT_DSP_SRC_V4_FILE, bu_structparse::sp_name, status, TCL_ERROR, and TCL_OK. Here is the call graph for this function: ![]() |
|
R T _ P A R S E T A B _ T C L A D J U S T For those solids entirely defined by their parsetab. Invoked via rt_functab[].ft_tcladjust() Definition at line 4145 of file g_dsp.c. References BU_CK_VLS, bu_structparse_argv(), rt_dsp_internal::dsp_datasrc, rt_dsp_internal::dsp_name, fake_dsp_printab, rt_db_internal::idb_ptr, interp, RT_CK_DB_INTERNAL, RT_DSP_CK_MAGIC, rt_dsp_ptab, RT_DSP_SRC_FILE, RT_DSP_SRC_OBJ, RT_DSP_SRC_V4_FILE, and TCL_ERROR. Here is the call graph for this function: ![]() |
|
Definition at line 4172 of file g_dsp.c. References BU_ASSERT, bu_calloc(), bu_vls_init(), bu_vls_strcpy(), DB5_MAJORTYPE_BRLCAD, DSP_CUT_DIR_ADAPT, rt_dsp_internal::dsp_cuttype, rt_dsp_internal::dsp_datasrc, rt_dsp_internal::dsp_mtos, rt_dsp_internal::dsp_name, rt_dsp_internal::dsp_stom, ID_DSP, rt_db_internal::idb_major_type, rt_db_internal::idb_meth, rt_db_internal::idb_ptr, rt_dsp_internal::magic, MAT_IDN, RT_DSP_INTERNAL_MAGIC, and RT_DSP_SRC_FILE. Here is the call graph for this function: ![]() |
|
Definition at line 4316 of file g_dsp.c. References bu_log(), CLAMP, RT_G_DEBUG, SMALL_FASTF, V3ARGS, VJOIN2, VSUB2, X, and Y. Referenced by dsp_pos(). Here is the call graph for this function: ![]() |
|
D S P _ P O S Given an arbitrary point return the projection of that point onto the surface of the DSP. If the point is outside the bounds of the DSP then it will be projected to the nearest edge of the DSP. Return the cell number and the height above/below the plane Definition at line 4380 of file g_dsp.c. References bu_log(), CLAMP, DSP, dsp_specific::dsp_i, dsp_rpp::dsp_max, dsp_rpp::dsp_min, rt_dsp_internal::dsp_mtos, rt_dsp_internal::dsp_stom, ID_DSP, MAT4X3PNT, project_pt(), RT_CK_SOLTAB, RT_G_DEBUG, soltab::st_id, soltab::st_specific, V3ARGS, VPRINT, VSET, X, XSIZ, Y, and YSIZ. Here is the call graph for this function: ![]() |
|
Referenced by rt_ebm_shot(). |
|
Referenced by rt_ebm_shot(). |
|
Referenced by rt_ebm_plot(). |
|
R T _ S E G _ P L A N E C L I P Take a segment chain, in sorted order (ascending hit_dist), and clip to the range (in, out) along the normal "out_norm". For the particular ray "rp", find the parametric distances: kmin is the minimum permissible parameter, "in" units away kmax is the maximum permissible parameter, "out" units away Returns - 1 OK: trimmed segment chain, still in sorted order 0 ERROR Definition at line 154 of file g_ebm.c. References application::a_resource, BU_LIST_DEQUEUE, BU_LIST_INSERT, BU_LIST_WHILE, bu_log(), DEBUG_EBM, hit::hit_dist, hit::hit_surfno, INFINITY, seg::l, NEAR_ZERO, NORM_ZNEG, NORM_ZPOS, xray::r_dir, xray::r_pt, RT_FREE_SEG, RT_G_DEBUG, seg::seg_in, seg::seg_out, SQRT_SMALL_FASTF, VDOT, and VREVERSE. Here is the call graph for this function: ![]() |
|
R T _ E B M _ D D A Step through the 2-D array, in local coordinates ("ideal space"). Definition at line 239 of file g_ebm.c. References application::a_resource, BIT, BU_LIST_INSERT, BU_LIST_IS_EMPTY, BU_LIST_LAST, bu_log(), DEBUG_EBM, rt_ebm_specific::ebm_cellsize, rt_ebm_specific::ebm_i, rt_ebm_specific::ebm_large, rt_ebm_specific::ebm_origin, hit::hit_dist, hit::hit_surfno, hit::hit_vpriv, INFINITY, seg::l, NEAR_ZERO, NORM_ZNEG, RT_G_DEBUG, RT_GET_SEG, rt_in_rpp(), seg::seg_in, seg::seg_out, seg::seg_stp, SQRT_SMALL_FASTF, soltab::st_specific, tail, val, VJOIN1, VPRINT, VSETALL, X, rt_ebm_internal::xdim, Y, rt_ebm_internal::ydim, and Z. Here is the call graph for this function: ![]() |
|
|
R T _ E B M _ E X P O R T The name will be added by the caller. Definition at line 653 of file g_ebm.c. References bu_calloc(), BU_CK_EXTERNAL, bu_vls_addr(), bu_vls_free(), bu_vls_init(), bu_vls_struct_print(), DB_SS_LEN, DB_SS_NGRAN, DBID_STRSOL, bu_external::ext_buf, bu_external::ext_nbytes, ID_EBM, rt_db_internal::idb_ptr, rt_ebm_internal::mat, NAMESIZE, RT_CK_DB_INTERNAL, RT_EBM_CK_MAGIC, rt_ebm_parse, record::ss, record::strsol::ss_args, record::strsol::ss_id, and record::strsol::ss_keyword. Here is the call graph for this function: ![]() |
|
R T _ E B M _ I M P O R T 5 Read in the information from the string solid record. Then, as a service to the application, read in the bitmap and set up some of the associated internal variables. Definition at line 694 of file g_ebm.c. References bu_mapped_file::apbuf, bu_mapped_file::apbuflen, bcopy, BIT, BIT_XWIDEN, BIT_YWIDEN, bn_mat_mul(), bu_calloc(), BU_CK_EXTERNAL, bu_free(), bu_log(), bu_open_mapped_file_with_path(), bu_semaphore_acquire(), bu_semaphore_release(), bu_struct_parse(), bu_struct_print(), bu_vls_free(), bu_vls_init(), bu_vls_strcpy(), bu_mapped_file::buf, bu_mapped_file::buflen, DB5_MAJORTYPE_BRLCAD, db_i::dbi_filepath, bu_external::ext_buf, ID_EBM, ID_NULL, rt_db_internal::idb_major_type, rt_db_internal::idb_meth, rt_db_internal::idb_ptr, rt_ebm_internal::magic, rt_ebm_internal::mat, MAT_COPY, MAT_IDN, rt_ebm_internal::mp, NULL, RT_CK_DB_INTERNAL, RT_EBM_INTERNAL_MAGIC, rt_ebm_parse, RT_SEM_MODEL, and rt_ebm_internal::ydim. Here is the call graph for this function: ![]() |
|
R T _ E B M _ E X P O R T 5 The name will be added by the caller. Definition at line 795 of file g_ebm.c. References bu_calloc(), BU_CK_EXTERNAL, bu_vls_addr(), bu_vls_free(), bu_vls_init(), bu_vls_strlen(), bu_vls_struct_print(), bu_external::ext_buf, bu_external::ext_nbytes, ID_EBM, rt_db_internal::idb_ptr, rt_ebm_internal::mat, RT_CK_DB_INTERNAL, RT_EBM_CK_MAGIC, and rt_ebm_parse. Here is the call graph for this function: ![]() |
|
R T _ E B M _ D E S C R I B E Make human-readable formatted presentation of this solid. First line describes type of solid. Additional lines are indented one tab, and give parameter values. Definition at line 832 of file g_ebm.c. References bu_vls_init(), bu_vls_printf(), bu_vls_strcat(), bu_vls_trunc2(), bu_vls_vlscat(), rt_db_internal::idb_ptr, INTCLAMP, and RT_EBM_CK_MAGIC. Here is the call graph for this function: ![]() |
|
R T _ E B M _ I F R E E Free the storage associated with the rt_db_internal version of this solid. Definition at line 871 of file g_ebm.c. References BU_CK_MAPPED_FILE, bu_close_mapped_file(), bu_free(), GENPTR_NULL, ID_NULL, rt_db_internal::idb_ptr, rt_ebm_internal::magic, rt_ebm_internal::mp, RT_CK_DB_INTERNAL, and RT_EBM_CK_MAGIC. Here is the call graph for this function: ![]() |
|
R T _ E B M _ P R E P Returns - 0 OK !0 Failure Implicit return - A struct rt_ebm_specific is created, and it's address is stored in stp->st_specific for use by rt_ebm_shot(). Definition at line 903 of file g_ebm.c. References bn_mat_inv(), bn_rotate_bbox(), BU_GETSTRUCT, rt_ebm_specific::ebm_cellsize, rt_ebm_specific::ebm_i, rt_ebm_specific::ebm_large, rt_ebm_specific::ebm_mat, rt_ebm_specific::ebm_origin, rt_ebm_specific::ebm_xnorm, rt_ebm_specific::ebm_ynorm, rt_ebm_specific::ebm_znorm, rt_db_internal::idb_ptr, MAGNITUDE, rt_ebm_internal::mat, MAT3X3VEC, rt_ebm_internal::mp, RT_EBM_CK_MAGIC, soltab::st_aradius, soltab::st_bradius, soltab::st_center, soltab::st_max, soltab::st_min, soltab::st_specific, rt_ebm_internal::tallness, VADD2, VADD2SCALE, VSCALE, VSET, VSETALL, VSUB2, rt_ebm_internal::xdim, and rt_ebm_internal::ydim. Here is the call graph for this function: ![]() |
|
R T _ E B M _ P R I N T Definition at line 959 of file g_ebm.c. References bu_log(), rt_ebm_specific::ebm_cellsize, rt_ebm_specific::ebm_i, rt_ebm_specific::ebm_origin, rt_ebm_internal::file, rt_ebm_internal::tallness, VPRINT, rt_ebm_internal::xdim, and rt_ebm_internal::ydim. Here is the call graph for this function: ![]() |
|
R T _ E B M _ S H O T Intersect a ray with an extruded bitmap. If intersection occurs, a pointer to a sorted linked list of "struct seg"s will be returned. Returns - 0 MISS >0 HIT Definition at line 984 of file g_ebm.c. References BU_LIST_INIT, bu_log(), rt_ebm_specific::ebm_i, rt_ebm_specific::ebm_mat, MAT4X3PNT, MAT4X3VEC, pdv_3line(), pl_color(), rt_ebm_dda(), rt_seg_planeclip(), soltab::st_specific, rt_ebm_internal::tallness, VJOIN1, VSET, X, Y, and Z. Here is the call graph for this function: ![]() |
|
R T _ E B M _ N O R M Given one ray distance, return the normal and entry/exit point. This is mostly a matter of translating the stored code into the proper normal. Definition at line 1032 of file g_ebm.c. References bu_log(), rt_ebm_specific::ebm_xnorm, rt_ebm_specific::ebm_ynorm, rt_ebm_specific::ebm_znorm, NORM_XNEG, NORM_XPOS, NORM_YNEG, NORM_YPOS, NORM_ZNEG, soltab::st_specific, VJOIN1, VMOVE, VREVERSE, and VSETALL. Here is the call graph for this function: ![]() |
|
R T _ E B M _ C U R V E Everything has sharp edges. This makes things easy. Definition at line 1075 of file g_ebm.c. References bn_vec_ortho(). Here is the call graph for this function: ![]() |
|
R T _ E B M _ U V Map the hit point in 2-D into the range 0..1 untransformed X becomes U, and Y becomes V. |
|
R T _ E B M _ F R E E Definition at line 1105 of file g_ebm.c. References BU_CK_MAPPED_FILE, bu_close_mapped_file(), bu_free(), rt_ebm_specific::ebm_i, rt_ebm_internal::mp, and soltab::st_specific. Here is the call graph for this function: ![]() |
|
|
|
R T _ E B M _ P L O T Definition at line 1126 of file g_ebm.c. References BIT, rt_db_internal::idb_ptr, RT_CK_DB_INTERNAL, RT_EBM_CK_MAGIC, rt_ebm_plate(), rt_ebm_internal::xdim, and rt_ebm_internal::ydim. Here is the call graph for this function: ![]() |
|
Definition at line 1181 of file g_ebm.c. References BN_VLIST_LINE_DRAW, BN_VLIST_LINE_MOVE, LOCAL, MAT4X3PNT, RT_ADD_VLIST, VSET, and Z. |
|
R T _ E B M _ T E S S Definition at line 1404 of file g_ebm.c. References BIT, BN_CK_TOL, bu_calloc(), BU_LIST_FIRST, BU_LIST_INIT, BU_LIST_NOT_HEAD, BU_LIST_PNEXT, height, rt_db_internal::idb_ptr, ebm_edge::l, ebm_edge::left, rt_ebm_internal::mat, MAT4X3PNT, nmg_add_loop_to_face(), NMG_CK_FACEUSE, NMG_CK_MODEL, nmg_cmface(), nmg_fu_planeeqn(), nmg_mrsv(), nmg_vertex_gv(), NULL, OT_OPPOSITE, RT_CK_DB_INTERNAL, RT_EBM_CK_MAGIC, start, ebm_edge::v, vertex::vg_p, void(), VSET, ebm_edge::x1, ebm_edge::x2, rt_ebm_internal::xdim, ebm_edge::y1, ebm_edge::y2, and rt_ebm_internal::ydim. Here is the call graph for this function: ![]() |
|
R T _ E B M _ T C L G E T Routine to format the parameters of an EBM for "db get" Legal requested parameters are: "F" - bitmap file to extrude "W" - number of cells in X direction "N" - number of cells in Y direction "H" - height of each cell (mm) "M" - matrix to transform EBM solid into model coordinates no paramaters requested returns all Definition at line 1928 of file g_ebm.c. References bu_vls_init(), bu_vls_printf(), bu_vls_strcpy(), rt_db_internal::idb_ptr, NULL, and RT_EBM_CK_MAGIC. Here is the call graph for this function: ![]() |
|
R T _ E B M _ T C L A D J U S T Routine to adjust the parameters of an EBM Legal parameters are: "F" - bitmap file to extrude "W" - number of cells in X direction "N" - number of cells in Y direction "H" - height of each cell (mm) "M" - matrix to transform EBM solid into model coordinates Definition at line 1990 of file g_ebm.c. References atof(), rt_ebm_internal::file, rt_db_internal::idb_ptr, interp, rt_ebm_internal::mat, MAT_COPY, RT_CK_DB_INTERNAL, RT_EBM_CK_MAGIC, RT_EBM_NAME_LEN, rt_ebm_internal::tallness, TCL_ERROR, tcl_list_to_fastf_array(), TCL_OK, TCL_STATIC, rt_ebm_internal::xdim, and rt_ebm_internal::ydim. Here is the call graph for this function: ![]() |
|
Definition at line 2047 of file g_ebm.c. References interp, NULL, RT_CK_FUNCTAB, and TCL_OK. |
|
R T _ E B M _ M A K E Routine to make a new EBM solid. The only purpose of this routine is to initialize the matrix and height to legal values. Definition at line 2066 of file g_ebm.c. References BU_ASSERT, bu_calloc(), DB5_MAJORTYPE_BRLCAD, ID_EBM, rt_db_internal::idb_major_type, rt_db_internal::idb_meth, rt_db_internal::idb_ptr, rt_ebm_internal::magic, rt_ebm_internal::mat, MAT_IDN, RT_EBM_INTERNAL_MAGIC, and rt_ebm_internal::tallness. Here is the call graph for this function: ![]() |
|
|
R T _ E H Y _ P R I N T Definition at line 315 of file g_ehy.c. References bn_mat_print(), ehy_specific::ehy_Aunit, ehy_specific::ehy_Bunit, ehy_specific::ehy_cprime, ehy_specific::ehy_Hunit, ehy_specific::ehy_invRoS, ehy_specific::ehy_SoR, ehy_specific::ehy_V, and VPRINT. Here is the call graph for this function: ![]() |
|
R T _ E H Y _ S H O T Intersect a ray with a ehy. If an intersection occurs, a struct seg will be acquired and filled in. Returns - 0 MISS >0 HIT Definition at line 345 of file g_ehy.c. References ehy_specific::ehy_cprime, EHY_NORM_BODY, ehy_specific::ehy_SoR, ehy_specific::ehy_V, FAST, LOCAL, MAT4X3VEC, NEAR_ZERO, RT_HIT_MAGIC, RT_PCOEF_TOL, soltab::st_specific, VJOIN1, VSUB2, X, Y, and Z. |
|
R T _ E H Y _ V S H O T Vectorized version. Definition at line 473 of file g_ehy.c. References rt_vstub(). Here is the call graph for this function: ![]() |
|
R T _ E H Y _ N O R M Given ONE ray distance, return the normal and entry/exit point. Definition at line 489 of file g_ehy.c. References bu_log(), ehy_specific::ehy_cprime, ehy_specific::ehy_Hunit, ehy_specific::ehy_invRoS, EHY_NORM_BODY, EHY_NORM_TOP, MAGNITUDE, MAT4X3VEC, soltab::st_specific, VJOIN1, VREVERSE, VSCALE, VSET, X, and Y. Here is the call graph for this function: ![]() |
|
R T _ E H Y _ C U R V E Return the curvature of the ehy. Definition at line 526 of file g_ehy.c. References bn_mat_mul(), bn_vec_ortho(), ehy_specific::ehy_cprime, ehy_specific::ehy_invRoS, EHY_NORM_BODY, EHY_NORM_TOP, ehy_specific::ehy_SoR, eigen2x2, MAT4X3VEC, MAT_IDN, soltab::st_specific, VCOMB2, VCROSS, VDOT, VUNITIZE, X, and Y. Here is the call graph for this function: ![]() |
|
R T _ E H Y _ U V For a hit on the surface of an ehy, return the (u,v) coordinates of the hit point, 0 <= u,v <= 1. u = azimuth v = elevation Definition at line 589 of file g_ehy.c. References bn_inv2pi, EHY_NORM_BODY, EHY_NORM_TOP, ehy_specific::ehy_SoR, ehy_specific::ehy_V, FAST, LOCAL, MAT4X3VEC, soltab::st_specific, VSUB2, X, and Y. |
|
R T _ E H Y _ F R E E Definition at line 634 of file g_ehy.c. References bu_free(). Here is the call graph for this function: ![]() |
|
R T _ E H Y _ C L A S S |
|
R T _ E H Y _ P L O T Definition at line 656 of file g_ehy.c. References A, rt_tess_tol::abs, bn_mat_trn(), bn_pi, bn_twopi, BN_VLIST_LINE_DRAW, BN_VLIST_LINE_MOVE, bu_free(), bu_malloc(), rt_ehy_internal::ehy_Au, rt_ehy_internal::ehy_c, rt_ehy_internal::ehy_H, rt_ehy_internal::ehy_r1, rt_ehy_internal::ehy_r2, rt_ehy_internal::ehy_V, ELEMENTS_PER_VECT, rt_db_internal::idb_ptr, LOCAL, MAGNITUDE, MAGSQ, MAT_IDN, NEAR_ZERO, rt_pt_node::next, rt_tess_tol::norm, NULL, rt_pt_node::p, R, rt_tess_tol::rel, RT_ADD_VLIST, RT_CK_DB_INTERNAL, RT_DOT_TOL, RT_EHY_CK_MAGIC, rt_ell(), rt_ell_ang(), RT_LEN_TOL, rt_mk_hyperbola(), rt_ptalloc(), VCROSS, VDOT, VJOIN1, VMOVE, VREVERSE, VSCALE, VSET, VUNITIZE, X, and Y. Here is the call graph for this function: ![]() |
|
R T _ E H Y _ T E S S Returns - -1 failure 0 OK. *r points to nmgregion that holds this tessellation. Definition at line 935 of file g_ehy.c. References A, rt_tess_tol::abs, bn_mat_mul(), bn_mat_trn(), bn_pi, bn_twopi, bu_free(), BU_LIST_FIRST, bu_malloc(), rt_ehy_internal::ehy_Au, rt_ehy_internal::ehy_c, rt_ehy_internal::ehy_H, rt_ehy_internal::ehy_r1, rt_ehy_internal::ehy_r2, rt_ehy_internal::ehy_V, rt_db_internal::idb_ptr, LOCAL, MAGNITUDE, MAGSQ, MAT_IDN, NEAR_ZERO, rt_pt_node::next, nmg_mrsv(), rt_tess_tol::norm, NULL, rt_pt_node::p, R, rt_tess_tol::rel, RT_CK_DB_INTERNAL, RT_DOT_TOL, RT_EHY_CK_MAGIC, rt_ell(), rt_ell_ang(), RT_LEN_TOL, rt_mk_hyperbola(), rt_ptalloc(), VCROSS, VDOT, VJOIN1, VMOVE, VREVERSE, VSCALE, VSET, VUNITIZE, X, and Y. Here is the call graph for this function: ![]() |
|
R T _ E H Y _ I M P O R T Import an EHY from the database format to the internal format. Apply modeling transformations as well. Definition at line 1422 of file g_ehy.c. References BU_CK_EXTERNAL, bu_free(), bu_log(), bu_malloc(), DB5_MAJORTYPE_BRLCAD, rt_ehy_internal::ehy_Au, rt_ehy_internal::ehy_c, rt_ehy_internal::ehy_H, rt_ehy_internal::ehy_magic, rt_ehy_internal::ehy_r1, rt_ehy_internal::ehy_r2, rt_ehy_internal::ehy_V, bu_external::ext_buf, ID_EHY, ID_SOLID, rt_db_internal::idb_major_type, rt_db_internal::idb_meth, rt_db_internal::idb_ptr, LOCAL, MAT4X3PNT, MAT4X3VEC, RT_CK_DB_INTERNAL, RT_EHY_INTERNAL_MAGIC, record::s, record::solidrec::s_values, SMALL_FASTF, record::u_id, and VUNITIZE. Here is the call graph for this function: ![]() |
|
R T _ E H Y _ E X P O R T The name is added by the caller, in the usual place. Definition at line 1468 of file g_ehy.c. References bu_calloc(), BU_CK_EXTERNAL, bu_log(), EHY, rt_ehy_internal::ehy_Au, rt_ehy_internal::ehy_c, rt_ehy_internal::ehy_H, rt_ehy_internal::ehy_r1, rt_ehy_internal::ehy_r2, rt_ehy_internal::ehy_V, bu_external::ext_buf, bu_external::ext_nbytes, ID_EHY, ID_SOLID, rt_db_internal::idb_ptr, MAGNITUDE, NEAR_ZERO, RT_CK_DB_INTERNAL, RT_DOT_TOL, RT_EHY_CK_MAGIC, RT_LEN_TOL, record::s, record::solidrec::s_id, record::solidrec::s_type, record::solidrec::s_values, VDOT, VMOVE, and VSCALE. Here is the call graph for this function: ![]() |
|
R T _ E H Y _ I M P O R T 5 Import an EHY from the database format to the internal format. Apply modeling transformations as well. Definition at line 1528 of file g_ehy.c. References BU_ASSERT_LONG, BU_CK_EXTERNAL, bu_free(), bu_log(), bu_malloc(), DB5_MAJORTYPE_BRLCAD, rt_ehy_internal::ehy_Au, rt_ehy_internal::ehy_c, rt_ehy_internal::ehy_H, rt_ehy_internal::ehy_magic, rt_ehy_internal::ehy_r1, rt_ehy_internal::ehy_r2, rt_ehy_internal::ehy_V, bu_external::ext_buf, bu_external::ext_nbytes, ID_EHY, rt_db_internal::idb_major_type, rt_db_internal::idb_meth, rt_db_internal::idb_ptr, LOCAL, MAT4X3PNT, MAT4X3VEC, ntohd(), RT_CK_DB_INTERNAL, RT_EHY_INTERNAL_MAGIC, SIZEOF_NETWORK_DOUBLE, SMALL_FASTF, and VUNITIZE. Here is the call graph for this function: ![]() |
|
R T _ E H Y _ E X P O R T 5 The name is added by the caller, in the usual place. Definition at line 1574 of file g_ehy.c. References BU_CK_EXTERNAL, bu_log(), bu_malloc(), rt_ehy_internal::ehy_Au, rt_ehy_internal::ehy_c, rt_ehy_internal::ehy_H, rt_ehy_internal::ehy_r1, rt_ehy_internal::ehy_r2, rt_ehy_internal::ehy_V, bu_external::ext_buf, bu_external::ext_nbytes, htond(), ID_EHY, rt_db_internal::idb_ptr, MAGNITUDE, NEAR_ZERO, RT_CK_DB_INTERNAL, RT_DOT_TOL, RT_EHY_CK_MAGIC, RT_LEN_TOL, SIZEOF_NETWORK_DOUBLE, VDOT, VMOVE, and VSCALE. Here is the call graph for this function: ![]() |
|
R T _ E H Y _ D E S C R I B E Make human-readable formatted presentation of this solid. First line describes type of solid. Additional lines are indented one tab, and give parameter values. Definition at line 1634 of file g_ehy.c. References bu_vls_strcat(), rt_db_internal::idb_ptr, INTCLAMP, MAGNITUDE, RT_EHY_CK_MAGIC, X, and Y. Here is the call graph for this function: ![]() |
|
R T _ E H Y _ I F R E E Free the storage associated with the rt_db_internal version of this solid. Definition at line 1674 of file g_ehy.c. References bu_free(), rt_ehy_internal::ehy_magic, GENPTR_NULL, rt_db_internal::idb_ptr, RT_CK_DB_INTERNAL, and RT_EHY_CK_MAGIC. Here is the call graph for this function: ![]() |
|
R T _ S P H _ P R E P Given a pointer to a GED database record, and a transformation matrix, determine if this is a valid sphere, and if so, precompute various terms of the formula. Returns - 0 SPH is OK !0 Error in description Implicit return - A struct sph_specific is created, and it's address is stored in stp->st_specific for use by rt_sph_shot(). If the ELL is really a SPH, stp->st_id is modified to ID_SPH. Definition at line 104 of file g_sph.c. References rt_ell_internal::a, rt_ell_internal::b, BU_GETSTRUCT, bu_log(), rt_ell_internal::c, bn_tol::dist, ID_SPH, rt_db_internal::idb_ptr, LOCAL, MAGSQ, MAT_IDN, NEAR_ZERO, RT_ELL_CK_MAGIC, rt_i::rti_tol, sph_specific::sph_invrad, sph_specific::sph_rad, sph_specific::sph_radsq, sph_specific::sph_SoR, sph_specific::sph_V, soltab::st_aradius, soltab::st_bradius, soltab::st_center, soltab::st_id, soltab::st_max, soltab::st_meth, soltab::st_min, soltab::st_specific, rt_ell_internal::v, VDOT, VMOVE, VSCALE, X, Y, and Z. Referenced by rt_ell_prep(). Here is the call graph for this function: ![]() |
|
|
R T _ E L L _ P R I N T Definition at line 341 of file g_ell.c. References bn_mat_print(), ell_specific::ell_invRSSR, ell_specific::ell_SoR, ell_specific::ell_V, and VPRINT. Here is the call graph for this function: ![]() |
|
R T _ E L L _ S H O T Intersect a ray with an ellipsoid, where all constant terms have been precomputed by rt_ell_prep(). If an intersection occurs, a struct seg will be acquired and filled in. Returns - 0 MISS >0 HIT Definition at line 363 of file g_ell.c. References application::a_resource, BU_LIST_INSERT, ell_specific::ell_SoR, ell_specific::ell_V, FAST, seg::l, LOCAL, MAT4X3VEC, RT_GET_SEG, soltab::st_specific, VDOT, and VSUB2. |
|
R T _ E L L _ V S H O T This is the Becker vector version. Definition at line 410 of file g_ell.c. References ell_specific::ell_SoR, ell_specific::ell_V, FAST, hit::hit_dist, LOCAL, MAT4X3VEC, xray::r_dir, RT_ELL_SEG_MISS, seg::seg_in, seg::seg_out, seg::seg_stp, VDOT, and VSUB2. |
|
R T _ E L L _ N O R M Given ONE ray distance, return the normal and entry/exit point. Definition at line 468 of file g_ell.c. References ell_specific::ell_invRSSR, ell_specific::ell_V, LOCAL, MAGNITUDE, MAT4X3VEC, soltab::st_specific, VJOIN1, VSCALE, VSUB2, and X. |
|
R T _ E L L _ C U R V E Return the curvature of the ellipsoid. Definition at line 491 of file g_ell.c. References bn_eigen2x2(), bn_vec_ortho(), ell_specific::ell_invRSSR, MAT4X3VEC, soltab::st_specific, VCOMB2, VCROSS, VDOT, VUNITIZE, X, and Y. Here is the call graph for this function: ![]() |
|
R T _ E L L _ U V For a hit on the surface of an ELL, return the (u,v) coordinates of the hit point, 0 <= u,v <= 1. u = azimuth v = elevation Definition at line 531 of file g_ell.c. References application::a_diverge, application::a_rbeam, bn_atan2(), bn_inv2pi, bn_invpi, ell_specific::ell_SoR, ell_specific::ell_V, LOCAL, MAT4X3VEC, soltab::st_aradius, soltab::st_specific, VSUB2, X, Y, and Z. Here is the call graph for this function: ![]() |
|
R T _ E L L _ F R E E Definition at line 569 of file g_ell.c. References bu_free(). Here is the call graph for this function: ![]() |
|
|
|
Definition at line 590 of file g_ell.c. References ELLOUT, VADD2, VJOIN2, and VSUB2. Referenced by rt_cline_plot(), rt_ell_plot(), rt_metaball_plot_sph(), rt_part_plot(), and rt_tgc_plot(). |
|
R T _ E L L _ P L O T Definition at line 631 of file g_ell.c. References rt_ell_internal::a, rt_ell_internal::b, BN_VLIST_LINE_DRAW, BN_VLIST_LINE_MOVE, rt_ell_internal::c, ELEMENTS_PER_VECT, rt_db_internal::idb_ptr, RT_ADD_VLIST, RT_CK_DB_INTERNAL, rt_ell_16pts(), RT_ELL_CK_MAGIC, top(), and rt_ell_internal::v. Here is the call graph for this function: ![]() |
|
R T _ E L L _ T E S S Tessellate an ellipsoid. The strategy is based upon the approach of Jon Leech 3/24/89, from program "sphere", which generates a polygon mesh approximating a sphere by recursive subdivision. First approximation is an octahedron; each level of refinement increases the number of polygons by a factor of 4. Level 3 (128 polygons) is a good tradeoff if gouraud shading is used to render the database. At the start, points ABC lie on surface of the unit sphere. Pick DEF as the midpoints of the three edges of ABC. Normalize the new points to lie on surface of the unit sphere. 1 B /\ 3 / \ 4 D/____/\ /\ / \ / \ /____\/____\ A F C 0 5 2 Returns - -1 failure 0 OK. *r points to nmgregion that holds this tessellation. Definition at line 750 of file g_ell.c. References rt_tess_tol::abs, bn_halfpi, bn_mat_inv(), bn_mat_mul(), bn_mat_trn(), bu_calloc(), BU_LIST_FIRST, bu_log(), bn_tol::dist, rt_db_internal::idb_ptr, int, LOCAL, MAGSQ, MAT_IDN, NEAR_ZERO, ell_vert_strip::nfaces, nmg_mrsv(), rt_tess_tol::norm, ell_vert_strip::nverts, ell_vert_strip::nverts_per_strip, R, rt_tess_tol::rel, RT_CK_DB_INTERNAL, RT_ELL_CK_MAGIC, state, VCROSS, VDOT, VMOVE, VREVERSE, and VSCALE. Here is the call graph for this function: ![]() |
|
R T _ E L L _ I M P O R T Import an ellipsoid/sphere from the database format to the internal structure. Apply modeling transformations as well. Definition at line 1121 of file g_ell.c. References rt_ell_internal::a, rt_ell_internal::b, BU_CK_EXTERNAL, bu_log(), bu_malloc(), rt_ell_internal::c, DB5_MAJORTYPE_BRLCAD, bu_external::ext_buf, ID_ELL, ID_SOLID, rt_db_internal::idb_major_type, rt_db_internal::idb_meth, rt_db_internal::idb_ptr, LOCAL, rt_ell_internal::magic, MAT4X3PNT, MAT4X3VEC, RT_CK_DB_INTERNAL, RT_ELL_INTERNAL_MAGIC, rt_fastf_float(), record::s, record::solidrec::s_values, record::u_id, and rt_ell_internal::v. Here is the call graph for this function: ![]() |
|
R T _ E L L _ E X P O R T Definition at line 1159 of file g_ell.c. References rt_ell_internal::a, rt_ell_internal::b, bu_calloc(), BU_CK_EXTERNAL, rt_ell_internal::c, bu_external::ext_buf, bu_external::ext_nbytes, GENELL, ID_ELL, ID_SOLID, ID_SPH, rt_db_internal::idb_ptr, RT_CK_DB_INTERNAL, RT_ELL_CK_MAGIC, record::s, record::solidrec::s_id, record::solidrec::s_type, record::solidrec::s_values, rt_ell_internal::v, and VSCALE. Here is the call graph for this function: ![]() |
|
R T _ E L L _ I M P O R T 5 Import an ellipsoid/sphere from the database format to the internal structure. Apply modeling transformations as well. Definition at line 1194 of file g_ell.c. References rt_ell_internal::a, rt_ell_internal::b, BU_ASSERT_LONG, BU_CK_EXTERNAL, bu_malloc(), rt_ell_internal::c, DB5_MAJORTYPE_BRLCAD, ELEMENTS_PER_VECT, bu_external::ext_buf, bu_external::ext_nbytes, ID_ELL, rt_db_internal::idb_major_type, rt_db_internal::idb_meth, rt_db_internal::idb_ptr, rt_ell_internal::magic, MAT4X3PNT, MAT4X3VEC, ntohd(), RT_CK_DB_INTERNAL, RT_ELL_INTERNAL_MAGIC, SIZEOF_NETWORK_DOUBLE, and rt_ell_internal::v. Here is the call graph for this function: ![]() |
|
R T _ E L L _ E X P O R T 5 The external format is: V point A vector B vector C vector Definition at line 1234 of file g_ell.c. References rt_ell_internal::a, rt_ell_internal::b, BU_CK_EXTERNAL, bu_malloc(), rt_ell_internal::c, ELEMENTS_PER_VECT, bu_external::ext_buf, bu_external::ext_nbytes, htond(), ID_ELL, ID_SPH, rt_db_internal::idb_ptr, RT_CK_DB_INTERNAL, RT_ELL_CK_MAGIC, SIZEOF_NETWORK_DOUBLE, rt_ell_internal::v, and VSCALE. Here is the call graph for this function: ![]() |
|
R T _ E L L _ D E S C R I B E Make human-readable formatted presentation of this solid. First line describes type of solid. Additional lines are indented one tab, and give parameter values. Definition at line 1268 of file g_ell.c. References bu_vls_strcat(), rt_db_internal::idb_ptr, INTCLAMP, MAGNITUDE, RT_ELL_CK_MAGIC, rt_find_fallback_angle(), rt_pr_fallback_angle(), VSCALE, X, Y, and Z. Here is the call graph for this function: ![]() |
|
R T _ E L L _ I F R E E Free the storage associated with the rt_db_internal version of this solid. Definition at line 1334 of file g_ell.c. References bu_free(), GENPTR_NULL, rt_db_internal::idb_ptr, and RT_CK_DB_INTERNAL. Here is the call graph for this function: ![]() |
|
R T _ E L L _ T N U R B Definition at line 1357 of file g_ell.c. References rt_ell_internal::a, rt_ell_internal::b, bn_mat_inv(), bn_mat_mul(), bn_mat_trn(), BU_LIST_FIRST, BU_LIST_NEXT, bu_log(), rt_ell_internal::c, bn_tol::dist, loopuse::down_hd, ELEMENTS_PER_VECT, edgeuse::eumate_p, rt_db_internal::idb_ptr, edgeuse::l, LOCAL, faceuse::lu_hd, MAGSQ, MAT_DELTAS_VEC, MAT_IDN, NEAR_ZERO, NMG_CK_EDGEUSE, NMG_CK_LOOPUSE, nmg_cmface(), nmg_mrsv(), nmg_vertexuse_a_cnurb(), R, RT_CK_DB_INTERNAL, RT_ELL_CK_MAGIC, rt_ell_internal::v, VCROSS, VDOT, VMOVE, VREVERSE, VSCALE, and edgeuse::vu_p. Here is the call graph for this function: ![]() |
|
|
R T _ E P A _ P R I N T Definition at line 317 of file g_epa.c. References bn_mat_print(), epa_specific::epa_Aunit, epa_specific::epa_Bunit, epa_specific::epa_Hunit, epa_specific::epa_invRoS, epa_specific::epa_SoR, epa_specific::epa_V, and VPRINT. Here is the call graph for this function: ![]() |
|
R T _ E P A _ S H O T Intersect a ray with a epa. If an intersection occurs, a struct seg will be acquired and filled in. Returns - 0 MISS >0 HIT Definition at line 346 of file g_epa.c. References application::a_resource, BU_LIST_INSERT, EPA_NORM_BODY, EPA_NORM_TOP, epa_specific::epa_SoR, epa_specific::epa_V, FAST, seg::l, LOCAL, MAT4X3VEC, NEAR_ZERO, RT_GET_SEG, RT_HIT_MAGIC, RT_PCOEF_TOL, seg::seg_in, seg::seg_out, seg::seg_stp, SMALL, soltab::st_specific, VJOIN1, VSUB2, X, Y, and Z. |
|
R T _ E P A _ V S H O T Vectorized version. Definition at line 467 of file g_epa.c. References rt_vstub(). Here is the call graph for this function: ![]() |
|
R T _ E P A _ N O R M Given ONE ray distance, return the normal and entry/exit point. Definition at line 483 of file g_epa.c. References bu_log(), epa_specific::epa_Hunit, epa_specific::epa_invRoS, EPA_NORM_BODY, EPA_NORM_TOP, MAGNITUDE, MAT4X3VEC, soltab::st_specific, VJOIN1, VREVERSE, VSCALE, VSET, X, and Y. Here is the call graph for this function: ![]() |
|
R T _ E P A _ C U R V E Return the curvature of the epa. Definition at line 519 of file g_epa.c. References bn_mat_mul(), bn_vec_ortho(), eigen2x2, epa_specific::epa_invRoS, EPA_NORM_BODY, EPA_NORM_TOP, epa_specific::epa_SoR, MAT4X3VEC, MAT_IDN, soltab::st_specific, VCOMB2, VCROSS, VDOT, VUNITIZE, X, and Y. Here is the call graph for this function: ![]() |
|
R T _ E P A _ U V For a hit on the surface of an epa, return the (u,v) coordinates of the hit point, 0 <= u,v <= 1. u = azimuth v = elevation Definition at line 575 of file g_epa.c. References bn_inv2pi, EPA_NORM_BODY, EPA_NORM_TOP, epa_specific::epa_SoR, epa_specific::epa_V, FAST, LOCAL, MAT4X3VEC, soltab::st_specific, VSUB2, X, Y, and Z. |
|
R T _ E P A _ F R E E Definition at line 620 of file g_epa.c. References bu_free(). Here is the call graph for this function: ![]() |
|
R T _ E P A _ C L A S S |
|
R T _ E P A _ P L O T Definition at line 642 of file g_epa.c. References A, rt_tess_tol::abs, bn_mat_trn(), bn_pi, bn_twopi, BN_VLIST_LINE_DRAW, BN_VLIST_LINE_MOVE, bu_free(), bu_malloc(), ELEMENTS_PER_VECT, rt_epa_internal::epa_Au, rt_epa_internal::epa_H, rt_epa_internal::epa_r1, rt_epa_internal::epa_r2, rt_epa_internal::epa_V, rt_db_internal::idb_ptr, LOCAL, MAGNITUDE, MAGSQ, MAT_IDN, NEAR_ZERO, rt_pt_node::next, rt_tess_tol::norm, NULL, rt_pt_node::p, R, rt_tess_tol::rel, RT_ADD_VLIST, RT_CK_DB_INTERNAL, RT_DOT_TOL, rt_ell(), rt_ell_ang(), RT_EPA_CK_MAGIC, RT_LEN_TOL, rt_mk_parabola(), rt_ptalloc(), VCROSS, VDOT, VJOIN1, VMOVE, VREVERSE, VSCALE, VSET, VUNITIZE, X, Y, and Z. Here is the call graph for this function: ![]() |
|
Definition at line 908 of file g_epa.c. References bn_pi, ELLOUT, rt_bomb(), SMALL_FASTF, VBLEND2, VCROSS, VJOIN2, and VUNITIZE. Referenced by rt_epa_tess(). Here is the call graph for this function: ![]() |
|
R T _ E L L Generate an ellipsoid with the specified number of sides approximating it. |
|
R T _ E L L _ A N G Return angle required for smallest side to fall within tolerances for ellipse. Smallest side is a side with an endpoint at (a, 0, 0) where a is the semi-major axis. Definition at line 962 of file g_epa.c. References MAGNITUDE, VDOT, VSET, VUNITIZE, X, Y, and Z. Referenced by rt_ehy_plot(), rt_ehy_tess(), rt_epa_plot(), and rt_epa_tess(). |
|
R T _ E P A _ T E S S Returns - -1 failure 0 OK. *r points to nmgregion that holds this tessellation. Definition at line 1004 of file g_epa.c. References A, rt_tess_tol::abs, bn_mat_trn(), bn_pi, bn_twopi, bu_calloc(), bu_free(), BU_LIST_FIRST, bu_malloc(), rt_epa_internal::epa_Au, rt_epa_internal::epa_H, rt_epa_internal::epa_r1, rt_epa_internal::epa_r2, rt_epa_internal::epa_V, rt_db_internal::idb_ptr, LOCAL, MAGNITUDE, MAGSQ, MAT_IDN, NEAR_ZERO, rt_pt_node::next, nmg_mrsv(), rt_tess_tol::norm, NULL, rt_pt_node::p, R, rt_tess_tol::rel, RT_CK_DB_INTERNAL, RT_DOT_TOL, rt_ell(), rt_ell_ang(), rt_ell_norms(), RT_EPA_CK_MAGIC, RT_LEN_TOL, rt_mk_parabola(), rt_ptalloc(), VCROSS, VDOT, VJOIN1, VMOVE, VREVERSE, VSCALE, VSET, VUNITIZE, X, Y, and Z. Here is the call graph for this function: ![]() |
|
R T _ E P A _ I M P O R T Import an EPA from the database format to the internal format. Apply modeling transformations as well. Definition at line 1463 of file g_epa.c. References BU_CK_EXTERNAL, bu_free(), bu_log(), bu_malloc(), DB5_MAJORTYPE_BRLCAD, rt_epa_internal::epa_Au, rt_epa_internal::epa_H, rt_epa_internal::epa_magic, rt_epa_internal::epa_r1, rt_epa_internal::epa_r2, rt_epa_internal::epa_V, bu_external::ext_buf, ID_EPA, ID_SOLID, rt_db_internal::idb_major_type, rt_db_internal::idb_meth, rt_db_internal::idb_ptr, LOCAL, MAT4X3PNT, MAT4X3VEC, RT_CK_DB_INTERNAL, RT_EPA_INTERNAL_MAGIC, record::s, record::solidrec::s_values, SMALL_FASTF, record::u_id, and VUNITIZE. Here is the call graph for this function: ![]() |
|
R T _ E P A _ E X P O R T The name is added by the caller, in the usual place. Definition at line 1508 of file g_epa.c. References bu_calloc(), BU_CK_EXTERNAL, bu_log(), EPA, rt_epa_internal::epa_Au, rt_epa_internal::epa_H, rt_epa_internal::epa_r1, rt_epa_internal::epa_r2, rt_epa_internal::epa_V, bu_external::ext_buf, bu_external::ext_nbytes, ID_EPA, ID_SOLID, rt_db_internal::idb_ptr, MAGNITUDE, NEAR_ZERO, RT_CK_DB_INTERNAL, RT_DOT_TOL, RT_EPA_CK_MAGIC, RT_LEN_TOL, record::s, record::solidrec::s_id, record::solidrec::s_type, record::solidrec::s_values, VDOT, VMOVE, and VSCALE. Here is the call graph for this function: ![]() |
|
R T _ E P A _ I M P O R T 5 Import an EPA from the database format to the internal format. Apply modeling transformations as well. Definition at line 1568 of file g_epa.c. References BU_ASSERT_LONG, BU_CK_EXTERNAL, bu_free(), bu_log(), bu_malloc(), DB5_MAJORTYPE_BRLCAD, rt_epa_internal::epa_Au, rt_epa_internal::epa_H, rt_epa_internal::epa_magic, rt_epa_internal::epa_r1, rt_epa_internal::epa_r2, rt_epa_internal::epa_V, bu_external::ext_buf, bu_external::ext_nbytes, ID_EPA, rt_db_internal::idb_major_type, rt_db_internal::idb_meth, rt_db_internal::idb_ptr, LOCAL, MAT4X3PNT, MAT4X3VEC, ntohd(), RT_CK_DB_INTERNAL, RT_EPA_INTERNAL_MAGIC, SIZEOF_NETWORK_DOUBLE, SMALL_FASTF, and VUNITIZE. Here is the call graph for this function: ![]() |
|
R T _ E P A _ E X P O R T 5 The name is added by the caller, in the usual place. Definition at line 1613 of file g_epa.c. References BU_CK_EXTERNAL, bu_log(), bu_malloc(), rt_epa_internal::epa_Au, rt_epa_internal::epa_H, rt_epa_internal::epa_r1, rt_epa_internal::epa_r2, rt_epa_internal::epa_V, bu_external::ext_buf, bu_external::ext_nbytes, htond(), ID_EPA, rt_db_internal::idb_ptr, MAGNITUDE, NEAR_ZERO, RT_CK_DB_INTERNAL, RT_DOT_TOL, RT_EPA_CK_MAGIC, RT_LEN_TOL, SIZEOF_NETWORK_DOUBLE, VDOT, VMOVE, and VSCALE. Here is the call graph for this function: ![]() |
|
R T _ E P A _ D E S C R I B E Make human-readable formatted presentation of this solid. First line describes type of solid. Additional lines are indented one tab, and give parameter values. Definition at line 1673 of file g_epa.c. References bu_vls_strcat(), rt_db_internal::idb_ptr, INTCLAMP, MAGNITUDE, RT_EPA_CK_MAGIC, X, Y, and Z. Here is the call graph for this function: ![]() |
|
R T _ E P A _ I F R E E Free the storage associated with the rt_db_internal version of this solid. Definition at line 1710 of file g_epa.c. References bu_free(), rt_epa_internal::epa_magic, GENPTR_NULL, rt_db_internal::idb_ptr, RT_CK_DB_INTERNAL, and RT_EPA_CK_MAGIC. Here is the call graph for this function: ![]() |
|
|
R T _ E T O _ P R I N T Definition at line 287 of file g_eto.c. References bn_mat_print(), bu_log(), eto_specific::eto_C, eto_specific::eto_invR, eto_specific::eto_N, eto_specific::eto_R, eto_specific::eto_r, eto_specific::eto_rc, eto_specific::eto_rd, eto_specific::eto_V, VPRINT, X, Y, and Z. Here is the call graph for this function: ![]() |
|
R T _ E T O _ S H O T Intersect a ray with an eto, where all constant terms have been precomputed by rt_eto_prep(). If an intersection occurs, one or two struct seg(s) will be acquired and filled in. NOTE: All lines in this function are represented parametrically by a point, P( x0, y0, z0 ) and a direction normal, D = ax + by + cz. Any point on a line can be expressed by one variable 't', where X = a*t + x0, eg, X = Dx*t + Px Y = b*t + y0, Z = c*t + z0. First, convert the line to the coordinate system of a "stan- dard" eto. This is a eto which lies in the X-Y plane and circles the origin. The semimajor axis is C. Then find the equation of that line and the standard eto, which turns out to be a quartic equation in 't'. Solve the equation using a general polynomial root finder. Use those values of 't' to compute the points of intersection in the original coordinate system. Returns - 0 MISS >0 HIT Definition at line 336 of file g_eto.c. References bn_pr_roots(), bu_log(), directory::d_namep, eto_specific::eto_r, eto_specific::eto_R, eto_specific::eto_rc, eto_specific::eto_rd, eto_specific::eto_V, eto_specific::eu, eto_specific::ev, eto_specific::fu, eto_specific::fv, LOCAL, MAT4X3VEC, NEAR_ZERO, rt_poly_roots(), soltab::st_dp, soltab::st_specific, val, VDOT, VPRINT, VSCALE, VSUB2, VUNITIZE, X, Y, and Z. Here is the call graph for this function: ![]() |
|
R T _ E T O _ V S H O T This is the Becker vector version |
|
R T _ E T O _ N O R M Compute the normal to the eto, given a point on the eto centered at the origin on the X-Y plane. The gradient of the eto at that point is in fact the normal vector, which will have to be given unit length. To make this useful for the original eto, it will have to be rotated back to the orientation of the original eto. The equation for the eto is: _______ ________ / 2 2 2 / 2 2 2 [Eu(+- \/ x + y - R) + Ev z] + [Fu(+-\/ x + y - R) + Fv z ] -------------------------------- ------------------------------- = 1 2 2 Rc Rd The normal is the gradient of f(x,y,z) = 0 or (df/dx, df/dy, df/dz) Definition at line 590 of file g_eto.c. References eto_specific::eto_invR, eto_specific::eto_r, eto_specific::eto_rc, eto_specific::eto_rd, eto_specific::eu, eto_specific::ev, FAST, eto_specific::fu, eto_specific::fv, LOCAL, MAT3X3VEC, soltab::st_specific, VJOIN1, VSET, VUNITIZE, X, Y, and Z. |
|
R T _ E T O _ C U R V E Return the curvature of the eto. Definition at line 625 of file g_eto.c. References cv(), eto_specific::eto_C, eto_specific::eto_N, eto_specific::eto_r, eto_specific::eto_rc, eto_specific::eto_rd, MAGNITUDE, soltab::st_specific, VCOMB2, VCROSS, VDOT, VMOVE, VSCALE, VSET, VSUB2, VUNITIZE, X, and Y. Here is the call graph for this function: ![]() |
|
R T _ E T O _ U V Definition at line 690 of file g_eto.c. References bn_twopi, eto_specific::eto_N, eto_specific::eto_r, soltab::st_specific, VDOT, VMOVE, VSCALE, VSET, VSUB2, VUNITIZE, X, and Y. |
|
R T _ E T O _ F R E E Definition at line 732 of file g_eto.c. References bu_free(), and soltab::st_specific. Here is the call graph for this function: ![]() |
|
|
|
R T _ E T O _ P L O T The ETO has the following input fields: eto_V V from origin to center eto_r Radius scalar eto_N Normal to plane of eto eto_C Semimajor axis (vector) of eto cross section eto_rd Semiminor axis length (scalar) of eto cross section Definition at line 758 of file g_eto.c. References rt_tess_tol::abs, bn_pi, bn_twopi, bn_vec_ortho(), bu_log(), bu_malloc(), cv(), rt_eto_internal::eto_C, rt_eto_internal::eto_N, ETO_PTA, rt_eto_internal::eto_r, rt_eto_internal::eto_rd, rt_eto_internal::eto_V, rt_db_internal::idb_ptr, MAGNITUDE, NEAR_ZERO, rt_tess_tol::norm, rt_tess_tol::rel, RT_CK_DB_INTERNAL, RT_ETO_CK_MAGIC, rt_mk_ell(), rt_num_circular_segments(), VCOMB2, VCROSS, VDOT, VJOIN1, VJOIN2, VMOVE, VUNITIZE, X, and Y. Here is the call graph for this function: ![]() |
|
R T _ E L L 4 Approximate one fourth (1st quadrant) of an ellipse with line segments. The initial single segment is broken at the point farthest from the ellipse if that point is not aleady within the distance and normal error tolerances. The two resulting segments are passed recursively to this routine until each segment is within tolerance. Definition at line 901 of file g_eto.c. References rt_pt_node::next, rt_pt_node::p, rt_ptalloc(), VDOT, VMOVE, VSET, VUNITIZE, X, Y, and Z. Referenced by rt_mk_ell(). Here is the call graph for this function: ![]() |
|
R T _ M K _ E L L Return pointer an array of points approximating an ellipse with semi-major and semi-minor axes a and b. The line segments fall within the normal and distance tolerances of ntol and dtol. Definition at line 957 of file g_eto.c. References bu_free(), bu_malloc(), rt_pt_node::next, NULL, rt_pt_node::p, pos, rt_ell4(), rt_ptalloc(), VMOVE, and VSET. Referenced by rt_eto_plot(), and rt_eto_tess(). Here is the call graph for this function: ![]() |
|
R T _ E T O _ T E S S Definition at line 1007 of file g_eto.c. References rt_tess_tol::abs, bn_pi, bn_twopi, bn_vec_ortho(), bu_calloc(), bu_log(), bu_malloc(), cv(), rt_eto_internal::eto_C, rt_eto_internal::eto_N, ETO_NMA, ETO_PTA, rt_eto_internal::eto_r, rt_eto_internal::eto_rd, rt_eto_internal::eto_V, rt_db_internal::idb_ptr, MAGNITUDE, NEAR_ZERO, rt_tess_tol::norm, NULL, rt_tess_tol::rel, RT_CK_DB_INTERNAL, RT_ETO_CK_MAGIC, rt_mk_ell(), rt_num_circular_segments(), VBLEND2, VCOMB2, VCROSS, VDOT, VJOIN1, VJOIN2, VMOVE, VUNITIZE, X, and Y. Here is the call graph for this function: ![]() |
|
R T _ E T O _ I M P O R T Import a eto from the database format to the internal format. Apply modeling transformations at the same time. Definition at line 1216 of file g_eto.c. References BU_CK_EXTERNAL, bu_log(), bu_malloc(), DB5_MAJORTYPE_BRLCAD, rt_eto_internal::eto_C, rt_eto_internal::eto_magic, rt_eto_internal::eto_N, rt_eto_internal::eto_r, rt_eto_internal::eto_rd, rt_eto_internal::eto_V, bu_external::ext_buf, ID_ETO, ID_SOLID, rt_db_internal::idb_major_type, rt_db_internal::idb_meth, rt_db_internal::idb_ptr, MAT4X3PNT, MAT4X3VEC, RT_CK_DB_INTERNAL, RT_ETO_INTERNAL_MAGIC, record::s, record::solidrec::s_values, SMALL, and record::u_id. Here is the call graph for this function: ![]() |
|
R T _ E T O _ E X P O R T The name will be added by the caller. Definition at line 1258 of file g_eto.c. References bu_calloc(), BU_CK_EXTERNAL, bu_log(), ETO, rt_eto_internal::eto_C, rt_eto_internal::eto_N, rt_eto_internal::eto_r, rt_eto_internal::eto_rd, rt_eto_internal::eto_V, bu_external::ext_buf, bu_external::ext_nbytes, ID_ETO, ID_SOLID, rt_db_internal::idb_ptr, MAGNITUDE, RT_CK_DB_INTERNAL, RT_ETO_CK_MAGIC, RT_LEN_TOL, record::s, record::solidrec::s_id, record::solidrec::s_type, record::solidrec::s_values, and VSCALE. Here is the call graph for this function: ![]() |
|
R T _ E T O _ I M P O R T 5 Import a eto from the database format to the internal format. Apply modeling transformations at the same time. Definition at line 1306 of file g_eto.c. References BU_ASSERT_LONG, BU_CK_EXTERNAL, bu_log(), bu_malloc(), DB5_MAJORTYPE_BRLCAD, rt_eto_internal::eto_C, rt_eto_internal::eto_magic, rt_eto_internal::eto_N, rt_eto_internal::eto_r, rt_eto_internal::eto_rd, rt_eto_internal::eto_V, bu_external::ext_buf, bu_external::ext_nbytes, ID_ETO, rt_db_internal::idb_major_type, rt_db_internal::idb_meth, rt_db_internal::idb_ptr, MAT4X3PNT, MAT4X3VEC, ntohd(), RT_CK_DB_INTERNAL, RT_ETO_INTERNAL_MAGIC, SIZEOF_NETWORK_DOUBLE, and SMALL. Here is the call graph for this function: ![]() |
|
R T _ E T O _ E X P O R T 5 The name will be added by the caller. Definition at line 1348 of file g_eto.c. References BU_CK_EXTERNAL, bu_log(), bu_malloc(), rt_eto_internal::eto_C, rt_eto_internal::eto_N, rt_eto_internal::eto_r, rt_eto_internal::eto_rd, rt_eto_internal::eto_V, bu_external::ext_buf, bu_external::ext_nbytes, htond(), ID_ETO, rt_db_internal::idb_ptr, MAGNITUDE, RT_CK_DB_INTERNAL, RT_ETO_CK_MAGIC, RT_LEN_TOL, SIZEOF_NETWORK_DOUBLE, and VSCALE. Here is the call graph for this function: ![]() |
|
R T _ E T O _ D E S C R I B E Make human-readable formatted presentation of this solid. First line describes type of solid. Additional lines are indented one tab, and give parameter values. Definition at line 1396 of file g_eto.c. References bu_vls_strcat(), rt_db_internal::idb_ptr, INTCLAMP, MAGNITUDE, RT_ETO_CK_MAGIC, X, Y, and Z. Here is the call graph for this function: ![]() |
|
R T _ E T O _ I F R E E Free the storage associated with the rt_db_internal version of this solid. Definition at line 1439 of file g_eto.c. References bu_free(), GENPTR_NULL, rt_db_internal::idb_ptr, RT_CK_DB_INTERNAL, and RT_ETO_CK_MAGIC. Here is the call graph for this function: ![]() |
|
Referenced by curve_to_vlist(). |
|
|
R T _ E X T R U D E _ P R I N T Definition at line 357 of file g_extrude.c. |
|
Definition at line 362 of file g_extrude.c. References V2DOT. Referenced by isect_line_earc(). |
|
Definition at line 385 of file g_extrude.c. References bu_bomb(), bu_log(), SMALL_FASTF, V2DOT, V2SUB2, and V3ARGS. Referenced by isect_2D_loop_ray(), isect_line_earc(), and rt_extrude_shot(). Here is the call graph for this function: ![]() |
|
Definition at line 433 of file g_extrude.c. References get_quadrant(), isect_line2_ellipse(), V2JOIN1, V2SUB2, VCROSS, VMOVE, and VREVERSE. Referenced by rt_extrude_shot(). Here is the call graph for this function: ![]() |
|
R T _ E X T R U D E _ S H O T Intersect a ray with a extrude. If an intersection occurs, a struct seg will be acquired and filled in. Returns - 0 MISS >0 HIT Definition at line 603 of file g_extrude.c. References bn_isect_line2_line2(), BOTTOM_FACE, extrude_specific::crv, CURVE_CARC_MAGIC, CURVE_LSEG_MAGIC, DIST_PT_PLANE, extrude_specific::irot, isect_line2_ellipse(), isect_line_earc(), LINE_SEG, MAT4X3PNT, MAT4X3VEC, MAX_FASTF, MAX_HITS, NEAR_ZERO, NULL, extrude_specific::perp, extrude_specific::pl1, extrude_specific::pl1_rot, extrude_specific::pl2, carc_seg::radius, extrude_specific::rot, extrude_specific::rot_axis, SMALL_FASTF, soltab::st_specific, TOP_FACE, extrude_specific::u_vec, VDOT, extrude_specific::verts, VJOIN1, VMOVE, VSCALE, VSUB2, and Z. Here is the call graph for this function: ![]() |
|
R T _ E X T R U D E _ V S H O T Vectorized version. Definition at line 1034 of file g_extrude.c. References rt_vstub(). Here is the call graph for this function: ![]() |
|
R T _ E X T R U D E _ N O R M Given ONE ray distance, return the normal and entry/exit point. Definition at line 1050 of file g_extrude.c. References BEZIER_SEG, BOTTOM_FACE, bu_bomb(), CARC_SEG, DIST_PT_PLANE, extrude_specific::irot, LINE_SEG, MAT4X3VEC, extrude_specific::pl1, soltab::st_specific, TOP_FACE, extrude_specific::unit_h, VCROSS, VDOT, VJOIN1, VREVERSE, VSUB2, and VUNITIZE. Here is the call graph for this function: ![]() |
|
R T _ E X T R U D E _ C U R V E Return the curvature of the extrude. Definition at line 1113 of file g_extrude.c. References CARC_SEG, LINE_SEG, MAG2SQ, extrude_specific::perp, extrude_specific::rot_axis, soltab::st_specific, extrude_specific::unit_h, VCROSS, VDOT, VMOVE, VSCALE, VSUB2, and VUNITIZE. |
|
R T _ E X T R U D E _ U V For a hit on the surface of an extrude, return the (u,v) coordinates of the hit point, 0 <= u,v <= 1. u = azimuth v = elevation Definition at line 1173 of file g_extrude.c. |
|
R T _ E X T R U D E _ F R E E Definition at line 1181 of file g_extrude.c. References bu_free(), extrude_specific::crv, rt_curve_free(), and extrude_specific::verts. Here is the call graph for this function: ![]() |
|
R T _ E X T R U D E _ C L A S S Definition at line 1196 of file g_extrude.c. |
|
R T _ E X T R U D E _ P L O T Definition at line 1205 of file g_extrude.c. References BN_VLIST_CHUNK, BN_VLIST_LINE_DRAW, BN_VLIST_LINE_MOVE, BU_LIST_LAST, BU_LIST_NEXT, bu_log(), curve_to_vlist(), rt_extrude_internal::h, rt_db_internal::idb_ptr, bn_vlist::l, LOCAL, NULL, bn_vlist::nused, bn_vlist::pt, RT_ADD_VLIST, RT_CK_DB_INTERNAL, RT_EXTRUDE_CK_MAGIC, RT_SKETCH_CK_MAGIC, rt_extrude_internal::sketch_name, rt_extrude_internal::skt, rt_sketch_internal::skt_curve, rt_extrude_internal::u_vec, rt_extrude_internal::V, rt_extrude_internal::v_vec, and VADD2. Here is the call graph for this function: ![]() |
|
Definition at line 1296 of file g_extrude.c. References nurb_seg::c_size, nurb_seg::ctl_points, bezier_seg::ctl_points, CURVE_BEZIER_MAGIC, CURVE_CARC_MAGIC, CURVE_LSEG_MAGIC, CURVE_NURB_MAGIC, bezier_seg::degree, line_seg::end, carc_seg::end, line_seg::magic, carc_seg::radius, line_seg::start, and carc_seg::start. Referenced by rt_curve_order_segments(), and rt_extrude_tess(). |
|
Definition at line 1332 of file g_extrude.c. References bu_log(), bu_malloc(), nurb_seg::c_size, edge_g_cnurb::c_size, carc_seg::center_is_left, nurb_seg::ctl_points, edge_g_cnurb::ctl_points, CURVE_CARC_MAGIC, CURVE_LSEG_MAGIC, CURVE_NURB_MAGIC, carc_seg::end, line_seg::end, nurb_seg::k, edge_g_cnurb::k, knot_vector::k_size, knot_vector::knots, edge_g_cnurb::l, M_PI, bu_list::magic, NMG_EDGE_G_CNURB_MAGIC, nurb_seg::order, edge_g_cnurb::order, carc_seg::orientation, edge_g_cnurb::pt_type, nurb_seg::pt_type, carc_seg::radius, RT_NURB_IS_PT_RATIONAL, RT_NURB_MAKE_PT_TYPE, SMALL_FASTF, carc_seg::start, line_seg::start, V2JOIN1, V2MOVE, V2SUB2, VADD2_2D, rt_sketch_internal::verts, VMOVE_2D, VSCALE_2D, nurb_seg::weights, X, and Y. Referenced by classify_sketch_loops(). Here is the call graph for this function: ![]() |
|
Definition at line 1470 of file g_extrude.c. References bn_isect_line2_lseg2(), bu_calloc(), BU_PTBL_END, BU_PTBL_GET, CURVE_CARC_MAGIC, CURVE_LSEG_MAGIC, loop_inter::dist, carc_seg::end, line_seg::end, isect_line2_ellipse(), MAG2SQ, loop_inter::next, NULL, carc_seg::radius, carc_seg::start, line_seg::start, V2SUB2, loop_inter::vert_index, rt_sketch_internal::verts, loop_inter::which_loop, X, and Y. Referenced by classify_sketch_loops(). Here is the call graph for this function: ![]() |
|
Definition at line 1759 of file g_extrude.c. References A_IN_B, B_IN_A, BN_TOL_MAGIC, BU_CK_PTBL, bu_free(), BU_PTBL_GET, DISJOINT, bn_tol::dist, bn_tol::dist_sq, get_seg_midpoint(), isect_2D_loop_ray(), LOOPA, LOOPB, bn_tol::magic, MAGSQ_2D, NULL, bn_tol::para, bn_tol::perp, ptr, RT_SKETCH_CK_MAGIC, UNKNOWN, V2SCALE, and V2SUB2. Here is the call graph for this function: ![]() |
|
Definition at line 1836 of file g_extrude.c. References bu_calloc(), bu_free(), bu_log(), BU_PTBL_END, bu_ptbl_free(), BU_PTBL_GET, bu_ptbl_init(), bu_ptbl_ins(), get_indices(), rt_db_internal::idb_ptr, NULL, RT_CK_DB_INTERNAL, RT_EXTRUDE_CK_MAGIC, RT_SKETCH_CK_MAGIC, rt_extrude_internal::sketch_name, rt_extrude_internal::skt, and rt_sketch_internal::skt_curve. Here is the call graph for this function: ![]() |
|
|
R T _ E X T R U D E _ E X P O R T The name is added by the caller, in the usual place. Definition at line 2222 of file g_extrude.c. References bu_calloc(), BU_CK_EXTERNAL, bu_plong(), DBID_EXTR, ELEMENTS_PER_VECT, record::extr_rec::ex_count, record::extr_rec::ex_h, record::extr_rec::ex_id, record::extr_rec::ex_key, record::extr_rec::ex_uvec, record::extr_rec::ex_V, record::extr_rec::ex_vvec, bu_external::ext_buf, bu_external::ext_nbytes, record::extr, rt_extrude_internal::h, htond(), ID_EXTRUDE, rt_db_internal::idb_ptr, rt_extrude_internal::keypoint, ptr, RT_CK_DB_INTERNAL, RT_EXTRUDE_CK_MAGIC, rt_extrude_internal::sketch_name, rt_extrude_internal::u_vec, rt_extrude_internal::V, rt_extrude_internal::v_vec, and VSCALE. Here is the call graph for this function: ![]() |
|
R T _ E X T R U D E _ E X P O R T 5 The name is added by the caller, in the usual place. Definition at line 2267 of file g_extrude.c. References bu_calloc(), BU_CK_EXTERNAL, bu_plong(), ELEMENTS_PER_VECT, bu_external::ext_buf, bu_external::ext_nbytes, rt_extrude_internal::h, htond(), ID_EXTRUDE, rt_db_internal::idb_ptr, rt_extrude_internal::keypoint, ptr, RT_CK_DB_INTERNAL, RT_EXTRUDE_CK_MAGIC, SIZEOF_NETWORK_DOUBLE, SIZEOF_NETWORK_LONG, rt_extrude_internal::sketch_name, rt_extrude_internal::u_vec, rt_extrude_internal::V, rt_extrude_internal::v_vec, and VSCALE. Here is the call graph for this function: ![]() |
|
R T _ E X T R U D E _ I M P O R T 5 Import an EXTRUDE from the database format to the internal format. Apply modeling transformations as well. Definition at line 2305 of file g_extrude.c. References bn_mat_identity, BU_CK_EXTERNAL, bu_free(), bu_glong(), bu_log(), bu_malloc(), bu_strdup, DB5_MAJORTYPE_BRLCAD, db_lookup(), DIR_NULL, ELEMENTS_PER_VECT, bu_external::ext_buf, rt_extrude_internal::h, ID_EXTRUDE, ID_SKETCH, rt_db_internal::idb_major_type, rt_db_internal::idb_meth, rt_db_internal::idb_ptr, rt_extrude_internal::keypoint, LOCAL, LOOKUP_NOISY, rt_extrude_internal::magic, MAT4X3PNT, MAT4X3VEC, ntohd(), NULL, ptr, RT_CK_DB_INTERNAL, rt_db_get_internal(), RT_EXTRUDE_INTERNAL_MAGIC, SIZEOF_NETWORK_DOUBLE, SIZEOF_NETWORK_LONG, rt_extrude_internal::sketch_name, rt_extrude_internal::skt, rt_extrude_internal::u_vec, rt_extrude_internal::V, and rt_extrude_internal::v_vec. Here is the call graph for this function: ![]() |
|
Definition at line 2374 of file g_extrude.c. References bu_vls_strcat(), rt_extrude_internal::h, rt_db_internal::idb_ptr, RT_EXTRUDE_CK_MAGIC, rt_extrude_internal::V, V3INTCLAMPARGS, and VSCALE. Here is the call graph for this function: ![]() |
|
R T _ E X T R U D E _ I F R E E Free the storage associated with the rt_db_internal version of this solid. Definition at line 2408 of file g_extrude.c. References bu_free(), DB5_MAJORTYPE_BRLCAD, GENPTR_NULL, ID_SKETCH, rt_db_internal::idb_major_type, rt_db_internal::idb_meth, rt_db_internal::idb_ptr, rt_extrude_internal::magic, RT_CK_DB_INTERNAL, RT_EXTRUDE_CK_MAGIC, RT_INIT_DB_INTERNAL, rt_sketch_ifree(), rt_extrude_internal::sketch_name, and rt_extrude_internal::skt. Here is the call graph for this function: ![]() |
|
|
Definition at line 2504 of file g_extrude.c. References interp, NULL, RT_CK_FUNCTAB, and TCL_OK. |
|
Definition at line 2516 of file g_extrude.c. References bu_vls_addr(), bu_vls_free(), bu_vls_init(), bu_vls_printf(), bu_vls_strcat(), bu_vls_strcpy(), rt_db_internal::idb_ptr, interp, NULL, RT_EXTRUDE_CK_MAGIC, TCL_ERROR, TCL_OK, and V3ARGS. Here is the call graph for this function: ![]() |
|
Definition at line 2565 of file g_extrude.c. References bu_free(), bu_strdup, rt_extrude_internal::h, rt_db_internal::idb_ptr, interp, rt_extrude_internal::keypoint, MAGNITUDE, RT_CK_DB_INTERNAL, RT_EXTRUDE_CK_MAGIC, rt_extrude_internal::sketch_name, TCL_ERROR, tcl_list_to_fastf_array(), TCL_OK, TCL_STATIC, rt_extrude_internal::u_vec, rt_extrude_internal::V, rt_extrude_internal::v_vec, VSCALE, and VUNITIZE. Here is the call graph for this function: ![]() |
|
R T _ G R P _ P R E P Definition at line 61 of file g_grip.c. References BU_GETSTRUCT, rt_grip_internal::center, grip_specific::grip_center, grip_specific::grip_mag, grip_specific::grip_normal, rt_db_internal::idb_ptr, rt_grip_internal::mag, rt_grip_internal::normal, RT_GRIP_CK_MAGIC, soltab::st_aradius, soltab::st_bradius, soltab::st_max, soltab::st_min, soltab::st_specific, VMOVE, and VSETALL. |
|
R T _ G R P _ P R I N T Definition at line 89 of file g_grip.c. References bu_log(), grip_specific::grip_center, grip_specific::grip_mag, grip_specific::grip_normal, GRIP_NULL, and VPRINT. Here is the call graph for this function: ![]() |
|
R T _ G R P _ S H O T Function - Shoot a ray at a GRIP Algorithm - The intersection distance is computed. Returns - 0 MISS >0 HIT |
|
R T _ G R P _ V S H O T Vectorizing version. |
|
R T _ G R P _ N O R M Given ONE ray distance, return the normal and entry/exit point. The normal is already filled in. Definition at line 148 of file g_grip.c. References rt_bomb(). Here is the call graph for this function: ![]() |
|
R T _ G R P _ C U R V E Return the "curvature" of the grip. Definition at line 158 of file g_grip.c. References rt_bomb(). Here is the call graph for this function: ![]() |
|
R T _ G R P _ U V For a hit on a face of an HALF, return the (u,v) coordinates of the hit point. 0 <= u,v <= 1. u extends along the Xbase direction v extends along the "Ybase" direction Note that a "toroidal" map is established, varying each from 0 up to 1 and then back down to 0 again. Definition at line 174 of file g_grip.c. References rt_bomb(). Here is the call graph for this function: ![]() |
|
R T _ G R P _ F R E E Definition at line 183 of file g_grip.c. References bu_free(), and soltab::st_specific. Here is the call graph for this function: ![]() |
|
|
|
R T _ G R P _ P L O T We represent a GRIP as a pyramid. The center describes where the center of the base is. The normal describes which direction the tip of the pyramid is. Mag describes the distence from the center to the tip. 1/4 of the width is the length of a base side. Definition at line 207 of file g_grip.c. References bn_vec_perp(), BN_VLIST_LINE_DRAW, BN_VLIST_LINE_MOVE, rt_grip_internal::center, rt_db_internal::idb_ptr, rt_grip_internal::mag, rt_grip_internal::normal, RT_ADD_VLIST, RT_CK_DB_INTERNAL, RT_GRIP_CK_MAGIC, VADD2, VCROSS, VSCALE, VSUB2, and VUNITIZE. Here is the call graph for this function: ![]() |
|
R T _ G R P _ I M P O R T Returns - -1 failure 0 success Definition at line 260 of file g_grip.c. References BU_CK_EXTERNAL, bu_log(), bu_malloc(), rt_grip_internal::center, DB5_MAJORTYPE_BRLCAD, bu_external::ext_buf, ID_GRIP, ID_SOLID, rt_db_internal::idb_major_type, rt_db_internal::idb_meth, rt_db_internal::idb_ptr, rt_grip_internal::mag, rt_grip_internal::magic, MAGNITUDE, MAT4X3PNT, MAT4X3VEC, NEAR_ZERO, rt_grip_internal::normal, rt_bomb(), RT_CK_DB_INTERNAL, rt_fastf_float(), RT_GRIP_INTERNAL_MAGIC, record::s, record::solidrec::s_values, SMALL, record::u_id, and VSCALE. Here is the call graph for this function: ![]() |
|
R T _ G R P _ E X P O R T Definition at line 312 of file g_grip.c. References bu_calloc(), BU_CK_EXTERNAL, rt_grip_internal::center, bu_external::ext_buf, bu_external::ext_nbytes, GRP, ID_GRIP, ID_SOLID, rt_db_internal::idb_ptr, rt_grip_internal::mag, rt_grip_internal::normal, RT_CK_DB_INTERNAL, RT_GRIP_CK_MAGIC, record::s, record::solidrec::s_id, record::solidrec::s_type, and VMOVE. Here is the call graph for this function: ![]() |
|
Definition at line 337 of file g_grip.c. References BU_ASSERT_LONG, BU_CK_EXTERNAL, bu_log(), bu_malloc(), rt_grip_internal::center, DB5_MAJORTYPE_BRLCAD, bu_external::ext_buf, bu_external::ext_nbytes, ID_GRIP, rt_db_internal::idb_major_type, rt_db_internal::idb_meth, rt_db_internal::idb_ptr, rt_grip_internal::mag, rt_grip_internal::magic, MAGNITUDE, MAT4X3PNT, MAT4X3VEC, NEAR_ZERO, rt_grip_internal::normal, ntohd(), rt_bomb(), RT_CK_DB_INTERNAL, RT_GRIP_INTERNAL_MAGIC, SIZEOF_NETWORK_DOUBLE, SMALL, and VSCALE. Here is the call graph for this function: ![]() |
|
R T _ G R I P _ E X P O R T 5 Definition at line 387 of file g_grip.c. References BU_CK_EXTERNAL, bu_malloc(), rt_grip_internal::center, bu_external::ext_buf, bu_external::ext_nbytes, htond(), ID_GRIP, rt_db_internal::idb_ptr, rt_grip_internal::mag, rt_grip_internal::normal, RT_CK_DB_INTERNAL, RT_GRIP_CK_MAGIC, SIZEOF_NETWORK_DOUBLE, VMOVE, and VSCALE. Here is the call graph for this function: ![]() |
|
R T _ G R P _ D E S C R I B E Make human-readable formatted presentation of this solid. First line describes type of solid. Additional lines are indented one tab, and give parameter values. Definition at line 419 of file g_grip.c. References bu_vls_strcat(), rt_db_internal::idb_ptr, INTCLAMP, RT_GRIP_CK_MAGIC, and V3INTCLAMPARGS. Here is the call graph for this function: ![]() |
|
R T _ G R P _ I F R E E Free the storage associated with the rt_db_internal version of this solid. Definition at line 449 of file g_grip.c. References bu_free(), GENPTR_NULL, rt_db_internal::idb_ptr, and RT_CK_DB_INTERNAL. Here is the call graph for this function: ![]() |
|
R T _ G R P _ T E S S Definition at line 460 of file g_grip.c. References rt_db_internal::idb_ptr, RT_CK_DB_INTERNAL, and RT_GRIP_CK_MAGIC. |
|
R T _ H L F _ P R E P Definition at line 89 of file g_half.c. References bn_vec_perp(), BU_GETSTRUCT, rt_half_internal::eqn, half_specific::half_eqn, half_specific::half_Xbase, half_specific::half_Ybase, rt_db_internal::idb_ptr, INFINITY, RT_HALF_CK_MAGIC, soltab::st_aradius, soltab::st_bradius, soltab::st_center, soltab::st_max, soltab::st_min, soltab::st_specific, VCROSS, VMOVE, VSCALE, VSETALL, and VUNITIZE. Here is the call graph for this function: ![]() |
|
R T _ H L F _ P R I N T Definition at line 129 of file g_half.c. References bu_log(), half_specific::half_eqn, HALF_NULL, half_specific::half_Xbase, half_specific::half_Ybase, and VPRINT. Here is the call graph for this function: ![]() |
|
R T _ H L F _ S H O T Function - Shoot a ray at a HALFSPACE Algorithm - The intersection distance is computed. Returns - 0 MISS >0 HIT Definition at line 158 of file g_half.c. References FAST, half_specific::half_eqn, INFINITY, LOCAL, NEAR_ZERO, soltab::st_specific, and VDOT. |
|
R T _ H L F _ V S H O T This is the Becker vector version Definition at line 212 of file g_half.c. References FAST, half_specific::half_eqn, hit::hit_dist, INFINITY, LOCAL, xray::r_dir, xray::r_pt, RT_HALF_SEG_MISS, seg::seg_in, seg::seg_out, seg::seg_stp, and VDOT. |
|
R T _ H L F _ N O R M Given ONE ray distance, return the normal and entry/exit point. The normal is already filled in. Definition at line 267 of file g_half.c. References bu_log(), FAST, half_specific::half_eqn, INFINITY, RT_CK_RAY, RT_CK_SOLTAB, soltab::st_specific, VJOIN1, VMOVE, and VSETALL. Here is the call graph for this function: ![]() |
|
R T _ H L F _ C U R V E Return the "curvature" of the halfspace. Pick a principle direction orthogonal to normal, and indicate no curvature. Definition at line 303 of file g_half.c. References bn_vec_ortho(), half_specific::half_eqn, and soltab::st_specific. Here is the call graph for this function: ![]() |
|
R T _ H L F _ U V For a hit on a face of an HALF, return the (u,v) coordinates of the hit point. 0 <= u,v <= 1. u extends along the Xbase direction v extends along the "Ybase" direction Note that a "toroidal" map is established, varying each from 0 up to 1 and then back down to 0 again. Definition at line 323 of file g_half.c. References application::a_diverge, application::a_rbeam, bu_log(), FAST, half_specific::half_Xbase, half_specific::half_Ybase, INFINITY, LOCAL, RT_G_DEBUG, rt_pr_hit(), soltab::st_center, soltab::st_specific, VDOT, VPRINT, and VSUB2. Here is the call graph for this function: ![]() |
|
R T _ H L F _ F R E E Definition at line 391 of file g_half.c. References bu_free(), and soltab::st_specific. Here is the call graph for this function: ![]() |
|
R T _ H L F _ C L A S S Classify this halfspace against a bounding RPP. Since this is an infinite solid, it is very important that this function properly. Returns - BN_CLASSIFY_INSIDE BN_CLASSIFY_OVERLAPPING BN_CLASSIFY_OUTSIDE Definition at line 412 of file g_half.c. References bn_hlf_class(), bu_log(), half_specific::half_eqn, and HALF_NULL. Here is the call graph for this function: ![]() |
|
R T _ H L F _ P L O T The representation of a halfspace is an OUTWARD pointing normal vector, and the distance of the plane from the origin. Drawing a halfspace is difficult when using a finite display. Drawing the boundary plane is hard enough. We just make a cross in the plane, with the outward normal drawn shorter. Definition at line 437 of file g_half.c. References bn_vec_perp(), BN_VLIST_LINE_DRAW, BN_VLIST_LINE_MOVE, rt_half_internal::eqn, rt_db_internal::idb_ptr, RT_ADD_VLIST, RT_CK_DB_INTERNAL, RT_HALF_CK_MAGIC, VADD2, VCROSS, VSCALE, VSUB2, and VUNITIZE. Here is the call graph for this function: ![]() |
|
H A L F _ X F O R M Returns - -1 failure 0 success Definition at line 491 of file g_half.c. References bu_log(), ELEMENTS_PER_VECT, rt_half_internal::eqn, rt_db_internal::idb_ptr, MAGNITUDE, MAT4X3PNT, MAT4X3VEC, NEAR_ZERO, RT_CK_DB_INTERNAL, rt_db_free_internal(), RT_HALF_CK_MAGIC, SMALL, VDOT, and VSCALE. Here is the call graph for this function: ![]() |
|
H A L F _ I M P O R T Returns - -1 failure 0 success Definition at line 552 of file g_half.c. References BU_CK_EXTERNAL, bu_log(), bu_malloc(), DB5_MAJORTYPE_BRLCAD, ELEMENTS_PER_VECT, rt_half_internal::eqn, bu_external::ext_buf, ID_HALF, ID_SOLID, rt_db_internal::idb_major_type, rt_db_internal::idb_meth, rt_db_internal::idb_ptr, rt_half_internal::magic, MAGNITUDE, MAT4X3PNT, MAT4X3VEC, NEAR_ZERO, RT_CK_DB_INTERNAL, rt_fastf_float(), RT_HALF_INTERNAL_MAGIC, record::s, record::solidrec::s_values, SMALL, record::u_id, VDOT, and VSCALE. Here is the call graph for this function: ![]() |
|
R T _ H L F _ E X P O R T Definition at line 611 of file g_half.c. References bu_calloc(), BU_CK_EXTERNAL, rt_half_internal::eqn, bu_external::ext_buf, bu_external::ext_nbytes, HALFSPACE, ID_HALF, ID_SOLID, rt_db_internal::idb_ptr, RT_CK_DB_INTERNAL, RT_HALF_CK_MAGIC, record::s, record::solidrec::s_id, record::solidrec::s_type, record::solidrec::s_values, and VMOVE. Here is the call graph for this function: ![]() |
|
R T _ H L F _ I M P O R T 5 Definition at line 638 of file g_half.c. References BU_ASSERT_LONG, BU_CK_EXTERNAL, bu_log(), bu_malloc(), DB5_MAJORTYPE_BRLCAD, rt_half_internal::eqn, bu_external::ext_buf, bu_external::ext_nbytes, ID_HALF, rt_db_internal::idb_major_type, rt_db_internal::idb_meth, rt_db_internal::idb_ptr, rt_half_internal::magic, MAGNITUDE, MAT4X3PNT, MAT4X3VEC, NEAR_ZERO, ntohd(), RT_CK_DB_INTERNAL, RT_HALF_INTERNAL_MAGIC, SIZEOF_NETWORK_DOUBLE, SMALL, VDOT, and VSCALE. Here is the call graph for this function: ![]() |
|
R T _ H A L F _ E X P O R T 5 Definition at line 693 of file g_half.c. References BU_CK_EXTERNAL, bu_malloc(), rt_half_internal::eqn, bu_external::ext_buf, bu_external::ext_nbytes, htond(), ID_HALF, rt_db_internal::idb_ptr, RT_CK_DB_INTERNAL, RT_HALF_CK_MAGIC, and SIZEOF_NETWORK_DOUBLE. Here is the call graph for this function: ![]() |
|
R T _ H L F _ D E S C R I B E Make human-readable formatted presentation of this solid. First line describes type of solid. Additional lines are indented one tab, and give parameter values. Definition at line 728 of file g_half.c. References bu_vls_strcat(), rt_db_internal::idb_ptr, INTCLAMP, RT_HALF_CK_MAGIC, and V3INTCLAMPARGS. Here is the call graph for this function: ![]() |
|
R T _ H L F _ I F R E E Free the storage associated with the rt_db_internal version of this solid. Definition at line 751 of file g_half.c. References bu_free(), GENPTR_NULL, rt_db_internal::idb_ptr, and RT_CK_DB_INTERNAL. Here is the call graph for this function: ![]() |
|
R T _ H L F _ T E S S Definition at line 762 of file g_half.c. References rt_db_internal::idb_ptr, RT_CK_DB_INTERNAL, and RT_HALF_CK_MAGIC. |
|
R T _ H F _ T O _ D S P Convert in-memory form of a height-field (HF) to a displacement-map solid (DSP) in internal representation. There is no record in the V5 database for an HF. Definition at line 139 of file g_hf.c. References bn_mat_inv(), BU_GETSTRUCT, bu_log(), bu_vls_init(), bu_vls_strcat(), DB5_MAJORTYPE_BRLCAD, DEBUG_HF, rt_hf_internal::dfile, DSP_CUT_DIR_ADAPT, rt_hf_internal::file2mm, ID_DSP, rt_db_internal::idb_ptr, MAT_DELTAS_VEC, MAT_IDN, rt_hf_internal::n, RT_CK_DB_INTERNAL, RT_CK_RESOURCE, rt_db_free_internal(), RT_DSP_INTERNAL_MAGIC, RT_DSP_SRC_FILE, RT_G_DEBUG, RT_HF_CK_MAGIC, rt_hf_internal::shorts, rt_hf_internal::v, VCROSS, VSCALE, VUNITIZE, rt_hf_internal::w, rt_hf_internal::x, rt_hf_internal::xlen, rt_hf_internal::y, and rt_hf_internal::ylen. Here is the call graph for this function: ![]() |
|
|
R T _ H F _ P R I N T Definition at line 371 of file g_hf.c. References bu_log(), hf_specific::hf_N, hf_specific::hf_V, hf_specific::hf_X, hf_specific::hf_Xlen, hf_specific::hf_Y, hf_specific::hf_Ylen, and VPRINT. Here is the call graph for this function: ![]() |
|
R T _ H T F _ S H O T Intersect a ray with a height field. If an intersection occurs, a struct seg will be acquired and filled in. Returns - 0 MISS >0 HIT Definition at line 786 of file g_hf.c. References bzero, FAST, hf_specific::hf_N, hf_specific::hf_V, hf_specific::hf_VO, hf_specific::hf_X, hf_specific::hf_Y, INFINITY, LOCAL, MAXHITS, soltab::st_specific, VDOT, VMOVE, and VREVERSE. |
|
R T _ H F _ N O R M Given ONE ray distance, return the normal and entry/exit point. Definition at line 1564 of file g_hf.c. References hf_specific::hf_N, hf_specific::hf_X, hf_specific::hf_Y, soltab::st_specific, VJOIN1, VMOVE, VREVERSE, and VUNITIZE. |
|
R T _ H F _ C U R V E Return the curvature of the hf. Definition at line 1608 of file g_hf.c. References bn_vec_ortho(). Here is the call graph for this function: ![]() |
|
R T _ H F _ U V For a hit on the surface of an hf, return the (u,v) coordinates of the hit point, 0 <= u,v <= 1. u = azimuth v = elevation Definition at line 1625 of file g_hf.c. References application::a_diverge, application::a_rbeam, hf_specific::hf_V, hf_specific::hf_X, hf_specific::hf_Xlen, hf_specific::hf_Y, hf_specific::hf_Ylen, soltab::st_specific, VDOT, VSUB2, VUNITIZE, X, and Y. |
|
R T _ H F _ F R E E Definition at line 1656 of file g_hf.c. References bu_close_mapped_file(), bu_free(), and hf_specific::hf_mp. Here is the call graph for this function: ![]() |
|
R T _ H F _ C L A S S |
|
R T _ H F _ P L O T Definition at line 1681 of file g_hf.c. References bu_mapped_file::apbuf, BN_VLIST_LINE_DRAW, BN_VLIST_LINE_MOVE, rt_hf_internal::file2mm, HF_GET, rt_db_internal::idb_ptr, LOCAL, rt_hf_internal::mp, rt_hf_internal::n, NULL, RT_ADD_VLIST, RT_CK_DB_INTERNAL, RT_HF_CK_MAGIC, rt_hf_internal::shorts, start, rt_hf_internal::v, VCROSS, VJOIN1, VJOIN2, VSCALE, rt_hf_internal::w, rt_hf_internal::x, rt_hf_internal::xlen, rt_hf_internal::y, rt_hf_internal::ylen, and rt_hf_internal::zscale. |
|
R T _ H F _ T E S S Returns - -1 failure 0 OK. *r points to nmgregion that holds this tessellation. Definition at line 1932 of file g_hf.c. References rt_db_internal::idb_ptr, LOCAL, RT_CK_DB_INTERNAL, and RT_HF_CK_MAGIC. |
|
|
R T _ H F _ E X P O R T The name is added by the caller, in the usual place. The meaning of the export here is slightly different than that of most other solids. The cfile and dfile are not modified, only changes to the string solid parameters are placed back into the .g file. Note that any parameters taken from a cfile are included in the new string solid. This isn't a problem, because if the cfile is changed (perhaps to substitute a different resolution height field of the same location in space), it's new parameters will override those stored in the string solid (including the dfile name). Definition at line 2119 of file g_hf.c. References bu_calloc(), BU_CK_EXTERNAL, bu_vls_addr(), bu_vls_free(), bu_vls_init(), bu_vls_struct_print(), DB_SS_LEN, DB_SS_NGRAN, DBID_STRSOL, bu_external::ext_buf, bu_external::ext_nbytes, ID_HF, rt_db_internal::idb_ptr, NAMESIZE, RT_CK_DB_INTERNAL, RT_HF_CK_MAGIC, rt_hf_parse, record::s, record::solidrec::s_id, record::ss, record::strsol::ss_args, record::strsol::ss_keyword, rt_hf_internal::xlen, rt_hf_internal::ylen, and rt_hf_internal::zscale. Here is the call graph for this function: ![]() |
|
Definition at line 2156 of file g_hf.c. References bu_log(). Here is the call graph for this function: ![]() |
|
Definition at line 2165 of file g_hf.c. References bu_log(). Here is the call graph for this function: ![]() |
|
R T _ H F _ D E S C R I B E Make human-readable formatted presentation of this solid. First line describes type of solid. Additional lines are indented one tab, and give parameter values. Definition at line 2181 of file g_hf.c. References BU_CK_VLS, bu_vls_printf(), bu_vls_strcat(), bu_vls_struct_print(), rt_db_internal::idb_ptr, RT_HF_CK_MAGIC, and rt_hf_parse. Here is the call graph for this function: ![]() |
|
R T _ H F _ I F R E E Free the storage associated with the rt_db_internal version of this solid. Definition at line 2203 of file g_hf.c. References BU_CK_MAPPED_FILE, bu_close_mapped_file(), bu_free(), GENPTR_NULL, rt_db_internal::idb_ptr, rt_hf_internal::magic, rt_hf_internal::mp, RT_CK_DB_INTERNAL, and RT_HF_CK_MAGIC. Here is the call graph for this function: ![]() |
|
|
R E C _ P R I N T Definition at line 382 of file g_rec.c. References bn_mat_print(), rec_specific::rec_Hunit, rec_specific::rec_invRoS, rec_specific::rec_SoR, rec_specific::rec_V, and VPRINT. Here is the call graph for this function: ![]() |
|
R E C _ S H O T Intersect a ray with a right elliptical cylinder, where all constant terms have been precomputed by rt_rec_prep(). If an intersection occurs, a struct seg will be acquired and filled in. Returns - 0 MISS >0 HIT Definition at line 411 of file g_rec.c. References application::a_resource, application::a_rt_i, BU_LIST_INSERT, bu_log(), DEBUG_ARB8, bn_tol::dist, FAST, seg::l, LOCAL, MAT4X3VEC, NEAR_ZERO, REC_NORM_BODY, REC_NORM_BOT, REC_NORM_TOP, rec_specific::rec_SoR, rec_specific::rec_V, RT_G_DEBUG, RT_GET_SEG, RT_HIT_MAGIC, rt_i::rti_tol, seg::seg_in, seg::seg_out, seg::seg_stp, SMALL, soltab::st_specific, VJOIN1, VSUB2, X, Y, and Z. Here is the call graph for this function: ![]() |
|
R E C _ V S H O T This is the Becker vector version Definition at line 579 of file g_rec.c. References FAST, hit::hit_dist, hit::hit_surfno, hit::hit_vpriv, LOCAL, MAT4X3VEC, NEAR_ZERO, xray::r_dir, REC_NORM_BODY, REC_NORM_BOT, REC_NORM_TOP, rec_specific::rec_SoR, rec_specific::rec_V, seg::seg_in, SEG_MISS, seg::seg_out, seg::seg_stp, SMALL, VJOIN1, VMOVE, VSUB2, X, Y, and Z. |
|
R E C _ N O R M Given ONE ray distance, return the normal and entry/exit point. hit_surfno is a flag indicating if normal needs to be computed or not. Definition at line 704 of file g_rec.c. References bu_log(), MAT4X3VEC, rec_specific::rec_Hunit, rec_specific::rec_invRoS, REC_NORM_BODY, REC_NORM_BOT, REC_NORM_TOP, soltab::st_specific, VJOIN1, VMOVE, VREVERSE, VUNITIZE, and Z. Here is the call graph for this function: ![]() |
|
R E C _ C U R V E Return the "curvature" of the cylinder. If an endplate, pick a principle direction orthogonal to the normal, and indicate no curvature. Otherwise, compute curvature. Normal must have been computed before calling this routine. Definition at line 739 of file g_rec.c. References bn_vec_ortho(), bu_log(), rec_specific::rec_A, rec_specific::rec_B, rec_specific::rec_Hunit, rec_specific::rec_iAsq, rec_specific::rec_iBsq, REC_NORM_BODY, REC_NORM_BOT, REC_NORM_TOP, rec_specific::rec_V, soltab::st_specific, VDOT, VMOVE, and VSUB2. Here is the call graph for this function: ![]() |
|
R E C _ U V For a hit on the surface of an REC, return the (u,v) coordinates of the hit point, 0 <= u,v <= 1. u is the rotation around the cylinder, and v is the displacement along H. Definition at line 780 of file g_rec.c. References bn_inv2pi, FAST, LOCAL, MAT4X3VEC, REC_NORM_BODY, REC_NORM_BOT, REC_NORM_TOP, rec_specific::rec_SoR, rec_specific::rec_V, soltab::st_specific, VSUB2, X, Y, and Z. |
|
R E C _ F R E E Definition at line 846 of file g_rec.c. References bu_free(), and soltab::st_specific. Here is the call graph for this function: ![]() |
|
|
|
Initial value: { { "%f", 3, "V1", bu_offsetof(struct rt_arb_internal, pt[0][X]), BU_STRUCTPARSE_FUNC_NULL }, { "%f", 3, "V2", bu_offsetof(struct rt_arb_internal, pt[1][X]), BU_STRUCTPARSE_FUNC_NULL }, { "%f", 3, "V3", bu_offsetof(struct rt_arb_internal, pt[2][X]), BU_STRUCTPARSE_FUNC_NULL }, { "%f", 3, "V4", bu_offsetof(struct rt_arb_internal, pt[3][X]), BU_STRUCTPARSE_FUNC_NULL }, { "%f", 3, "V5", bu_offsetof(struct rt_arb_internal, pt[4][X]), BU_STRUCTPARSE_FUNC_NULL }, { "%f", 3, "V6", bu_offsetof(struct rt_arb_internal, pt[5][X]), BU_STRUCTPARSE_FUNC_NULL }, { "%f", 3, "V7", bu_offsetof(struct rt_arb_internal, pt[6][X]), BU_STRUCTPARSE_FUNC_NULL }, { "%f", 3, "V8", bu_offsetof(struct rt_arb_internal, pt[7][X]), BU_STRUCTPARSE_FUNC_NULL }, { {'\0','\0','\0','\0'}, 0, (char *)NULL, 0, BU_STRUCTPARSE_FUNC_NULL } } |
|
Initial value: { {0,1,2,3, 0,1,4,5, 1,2,4,5, 0,2,4,5, -1,-1,-1,-1, -1,-1,-1,-1}, {0,1,2,3, 4,0,1,5, 4,1,2,5, 4,2,3,5, 4,3,0,5, -1,-1,-1,-1}, {0,1,2,3, 1,2,4,6, 0,4,6,3, 4,1,0,5, 6,2,3,7, -1,-1,-1,-1}, {0,1,2,3, 4,5,6,7, 0,3,4,7, 1,2,6,5, 0,1,5,4, 3,2,6,4}, {0,1,2,3, 4,5,6,7, 0,4,7,3, 1,2,6,5, 0,1,5,4, 3,2,6,7}, } |
|
Initial value: { {0,1,3, 0,1,2, 0,2,3, 0,1,3, 1,2,3, 1,2,3, 1,2,3, 1,2,3}, {0,1,4, 0,1,2, 0,2,3, 0,3,4, 1,2,4, 1,2,4, 1,2,4, 1,2,4}, {0,2,3, 0,1,3, 0,1,4, 0,2,4, 1,2,3, 1,2,3, 1,2,4, 1,2,4}, {0,2,4, 0,3,4, 0,3,5, 0,2,5, 1,4,5, 1,3,4, 1,3,5, 1,2,4}, {0,2,4, 0,3,4, 0,3,5, 0,2,5, 1,2,4, 1,3,4, 1,3,5, 1,2,5}, } |
|
Initial value: { {0,1, 2,3, 0,0,1,2, 4,0,1,4, -1,0,0,0, 3,5}, {1,2, 4,5, 0,0,1,2, 3,1,2,5, -1,0,0,0, 3,6}, {2,3, 3,2, 0,0,2,3, 5,2,3,6, -1,0,0,0, 1,7}, {0,3, 4,5, 0,0,1,3, 2,0,3,4, -1,0,0,0, 2,7}, {0,4, 0,1, 2,0,4,3, 4,0,1,4, -1,0,0,0, 7,5}, {1,5, 0,1, 4,0,1,5, 3,1,2,5, -1,0,0,0, 4,6}, {4,5, 2,3, 4,0,5,4, 1,4,5,6, -1,0,0,0, 1,7}, {5,6, 4,5, 3,1,5,6, 1,4,5,6, -1,0,0,0, 2,7}, {6,7, 3,2, 5,2,7,6, 1,4,6,7, -1,0,0,0, 3,4}, {4,7, 4,5, 2,0,7,4, 1,4,5,7, -1,0,0,0, 3,6}, {2,6, 0,1, 3,1,2,6, 5,2,3,6, -1,0,0,0, 5,7}, {3,7, 0,1, 2,0,3,7, 5,2,3,7, -1,0,0,0, 4,6}, } An ARB edge is moved by finding the direction of the line containing the edge and the 2 "bounding" planes. The new edge is found by intersecting the new line location with the bounding planes. The two "new" planes thus defined are calculated and the affected points are calculated by intersecting planes. This keeps ALL faces planar. Note - This code came from mged/edarb.c (written mostly by Keith Applin) and was modified to live here. |
|
Initial value: { {0,1, 2,3, 0,0,1,2, 4,0,1,4, -1,0,0,0, 3,5}, {1,2, 4,5, 0,0,1,2, 3,1,2,5, -1,0,0,0, 3,6}, {2,3, 3,2, 0,0,2,3, 5,2,3,6, -1,0,0,0, 1,4}, {0,3, 4,5, 0,0,1,3, 2,0,3,4, -1,0,0,0, 2,-1}, {0,4, 0,5, 4,0,5,4, 2,0,3,4, 1,4,5,6, 1,-1}, {1,5, 0,1, 4,0,1,5, 3,1,2,5, -1,0,0,0, 4,6}, {4,5, 5,3, 2,0,3,4, 4,0,5,4, 1,4,5,6, 1,-1}, {5,6, 4,5, 3,1,6,5, 1,4,5,6, -1,0,0,0, 2, -1}, {2,6, 0,1, 5,2,3,6, 3,1,2,6, -1,0,0,0, 4,5}, {4,6, 4,3, 2,0,3,4, 5,3,4,6, 1,4,5,6, 2,-1}, {3,4, 0,1, 4,0,1,4, 2,0,3,4, 5,2,3,4, 5,6}, {-1,-1, -1,-1, 5,2,3,4, 4,0,1,4, 8,2,1,-1, 6,5}, } |
|
Initial value: { {0,1, 2,1, 3,0,1,4, 0,0,1,2, -1,0,0,0, 3,-1}, {1,2, 3,4, 1,1,2,5, 0,0,1,2, -1,0,0,0, 3,4}, {2,3, 1,2, 4,2,3,5, 0,0,2,3, -1,0,0,0, 1,-1}, {0,3, 3,4, 2,0,3,5, 0,0,1,3, -1,0,0,0, 4,2}, {0,4, 0,1, 3,0,1,4, 2,0,3,4, -1,0,0,0, 6,-1}, {1,4, 0,2, 3,0,1,4, 1,1,2,4, -1,0,0,0, 6,-1}, {2,6, 0,2, 4,6,2,3, 1,1,2,6, -1,0,0,0, 4,-1}, {3,6, 0,1, 4,6,2,3, 2,0,3,6, -1,0,0,0, 4,-1}, {-1,-1, -1,-1, 2,0,3,4, 1,1,2,4, 3,0,1,4, 6,-1}, {-1,-1, -1,-1, 2,0,3,6, 1,1,2,6, 4,2,3,6, 4,-1}, } |
|
Initial value: { {0,1, 4,2, 0,0,1,2, 1,0,1,4, -1,0,0,0, 3,-1}, {1,2, 1,3, 0,0,1,2, 2,1,2,4, -1,0,0,0, 3,-1}, {2,3, 2,4, 0,0,2,3, 3,2,3,4, -1,0,0,0, 1,-1}, {0,3, 1,3, 0,0,1,3, 4,0,3,4, -1,0,0,0, 2,-1}, {0,4, 0,2, 9,0,0,0, 9,0,0,0, 9,0,0,0, -1,-1}, {1,4, 0,3, 9,0,0,0, 9,0,0,0, 9,0,0,0, -1,-1}, {2,4, 0,4, 9,0,0,0, 9,0,0,0, 9,0,0,0, -1,-1}, {3,4, 0,1, 9,0,0,0, 9,0,0,0, 9,0,0,0, -1,-1}, {-1,-1, -1,-1, 9,0,0,0, 9,0,0,0, 9,0,0,0, -1,-1}, } |
|
Initial value: { {-1,-1, -1,-1, 9,0,0,0, 9,0,0,0, 9,0,0,0, -1,-1}, {-1,-1, -1,-1, 9,0,0,0, 9,0,0,0, 9,0,0,0, -1,-1}, {-1,-1, -1,-1, 9,0,0,0, 9,0,0,0, 9,0,0,0, -1,-1}, {-1,-1, -1,-1, 9,0,0,0, 9,0,0,0, 9,0,0,0, -1,-1}, {-1,-1, -1,-1, 9,0,0,0, 9,0,0,0, 9,0,0,0, -1,-1}, } |
|
|
|
|
|
Definition at line 68 of file g_bot.c. Referenced by rt_tcl_setup(). |
|
Initial value: { { "%f", 3, "V", RT_CLINE_O( v ), BU_STRUCTPARSE_FUNC_NULL }, { "%f", 3, "H", RT_CLINE_O( h ), BU_STRUCTPARSE_FUNC_NULL }, { "%f", 1, "r", RT_CLINE_O( radius ), BU_STRUCTPARSE_FUNC_NULL }, { "%f", 1, "t", RT_CLINE_O( thickness ), BU_STRUCTPARSE_FUNC_NULL }, { {'\0','\0','\0','\0'}, 0, (char *)NULL, 0, BU_STRUCTPARSE_FUNC_NULL } } |
|
|
|
Initial value: { {"%S", 1, "file", DSP_O(dsp_name), hook_file }, {"%i", 1, "sm", DSP_O(dsp_smooth), BU_STRUCTPARSE_FUNC_NULL }, {"%d", 1, "w", DSP_O(dsp_xcnt), BU_STRUCTPARSE_FUNC_NULL }, {"%d", 1, "n", DSP_O(dsp_ycnt), BU_STRUCTPARSE_FUNC_NULL }, {"%f", 16, "stom", DSP_AO(dsp_stom), hook_mtos_from_stom }, {"", 0, (char *)0, 0, BU_STRUCTPARSE_FUNC_NULL } } Definition at line 254 of file g_dsp.c. Referenced by rt_dsp_import(). |
|
Initial value: { {"%S", 1, "file", DSP_O(dsp_name), BU_STRUCTPARSE_FUNC_NULL }, {"%i", 1, "sm", DSP_O(dsp_smooth), BU_STRUCTPARSE_FUNC_NULL }, {"%d", 1, "w", DSP_O(dsp_xcnt), BU_STRUCTPARSE_FUNC_NULL }, {"%d", 1, "n", DSP_O(dsp_ycnt), BU_STRUCTPARSE_FUNC_NULL }, {"%f", 16, "stom", DSP_AO(dsp_stom), BU_STRUCTPARSE_FUNC_NULL }, {"", 0, (char *)0, 0, BU_STRUCTPARSE_FUNC_NULL } } Definition at line 263 of file g_dsp.c. Referenced by rt_dsp_export(), rt_dsp_import(), rt_dsp_tcladjust(), and rt_dsp_tclget(). |
|
Initial value: { {"%c", 1, "src", DSP_O(dsp_datasrc), hook_verify }, {"%S", 1, "name", DSP_O(dsp_name), BU_STRUCTPARSE_FUNC_NULL }, {"%d", 1, "w", DSP_O(dsp_xcnt), hook_verify }, {"%d", 1, "n", DSP_O(dsp_ycnt), hook_verify }, {"%i", 1, "sm", DSP_O(dsp_smooth), BU_STRUCTPARSE_FUNC_NULL }, {"%c", 1, "cut", DSP_O(dsp_cuttype), hook_verify }, {"%f", 16, "stom", DSP_AO(dsp_stom), hook_verify }, {"", 0, (char *)0, 0, BU_STRUCTPARSE_FUNC_NULL } } Definition at line 4040 of file g_dsp.c. Referenced by rt_dsp_tcladjust(), and rt_dsp_tclget(). |
|
Initial value: { {"%s", RT_EBM_NAME_LEN, "file", bu_offsetofarray(struct rt_ebm_internal, file), BU_STRUCTPARSE_FUNC_NULL }, {"%d", 1, "w", RT_EBM_O(xdim), BU_STRUCTPARSE_FUNC_NULL }, {"%d", 1, "n", RT_EBM_O(ydim), BU_STRUCTPARSE_FUNC_NULL }, {"%f", 1, "d", RT_EBM_O(tallness), BU_STRUCTPARSE_FUNC_NULL }, {"%f", 16, "mat", bu_offsetofarray(struct rt_ebm_internal, mat), BU_STRUCTPARSE_FUNC_NULL }, {"", 0, (char *)0, 0, BU_STRUCTPARSE_FUNC_NULL } } Definition at line 87 of file g_ebm.c. Referenced by rt_ebm_export(), rt_ebm_export5(), rt_ebm_import(), and rt_ebm_import5(). |
|
Initial value: { { "%f", 3, "V", bu_offsetof(struct rt_ehy_internal, ehy_V[X]), BU_STRUCTPARSE_FUNC_NULL }, { "%f", 3, "H", bu_offsetof(struct rt_ehy_internal, ehy_H[X]), BU_STRUCTPARSE_FUNC_NULL }, { "%f", 3, "A", bu_offsetof(struct rt_ehy_internal, ehy_Au[X]), BU_STRUCTPARSE_FUNC_NULL }, { "%f", 1, "r_1", bu_offsetof(struct rt_ehy_internal, ehy_r1), BU_STRUCTPARSE_FUNC_NULL }, { "%f", 1, "r_2", bu_offsetof(struct rt_ehy_internal, ehy_r2), BU_STRUCTPARSE_FUNC_NULL }, { "%f", 1, "c", bu_offsetof(struct rt_ehy_internal, ehy_c), BU_STRUCTPARSE_FUNC_NULL }, { {'\0','\0','\0','\0'}, 0, (char *)NULL, 0, BU_STRUCTPARSE_FUNC_NULL } } |
|
Initial value: { { "%f", 3, "V", bu_offsetof(struct rt_ell_internal, v[X]), BU_STRUCTPARSE_FUNC_NULL }, { "%f", 3, "A", bu_offsetof(struct rt_ell_internal, a[X]), BU_STRUCTPARSE_FUNC_NULL }, { "%f", 3, "B", bu_offsetof(struct rt_ell_internal, b[X]), BU_STRUCTPARSE_FUNC_NULL }, { "%f", 3, "C", bu_offsetof(struct rt_ell_internal, c[X]), BU_STRUCTPARSE_FUNC_NULL }, { {'\0','\0','\0','\0'}, 0, (char *)NULL, 0, BU_STRUCTPARSE_FUNC_NULL } } |
|
Initial value: { { "%f", 3, "V", bu_offsetof(struct rt_epa_internal, epa_V[X]), BU_STRUCTPARSE_FUNC_NULL }, { "%f", 3, "H", bu_offsetof(struct rt_epa_internal, epa_H[X]), BU_STRUCTPARSE_FUNC_NULL }, { "%f", 3, "A", bu_offsetof(struct rt_epa_internal, epa_Au[X]), BU_STRUCTPARSE_FUNC_NULL }, { "%f", 1, "r_1", bu_offsetof(struct rt_epa_internal, epa_r1), BU_STRUCTPARSE_FUNC_NULL }, { "%f", 1, "r_2", bu_offsetof(struct rt_epa_internal, epa_r2), BU_STRUCTPARSE_FUNC_NULL }, { {'\0','\0','\0','\0'}, 0, (char *)NULL, 0, BU_STRUCTPARSE_FUNC_NULL } } |
|
Initial value: { { "%f", 3, "V", bu_offsetof(struct rt_eto_internal, eto_V[X]), BU_STRUCTPARSE_FUNC_NULL }, { "%f", 3, "N", bu_offsetof(struct rt_eto_internal, eto_N[X]), BU_STRUCTPARSE_FUNC_NULL }, { "%f", 3, "C", bu_offsetof(struct rt_eto_internal, eto_C[X]), BU_STRUCTPARSE_FUNC_NULL }, { "%f", 1, "r", bu_offsetof(struct rt_eto_internal, eto_r), BU_STRUCTPARSE_FUNC_NULL }, { "%f", 1, "r_d", bu_offsetof(struct rt_eto_internal, eto_rd), BU_STRUCTPARSE_FUNC_NULL }, { {'\0','\0','\0','\0'}, 0, (char *)NULL, 0, BU_STRUCTPARSE_FUNC_NULL } } |
|
Initial value: { { "%f", 3, "V", bu_offsetof(struct rt_grip_internal, center[X]), BU_STRUCTPARSE_FUNC_NULL }, { "%f", 3, "N", bu_offsetof(struct rt_grip_internal, normal[X]), BU_STRUCTPARSE_FUNC_NULL }, { "%f", 1, "L", bu_offsetof(struct rt_grip_internal, mag), BU_STRUCTPARSE_FUNC_NULL }, { {'\0','\0','\0','\0'}, 0, (char *)NULL, 0, BU_STRUCTPARSE_FUNC_NULL } } |
|
Initial value: { { "%f", 3, "N", bu_offsetof(struct rt_half_internal, eqn[X]), BU_STRUCTPARSE_FUNC_NULL }, { "%f", 1, "d", bu_offsetof(struct rt_half_internal, eqn[3]), BU_STRUCTPARSE_FUNC_NULL }, { {'\0','\0','\0','\0'}, 0, (char *)NULL, 0, BU_STRUCTPARSE_FUNC_NULL } } |
|
|
Initial value: { {"%s", 128, "dfile", bu_offsetofarray(struct rt_hf_internal, dfile), BU_STRUCTPARSE_FUNC_NULL}, {"%s", 8, "fmt", bu_offsetofarray(struct rt_hf_internal, fmt), BU_STRUCTPARSE_FUNC_NULL}, {"%d", 1, "w", HF_O(w), BU_STRUCTPARSE_FUNC_NULL }, {"%d", 1, "n", HF_O(n), BU_STRUCTPARSE_FUNC_NULL }, {"%d", 1, "shorts", HF_O(shorts), BU_STRUCTPARSE_FUNC_NULL }, {"%f", 1, "file2mm", HF_O(file2mm), BU_STRUCTPARSE_FUNC_NULL }, {"", 0, (char *)0, 0, BU_STRUCTPARSE_FUNC_NULL } } Definition at line 104 of file g_hf.c. Referenced by rt_hf_import(). |