BRL-CAD
raytrace.h File Reference
#include "common.h"
#include "tcl.h"
#include "bu/avs.h"
#include "bu/bitv.h"
#include "bu/bu_tcl.h"
#include "bu/file.h"
#include "bu/hash.h"
#include "bu/hist.h"
#include "bu/malloc.h"
#include "bu/mapped_file.h"
#include "bu/list.h"
#include "bu/log.h"
#include "bu/parallel.h"
#include "bu/parse.h"
#include "bu/ptbl.h"
#include "bu/str.h"
#include "bu/vls.h"
#include "bn.h"
#include "db5.h"
#include "nmg.h"
#include "pc.h"
#include "rtgeom.h"
#include "rt/db_fullpath.h"
#include "./rt/search.h"
Include dependency graph for raytrace.h:

Go to the source code of this file.

Data Structures

struct  rt_tess_tol
 
struct  rt_db_internal
 
struct  xray
 
struct  xrays
 
struct  hit
 
struct  curvature
 
struct  uvcoord
 
struct  seg
 
struct  bound_rpp
 
struct  soltab
 
struct  mater_info
 
struct  region
 
struct  partition
 
struct  partition_list
 
struct  partition_bundle
 
struct  cutnode
 
struct  boxnode
 
struct  nu_axis
 
struct  nugridnode
 
union  cutter
 
struct  mem_map
 
struct  db_i
 
struct  directory
 
struct  rt_comb_internal
 
struct  rt_binunif_internal
 
struct  rt_constraint_internal
 
struct  db_tree_state
 
struct  db_traverse
 
struct  combined_tree_state
 
union  tree
 
struct  tree::tree_node
 
struct  tree::tree_leaf
 
struct  tree::tree_cts
 
struct  tree::tree_nmgregion
 
struct  tree::tree_db_leaf
 
struct  rt_tree_array
 
struct  rt_wdb
 
struct  anim_mat
 
struct  rt_anim_property
 
struct  rt_anim_color
 
struct  animate
 
union  animate::animate_specific
 
struct  rt_htbl
 
struct  rt_piecestate
 
struct  rt_piecelist
 
struct  resource
 
struct  rt_reprep_obj_list
 
struct  pixel_ext
 
struct  application
 
struct  application_bundle
 
struct  rt_g
 
struct  rt_i
 
struct  command_tab
 
struct  rt_point_labels
 
struct  rt_pt_node
 
struct  rt_view_info
 
struct  rt_selection
 
struct  rt_selection_set
 
struct  rt_object_selections
 
struct  rt_selection_query
 
struct  rt_selection_translation
 
struct  rt_selection_operation
 
struct  rt_functab
 
struct  rt_shootray_status
 
struct  hitmiss
 
struct  ray_data
 
struct  nmg_radial
 
struct  nmg_inter_struct
 

Macros

#define DEBUG_OFF   0
 No debugging. More...
 
#define DEBUG_ALLRAYS   0x00000001
 1 Print calls to rt_shootray() More...
 
#define DEBUG_ALLHITS   0x00000002
 2 Print partitions passed to a_hit() More...
 
#define DEBUG_SHOOT   0x00000004
 3 Info about rt_shootray() processing More...
 
#define DEBUG_INSTANCE   0x00000008
 4 regionid instance revectoring More...
 
#define DEBUG_DB   0x00000010
 5 Database debugging More...
 
#define DEBUG_SOLIDS   0x00000020
 6 Print prep'ed solids More...
 
#define DEBUG_REGIONS   0x00000040
 7 Print regions & boolean trees More...
 
#define DEBUG_ARB8   0x00000080
 8 Print voluminous ARB8 details More...
 
#define DEBUG_SPLINE   0x00000100
 9 Splines More...
 
#define DEBUG_ANIM   0x00000200
 10 Animation More...
 
#define DEBUG_ANIM_FULL   0x00000400
 11 Animation matrices More...
 
#define DEBUG_VOL   0x00000800
 12 Volume & opaque Binary solid More...
 
#define DEBUG_ROOTS   0x00001000
 13 Print rootfinder details More...
 
#define DEBUG_PARTITION   0x00002000
 14 Info about bool_weave() More...
 
#define DEBUG_CUT   0x00004000
 15 Print space cutting statistics More...
 
#define DEBUG_BOXING   0x00008000
 16 Object/box checking details More...
 
#define DEBUG_MEM   0x00010000
 17 –>> BU_DEBUG_MEM_LOG More...
 
#define DEBUG_MEM_FULL   0x00020000
 18 –>> BU_DEBUG_MEM_CHECK More...
 
#define DEBUG_FDIFF   0x00040000
 19 bool/fdiff debugging More...
 
#define DEBUG_PARALLEL   0x00080000
 20 –>> BU_DEBUG_PARALLEL More...
 
#define DEBUG_CUTDETAIL   0x00100000
 21 Print space cutting details More...
 
#define DEBUG_TREEWALK   0x00200000
 22 Database tree traversal More...
 
#define DEBUG_TESTING   0x00400000
 23 One-shot debugging flag More...
 
#define DEBUG_ADVANCE   0x00800000
 24 Cell-to-cell space partitioning More...
 
#define DEBUG_MATH   0x01000000
 25 nmg math routines More...
 
#define DEBUG_EBM   0x02000000
 26 Extruded bit-map solids More...
 
#define DEBUG_HF   0x04000000
 27 Height Field solids More...
 
#define DEBUG_UNUSED1   0x08000000
 28 unused More...
 
#define DEBUG_UNUSED2   0x10000000
 29 unused More...
 
#define DEBUG_UNUSED3   0x20000000
 30 unused More...
 
#define DEBUG_PL_SOLIDS   0x40000000
 31 plot all solids More...
 
#define DEBUG_PL_BOX   0x80000000
 32 Plot(3) bounding boxes and cuts More...
 
#define DEBUG_FORMAT   "\020\040PLOTBOX\\037PLOTSOLIDS\\033HF\032EBM\031MATH\030ADVANCE\\027TESTING\026TREEWALK\025CUTDETAIL\024PARALLEL\023FDIFF\022MEM_FULL\\021MEM\020BOXING\017CUTTING\016PARTITION\015ROOTS\014VOL\\013ANIM_FULL\012ANIM\011SPLINE\010ARB8\7REGIONS\6SOLIDS\5DB\\4INSTANCE\3SHOOT\2ALLHITS\1ALLRAYS"
 
#define RT_BADNUM(n)   (!((n) >= -INFINITY && (n) <= INFINITY))
 
#define RT_BADVEC(v)   (RT_BADNUM((v)[X]) || RT_BADNUM((v)[Y]) || RT_BADNUM((v)[Z]))
 
#define RT_LEN_TOL   (1.0e-8)
 
#define RT_DOT_TOL   (0.001)
 
#define RT_PCOEF_TOL   (1.0e-10)
 
#define RT_CK_TESS_TOL(_p)   BU_CKMAG(_p, RT_TESS_TOL_MAGIC, "rt_tess_tol")
 
#define RT_TESS_TOL_INIT_ZERO   {RT_TESS_TOL_MAGIC, 0.0, 0.0, 0.0}
 
#define idb_type   idb_minor_type
 
#define RT_DB_INTERNAL_INIT(_p)
 
#define RT_CK_DB_INTERNAL(_p)   BU_CKMAG(_p, RT_DB_INTERNAL_MAGIC, "rt_db_internal")
 
#define RAY_NULL   ((struct xray *)0)
 
#define RT_CK_RAY(_p)   BU_CKMAG(_p, RT_RAY_MAGIC, "struct xray");
 
#define HIT_NULL   ((struct hit *)0)
 
#define RT_CK_HIT(_p)   BU_CKMAG(_p, RT_HIT_MAGIC, "struct hit")
 
#define RT_HIT_INIT_ZERO   { RT_HIT_MAGIC, 0.0, VINIT_ZERO, VINIT_ZERO, VINIT_ZERO, NULL, 0, NULL }
 
#define RT_HIT_NORMAL(_normal, _hitp, _stp, _unused, _flipflag)
 
#define CURVE_NULL   ((struct curvature *)0)
 
#define RT_CURVATURE_INIT_ZERO   { VINIT_ZERO, 0.0, 0.0 }
 
#define RT_CURVATURE(_curvp, _hitp, _flipflag, _stp)
 
#define RT_HIT_UVCOORD(ap, _stp, _hitp, uvp)
 
#define RT_SEG_NULL   ((struct seg *)0)
 
#define RT_CHECK_SEG(_p)   BU_CKMAG(_p, RT_SEG_MAGIC, "struct seg")
 
#define RT_CK_SEG(_p)   BU_CKMAG(_p, RT_SEG_MAGIC, "struct seg")
 
#define RT_GET_SEG(p, res)
 
#define RT_FREE_SEG(p, res)
 
#define RT_FREE_SEG_LIST(_segheadp, _res)
 
#define st_name   st_dp->d_namep
 
#define RT_SOLTAB_NULL   ((struct soltab *)0)
 
#define SOLTAB_NULL   RT_SOLTAB_NULL
 backwards compat More...
 
#define RT_CHECK_SOLTAB(_p)   BU_CKMAG(_p, RT_SOLTAB_MAGIC, "struct soltab")
 
#define RT_CK_SOLTAB(_p)   BU_CKMAG(_p, RT_SOLTAB_MAGIC, "struct soltab")
 
#define ID_NULL   0
 Unused. More...
 
#define ID_TOR   1
 Toroid. More...
 
#define ID_TGC   2
 Generalized Truncated General Cone. More...
 
#define ID_ELL   3
 Ellipsoid. More...
 
#define ID_ARB8   4
 Generalized ARB. V + 7 vectors. More...
 
#define ID_ARS   5
 ARS. More...
 
#define ID_HALF   6
 Half-space. More...
 
