BRL-CAD
librt (geometry, raytracing)
Collaboration diagram for librt (geometry, raytracing):

Modules

 Database IO
 
 Primitives
 
 Ray Tracing
 
 Timer
 
 Fortran
 

Files

file  search.h
 
file  raytrace.h
 
file  timerhep.c
 
file  wdb.c
 
file  roots.c
 
file  roots.c
 
file  regionfix.c
 
file  regionfix.c
 
file  shoot.c
 
file  tree.c
 
file  tree.c
 
file  vlist.c
 
file  vlist.c
 
file  vers.c
 
file  bbox.c
 
file  bundle.c
 
file  columnparse.c
 
file  constraint.c
 
file  db_flip.c
 
file  dspline.c
 
file  globals.c
 
file  htbl.c
 
file  many.c
 
file  mater.c
 
file  memalloc.c
 
file  mkbundle.c
 
file  namegen.c
 
file  oslo_calc.c
 
file  pr.c
 
file  fixpt.h
 
file  spectrum.c
 
file  importFg4Section.c
 
file  track.c
 
file  importFg4Section.c
 

Data Structures

struct  db_full_path_list
 
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
 
struct  col_properties
 
struct  formatting_style
 
struct  increment_data
 
struct  object_name_data
 
struct  object_name_item
 

Macros

#define DB_SEARCH_TREE   0x0
 Do a hierarchy-aware search. This is the default. More...
 
#define DB_SEARCH_FLAT   0x1
 Do a flat search without hierarchy. More...
 
#define DB_SEARCH_HIDDEN   0x2
 Search using hidden objects. More...
 
#define DB_SEARCH_RETURN_UNIQ_DP   0x4
 Return the set of unique directory pointers instead of full paths. More...
 
#define DB_SEARCH_QUIET   0x8
 Silence all warnings. More...
 
#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_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_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 */
 
#define ASSEM_EXT   ' '
 
#define REGION_EXT   'r'
 
#define COMB_EXT   'c'
 
#define PRIM_EXT   's'
 
#define AMAX(i, j)   ((i) > (j) ? (i) : (j))
 
#define AMIN(i, j)   ((i) < (j) ? (i) : (j))
 
#define PLATE_MODE   1
 
#define VOLUME_MODE   2
 
#define POS_CENTER   1 /* face positions for facets */
 
#define POS_FRONT   2
 
#define END_OPEN   1 /* End closure codes for cones */
 
#define END_CLOSED   2
 
#define GRID_BLOCK   256 /* allocate space for grid points in blocks of 256 points */
 
#define CLINE   'l'
 
#define CHEX1   'p'
 
#define CHEX2   'b'
 
#define CTRI   't'
 
#define CQUAD   'q'
 
#define CCONE1   'c'
 
#define CCONE2   'd'
 
#define CCONE3   'e'
 
#define CSPHERE   's'
 
#define NMG   'n'
 
#define BOT   't'
 
#define COMPSPLT   'h'
 
#define FIND_NEWLINE(_cp, _eosFlag)
 

Functions

int db_search (struct bu_ptbl *results, int flags, const char *filter, int path_c, struct directory **path_v, struct db_i *dbip)
 Search for objects in a geometry database using filters. More...
 
void db_search_free (struct bu_ptbl *search_results)
 
DEPRECATED int db_full_path_list_add (const char *path, int local, struct db_i *dbip, struct db_full_path_list *path_list)
 
DEPRECATED void db_free_full_path_list (struct db_full_path_list *path_list)
 
DEPRECATED void * db_search_formplan (char **argv, struct db_i *dbip)
 
DEPRECATED void db_search_freeplan (void **plan)
 
DEPRECATED struct db_full_path_listdb_search_full_paths (void *searchplan, struct db_full_path_list *path_list, struct db_i *dbip)
 
DEPRECATED struct bu_ptbldb_search_unique_objects (void *searchplan, struct db_full_path_list *path_list, struct db_i *dbip)
 
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_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 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)
 
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)
 
int main ()
 
void rt_constraint_ifree (struct rt_db_internal *ip)
 
int rt_constraint_export5 (struct bu_external *ep, const struct rt_db_internal *ip, double local2mm, const struct db_i *dbip, struct resource *resp)
 
int rt_constraint_import5 (struct rt_db_internal *ip, const struct bu_external *ep, const mat_t mat, const struct db_i *dbip, struct resource *resp)
 
struct oslo_mat * rt_nurb_calc_oslo (register int order, register const struct knot_vector *tau_kv, register struct knot_vector *t_kv, struct resource *res)
 
void rt_nurb_pr_oslo (struct oslo_mat *om)
 
void rt_nurb_free_oslo (struct oslo_mat *om, struct resource *res)
 
int wdb_importFg4Section_cmd (void *data, int argc, const char *argv[])
 
int ged_importFg4Section (struct ged *gedp, int argc, const char *argv[])
 
void do_grid (char *line)
 
void Add_bot_face (int pt1, int pt2, int pt3, fastf_t thick, int pos)
 
void do_tri (char *line)
 
void do_quad (const char *line)
 
void make_bot_object (const char *name, struct rt_wdb *wdbp)
 

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

Macro Definition Documentation

#define DB_SEARCH_TREE   0x0

Do a hierarchy-aware search. This is the default.

Definition at line 110 of file search.h.

Referenced by comb_flatten(), comb_lift_region(), find_reference(), full_assembly_node(), full_comb_node(), full_region_node(), and ged_lc().

#define DB_SEARCH_FLAT   0x1

Do a flat search without hierarchy.

Definition at line 111 of file search.h.

Referenced by db_search(), f_below(), f_print(), and ged_search().

#define DB_SEARCH_HIDDEN   0x2

Search using hidden objects.

Definition at line 112 of file search.h.

Referenced by db_fullpath_list_subtree(), db_search(), and ged_search().

#define DB_SEARCH_RETURN_UNIQ_DP   0x4

Return the set of unique directory pointers instead of full paths.

Definition at line 113 of file search.h.

Referenced by _ged_search_localized_obj_list(), comb_flatten(), comb_lift_region(), create_solid_nodes(), f_print(), full_assembly_node(), full_comb_node(), and ged_search().

#define DB_SEARCH_QUIET   0x8

Silence all warnings.

Definition at line 114 of file search.h.

Referenced by characterize_dp(), db_search(), and ged_search().

#define DEBUG_OFF   0

No debugging.

Each type of debugging support is independently controlled, by a separate bit in the word RT_G_DEBUG

For programs based on the "RT" program, these flags follow the "-x" (lower case x) option.

Definition at line 77 of file raytrace.h.

#define DEBUG_ALLRAYS   0x00000001

1 Print calls to rt_shootray()

Definition at line 82 of file raytrace.h.

Referenced by rt_cell_n_on_ray(), rt_shootray(), rt_shootray_bundle(), and rt_vshootray().

#define DEBUG_ALLHITS   0x00000002

2 Print partitions passed to a_hit()

Definition at line 83 of file raytrace.h.

Referenced by rt_cell_n_on_ray(), rt_shootray(), and rt_shootray_bundle().

#define DEBUG_SHOOT   0x00000004

3 Info about rt_shootray() processing

Definition at line 84 of file raytrace.h.

Referenced by rt_cell_n_on_ray(), rt_shootray(), rt_shootray_bundle(), rt_vshootray(), and XGLUE().

#define DEBUG_INSTANCE   0x00000008

4 regionid instance revectoring

Definition at line 85 of file raytrace.h.

Referenced by rt_regionfix().

#define DEBUG_SOLIDS   0x00000020
#define DEBUG_REGIONS   0x00000040

7 Print regions & boolean trees

Definition at line 90 of file raytrace.h.

Referenced by _rt_gettree_region_end(), db_recurse(), rt_del_regtree(), and rt_prep_parallel().

#define DEBUG_ARB8   0x00000080

8 Print voluminous ARB8 details

Definition at line 91 of file raytrace.h.

Referenced by rt_arb_mk_planes(), rt_arb_shot(), rt_arb_tess(), rt_arb_tnurb(), rt_ars_shot(), rt_pgface(), and rt_rec_shot().

#define DEBUG_SPLINE   0x00000100

9 Splines

Definition at line 92 of file raytrace.h.

Referenced by rt_nurb_intersect(), and rt_nurb_shot().

#define DEBUG_ANIM   0x00000200

10 Animation

Definition at line 93 of file raytrace.h.

Referenced by db_add_anim(), db_apply_anims(), db_do_anim(), and db_write_anim().

#define DEBUG_ANIM_FULL   0x00000400

11 Animation matrices

Definition at line 94 of file raytrace.h.

Referenced by db_do_anim().

#define DEBUG_VOL   0x00000800

12 Volume & opaque Binary solid

Definition at line 95 of file raytrace.h.

Referenced by rt_retrieve_binunif(), and rt_vol_shot().

#define DEBUG_ROOTS   0x00001000

13 Print rootfinder details

Definition at line 98 of file raytrace.h.

#define DEBUG_PARTITION   0x00002000
#define DEBUG_CUT   0x00004000

15 Print space cutting statistics

Definition at line 100 of file raytrace.h.

Referenced by rt_cut_it(), rt_cut_optimize_parallel(), and rt_nugrid_cut().

#define DEBUG_BOXING   0x00008000

16 Object/box checking details

Definition at line 101 of file raytrace.h.

Referenced by rt_ck_overlap().

#define DEBUG_MEM   0x00010000

17 –>> BU_DEBUG_MEM_LOG

Definition at line 102 of file raytrace.h.

#define DEBUG_MEM_FULL   0x00020000

18 –>> BU_DEBUG_MEM_CHECK

Definition at line 103 of file raytrace.h.

Referenced by do_grid().

#define DEBUG_FDIFF   0x00040000

19 bool/fdiff debugging

Definition at line 104 of file raytrace.h.

Referenced by rt_fdiff().

#define DEBUG_PARALLEL   0x00080000

20 –>> BU_DEBUG_PARALLEL

Definition at line 105 of file raytrace.h.

#define DEBUG_CUTDETAIL   0x00100000

21 Print space cutting details

Definition at line 106 of file raytrace.h.

Referenced by rt_ct_box(), rt_ct_old_assess(), rt_ct_optim(), rt_cut_extend(), and rt_cut_it().

#define DEBUG_TESTING   0x00400000

23 One-shot debugging flag

Definition at line 108 of file raytrace.h.

#define DEBUG_ADVANCE   0x00800000

24 Cell-to-cell space partitioning

Definition at line 109 of file raytrace.h.

Referenced by rt_advance_to_next_cell(), rt_shootray(), and rt_shootray_bundle().

#define DEBUG_MATH   0x01000000

25 nmg math routines

Definition at line 110 of file raytrace.h.

Referenced by nmg_loop_is_ccw().

#define DEBUG_EBM   0x02000000

26 Extruded bit-map solids

Definition at line 113 of file raytrace.h.

Referenced by rt_ebm_dda(), and rt_seg_planeclip().

#define DEBUG_UNUSED1   0x08000000

28 unused

Definition at line 116 of file raytrace.h.

#define DEBUG_UNUSED2   0x10000000

29 unused

Definition at line 117 of file raytrace.h.

#define DEBUG_UNUSED3   0x20000000

30 unused

Definition at line 118 of file raytrace.h.

#define DEBUG_PL_SOLIDS   0x40000000

31 plot all solids

Definition at line 121 of file raytrace.h.

Referenced by rt_prep_parallel().

#define DEBUG_PL_BOX   0x80000000

32 Plot(3) bounding boxes and cuts

Definition at line 122 of file raytrace.h.

Referenced by rt_cut_it(), and rt_prep_parallel().

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

Format string for bu_printb()

Definition at line 125 of file raytrace.h.

Referenced by gcv_fastgen4_read(), and ged_debuglib().

#define RT_BADNUM (   n)    (!((n) >= -INFINITY && (n) <= INFINITY))

FIXME: These should probably be vmath macros

Definition at line 137 of file raytrace.h.

