bn Tcl interface
[libbn (numerical functions)]

Collaboration diagram for bn Tcl interface:

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".

Detailed Description


Function Documentation

int bn_decode_mat ( fastf_t *  m,
const char *  str 
)

Definition at line 50 of file tcl.c.

References MAT_IDN.

int bn_decode_quat ( fastf_t *  q,
const char *  str 
)

Definition at line 66 of file tcl.c.

int bn_decode_vect ( fastf_t *  v,
const char *  str 
)

Definition at line 74 of file tcl.c.

int bn_decode_hvect ( fastf_t *  v,
const char *  str 
)

Definition at line 82 of file tcl.c.

void bn_encode_mat ( struct bu_vls *  vp,
const mat_t  m 
)

Definition at line 90 of file tcl.c.

References INTCLAMP.

Referenced by bn_math_cmd().

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 
)

Definition at line 113 of file tcl.c.

References V3INTCLAMPARGS.

Referenced by bn_math_cmd().

void bn_encode_hvect ( struct bu_vls *  vp,
const mat_t  v 
)

Definition at line 120 of file tcl.c.

References V4INTCLAMPARGS.

Referenced by bn_math_cmd().

void bn_quat_distance_wrapper ( double *  dp,
mat_t  q1,
mat_t  q2 
)

Definition at line 127 of file tcl.c.

References quat_distance().

Referenced by bn_math_cmd().

Here is the call graph for this function:

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().

Here is the call graph for this function:

int bn_math_cmd ( ClientData  clientData,
Tcl_Interp *  interp,
int  argc,
char **  argv 
)
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().

Here is the call graph for this function:

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().

Here is the call graph for this function:

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().

Here is the call graph for this function:

int bn_cmd_random ( ClientData   UNUSEDclientData,
Tcl_Interp *  interp,
int  argc,
char **  argv 
)

Definition at line 860 of file tcl.c.

References BN_RANDOM.

Referenced by bn_tcl_setup().

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().

Here is the call graph for this function:

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().

Here is the call graph for this function:

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().

Here is the call graph for this function:

Generated on Tue Dec 11 13:14:29 2012 for LIBBN by  doxygen 1.6.3