#define ID_REC   7
 Right Elliptical Cylinder [TGC special]. More...
 
#define ID_POLY   8
 Polygonal faceted object. More...
 
#define ID_BSPLINE   9
 B-spline object. More...
 
#define ID_SPH   10
 Sphere. More...
 
#define ID_NMG   11
 n-Manifold Geometry solid More...
 
#define ID_EBM   12
 Extruded bitmap solid. More...
 
#define ID_VOL   13
 3-D Volume More...
 
#define ID_ARBN   14
 ARB with N faces. More...
 
#define ID_PIPE   15
 Pipe (wire) solid. More...
 
#define ID_PARTICLE   16
 Particle system solid. More...
 
#define ID_RPC   17
 Right Parabolic Cylinder. More...
 
#define ID_RHC   18
 Right Hyperbolic Cylinder. More...
 
#define ID_EPA   19
 Elliptical Paraboloid. More...
 
#define ID_EHY   20
 Elliptical Hyperboloid. More...
 
#define ID_ETO   21
 Elliptical Torus. More...
 
#define ID_GRIP   22
 Pseudo Solid Grip. More...
 
#define ID_JOINT   23
 Pseudo Solid/Region Joint. More...
 
#define ID_HF   24
 Height Field. More...
 
#define ID_DSP   25
 Displacement map. More...
 
#define ID_SKETCH   26
 2D sketch More...
 
#define ID_EXTRUDE   27
 Solid of extrusion. More...
 
#define ID_SUBMODEL   28
 Instanced submodel. More...
 
#define ID_CLINE   29
 FASTGEN4 CLINE solid. More...
 
#define ID_BOT   30
 Bag o' triangles. More...
 
#define ID_MAX_SOLID   44
 Maximum defined ID_xxx for solids. More...
 
#define ID_COMBINATION   31
 Combination Record. More...
 
#define ID_UNUSED1   32
 UNUSED (placeholder) More...
 
#define ID_BINUNIF   33
 Uniform-array binary. More...
 
#define ID_UNUSED2   34
 UNUSED (placeholder) More...
 
#define ID_CONSTRAINT   39
 Constraint object. More...
 
#define ID_SUPERELL   35
 Superquadratic ellipsoid. More...
 
#define ID_METABALL   36
 Metaball. More...
 
#define ID_BREP   37
 B-rep object. More...
 
#define ID_HYP   38
 Hyperboloid of one sheet. More...
 
#define ID_REVOLVE   40
 Solid of Revolution. More...
 
#define ID_PNTS   41
 Collection of Points. More...
 
#define ID_ANNOTATION   42
 Annotation. More...
 
#define ID_HRT   43
 Heart. More...
 
#define ID_MAXIMUM   44
 Maximum defined ID_xxx value. More...
 
#define RT_MATER_INFO_INIT_ZERO   { VINIT_ZERO, 0.0, 0, 0, 0, NULL }
 
#define RT_MATER_INFO_INIT_IDN   { {1.0, 0.0, 0.0} , -1.0, 0, 0, 0, NULL }
 
#define REGION_NON_FASTGEN   0
 
#define REGION_FASTGEN_PLATE   1
 
#define REGION_FASTGEN_VOLUME   2
 
#define REGION_NULL   ((struct region *)0)
 
#define RT_CK_REGION(_p)   BU_CKMAG(_p, RT_REGION_MAGIC, "struct region")
 
#define PT_NULL   ((struct partition *)0)
 
#define RT_CHECK_PT(_p)   RT_CK_PT(_p)
 compat More...
 
#define RT_CK_PT(_p)   BU_CKMAG(_p, PT_MAGIC, "struct partition")
 
#define RT_CK_PARTITION(_p)   BU_CKMAG(_p, PT_MAGIC, "struct partition")
 
#define RT_CK_PT_HD(_p)   BU_CKMAG(_p, PT_HD_MAGIC, "struct partition list head")
 
#define RT_PT_MIDDLE_START   pt_inseg
 1st elem to copy More...
 
#define RT_PT_MIDDLE_END   pt_seglist.l.magic
 copy up to this elem (non-inclusive) More...
 
#define RT_PT_MIDDLE_LEN(p)   (((char *)&(p)->RT_PT_MIDDLE_END) - ((char *)&(p)->RT_PT_MIDDLE_START))
 
#define RT_DUP_PT(ip, new, old, res)
 
#define GET_PT_INIT(ip, p, res)
 
#define GET_PT(ip, p, res)
 
#define FREE_PT(p, res)
 
#define RT_FREE_PT_LIST(_headp, _res)
 
#define INSERT_PT(_new, _old)   BU_LIST_INSERT((struct bu_list *)_old, (struct bu_list *)_new)
 
#define APPEND_PT(_new, _old)   BU_LIST_APPEND((struct bu_list *)_old, (struct bu_list *)_new)
 
#define DEQUEUE_PT(_cur)   BU_LIST_DEQUEUE((struct bu_list *)_cur)
 
#define CUT_CUTNODE   1
 
#define CUT_BOXNODE   2
 
#define CUT_NUGRIDNODE   3
 
#define CUT_MAXIMUM   3
 
#define CUTTER_NULL   ((union cutter *)0)
 
#define MAP_NULL   ((struct mem_map *) 0)
 
#define RT_DBNHASH   8192
 hash table is an array of linked lists with this many array pointer elements (Memory use for 32-bit: 32KB, 64-bit: 64KB) More...
 
#define RT_DBHASH(sum)   ((size_t)(sum) & ((RT_DBNHASH)-1))
 
#define DBI_NULL   ((struct db_i *)0)
 
#define RT_CHECK_DBI(_p)   BU_CKMAG(_p, DBI_MAGIC, "struct db_i")
 
#define RT_CK_DBI(_p)   RT_CHECK_DBI(_p)
 
#define RT_DIR_NULL   ((struct directory *)0)
 
#define RT_CK_DIR(_dp)   BU_CKMAG(_dp, RT_DIR_MAGIC, "(librt)directory")
 
#define d_addr   d_un.file_offset
 
#define RT_DIR_PHONY_ADDR   ((off_t)-1)
 Special marker for d_addr field. More...
 
#define RT_DIR_SOLID   0x1
 this name is a solid More...
 
#define RT_DIR_COMB   0x2
 combination More...
 
#define RT_DIR_REGION   0x4
 region More...
 
#define RT_DIR_HIDDEN   0x8
 object name is hidden More...
 
#define RT_DIR_NON_GEOM   0x10
 object is not geometry (e.g. binary object) More...
 
#define RT_DIR_USED   0x80
 One bit, used similar to d_nref. More...
 
#define RT_DIR_INMEM   0x100
 object is in memory (only) More...
 
#define LOOKUP_NOISY   1
 
#define LOOKUP_QUIET   0
 
#define FOR_ALL_DIRECTORY_START(_dp, _dbip)
 
#define FOR_ALL_DIRECTORY_END   }}}
 
#define RT_DIR_SET_NAMEP(_dp, _name)
 
#define RT_DIR_FREE_NAMEP(_dp)
 
#define RT_GET_DIRECTORY(_p, _res)
 
#define RT_CHECK_COMB(_p)   BU_CKMAG(_p, RT_COMB_MAGIC, "rt_comb_internal")
 
#define RT_CK_COMB(_p)   RT_CHECK_COMB(_p)
 
#define RT_COMB_INTERNAL_INIT(_p)
 
#define RT_FREE_COMB_INTERNAL(_p)
 
#define RT_CHECK_BINUNIF(_p)   BU_CKMAG(_p, RT_BINUNIF_INTERNAL_MAGIC, "rt_binunif_internal")
 
#define RT_CK_BINUNIF(_p)   RT_CHECK_BINUNIF(_p)
 
#define RT_CHECK_CONSTRAINT(_p)   BU_CKMAG(_p, PC_CONSTRAINT_MAGIC, "pc_constraint_internal")
 
#define RT_CK_CONSTRAINT(_p)   PC_CHECK_CONSTRAINT(_p)
 
#define RT_DBTS_INIT_ZERO   { RT_DBTS_MAGIC, NULL, 0, 0, 0, 0, 0, RT_MATER_INFO_INIT_ZERO, MAT_INIT_ZERO, 0, BU_AVS_INIT_ZERO, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL }
 
#define RT_DBTS_INIT_IDN   { RT_DBTS_MAGIC, NULL, 0, 0, 0, 0, 100, RT_MATER_INFO_INIT_IDN, MAT_INIT_IDN, 0, BU_AVS_INIT_ZERO, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL }
 
#define TS_SOFAR_MINUS   1
 Subtraction encountered above. More...
 
#define TS_SOFAR_INTER   2
 Intersection encountered above. More...
 
#define TS_SOFAR_REGION   4
 Region encountered above. More...
 
#define RT_CK_DBTS(_p)   BU_CKMAG(_p, RT_DBTS_MAGIC, "db_tree_state")
 
#define RT_DB_TRAVERSE_INIT(_p)
 
#define RT_CK_DB_TRAVERSE(_p)   BU_CKMAG(_p, RT_DB_TRAVERSE_MAGIC, "db_traverse")
 
#define RT_CK_CTS(_p)   BU_CKMAG(_p, RT_CTS_MAGIC, "combined_tree_state")
 
#define MKOP(x)   (x)
 
#define OP_SOLID   MKOP(1)
 Leaf: tr_stp -> solid. More...
 
#define OP_UNION   MKOP(2)
 Binary: L union R. More...
 
#define OP_INTERSECT   MKOP(3)
 Binary: L intersect R. More...
 
#define OP_SUBTRACT   MKOP(4)
 Binary: L subtract R. More...
 
#define OP_XOR   MKOP(5)
 Binary: L xor R, not both. More...
 
#define OP_REGION   MKOP(6)
 Leaf: tr_stp -> combined_tree_state. More...
 