#define RT_BADVEC (   v)    (RT_BADNUM((v)[X]) || RT_BADNUM((v)[Y]) || RT_BADNUM((v)[Z]))

Definition at line 138 of file raytrace.h.

#define RT_PCOEF_TOL   (1.0e-10)
#define RT_TESS_TOL_INIT_ZERO   {RT_TESS_TOL_MAGIC, 0.0, 0.0, 0.0}

Definition at line 185 of file raytrace.h.

#define idb_type   idb_minor_type
#define RT_DB_INTERNAL_INIT (   _p)
Value:
{ \
(_p)->idb_magic = RT_DB_INTERNAL_MAGIC; \
(_p)->idb_major_type = -1; \
(_p)->idb_minor_type = -1; \
(_p)->idb_meth = (const struct rt_functab *) ((void *)0); \
(_p)->idb_ptr = ((void *)0); \
bu_avs_init_empty(&(_p)->idb_avs); \
}
void bu_avs_init_empty(struct bu_attribute_value_set *avp)
Definition: avs.c:36
#define RT_DB_INTERNAL_MAGIC
Definition: magic.h:158

Definition at line 199 of file raytrace.h.

Referenced by _ged_combadd2(), add_solid(), bbd_setup(), brep_conversion(), db_recurse(), db_update_nref(), evaluate(), f_objparam(), fix_halfs(), ged_3ptarb(), ged_arb(), ged_bb(), ged_bev(), ged_bot_decimate(), ged_bot_fuse(), ged_bot_merge(), ged_bot_split(), ged_cc(), ged_comb_std(), ged_copyeval(), ged_decompose(), ged_export_polygon(), ged_facetize(), ged_in(), ged_inside(), ged_make(), ged_make_pnts(), ged_nmg_simplify(), ged_put(), ged_red(), ged_rfarb(), ged_shells(), get_diff_components(), img_load_datasource(), main(), mk_comb(), mk_constraint(), nmg_stash_model_to_file(), nurbs_test(), obj_vlist(), rt_arb_brep(), rt_arbn_brep(), rt_ars_brep(), rt_bot_brep(), rt_bot_xform(), rt_brep_boolean(), rt_cline_brep(), rt_comb_import4(), rt_db_free_internal(), rt_db_get_internal(), rt_db_get_internal5(), rt_ebm_brep(), rt_extrude_brep(), rt_extrude_centroid(), rt_extrude_ifree(), rt_extrude_volume(), rt_extrude_xform(), rt_generic_xform(), rt_hlf_xform(), rt_mk_binunif(), rt_nurb_plot(), rt_nurb_prep(), rt_pg_brep(), rt_retrieve_binunif(), rt_revolve_brep(), rt_revolve_xform(), rt_superell_brep(), rt_vol_brep(), txt_load_datasource(), and wdb_export().

#define RT_CK_DB_INTERNAL (   _p)    BU_CKMAG(_p, RT_DB_INTERNAL_MAGIC, "rt_db_internal")

Definition at line 207 of file raytrace.h.

Referenced by _db_gettree_leaf(), _ged_get_solid_keypoint(), _rt_gettree_leaf(), append_solid_to_display_list(), brep_intersect_curve_curve(), brep_intersect_curve_surface(), brep_intersect_point_curve(), brep_intersect_point_point(), brep_intersect_point_surface(), brep_intersect_surface_surface(), comb_tree_clear(), conv_tree(), db_flags_internal(), dm_label_primitive(), dsp_get_data(), edit_translate(), ged_adjust(), ged_bo(), ged_brep(), ged_joint2(), ged_ocenter(), ged_orotate(), ged_oscale(), ged_otranslate(), ged_protate(), ged_pscale(), ged_pset(), ged_ptranslate(), ged_push(), get_surface(), img_load_datasource(), main(), mesh_leaf(), nmg_booltree_leaf_tess(), nmg_booltree_leaf_tnurb(), pipe_elements_calculate(), rt_arb_describe(), rt_arb_export4(), rt_arb_export5(), rt_arb_ifree(), rt_arb_import4(), rt_arb_import5(), rt_arb_mirror(), rt_arb_params(), rt_arb_plot(), rt_arb_std_type(), rt_arb_tess(), rt_arb_tnurb(), rt_arb_uv(), rt_arbn_adjust(), rt_arbn_bbox(), rt_arbn_export4(), rt_arbn_export5(), rt_arbn_ifree(), rt_arbn_import4(), rt_arbn_import5(), rt_arbn_mirror(), rt_arbn_params(), rt_arbn_plot(), rt_arbn_prep(), rt_arbn_tess(), rt_ars_adjust(), rt_ars_bbox(), rt_ars_export4(), rt_ars_export5(), rt_ars_ifree(), rt_ars_import4(), rt_ars_import5(), rt_ars_mirror(), rt_ars_params(), rt_ars_plot(), rt_ars_tess(), rt_binunif_adjust(), rt_binunif_export5(), rt_binunif_ifree(), rt_binunif_import5_minor_type(), rt_bot_adaptive_plot(), rt_bot_adjust(), rt_bot_bbox(), rt_bot_export4(), rt_bot_export5(), rt_bot_ifree(), rt_bot_import4(), rt_bot_import5(), rt_bot_mirror(), rt_bot_oriented_bbox(), rt_bot_params(), rt_bot_plot(), rt_bot_plot_poly(), rt_bot_prep(), rt_bot_tess(), rt_bot_xform(), rt_brep_adaptive_plot(), rt_brep_bbox(), rt_brep_boolean(), rt_brep_describe(), rt_brep_export5(), rt_brep_find_selections(), rt_brep_ifree(), rt_brep_import5(), rt_brep_plot(), rt_brep_plot_poly(), rt_brep_prep(), rt_brep_process_selection(), rt_brep_tess(), rt_cline_adjust(), rt_cline_bbox(), rt_cline_brep(), rt_cline_export4(), rt_cline_export5(), rt_cline_ifree(), rt_cline_import4(), rt_cline_import5(), rt_cline_params(), rt_cline_plot(), rt_cline_prep(), rt_cline_tess(), rt_cline_to_pipe(), rt_comb_adjust(), rt_comb_brep(), rt_comb_describe(), rt_comb_export4(), rt_comb_export5(), rt_comb_get(), rt_comb_ifree(), rt_comb_import5(), rt_comb_mirror(), rt_constraint_export5(), rt_constraint_ifree(), rt_constraint_import5(), rt_db_cvt_to_external5(), rt_db_external5_to_internal5(), rt_db_free_internal(), rt_db_get_internal(), rt_db_put_internal(), rt_db_put_internal5(), rt_dsp_adjust(), rt_dsp_bbox(), rt_dsp_brep(), rt_dsp_export4(), rt_dsp_export5(), rt_dsp_get(), rt_dsp_ifree(), rt_dsp_import4(), rt_dsp_import5(), rt_dsp_mirror(), rt_dsp_norm(), rt_dsp_params(), rt_dsp_plot(), rt_dsp_prep(), rt_dsp_shot(), rt_dsp_tess(), rt_ebm_adjust(), rt_ebm_bbox(), rt_ebm_centroid(), rt_ebm_export4(), rt_ebm_export5(), rt_ebm_ifree(), rt_ebm_import4(), rt_ebm_import5(), rt_ebm_mirror(), rt_ebm_params(), rt_ebm_plot(), rt_ebm_surf_area(), rt_ebm_tess(), rt_ehy_adaptive_plot(), rt_ehy_bbox(), rt_ehy_brep(), rt_ehy_export4(), rt_ehy_export5(), rt_ehy_ifree(), rt_ehy_import4(), rt_ehy_import5(), rt_ehy_params(), rt_ehy_plot(), rt_ehy_prep(), rt_ehy_surf_area(), rt_ehy_tess(), rt_ell_adaptive_plot(), rt_ell_brep(), rt_ell_export4(), rt_ell_export5(), rt_ell_ifree(), rt_ell_import4(), rt_ell_import5(), rt_ell_mirror(), rt_ell_plot(), rt_ell_tess(), rt_ell_tnurb(), rt_epa_adaptive_plot(), rt_epa_bbox(), rt_epa_brep(), rt_epa_export4(), rt_epa_export5(), rt_epa_ifree(), rt_epa_import4(), rt_epa_import5(), rt_epa_mirror(), rt_epa_params(), rt_epa_plot(), rt_epa_prep(), rt_epa_tess(), rt_eto_adaptive_plot(), rt_eto_brep(), rt_eto_export4(), rt_eto_export5(), rt_eto_ifree(), rt_eto_import4(), rt_eto_import5(), rt_eto_mirror(), rt_eto_params(), rt_eto_plot(), rt_eto_tess(), rt_extrude_adjust(), rt_extrude_export4(), rt_extrude_export5(), rt_extrude_ifree(), rt_extrude_import4(), rt_extrude_import5(), rt_extrude_params(), rt_extrude_plot(), rt_extrude_tess(), rt_extrude_xform(), rt_fwrite_internal(), rt_generic_adjust(), rt_generic_get(), rt_generic_xform(), rt_grip_mirror(), rt_grp_brep(), rt_grp_export4(), rt_grp_export5(), rt_grp_ifree(), rt_grp_import4(), rt_grp_import5(), rt_grp_params(), rt_grp_plot(), rt_grp_tess(), rt_half_mirror(), rt_hf_bbox(), rt_hf_brep(), rt_hf_export4(), rt_hf_export5(), rt_hf_ifree(), rt_hf_import4(), rt_hf_import5(), rt_hf_params(), rt_hf_plot(), rt_hf_prep(), rt_hf_tess(), rt_hf_to_dsp(), rt_hlf_brep(), rt_hlf_export4(), rt_hlf_export5(), rt_hlf_ifree(), rt_hlf_import4(), rt_hlf_import5(), rt_hlf_params(), rt_hlf_plot(), rt_hlf_tess(), rt_hlf_xform(), rt_hrt_export5(), rt_hrt_ifree(), rt_hrt_import5(), rt_hrt_params(), rt_hrt_plot(), rt_hyp_bbox(), rt_hyp_brep(), rt_hyp_centroid(), rt_hyp_export5(), rt_hyp_ifree(), rt_hyp_import5(), rt_hyp_mirror(), rt_hyp_params(), rt_hyp_plot(), rt_hyp_prep(), rt_hyp_tess(), rt_hyp_volume(), rt_joint_brep(), rt_joint_export4(), rt_joint_export5(), rt_joint_find_selections(), rt_joint_ifree(), rt_joint_import4(), rt_joint_import5(), rt_joint_mirror(), rt_joint_params(), rt_joint_plot(), rt_joint_process_selection(), rt_joint_tess(), rt_matrix_transform(), rt_metaball_adjust(), rt_metaball_describe(), rt_metaball_export5(), rt_metaball_ifree(), rt_metaball_import5(), rt_metaball_params(), rt_metaball_plot(), rt_metaball_tess(), rt_mirror(), rt_nmg_adjust(), rt_nmg_bbox(), rt_nmg_brep(), rt_nmg_export4(), rt_nmg_export4_internal(), rt_nmg_export5(), rt_nmg_ifree(), rt_nmg_import4_internal(), rt_nmg_mirror(), rt_nmg_params(), rt_nmg_plot(), rt_nmg_prep(), rt_nmg_tess(), rt_nurb_adjust(), rt_nurb_brep(), rt_nurb_export4(), rt_nurb_export5(), rt_nurb_ifree(), rt_nurb_import4(), rt_nurb_import5(), rt_nurb_mirror(), rt_nurb_plot(), rt_obj_adjust(), rt_obj_describe(), rt_obj_export(), rt_obj_get(), rt_obj_ifree(), rt_obj_import(), rt_obj_make(), rt_obj_mirror(), rt_obj_params(), rt_obj_plot(), rt_obj_prep(), rt_obj_tess(), rt_obj_tnurb(), rt_obj_xform(), rt_part_bbox(), rt_part_brep(), rt_part_export4(), rt_part_export5(), rt_part_ifree(), rt_part_import4(), rt_part_import5(), rt_part_params(), rt_part_plot(), rt_part_prep(), rt_part_tess(), rt_particle_mirror(), rt_pg_export4(), rt_pg_export5(), rt_pg_ifree(), rt_pg_import4(), rt_pg_import5(), rt_pg_params(), rt_pg_plot(), rt_pg_plot_poly(), rt_pg_tess(), rt_pg_to_bot(), rt_pipe_adaptive_plot(), rt_pipe_adjust(), rt_pipe_brep(), rt_pipe_describe(), rt_pipe_export4(), rt_pipe_export5(), rt_pipe_ifree(), rt_pipe_import4(), rt_pipe_import5(), rt_pipe_mirror(), rt_pipe_params(), rt_pipe_plot(), rt_pipe_tess(), rt_pnts_bbox(), rt_pnts_brep(), rt_pnts_export5(), rt_pnts_ifree(), rt_pnts_import5(), rt_pnts_plot(), rt_poly_mirror(), rt_rec_bbox(), rt_rec_params(), rt_rec_prep(), rt_revolve_bbox(), rt_revolve_export5(), rt_revolve_ifree(), rt_revolve_import5(), rt_revolve_plot(), rt_revolve_prep(), rt_revolve_tess(), rt_revolve_xform(), rt_rhc_adaptive_plot(), rt_rhc_bbox(), rt_rhc_brep(), rt_rhc_centroid(), rt_rhc_export4(), rt_rhc_export5(), rt_rhc_ifree(), rt_rhc_import4(), rt_rhc_import5(), rt_rhc_mirror(), rt_rhc_params(), rt_rhc_plot(), rt_rhc_prep(), rt_rhc_surf_area(), rt_rhc_tess(), rt_rpc_adaptive_plot(), rt_rpc_bbox(), rt_rpc_brep(), rt_rpc_export4(), rt_rpc_export5(), rt_rpc_ifree(), rt_rpc_import4(), rt_rpc_import5(), rt_rpc_mirror(), rt_rpc_params(), rt_rpc_plot(), rt_rpc_prep(), rt_rpc_tess(), rt_sketch_adjust(), rt_sketch_brep(), rt_sketch_export4(), rt_sketch_export5(), rt_sketch_ifree(), rt_sketch_import4(), rt_sketch_import5(), rt_sketch_params(), rt_sketch_plot(), rt_sketch_prep(), rt_sketch_tess(), rt_sph_brep(), rt_sph_params(), rt_submodel_export4(), rt_submodel_export5(), rt_submodel_ifree(), rt_submodel_import4(), rt_submodel_import5(), rt_submodel_params(), rt_submodel_plot(), rt_submodel_prep(), rt_submodel_tess(), rt_submodel_wireframe_leaf(), rt_superell_brep(), rt_superell_export4(), rt_superell_export5(), rt_superell_ifree(), rt_superell_import4(), rt_superell_import5(), rt_superell_mirror(), rt_superell_params(), rt_superell_plot(), rt_superell_surf_area(), rt_superell_tess(), rt_superell_volume(), rt_tgc_adaptive_plot(), rt_tgc_brep(), rt_tgc_export4(), rt_tgc_export5(), rt_tgc_ifree(), rt_tgc_import4(), rt_tgc_import5(), rt_tgc_mirror(), rt_tgc_params(), rt_tgc_plot(), rt_tgc_tess(), rt_tgc_tnurb(), rt_tor_adaptive_plot(), rt_tor_brep(), rt_tor_export4(), rt_tor_export5(), rt_tor_ifree(), rt_tor_import4(), rt_tor_import5(), rt_tor_mirror(), rt_tor_params(), rt_tor_plot(), rt_tor_tess(), rt_vlist_solid(), rt_vol_bbox(), rt_vol_centroid(), rt_vol_export4(), rt_vol_export5(), rt_vol_ifree(), rt_vol_import4(), rt_vol_import5(), rt_vol_mirror(), rt_vol_params(), rt_vol_plot(), rt_vol_prep(), rt_vol_surf_area(), rt_vol_tess(), rt_vol_volume(), rt_xxx_export5(), rt_xxx_ifree(), rt_xxx_import5(), rt_xxx_plot(), rt_xxx_prep(), rt_xxx_tess(), txt_load_datasource(), unprep_leaf(), and wdb_put_internal().

