Data Structures | |
struct | math_func_link |
Files | |
file | tcl.c |
Tcl interfaces to all the LIBBN math routines. | |
Functions | |
int | bn_decode_mat (fastf_t *m, const char *str) |
int | bn_decode_quat (fastf_t *q, const char *str) |
int | bn_decode_vect (fastf_t *v, const char *str) |
int | bn_decode_hvect (fastf_t *v, const char *str) |
void | bn_encode_mat (struct bu_vls *vp, const mat_t m) |
void | bn_encode_quat (struct bu_vls *vp, const mat_t q) |
void | bn_encode_vect (struct bu_vls *vp, const mat_t v) |
void | bn_encode_hvect (struct bu_vls *vp, const mat_t v) |
void | bn_quat_distance_wrapper (double *dp, mat_t q1, mat_t q2) |
void | bn_mat_scale_about_pt_wrapper (int *statusp, mat_t mat, const point_t pt, const double scale) |
int | bn_math_cmd (ClientData clientData, Tcl_Interp *interp, int argc, char **argv) |
Tcl wrappers for the math functions. | |
int | bn_cmd_noise_perlin (ClientData UNUSED(clientData), Tcl_Interp *interp, int argc, char **argv) |
int | bn_cmd_noise (ClientData UNUSED(clientData), Tcl_Interp *interp, int argc, char **argv) |
int | bn_cmd_noise_slice (ClientData UNUSED(clientData), Tcl_Interp *interp, int argc, char **argv) |
usage: noise_slice xdim ydim inv h_val lac octaves dX dY dZ sX [sY sZ] | |
int | bn_cmd_random (ClientData UNUSED(clientData), Tcl_Interp *interp, int argc, char **argv) |
void | bn_tcl_mat_print (Tcl_Interp *interp, const char *title, const mat_t m) |
void | bn_tcl_setup (Tcl_Interp *interp) |
Add all the supported Tcl interfaces to LIBBN routines to the list of commands known by the given interpreter. | |
int | Bn_Init (Tcl_Interp *interp) |
Allows LIBBN to be dynamically loade to a vanilla tclsh/wish with "load /usr/brlcad/lib/libbn.so". |
int bn_decode_mat | ( | fastf_t * | m, | |
const char * | str | |||
) |
void bn_encode_mat | ( | struct bu_vls * | vp, | |
const mat_t | m | |||
) |
void bn_encode_quat | ( | struct bu_vls * | vp, | |
const mat_t | q | |||
) |
Definition at line 106 of file tcl.c.
References V4INTCLAMPARGS.
void bn_encode_vect | ( | struct bu_vls * | vp, | |
const mat_t | v | |||
) |
void bn_encode_hvect | ( | struct bu_vls * | vp, | |
const mat_t | v | |||
) |
Definition at line 127 of file tcl.c.
References quat_distance().
Referenced by bn_math_cmd().
void bn_mat_scale_about_pt_wrapper | ( | int * | statusp, | |
mat_t | mat, | |||
const point_t | pt, | |||
const double | scale | |||
) |
Definition at line 134 of file tcl.c.
References bn_mat_scale_about_pt().
Referenced by bn_math_cmd().
int bn_math_cmd | ( | ClientData | clientData, | |
Tcl_Interp * | interp, | |||
int | argc, | |||
char ** | argv | |||
) |
Tcl wrappers for the math functions.
B N _ M A T H _ C M D This is where you should put clauses, in the below "if" statement, to add Tcl support for the LIBBN math routines.
Definition at line 227 of file tcl.c.
References bn_ae_vec(), bn_aet_vec(), bn_decode_hvect(), bn_decode_mat(), bn_decode_quat(), bn_decode_vect(), bn_eigen2x2(), bn_encode_hvect(), bn_encode_mat(), bn_encode_quat(), bn_encode_vect(), bn_isect_line2_line2(), bn_isect_line3_line3(), bn_mat_ae(), bn_mat_angles(), bn_mat_arb_rot(), bn_mat_fromto(), bn_mat_inv(), bn_mat_lookat(), bn_mat_mul(), bn_mat_scale_about_pt_wrapper(), bn_mat_trn(), bn_mat_xform_about_pt(), bn_mat_xrot(), bn_mat_yrot(), bn_mat_zrot(), bn_matXvec(), bn_quat_distance_wrapper(), bn_vec_ortho(), bn_vec_perp(), c, bn_tol::dist, INTCLAMP, quat_bisect(), quat_double(), quat_exp(), quat_log(), quat_make_nearest(), quat_mat2quat(), quat_quat2mat(), quat_sberp(), quat_slerp(), scale, V2INTCLAMPARGS, V3INTCLAMPARGS, VBLEND2, VJOIN1, and VSETALL.
Referenced by bn_tcl_setup().
int bn_cmd_noise_perlin | ( | ClientData | UNUSEDclientData, | |
Tcl_Interp * | interp, | |||
int | argc, | |||
char ** | argv | |||
) |
Definition at line 676 of file tcl.c.
References bn_noise_perlin(), X, Y, and Z.
Referenced by bn_tcl_setup().
int bn_cmd_noise | ( | ClientData | UNUSEDclientData, | |
Tcl_Interp * | interp, | |||
int | argc, | |||
char ** | argv | |||
) |
usage: bn_noise_fbm X Y Z h_val lacunarity octaves
Definition at line 707 of file tcl.c.
References bn_noise_fbm(), and bn_noise_turb().
Referenced by bn_tcl_setup().
int bn_cmd_noise_slice | ( | ClientData | UNUSEDclientData, | |
Tcl_Interp * | interp, | |||
int | argc, | |||
char ** | argv | |||
) |
usage: noise_slice xdim ydim inv h_val lac octaves dX dY dZ sX [sY sZ]
The idea here is to get a whole slice of noise at once, thereby avoiding the overhead of doing this in Tcl.
Definition at line 758 of file tcl.c.
References bn_noise_fbm(), bn_noise_turb(), NOISE_FBM, NOISE_TURB, scale, VSETALL, X, Y, and Z.
Referenced by bn_tcl_setup().
int bn_cmd_random | ( | ClientData | UNUSEDclientData, | |
Tcl_Interp * | interp, | |||
int | argc, | |||
char ** | argv | |||
) |
void bn_tcl_mat_print | ( | Tcl_Interp * | interp, | |
const char * | title, | |||
const mat_t | m | |||
) |
B N _ M A T _ P R I N T
Definition at line 906 of file tcl.c.
References bn_mat_print_guts().
void bn_tcl_setup | ( | Tcl_Interp * | interp | ) |
Add all the supported Tcl interfaces to LIBBN routines to the list of commands known by the given interpreter.
B N _ T C L _ S E T U P
Definition at line 924 of file tcl.c.
References bn_cmd_noise(), bn_cmd_noise_perlin(), bn_cmd_noise_slice(), bn_cmd_random(), and bn_math_cmd().
int Bn_Init | ( | Tcl_Interp * | interp | ) |
Allows LIBBN to be dynamically loade to a vanilla tclsh/wish with "load /usr/brlcad/lib/libbn.so".
B N _ I N I T The name of this function is specified by TCL.
Definition at line 966 of file tcl.c.
References bn_tcl_setup().