#define OP_NOP   MKOP(7)
 Leaf with no effect. More...
 
#define OP_NOT   MKOP(8)
 Unary: not L. More...
 
#define OP_GUARD   MKOP(9)
 Unary: not L, or else! More...
 
#define OP_XNOP   MKOP(10)
 Unary: L, mark region. More...
 
#define OP_NMG_TESS   MKOP(11)
 Leaf: tr_stp -> nmgregion. More...
 
#define OP_DB_LEAF   MKOP(12)
 Leaf of combination, db fmt. More...
 
#define OP_FREE   MKOP(13)
 Unary: L has free chain. More...
 
#define tr_op   tr_a.tu_op
 
#define tr_regionp   tr_a.tu_regionp
 
#define TREE_NULL   ((union tree *)0)
 
#define RT_CK_TREE(_p)   BU_CKMAG(_p, RT_TREE_MAGIC, "union tree")
 
#define RT_TREE_INIT(_p)
 
#define RT_GET_TREE(_tp, _res)
 
#define RT_FREE_TREE(_tp, _res)
 
#define TREE_LIST_NULL   ((struct tree_list *)0)
 
#define RT_MAXLINE   10240
 
#define RT_CHECK_WDB(_p)   BU_CKMAG(_p, RT_WDB_MAGIC, "rt_wdb")
 
#define RT_CK_WDB(_p)   RT_CHECK_WDB(_p)
 
#define RT_WDB_INIT_ZERO   { {RT_WDB_MAGIC, BU_LIST_NULL, BU_LIST_NULL}, 0, NULL, RT_DBTS_INIT_ZERO, RT_TESS_TOL_INIT_ZERO, BN_TOL_INIT_ZERO, NULL, BU_VLS_INIT_ZERO, 0, 0, 0, 0, 0, 0, BU_VLS_INIT_ZERO, BU_OBSERVER_INIT_ZERO, NULL }
 
#define RT_WDB_NULL   ((struct rt_wdb *)NULL)
 
#define RT_WDB_TYPE_DB_DISK   2
 
#define RT_WDB_TYPE_DB_DISK_APPEND_ONLY   3
 
#define RT_WDB_TYPE_DB_INMEM   4
 
#define RT_WDB_TYPE_DB_INMEM_APPEND_ONLY   5
 
#define RT_MINVIEWSIZE   0.0001
 
#define RT_MINVIEWSCALE   0.00005
 
#define ANM_RSTACK   1
 Replace stacked matrix. More...
 
#define ANM_RARC   2
 Replace arc matrix. More...
 
#define ANM_LMUL   3
 Left (root side) mul. More...
 
#define ANM_RMUL   4
 Right (leaf side) mul. More...
 
#define ANM_RBOTH   5
 Replace stack, arc=Idn. More...
 
#define RT_ANP_REPLACE   1
 Replace shader string. More...
 
#define RT_ANP_APPEND   2
 Append to shader string. More...
 
#define RT_CK_ANP(_p)   BU_CKMAG((_p), RT_ANP_MAGIC, "rt_anim_property")
 
#define RT_AN_MATRIX   1
 Matrix animation. More...
 
#define RT_AN_MATERIAL   2
 Material property anim. More...
 
#define RT_AN_COLOR   3
 Material color anim. More...
 
#define RT_AN_SOLID   4
 Solid parameter anim. More...
 
#define RT_AN_TEMPERATURE   5
 Region temperature. More...
 
#define ANIM_NULL   ((struct animate *)0)
 
#define RT_CK_ANIMATE(_p)   BU_CKMAG((_p), ANIMATE_MAGIC, "animate")
 
#define RT_CK_HTBL(_p)   BU_CKMAG(_p, RT_HTBL_MAGIC, "rt_htbl")
 
#define RT_CK_PIECESTATE(_p)   BU_CKMAG(_p, RT_PIECESTATE_MAGIC, "struct rt_piecestate")
 
#define RT_CK_PIECELIST(_p)   BU_CKMAG(_p, RT_PIECELIST_MAGIC, "struct rt_piecelist")
 
#define RT_DEFAULT_MINPIECES   32
 
#define RT_DEFAULT_TRIS_PER_PIECE   4
 
#define RT_DEFAULT_MINTIE   0 /* TODO: find the best value */
 
#define RESOURCE_NULL   ((struct resource *)0)
 
#define RT_CK_RESOURCE(_p)   BU_CKMAG(_p, RESOURCE_MAGIC, "struct resource")
 
#define RT_RESOURCE_INIT_ZERO   { RESOURCE_MAGIC, 0, BU_LIST_INIT_ZERO, BU_PTBL_INIT_ZERO, 0, 0, 0, BU_LIST_INIT_ZERO, 0, 0, 0, BU_LIST_INIT_ZERO, BU_LIST_INIT_ZERO, BU_LIST_INIT_ZERO, NULL, 0, NULL, 0, 0, 0, 0, 0, 0, 0, 0, NULL, 0, 0, 0, 0, BU_PTBL_INIT_ZERO, NULL, 0, 0, 0, NULL, BU_PTBL_INIT_ZERO }
 
#define CORNER_PTS   4
 
#define BU_CK_PIXEL_EXT(_p)   BU_CKMAG(_p, PIXEL_EXT_MAGIC, "struct pixel_ext")
 
#define RT_APPLICATION_NULL   ((struct application *)0)
 
#define RT_AFN_NULL   ((int (*)(struct application *, struct partition *, struct region *, struct region *, struct partition *))NULL)
 
#define RT_CK_AP(_p)   BU_CKMAG(_p, RT_AP_MAGIC, "struct application")
 
#define RT_CK_APPLICATION(_p)   BU_CKMAG(_p, RT_AP_MAGIC, "struct application")
 
#define RT_APPLICATION_INIT(_p)
 
#define RT_AP_CHECK(_ap)
 
#define RT_G_INIT_ZERO   { 0, 0, BU_LIST_INIT_ZERO, 0, RT_WDB_INIT_ZERO }
 
#define RT_G_DEBUG   RTG.debug
 
#define RT_SEM_TREE0   (BU_SEM_LAST)
 
#define RT_SEM_TREE1   (RT_SEM_TREE0+1)
 
#define RT_SEM_TREE2   (RT_SEM_TREE1+1)
 
#define RT_SEM_TREE3   (RT_SEM_TREE2+1)
 
#define RT_SEM_WORKER   (RT_SEM_TREE3+1)
 
#define RT_SEM_STATS   (RT_SEM_WORKER+1)
 
#define RT_SEM_RESULTS   (RT_SEM_STATS+1)
 
#define RT_SEM_MODEL   (RT_SEM_RESULTS+1)
 
#define RT_SEM_LAST   (RT_SEM_MODEL+1)
 
#define RT_NU_GFACTOR_DEFAULT   1.5
 see rt_cut_it() for a description of this More...
 
#define RTI_NULL   ((struct rt_i *)0)
 
#define RT_CHECK_RTI(_p)   BU_CKMAG(_p, RTI_MAGIC, "struct rt_i")
 
#define RT_CK_RTI(_p)   RT_CHECK_RTI(_p)
 
#define RT_PART_NUBSPT   0
 
#define RT_PART_NUGRID   1
 
#define RT_VISIT_ALL_SOLTABS_START(_s, _rti)
 
#define RT_VISIT_ALL_SOLTABS_END   } }
 
#define RT_GET_VLIST(p)   BN_GET_VLIST(&RTG.rtg_vlfree, p)
 
#define RT_FREE_VLIST(hd)   BN_FREE_VLIST(&RTG.rtg_vlfree, hd)
 
#define RT_ADD_VLIST(hd, pnt, draw)   BN_ADD_VLIST(&RTG.rtg_vlfree, hd, pnt, draw)
 
#define RT_VLIST_SET_POINT_SIZE(hd, size)   BN_VLIST_SET_POINT_SIZE(&RTG.rtg_vlfree, hd, size)
 
#define RT_VLIST_SET_LINE_WIDTH(hd, width)   BN_VLIST_SET_LINE_WIDTH(&RTG.rtg_vlfree, hd, width)
 
#define V2PRINT(a, b)   bu_log("%s (%g, %g)\n", a, (b)[0], (b)[1]);
 
#define VPRINT(a, b)   bu_log("%s (%g, %g, %g)\n", a, (b)[0], (b)[1], (b)[2])
 
#define HPRINT(a, b)   bu_log("%s (%g, %g, %g, %g)\n", a, (b)[0], (b)[1], (b)[2], (b)[3])
 
#define RT_SORT_UNSORTED   0
 
#define RT_SORT_CLOSEST_TO_START   1
 
#define RT_SELECTION_NOP   0
 
#define RT_SELECTION_TRANSLATION   1
 
#define RTFUNCTAB_FUNC_PREP_CAST(_func)   ((int (*)(struct soltab *, struct rt_db_internal *, struct rt_i *))_func)
 
#define RTFUNCTAB_FUNC_SHOT_CAST(_func)   ((int (*)(struct soltab *, struct xray *, struct application *, struct seg *))_func)
 
#define RTFUNCTAB_FUNC_PRINT_CAST(_func)   ((void (*)(const struct soltab *))_func)
 
#define RTFUNCTAB_FUNC_NORM_CAST(_func)   ((void (*)(struct hit *, struct soltab *, struct xray *))_func)
 
#define RTFUNCTAB_FUNC_PIECE_SHOT_CAST(_func)   ((int (*)(struct rt_piecestate *, struct rt_piecelist *, double dist, struct xray *, struct application *, struct seg *))_func)
 
#define RTFUNCTAB_FUNC_PIECE_HITSEGS_CAST(_func)   ((void (*)(struct rt_piecestate *, struct seg *, struct application *))_func)
 
#define RTFUNCTAB_FUNC_UV_CAST(_func)   ((void (*)(struct application *, struct soltab *, struct hit *, struct uvcoord *))_func)
 