#define RAY_NULL   ((struct xray *)0)

Definition at line 223 of file raytrace.h.

#define HIT_NULL   ((struct hit *)0)

Definition at line 258 of file raytrace.h.

Referenced by rt_boolweave().

#define RT_HIT_INIT_ZERO   { RT_HIT_MAGIC, 0.0, VINIT_ZERO, VINIT_ZERO, VINIT_ZERO, NULL, 0, NULL }

Definition at line 260 of file raytrace.h.

Referenced by rt_rec_shot().

#define RT_HIT_NORMAL (   _normal,
  _hitp,
  _stp,
  _unused,
  _flipflag 
)
Value:
{ \
RT_CK_HIT(_hitp); \
RT_CK_FUNCTAB((_stp)->st_meth); \
{ \
void *_n = (void *)_normal; \
if ((_stp)->st_meth->ft_norm) { \
(_stp)->st_meth->ft_norm(_hitp, _stp, (_hitp)->hit_rayp); \
} \
if (_n != NULL) { \
int _f = (int)_flipflag; \
if (_f) { \
VREVERSE((fastf_t *)_normal, (_hitp)->hit_normal); \
} else { \
VMOVE((fastf_t *)_normal, (_hitp)->hit_normal); \
} \
} \
} \
}
#define RT_CK_FUNCTAB(_p)
Definition: raytrace.h:2242
if(share_geom)
Definition: nmg_mod.c:3829
#define RT_CK_HIT(_p)
Definition: raytrace.h:259
#define RT_CK_SOLTAB(_p)
Definition: raytrace.h:453
double fastf_t
Definition: defines.h:300

Compute normal into (_hitp)->hit_normal.

Set flip-flag accordingly depending on boolean logic, as one hit may be shared between multiple partitions with different flip status.

Example: box.r = box.s - sph.s; sph.r = sph.s

Return the post-boolean normal into caller-provided _normal vector.

Definition at line 273 of file raytrace.h.

Referenced by bot_smooth_hit(), BU_FORTRAN(), HitRef(), ICHit(), osl_refraction_hit(), PHit(), rr_hit(), rt_ars_shot(), rt_tcl_pr_hit(), and shade_inputs().

#define CURVE_NULL   ((struct curvature *)0)

Definition at line 311 of file raytrace.h.

#define RT_CURVATURE_INIT_ZERO   { VINIT_ZERO, 0.0, 0.0 }

Definition at line 312 of file raytrace.h.

#define RT_CURVATURE (   _curvp,
  _hitp,
  _flipflag,
  _stp 
)
Value:
{ \
RT_CK_HIT(_hitp); \
RT_CK_FUNCTAB((_stp)->st_meth); \
if ((_stp)->st_meth->ft_curve) { \
(_stp)->st_meth->ft_curve(_curvp, _hitp, _stp); \
} \
if (_flipflag) { \
(_curvp)->crv_c1 = - (_curvp)->crv_c1; \
(_curvp)->crv_c2 = - (_curvp)->crv_c2; \
} \
}
#define RT_CK_FUNCTAB(_p)
Definition: raytrace.h:2242
if(share_geom)
Definition: nmg_mod.c:3829
#define RT_CK_HIT(_p)
Definition: raytrace.h:259
#define RT_CK_SOLTAB(_p)
Definition: raytrace.h:453

Use this macro after having computed the normal, to compute the curvature at a hit point.

In Release 4.4 and earlier, this was called RT_CURVE(). When the extra argument was added the name was changed.

Definition at line 321 of file raytrace.h.

Referenced by rt_tcl_pr_hit().

#define RT_HIT_UVCOORD (   ap,
  _stp,
  _hitp,
  uvp 
)
Value:
{ \
RT_CK_HIT(_hitp); \
RT_CK_FUNCTAB((_stp)->st_meth); \
if ((_stp)->st_meth->ft_uv) { \
(_stp)->st_meth->ft_uv(ap, _stp, _hitp, uvp); \
} \
}
#define RT_CK_FUNCTAB(_p)
Definition: raytrace.h:2242
if(share_geom)
Definition: nmg_mod.c:3829
#define RT_CK_HIT(_p)
Definition: raytrace.h:259
#define RT_CK_SOLTAB(_p)
Definition: raytrace.h:453

Definition at line 346 of file raytrace.h.

Referenced by rt_submodel_a_hit(), and shade_inputs().

#define RT_SEG_NULL   ((struct seg *)0)

Definition at line 374 of file raytrace.h.

Referenced by rt_boolweave(), and rt_vshootray().

#define RT_CHECK_SEG (   _p)    BU_CKMAG(_p, RT_SEG_MAGIC, "struct seg")

Definition at line 376 of file raytrace.h.

Referenced by rt_boolfinal(), and rt_boolweave().

#define RT_GET_SEG (   p,
  res 
)
Value:
{ \
while (!BU_LIST_WHILE((p), seg, &((res)->re_seg)) || !(p)) \
BU_LIST_DEQUEUE(&((p)->l)); \
(p)->l.forw = (p)->l.back = BU_LIST_NULL; \
(p)->seg_in.hit_magic = (p)->seg_out.hit_magic = RT_HIT_MAGIC; \
res->re_segget++; \
}
Definition: raytrace.h:368
#define BU_LIST_WHILE(p, structure, hp)
Definition: list.h:410
#define BU_LIST_NULL
Definition: list.h:124
#define BU_LIST_DEQUEUE(cur)
Definition: list.h:209
void rt_alloc_seg_block(struct resource *res)
#define RT_HIT_MAGIC
Definition: magic.h:161

Definition at line 379 of file raytrace.h.

Referenced by add_seg(), do_intersect(), do_subtract(), Eplot(), eval_op(), promote_ints(), rt_arb_shot(), rt_arbn_shot(), rt_ars_shot(), rt_brep_shot(), rt_cline_shot(), rt_ebm_dda(), rt_ehy_shot(), rt_ell_shot(), rt_epa_shot(), rt_eto_shot(), rt_extrude_shot(), rt_hf_shot(), rt_hrt_shot(), rt_hyp_shot(), rt_metaball_shot(), rt_nurb_shot(), rt_part_shot(), rt_pg_shot(), rt_pipe_shot(), rt_rec_shot(), rt_revolve_shot(), rt_rhc_shot(), rt_rpc_shot(), rt_sph_shot(), rt_submodel_a_hit(), rt_superell_shot(), rt_tgc_shot(), rt_tor_shot(), rt_vol_shot(), rt_vshootray(), rt_xxx_shot(), set_inpoint(), shoot_and_plot(), and XGLUE().

#define RT_FREE_SEG (   p,
  res 
)
Value:
{ \
BU_LIST_INSERT(&((res)->re_seg), &((p)->l)); \
res->re_segfree++; \
}
#define BU_LIST_INSERT(old, new)
Definition: list.h:183
#define RT_CHECK_SEG(_p)
Definition: raytrace.h:376

Definition at line 389 of file raytrace.h.

Referenced by classify_seg(), eliminate_overlaps(), eval_op(), promote_ints(), rt_seg_planeclip(), shoot_and_plot(), and vshot_stub().

#define RT_FREE_SEG_LIST (   _segheadp,
  _res 
)
Value:
{ \
register struct seg *_a; \
while (BU_LIST_WHILE(_a, seg, &((_segheadp)->l))) { \
RT_FREE_SEG(_a, _res); \
} \
}
#define RT_FREE_SEG(p, res)
Definition: raytrace.h:389
Definition: raytrace.h:368
struct bu_list l
Definition: raytrace.h:369
#define BU_LIST_WHILE(p, structure, hp)
Definition: list.h:410
#define BU_LIST_DEQUEUE(cur)
Definition: list.h:209

