Repository URL to install this package:
Version:
7.26.0-0.2 ▾
|
-*- coding: utf-8 -*-
BRL-CAD Interface Change Policy
===============================
Included below are details of BRL-CAD public interface changes that
potentially impact external developers and users. Public interfaces
include developer application programming interface (API) calls as
well as user application command-line interface (CLI) and graphical
user interface (GUI) behaviors. Changes are characterized as:
1) those affecting a new interface,
2) being minimally impacting, or
3) requiring adherence to deprecation policy.
This policy is intentionally designed to balance developer agility,
helping accelerate development, with interface stability, helping
preserve application developer and user investments.
All changes to BRL-CAD are expected to conform to this change policy.
NEW INTERFACE
-------------
Changes to interfaces that have been recently introduced are often
subject to further change and should not yet be relied upon by
application developers or users until they stabilize. They are
allowed to change from release to release and are not subject to
change policy restrictions until they have been included in at least
TWO releases without any change.
MINIMALLY IMPACTING
-------------------
If a change to an interface has a suitable and completely equivalent
alternative, the change is deemed to be "minimally impacting" and can
be made during any release. Examples of such changes include renaming
an interface, reordering parameters, adding optional parameters,
adding additional parameters for previously implicit behavior, and
removing unused parameters.
Generally, the impact can usually be considered minimally impacting if
a static regular expression search-and-replace is all that is needed
to update calling code, and no manual intervention is required.
DEPRECATION POLICY
------------------
If a change will intentionally alter, replace, or remove functionality
that has been documented and published in at least TWO releases, it
must first be announced as DEPRECATED. Otherwise, changes to
interfaces that have not been publicly announced or are not publicly
documented for at least two releases may be changed without notice.
The general practice is that public interface changes may go from
deprecated to obsolete, whereby previous behavior is removed or
changed, during one of the following events:
a) during a major release (e.g. going from 7.*.* to 8.*.*)
b) during a minor release provided the change was publicly announced
as deprecated beforehand AND sufficient deprecation warning was
given via i) TWO minor releases included the deprecation notice,
and ii) at least THREE months (90 days) have passed since the
deprecation was announced
c) during any release provided there still exists an EQUIVALENT
alternative interface that does not impose an undue burden on users
or developers (see "MINIMALLY IMPACTING")
Public interfaces scheduled for removal should be visibly marked as
deprecated during compilation with the DEPRECATED keyword on function
declarations, with #warning "DEPRECATED ..." pre-processor statements,
and with @DEPRECATED in source code comments. Where users are not
adversely affected, a run-time DEPRECATION statement may be printed.
Whenever published functionality is finally removed, move its entry
from the DEPRECATED section below to the REMOVED section for the
version in which it was removed. Make sure the entry retains a
reference to the version in which the item was marked as deprecated.
EXAMPLES
--------
Example #1: Say we decided during 7.50.3 development to remove
rt_shootray() from the API without a replacement. That does NOT
qualify as "minimally impacting" because there's no replacement and
rt_shootray() has been published and documented in more than two
releases. We'd annotate the deprecation in the CHANGES file, mark the
function as DEPRECATED in the API header, and post the 7.50.4 release.
The soonest that function could be removed would be in the 7.54.0
release during 7.53 development. It could NOT be removed in 7.54.2
since it's a patch version, prior to the 7.54 release line, nor even
during 7.54.0 if less than 90 days had passed since 7.50.6 was posted.
Example #2: Say we decide during 7.48.0 development to modify bu_log()
by adding a new additional enum parameter denoting a message type.
This change is considered minimally impacting because it can be
characterized by a simple regular expression (e.g.,
s/bu_log(/bu_log(PRINT, /g). Updates to calling codes are considered
trivial. The change would get documented in the CHANGES file and all
calls that can be updated must be updated at that time.
**************
* DEPRECATED *
**************
The items listed below are interfaces that are deprecated. They are
categorized by the release in which the change was made. If the
change involved a removal of a command or function, both the original
and new names should be listed for reference. If an item is marked
with a "'" (single quote), that means it was not documented and may be
removed at any time.
7.26
----
ray tracing tools
lgt : functionally replaced by nirt
rtcell', rtfrac', rtpp, rtrad', rtrange, rtray, rtregis, rtsil'
Removed as part of distillation effort [deprecated 7.26]
converter tools
cy-g, euclid-g, euclid_format', euclid_unformat', g-euclid,
g-euclid1', g-tankill, intaval-g.py, viewpoint-g : obsolete formats
plot3-X, plot3-hpgl, plot3-tek : obsolete interface, see overlay command
plot3debug, xyz-plot3 : see plot3-asc,asc-plot3
bot-bldxf', bot_shell-vtk, g-nmg, nmg-bot, nmg-rib, nmg-sgp',
poly-bot, rt_bot_faces, : primitive-specific converters
Removed as part of distillation effort [deprecated 7.26]
image tools
cmap-fb, fb-cmap, fbcmrot : colormap support obsolete
fbed, cell-fb : outside scope
fbscanplot, polar-fb, pp-fb, bw-imp, pixinfo.sh : obsolete
png_info : incorporating into icv
pixpaste : outside scope, license
alias-pix' : incorporating into icv
asc2pix' : incorporating into icv
pix-yuv', yuv-pix' : obsolete non-standard format
texturescale : obsolete implementation
Removed as part of distillation effort [deprecated 7.26]
video & animation tools
anim_*', fbanim, chan_add', chan_mult, chan_permute,
pixflip-fb' : outside scope
pixfields', pixfieldsep' : outside scope
orbit.sh, rtwalk, scriptsort, script-tab', tabinterp, tabsup,
azel, bary
Removed as part of distillation effort [deprecated 7.26]
signal analysis tools
a-d', d-a', bw-a', i-a', u-a' : incorporating into cv
d-a', d-bw', d-f', d-i', d-u' : incorporating into cv
a-d', bw-d', c-d', f-d', i-d', u-d' : incorporating into cv
f-d', f-i', d-f', i-f', u-f', u-bw' : incorporating into cv
d2-c', double-asc' : incorporating into cv
Removed as part of distillation effort [deprecated 7.26]
infrared & shapefactor tools
all_sf', if-X, ifdisp, pictx, showterm, firpass, secpass, shapefact
ssamp-bw, ssampview', ssampview.tcl'
Removed as part of distillation effort [deprecated 7.26]
misc tools
fix_polysolids' : obsolete primitive
remapid : superseded by reid+remat
buffer : unnecesary network/stream buffering tool
hex : superseded by hexdump
Removed as part of distillation effort [deprecated 7.26]
include/bu/ptbl.h
BU_PTBL_BASEADDR, BU_PTBL_LASTADDR, BU_PTBL_END
Removed as private implementation detail [deprecated 7.26
include/bu/hash.h
bu_hash_tbl_find, bu_set_hash_value, bu_get_hash_value, bu_get_hash_key,
bu_hash_tbl_add, bu_hash_tbl_print, bu_hash_tbl_free, bu_hash_tbl_first,
bu_hash_tbl_next, bu_hash_tbl_traverse, public structs bu_hash_entry and
bu_hash_tbl will be made private.
Replaced with new API [deprecated 7.26]
include/bu/cmd.h
remove struct bu_cmdhist and struct bu_cmdhist_obj [deprecated 7.26]
BU_CMDHIST_NULL, BU_CMDHIST_OBJ_NULL, bu_cmdhist_histor, bu_cmdhist_add,
bu_cmdhist_curr, bu_cmdhist_nest, bu_cmdhist_prev [deprecated 7.26]
fb-rle, rle-fb, bw-rle, pix-rle, rle-pix
All tools focused specifically on the RLE image format. [deprecated 7.26]
nirt
-T - use LIBRT_BOT_MINTIE environment variable instead [deprecated 7.26]
all global variables
global variables are no longer considered published public API [deprecated 7.26]
bn_mat_identity -> MAT_INIT_IDN or MAT_IDN() or NULL
include/bn.h
tp_setup, no longer needs to be public API [deprecated 7.26]
include/raytrace.h
curve_to_tcl_list
db_full_path_appendresult tcl_obj_to_int_array
tcl_obj_to_fastf_array tcl_list_to_int_array
tcl_list_to_fastf_array *_tcl_*, removal of all tcl-specific
API functions [deprecated 7.26]
db_regexp_match_all() -> db_ls() [deprecated 7.26]
include/rt/solid.h
shouldn't be public API - this level of detail belongs inside the display
manager [deprecated 7.26]
include/ged/defines.h
remove struct ged_drawable - shouldn't be public API [deprecated 7.26]
remove freesolid from struct ged - exposes struct solid [deprecated 7.26]
include/ged/view.h
remove current forms of dl_erasePathFromDisplay and invent_solid - they
expose the struct solid type [deprecated 7.26]
include/tclcad.h
tclcad_bn_mat_print tclcad_rt_parse_ray tclcad_rt_pr_cutter
tclcad_rt_pr_hit tclcad_rt_rt tclcad_rt_import_from_path, removal of all
tcl-specific API functions [deprecated 7.26]
pixcut, pixpaste
copyright cleanup [deprecated 7.26]
librt, fast4-g
removal of CLINE entity support [deprecated 7.26]
mged
kill, killtree, killall, killrefs - replaced with rm command [deprecated 7.26]
rm comb obj1 obj2 comb1 ... -> new behavior: remove objects and empty combs from .g
original functionality replaced with rm comb/obj* comb/comb1 ... syntax [deprecated 7.26]
expand -> replaced by search -name <pattern> (previous docs indicating matching of
expand was regex were wrong - uses bu_fnmatch.) [deprecated 7.26]
pathlist, paths -> replaced by search [deprecated 7.26]
burst
remove termlib-based interactive menu interface [deprecated 7.26]
7.24
----
fbed, pp-fb
removes termcap use, no known users [deprecated 7.24]
include/raytrace librt
db_full_path_list_add(), db_free_full_path_list() [deprecated 7.24]
db_search_formplan(), db_search_freeplan(), db_search_full_paths() [deprecated 7.24]
db_search_unique_objects(), struct db_full_path_list [deprecated 7.24]
src/irprep
all_sf, firpass, ir-X, irdisp, pictx, secpass, shapefact, showterm [deprecated 7.24]
include/raytrace.h librt
RT_DBHASH and RT_DBNHASH [deprecated 7.24]
7.22
----
include/raytrace.h librt
nmg_model_break_e_on_v -> nmg_break_e_on_v [deprecation 7.22]
RT_GET_TREE -> BU_GET [deprecation 7.22]
RT_FREE_TREE -> BU_PUT [deprecation 7.22]
include/bu.h
bu_parse_mm() [deprecated 7.22]
mged
em, e_muves, l_muves, lm, read_muves, and t_muves MUVES-specific commands [deprecated 7.22]
7.20
----
tclscripts/lib
Mged, Database, Db, Dm, Drawable, Display, QuadDisplay, View -> Ged [deprecated 7.20]
librt
bspline primitive [deprecated 7.20]
poly primitive [deprecated 7.20]
hf primitive [deprecated 7.20]
include/bu.h
bu_vls_init_if_uninit() -> bu_vls_init() [deprecated 7.20]
GNU Autotools configure compatibility script
./configure -> cmake . [deprecated 7.20]
include/raytrace.h
rt_load_attrs() -> rt_gettrees_and_attrs() or db5_import_attributs() [deprecated 7.20]
db_regexp_match() -> !bu_fnmatch() [deprecated 7.20]
7.18
----
include/raytrace.h rt_comb_internal members
region_id -> region_id attribute [deprecated 7.18]
aircode -> air attribute [deprecated 7.18]
GIFTmater -> material_id attribute [deprecated 7.18]
los -> los attribute [deprecated 7.18]
bu.h xdr API
BU_GLONGLONG() -> ntohll() [deprecated 7.18]
BU_GLONG() -> ntohl() [deprecated 7.18]
BU_GSHORT() -> ntohs() [deprecated 7.18]
bu_gshort() -> ntohs() [deprecated 7.18]
bu_glong() -> ntohl() [deprecated 7.18]
bu_pshort() -> htons() [deprecated 7.18]
bu_plong() -> htonl() [deprecated 7.18]
bu_plonglong() -> htonll() [deprecated 7.18]
db.h
rt_fastf_float() -> ntohf() [deprecated 7.18]
rt_mat_dbmat() -> htonf() [deprecated 7.18]
rt_dbmat_mat() -> ntohf() [deprecated 7.18]
mged
?(*) -> ? -(*) [deprecated 7.18]
apropos(*) -> apropos -(*) [deprecated 7.18]
dbconcat -> db concat [deprecated 7.18]
dbupgrade -> db upgrade [deprecated 7.18]
dbversion -> db version [deprecated 7.18]
dbfind -> search [deprecated 7.18]
debug* -> debug [deprecated 7.18]
comb_std -> comb [deprecated 7.18]
comb_color -> comb [deprecated 7.18]
combmem -> comb [deprecated 7.18]
kill(*) -> kill [deprecated 7.18]
rotobj -> rot [deprecated 7.18]
qvrot -> rot -q -v [deprecated 7.18]
qorot -> rot -q [deprecated 7.18]
([amov])rot -> rot -([amv]) [deprecated 7.18]
([op])scale -> sca -(p) [deprecated 7.18]
([op])translate -> tra -(p) [deprecated 7.18]
nmg_(*) -> nmg (*) [deprecated 7.18]
bot_(*) -> bot (*) [deprecated 7.18]
[so]ed -> edit [deprecated 7.18]
[tr]ed -> edit -t [deprecated 7.18]
ls -oA -> ls -O [deprecated 7.18]
draw -oA -> draw -O [deprecated 7.18]
erase -oA -> erase -O [deprecated 7.18]
erase_all -> erase -r [deprecated 7.18]
move_all -> move -r [deprecated 7.18]
query_ray -> nirt [deprecated 7.18]
vdraw -> draw -v [deprecated 7.18]
vnirt -> nirt -v [deprecated 7.18]
vquery_ray -> nirt -v [deprecated 7.18]
xpush -> push -x [deprecated 7.18]
7.16
----
struct bu_structparse 'i' format
'i' -> '%p' [deprecated 7.16]
reserved attributes and case-sensitivity
id -> region_id [deprecated 7.16]
GIFTmater -> material_id [deprecated 7.16]
GIFT_MATERIAL -> material_id [deprecated 7.16]
mat -> material_id [deprecated 7.16]
AIRCODE -> air [deprecated 7.16]
rgb -> color [deprecated 7.16]
oshader -> shader [deprecated 7.16]
include/raytrace.h
rt_prep_timer() -> bu_timer() [deprecated 7.16]
rt_get_timer() -> bu_elapsed() [deprecated 7.16]
7.14
----
mged
src/tclscripts/mged/bots.tcl [deprecated 7.14]
7.12
----
include/raytrace.h
rt_functab size -> growing ft_label and new callbacks [deprecated 7.12]
src/rt/viewarea.c
terminology and output format [deprecated 7.12]
pre 7.0
-------
include/raytrace.h
struct hit.hit_point -> RT_HIT_POINT [deprecated pre-7.0]
struct hit.hit_normal -> RT_HIT_NORMAL [deprecated pre-7.0]
***********
* REMOVED *
***********
Below are the interfaces that have followed deprecation policy or were
deemed minimally impacting and, regardless, are now no longer a part
of BRL-CAD.
7.26.0
------
dbcp
dbcp -> dd [deprecated 7.18]
pov (mged)
removed, undocumented command with many alternatives [minimally impacting]
polybinout (mged)
removed, undocumented command, use plot [minimally impacting]
pl (mged)
removed, use plot [minimally impacting]
conf.h
removed - replaced with common.h [deprecated 7.0]
UtahRLE image tools
no longer installed by default with BRL-CAD - not used directly by
BRL-CAD tools [minimally impacting]
Tcl in libbu and libbn
no longer utilize or require Tcl [dependency eliminated]
Tcl/Tk man pages
no longer installed by default with BRL-CAD when the bundled Tcl/Tk is used
to build [minimally impacting]
include/dg.h
implementation detail no longer being exposed, use libged [deprecated 7.22]
autogen.sh && configure
GNU Autotools build system -> CMake build system [deprecated 7.20]
Dunn camera and Canon printer tools
dunncolor [deprecated 7.16]
dunnsnap [deprecated 7.16]
canonize [deprecated 7.16]
genptr_t/GENPTR_NULL
genptr_t -> void* [deprecated 7.16]
include/bu.h
bu_argv0() -> bu_basename(bu_argv0_full_path(), NULL) [deprecated 7.16]
include/dm_color.h
dm_color.h -> dm.h [deprecated 7.14]
include/fb.h
FB_WPIXEL -> fb_wpixel [deprecated 7.14]
include/raytrace.h
rt_fdiff -> NEAR_ZERO [deprecated 7.14]
rt_reldiff -> NEAR_ZERO [deprecated 7.14]
DIR_* -> RT_DIR_* [deprecated 7.14]
RT_HIT_NORM -> RT_HIT_NORMAL [deprecated 7.12]
include/vmath.h
VADD2_2D -> V2ADD2 [deprecated 7.14]
VSUB2_2D -> V2SUB2 [deprecated 7.14]
MAGSQ_2D -> MAG2SQ [deprecated 7.14]
VDOT_2D -> V2DOT [deprecated 7.14]
VMOVE_2D -> V2MOVE [deprecated 7.14]
VSCALE_2D -> V2SCALE [deprecated 7.14]
VJOIN1_2D -> V2JOIN1 [deprecated 7.14]
liborle
include/orle.h
remove liborle and the tools using it, fb-orle, orle-fb, orle-pix and
pix-orle [deprecated 7.20]
mged
make_bb -> bb [deprecated 7.16]
tops -g -u -> now default behavior [deprecated 7.14]
-n option -> -c option [deprecated 7.14]
per_line [deprecated 7.14]
SGI-specific tools
pl-sgi -> pl-fb [deprecated 7.16]
src/gtools
g_[toolname] -> g[toolname] [deprecated 7.14]
src/librt/cmd.c
rt_split_cmd() -> bu_argv_from_string() [deprecated 7.12]
any-png.sh
use pix tools [deprecated 7.16]
cadbug.sh
use sf.net tracker [deprecated 7.16]
cray.sh
obsolete hardware [deprecated 7.16]
pixwrite.sh
obsolete hardware [deprecated 7.16]
pixread.sh
obsolete hardware [deprecated 7.16]
sgisnap.sh
obsolete hardware [deprecated 7.16]
librtserver and Java Native Interface (JNI) bindings
removed, unused and undocumented, modern approach would be to
use a tool such as swig to generate bindings [minimally impacting]
7.24.2
------
.pl file suffix
.pl -> .plot3 [deprecated 7.16]
*-pl
*-pl -> *-plot3 [deprecated 7.16]
pl*
pl* -> plot3* [deprecated 7.16]
7.24.0
------
include/bu.h
bu_get_public_cpus() [deprecated 7.16]
bu_get_load_average() [deprecated 7.12]
bu_fopen_uniq() -> fopen() [deprecated 7.14]
src/other/jove
jove -> emacs [deprecated 7.14]
7.22.0
------
include/bu.h
%S format specifier -> %V format specifier for bu_vls [deprecated 7.14]
7.20.2
------
cat-fb
obsolete hardware
include/vmath.h
ELEMENTS_PER_PT -> ELEMENTS_PER_POINT [deprecated 7.12]
HVECT_LEN -> ELEMENTS_PER_HVECT [deprecated 7.12]
HPT_LEN -> ELEMENTS_PER_HPOINT [deprecated 7.12]
7.20.0
------
include/bu.h
bu_mro and related macros -> bu_attribute_value_set
7.18.2
------
include/raytrace.h
RT_HIT_NORM -> RT_HIT_NORMAL [deprecated pre-7.0]
g-shell.rect
g-shell.rect renamed to g-shell-rect [minor tool rename]
7.18.0
------
include/raytrace.h
db_free_external -> bu_free_external [deprecated pre-7.0]
include/wdb.h
mk_fastgen_region() -> mk_comb() [deprecated 7.12]
src/librt/bomb.c
rt_bomb() -> bu_bomb() [deprecated 7.10]
include/machine.h
machine.h -> common.h && bu.h [deprecated 7.10]
src/vas4
vas4 [deprecated 7.12]
7.16.4
------
include/raytrace.h
get_solidbitv() -> rt_get_solidbitv() [deprecated 7.16]
7.14.4
------
include/pkg.h
uses size_t for lengths in API calls
include/bu.h
bu_association() [unused]
7.14.0
------
include/raytrace.h
GET_HITMISS -> NMG_GET_HITMISS
mged
edcolor -> color -e
include/vmath.h
PI -> M_PI
M_SQRT2_DIV2 -> M_SQRT1_2
7.12.6
------
mged
binary -> bo [rename]
7.12.4
------
include/mater.h
rt_material_head -> rt_material_head() [deprecated 7.12]
include/raytrace.h
removed iterator from NMG_CK_HITMISS_LIST
include/bu.h
BU_QFLSTR -> BU_FLSTR
7.12.2
------
include/wdb.h
mk_trc() -> mk_trc_h() and mk_trc_top() [deprecated pre-7.0]
mk_bsolid() [deprecated pre-7.0]
mk_bsurf() [deprecated pre-7.0]
mk_strsol() -> mk_dsp(), mk_ebm(), mk_vol(), mk_submodel() [deprecated pre-7.0]
mk_rcomb(), mk_fcomb(), mk_memb() -> mk_lcomb() and mk_addmember() [deprecated pre-7.0]
mk_fwrite_internal() [deprecated pre-7.0]
7.12.0
------
include/common.h
NATURAL_IEEE -> bu_byteorder() == BU_BIG_ENDIAN || defined(WORDS_BIGENDIAN)
REVERSE_IEEE -> bu_byteorder() == BU_LITTLE_ENDIAN
include/bu.h
bu_log(char *, ...) -> bu_log(const char *, ...) [const]
bu_flog(FILE *, char *, ...) -> bu_flog(FILE *, const char *, ...) [const]
bu_vls_printf(struct bu_vls *, char *) -> bu_vls_printf(struct bu_vls *, const char *) [const]
bu_vls_sprintf(struct bu_vls *, char *) -> bu_vls_sprintf(struct bu_vls *, const char *) [const]
include/wdb.h
removed mk_poly() [deprecated pre-7.0]
removed mk_polysolid() [deprecated pre-7.0]
removed mk_fpoly() [deprecated pre-7.0]
removed write_shell_as_polysolid() [deprecated 6.0]
include/bu.h
char *bu_brlcad_path() -> const char *bu_brlcad_path() [const]
include/bn.h
bn_mat_zero() -> MAT_ZERO() [deprecated pre-7.0]
bn_mat_idn() -> MAT_IDN() [deprecated pre-7.0]
bn_mat_copy() -> MAT_COPY() [deprecated pre-7.0]
include/compat4.h
compat4.h -> bu.h && bn.h [deprecated 5.0]
include/raytrace.h
rt_overlap_quietly() -> struct application.a_logoverlap = rt_silent_logoverlap [deprecated pre 7.0]
include/bu.h
bu_brlcad_path() -> bu_brlcad_root() || bu_brlcad_data() [deprecated 7.4]
bu_tcl_brlcad_path() -> bu_tcl_brlcad_root() || bu_tcl_brlcad_data() [deprecated 7.4]
include/fb.h
fb_log(char *fmt) -> fb_log(const char *fmt) [const]
include/noalias-prag.h
removed [non-stdc]
include/noalias.h
removed [non-stdc]
src/librt/wdb_obj.c -> src/librt/db_obj.c
removed wdb_tree_cmd(), added dgo_tree_cmd() [rename]
mged
dbbinary -> binary [rename]
7.10.4
------
include/msr.h [pre 7.0]
msr.h -> bu.h
include/rtlist.h [pre 7.0]
rtlist.h -> bu.h
include/rtstring.h [pre 7.0]
rtstring.h -> bu.h
include/shortvect.h [pre 7.0]
include/shortvect-pr.h [pre 7.0]
7.10.2
------
include/raytrace.h
rt_version -> rt_version() [private]
include/[library].h (several)
[library]_version -> [library]_version() [private]
***********************************
* MINIMALLY IMPACTING API CHANGES *
***********************************
Included in following are various minimally impacting API changes that
have been identified in chronological order. As expressions are not
extensively tested, use with caution.
Unless noted otherwise, expressions are shown using Perl syntax and
may need adjustment (particularly quoting of '(', ')', and '|'
characters) for other environments. Most expressions will apply with:
perl -0777 -pi -e 'EXPRESSION' FILE
To apply them to an entire SVN checkout, the following pattern is useful:
find . -type f -not -path "*.svn/*" -regex '.*\(c\|cpp\|cxx\|h\|hpp\)$' -exec perl -0777 -pi -e 'EXPRESSION' {} \;
6.0 (sed lines)
---
g/struct structparse/s//struct bu_structparse/g
g/struct rt_mapped_file/s//struct bu_mapped_file/g
g/struct rt_list/s//struct bu_list/g
g/struct histogram/s//struct bu_hist/g
g/complex /s//bn_complex_t /g
g/GETSTRUCT/s//BU_GETSTRUCT/g
g/GETUNION/s//BU_GETUNION/g
g/nmg_tbl.*(\(.*\), TBL_INIT[ ]*, \(.*\))/s//bu_ptbl_init(\1, 64, "\1")/
g/nmg_tbl.*(\(.*\), TBL_RST[ ]*, \(.*\))/s//bu_ptbl_reset(\1)/
g/nmg_tbl.*(\(.*\), TBL_INS[ ]*, \(.*\))/s//bu_ptbl_ins(\1, \2)/
g/nmg_tbl.*(\(.*\), TBL_LOC[ ]*, \(.*\))/s//bu_ptbl_locate(\1, \2)/
g/nmg_tbl.*(\(.*\), TBL_ZERO[ ]*, \(.*\))/s//bu_ptbl_zero(\1, \2)/
g/nmg_tbl.*(\(.*\), TBL_INS_UNIQUE[ ]*, \(.*\))/s//bu_ptbl_ins_unique(\1, \2)/
g/nmg_tbl.*(\(.*\), TBL_RM[ ]*, \(.*\))/s//bu_ptbl_rm(\1, \2)/
g/nmg_tbl.*(\(.*\), TBL_CAT[ ]*, \(.*\))/s//bu_ptbl_cat(\1, \2)/
g/nmg_tbl.*(\(.*\), TBL_FREE[ ]*, \(.*\))/s//bu_ptbl_free(\1)/
g/nmg_tbl/s//bu_ptbl/g
g/nmg_ptbl/s//bu_ptbl/g
g/MSR_UNIF/s//BN_UNIF/g
g/MSR_GAUSS/s//BN_GAUSS/g
g/MSR_CK/s//BU_CK/g
g/msr_unif/s//bn_unif/g
g/msr_gauss/s//bn_gauss/g
g/RT_CKMAG/s//BU_CKMAG/g
g/RT_TOL_MAGIC/s//BN_TOL_MAGIC/g
g/RT_CK_TOL/s//BN_CK_TOL/g
g/RT_VECT_ARE_PARALLEL/s//BN_VECT_ARE_PARALLEL/g
g/RT_VECT_ARE_PERP/s//BN_VECT_ARE_PERP/g
g/rt_badmagic/s//bu_badmagic/g
g/RT_SETJUMP/s//BU_SETJUMP/g
g/RT_UNSETJUMP/s//BU_UNSETJUMP/g
g/rt_twopi/s//bn_twopi/g
g/rt_halfpi/s//bn_halfpi/g
g/rt_quarterpi/s//bn_quarterpi/g
g/rt_invpi/s//bn_invpi/g
g/rt_inv2pi/s//bn_inv2pi/g
g/rt_inv4pi/s//bn_inv4pi/g
g/rt_inv255/s//bn_inv255/g
g/rt_degtorad/s//bn_degtorad/g
g/rt_radtodeg/s//bn_radtodeg/g
g/RT_HISTOGRAM_MAGIC/s//BU_HIST_MAGIC/g
g/RT_CK_HISTOGRAM/s//BU_CK_HIST/g
g/RT_HISTOGRAM_TALLY/s//BU_HIST_TALLY/g
g/rt_hist_free/s//bu_hist_free/g
g/rt_hist_init/s//bu_hist_init/g
g/rt_hist_range/s//bu_hist_range/g
g/rt_hist_pr/s//bu_hist_pr/g
g/RT_LIST_HEAD_MAGIC/s//BU_LIST_HEAD_MAGIC/g
g/RT_LIST_NULL/s//BU_LIST_NULL/g
g/RT_LIST_INSERT/s//BU_LIST_INSERT/g
g/RT_LIST_APPEND/s//BU_LIST_APPEND/g
g/RT_LIST_DEQUEUE/s//BU_LIST_DEQUEUE/g
g/RT_LIST_PUSH/s//BU_LIST_PUSH/g
g/RT_LIST_POP/s//BU_LIST_POP/g
g/RT_LIST_INSERT_LIST/s//BU_LIST_INSERT_LIST/g
g/RT_LIST_APPEND_LIST/s//BU_LIST_APPEND_LIST/g
g/RT_LIST_IS_EMPTY/s//BU_LIST_IS_EMPTY/g
g/RT_LIST_NON_EMPTY/s//BU_LIST_NON_EMPTY/g
g/RT_LIST_NON_EMPTY_P/s//BU_LIST_NON_EMPTY_P/g
g/RT_LIST_IS_CLEAR/s//BU_LIST_IS_CLEAR/g
g/RT_LIST_UNINITIALIZED/s//BU_LIST_UNINITIALIZED/g
g/RT_LIST_INIT/s//BU_LIST_INIT/g
g/RT_LIST_MAGIC_SET/s//BU_LIST_MAGIC_SET/g
g/RT_LIST_MAGIC_OK/s//BU_LIST_MAGIC_OK/g
g/RT_LIST_MAGIC_WRONG/s//BU_LIST_MAGIC_WRONG/g
g/RT_LIST_IS_HEAD/s//BU_LIST_IS_HEAD/g
g/RT_LIST_NOT_HEAD/s//BU_LIST_NOT_HEAD/g
g/RT_CK_LIST_HEAD/s//BU_CK_LIST_HEAD/g
g/RT_LIST_NEXT_IS_HEAD/s//BU_LIST_NEXT_IS_HEAD/g
g/RT_LIST_NEXT_NOT_HEAD/s//BU_LIST_NEXT_NOT_HEAD/g
g/RT_LIST_FOR2/s//BU_LIST_FOR2/g
g/RT_LIST_FOR/s//BU_LIST_FOR/g
g/RT_LIST_WHILE/s//BU_LIST_WHILE/g
g/RT_LIST_FIRST_MAGIC/s//BU_LIST_FIRST_MAGIC/g
g/RT_LIST_LAST_MAGIC/s//BU_LIST_LAST_MAGIC/g
g/RT_LIST_PNEXT_PNEXT/s//BU_LIST_PNEXT_PNEXT/g
g/RT_LIST_PNEXT_PLAST/s//BU_LIST_PNEXT_PLAST/g
g/RT_LIST_PLAST_PNEXT/s//BU_LIST_PLAST_PNEXT/g
g/RT_LIST_PLAST_PLAST/s//BU_LIST_PLAST_PLAST/g
g/RT_LIST_PNEXT_CIRC/s//BU_LIST_PNEXT_CIRC/g
g/RT_LIST_PPREV_CIRC/s//BU_LIST_PPREV_CIRC/g
g/RT_LIST_PLAST_CIRC/s//BU_LIST_PPREV_CIRC/g
g/RT_LIST_MAIN_PTR/s//BU_LIST_MAIN_PTR/g
g/RT_LIST_PNEXT/s//BU_LIST_PNEXT/g
g/RT_LIST_PLAST/s//BU_LIST_PLAST/g
g/RT_LIST_LAST/s//BU_LIST_LAST/g
g/RT_LIST_PREV/s//BU_LIST_PREV/g
g/RT_LIST_FIRST/s//BU_LIST_FIRST/g
g/RT_LIST_NEXT/s//BU_LIST_NEXT/g
g/rt_log/s//bu_log/g
g/rt_add_hook/s//bu_add_hook/g
g/rt_delete_hook/s//bu_delete_hook/g
g/rt_putchar/s//bu_putchar/g
g/rt_flog/s//bu_flog/g
g/rt_identify_magic/s//bu_identify_magic/g
g/rt_identity/s//bn_mat_identity/g
g/rt_prmem/s//bu_prmem/g
g/rt_strdup/s//bu_strdup/g
g/rt_malloc/s//bu_malloc/g
g/rt_calloc/s//bu_calloc/g
g/rt_free/s//bu_free/g
g/rt_byte_roundup/s//bu_malloc_len_roundup/g
g/rt_mem_barriercheck/s//bu_mem_barriercheck/g
g/rt_open_mapped_file/s//bu_open_mapped_file/g
g/rt_close_mapped_file/s//bu_close_mapped_file/g
g/RT_CK_MAPPED_FILE/s//BU_CK_MAPPED_FILE/g
g/noise_init/s//bn_noise_init/g
g/noise_perlin/s//bn_noise_perlin/g
g/noise_vec/s//bn_noise_vec/g
g/noise_fbm/s//bn_noise_fbm/g
g/noise_turb/s//bn_noise_turb/g
g/rt_pri_set/s//bu_nice_set/g
g/rt_cpuget/s//bu_cpulimit_get/g
g/rt_cpuset/s//bu_cpulimit_set/g
g/rt_avail_cpus/s//bu_avail_cpus/g
g/rt_parallel/s//bu_parallel/g
g/rt_struct_export/s//bu_struct_export/g
g/rt_struct_import/s//bu_struct_import/g
g/rt_struct_put/s//bu_struct_put/g
g/rt_struct_get/s//bu_struct_get/g
g/rt_gshort/s//bu_gshort/g
g/rt_glong/s//bu_glong/g
g/rt_pshort/s//bu_pshort/g
g/rt_plong/s//bu_plong/g
g/rt_struct_buf/s//bu_struct_wrap_buf/g
g/rt_structparse/s//bu_struct_parse/g
g/rt_structprint/s//bu_struct_print/g
g/rt_vls_structprint/s//bu_vls_struct_print/g
g/offsetofarray/s//bu_offsetofarray/g
g/ FUNC_NULL/s// BU_STRUCTPARSE_FUNC_NULL/g
g/rt_external/s//bu_external/g
g/RT_EXTERNAL_MAGIC/s//BU_EXTERNAL_MAGIC/g
g/RT_EXTERN/s//BU_EXTERN/g
g/RT_INIT_EXTERNAL/s//BU_INIT_EXTERNAL/g
g/RT_CK_EXTERNAL/s//BU_CK_EXTERNAL/g
g/rt_dist_pt3_lseg3/s//bn_dist_pt3_lseg3/g
g/rt_3pts_collinear/s//bn_3pts_collinear/g
g/rt_pt3_pt3_equal/s//bn_pt3_pt3_equal/g
g/rt_dist_pt2_lseg2/s//bn_dist_pt2_lseg2/g
g/rt_isect_lseg3_lseg3/s//bn_isect_lseg3_lseg3/g
g/rt_isect_line3_line3/s//bn_isect_line3_line3/g
g/rt_2line3_colinear/s//bn_2line3_colinear/g
g/rt_isect_pt2_lseg2/s//bn_isect_pt2_lseg2/g
g/rt_isect_line2_lseg2/s//bn_isect_line2_lseg2/g
g/rt_isect_lseg2_lseg2/s//bn_isect_lseg2_lseg2/g
g/rt_isect_line2_line2/s//bn_isect_line2_line2/g
g/rt_dist_line_point/s//bn_dist_line3_pt3/g
g/rt_dist_pt3_pt3/s//bn_dist_pt3_pt3/g
g/rt_3pts_distinct/s//bn_3pts_distinct/g
g/rt_mk_plane_3pts/s//bn_mk_plane_3pts/g
g/rt_mkpoint_3planes/s//bn_mkpoint_3planes/g
g/rt_isect_line3_plane/s//bn_isect_line3_plane/g
g/rt_isect_2planes/s//bn_isect_2planes/g
g/rt_isect_2lines/s//bn_isect_2lines/g
g/rt_isect_line_lseg/s//bn_isect_line_lseg/g
g/rt_dist_line3_pt3/s//bn_dist_line3_pt3/g
g/rt_distsq_line3_pt3/s//bn_distsq_line3_pt3/g
g/rt_dist_line_origin/s//bn_dist_line_origin/g
g/rt_dist_line2_point2/s//bn_dist_line2_point2/g
g/rt_distsq_line2_point2/s//bn_distsq_line2_point2/g
g/rt_area_of_triangle/s//bn_area_of_triangle/g
g/rt_isect_pt_lseg/s//bn_isect_pt_lseg/g
g/rt_dist_pt_lseg/s//bn_dist_pt_lseg/g
g/rt_rotate_bbox/s//bn_rotate_bbox/g
g/rt_rotate_plane/s//bn_rotate_plane/g
g/rt_coplanar/s//bn_coplanar/g
g/rt_angle_measure/s//bn_angle_measure/g
g/rt_dist_pt3_along_line3/s//bn_dist_pt3_along_line3/g
g/rt_dist_pt2_along_line2/s//bn_dist_pt2_along_line2/g
g/rt_between/s//bn_between/g
g/rt_printb/s//bu_printb/g
g/NMG_CK_PTBL/s//BU_CK_PTBL/g
g/NMG_TBL_BASEADDR/s//BU_PTBL_BASEADDR/g
g/NMG_TBL_LASTADDR/s//BU_PTBL_LASTADDR/g
g/NMG_TBL_END/s//BU_PTBL_END/g
g/NMG_TBL_GET/s//BU_PTBL_GET/g
g/RT_RAND_TABSIZE/s//BN_RAND_TABSIZE/g
g/RT_RANDSEED/s//BN_RANDSEED/g
g/RT_RANDOM/s//BN_RANDOM/g
g/rt_rand_table/s//bn_rand_table/g
g/rt_tol/s//bn_tol/g
g/RES_ACQUIRE(/s//bu_semaphore_acquire(/
g/RES_RELEASE(/s//bu_semaphore_release(/
g/&rt_g.res_syscall/s//BU_SEM_SYSCALL/
g/&rt_g.res_worker/s//RT_SEM_WORKER/
g/&rt_g.res_stats/s//RT_SEM_STATS/
g/&rt_g.res_results/s//RT_SEM_RESULTS/
g/&rt_g.res_model/s//RT_SEM_MODEL/
g/RES_INIT(/s/RES_INIT.*;/bu_semaphore_init( RT_SEM_LAST );/p
g/RT_VLS_CHECK/s//BU_CK_VLS/g
g/RT_VLS_ADDR/s//bu_vls_addr/g
g/RT_VLS_INIT/s//bu_vls_init/g
g/rt_vls_init/s//bu_vls_init/g
g/rt_vls_vlsinit/s//bu_vls_vlsinit/g
g/rt_vls_addr/s//bu_vls_addr/g
g/rt_vls_strdup/s//bu_vls_strdup/g
g/rt_vls_strgrab/s//bu_vls_strgrab/g
g/rt_vls_extend/s//bu_vls_extend/g
g/rt_vls_setlen/s//bu_vls_setlen/g
g/rt_vls_strlen/s//bu_vls_strlen/g
g/rt_vls_trunc/s//bu_vls_trunc/g
g/rt_vls_trunc2/s//bu_vls_trunc2/g
g/rt_vls_nibble/s//bu_vls_nibble/g
g/rt_vls_free/s//bu_vls_free/g
g/rt_vls_vlsfree/s//bu_vls_vlsfree/g
g/rt_vls_strcpy/s//bu_vls_strcpy/g
g/rt_vls_strncpy/s//bu_vls_strncpy/g
g/rt_vls_strcat/s//bu_vls_strcat/g
g/rt_vls_strncat/s//bu_vls_strncat/g
g/rt_vls_vlscat/s//bu_vls_vlscat/g
g/rt_vls_vlscatzap/s//bu_vls_vlscatzap/g
g/rt_vls_from_argv/s//bu_vls_from_argv/g
g/rt_vls_fwrite/s//bu_vls_fwrite/g
g/rt_vls_gets/s//bu_vls_gets/g
g/rt_vls_putc/s//bu_vls_putc/g
g/rt_vls_printf/s//bu_vls_printf/g
g/CxCopy/s//bn_cx_copy/g
g/CxNeg/s//bn_cx_neg/g
g/CxReal/s//bn_cx_real/g
g/CxImag/s//bn_cx_imag/g
g/CxAdd/s//bn_cx_add/g
g/CxAmplSq/s//bn_cx_amplsq/g
g/CxAmpl/s//bn_cx_ampl/g
g/CxConj/s//bn_cx_conj/g
g/CxCons/s//bn_cx_cons/g
g/CxPhas/s//bn_cx_phas/g
g/CxScal/s//bn_cx_scal/g
g/CxSub/s//bn_cx_sub/g
g/CxMul/s//bn_cx_mul/g
g/CxMul2/s//bn_cx_mul2/g
g/CxDiv/s//bn_cx_div/g
g/rt_poly_scale/s//bn_poly_scale/g
g/rt_pr_poly/s//bn_pr_poly/g
g/rt_pr_roots/s//bn_pr_roots/g
g/TBL_INIT/s//BU_PTBL_INIT/g
g/TBL_INS/s//BU_PTBL_INS/g
g/TBL_LOC/s//BU_PTBL_LOC/g
g/TBL_FREE/s//BU_PTBL_FREE/g
g/TBL_RST/s//BU_PTBL_RST/g
g/TBL_CAT/s//BU_PTBL_CAT/g
g/TBL_RM/s//BU_PTBL_RM/g
g/TBL_INS_UNIQUE/s//BU_PTBL_INS_UNIQUE/g
g/TBL_ZERO/s//BU_PTBL_ZERO/g
g/rt_pi/s//bn_pi/g
g/matXvec/s//bn_matXvec/g
g/mat_ae/s//bn_mat_ae/g
g/mat_ae_vec/s//bn_ae_vec/g
g/mat_aet_vec/s//bn_aet_vec/g
g/mat_angles/s//bn_mat_angles/g
g/mat_arb_rot/s//bn_mat_arb_rot/g
g/mat_atan2/s//bn_atan2/g
g/mat_copy/s//bn_mat_copy/g
g/mat_degtorad/s//bn_degtorad/g
g/mat_dup/s//bn_mat_dup/g
g/mat_eigen2x2/s//bn_eigen2x2/g
g/mat_fromto/s//bn_mat_fromto/g
g/mat_htov_move/s//bn_htov_move/g
g/mat_identity/s//bn_mat_identity/g
g/mat_idn/s//MAT_IDN/g
g/mat_inv/s//bn_mat_inv/g
g/rt_mat_is_equal/s//bn_mat_is_equal/g
g/mat_is_identity/s//bn_mat_is_identity/g
g/mat_lookat/s//bn_mat_lookat/g
g/mat_mul/s//bn_mat_mul/g
g/mat_mul2/s//bn_mat_mul2/g
g/mat_print/s//bn_mat_print/g
g/mat_radtodeg/s//bn_radtodeg/g
g/mat_scale_about_pt/s//bn_mat_scale_about_pt/g
g/mat_trn/s//bn_mat_trn/g
g/mat_vec_ortho/s//bn_vec_ortho/g
g/mat_vec_perp/s//bn_vec_perp/g
g/mat_vtoh_move/s//bn_vtoh_move/g
g/mat_xform_about_pt/s//bn_mat_xform_about_pt/g
g/mat_xrot/s//bn_mat_xrot/g
g/mat_yrot/s//bn_mat_yrot/g
g/mat_zrot/s//bn_mat_zrot/g
g/mat_zero/s//bn_mat_zero/g
g/rb_tree/s//bu_rb_tree/g
g/RB_TREE_NULL/s//BU_RB_TREE_NULL/g
g/rb_min/s//bu_rb_min/g
g/rb_max/s//bu_rb_max/g
g/rb_pred/s//bu_rb_pred/g
g/rb_succ/s//bu_rb_succ/g
g/rb_create/s//bu_rb_create/g
g/rb_create1/s//bu_rb_create1/g
g/rb_delete/s//bu_rb_delete/g
g/rb_diagnose_tree/s//bu_rb_diagnose_tree/g
g/rb_extreme/s//bu_rb_extreme/g
g/rb_insert/s//bu_rb_insert/g
g/rb_neighbor/s//bu_rb_neighbor/g
g/rb_search/s//bu_rb_search/g
g/rb_search1/s//bu_rb_search1/g
g/rb_summarize_tree/s//bu_rb_summarize_tree/g
g/rb_walk/s//bu_rb_walk/g
g/rb_walk1/s//bu_rb_walk1/g
g/RT_VLIST_CHUNK/s//BN_VLIST_CHUNK/g
g/rt_vlist/s//bn_vlist/g
g/RT_VLIST_NULL/s//BN_VLIST_NULL/g
g/RT_VLIST_MAGIC/s//BN_VLIST_MAGIC/g
g/RT_CK_VLIST/s//BN_CK_VLIST/g
g/RT_VLIST_LINE_MOVE/s//BN_VLIST_LINE_MOVE/g
g/RT_VLIST_LINE_DRAW/s//BN_VLIST_LINE_DRAW/g
g/RT_VLIST_POLY_START/s//BN_VLIST_POLY_START/g
g/RT_VLIST_POLY_MOVE/s//BN_VLIST_POLY_MOVE/g
g/RT_VLIST_POLY_DRAW/s//BN_VLIST_POLY_DRAW/g
g/RT_VLIST_POLY_END/s//BN_VLIST_POLY_END/g
g/RT_VLIST_POLY_VERTNORM/s//BN_VLIST_POLY_VERTNORM/g
g/rt_vlblock/s//bn_vlblock/g
g/RT_VLBLOCK_MAGIC/s//BN_VLBLOCK_MAGIC/g
g/RT_CK_VLBLOCK/s//BN_CK_VLBLOCK/g
g/BU_BU_/s//BU_/g
g/bu_bu_/s//bu_/g
g/bn_bn_/s//bn_/g
g/bn_pipe/s//rt_pipe/g
major API overhaul [6.0]
7.14
----
s/rt_db_free_internal\(([^,]+),[^\)]*\)/rt_db_free_internal(\1)/g
struct resource pointer parameter removed [7.14]
7.16
----
s/rt_ptalloc\(\);/(struct rt_pt_node *)bu_malloc(sizeof(struct rt_pt_node), "rt_pt_node");/g
rt_ptalloc() removed [7.16]
7.18
----
s/bu_ptbl\(([^,]*),[[:space:]]*BU_PTBL_INIT([^\)]*)\)/bu_ptbl_init(\1, 64, "init")/g
s/bu_ptbl\(([^,]*),[[:space:]]*BU_PTBL_RST([^\)]*)\)/bu_ptbl_reset(\1)/g
s/bu_ptbl\(([^,]*),[[:space:]]*BU_PTBL_INS([^\)]*)\)/bu_ptbl_ins(\1\2)/g
s/bu_ptbl\(([^,]*),[[:space:]]*BU_PTBL_LOC([^\)]*)\)/bu_ptbl_locate(\1\2)/g
s/bu_ptbl\(([^,]*),[[:space:]]*BU_PTBL_ZERO([^\)]*)\)/bu_ptbl_zero(\1\2/g
s/bu_ptbl\(([^,]*),[[:space:]]*BU_PTBL_INS_UNIQUE([^\)]*)\)/bu_ptbl_ins_unique(\1\2)/g
s/bu_ptbl\(([^,]*),[[:space:]]*BU_PTBL_RM([^\)]*)\)/bu_ptbl_rm(\1\2)/g
s/bu_ptbl\(([^,]*),[[:space:]]*BU_PTBL_CAT([^\)]*)\)/bu_ptbl_cat(\1\2)/g
s/bu_ptbl\(([^,]*),[[:space:]]*BU_PTBL_FREE([^\)]*)\)/bu_ptbl_free(\1)/g
bu_ptbl() removed [7.18]
s/nmg_struct_counts\(/nmg_pr_m_struct_counts(/g
nmg_struct_counts() renamed to nmg_pr_m_struct_counts() [7.18]
s/bu_vlb_getBuffer\(/bu_vlb_addr(/g
bu_vlb_getBuffer() renamed to bu_vlb_addr() [7.18]
s/bu_vlb_getBufferLength\(/bu_vlb_buflen(/g
bu_vlb_getBufferLength() renamed to bu_vlb_buflen() [7.18]
s/V2APPROXEQUAL\(/V2NEAR_EQUAL(/g
V2APPROXEQUAL() renamed to V2NEAR_EQUAL() [7.18]
s/VAPPROXEQUAL\(/VNEAR_EQUAL(/g
VAPPROXEQUAL() renamed to VNEAR_EQUAL() [7.18]
s/db_get_version\(/db_version(/g
db_get_version() renamed to db_version() [7.18]
s/db_get_directory_size\(/db_directory_size(/g
db_get_directory_size() renamed to db_directory_size() [7.18]
s/db_get_directory\(/db_alloc_directory_block(/g
db_get_directory() renamed to db_alloc_directory_block() [7.18]
s/rt_get_seg\(/rt_alloc_sed_block(/g
rt_get_seg() renamed to rt_alloc_seg_block() [7.18]
s/db_shader_mat\(/rt_shader_mat(/g
db_shader_mat() renamed to rt_shader_mat() [7.18]
s/SMALL([^_])/SMALL_FAST\1/g
SMALL renamed to SMALL_FASTF [7.18]
7.20
----
s/spm_([^\)]*)/bn_spm_\1/g
spm functions and types renamed to bn_spm [7.20]
s/RT_CK_SPM/BN_CK_SPM_MAP/g
RT_CK_SPM macro renamed to BN_CK_SPM MAP [7.20]
s/SPM_MAGIC/BN_SPM_MAGIC/g
SPM_MAGIC renamed to BN_SPM_MAGIC [7.20]
s/SPM_NULL/BN_SPM_MAP_NULL/g
SPM_NULL renamed to BN_SPM_MAP_NULL [7.20]
s/BU_EXTERN[[:space:]]*\([[:space:]]*([^,]*?)[[:space:]]*,[[:space:]]*\([[:space:]]*([^)]*)[[:space:]]*\)[[:space:]]*\)/extern \1(\2)/g
BU_EXTERN() no longer necessary due to C89 minimum, use extern [7.20]
s/[[:space:]]*BU_ARGS[[:space:]]*\([[:space:]]*([^)]*[[:space:]]*)[[:space:]]*\)/\1/g
BU_ARGS() no longer necessary due to C89 minimum, list args [7.20]
s/BU_LIST_UNINITIALIZED/!BU_LIST_IS_INITIALIZED/g
BU_LIST_IS_INITIALIZED() removed for consistency [7.20]
s/BU_INIT_EXTERNAL/BU_EXTERNAL_INIT/g
renamed for API consistency [7.20]
s/RT_CK_DBTR/RT_CK_DB_TRAVERSE/g
s/RT_DBTR_MAGIC/RT_DB_TRAVERSE_MAGIC/g
renamed for API consistency [7.20]
s/RT_INIT_([A-Z_]*)/RT_\1_INIT/g
renamed all RT_INIT_[type] macros to RT_[type]_INIT for API consistency [7.20]
s/BU_LIST_MAGIC_OK/BU_LIST_MAGIC_EQUAL/g
s/BU_LIST_MAGIC_WRONG/!BU_LIST_MAGIC_EQUAL/g
renamed and consolidated to be consistent with libbn [7.20]
s/nmg_moveeu/nmg_je/g
function has been renamed
7.22
----
s/rt_dist_pt3_line3/bn_dist_pt3_line3/g
s/rt_dist_line3_line3/bn_dist_line3_line3/g
s/rt_dist_line3_lseg3/bn_dist_line3_lseg3/g
functions moved from librt to libbn [7.21]
s/bu_tcl_setup/Bu_Init/g
removed bu_tcl_setup() in favor of Bu_Init() [7.21]
s/bu_tcl_([^(]*)\([^,]*?[[:space:]]*,[^,]*?[[:space:]]*,(.*)/bu_\1(\2/g
removed all bu_tcl_*() functions, leaving off interp and using native bu function [7.21]
s/bu_badmagic_tcl\([^,]*?[[:space:]]*,(.*)/bu_badmagic(\1/g
removed bu_badmagic_tcl() in favor of bu_badmagic() [7.21]
s/(.*)_CK(.*)_TCL\([^,]*?[[:space:]]*,(.*)/\1_CK\2(\3/g
removed all *_CK*_TCL() macros (e.g., BU_CKMAG_TCL, RT_CK_DBI_TCL, etc.) in favor of non-TCL macros [7.21]
s/bu_image/icv_image/g
moved bu_image* functions to libicv as icv_image* [7.21]
s/BU_IMAGE/ICV_IMAGE/g
moved BU_IMAGE* macros to icv.h as ICV_IMAGE* [7.21]
s/bu_cmd\(([^,]*?),[[:space:]]*([^,]*?),[[:space:]]*([^,]*?),[[:space:]]*([^,)]*?),[[:space:]]*([^)]*?)\)/bu_cmd(\4, \2, \3, \5, \1, NULL)/g
inputs then outputs. swapped bu_cmd's 4th parameter to 1st, 1st to 5th, and added a new return value hook last. [7.21]
s/V3(.*)_TOL\(([^,]*,)([^,]*,)([^,]*,)([^)]*)\)/V3\1_TOL(\1\2\3(\4)->dist)/g
V3RPP_OVERLAP_TOL(), V3PT_IN_RPP_TOL(), and V3PT_OUT_RPP_TOL() tol parameter changed to value [7.21]
s/BU_GETSTRUCT\([[:space:]]*([^,)]+,)[[:space:]]*([^)]+)[[:space:]]*\)/BU_GET(\1 struct \2)/g
BU_GETSTRUCT(ptr, struct_type) changed to BU_GET(ptr, struct struct_t) [7.21]
s/BU_GETUNION\([[:space:]]*([^,)]+,)[[:space:]]*([^)]+)[[:space:]]*\)/BU_GET(\1 union \2)/g
s/BU_GETTYPE\([[:space:]]*([^,)]+,)[[:space:]]*([^)]+)[[:space:]]*\)/BU_GET(\1 \2)/g
BU_GETUNION() and BU_GETTYPE() macros changed to BU_GET() [7.21]
s/CMD_NULL/BU_CMD_NULL/g
s/CMDHIST/BU_CMDHIST/g
prefix the cmd.h defines with BU_ since they are part of libbu [7.21]
s/bu_shader_to_tcl_list/bu_shader_to_list/g
renamed as it applies to any list in {} form, tcl or otherwise [7.21]
s/bu_(add|delete|call)_hook/bu_hook_\1/g
renamed hook functions to be consistent with other libbu API [7.21]
s/bu_file_exists\(([^)]*)\)/bu_file_exists(\1, NULL)/g
new file descriptor parameter added [7.21]
s/bu_list_path\(([^,]*),([^,]*),[[:space:]]([^)]*)\)/bu_dir_list(\1,\2, &(\3))/g
s/bu_count_path(.*)\);/bu_dir_list\1, NULL);/g
made bu_dir_list() return the number of entries [7.21]
s/bu_strcmpm\((.*),([^,]*)\)/bu_strcmp(\1)/g
no use for label parameter, convert to bu_strcmp() [7.21]
bu_set_realtime() [deprecated 7.22]
7.24
----
s/bu_set_realtime\([[:space:]]\);//g
didn't do anything [7.23]
s/.*bu_cpulimit_[sg]et\([[:space:]]\);//g
didn't do anything [7.23]
s/rt_g\./RTG\./g
renamed rt_g global to RTG so it doesn't match the struct name [7.24]
s/rt_functab\[/OBJ\[/g
renamed rt_functab global to OBJ so it doesn't match the struct name [7.24]
s/redraw_vlist/draw/g
removed redraw_vlist mged command, just call draw or refresh [7.24]
s/RT_BADNUM/INVALID/g
s/RT_BADVAL/VINVALID/g
moved RT_BADNUM and RT_BADVEC to vmath.h as INVALID and VINVALID [7.24]
s/bu_create_hash_tbl/bu_hash_tbl_create/g
s/bu_find_hash_entry/bu_hash_tbl_find/g
s/bu_hash_add_entry/bu_hash_tbl_add/g
s/bu_hash_tbl_pr/bu_hash_tbl_print/g
renamed for better consistency in hash table API and with other libbu API [7.24]
s/dm_applicationfocus\([[:space:]]*\);//g
only useful in older os x versions, users can now do the same thing via XQuartz preferences [7.24]
s/bu_vls_trunc2/bu_vls_trunc/g
removed duplicitous function in favor of more general version [7.24]
s/bn_pi/M_PI/g
s/bn_twopi/M_2PI/g
s/bn_halfpi/M_PI_2/g
s/bn_quarterpi/M_PI_4/g
s/bn_invpi/M_1_PI/g
s/bn_inv2pi/M_1_2PI/g
s/bn_inv4pi/M_1_4PI)/g
s/bn_inv255/(1.0 \/ 255.0)/g
s/bn_degtorad/DEG2RAD/g
s/bn_radtodeg/RAD2DEG/g
s/bn_sin_scale/(BN_SINTABSIZE \/ M_2PI)/g
eliminated a number of libbn globals in favor of existing constants [7.24]
s/(#[[:space:]]*include[[:space:]]+["<])vfont-if\.h/\1bu\/vfont.h/g
s/(#[[:space:]]*include[[:space:]]+["<])cmd\.h/\1bu\/cmd.h/g
s/(#[[:space:]]*include[[:space:]]+["<])hist\.h/\1bu\/hist.h/g
s/(#[[:space:]]*include[[:space:]]+["<])magic\.h/\1bu\/magic.h/g
library-specific public headers moved into a subdir [7.24]
s/([^_])([nh]to[hn][fd])/\1bu_cv_\2/g
ntohf, ntohd, htonf, htond renamed with bu_cv_ prefix [7.24]
7.26
----
s/bu_kill_parallel\([[:space:]]*\);//g
didn't do anything unless called from forked process, use bu_terminate() [7.25]
s/bu_jmpbuf/bu_jmpbuf[0]/g
s/bu_setjmp_valid/bu_setjmp_valid[0]/g
can replace 0 with bu_parallel_id() to get thread-safe jumping [7.25]
s/bu_semaphore_reinit/bu_semaphore_init/g
no longer need to manually reinitialize (or initialize) semaphores [7.25]
s/(#[[:space:]]*include[[:space:]]+["<])fbio\.h/\1bu\/fb.h/g
fbio.h is now part of fb.h [7.25]
s/UNION/'u'/g
s/SUBTRACT/'-'/g
s/INTERSECT/'+'/g
old db.h db4 preprocessor symbols removed, use char or DB_OP_* [7.25]
s/(#[[:space:]]*include[[:space:]]+["<])bselect\.h/\1bsocket.h/g
s/(#[[:space:]]*include[[:space:]]+["<])bin\.h/\1bnetwork.h/g
rename bselect.h and bin.h public headers to be more declaratively named [7.25]
s/db5_enc_len\[(.*)\]/DB5_ENC_LEN(\1)/g
replaced db5_enc_len[] global array with DB5_ENC_LEN() macro [7.25]
s/db_normalize/bu_normalize/g
move the path normalization routine to libbu [7.25]
s/(#[[:space:]]*include[[:space:]]+["<])bot\.h/\1rt\/primitives\/bot.h/g
consolidate bot header contents [7.25]
s/(#[[:space:]]*include[[:space:]]+["<])anim\.h/\1bn\/anim.h/g
consolidate anim header contents [7.25]
s/(#[[:space:]]*include[[:space:]]+["<])plot3\.h/\1bn.h/g
plot3 implementation is in libbn, move header and replace plot3.h with bn.h [7.25]
s/(#[[:space:]]*include[[:space:]]+["<])vectfont\.h/#define LAST -128\n\1bn\/vectfont.h/g
consolidate vectfont.h files [7.25]
s/(#[[:space:]]*include[[:space:]]+["<])spm\.h/\1bn\/spm.h/g
move spm.h into bn subheader directory [7.25]
s/(#[[:space:]]*include[[:space:]]+["<])dvec\.h/\1bn\/dvec.h/g
s/(#[[:space:]]*include[[:space:]]+["<])vector_fpu\.h/\1bn\/vector_fpu.h/g
s/(#[[:space:]]*include[[:space:]]+["<])vector_x86\.h/\1bn\/vector_x86.h/g
move dvec.h and friends into bn subheader directory [7.25]
s/(#[[:space:]]*include[[:space:]]+["<])db\.h/\1rt\/db4.h/g
move db.h to rt/db4.h [7.25]
s/(#[[:space:]]*include[[:space:]]+["<])db5\.h/\1rt\/db5.h/g
move db5.h to rt/db5.h [7.25]
s/(#[[:space:]]*include[[:space:]]+["<])mater\.h/\1raytrace.h/g
merge mater.h with rt/mater.h [7.25]
s/(#[[:space:]]*include[[:space:]]+["<])nurb\.h/#include "raytrace.h"\n\1rt\/nurb.h/g
move nurb.h to rt/nurb.h [7.25]
s/(#[[:space:]]*include[[:space:]]+["<])rtfunc\.h/#include "raytrace.h"\n\1rt\/func.h/g
move rtfunc.h to rt/func.h [7.25]
s/(#[[:space:]]*include[[:space:]]+["<])tol\.h/#include "bn.h"\n#include "raytrace.h"\n\1rt\/tol.h/g
consolidate tol.h and rt/tol.h [7.25]
s/(#[[:space:]]*include[[:space:]]+["<])tie\.h/\1rt\/tie.h/g
move tie.h to rt/tie.h [7.25]
s/(#[[:space:]]*include[[:space:]]+["<])solid\.h/#include "raytrace.h"\n\1rt\/solid.h/g
move solid.h to rt/solid.h [7.25]
s/(#[[:space:]]*include[[:space:]]+["<])shadework\.h/\1optical\/shadework.h/g
move shadework.h to optical/shadework.h [7.25]
s/(#[[:space:]]*include[[:space:]]+["<])shadefuncs\.h/\1optical.h/g
move shadefuncs.h to optical/shadefuncs.h [7.25]
s/(#[[:space:]]*include[[:space:]]+["<])light\.h/#include "bn.h"\n#include "raytrace.h"\n\1optical\/light.h/g
move light.h to optical/light.h [7.25]
s/(#[[:space:]]*include[[:space:]]+["<])plastic\.h/\1optical\/plastic.h/g
move plastic.h to optical/plastic.h [7.25]
s/(#[[:space:]]*include[[:space:]]+["<])rtgeom\.h/\1rt\/geom.h/g
move rtgeom.h to rt/geom.h [7.25]
s/rt_vlist_get_cmd_description/bn_vlist_get_cmd_description/g
s/rt_ck_vlist/bn_ck_vlist/g
s/rt_vlist_export/bn_vlist_export/g
s/rt_vlblock_free/bn_vlblock_free/g
s/rt_vlblock_find/bn_vlblock_find/g
move vlist functions from librt to libbn [7.25]
s/([[:space:],\(,"])bn_tcl/\1tclcad_bn/g
s/([[:space:],\(,"])rt_tcl_rt/\1tclcad_rt/g
s/([[:space:],\(,"])rt_tcl/\1tclcad_rt/g
tcl library registrations moved to libtclcad [7.25]
s/rt_grow_boolstack/rt_bool_growstack/g
rename with consistent prefixes [7.25]
s/(#[[:space:]]*include[[:space:]]+["<])obj\.h/\1dm\/bview.h/g
s/GED_VIEW_OBJ_NULL/VIEW_OBJ_NULL/g
move view_obj to dm/bview.h [7.25]
s/BU_PTBL_CLEAR_I\((.*)\)/BU_PTBL_SET(\1, (long*)0)/g
replace BU_PTBL_CLEAR_I into the BU_PTBL_SET command [7.25]
s/BU_PTBL_END\(([^\)]*)\)/(\1)->end/g
replace BU_PTBL_END with direct ptbl peek or BU_PTBL_LEN [7.25]
s/bu_free_argv/bu_argv_free/g
s/bu_dup_argv/bu_argv_dup/g
s/bu_dupinsert_argv/bu_argv_dupinsert/g
bu_*_argv -> bu_argv_* [7.25]
s/bu_dir_list/bu_file_list/g
bu_dir_list -> bu_file_list [7.25]
s/BU_FNMATCH_NOMATCH/1/g
don't use an explicit define for the non-matching case [7.25]
s/bu_basename\(([^\)]*)\)/bu_basename(\1, NULL)/g
pass NULL argument to get a dynamically allocated buffer back [7.25]