#define RTFUNCTAB_FUNC_CURVE_CAST(_func)   ((void (*)(struct curvature *, struct hit *, struct soltab *))_func)
 
#define RTFUNCTAB_FUNC_CLASS_CAST(_func)   ((int (*)(const struct soltab *, const vect_t, const vect_t, const struct bn_tol *))_func)
 
#define RTFUNCTAB_FUNC_FREE_CAST(_func)   ((void (*)(struct soltab *))_func)
 
#define RTFUNCTAB_FUNC_PLOT_CAST(_func)   ((int (*)(struct bu_list *, struct rt_db_internal *, const struct rt_tess_tol *, const struct bn_tol *, const struct rt_view_info *))_func)
 
#define RTFUNCTAB_FUNC_ADAPTIVE_PLOT_CAST(_func)   ((int (*)(struct rt_db_internal *, const struct rt_view_info *))_func)
 
#define RTFUNCTAB_FUNC_VSHOT_CAST(_func)   ((void (*)(struct soltab *[], struct xray *[], struct seg *, int, struct application *))_func)
 
#define RTFUNCTAB_FUNC_TESS_CAST(_func)   ((int (*)(struct nmgregion **, struct model *, struct rt_db_internal *, const struct rt_tess_tol *, const struct bn_tol *))_func)
 
#define RTFUNCTAB_FUNC_TNURB_CAST(_func)   ((int (*)(struct nmgregion **, struct model *, struct rt_db_internal *, const struct bn_tol *))_func)
 
#define RTFUNCTAB_FUNC_BREP_CAST(_func)   ((void (*)(ON_Brep **, struct rt_db_internal *, const struct bn_tol *))_func)
 
#define RTFUNCTAB_FUNC_IMPORT5_CAST(_func)   ((int (*)(struct rt_db_internal *, const struct bu_external *, const mat_t, const struct db_i *, struct resource *))_func)
 
#define RTFUNCTAB_FUNC_EXPORT5_CAST(_func)   ((int (*)(struct bu_external *, const struct rt_db_internal *, double, const struct db_i *, struct resource *))_func)
 
#define RTFUNCTAB_FUNC_IMPORT4_CAST(_func)   ((int (*)(struct rt_db_internal *, const struct bu_external *, const mat_t, const struct db_i *, struct resource *))_func)
 
#define RTFUNCTAB_FUNC_EXPORT4_CAST(_func)   ((int (*)(struct bu_external *, const struct rt_db_internal *, double, const struct db_i *, struct resource *))_func)
 
#define RTFUNCTAB_FUNC_IFREE_CAST(_func)   ((void (*)(struct rt_db_internal *))_func)
 
#define RTFUNCTAB_FUNC_DESCRIBE_CAST(_func)   ((int (*)(struct bu_vls *, const struct rt_db_internal *, int, double, struct resource *, struct db_i *))_func)
 
#define RTFUNCTAB_FUNC_XFORM_CAST(_func)   ((int (*)(struct rt_db_internal *, const mat_t, struct rt_db_internal *, int, struct db_i *, struct resource *))_func)
 
#define RTFUNCTAB_FUNC_GET_CAST(_func)   ((int (*)(struct bu_vls *, const struct rt_db_internal *, const char *))_func)
 
#define RTFUNCTAB_FUNC_ADJUST_CAST(_func)   ((int (*)(struct bu_vls *, struct rt_db_internal *, int, const char **))_func)
 
#define RTFUNCTAB_FUNC_FORM_CAST(_func)   ((int (*)(struct bu_vls *, const struct rt_functab *))_func)
 
#define RTFUNCTAB_FUNC_MAKE_CAST(_func)   ((void (*)(const struct rt_functab *, struct rt_db_internal *))_func)
 
#define RTFUNCTAB_FUNC_PARAMS_CAST(_func)   ((int (*)(struct pc_pc_set *, const struct rt_db_internal *))_func)
 
#define RTFUNCTAB_FUNC_BBOX_CAST(_func)   ((int (*)(struct rt_db_internal *, point_t *, point_t *, const struct bn_tol *))_func)
 
#define RTFUNCTAB_FUNC_VOLUME_CAST(_func)   ((void (*)(fastf_t *, const struct rt_db_internal *))_func)
 
#define RTFUNCTAB_FUNC_SURF_AREA_CAST(_func)   ((void (*)(fastf_t *, const struct rt_db_internal *))_func)
 
#define RTFUNCTAB_FUNC_CENTROID_CAST(_func)   ((void (*)(point_t *, const struct rt_db_internal *))_func)
 
#define RTFUNCTAB_FUNC_ORIENTED_BBOX_CAST(_func)   ((int (*)(struct rt_arb_internal *, struct rt_db_internal *, const fastf_t))_func)
 
#define RTFUNCTAB_FUNC_FIND_SELECTIONS_CAST(_func)   ((struct rt_selection_set *(*)(const struct rt_db_internal *, const struct rt_selection_query *))_func)
 
#define RTFUNCTAB_FUNC_EVALUATE_SELECTION_CAST(_func)   ((struct rt_selection *(*)(const struct rt_db_internal *, int op, const struct rt_selection *, const struct rt_selection *))_func)
 
#define RTFUNCTAB_FUNC_PROCESS_SELECTION_CAST(_func)   ((int (*)(struct rt_db_internal *, struct db_i *, const struct rt_selection *, const struct rt_selection_operation *))_func)
 
#define RT_CK_FUNCTAB(_p)   BU_CKMAG(_p, RT_FUNCTAB_MAGIC, "functab");
 
#define NUGRID_T_SETUP(_ax, _cval, _cno)
 
#define NUGRID_T_ADV(_ax, _cno)
 
#define BACKING_DIST   (-2.0)
 mm to look behind start point More...
 
#define OFFSET_DIST   0.01
 mm to advance point into box More...
 
#define NMG_HIT_LIST   0
 
#define NMG_MISS_LIST   1
 
#define HMG_INBOUND_STATE(_hm)   (((_hm)->in_out & 0x0f0) >> 4)
 
#define HMG_OUTBOUND_STATE(_hm)   ((_hm)->in_out & 0x0f)
 
#define NMG_RAY_STATE_INSIDE   1
 
#define NMG_RAY_STATE_ON   2
 
#define NMG_RAY_STATE_OUTSIDE   4
 
#define NMG_RAY_STATE_ANY   8
 
#define HMG_HIT_IN_IN   0x11
 hit internal structure More...
 
#define HMG_HIT_IN_OUT   0x14
 breaking out More...
 
#define HMG_HIT_OUT_IN   0x41
 breaking in More...
 
#define HMG_HIT_OUT_OUT   0x44
 edge/vertex graze More...
 
#define HMG_HIT_IN_ON   0x12
 
#define HMG_HIT_ON_IN   0x21
 
#define HMG_HIT_ON_ON   0x22
 
#define HMG_HIT_OUT_ON   0x42
 
#define HMG_HIT_ON_OUT   0x24
 
#define HMG_HIT_ANY_ANY   0x88
 hit on non-3-manifold More...
 
#define NMG_VERT_ENTER   1
 
#define NMG_VERT_ENTER_LEAVE   0
 
#define NMG_VERT_LEAVE   -1
 
#define NMG_VERT_UNKNOWN   -2
 
#define NMG_HITMISS_SEG_IN   0x696e00
 "in" More...
 
#define NMG_HITMISS_SEG_OUT   0x6f757400
 "out" More...
 
#define NMG_CK_HITMISS(hm)
 
#define NMG_CK_HITMISS_LISTS(rd)
 
#define NMG_PCA_EDGE   1
 
#define NMG_PCA_EDGE_VERTEX   2
 
#define NMG_PCA_VERTEX   3
 
#define NMG_CK_RD(_rd)   NMG_CKMAG(_rd, NMG_RAY_DATA_MAGIC, "ray data");
 
#define NMG_GET_HITMISS(_p, _ap)
 
#define NMG_FREE_HITLIST(_p, _ap)
 
#define HIT   1
 a hit on a face More...
 
#define MISS   0
 a miss on the face More...
 
#define nmg_bu_bomb(rd, str)
 
#define NMG_CK_RADIAL(_p)   NMG_CKMAG(_p, NMG_RADIAL_MAGIC, "nmg_radial")
 
#define NMG_CK_INTER_STRUCT(_p)   NMG_CKMAG(_p, NMG_INTER_STRUCT_MAGIC, "nmg_inter_struct")
 
#define DB_OPEN_READONLY   "r"
 
#define DB_OPEN_READWRITE   "rw"
 
#define db_ident(a, b, c)   +++error+++
 
#define DB_LS_PRIM   0x1 /* filter for primitives (solids)*/
 
#define DB_LS_COMB   0x2 /* filter for combinations */
 
#define DB_LS_REGION   0x4 /* filter for regions */
 
#define DB_LS_HIDDEN   0x8 /* include hidden objects in results */
 
#define DB_LS_NON_GEOM   0x10 /* filter for non-geometry objects */
 
#define DB_LS_TOPS   0x20 /* filter for objects un-referenced by other objects */
 

Functions

struct rt_irt_new_rti (struct db_i *dbip)
 
void rt_free_rti (struct rt_i *rtip)
 
void rt_prep (struct rt_i *rtip)
 
void rt_prep_parallel (struct rt_i *rtip, int ncpu)
 
void rt_default_multioverlap (struct application *ap, struct partition *pp, struct bu_ptbl *regiontable, struct partition *InputHdp)
 
void rt_silent_logoverlap (struct application *ap, const struct partition *pp, const struct bu_ptbl *regiontable, const struct partition *InputHdp)
 
void rt_default_logoverlap (struct application *ap, const struct partition *pp, const struct bu_ptbl *regiontable, const struct partition *InputHdp)
 