This could be BU_LIST_INSERT_LIST(&((_res)->re_seg), &((_segheadp)->l)) except for security of checking & counting each element this way.

Definition at line 401 of file raytrace.h.

Referenced by rt_shootray(), rt_shootray_bundle(), and rt_shootrays().

#define st_name   st_dp->d_namep

Definition at line 448 of file raytrace.h.

Referenced by rt_tgc_vshot().

#define RT_SOLTAB_NULL   ((struct soltab *)0)

Definition at line 449 of file raytrace.h.

Referenced by _rt_find_identical_solid(), db_free_tree(), and rt_find_solid().

#define SOLTAB_NULL   RT_SOLTAB_NULL

backwards compat

Definition at line 450 of file raytrace.h.

Referenced by _rt_tree_kill_dead_solid_refs(), rt_prep_parallel(), and rt_vshootray().

#define RT_CHECK_SOLTAB (   _p)    BU_CKMAG(_p, RT_SOLTAB_MAGIC, "struct soltab")

Definition at line 452 of file raytrace.h.

Referenced by rt_ck_overlap(), rt_clean(), and rt_cut_one_axis().

#define RT_CK_SOLTAB (   _p)    BU_CKMAG(_p, RT_SOLTAB_MAGIC, "struct soltab")

Definition at line 453 of file raytrace.h.

Referenced by _rt_find_identical_solid(), _rt_tree_kill_dead_solid_refs(), bbd_setup(), db_ck_tree(), db_free_tree(), dsp_pos(), gauss_render(), rt_arb_curve(), rt_boolfinal(), rt_bot_class(), rt_bot_curve(), rt_bot_piece_shot(), rt_bot_print(), rt_bot_uv(), rt_bound_tree(), rt_brep_class(), rt_brep_curve(), rt_brep_free(), rt_brep_norm(), rt_brep_print(), rt_brep_shot(), rt_brep_uv(), rt_ck(), rt_cline_class(), rt_cline_curve(), rt_cline_free(), rt_cline_uv(), rt_ct_populate_box(), rt_cut_extend(), rt_dsp_curve(), rt_ebm_uv(), rt_extrude_uv(), rt_free_soltab(), rt_gettrees_muves(), rt_grp_curve(), rt_grp_norm(), rt_grp_shot(), rt_grp_uv(), rt_hlf_class(), rt_hlf_norm(), rt_joint_curve(), rt_joint_norm(), rt_joint_shot(), rt_joint_uv(), rt_metaball_class(), rt_metaball_uv(), rt_nmg_curve(), rt_nmg_norm(), rt_nmg_uv(), rt_nugrid_cut(), rt_obj_curve(), rt_obj_free(), rt_obj_norm(), rt_obj_prep(), rt_obj_print(), rt_obj_shot(), rt_obj_uv(), rt_obj_vshot(), rt_pg_curve(), rt_pg_norm(), rt_pg_uv(), rt_pipe_curve(), rt_plot_solid(), rt_pr_cut(), rt_pr_pt_vls(), rt_pr_tree_str(), rt_rec_prep(), rt_res_pieces_init(), rt_revolve_curve(), rt_shootray(), rt_sketch_curve(), rt_sketch_free(), rt_sketch_norm(), rt_sketch_prep(), rt_sketch_print(), rt_sketch_shot(), rt_sketch_uv(), rt_solid_bitfinder(), rt_submodel_a_hit(), rt_submodel_class(), rt_submodel_curve(), rt_submodel_shot(), rt_submodel_uv(), rt_superell_curve(), rt_superell_uv(), rt_tcl_pr_hit(), rt_tor_uv(), rt_traverse_tree(), rt_vol_curve(), rt_vol_prep(), rt_vol_uv(), rt_xxx_curve(), rt_xxx_free(), rt_xxx_norm(), rt_xxx_prep(), rt_xxx_print(), rt_xxx_shot(), rt_xxx_uv(), state1(), unprep_leaf(), and XGLUE().

#define ID_REC   7

Right Elliptical Cylinder [TGC special].

Definition at line 465 of file raytrace.h.

Referenced by _ged_get_solid_keypoint(), bbd_setup(), rt_intern_struct_size(), rt_mirror(), rt_rec_prep(), rt_tgc_export4(), and rt_tgc_export5().

#define ID_POLY   8
#define ID_BSPLINE   9
#define ID_SPH   10
#define ID_EBM   12
#define ID_PIPE   15
#define ID_JOINT   23

Pseudo Solid/Region Joint.

Definition at line 481 of file raytrace.h.

Referenced by rt_intern_struct_size(), rt_joint_export5(), rt_joint_import5(), and rt_mirror().

#define ID_HF   24

Height Field.

Definition at line 482 of file raytrace.h.

Referenced by _ged_get_solid_keypoint(), rt_hf_export4(), rt_hf_import4(), rt_id_solid(), and rt_intern_struct_size().

#define ID_SUBMODEL   28
#define ID_CLINE   29
#define ID_MAX_SOLID   44

Maximum defined ID_xxx for solids.

Definition at line 494 of file raytrace.h.

Referenced by rt_clean(), rt_id_solid(), rt_pr_soltab(), rt_prep_parallel(), rt_vshootray(), and wdb_export().

#define ID_UNUSED1   32

UNUSED (placeholder)

Definition at line 500 of file raytrace.h.

#define ID_BINUNIF   33
#define ID_UNUSED2   34

UNUSED (placeholder)

Definition at line 502 of file raytrace.h.

#define ID_CONSTRAINT   39

Constraint object.

Definition at line 503 of file raytrace.h.

Referenced by ged_cc(), mk_constraint(), rt_constraint_export5(), and rt_intern_struct_size().

#define ID_SUPERELL   35
#define ID_METABALL   36
#define ID_BREP   37
#define ID_HYP   38
#define ID_REVOLVE   40
#define ID_PNTS   41

Collection of Points.

Definition at line 512 of file raytrace.h.

Referenced by ged_make(), ged_make_pnts(), rt_intern_struct_size(), and rt_pnts_import5().

#define ID_ANNOTATION   42

Annotation.

Definition at line 513 of file raytrace.h.

Referenced by rt_intern_struct_size().

#define ID_HRT   43

Heart.

Definition at line 514 of file raytrace.h.

Referenced by mk_hrt(), rt_hrt_export5(), rt_hrt_import5(), and rt_intern_struct_size().

#define ID_MAXIMUM   44

Maximum defined ID_xxx value.

Definition at line 516 of file raytrace.h.

Referenced by rt_intern_struct_size().

#define RT_MATER_INFO_INIT_ZERO   { VINIT_ZERO, 0.0, 0, 0, 0, NULL }

Definition at line 529 of file raytrace.h.

#define RT_MATER_INFO_INIT_IDN   { {1.0, 0.0, 0.0} , -1.0, 0, 0, 0, NULL }

Definition at line 531 of file raytrace.h.

#define PT_NULL   ((struct partition *)0)

Definition at line 586 of file raytrace.h.

Referenced by rt_boolweave(), and rt_partition_len().

#define RT_CK_PARTITION (   _p)    BU_CKMAG(_p, PT_MAGIC, "struct partition")

Definition at line 590 of file raytrace.h.

Referenced by rt_default_multioverlap(), rt_rebuild_overlaps(), and rt_tree_max_raynum().

#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

Definition at line 594 of file raytrace.h.

#define RT_PT_MIDDLE_END   pt_seglist.l.magic

copy up to this elem (non-inclusive)

Definition at line 595 of file raytrace.h.

#define RT_PT_MIDDLE_LEN (   p)    (((char *)&(p)->RT_PT_MIDDLE_END) - ((char *)&(p)->RT_PT_MIDDLE_START))

Definition at line 596 of file raytrace.h.

#define RT_DUP_PT (   ip,
  new,
  old,
  res 
)
Value:
{ \
GET_PT(ip, new, res); \
memcpy((char *)(&(new)->RT_PT_MIDDLE_START), (char *)(&(old)->RT_PT_MIDDLE_START), RT_PT_MIDDLE_LEN(old)); \
(new)->pt_overlap_reg = NULL; \
bu_ptbl_cat(&(new)->pt_seglist, &(old)->pt_seglist); }
#define RT_PT_MIDDLE_LEN(p)
Definition: raytrace.h:596
#define RT_PT_MIDDLE_START
1st elem to copy
Definition: raytrace.h:594
#define GET_PT(ip, p, res)
Definition: raytrace.h:610
void bu_ptbl_cat(struct bu_ptbl *dest, const struct bu_ptbl *src)
Definition: ptbl.c:183

Definition at line 599 of file raytrace.h.

Referenced by rt_boolweave(), and rt_rebuild_overlaps().

#define GET_PT_INIT (   ip,
  p,
  res 
)
Value:
{\
GET_PT(ip, p, res); \
memset(((char *) &(p)->RT_PT_MIDDLE_START), 0, RT_PT_MIDDLE_LEN(p)); }
#define RT_PT_MIDDLE_LEN(p)
Definition: raytrace.h:596
void * memset(void *s, int c, size_t n)
#define RT_PT_MIDDLE_START
1st elem to copy
Definition: raytrace.h:594
#define GET_PT(ip, p, res)
Definition: raytrace.h:610

Clear out the pointers, empty the hit list

Definition at line 606 of file raytrace.h.

Referenced by rt_boolweave(), and rt_weave0seg().

#define GET_PT (   ip,
  p,
  res 
)
Value:
{ \
if (BU_LIST_NON_EMPTY_P(p, partition, &res->re_parthead)) { \
BU_LIST_DEQUEUE((struct bu_list *)(p)); \
bu_ptbl_reset(&(p)->pt_seglist); \
} else { \
BU_ALLOC((p), struct partition); \
(p)->pt_magic = PT_MAGIC; \
bu_ptbl_init(&(p)->pt_seglist, 42, "pt_seglist ptbl"); \
(res)->re_partlen++; \
} \
res->re_partget++; }
Definition: list.h:118
void bu_ptbl_init(struct bu_ptbl *b, size_t len, const char *str)
Definition: ptbl.c:32
void bu_ptbl_reset(struct bu_ptbl *b)
Definition: ptbl.c:49
if(share_geom)
Definition: nmg_mod.c:3829
#define BU_ALLOC(_ptr, _type)
Definition: malloc.h:223
#define PT_MAGIC
Definition: magic.h:209
#define BU_LIST_NON_EMPTY_P(p, structure, hp)
Definition: list.h:297
#define BU_LIST_DEQUEUE(cur)
Definition: list.h:209

Definition at line 610 of file raytrace.h.

#define FREE_PT (   p,
  res 
)
Value:
{ \
BU_LIST_APPEND(&(res->re_parthead), (struct bu_list *)(p)); \
if ((p)->pt_overlap_reg) { \
bu_free((void *)((p)->pt_overlap_reg), "pt_overlap_reg");\
(p)->pt_overlap_reg = NULL; \
} \
res->re_partfree++; }
Definition: list.h:118
#define BU_LIST_APPEND(old, new)
Definition: list.h:197
if(share_geom)
Definition: nmg_mod.c:3829
void bu_free(void *ptr, const char *str)
Definition: malloc.c:328

Definition at line 622 of file raytrace.h.

Referenced by BU_FORTRAN(), rt_boolfinal(), rt_fastgen_plate_vol_overlap(), and rt_vshootray().

#define RT_FREE_PT_LIST (   _headp,
  _res 
)
Value:
{ \
register struct partition *_pp, *_zap; \
for (_pp = (_headp)->pt_forw; _pp != (_headp);) { \
_zap = _pp; \
_pp = _pp->pt_forw; \
BU_LIST_DEQUEUE((struct bu_list *)(_zap)); \
FREE_PT(_zap, _res); \
} \
(_headp)->pt_forw = (_headp)->pt_back = (_headp); \
}
Definition: list.h:118
struct partition * pt_back
backwards link
Definition: raytrace.h:575
#define FREE_PT(p, res)
Definition: raytrace.h:622
#define BU_LIST_DEQUEUE(cur)
Definition: list.h:209
struct partition * pt_forw
forwards link
Definition: raytrace.h:574