int rt_gen_elliptical_grid (struct xrays *rays, const struct xray *center_ray, const fastf_t *avec, const fastf_t *bvec, fastf_t gridsize)
 
int rt_gen_circular_grid (struct xrays *ray_bundle, const struct xray *center_ray, fastf_t radius, const fastf_t *up_vector, fastf_t gridsize)
 
int rt_gen_conic (struct xrays *rays, const struct xray *center_ray, fastf_t theta, vect_t up_vector, int rays_per_radius)
 
int rt_gen_frustum (struct xrays *rays, const struct xray *center_ray, const vect_t a_vec, const vect_t b_vec, const fastf_t a_theta, const fastf_t b_theta, const fastf_t a_num, const fastf_t b_num)
 
int rt_gen_rect (struct xrays *rays, const struct xray *center_ray, const vect_t a_vec, const vect_t b_vec, const fastf_t da, const fastf_t db)
 
int rt_shootray (struct application *ap)
 
int rt_shootrays (struct application_bundle *bundle)
 
int rt_shootray_bundle (register struct application *ap, struct xray *rays, int nrays)
 
int rt_raybundle_maker (struct xray *rp, double radius, const fastf_t *avec, const fastf_t *bvec, int rays_per_ring, int nring)
 
struct partitionrt_shootray_simple (struct application *ap, point_t origin, vect_t direction)
 
void rt_free_soltab (struct soltab *stp)
 
int rt_gettree (struct rt_i *rtip, const char *node)
 
int rt_gettrees (struct rt_i *rtip, int argc, const char **argv, int ncpus)
 
int rt_gettrees_and_attrs (struct rt_i *rtip, const char **attrs, int argc, const char **argv, int ncpus)
 
int rt_gettrees_muves (struct rt_i *rtip, const char **attrs, int argc, const char **argv, int ncpus)
 
DEPRECATED int rt_load_attrs (struct rt_i *rtip, char **attrs)
 
void rt_pr_seg (const struct seg *segp)
 
void rt_pr_partitions (const struct rt_i *rtip, const struct partition *phead, const char *title)
 
struct soltabrt_find_solid (const struct rt_i *rtip, const char *name)
 
void rt_prep_timer (void)
 
double rt_get_timer (struct bu_vls *vp, double *elapsed)
 
double rt_read_timer (char *str, int len)
 
int rt_plot_solid (FILE *fp, struct rt_i *rtip, const struct soltab *stp, struct resource *resp)
 
void rt_clean (struct rt_i *rtip)
 
int rt_del_regtree (struct rt_i *rtip, struct region *delregp, struct resource *resp)
 
void rt_ck (struct rt_i *rtip)
 
int rt_matrix_transform (struct rt_db_internal *output, const mat_t matrix, struct rt_db_internal *input, int free_input, struct db_i *dbip, struct resource *resource)
 
void rt_boolweave (struct seg *out_hd, struct seg *in_hd, struct partition *PartHeadp, struct application *ap)
 
int rt_boolfinal (struct partition *InputHdp, struct partition *FinalHdp, fastf_t startdist, fastf_t enddist, struct bu_ptbl *regionbits, struct application *ap, const struct bu_bitv *solidbits)
 
void rt_grow_boolstack (struct resource *res)
 
void rt_pr_soltab (const struct soltab *stp)
 
void rt_pr_region (const struct region *rp)
 
void rt_pr_tree (const union tree *tp, int lvl)
 
void rt_pr_tree_val (const union tree *tp, const struct partition *partp, int pr_name, int lvl)
 
void rt_pr_pt (const struct rt_i *rtip, const struct partition *pp)
 
void rt_pr_hit (const char *str, const struct hit *hitp)
 
void rt_cut_it (struct rt_i *rtip, int ncpu)
 
void rt_pr_cut (const union cutter *cutp, int lvl)
 
void rt_fr_cut (struct rt_i *rtip, union cutter *cutp)
 
void rt_rebuild_overlaps (struct partition *PartHdp, struct application *ap, int rebuild_fastgen_plates_only)
 
int rt_partition_len (const struct partition *partheadp)
 
int rt_defoverlap (struct application *ap, struct partition *pp, struct region *reg1, struct region *reg2, struct partition *pheadp)
 
void rt_pr_cut_info (const struct rt_i *rtip, const char *str)
 
void remove_from_bsp (struct soltab *stp, union cutter *cutp, struct bn_tol *tol)
 
void insert_in_bsp (struct soltab *stp, union cutter *cutp)
 
void fill_out_bsp (struct rt_i *rtip, union cutter *cutp, struct resource *resp, fastf_t bb[6])
 
void rt_cut_extend (union cutter *cutp, struct soltab *stp, const struct rt_i *rtip)
 
int rt_rpp_region (struct rt_i *rtip, const char *reg_name, fastf_t *min_rpp, fastf_t *max_rpp)
 
int rt_in_rpp (struct xray *rp, const fastf_t *invdir, const fastf_t *min, const fastf_t *max)
 
const union cutterrt_cell_n_on_ray (struct application *ap, int n)
 
void rt_cut_clean (struct rt_i *rtip)
 
int rt_bound_internal (struct db_i *dbip, struct directory *dp, point_t rpp_min, point_t rpp_max)
 
char * rt_read_cmd (FILE *fp)
 
int rt_do_cmd (struct rt_i *rtip, const char *ilp, const struct command_tab *tp)
 
struct rt_wdbwdb_fopen (const char *filename)
 
struct rt_wdbwdb_fopen_v (const char *filename, int version)
 
struct rt_wdbwdb_dbopen (struct db_i *dbip, int mode)
 
int wdb_import (struct rt_wdb *wdbp, struct rt_db_internal *internp, const char *name, const mat_t mat)
 
int wdb_export_external (struct rt_wdb *wdbp, struct bu_external *ep, const char *name, int flags, unsigned char minor_type)
 
int wdb_put_internal (struct rt_wdb *wdbp, const char *name, struct rt_db_internal *ip, double local2mm)
 
int wdb_export (struct rt_wdb *wdbp, const char *name, void *gp, int id, double local2mm)
 
void wdb_init (struct rt_wdb *wdbp, struct db_i *dbip, int mode)
 
void wdb_close (struct rt_wdb *wdbp)
 
int wdb_import_from_path (struct bu_vls *logstr, struct rt_db_internal *ip, const char *path, struct rt_wdb *wdb)
 
int wdb_import_from_path2 (struct bu_vls *logstr, struct rt_db_internal *ip, const char *path, struct rt_wdb *wdb, matp_t matp)
 
struct animatedb_parse_1anim (struct db_i *dbip, int argc, const char **argv)
 
int db_parse_anim (struct db_i *dbip, int argc, const char **argv)
 
int db_add_anim (struct db_i *dbip, struct animate *anp, int root)
 
int db_do_anim (struct animate *anp, mat_t stack, mat_t arc, struct mater_info *materp)
 
void db_free_anim (struct db_i *dbip)
 
void db_write_anim (FILE *fop, struct animate *anp)
 
void db_free_1anim (struct animate *anp)
 
const char * db_normalize (const char *path)
 
void db_sync (struct db_i *dbip)
 
struct db_idb_open (const char *name, const char *mode)
 
struct db_idb_create (const char *name, int version)
 
void db_close_client (struct db_i *dbip, long *client)
 
void db_close (struct db_i *dbip)
 
int db_dump (struct rt_wdb *wdbp, struct db_i *dbip)
 
struct db_idb_clone_dbi (struct db_i *dbip, long *client)
 
int db5_write_free (struct db_i *dbip, struct directory *dp, size_t length)
 
int db5_realloc (struct db_i *dbip, struct directory *dp, struct bu_external *ep)
 
void db5_export_object3 (struct bu_external *out, int dli, const char *name, const unsigned char hidden, const struct bu_external *attrib, const struct bu_external *body, int major, int minor, int a_zzz, int b_zzz)
 
int rt_db_cvt_to_external5 (struct bu_external *ext, const char *name, const struct rt_db_internal *ip, double conv2mm, struct db_i *dbip, struct resource *resp, const int major)
 
int db_wrap_v5_external (struct bu_external *ep, const char *name)
 
int rt_db_get_internal5 (struct rt_db_internal *ip, const struct directory *dp, const struct db_i *dbip, const mat_t mat, struct resource *resp)
 
int rt_db_put_internal5 (struct directory *dp, struct db_i *dbip, struct rt_db_internal *ip, struct resource *resp, const int major)
 
void db5_make_free_object_hdr (struct bu_external *ep, size_t length)
 
void db5_make_free_object (struct bu_external *ep, size_t length)
 
int db5_decode_signed (size_t *lenp, const unsigned char *cp, int format)
 
size_t db5_decode_length (size_t *lenp, const unsigned char *cp, int format)
 
int db5_select_length_encoding (size_t len)
 
void db5_import_color_table (char *cp)
 
int db5_import_attributes (struct bu_attribute_value_set *avs, const struct bu_external *ap)
 
void db5_export_attributes (struct bu_external *ap, const struct bu_attribute_value_set *avs)
 
int db5_get_raw_internal_fp (struct db5_raw_internal *rip, FILE *fp)
 
int db5_header_is_valid (const unsigned char *hp)
 
int db5_fwrite_ident (FILE *, const char *, double)
 
int db5_put_color_table (struct db_i *dbip)
 
int db5_update_ident (struct db_i *dbip, const char *title, double local2mm)
 
int db_put_external5 (struct bu_external *ep, struct directory *dp, struct db_i *dbip)
 
int db5_update_attributes (struct directory *dp, struct bu_attribute_value_set *avsp, struct db_i *dbip)
 
int db5_update_attribute (const char *obj_name, const char *aname, const char *value, struct db_i *dbip)
 
int db5_replace_attributes (struct directory *dp, struct bu_attribute_value_set *avsp, struct db_i *dbip)
 
int db5_get_attributes (const struct db_i *dbip, struct bu_attribute_value_set *avs, const struct directory *dp)
 
size_t db_tree_nleaves (const union tree *tp)
 
struct rt_tree_arraydb_flatten_tree (struct rt_tree_array *rt_tree_array, union tree *tp, int op, int avail, struct resource *resp)
 
int rt_comb_import4 (struct rt_db_internal *ip, const struct bu_external *ep, const mat_t matrix, const struct db_i *dbip, struct resource *resp)
 
int rt_comb_export4 (struct bu_external *ep, const struct rt_db_internal *ip, double local2mm, const struct db_i *dbip, struct resource *resp)
 
void db_tree_flatten_describe (struct bu_vls *vls, const union tree *tp, int indented, int lvl, double mm2local, struct resource *resp)
 
void db_tree_describe (struct bu_vls *vls, const union tree *tp, int indented, int lvl, double mm2local)
 
void db_comb_describe (struct bu_vls *str, const struct rt_comb_internal *comb, int verbose, double mm2local, struct resource *resp)
 
int rt_comb_describe (struct bu_vls *str, const struct rt_db_internal *ip, int verbose, double mm2local, struct resource *resp, struct db_i *db_i)
 
void db_wrap_v4_external (struct bu_external *op, const char *name)
 
int db_ck_left_heavy_tree (const union tree *tp, int no_unions)
 
int db_ck_v4gift_tree (const union tree *tp)
 
union treedb_mkbool_tree (struct rt_tree_array *rt_tree_array, size_t howfar, struct resource *resp)
 
union treedb_mkgift_tree (struct rt_tree_array *trees, size_t subtreecount, struct resource *resp)
 
int rt_comb_get_color (unsigned char rgb[3], const struct rt_comb_internal *comb)
 
void rt_pt_sort (fastf_t t[], int npts)
 
void rt_ell_16pts (fastf_t *ov, fastf_t *V, fastf_t *A, fastf_t *B)
 
int db_comb_mvall (struct directory *dp, struct db_i *dbip, const char *old_name, const char *new_name, struct bu_ptbl *stack)
 
int rt_poly_roots (bn_poly_t *eqn, bn_complex_t roots[], const char *name)
 
int db_write (struct db_i *dbip, const void *addr, size_t count, off_t offset)
 
int db_fwrite_external (FILE *fp, const char *name, struct bu_external *ep)
 
union record * db_getmrec (const struct db_i *, const struct directory *dp)
 
int db_get (const struct db_i *, const struct directory *dp, union record *where, off_t offset, size_t len)
 
int db_put (struct db_i *, const struct directory *dp, union record *where, off_t offset, size_t len)
 
int db_get_external (struct bu_external *ep, const struct directory *dp, const struct db_i *dbip)
 
int db_put_external (struct bu_external *ep, struct directory *dp, struct db_i *dbip)
 
int db_scan (struct db_i *, int(*handler)(struct db_i *, const char *name, off_t addr, size_t nrec, int flags, void *client_data), int do_old_matter, void *client_data)
 
int db_update_ident (struct db_i *dbip, const char *title, double local2mm)
 
int db_fwrite_ident (FILE *fp, const char *title, double local2mm)
 
void db_conversions (struct db_i *, int units)
 
int db_v4_get_units_code (const char *str)
 
int db_dirbuild (struct db_i *dbip)
 
struct directorydb5_diradd (struct db_i *dbip, const struct db5_raw_internal *rip, off_t laddr, void *client_data)
 
int db5_scan (struct db_i *dbip, void(*handler)(struct db_i *, const struct db5_raw_internal *, off_t addr, void *client_data), void *client_data)
 
int db_version (struct db_i *dbip)
 
int rt_db_flip_endian (struct db_i *dbip)
 
int rt_comb_import5 (struct rt_db_internal *ip, const struct bu_external *ep, const mat_t mat, const struct db_i *dbip, struct resource *resp)
 
int rt_extrude_import5 (struct rt_db_internal *ip, const struct bu_external *ep, const mat_t mat, const struct db_i *dbip, struct resource *resp)
 
struct db_idb_open_inmem (void)
 
struct db_idb_create_inmem (void)
 
void db_inmem (struct directory *dp, struct bu_external *ext, int flags, struct db_i *dbip)
 
size_t db_directory_size (const struct db_i *dbip)
 
void db_ck_directory (const struct db_i *dbip)
 
int db_is_directory_non_empty (const struct db_i *dbip)
 
int db_dirhash (const char *str)
 
int db_dircheck (struct db_i *dbip, struct bu_vls *ret_name, int noisy, struct directory ***headp)
 
struct directorydb_lookup (const struct db_i *, const char *name, int noisy)
 
struct bu_ptbldb_lookup_by_attr (struct db_i *dbip, int dir_flags, struct bu_attribute_value_set *avs, int op)
 
struct directorydb_diradd (struct db_i *, const char *name, off_t laddr, size_t len, int flags, void *ptr)
 
struct directorydb_diradd5 (struct db_i *dbip, const char *name, off_t laddr, unsigned char major_type, unsigned char minor_type, unsigned char name_hidden, size_t object_length, struct bu_attribute_value_set *avs)
 
int db_dirdelete (struct db_i *, struct directory *dp)
 
void db_pr_dir (const struct db_i *dbip)
 
int db_rename (struct db_i *, struct directory *, const char *newname)
 
void db_update_nref (struct db_i *dbip, struct resource *resp)
 
DEPRECATED int db_regexp_match_all (struct bu_vls *dest, struct db_i *dbip, const char *pattern)
 
size_t db_ls (const struct db_i *dbip, int flags, const char *pattern, struct directory ***dpv)
 
struct directory ** db_argv_to_dpv (const struct db_i *dbip, const char **argv)
 
char ** db_dpv_to_argv (struct directory **dpv)
 
int db_flags_internal (const struct rt_db_internal *intern)
 
int db_flags_raw_internal (const struct db5_raw_internal *intern)
 
int db_alloc (struct db_i *, struct directory *dp, size_t count)
 
int db_delrec (struct db_i *, struct directory *dp, int recnum)
 
int db_delete (struct db_i *, struct directory *dp)
 
int db_zapper (struct db_i *, struct directory *dp, size_t start)
 
void db_alloc_directory_block (struct resource *resp)
 
void rt_alloc_seg_block (struct resource *res)
 
void db_dup_db_tree_state (struct db_tree_state *otsp, const struct db_tree_state *itsp)
 
void db_free_db_tree_state (struct db_tree_state *tsp)
 
void db_init_db_tree_state (struct db_tree_state *tsp, struct db_i *dbip, struct resource *resp)
 
struct combined_tree_statedb_new_combined_tree_state (const struct db_tree_state *tsp, const struct db_full_path *pathp)
 
struct combined_tree_statedb_dup_combined_tree_state (const struct combined_tree_state *old)
 
void db_free_combined_tree_state (struct combined_tree_state *ctsp)
 
void db_pr_tree_state (const struct db_tree_state *tsp)
 
void db_pr_combined_tree_state (const struct combined_tree_state *ctsp)
 
int db_apply_state_from_comb (struct db_tree_state *tsp, const struct db_full_path *pathp, const struct rt_comb_internal *comb)
 
int db_apply_state_from_memb (struct db_tree_state *tsp, struct db_full_path *pathp, const union tree *tp)
 
int db_apply_state_from_one_member (struct db_tree_state *tsp, struct db_full_path *pathp, const char *cp, int sofar, const union tree *tp)
 
union treedb_find_named_leaf (union tree *tp, const char *cp)
 
union treedb_find_named_leafs_parent (int *side, union tree *tp, const char *cp)
 
void db_tree_del_lhs (union tree *tp, struct resource *resp)
 
void db_tree_del_rhs (union tree *tp, struct resource *resp)
 
int db_tree_del_dbleaf (union tree **tp, const char *cp, struct resource *resp, int nflag)
 
void db_tree_mul_dbleaf (union tree *tp, const mat_t mat)
 
void db_tree_funcleaf (struct db_i *dbip, struct rt_comb_internal *comb, union tree *comb_tree, void(*leaf_func)(struct db_i *, struct rt_comb_internal *, union tree *, void *, void *, void *, void *), void *user_ptr1, void *user_ptr2, void *user_ptr3, void *user_ptr4)
 
int db_follow_path (struct db_tree_state *tsp, struct db_full_path *total_path, const struct db_full_path *new_path, int noisy, long pdepth)
 
int db_follow_path_for_state (struct db_tree_state *tsp, struct db_full_path *pathp, const char *orig_str, int noisy)
 
union treedb_recurse (struct db_tree_state *tsp, struct db_full_path *pathp, struct combined_tree_state **region_start_statepp, void *client_data)
 
union treedb_dup_subtree (const union tree *tp, struct resource *resp)
 
void db_ck_tree (const union tree *tp)
 
void db_free_tree (union tree *tp, struct resource *resp)
 
void db_left_hvy_node (union tree *tp)
 
void db_non_union_push (union tree *tp, struct resource *resp)
 
int db_count_tree_nodes (const union tree *tp, int count)
 
int db_is_tree_all_unions (const union tree *tp)
 
int db_count_subtree_regions (const union tree *tp)
 
int db_tally_subtree_regions (union tree *tp, union tree **reg_trees, int cur, int lim, struct resource *resp)
 
int db_walk_tree (struct db_i *dbip, int argc, const char **argv, int ncpu, const struct db_tree_state *init_state, int(*reg_start_func)(struct db_tree_state *, const struct db_full_path *, const struct rt_comb_internal *, void *client_data), union tree *(*reg_end_func)(struct db_tree_state *, const struct db_full_path *, union tree *, void *client_data), union tree *(*leaf_func)(struct db_tree_state *, const struct db_full_path *, struct rt_db_internal *, void *client_data), void *client_data)
 