Definition at line 630 of file raytrace.h.

Referenced by rt_shootray(), rt_shootray_bundle(), and rt_shootrays().

#define INSERT_PT (   _new,
  _old 
)    BU_LIST_INSERT((struct bu_list *)_old, (struct bu_list *)_new)

Insert "new" partition in front of "old" partition. Note order change

Definition at line 642 of file raytrace.h.

Referenced by rt_boolfinal(), and rt_boolweave().

#define APPEND_PT (   _new,
  _old 
)    BU_LIST_APPEND((struct bu_list *)_old, (struct bu_list *)_new)

Append "new" partition after "old" partition. Note arg order change

Definition at line 645 of file raytrace.h.

Referenced by rt_boolfinal(), rt_boolweave(), and rt_weave0seg().

#define DEQUEUE_PT (   _cur)    BU_LIST_DEQUEUE((struct bu_list *)_cur)

Dequeue "cur" partition from doubly-linked list

Definition at line 648 of file raytrace.h.

Referenced by rt_boolfinal(), and rt_fastgen_plate_vol_overlap().

#define CUT_MAXIMUM   3

Definition at line 721 of file raytrace.h.

Referenced by rt_prep_parallel().

#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)

DEPRECATED: external applications should use other LIBRT API to access database objects.

The directory is organized as forward linked lists hanging off of one of RT_DBNHASH headers in the db_i structure.

FIXME: this should not be public API, push container and iteration down into LIBRT. External applications should not use this.

Definition at line 755 of file raytrace.h.

Referenced by _db_search_full_paths(), _ged_dir_getspace(), db_ck_directory(), db_close(), db_directory_size(), db_dump(), db_free_anim(), db_is_directory_non_empty(), db_ls(), db_open(), db_open_inmem(), db_pr_dir(), db_regexp_match_all(), db_update_nref(), ged_expand(), ged_find(), ged_glob(), ged_keep(), ged_ls(), ged_match(), ged_open(), ged_rmap(), ged_search(), ged_sphgroup(), ged_tops(), ged_which(), ged_xpush(), move_all_func(), rt_clean(), and rt_new_rti().

#define RT_DBHASH (   sum)    ((size_t)(sum) & ((RT_DBNHASH)-1))

DEPRECATED: external applications should use other LIBRT API to access database objects.

Definition at line 778 of file raytrace.h.

Referenced by db_dirhash().

#define RT_CK_DBI (   _p)    RT_CHECK_DBI(_p)

Definition at line 829 of file raytrace.h.

Referenced by _db_gettree_leaf(), _db_gettree_region_end(), _db_walk_subtree(), _ged_do_list(), _rt_gettree_leaf(), _rt_gettree_region_end(), db5_diradd(), db5_diradd_handler(), db5_export_color_table(), db5_get_attributes(), db5_put_color_table(), db5_realloc(), db5_replace_attributes(), db5_scan(), db5_update_attribute(), db5_update_attributes(), db5_update_ident(), db5_write_free(), db_alloc(), db_argv_to_path(), db_ck_directory(), db_clone_dbi(), db_close(), db_close_client(), db_conversions(), db_create_inmem(), db_delete(), db_delrec(), db_diradd(), db_diradd5(), db_dirbuild(), db_dirdelete(), db_directory_size(), db_dump(), db_dup_db_tree_state(), db_free_db_tree_state(), db_fullpath_list(), db_functree(), db_get(), db_get_external(), db_getmrec(), db_init_db_tree_state(), db_is_directory_non_empty(), db_lookup(), db_lookup_by_attr(), db_ls(), db_new_combined_tree_state(), db_open(), db_pr_dir(), db_preorder_traverse(), db_put(), db_put_external(), db_put_external5(), db_read(), db_rename(), db_scan(), db_string_to_path(), db_sync(), db_tree_funcleaf(), db_update_ident(), db_update_nref(), db_version(), db_write(), db_zapper(), edcodes_traverse_node(), find_ref(), ged_decode_dbip(), ged_open(), get_file_data(), img_load_datasource(), main(), rt_arb_export4(), rt_arb_export5(), rt_arb_import4(), rt_arb_import5(), rt_arbn_export4(), rt_arbn_export5(), rt_arbn_import4(), rt_arbn_import5(), rt_ars_export4(), rt_ars_export5(), rt_ars_import4(), rt_ars_import5(), rt_binunif_export5(), rt_binunif_import5_minor_type(), rt_bot_export4(), rt_bot_export5(), rt_bot_import4(), rt_bot_import5(), rt_bot_xform(), rt_brep_export5(), rt_brep_import5(), rt_ck(), rt_cline_export4(), rt_cline_export5(), rt_cline_import4(), rt_cline_import5(), rt_comb_brep(), rt_comb_describe(), rt_comb_export4(), rt_comb_export5(), rt_comb_import4(), rt_comb_import5(), rt_constraint_export5(), rt_constraint_import5(), rt_db_cvt_to_external5(), rt_db_external5_to_internal5(), rt_db_flip_endian(), rt_db_put_internal5(), rt_dirbuild(), rt_dsp_describe(), rt_dsp_export4(), rt_dsp_export5(), rt_ebm_export4(), rt_ebm_export5(), rt_ehy_export4(), rt_ehy_export5(), rt_ehy_import4(), rt_ehy_import5(), rt_ell_export4(), rt_ell_export5(), rt_ell_import4(), rt_ell_import5(), rt_epa_export4(), rt_epa_export5(), rt_epa_import4(), rt_epa_import5(), rt_eto_export4(), rt_eto_export5(), rt_eto_import4(), rt_eto_import5(), rt_extrude_export4(), rt_extrude_export5(), rt_extrude_xform(), rt_generic_xform(), rt_gettrees_muves(), rt_grp_export4(), rt_grp_export5(), rt_grp_import4(), rt_grp_import5(), rt_hf_export4(), rt_hf_export5(), rt_hf_import4(), rt_hf_import5(), rt_hlf_export4(), rt_hlf_export5(), rt_hlf_import4(), rt_hlf_import5(), rt_hlf_xform(), rt_hrt_export5(), rt_hrt_import5(), rt_hyp_export5(), rt_hyp_import5(), rt_joint_export4(), rt_joint_export5(), rt_joint_import4(), rt_joint_import5(), rt_load_attrs(), rt_matrix_transform(), rt_metaball_export5(), rt_metaball_import5(), rt_mirror(), rt_new_rti(), rt_nmg_export4(), rt_nmg_export5(), rt_nmg_import4(), rt_nmg_import5(), rt_nurb_export4(), rt_nurb_export5(), rt_nurb_import4(), rt_nurb_import5(), rt_obj_describe(), rt_obj_export(), rt_obj_import(), rt_obj_xform(), rt_part_export4(), rt_part_export5(), rt_part_import4(), rt_part_import5(), rt_pg_export4(), rt_pg_export5(), rt_pg_import4(), rt_pg_import5(), rt_pipe_export4(), rt_pipe_export5(), rt_pipe_import4(), rt_pipe_import5(), rt_pnts_export5(), rt_pnts_import5(), rt_revolve_export5(), rt_revolve_import5(), rt_revolve_xform(), rt_rhc_export4(), rt_rhc_export5(), rt_rhc_import4(), rt_rhc_import5(), rt_rpc_export4(), rt_rpc_export5(), rt_rpc_import4(), rt_rpc_import5(), rt_sketch_export4(), rt_sketch_export5(), rt_sketch_import4(), rt_sketch_import5(), rt_submodel_export4(), rt_submodel_export5(), rt_submodel_import4(), rt_submodel_import5(), rt_submodel_plot(), rt_submodel_wireframe_leaf(), rt_superell_export4(), rt_superell_export5(), rt_superell_import4(), rt_superell_import5(), rt_tcl_import_from_path(), rt_tgc_export4(), rt_tgc_export5(), rt_tgc_import4(), rt_tgc_import5(), rt_tor_export4(), rt_tor_export5(), rt_tor_import4(), rt_tor_import5(), rt_vol_export4(), rt_vol_export5(), rt_vol_import4(), rt_vol_import5(), rt_xxx_export5(), rt_xxx_import5(), txt_load_datasource(), unprep_leaf(), wcodes_printnode(), wdb_dbopen(), and wdb_import_from_path2().

#define RT_DIR_NULL   ((struct directory *)0)

Definition at line 875 of file raytrace.h.

Referenced by _db_search_full_paths(), _ged_append_pipept_common(), _ged_build_dpp(), _ged_combadd(), _ged_combadd2(), _ged_dir_getspace(), _ged_print_node(), _ged_search_characterize_path(), _ged_search_localized_obj_list(), brep_conversion_tree(), build_etree(), check_syntax(), comb_flatten(), comb_wrap(), combmem_set_empty(), constraint_eval(), constraint_get(), constraint_show(), conv_tree(), db5_diradd(), db5_update_attribute(), db5_update_ident(), db_apply_state_from_memb(), db_argv_to_dpv(), db_argv_to_path(), db_ck_directory(), db_close(), db_count_refs(), db_diff(), db_diff3(), db_diff3_dp(), db_diradd(), db_diradd5(), db_dirbuild(), db_dircheck(), db_dirdelete(), db_directory_size(), db_dump(), db_follow_path(), db_free_anim(), db_fullpath_list_subtree(), db_functree(), db_functree_subtree(), db_is_directory_non_empty(), db_lookup(), db_ls(), db_open(), db_open_inmem(), db_pr_dir(), db_preorder_traverse(), db_regexp_match_all(), db_rename(), db_search(), db_string_to_path(), db_traverse_subtree(), db_update_nref(), diff_init_result(), dl_addToDisplay(), dl_how(), dl_set_transparency(), edcodes_traverse_node(), edit_arg_to_apparent_coord(), edit_str_to_arg(), ged_add_metaballpt(), ged_analyze(), ged_bb(), ged_bo(), ged_bot_edge_split(), ged_bot_face_sort(), ged_bot_face_split(), ged_bot_flip(), ged_bot_merge(), ged_bot_smooth(), ged_bot_split(), ged_bot_sync(), ged_brep(), ged_cat(), ged_comb(), ged_comb_std(), ged_copyeval(), ged_cpi(), ged_dbcopy(), ged_decompose(), ged_delete_metaballpt(), ged_delete_pipept(), ged_edcodes(), ged_expand(), ged_facetize(), ged_find(), ged_find_metaballpt_nearest_pt(), ged_find_pipept_nearest_pt(), ged_fracture(), ged_get_comb(), ged_getmat(), ged_glob(), ged_hide(), ged_in(), ged_inside(), ged_inside_internal(), ged_instance(), ged_joint2(), ged_keep(), ged_kill(), ged_killtree(), ged_list(), ged_ls(), ged_lt(), ged_make_name(), ged_match(), ged_mirror(), ged_move(), ged_move_arb_edge(), ged_move_arb_face(), ged_move_botpt(), ged_move_botpts(), ged_move_metaballpt(), ged_move_pipept(), ged_nmg_collapse(), ged_nmg_fix_normals(), ged_nmg_simplify(), ged_open(), ged_orotate(), ged_oscale(), ged_pathsum(), ged_prefix(), ged_protate(), ged_pscale(), ged_pset(), ged_ptranslate(), ged_pull(), ged_put(), ged_put_comb(), ged_rcodes(), ged_red(), ged_region(), ged_remove(), ged_rfarb(), ged_rmap(), ged_rmater(), ged_rotate_arb_face(), ged_search(), ged_shells(), ged_sphgroup(), ged_tables(), ged_tops(), ged_track2(), ged_tree(), ged_unhide(), ged_voxelize(), ged_wcodes(), ged_whatid(), ged_which(), ged_wmater(), ged_xpush(), get_surface(), img_load_datasource(), invent_solid(), main(), make_hole(), make_hole_in_prepped_regions(), mk_unique_brlcad_name(), move_all_func(), node_write(), rt_clean(), rt_db_lookup_internal(), rt_extrude_import4(), rt_extrude_import5(), rt_find_solid(), rt_free_soltab(), rt_joint_process_selection(), rt_load_attrs(), rt_mk_binunif(), rt_new_rti(), rt_retrieve_binunif(), rt_revolve_import5(), rt_traverse_tree(), rt_unprep(), tables_new(), txt_load_datasource(), wcodes_printnode(), wdb_export_external(), wdb_import(), and write_comb().

#define d_addr   d_un.file_offset

Definition at line 878 of file raytrace.h.

#define RT_DIR_HIDDEN   0x8
#define RT_DIR_NON_GEOM   0x10

object is not geometry (e.g. binary object)

Definition at line 887 of file raytrace.h.

Referenced by db5_diradd(), db_create_inmem(), db_diradd5(), db_flags_raw_internal(), dp_eval_flags(), and ged_cc().

#define RT_DIR_USED   0x80

One bit, used similar to d_nref.

Definition at line 888 of file raytrace.h.

Referenced by _ged_rt_write(), and dl_write_animate().

#define LOOKUP_QUIET   0

Definition at line 893 of file raytrace.h.

Referenced by _ged_append_pipept_common(), _ged_combadd(), _ged_combadd2(), _ged_print_node(), _ged_search_characterize_path(), brep_conversion_tree(), check_syntax(), comb_lift_region(), comb_wrap(), constraint_eval(), constraint_get(), constraint_set(), constraint_show(), conv_tree(), db5_update_ident(), db_apply_state_from_memb(), db_argv_to_dpv(), db_count_refs(), db_fullpath_list_subtree(), db_object_exists(), db_update_nref(), edarb_facedef(), edarb_mirface(), edit_str_to_arg(), ged_3ptarb(), ged_add_metaballpt(), ged_adjust(), ged_arb(), ged_bb(), ged_bev(), ged_bo(), ged_bot_decimate(), ged_bot_edge_split(), ged_bot_face_split(), ged_bot_flip(), ged_bot_smooth(), ged_bot_split(), ged_bot_sync(), ged_brep(), ged_cc(), ged_comb(), ged_comb_std(), ged_copy(), ged_copyeval(), ged_cpi(), ged_dbcopy(), ged_decompose(), ged_delete_metaballpt(), ged_delete_pipept(), ged_expand(), ged_export_polygon(), ged_facetize(), ged_find_metaballpt_nearest_pt(), ged_find_pipept_nearest_pt(), ged_get_comb(), ged_human(), ged_in(), ged_inside(), ged_inside_internal(), ged_ls(), ged_make(), ged_make_name(), ged_make_pnts(), ged_mirror(), ged_move(), ged_move_arb_edge(), ged_move_arb_face(), ged_move_botpt(), ged_move_botpts(), ged_move_metaballpt(), ged_move_pipept(), ged_nmg_collapse(), ged_nmg_fix_normals(), ged_nmg_simplify(), ged_orotate(), ged_oscale(), ged_prefix(), ged_protate(), ged_pscale(), ged_pset(), ged_ptranslate(), ged_put(), ged_put_comb(), ged_red(), ged_region(), ged_rfarb(), ged_rotate_arb_face(), ged_search(), ged_tire(), ged_track2(), ged_voxelize(), get_densities_from_database(), get_surface(), img_load_datasource(), invent_solid(), main(), make_hole(), make_hole_in_prepped_regions(), mk_unique_brlcad_name(), move_all_func(), node_write(), rt_find_solid(), rt_joint_process_selection(), rt_traverse_tree(), tables_new(), txt_load_datasource(), wdb_export_external(), wdb_import(), and write_comb().

#define FOR_ALL_DIRECTORY_START (   _dp,
  _dbip 
)
Value:
{ int _i; \
for (_i = RT_DBNHASH-1; _i >= 0; _i--) { \
for ((_dp) = (_dbip)->dbi_Head[_i]; (_dp); (_dp) = (_dp)->d_forw) {
#define RT_DBNHASH
hash table is an array of linked lists with this many array pointer elements (Memory use for 32-bit: ...
Definition: raytrace.h:755

Definition at line 895 of file raytrace.h.

Referenced by db_diff(), db_diff3(), db_lookup_by_attr(), ged_bot_dump(), ged_concat(), ged_eac(), ged_killrefs(), ged_prefix(), and ged_which_shader().

#define FOR_ALL_DIRECTORY_END   }}}
#define RT_DIR_SET_NAMEP (   _dp,
  _name 
)
Value:
{ \
if (strlen(_name) < sizeof((_dp)->d_shortname)) {\
bu_strlcpy((_dp)->d_shortname, (_name), sizeof((_dp)->d_shortname)); \
(_dp)->d_namep = (_dp)->d_shortname; \
} else { \
(_dp)->d_namep = bu_strdup(_name); /* Calls bu_malloc() */ \
} }
if(share_geom)
Definition: nmg_mod.c:3829
#define bu_strlcpy(dst, src, size)
Definition: str.h:60
#define bu_strdup(s)
Definition: str.h:71

Definition at line 901 of file raytrace.h.

Referenced by color_putrec(), color_zaprec(), db5_diradd(), db_diradd(), db_diradd5(), db_rename(), and db_update_ident().

#define RT_DIR_FREE_NAMEP (   _dp)
Value:
{ \
if ((_dp)->d_namep != (_dp)->d_shortname) \
bu_free((_dp)->d_namep, "d_namep"); \
(_dp)->d_namep = NULL; }
if(share_geom)
Definition: nmg_mod.c:3829
void bu_free(void *ptr, const char *str)
Definition: malloc.c:328

Use this macro to free the d_namep member, which is sometimes not dynamic.

Definition at line 914 of file raytrace.h.

Referenced by db_close(), db_dirdelete(), and db_rename().

#define RT_GET_DIRECTORY (   _p,
  _res 
)
Value:
{ \
while (((_p) = (_res)->re_directory_hd) == NULL) \
(_res)->re_directory_hd = (_p)->d_forw; \
(_p)->d_forw = NULL; }
void db_alloc_directory_block(struct resource *resp)
Definition: db_alloc.c:211

allocate and link in a new directory entry to the resource structure's freelist

Definition at line 924 of file raytrace.h.

Referenced by db5_diradd(), db_diradd(), and db_diradd5().

#define RT_CHECK_COMB (   _p)    BU_CKMAG(_p, RT_COMB_MAGIC, "rt_comb_internal")

Definition at line 954 of file raytrace.h.

Referenced by _rt_gettree_region_start().

#define RT_COMB_INTERNAL_INIT (   _p)
Value:
{ \
(_p)->magic = RT_COMB_MAGIC; \
(_p)->tree = TREE_NULL; \
(_p)->region_flag = 0; \
(_p)->is_fastgen = REGION_NON_FASTGEN; \
(_p)->region_id = 0; \
(_p)->aircode = 0; \
(_p)->GIFTmater = 0; \
(_p)->los = 0; \
(_p)->rgb_valid = 0; \
(_p)->rgb[0] = 0; \
(_p)->rgb[1] = 0; \
(_p)->rgb[2] = 0; \
(_p)->temperature = 0.0; \
BU_VLS_INIT(&(_p)->material); \
(_p)->inherit = 0; \
}
#define TREE_NULL
Definition: raytrace.h:1181
oldeumate l2 magic
Definition: nmg_mod.c:3843
#define RT_COMB_MAGIC
Definition: magic.h:153
#define REGION_NON_FASTGEN
Definition: raytrace.h:553
ustring shader
#define BU_VLS_INIT(_vp)
Definition: vls.h:74

initialize an rt_comb_internal to empty.

Definition at line 960 of file raytrace.h.

Referenced by _ged_combadd2(), ged_comb_std(), ged_put_comb(), ged_red(), mk_comb(), rt_bound_internal(), rt_comb_import4(), rt_comb_import5(), and rt_comb_make().

#define RT_FREE_COMB_INTERNAL (   _p)
Value:
{ \
bu_vls_free(&(_p)->material); \
(_p)->tree = TREE_NULL; \
(_p)->magic = 0; \
}
void bu_vls_free(struct bu_vls *vp)
Definition: vls.c:248
#define TREE_NULL
Definition: raytrace.h:1181
oldeumate l2 magic
Definition: nmg_mod.c:3843
ustring shader

deinitialize an rt_comb_internal. the tree pointer is not released so callers will need to call RT_FREE_TREE() or db_free_tree() directly if a tree is set. the shader and material strings are released. the comb itself will need to be released with bu_free() unless it resides on the stack.

Definition at line 986 of file raytrace.h.

Referenced by rt_comb_ifree().

#define RT_CHECK_BINUNIF (   _p)    BU_CKMAG(_p, RT_BINUNIF_INTERNAL_MAGIC, "rt_binunif_internal")

Definition at line 1015 of file raytrace.h.

Referenced by get_densities_from_database(), rt_binunif_adjust(), and rt_binunif_get().

#define RT_CHECK_CONSTRAINT (   _p)    BU_CKMAG(_p, PC_CONSTRAINT_MAGIC, "pc_constraint_internal")

Definition at line 1030 of file raytrace.h.

#define RT_CK_CONSTRAINT (   _p)    PC_CHECK_CONSTRAINT(_p)

Definition at line 1031 of file raytrace.h.

#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 }

Definition at line 1076 of file raytrace.h.

#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 }

Definition at line 1078 of file raytrace.h.

Referenced by db_path_to_mat().

#define TS_SOFAR_MINUS   1

Subtraction encountered above.

Definition at line 1080 of file raytrace.h.

Referenced by _db_recurse_subtree(), append_solid_to_display_list(), db_apply_state_from_comb(), and db_apply_state_from_one_member().

#define TS_SOFAR_INTER   2

Intersection encountered above.

Definition at line 1081 of file raytrace.h.

Referenced by _db_recurse_subtree(), append_solid_to_display_list(), db_apply_state_from_comb(), and db_apply_state_from_one_member().

#define TS_SOFAR_REGION   4

Region encountered above.

Definition at line 1082 of file raytrace.h.

Referenced by _db_walk_subtree(), db_apply_state_from_comb(), db_apply_state_from_memb(), and db_recurse().

#define RT_DB_TRAVERSE_INIT (   _p)
Value:
(_p)->dbip = ((void *)0); (_p)->comb_enter_func = ((void *)0); \
(_p)->comb_exit_func = ((void *)0); (_p)->leaf_func = ((void *)0); \
(_p)->resp = ((void *)0); (_p)->client_data = ((void *)0);}
#define RT_DB_TRAVERSE_MAGIC
Definition: magic.h:156
oldeumate l2 magic
Definition: nmg_mod.c:3843

Definition at line 1108 of file raytrace.h.

#define RT_CK_DB_TRAVERSE (   _p)    BU_CKMAG(_p, RT_DB_TRAVERSE_MAGIC, "db_traverse")

Definition at line 1112 of file raytrace.h.

Referenced by db_preorder_traverse(), and db_traverse_subtree().

#define RT_CK_CTS (   _p)    BU_CKMAG(_p, RT_CTS_MAGIC, "combined_tree_state")
#define MKOP (   x)    (x)

Binary trees representing the Boolean operations between solids.

Definition at line 1124 of file raytrace.h.

#define OP_UNION   MKOP(2)

Binary: L union R.

Definition at line 1127 of file raytrace.h.

Referenced by _db_recurse_subtree(), _db_walk_subtree(), _ged_combadd2(), _ged_print_node(), _rt_tree_kill_dead_solid_refs(), _rt_tree_region_assign(), brep_conversion_tree(), build_comb(), build_etree(), combmem_get(), conv_tree(), db_apply_state_from_one_member(), db_ck_left_heavy_tree(), db_ck_tree(), db_ck_v4gift_tree(), db_count_subtree_regions(), db_count_tree_nodes(), db_dup_subtree(), db_find_named_leaf(), db_find_named_leafs_parent(), db_flatten_tree(), db_free_tree(), db_fullpath_list(), db_fullpath_list_subtree(), db_functree_subtree(), db_is_tree_all_unions(), db_left_hvy_node(), db_mkbool_tree(), db_mkgift_tree(), db_non_union_push(), db_tally_subtree_regions(), db_traverse_subtree(), db_tree_counter(), db_tree_del_lhs(), db_tree_del_rhs(), db_tree_describe(), db_tree_flatten_describe(), db_tree_funcleaf(), db_tree_list(), db_tree_mul_dbleaf(), db_tree_nleaves(), db_tree_parse(), db_walk_tree(), do_union_subtr(), eval_etree(), eval_op(), evaluate(), free_etree(), gauss_setup(), ged_bev(), ged_get_comb(), mk_tree_gift(), mk_tree_pure(), nmg_booltree_evaluate(), rt_booleval(), rt_bound_tree(), rt_comb_export4(), rt_comb_import4(), rt_comb_import5(), rt_comb_v5_serialize(), rt_optim_tree(), rt_pr_tree(), rt_pr_tree_str(), rt_pr_tree_val(), rt_pr_tree_vls(), rt_solid_bitfinder(), rt_traverse_tree(), rt_tree_elim_nops(), rt_tree_max_raynum(), rt_tree_test_ready(), tables_new(), tree_parse(), and write_comb().

#define OP_FREE   MKOP(13)

Unary: L has free chain.

Definition at line 1140 of file raytrace.h.

Referenced by db_free_tree().

#define tr_op   tr_a.tu_op

Definition at line 1178 of file raytrace.h.

#define tr_regionp   tr_a.tu_regionp

Definition at line 1179 of file raytrace.h.

Referenced by rt_booleval().

#define RT_CK_TREE (   _p)    BU_CKMAG(_p, RT_TREE_MAGIC, "union tree")
#define RT_TREE_INIT (   _p)
Value:
{ \
(_p)->magic = RT_TREE_MAGIC; \
(_p)->tr_b.tb_op = 0; \
(_p)->tr_b.tb_regionp = NULL; \
(_p)->tr_b.tb_left = NULL; \
(_p)->tr_b.tb_right = NULL; \
}
oldeumate l2 magic
Definition: nmg_mod.c:3843
#define RT_TREE_MAGIC
Definition: magic.h:171

initialize a union tree to zero without a node operation set. Use the largest union so all values are effectively zero except for the magic number.

Definition at line 1189 of file raytrace.h.

Referenced by _gcv_cleanup(), brep_conversion_comb(), brep_conversion_tree(), build_comb(), combmem_set(), combmem_set_arb_rot(), combmem_set_rot(), combmem_set_sca(), combmem_set_tra(), do_inter(), do_region_end(), do_union_subtr(), ged_bev(), make_hole(), make_hole_in_prepped_regions(), mesh_leaf(), mk_tree_gift(), mk_tree_pure(), nmg_region_end(), and rt_bound_internal().

#define RT_GET_TREE (   _tp,
  _res 
)
Value:
{ \
if (((_tp) = (_res)->re_tree_hd) != TREE_NULL) { \
(_res)->re_tree_hd = (_tp)->tr_b.tb_left; \
(_tp)->tr_b.tb_left = TREE_NULL; \
(_res)->re_tree_get++; \
} else { \
BU_ALLOC(_tp, union tree); \
(_res)->re_tree_malloc++; \
} \
RT_TREE_INIT((_tp)); \
}
#define RT_TREE_INIT(_p)
Definition: raytrace.h:1189
if(share_geom)
Definition: nmg_mod.c:3829
#define BU_ALLOC(_ptr, _type)
Definition: malloc.h:223
#define TREE_NULL
Definition: raytrace.h:1181