void db_apply_anims (struct db_full_path *pathp, struct directory *dp, mat_t stck, mat_t arc, struct mater_info *materp)
 
int db_region_mat (mat_t m, struct db_i *dbip, const char *name, struct resource *resp)
 
int rt_shader_mat (mat_t model_to_shader, const struct rt_i *rtip, const struct region *rp, point_t p_min, point_t p_max, struct resource *resp)
 
int db_tree_list (struct bu_vls *vls, const union tree *tp)
 
union treedb_tree_parse (struct bu_vls *vls, const char *str, struct resource *resp)
 
struct rt_irt_dirbuild (const char *filename, char *buf, int len)
 
int rt_db_get_internal (struct rt_db_internal *ip, const struct directory *dp, const struct db_i *dbip, const mat_t mat, struct resource *resp)
 
int rt_db_put_internal (struct directory *dp, struct db_i *dbip, struct rt_db_internal *ip, struct resource *resp)
 
int rt_fwrite_internal (FILE *fp, const char *name, const struct rt_db_internal *ip, double conv2mm)
 
void rt_db_free_internal (struct rt_db_internal *ip)
 
int rt_db_lookup_internal (struct db_i *dbip, const char *obj_name, struct directory **dpp, struct rt_db_internal *ip, int noisy, struct resource *resp)
 
void rt_optim_tree (union tree *tp, struct resource *resp)
 
void db_functree (struct db_i *dbip, struct directory *dp, void(*comb_func)(struct db_i *, struct directory *, void *), void(*leaf_func)(struct db_i *, struct directory *, void *), struct resource *resp, void *client_data)
 
struct rt_db_internalrt_mirror (struct db_i *dpip, struct rt_db_internal *ip, point_t mirror_pt, vect_t mirror_dir, struct resource *resp)
 
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 *cent, const struct rt_db_internal *ip)
 
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_check_points (struct rt_arb_internal *arb, int cgtype, 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 (struct bu_vls *error_msg_ret, struct rt_arb_internal *arb, int type, plane_t planes[6], const struct bn_tol *tol)
 
int rt_arb_move_edge (struct bu_vls *error_msg_ret, 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 (struct bu_vls *error_msg_ret, struct rt_arb_internal *arb, int arb_type, int edit_type, vect_t pos_model, plane_t planes[6], const struct bn_tol *tol)
 
int rt_arb_find_e_nearest_pt2 (int *edge, int *vert1, int *vert2, const struct rt_db_internal *ip, const point_t pt2, const mat_t mat, fastf_t ptol)
 
void rt_ell (fastf_t *ov, const fastf_t *V, const fastf_t *A, const fastf_t *B, int sides)
 
void rt_vls_pipept (struct bu_vls *vp, int seg_no, const struct rt_db_internal *ip, double mm2local)
 
void rt_pipept_print (const struct wdb_pipept *pipept, double mm2local)
 
int rt_pipe_ck (const struct bu_list *headp)
 
void rt_vls_metaballpt (struct bu_vls *vp, const int pt_no, const struct rt_db_internal *ip, const double mm2local)
 
void rt_metaballpt_print (const struct wdb_metaballpt *metaball, double mm2local)
 
int rt_metaball_ck (const struct bu_list *headp)
 
fastf_t rt_metaball_point_value (const point_t *p, const struct rt_metaball_internal *mb)
 
int rt_metaball_point_inside (const point_t *p, const struct rt_metaball_internal *mb)
 
int rt_metaball_lookup_type_id (const char *name)
 
const char * rt_metaball_lookup_type_name (const int id)
 
int rt_metaball_add_point (struct rt_metaball_internal *, const point_t *loc, const fastf_t fldstr, const fastf_t goo)
 
int rt_mk_parabola (struct rt_pt_node *pts, fastf_t r, fastf_t b, fastf_t dtol, fastf_t ntol)
 
size_t rt_memalloc (struct mem_map **pp, size_t size)
 
struct mem_maprt_memalloc_nosplit (struct mem_map **pp, size_t size)
 
size_t rt_memget (struct mem_map **pp, size_t size, off_t place)
 
void rt_memfree (struct mem_map **pp, size_t size, off_t addr)
 
void rt_mempurge (struct mem_map **pp)
 
void rt_memprint (struct mem_map **pp)
 
void rt_memclose (void)
 
struct bn_vlblockrt_vlblock_init (void)
 
void rt_vlblock_free (struct bn_vlblock *vbp)
 
struct bu_listrt_vlblock_find (struct bn_vlblock *vbp, int r, int g, int b)
 
void rt_hitsort (struct hit h[], int nh)
 
int rt_pg_to_bot (struct rt_db_internal *ip, const struct bn_tol *tol, struct resource *resp0)
 
int rt_pg_plot (struct bu_list *vhead, struct rt_db_internal *ip, const struct rt_tess_tol *ttol, const struct bn_tol *tol, const struct rt_view_info *info)
 
int rt_pg_plot_poly (struct bu_list *vhead, 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)
 
int dsp_pos (point_t out, struct soltab *stp, point_t p)
 
void rt_pr_pt_vls (struct bu_vls *v, const struct rt_i *rtip, const struct partition *pp)
 
void rt_pr_seg_vls (struct bu_vls *, const struct seg *)
 
void rt_pr_hit_vls (struct bu_vls *v, const char *str, const struct hit *hitp)
 
void rt_pr_hitarray_vls (struct bu_vls *v, const char *str, const struct hit *hitp, int count)
 
void rt_pr_tree_vls (struct bu_vls *vls, const union tree *tp)
 
char * rt_pr_tree_str (const union tree *tree)
 
void rt_pr_fallback_angle (struct bu_vls *str, const char *prefix, const double angles[5])
 
void rt_find_fallback_angle (double angles[5], const vect_t vec)
 
void rt_pr_tol (const struct bn_tol *tol)
 
void rt_regionfix (struct rt_i *rtip)
 
int rt_id_solid (struct bu_external *ep)
 
const struct rt_functabrt_get_functab_by_label (const char *label)
 
int rt_generic_xform (struct rt_db_internal *op, const mat_t mat, struct rt_db_internal *ip, int avail, struct db_i *dbip, struct resource *resp)
 
void rt_plot_all_bboxes (FILE *fp, struct rt_i *rtip)
 
void rt_plot_all_solids (FILE *fp, struct rt_i *rtip, struct resource *resp)
 
int rt_find_paths (struct db_i *dbip, struct directory *start, struct directory *end, struct bu_ptbl *paths, struct resource *resp)
 
void rt_init_resource (struct resource *resp, int cpu_num, struct rt_i *rtip)
 
void rt_clean_resource (struct rt_i *rtip, struct resource *resp)
 
void rt_clean_resource_complete (struct rt_i *rtip, struct resource *resp)
 
int rt_unprep (struct rt_i *rtip, struct rt_reprep_obj_list *objs, struct resource *resp)
 
int rt_reprep (struct rt_i *rtip, struct rt_reprep_obj_list *objs, struct resource *resp)
 
int re_prep_solids (struct rt_i *rtip, int num_solids, char **solid_names, struct resource *resp)
 
struct bu_bitvrt_get_solidbitv (size_t nbits, struct resource *resp)
 
void rt_add_res_stats (struct rt_i *rtip, struct resource *resp)
 
void rt_zero_res_stats (struct resource *resp)
 
void rt_res_pieces_clean (struct resource *resp, struct rt_i *rtip)
 
void rt_res_pieces_init (struct resource *resp, struct rt_i *rtip)
 
void rt_vstub (struct soltab *stp[], struct xray *rp[], struct seg segp[], int n, struct application *ap)
 
int rt_bound_tree (const union tree *tp, vect_t tree_min, vect_t tree_max)
 
int rt_tree_elim_nops (union tree *, struct resource *resp)
 
struct bn_vlblockbn_vlblock_init (struct bu_list *free_vlist_hd, int max_ent)
 
const char * rt_vlist_get_cmd_description (int cmd)
 
int rt_ck_vlist (const struct bu_list *vhead)
 
void rt_vlist_copy (struct bu_list *dest, const struct bu_list *src)
 
void bn_vlist_cleanup (struct bu_list *hd)
 
void rt_vlist_cleanup (void)
 
void rt_vlist_export (struct bu_vls *vls, struct bu_list *hp, const char *name)
 
void rt_vlist_import (struct bu_list *hp, struct bu_vls *namevls, const unsigned char *buf)
 
void rt_plot_vlblock (FILE *fp, const struct bn_vlblock *vbp)
 
void rt_vlist_to_uplot (FILE *fp, const struct bu_list *vhead)
 
int rt_process_uplot_value (struct bu_list **vhead, struct bn_vlblock *vbp, FILE *fp, int c, double char_size, int mode)
 
int rt_uplot_to_vlist (struct bn_vlblock *vbp, FILE *fp, double char_size, int mode)
 
void rt_label_vlist_verts (struct bn_vlblock *vbp, struct bu_list *src, mat_t mat, double sz, double mm2local)
 
int curve_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, struct rt_curve *crv)
 
int rt_check_curve (const struct rt_curve *crv, const struct rt_sketch_internal *skt, int noisy)
 
void rt_curve_reverse_segment (uint32_t *lng)
 
void rt_curve_order_segments (struct rt_curve *crv)
 
void rt_copy_curve (struct rt_curve *crv_out, const struct rt_curve *crv_in)
 
void rt_curve_free (struct rt_curve *crv)
 
struct rt_sketch_internal * rt_copy_sketch (const struct rt_sketch_internal *sketch_ip)
 
int curve_to_tcl_list (struct bu_vls *vls, struct rt_curve *crv)
 
void rt_htbl_init (struct rt_htbl *b, size_t len, const char *str)
 
void rt_htbl_reset (struct rt_htbl *b)
 
void rt_htbl_free (struct rt_htbl *b)
 
struct hitrt_htbl_get (struct rt_htbl *b)
 
int rt_mk_binunif (struct rt_wdb *wdbp, const char *obj_name, const char *file_name, unsigned int minor_type, size_t max_count)
 
void rt_binunif_free (struct rt_binunif_internal *bip)
 
void rt_binunif_dump (struct rt_binunif_internal *bip)
 
int rt_bot_sort_faces (struct rt_bot_internal *bot, size_t 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)
 
const char * rt_version (void)
 

Variables

struct resource rt_uniresource
 default. Defined in librt/globals.c More...
 
struct rt_g RTG
 
const struct rt_functab OBJ []
 
fastf_t rt_cline_radius
 
size_t rt_bot_minpieces
 
size_t rt_bot_tri_per_piece
 
const struct db_tree_state rt_initial_tree_state
 

Detailed Description

All the data structures and manifest constants necessary for interacting with the BRL-CAD LIBRT ray-tracing library.

Note that this header file defines many internal data structures, as well as the library's external (interface) data structures. These are provided for the convenience of applications builders. However, the internal data structures are subject to change in each release.

Definition in file raytrace.h.

Macro Definition Documentation

#define REGION_NON_FASTGEN   0
#define REGION_FASTGEN_VOLUME   2
#define RT_SORT_UNSORTED   0

Definition at line 1993 of file raytrace.h.

#define RT_SORT_CLOSEST_TO_START   1

Definition at line 1994 of file raytrace.h.

Referenced by joint_selection().

#define RT_SELECTION_NOP   0

Definition at line 2017 of file raytrace.h.

Referenced by rt_brep_process_selection(), and rt_joint_process_selection().

#define RT_SELECTION_TRANSLATION   1
#define RTFUNCTAB_FUNC_PREP_CAST (   _func)    ((int (*)(struct soltab *, struct rt_db_internal *, struct rt_i *))_func)

Definition at line 2050 of file raytrace.h.

#define RTFUNCTAB_FUNC_SHOT_CAST (   _func)    ((int (*)(struct soltab *, struct xray *, struct application *, struct seg *))_func)

Definition at line 2056 of file raytrace.h.

#define RTFUNCTAB_FUNC_PRINT_CAST (   _func)    ((void (*)(const struct soltab *))_func)

Definition at line 2059 of file raytrace.h.

#define RTFUNCTAB_FUNC_NORM_CAST (   _func)    ((void (*)(struct hit *, struct soltab *, struct xray *))_func)

Definition at line 2064 of file raytrace.h.

#define RTFUNCTAB_FUNC_PIECE_SHOT_CAST (   _func)    ((int (*)(struct rt_piecestate *, struct rt_piecelist *, double dist, struct xray *, struct application *, struct seg *))_func)

Definition at line 2072 of file raytrace.h.

#define RTFUNCTAB_FUNC_PIECE_HITSEGS_CAST (   _func)    ((void (*)(struct rt_piecestate *, struct seg *, struct application *))_func)

Definition at line 2077 of file raytrace.h.

#define RTFUNCTAB_FUNC_UV_CAST (   _func)    ((void (*)(struct application *, struct soltab *, struct hit *, struct uvcoord *))_func)

Definition at line 2083 of file raytrace.h.

#define RTFUNCTAB_FUNC_CURVE_CAST (   _func)    ((void (*)(struct curvature *, struct hit *, struct soltab *))_func)

Definition at line 2088 of file raytrace.h.

#define RTFUNCTAB_FUNC_CLASS_CAST (   _func)    ((int (*)(const struct soltab *, const vect_t, const vect_t, const struct bn_tol *))_func)

Definition at line 2091 of file raytrace.h.

#define RTFUNCTAB_FUNC_FREE_CAST (   _func)    ((void (*)(struct soltab *))_func)

Definition at line 2094 of file raytrace.h.

#define RTFUNCTAB_FUNC_PLOT_CAST (   _func)    ((int (*)(struct bu_list *, struct rt_db_internal *, const struct rt_tess_tol *, const struct bn_tol *, const struct rt_view_info *))_func)

Definition at line 2101 of file raytrace.h.

#define RTFUNCTAB_FUNC_ADAPTIVE_PLOT_CAST (   _func)    ((int (*)(struct rt_db_internal *, const struct rt_view_info *))_func)

Definition at line 2105 of file raytrace.h.

#define RTFUNCTAB_FUNC_VSHOT_CAST (   _func)    ((void (*)(struct soltab *[], struct xray *[], struct seg *, int, struct application *))_func)

Definition at line 2112 of file raytrace.h.

#define RTFUNCTAB_FUNC_TESS_CAST (   _func)    ((int (*)(struct nmgregion **, struct model *, struct rt_db_internal *, const struct rt_tess_tol *, const struct bn_tol *))_func)

Definition at line 2119 of file raytrace.h.

#define RTFUNCTAB_FUNC_TNURB_CAST (   _func)    ((int (*)(struct nmgregion **, struct model *, struct rt_db_internal *, const struct bn_tol *))_func)

Definition at line 2124 of file raytrace.h.

#define RTFUNCTAB_FUNC_BREP_CAST (   _func)    ((void (*)(ON_Brep **, struct rt_db_internal *, const struct bn_tol *))_func)

Definition at line 2129 of file raytrace.h.

#define RTFUNCTAB_FUNC_IMPORT5_CAST (   _func)    ((int (*)(struct rt_db_internal *, const struct bu_external *, const mat_t, const struct db_i *, struct resource *))_func)

Definition at line 2136 of file raytrace.h.

#define RTFUNCTAB_FUNC_EXPORT5_CAST (   _func)    ((int (*)(struct bu_external *, const struct rt_db_internal *, double, const struct db_i *, struct resource *))_func)

Definition at line 2143 of file raytrace.h.

#define RTFUNCTAB_FUNC_IMPORT4_CAST (   _func)    ((int (*)(struct rt_db_internal *, const struct bu_external *, const mat_t, const struct db_i *, struct resource *))_func)

Definition at line 2150 of file raytrace.h.

#define RTFUNCTAB_FUNC_EXPORT4_CAST (   _func)    ((int (*)(struct bu_external *, const struct rt_db_internal *, double, const struct db_i *, struct resource *))_func)

Definition at line 2157 of file raytrace.h.

#define RTFUNCTAB_FUNC_IFREE_CAST (   _func)    ((void (*)(struct rt_db_internal *))_func)

Definition at line 2160 of file raytrace.h.

#define RTFUNCTAB_FUNC_DESCRIBE_CAST (   _func)    ((int (*)(struct bu_vls *, const struct rt_db_internal *, int, double, struct resource *, struct db_i *))_func)

Definition at line 2168 of file raytrace.h.

#define RTFUNCTAB_FUNC_XFORM_CAST (   _func)    ((int (*)(struct rt_db_internal *, const mat_t, struct rt_db_internal *, int, struct db_i *, struct resource *))_func)

Definition at line 2174 of file raytrace.h.

#define RTFUNCTAB_FUNC_GET_CAST (   _func)    ((int (*)(struct bu_vls *, const struct rt_db_internal *, const char *))_func)

Definition at line 2181 of file raytrace.h.

#define RTFUNCTAB_FUNC_ADJUST_CAST (   _func)    ((int (*)(struct bu_vls *, struct rt_db_internal *, int, const char **))_func)

Definition at line 2184 of file raytrace.h.

#define RTFUNCTAB_FUNC_FORM_CAST (   _func)    ((int (*)(struct bu_vls *, const struct rt_functab *))_func)

Definition at line 2187 of file raytrace.h.

#define RTFUNCTAB_FUNC_MAKE_CAST (   _func)    ((void (*)(const struct rt_functab *, struct rt_db_internal *))_func)

Definition at line 2190 of file raytrace.h.

#define RTFUNCTAB_FUNC_PARAMS_CAST (   _func)    ((int (*)(struct pc_pc_set *, const struct rt_db_internal *))_func)

Definition at line 2193 of file raytrace.h.

#define RTFUNCTAB_FUNC_BBOX_CAST (   _func)    ((int (*)(struct rt_db_internal *, point_t *, point_t *, const struct bn_tol *))_func)

Definition at line 2200 of file raytrace.h.

#define RTFUNCTAB_FUNC_VOLUME_CAST (   _func)    ((void (*)(fastf_t *, const struct rt_db_internal *))_func)

Definition at line 2203 of file raytrace.h.

#define RTFUNCTAB_FUNC_SURF_AREA_CAST (   _func)    ((void (*)(fastf_t *, const struct rt_db_internal *))_func)

Definition at line 2206 of file raytrace.h.

#define RTFUNCTAB_FUNC_CENTROID_CAST (   _func)    ((void (*)(point_t *, const struct rt_db_internal *))_func)

Definition at line 2209 of file raytrace.h.

#define RTFUNCTAB_FUNC_ORIENTED_BBOX_CAST (   _func)    ((int (*)(struct rt_arb_internal *, struct rt_db_internal *, const fastf_t))_func)

Definition at line 2214 of file raytrace.h.

#define RTFUNCTAB_FUNC_FIND_SELECTIONS_CAST (   _func)    ((struct rt_selection_set *(*)(const struct rt_db_internal *, const struct rt_selection_query *))_func)

Definition at line 2219 of file raytrace.h.

#define RTFUNCTAB_FUNC_EVALUATE_SELECTION_CAST (   _func)    ((struct rt_selection *(*)(const struct rt_db_internal *, int op, const struct rt_selection *, const struct rt_selection *))_func)

Definition at line 2228 of file raytrace.h.

#define RTFUNCTAB_FUNC_PROCESS_SELECTION_CAST (   _func)    ((int (*)(struct rt_db_internal *, struct db_i *, const struct rt_selection *, const struct rt_selection_operation *))_func)

Definition at line 2235 of file raytrace.h.