RT_GET_TREE returns a new initialized tree union pointer. The magic number is set to RT_TREE_MAGIC and all other members are zero-initialized.

This is a malloc-efficient BU_ALLOC(tp, union tree) replacement. Previously used tree nodes are stored in the provided resource pointer (during RT_FREE_TREE) as a single-linked list using the tb_left field. Requests for new nodes are pulled first from that list or allocated fresh if needed.

DEPRECATED, use BU_GET()

Definition at line 1210 of file raytrace.h.

Referenced by _db_gettree_leaf(), _db_gettree_region_end(), _db_recurse_subtree(), _ged_combadd2(), _rt_gettree_leaf(), add_operand(), append_solid_to_display_list(), db_dup_subtree(), db_mkbool_tree(), db_non_union_push(), db_recurse(), db_tally_subtree_regions(), db_tree_parse(), db_walk_tree(), nmg_booltree_leaf_tess(), nmg_booltree_leaf_tnurb(), rt_bound_internal(), rt_comb_import4(), rt_comb_import5(), and rt_submodel_wireframe_leaf().

#define RT_FREE_TREE (   _tp,
  _res 
)
Value:
{ \
(_tp)->magic = 0; \
(_tp)->tr_b.tb_left = (_res)->re_tree_hd; \
(_tp)->tr_b.tb_right = TREE_NULL; \
(_res)->re_tree_hd = (_tp); \
(_tp)->tr_b.tb_op = OP_FREE; \
(_res)->re_tree_free++; \
}
#define OP_FREE
Unary: L has free chain.
Definition: raytrace.h:1140
#define TREE_NULL
Definition: raytrace.h:1181
oldeumate l2 magic
Definition: nmg_mod.c:3843

RT_FREE_TREE deinitializes a tree union pointer.

This is a malloc-efficient replacement for bu_free(tp). Instead of actually freeing the nodes, they are added to a single-linked list in rt_tree_hd down the tb_left field. Requests for new nodes (via RT_GET_TREE()) pull from this list instead of allocating new nodes.

DEPRECATED, use BU_PUT()

Definition at line 1232 of file raytrace.h.

Referenced by _db_recurse_subtree(), _db_walk_subtree(), db_flatten_tree(), db_free_tree(), db_tree_del_lhs(), db_tree_del_rhs(), db_tree_parse(), and rt_tree_elim_nops().

#define TREE_LIST_NULL   ((struct tree_list *)0)

Definition at line 1252 of file raytrace.h.

#define RT_MAXLINE   10240

Definition at line 1255 of file raytrace.h.

Referenced by _ged_editit(), _ged_rt_output_handler(), ged_edcodes(), ged_nirt(), and ged_rcodes().

#define RT_CHECK_WDB (   _p)    BU_CKMAG(_p, RT_WDB_MAGIC, "rt_wdb")

Definition at line 1291 of file raytrace.h.

Referenced by make_hole(), and make_hole_in_prepped_regions().

Definition at line 1293 of file raytrace.h.

#define RT_WDB_NULL   ((struct rt_wdb *)NULL)
#define RT_WDB_TYPE_DB_DISK   2

Definition at line 1295 of file raytrace.h.

Referenced by ged_keep(), ged_open(), main(), wdb_dbopen(), wdb_export_external(), and wdb_fopen_v().

#define RT_WDB_TYPE_DB_DISK_APPEND_ONLY   3

Definition at line 1296 of file raytrace.h.

Referenced by ged_open(), wdb_dbopen(), and wdb_export_external().

#define RT_WDB_TYPE_DB_INMEM   4

Definition at line 1297 of file raytrace.h.

Referenced by db_open_inmem(), ged_open(), wdb_dbopen(), and wdb_export_external().

#define RT_WDB_TYPE_DB_INMEM_APPEND_ONLY   5

Definition at line 1298 of file raytrace.h.

Referenced by ged_open(), wdb_dbopen(), and wdb_export_external().

#define RT_MINVIEWSIZE   0.0001

Definition at line 1301 of file raytrace.h.

Referenced by ged_scale(), ged_size(), vo_sca(), and vo_size().

#define RT_MINVIEWSCALE   0.00005

Definition at line 1302 of file raytrace.h.

Referenced by vo_zoom(), and zoom().

#define ANM_RSTACK   1

Replace stacked matrix.

Definition at line 1316 of file raytrace.h.

Referenced by db_do_anim(), db_parse_1anim(), and db_write_anim().

#define ANM_RARC   2

Replace arc matrix.

Definition at line 1317 of file raytrace.h.

Referenced by db_do_anim(), db_parse_1anim(), and db_write_anim().

#define ANM_LMUL   3

Left (root side) mul.

Definition at line 1318 of file raytrace.h.

Referenced by db_do_anim(), db_parse_1anim(), and db_write_anim().

#define ANM_RMUL   4

Right (leaf side) mul.

Definition at line 1319 of file raytrace.h.

Referenced by db_do_anim(), db_parse_1anim(), and db_write_anim().

#define ANM_RBOTH   5

Replace stack, arc=Idn.

Definition at line 1320 of file raytrace.h.

Referenced by db_do_anim(), db_parse_1anim(), and db_write_anim().

#define RT_ANP_REPLACE   1

Replace shader string.

Definition at line 1327 of file raytrace.h.

Referenced by db_do_anim(), db_parse_1anim(), and db_write_anim().

#define RT_ANP_APPEND   2

Append to shader string.

Definition at line 1328 of file raytrace.h.

Referenced by db_do_anim(), db_parse_1anim(), and db_write_anim().

#define RT_CK_ANP (   _p)    BU_CKMAG((_p), RT_ANP_MAGIC, "rt_anim_property")

Definition at line 1329 of file raytrace.h.

#define RT_AN_MATRIX   1

Matrix animation.

Definition at line 1348 of file raytrace.h.

Referenced by db_do_anim(), db_parse_1anim(), and db_write_anim().

#define RT_AN_MATERIAL   2

Material property anim.

Definition at line 1349 of file raytrace.h.

Referenced by db_do_anim(), db_free_1anim(), db_parse_1anim(), and db_write_anim().

#define RT_AN_COLOR   3

Material color anim.

Definition at line 1350 of file raytrace.h.

Referenced by db_do_anim(), db_parse_1anim(), and db_write_anim().

#define RT_AN_SOLID   4

Solid parameter anim.

Definition at line 1351 of file raytrace.h.

Referenced by db_write_anim().

#define RT_AN_TEMPERATURE   5

Region temperature.

Definition at line 1352 of file raytrace.h.

Referenced by db_do_anim(), and db_parse_1anim().

#define ANIM_NULL   ((struct animate *)0)

Definition at line 1354 of file raytrace.h.

Referenced by db_add_anim(), db_apply_anims(), db_follow_path(), and db_free_anim().

#define RT_CK_ANIMATE (   _p)    BU_CKMAG((_p), ANIMATE_MAGIC, "animate")
#define RT_CK_HTBL (   _p)    BU_CKMAG(_p, RT_HTBL_MAGIC, "rt_htbl")

Definition at line 1367 of file raytrace.h.

Referenced by rt_bot_piece_hitsegs(), rt_htbl_free(), rt_htbl_get(), and rt_htbl_reset().

#define RT_CK_PIECESTATE (   _p)    BU_CKMAG(_p, RT_PIECESTATE_MAGIC, "struct rt_piecestate")

Definition at line 1387 of file raytrace.h.

Referenced by rt_bot_piece_hitsegs(), rt_res_pieces_clean(), rt_shootray(), and XGLUE().

#define RT_CK_PIECELIST (   _p)    BU_CKMAG(_p, RT_PIECELIST_MAGIC, "struct rt_piecelist")
#define RT_DEFAULT_MINPIECES   32

Definition at line 1413 of file raytrace.h.

#define RT_DEFAULT_TRIS_PER_PIECE   4

Definition at line 1414 of file raytrace.h.

#define RT_DEFAULT_MINTIE   0 /* TODO: find the best value */

Definition at line 1415 of file raytrace.h.

Referenced by rt_bot_prep().

#define RESOURCE_NULL   ((struct resource *)0)

Definition at line 1489 of file raytrace.h.

Referenced by rt_cell_n_on_ray(), and rt_shootray().

#define RT_CK_RESOURCE (   _p)    BU_CKMAG(_p, RESOURCE_MAGIC, "struct resource")

Definition at line 1490 of file raytrace.h.

Referenced by _db_gettree_leaf(), _db_gettree_region_end(), _db_recurse_subtree(), _db_walk_dispatcher(), _db_walk_subtree(), _rt_gettree_leaf(), _rt_gettree_region_end(), _rt_gettree_region_start(), append_solid_to_display_list(), db_alloc_directory_block(), db_comb_describe(), db_dup_subtree(), db_flatten_tree(), db_follow_path(), db_free_tree(), db_functree(), db_functree_subtree(), db_init_db_tree_state(), db_mkbool_tree(), db_mkgift_tree(), db_non_union_push(), db_preorder_traverse(), db_recurse(), db_tally_subtree_regions(), db_traverse_subtree(), db_tree_del_dbleaf(), db_tree_del_lhs(), db_tree_del_rhs(), db_tree_flatten_describe(), db_tree_parse(), db_update_nref(), db_walk_tree(), nmg_boolean(), nmg_booltree_evaluate(), nmg_booltree_leaf_tess(), nmg_booltree_leaf_tnurb(), rt_add_res_stats(), rt_alloc_seg_block(), rt_binunif_export5(), rt_binunif_import5_minor_type(), rt_booleval(), rt_boolweave(), rt_cell_n_on_ray(), rt_clean(), rt_clean_resource_basic(), rt_comb_describe(), rt_comb_export4(), rt_comb_export5(), rt_comb_import5(), rt_constraint_export5(), rt_constraint_import5(), rt_db_cvt_to_external5(), rt_db_external5_to_internal5(), rt_db_get_internal5(), rt_db_put_internal5(), rt_del_regtree(), rt_dsp_describe(), rt_dsp_export5(), rt_dsp_import5(), rt_extrude_xform(), rt_generic_xform(), rt_hlf_xform(), rt_matrix_transform(), rt_nurb_calc_oslo(), rt_nurb_clean_snurb(), rt_nurb_free_oslo(), rt_nurb_free_snurb(), rt_nurb_gen_knot_vector(), rt_nurb_kvcopy(), rt_nurb_kvextract(), rt_nurb_kvgen(), rt_nurb_kvknot(), rt_nurb_kvmerge(), rt_nurb_kvmult(), rt_nurb_new_snurb(), rt_obj_describe(), rt_obj_export(), rt_obj_import(), rt_obj_xform(), rt_pg_to_bot(), rt_prep_parallel(), rt_res_pieces_clean(), rt_res_pieces_init(), rt_revolve_xform(), rt_shader_mat(), rt_shoot_many_rays(), rt_shoot_many_rays_worker(), rt_shootray(), rt_shootray_bundle(), rt_solid_bitfinder(), rt_submodel_free(), rt_submodel_shot(), rt_submodel_wireframe_leaf(), rt_tree_elim_nops(), rt_vshootray(), rt_weave0seg(), rt_zero_res_stats(), unprep_leaf(), unprep_reg_end(), unprep_reg_start(), and XGLUE().

#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 }

Definition at line 1491 of file raytrace.h.

Referenced by to_rt_gettrees_application().

#define CORNER_PTS   4

This structure is intended to describe the area and/or volume represented by a ray. In the case of the "rt" program it represents the extent in model coordinates of the prism behind the pixel being rendered.

The r_pt values of the rays indicate the dimensions and location in model space of the ray origin (usually the pixel to be rendered). The r_dir vectors indicate the edges (and thus the shape) of the prism which is formed from the projection of the pixel into space.

Definition at line 1525 of file raytrace.h.

Referenced by prj_render().

#define BU_CK_PIXEL_EXT (   _p)    BU_CKMAG(_p, PIXEL_EXT_MAGIC, "struct pixel_ext")

Definition at line 1531 of file raytrace.h.

Referenced by prj_render().

#define RT_APPLICATION_NULL   ((struct application *)0)

Definition at line 1672 of file raytrace.h.

Referenced by to_rt_gettrees(), and to_rt_gettrees_application().

#define RT_AFN_NULL   ((int (*)(struct application *, struct partition *, struct region *, struct region *, struct partition *))NULL)

Definition at line 1673 of file raytrace.h.

Referenced by rt_default_multioverlap().

#define RT_APPLICATION_INIT (   _p)
Value:
{ \
memset((char *)(_p), 0, sizeof(struct application)); \
(_p)->a_magic = RT_AP_MAGIC; \
}
#define RT_AP_MAGIC
Definition: magic.h:152
void * memset(void *s, int c, size_t n)

Definition at line 1676 of file raytrace.h.

Referenced by BU_FORTRAN(), fire_row(), ged_E(), Irradiance(), nmg_class_ray_vs_shell(), osl_render(), plane_worker(), rr_hit(), rr_render(), rt_bot_smooth(), tmist_render(), to_rt_gettrees_application(), and voxelize().

#define RT_G_INIT_ZERO   { 0, 0, BU_LIST_INIT_ZERO, 0, RT_WDB_INIT_ZERO }

Definition at line 1702 of file raytrace.h.

#define RT_G_DEBUG   RTG.debug

Definition at line 1718 of file raytrace.h.

Referenced by _db_walk_dispatcher(), _rt_find_identical_solid(), _rt_gettree_leaf(), _rt_gettree_region_end(), _rt_tree_kill_dead_solid_refs(), add_seg(), append_solid_to_display_list(), compute_normal_at_gridpoint(), db5_crack_disk_header(), db5_diradd(), db5_diradd_handler(), db5_realloc(), db5_replace_attributes(), db5_scan(), db5_update_attributes(), db_add_anim(), db_alloc(), db_apply_anims(), db_close(), db_create(), db_delete(), db_delrec(), db_diradd(), db_do_anim(), db_follow_path(), db_functree(), db_fwrite_external(), db_fwrite_ident(), db_get(), db_get_external(), db_getmrec(), db_lookup(), db_mkbool_tree(), db_mkgift_tree(), db_open(), db_preorder_traverse(), db_put(), db_put_external(), db_put_external5(), db_read(), db_recurse(), db_scan(), db_update_ident(), db_walk_tree(), db_write(), db_write_anim(), db_zapper(), do_grid(), do_region_end(), do_region_end1(), do_region_end2(), dsp_get_data(), dsp_layers(), dsp_pos(), ged_debuglib(), ged_push(), get_obj_data(), isect_ray_cell_top(), isect_ray_dsp_bb(), isect_ray_triangle(), nmg_booltree_leaf_tess(), nmg_booltree_leaf_tnurb(), nmg_face_state_transition(), nmg_loop_is_ccw(), nmg_region_end(), permute_cell(), project_pt(), recurse_dsp_bb(), rt_advance_to_next_cell(), rt_arb_mk_planes(), rt_arb_shot(), rt_arb_tess(), rt_arb_tnurb(), rt_arb_uv(), rt_ars_shot(), rt_ars_uv(), rt_boolfinal(), rt_boolweave(), rt_cell_n_on_ray(), rt_ck_overlap(), rt_ct_box(), rt_ct_old_assess(), rt_ct_optim(), rt_cut_extend(), rt_cut_it(), rt_cut_optimize_parallel(), rt_default_multioverlap(), rt_del_regtree(), rt_dsp_class(), rt_dsp_curve(), rt_dsp_describe(), rt_dsp_export4(), rt_dsp_export5(), rt_dsp_free(), rt_dsp_ifree(), rt_dsp_import4(), rt_dsp_import5(), rt_dsp_norm(), rt_dsp_plot(), rt_dsp_prep(), rt_dsp_shot(), rt_dsp_tess(), rt_dsp_uv(), rt_ebm_dda(), rt_fastgen_plate_vol_overlap(), rt_fastgen_vol_vol_overlap(), rt_fdiff(), rt_gettrees_muves(), rt_hf_shot(), rt_hf_to_dsp(), rt_hlf_uv(), rt_nmg_import4(), rt_nugrid_cut(), rt_nurb_intersect(), rt_nurb_shot(), rt_pgface(), rt_prep_parallel(), rt_rec_shot(), rt_regionfix(), rt_retrieve_binunif(), rt_seg_planeclip(), rt_shootray(), rt_shootray_bundle(), rt_submodel_prep(), rt_submodel_wireframe_leaf(), rt_tgc_prep(), rt_vol_shot(), rt_vshootray(), rt_weave0seg(), swap_cell_pts(), and XGLUE().

#define RT_SEM_TREE0   (BU_SEM_LAST)

Definition of global parallel-processing semaphores.

res_syscall is now BU_SEM_SYSCALL

Definition at line 1726 of file raytrace.h.

#define RT_SEM_TREE1   (RT_SEM_TREE0+1)

Definition at line 1727 of file raytrace.h.

#define RT_SEM_TREE2   (RT_SEM_TREE1+1)

Definition at line 1728 of file raytrace.h.

#define RT_SEM_TREE3   (RT_SEM_TREE2+1)

Definition at line 1729 of file raytrace.h.

#define RT_SEM_WORKER   (RT_SEM_TREE3+1)
#define RT_SEM_STATS   (RT_SEM_WORKER+1)

Definition at line 1731 of file raytrace.h.

Referenced by _rt_find_identical_solid().

#define RT_SEM_RESULTS   (RT_SEM_STATS+1)

Definition at line 1732 of file raytrace.h.

Referenced by _rt_gettree_region_end(), and rt_prep_parallel().

#define RT_SEM_LAST   (RT_SEM_MODEL+1)

Definition at line 1735 of file raytrace.h.

#define RT_NU_GFACTOR_DEFAULT   1.5

see rt_cut_it() for a description of this

Definition at line 1826 of file raytrace.h.

Referenced by rt_new_rti(), and rt_nugrid_cut().

#define RTI_NULL   ((struct rt_i *)0)
#define RT_PART_NUBSPT   0

Definition at line 1835 of file raytrace.h.

Referenced by rt_cut_it(), rt_new_rti(), and rt_pr_cut_info().

#define RT_PART_NUGRID   1

Definition at line 1836 of file raytrace.h.

Referenced by rt_cut_it(), and rt_pr_cut_info().

#define RT_VISIT_ALL_SOLTABS_START (   _s,
  _rti 
)
Value:
{ \
register struct bu_list *_head = &((_rti)->rti_solidheads[0]); \
for (; _head < &((_rti)->rti_solidheads[RT_DBNHASH]); _head++) \
for (BU_LIST_FOR(_s, soltab, _head)) {
#define BU_LIST_FOR(p, structure, hp)
Definition: list.h:365
#define RT_DBNHASH
hash table is an array of linked lists with this many array pointer elements (Memory use for 32-bit: ...
Definition: raytrace.h:755
Definition: list.h:118

Macros to painlessly visit all the active solids. Serving suggestion:

RT_VISIT_ALL_SOLTABS_START(stp, rtip) { rt_pr_soltab(stp); } RT_VISIT_ALL_SOLTABS_END

Definition at line 1845 of file raytrace.h.

Referenced by rt_ck(), rt_cut_it(), rt_cut_one_axis(), rt_find_solid(), rt_gettrees_muves(), rt_plot_all_bboxes(), rt_plot_all_solids(), rt_prep_parallel(), rt_reprep(), rt_res_pieces_init(), and rt_submodel_print().

#define RT_GET_VLIST (   p)    BN_GET_VLIST(&RTG.rtg_vlfree, p)

Applications that are going to use RT_ADD_VLIST and RT_GET_VLIST are required to execute this macro once, first:

BU_LIST_INIT(&RTG.rtg_vlfree);

Note that RT_GET_VLIST and RT_FREE_VLIST are non-PARALLEL.

Definition at line 1860 of file raytrace.h.

Referenced by vdraw_insert().

#define RT_FREE_VLIST (   hd)    BN_FREE_VLIST(&RTG.rtg_vlfree, hd)

Place an entire chain of bn_vlist structs on the freelist

Definition at line 1863 of file raytrace.h.

Referenced by full_region_node(), redraw_solid(), rt_extrude_tess(), rt_plot_solid(), and solid_node().