Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
471675f1ab |
@@ -111,7 +111,7 @@ Hanes, Jeff
|
||||
U.S. Army Ballistic Research Laboratory
|
||||
U.S. Army Research Laboratory
|
||||
|
||||
Johnson, Christopher T.
|
||||
Johnson, Christopher T. <cjohnson@cyberpaladin.com>
|
||||
nicknames cjohnson
|
||||
1989 February
|
||||
Cray Research, Inc.
|
||||
@@ -119,7 +119,7 @@ Geometric Solutions, Inc.
|
||||
Paladin Software
|
||||
JRMTech, Inc.
|
||||
|
||||
Butler, Lee A.
|
||||
Butler, Lee A. <butler@arl.army.mil>
|
||||
nicknames butler, lbutler
|
||||
1989 July
|
||||
U.S. Army Ballistic Research Laboratory
|
||||
@@ -131,7 +131,7 @@ nicknames pjt
|
||||
U.S. Army Ballistic Research Laboratory
|
||||
U.S. Army Research Laboratory
|
||||
|
||||
Markowski, Michael J.
|
||||
Markowski, Michael J. <michael.markowski@arl.army.mil>
|
||||
nicknames mmark, mm
|
||||
1991 June
|
||||
U.S. Army Ballistic Research Laboratory
|
||||
@@ -141,7 +141,7 @@ nicknames gdurf
|
||||
1992 August
|
||||
ARL Student Hire / Carnegie Mellon University
|
||||
|
||||
Anderson, John R.
|
||||
Anderson, John R. <jra@arl.army.mil>
|
||||
nicknames jra, johnranderson
|
||||
1993 May
|
||||
U.S. Army Ballistic Research Laboratory
|
||||
@@ -178,7 +178,7 @@ nicknames tranese
|
||||
2001 March
|
||||
U.S. Army Research Laboratory
|
||||
|
||||
Hartley, Robert F.
|
||||
Hartley, Robert F. <hartley@vt.edu>
|
||||
nicknames hartley
|
||||
2002 August
|
||||
ARL Student Hire / Virginia Tech
|
||||
@@ -189,7 +189,7 @@ nicknames twingy, justin
|
||||
Quantum Research International, Inc.
|
||||
U.S. Army Research Laboratory
|
||||
|
||||
Greenwald, Erik
|
||||
Greenwald, Erik <erikg@arl.army.mil> **
|
||||
nicknames erikg, erikgreenwald
|
||||
2003 November
|
||||
U.S. Army Research Laboratory
|
||||
@@ -213,12 +213,12 @@ nicknames indianlarry
|
||||
SURVICE Engineering, Inc.
|
||||
U.S. Army Research Laboratory
|
||||
|
||||
Weiss, Richard
|
||||
Weiss, Richard **
|
||||
nicknames r_weiss
|
||||
2008 December
|
||||
U.S. Army Research Laboratory
|
||||
|
||||
Browder, Thomas M. Jr.
|
||||
Browder, Thomas M. Jr. **
|
||||
nicknames tbrowder2
|
||||
2008 June
|
||||
ManTech International Corporation
|
||||
@@ -230,7 +230,7 @@ nicknames n_reed
|
||||
ARL Student Hire / University of Maryland, Baltimore County
|
||||
Quantum Research International, Inc.
|
||||
|
||||
Moore, Jr., Carl G.
|
||||
Moore, Jr., Carl G. **
|
||||
nicknames cmoore, carlmoore
|
||||
2011 October
|
||||
U.S. Army Research Laboratory
|
||||
@@ -243,7 +243,7 @@ Weaver, Earl P.
|
||||
1980
|
||||
U.S. Army Ballistic Research Laboratory
|
||||
|
||||
Davisson, Edwin O.
|
||||
Davisson, Edwin O. **
|
||||
U.S. Army Research Laboratory
|
||||
|
||||
Rogers, David
|
||||
@@ -263,7 +263,7 @@ U.S. Army Research Laboratory
|
||||
Kregel, Dwayne **
|
||||
SURVICE Engineering, Inc.
|
||||
|
||||
Weaver, Stephanie 'Rain'
|
||||
Weaver, Stephanie 'Rain' **
|
||||
2009 June
|
||||
ARL Student Hire / Bridgewater College
|
||||
|
||||
@@ -898,26 +898,11 @@ nicknames lois221
|
||||
2019 May
|
||||
Open Source (GSoC)
|
||||
|
||||
Suthar, Rishabh
|
||||
nicknames yamhai, rishabhsuthar32
|
||||
2020 March
|
||||
Open Source (GSoC)
|
||||
|
||||
Vaidya, Sahil
|
||||
nicknames sahilvaidya99
|
||||
2020 April
|
||||
ARL Student Hire / University of Texas at Austin
|
||||
|
||||
Das, Sumagna
|
||||
nicknames sumagnadas
|
||||
2020 May
|
||||
Open Source
|
||||
|
||||
Atreya, Vikram
|
||||
nicknames vikram-atreya
|
||||
2020 October
|
||||
Open Source
|
||||
|
||||
|
||||
SPECIAL THANKS
|
||||
--------------
|
||||
|
||||
@@ -15,9 +15,6 @@ on-going issues.
|
||||
Recent Bugs
|
||||
-----------
|
||||
|
||||
* fbclear -c appears to hang indefinitely inside pkg_bwaitfor,
|
||||
possible protocol mismatch or capability removed/changed in fbserv.
|
||||
|
||||
* dbupgrade -r produces an invalid rhc with the default v5 rhc produced
|
||||
by MGED with "make rhc rhc"
|
||||
|
||||
@@ -236,6 +233,9 @@ Recent Bugs
|
||||
book-keeping is fuxored or the db_lookup is returning NULL (or isn't
|
||||
yet performed).
|
||||
|
||||
* idents command is reporting a bogus region count in the region
|
||||
output table listing (first column).
|
||||
|
||||
* src/librt/primitives/bot/g_bot_include.c:rt_bot_bbox() routine isn't
|
||||
calculating the bbox correctly
|
||||
|
||||
|
||||
@@ -127,35 +127,6 @@ generally listed for reference.
|
||||
Items marked with a "'" (single quote) are undocumented and may be
|
||||
removed at any time.
|
||||
|
||||
7.32
|
||||
----
|
||||
include/bu/app.h
|
||||
bu_brlcad_root: replaced by bu_dir
|
||||
bu_brlcad_dir: replaced by bu_dir
|
||||
|
||||
include/bg/chull.h
|
||||
All functions returning point arrays instead of index arrays.
|
||||
Will be replaced by similarly named functions returning
|
||||
indexes into provided points array, to allow the caller
|
||||
to decide if new arrays are needed. [deprecated 7.32]
|
||||
bg_polyline_2d_chull, bg_2d_chull, bg_3d_coplanar_chull,
|
||||
bg_3d_chull
|
||||
|
||||
include/bu/exit.h
|
||||
bu_backtrace and bu_crashreport will be replaced with versions
|
||||
that take an optional parameter to pass in a full path from
|
||||
the calling application. (Currently available as
|
||||
bu_backtrace_app and bu_crashreport_app, these will
|
||||
replace existing versions after deprecation is complete.)
|
||||
|
||||
MGED gui
|
||||
The following will be removed from MGED's menu bar (unused
|
||||
features, can be accomplished another way, or will be exposed
|
||||
only as lower level settings when there are sensible defaults
|
||||
that are seldom changed.)
|
||||
|
||||
Settings->Mouse Behavior->Pick Raytrace-Object(s)
|
||||
|
||||
7.30
|
||||
----
|
||||
~/.density
|
||||
@@ -383,7 +354,6 @@ include/raytrace.h
|
||||
*** OBSOLETED CHANGES ***
|
||||
**********************************************************************
|
||||
(reverse chronological order)
|
||||
|
||||
7.30.2
|
||||
------
|
||||
ray tracing tools
|
||||
@@ -1557,11 +1527,3 @@ s/wdb_pipept/wdb_pipe_pnt/g
|
||||
renamed points from pt to pnt for consistency [7.30]
|
||||
s/proe-brl/creo-brl/g
|
||||
replaced by newer creo plugin [7.30]
|
||||
|
||||
7.32
|
||||
----
|
||||
s/facetall.sh/mged -c facetize/g
|
||||
replaced by more improved facetize command [7.30]
|
||||
s/pixcmp -s/pixcmp -q/g
|
||||
s/pixcmp -l/pixcmp -d/g
|
||||
changed pixcmp options for consistency with new options [7.32]
|
||||
|
||||
@@ -101,7 +101,7 @@ arranged. This includes an implicit assignment of copyright for any
|
||||
and all contributions being made. The following notice should be
|
||||
prominent in the BRL-CAD sources:
|
||||
|
||||
Copyright (c) 1984-2021 United States Government as represented by
|
||||
Copyright (c) 1984-2020 United States Government as represented by
|
||||
the U.S. Army Research Laboratory.
|
||||
|
||||
Contact
|
||||
|
||||
@@ -661,6 +661,16 @@ version if BRLCAD_BUNDLED_LIBS is also AUTO.
|
||||
Aliases: ENABLE_OPENNURBS
|
||||
|
||||
|
||||
--- BRLCAD_SPSR ---
|
||||
|
||||
Option for enabling and disabling compilation of the Screened Poisson
|
||||
Surface Reconstruction library provided with BRL-CAD's source code.
|
||||
Default is AUTO, responsive to the toplevel BRLCAD_BUNDLED_LIBS option
|
||||
and testing first for a system version if BRLCAD_BUNDLED_LIBS is also AUTO.
|
||||
|
||||
Aliases: ENABLE_SPSR
|
||||
|
||||
|
||||
--- BRLCAD_SC ---
|
||||
|
||||
Option for enabling and disabling compilation of the NIST Step Class
|
||||
@@ -671,6 +681,17 @@ first for a system version if BRLCAD_BUNDLED_LIBS is also AUTO.
|
||||
Aliases: ENABLE_SCL, ENABLE_STEP, ENABLE_STEP_CLASS_LIBRARIES
|
||||
|
||||
|
||||
--- BRLCAD_VDS ---
|
||||
|
||||
Option for enabling and disabling compilation of the libvds triangle
|
||||
simplification library provided with BRL-CAD's source code. Default
|
||||
is AUTO, responsive to the toplevel BRLCAD_BUNDLED_LIBS option and
|
||||
testing first for a system version if BRLCAD_BUNDLED_LIBS is also
|
||||
AUTO.
|
||||
|
||||
Aliases: ENABLE_VDS
|
||||
|
||||
|
||||
--- BRLCAD_OSG ---
|
||||
|
||||
Option for enabling and disabling compilation of the OpenSceneGraph
|
||||
@@ -681,6 +702,17 @@ version if BRLCAD_BUNDLED_LIBS is also AUTO.
|
||||
Aliases: ENABLE_OPENSCENEGRAPH
|
||||
|
||||
|
||||
--- BRLCAD_GDIAM ---
|
||||
|
||||
Option for enabling and disabling compilation of the libgdiam approximate
|
||||
tight bounding box library provided with BRL-CAD's source code. Default
|
||||
is AUTO, responsive to the toplevel BRLCAD_BUNDLED_LIBS option and
|
||||
testing first for a system version if BRLCAD_BUNDLED_LIBS is also
|
||||
AUTO.
|
||||
|
||||
Aliases: ENABLE_GDIAM
|
||||
|
||||
|
||||
--- BRLCAD_PROJ4 ---
|
||||
|
||||
Option for enabling and disabling compilation of the PROJ.4 geographic
|
||||
|
||||
@@ -10,122 +10,17 @@ descriptive text that emphasizes or further describes significant
|
||||
changes made. See document footer for additional details.
|
||||
|
||||
----------------------------------------------------------------------
|
||||
--- 2021-XX-XX Release 7.32.4 ---
|
||||
--- 20XX-XX-XX Release 7.3X.X ---
|
||||
----------------------------------------------------------------------
|
||||
|
||||
|
||||
----------------------------------------------------------------------
|
||||
--- 2021-02-06 Release 7.32.2 ---
|
||||
----------------------------------------------------------------------
|
||||
|
||||
* fixed OSX g-iges crash due to improper memory freeing - Cliff Yapp
|
||||
* fixed GQA multithreaded plotting file corruption - Cliff Yapp
|
||||
* added -S structural diff option to MGED gdiff command - Cliff Yapp
|
||||
* added -v verbosity option to MGED tree command - Cliff Yapp
|
||||
* added -? option to MGED which command - Cliff Yapp
|
||||
* updated Archer to set cwd=HOME when run without args - Cliff Yapp
|
||||
* updated rtwizard to set cwd=HOME when run without args - Cliff Yapp
|
||||
* updated MGED to set cwd=HOME when run without args - Cliff Yapp
|
||||
* fixed reporting of MGED "vars" command - Cliff Yapp
|
||||
* updated MGED to not open non-.g-files as databases - Cliff Yapp
|
||||
* fixed MGED I/O when running GED subcommands - Cliff Yapp
|
||||
* added decimation control examples to facetize man page - Cliff Yapp
|
||||
* changed gcv converter to append to existing .g files - Cliff Yapp
|
||||
* removed obscure MGED menu entries for unused features - Cliff Yapp
|
||||
* fixed crash when trying to shade invalid breps - Cliff Yapp
|
||||
* improved librt CPU timer behavior - Cliff Yapp
|
||||
* fixed example in saveview manual page - Sean Morrison
|
||||
* added support for in-database vol primitive data - Sumagna Das
|
||||
* changed 'mvall' to rename all refs even w/ no object - Sean Morrison
|
||||
* updated MGED Overlap GUI to run reliably on Windows - Cliff Yapp
|
||||
* fixed MGED search command crash on empty database - Sean Morrison
|
||||
* improved performance calculating BoT bounding boxes - Vikram Atreya
|
||||
* fixed MGED crash closing multiple rt views on Windows - Cliff Yapp
|
||||
* fixed 'n' key binding override with MGED key forwarding - Cliff Yapp
|
||||
* fixed mged crash when there are no display managers - Sean Morrison
|
||||
* added pixcmp -n length flag for subset comparisons - Sean Morrison
|
||||
* added pixcmp -s same and -d different printing flags - Sean Morrison
|
||||
* updated non-shape objects list for search shape filter - Cliff Yapp
|
||||
* added volume type to search -type filters - Cliff Yapp
|
||||
* applied shorter default title in fast4-g conversions - Cliff Yapp
|
||||
* improved pixcmp support for subset image comparisons - Sean Morrison
|
||||
* added subtract subcommand to MGED analyze command - Cliff Yapp
|
||||
* added intersect subcommand to MGED analyze command - Cliff Yapp
|
||||
* added summarize subcommand to MGED analyze command - Cliff Yapp
|
||||
* added quiet (-q) flag to MGED kill command - Cliff Yapp
|
||||
* added MGED stat command for reporting of object info - Cliff Yapp
|
||||
* corrected examples in gdiff man page - Cliff Yapp
|
||||
* fixed help message for -F option on gdiff command - Cliff Yapp
|
||||
* fixed mged -c bomb attaching to graphical displays - Sean Morrison
|
||||
* fixed titlebar bug opening .g with filename spaces - Sean Morrison
|
||||
* added a new 'N' graphics window keybinding to run nirt - Cliff Yapp
|
||||
|
||||
----------------------------------------------------------------------
|
||||
--- 2020-09-14 Release 7.32.0 ---
|
||||
----------------------------------------------------------------------
|
||||
|
||||
This major release of BRL-CAD introduces significant updates to core
|
||||
library infrastructure. The update includes restructuring of nearly
|
||||
all of BRL-CAD's display infrastructure in preparation for upcoming
|
||||
significant GUI changes. This release also fixes over fifty of
|
||||
BRL-CAD's command-line utilities so they work properly on Windows.
|
||||
This is likely the last major release of BRL-CAD on Subversion
|
||||
infrastructure with BRL-CAD's imminent migration to Git.
|
||||
|
||||
* added basic example to remrt man page - Cliff Yapp, Sean Morrison
|
||||
* added new 'nburst' version of classic burst tool - Cliff Yapp
|
||||
* added 'bot set' command for low level BoT manipulation - Cliff Yapp
|
||||
* report semantic strings for 'bot get' mode/orientation - Cliff Yapp
|
||||
* added new manual page for the libicv library - Sumagna Das
|
||||
* added -size filter to MGED search command - Cliff Yapp
|
||||
* upgraded Tcl/Tk from 8.5.19 to 8.6.10 - Cliff Yapp
|
||||
* bundled zlib & libpng use API prefix and library suffix - Cliff Yapp
|
||||
* extensive improvements to OpenCL ray trace pipeline - Rishabh Suthar
|
||||
* improved rtweight density value warnings - Sean Morrison, Cliff Yapp
|
||||
* added perception-based hdtv and hdr modes for pix-bw - Sean Morrison
|
||||
* fixed semi-transparent DM and FB windows on Linux - Cliff Yapp
|
||||
* improved rtweight manual page - Sean Morrison
|
||||
* added line reporting TCP listening port to remrt output - Cliff Yapp
|
||||
* added help options support (-h,-?) to asc2dsp and g2asc - Cliff Yapp
|
||||
* fixed crash when drawing a VOL with missing data - Cliff Yapp
|
||||
* facetall.sh script is replaced by MGED facetize command - Cliff Yapp
|
||||
* dynamic LIBGED command loading in MGED & Archer - Cliff Yapp
|
||||
* removed MGED "Display Manager" switching menu options - Cliff Yapp
|
||||
* dynamic LIBDM display manager loading in MGED & Archer - Cliff Yapp
|
||||
* fixed 'idents' crash when running in a read-only dir - Sean Morrison
|
||||
* fixed fb tools w/ redirected files and cv on Windows - Sean Morrison
|
||||
* expanded 'bo' command docs with a DSP input example - Sean Morrison
|
||||
* fixed 'in' making joint, superell, & script objects - Sean Morrison
|
||||
* Creo converter always writes out CREO_NAME attribute - Sean Morrison
|
||||
* improved gdiff -F filtering option behavior - Cliff Yapp
|
||||
* improved gdiff command verbosity reporting options - Cliff Yapp
|
||||
* improved Combination Editor button behaviors in MGED - Sean Morrison
|
||||
* added 'asc' geometry import and export support to gcv - Cliff Yapp
|
||||
* consistent usage taxonomy for ident-related commands - Sean Morrison
|
||||
* added units label to the Archer in-scene scale graphic - Cliff Yapp
|
||||
* added framebuffer capture option to screengrab command - Cliff Yapp
|
||||
* added framebuffer writing option to overlay command - Cliff Yapp
|
||||
* added tree search option to 'whichid' and 'whichair' - Cliff Yapp
|
||||
* changed 'whichid' and 'whichair' to print ranges of unused IDs
|
||||
- Nick Reed, Cliff Yapp
|
||||
* improved output path sorting of search command - Cliff Yapp
|
||||
* added "bot extrude" command for making ARB6s from bots - Cliff Yapp
|
||||
* added 3dm-g failure message about supported versions - Cliff Yapp
|
||||
* fixed bw-png writing corrupted png files on Windows - Sean Morrison
|
||||
* added MGED 'dm type' subcommand for reporting DM type - Cliff Yapp
|
||||
* improved vdeck input support for Windows text files - Sean Morrison
|
||||
* fixed MGED 'plot' & 'brep plot' commands on Windows - Sean Morrison
|
||||
* fixed numerous image utilities reading binary input files on Windows
|
||||
- Sean Morrison, Cliff Yapp
|
||||
|
||||
|
||||
----------------------------------------------------------------------
|
||||
--- 2020-07-24 Release 7.30.10 ---
|
||||
----------------------------------------------------------------------
|
||||
|
||||
* added 3dm-g failure message about supported versions - Cliff Yapp
|
||||
* fixed MGED "in" command support for datums - Sean Morrison
|
||||
* fixed bw-png writing corrupted png files on Windows - Sean Morrison
|
||||
|
||||
|
||||
----------------------------------------------------------------------
|
||||
@@ -149,11 +44,9 @@ infrastructure with BRL-CAD's imminent migration to Git.
|
||||
* fixed transparent drawing in MGED - Nick Reed
|
||||
* fixed solid NURBS brep intersection testing - Cliff Yapp
|
||||
* removed extra blank line after commands in MGED GUI - Sean Morrison
|
||||
* minor improvement to NURBS ray tracing performance - Sean Morrison
|
||||
* added "plate" object type filter to search command - Cliff Yapp
|
||||
* fixed latent logging bug during facetize on Windows - Bob Parker
|
||||
* fixed bug closing rt framebuffer windows on Windows - Sean Morrison
|
||||
* added EBM support for reading from database objects - Jeffrey Liu
|
||||
|
||||
|
||||
----------------------------------------------------------------------
|
||||
@@ -168,13 +61,9 @@ infrastructure with BRL-CAD's imminent migration to Git.
|
||||
* changed mged escape key binding to reset mouse mode - Sean Morrison
|
||||
* removed default xXyYzZ0 rate rotation key bindings - Sean Morrison
|
||||
* improved tessellation of nearly coplanar surfaces - John Anderson
|
||||
* fixed annotations display on Windows - Daniel Roßberg, Ali Haydar
|
||||
* fixed display of annotations on Windows - Daniel Roßberg
|
||||
* fixed rtedge and rtwizard occlusion object edge bug - Sean Morrison
|
||||
* rt* tools no longer force outputs to be read-only - Sean Morrison
|
||||
* fixed bug listing annotations with short label strings - Ali Haydar
|
||||
* improved support for label placement in annotations - Ali Haydar
|
||||
* fixed bug in annotation object bounding box calculation - Ali Haydar
|
||||
* fixed an annotation leader line bug affecting display - Ali Haydar
|
||||
* fixed 'burst' crash when run without options - Sean Morrison
|
||||
* changed rtweight to not truncate long pathnames - Sean Morrison
|
||||
* added new ball bearing example geometry model - Sean Morrison
|
||||
@@ -194,9 +83,9 @@ infrastructure with BRL-CAD's imminent migration to Git.
|
||||
- Sean Morrison, Cliff Yapp
|
||||
* added a copy subcommand to MGED's attr command - Cliff Yapp
|
||||
* fixed a locking condition in MGED's rtcheck command - Cliff Yapp
|
||||
* added support for >=< prefixes for mater -d get options - Cliff Yapp
|
||||
* added support for >=< prefixes for mater -d get options Cliff Yapp
|
||||
* fixed brlman lookup location of html manual pages - Cliff Yapp
|
||||
* fixed rt -t top-to-bottom parallel rendering option - Sean Morrison
|
||||
* fixed rt -t top-to-bottom parallel rendering option Sean Morrison
|
||||
* added a 'flip' normals command to MGED's brep command - Cliff Yapp
|
||||
* added rtweight support for in-.g density information - Cliff Yapp
|
||||
* improved usability of vol primitives w/ missing data - Sean Morrison
|
||||
@@ -303,7 +192,7 @@ methodologies and usability enhancements.
|
||||
* improved 'idents' command portability - Daniel Ramirez, Cliff Yapp
|
||||
* changed remrt/rtsrv to no longer report overlaps - Sean Morrison
|
||||
* improved GUI of MGED's Overlap Tool - Saran Narayan
|
||||
* fixed geopmetry directory building bug in remrt/rtsrv - Sean Morrison
|
||||
* fixed geometry directory building bug in remrt/rtsrv - Sean Morrison
|
||||
* fixed gcv problem with full paths on Windows - Cliff Yapp
|
||||
* removed precision limitation in NIRT input parsing - Cliff Yapp
|
||||
* added new example geometry models: chess and die pieces - Jeff Sieu
|
||||
@@ -384,7 +273,6 @@ and address portability issues.
|
||||
* fix rtedge foreground/background color options - Jon Engbert
|
||||
* support rt -C colors specified as 0-255 or 0.0-1.0 - Jon Engbert
|
||||
* fixed xpush bug leaving stray top-level objects - Nick Reed
|
||||
* removed MGED wrapper 'mged.bat' batch script on Windows - Cliff Yapp
|
||||
|
||||
|
||||
----------------------------------------------------------------------
|
||||
@@ -438,7 +326,7 @@ performance ray tracing pipeline.
|
||||
* fixed patch-g tool and E command infinite loop bug - Sean Morrison
|
||||
* improved NMG ray tracing fault tolerance - Sean Morrison
|
||||
* added 3dm-g support for layers and names - Keith Bowman
|
||||
* fixed issue preserving color/shader info with 3dm-g - Jon Engbert
|
||||
* fixed color/shader preservation issue with 3dm-g importer - Jon Engbert
|
||||
* added 3dm-g support for mesh objects - Jon Engbert
|
||||
* added csg implicit hierarchy conversion to brep command - Cliff Yapp
|
||||
* fixed crash in clone when told to make zero copies - Cliff Yapp
|
||||
@@ -452,7 +340,7 @@ performance ray tracing pipeline.
|
||||
* removed any-png.sh - use pix tools - Sean Morrison
|
||||
* removed librtserver interface - Cliff Yapp
|
||||
* removed MGED per_line command - Sean Morrison
|
||||
* updated MGED tops command: default to -g -u behavior - Sean Morrison
|
||||
* updated MGED tops command: default to -g -u behavior- Sean Morrison
|
||||
* removed MGED -n option; use -c instead - Sean Morrison
|
||||
* removed MGED commands pl, pov and polybinout - Sean Morrison
|
||||
* removed UtahRLE image tools - Cliff Yapp
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
BRL-CAD
|
||||
Release 7.32.4
|
||||
Release 7.32.0
|
||||
http://brlcad.org/
|
||||
|
||||
BRL-CAD is a powerful cross-platform open source combinatorial
|
||||
|
||||
@@ -18,29 +18,33 @@ tasks as they are completed.
|
||||
THESE TASKS SHOULD HAPPEN BEFORE THE NEXT RELEASE
|
||||
-------------------------------------------------
|
||||
|
||||
* The embedded framebuffer for the X display manager is not working
|
||||
with Tcl/Tk 8.6 - it brings down mged with an Xerror when it tries
|
||||
to XFlush after X24_blit.
|
||||
|
||||
THESE TASKS SHOULD HAPPEN WITHIN TWO RELEASE ITERATIONS
|
||||
-------------------------------------------------------
|
||||
|
||||
* dbconcat corrupted database / failed. created a top-level comb with
|
||||
invalid "1_[subcomb]/" to be created that result in error messages
|
||||
during any db listing (e.g., tops). workaround was to manually edit
|
||||
the comb and remove the 1_ and / on the entries.
|
||||
* Implement new behavior for quit command in MGED - if bu_subprocess
|
||||
commands are running, by default refuse to quit and print out a
|
||||
list of currently running processes and instructions on how to abort
|
||||
them. Implement a -f option to forcibly quite even if there are
|
||||
subprocesses running, and (perhaps) a --wait option to quite after
|
||||
all subprocesses complete.
|
||||
|
||||
* The following will be removed from MGED's menu bar (unused
|
||||
features, can be accomplished another way, or will be exposed
|
||||
only as lower level settings when there are sensible defaults
|
||||
that are seldom changed.)
|
||||
|
||||
Modes->Display Lists
|
||||
Misc->Keystroke Forwarding
|
||||
Misc->Depth Cueing
|
||||
Misc->Z Buffer
|
||||
Misc->Lighting
|
||||
Also of interest in this context (but not critical for the basic
|
||||
functionality) is designing a general mechanism or protocol for
|
||||
applications to communicate progress back to bu_subprocess.
|
||||
|
||||
* implement uv-mapping callback so we can texture-map BoT, NMG, and
|
||||
NURBS geometry
|
||||
|
||||
* check thread safety history of gqa + plot calls (pl_color)
|
||||
|
||||
* mged> nirt -? needs to provide help
|
||||
|
||||
* mged> nirt -f fmt doesn't seem to work at all
|
||||
|
||||
* modify libfb's default memory buffer allocation to be dynamic
|
||||
|
||||
* create a BRL-CAD .g with all possible object types embedded.
|
||||
@@ -52,6 +56,59 @@ THESE TASKS SHOULD HAPPEN WITHIN TWO RELEASE ITERATIONS
|
||||
* attribute normalization is drastically slowing down
|
||||
region creation - need to fix or back out
|
||||
|
||||
* g-obj not exporting colors
|
||||
|
||||
* finish testing of libbu bu_dir API and matching bu_dir TCL function.
|
||||
bu_dir bin and lib don't work when the MGED prompt's working directory
|
||||
is changed to (e.g.) the user's home directory.
|
||||
bu_brlcad_root and bu_brlcad_data will need verbose deprecation process.
|
||||
|
||||
* Need to eliminate bu_argv0_full_path and rework the bu_brlcad_*
|
||||
functions that currently rely on it to take that path as a
|
||||
parameter from the calling application. The library shouldn't be
|
||||
responsible for managing that path - there are too many issues
|
||||
with doing so. The current approach fixes some concerns but
|
||||
breaks if an application changes its notion of the current working
|
||||
directory after initialization, for example.
|
||||
|
||||
* tree command shouldn't infinite loop when encountering a cyclic
|
||||
path - need to print a warning and stop walking. Requries full
|
||||
path awareness in tree command walk.
|
||||
|
||||
Consider implementing a corollary to FTS instead of dirent for
|
||||
simplified tree traversal with cyclic awareness.
|
||||
|
||||
https://keramida.wordpress.com/2009/07/05/fts3-or-avoiding-to-reinvent-the-wheel/
|
||||
|
||||
* move the rt_*_timer timing facilities to libbu and rework to allow
|
||||
contexts, allowing for more than one timer to be active. Make sure
|
||||
the old librt API can be obsoleted cleanly.
|
||||
|
||||
* check that dbconcat supports objects created with the bo cmd
|
||||
|
||||
* libgcv should add objects to an existing .g if one is specified
|
||||
as the output target - right now it's overwriting the old file
|
||||
|
||||
* consolidate dbconcat, clone, make_name, and any other .g I/O
|
||||
routines that need to autogenerate names to use the new
|
||||
bu_vls_incr/bu_vls_simplify functions.
|
||||
|
||||
* rename zlib and libpng when building bundled to avoid conflicting
|
||||
with system-installed libs. e.g., default to ENABLE_Z_PREFIX=ON
|
||||
with name z_brlcad (perhaps as a post-compile rename custom command)
|
||||
and png_brlcad respectively.
|
||||
|
||||
* investigate possibility of using simple, compact libs
|
||||
like miniz and lodepng to replace the complexity of
|
||||
managing zlib and libpng in src/other. These have been
|
||||
a source of ongoing annoyance, particularly (but not
|
||||
exclusively) on OSX.
|
||||
|
||||
* f_dbopen in MGED doesn't seem to be reporting failure
|
||||
if a non-.g file is fed to opendb. That doesn't seem
|
||||
right... shouldn't the open process completely fail
|
||||
if the file isn't a valid .g?
|
||||
|
||||
* add regression test for directional light sources
|
||||
|
||||
* bundle primary rays in rt front end into postage stamps, shoot via
|
||||
@@ -82,126 +139,16 @@ THESE TASKS SHOULD HAPPEN WITHIN TWO RELEASE ITERATIONS
|
||||
* make sure we can run db_dirbuild() multiple times without creating
|
||||
duplicate entries.
|
||||
|
||||
* tree command shouldn't infinite loop when encountering a cyclic
|
||||
path - need to print a warning and stop walking. Requries full
|
||||
path awareness in tree command walk.
|
||||
|
||||
Consider implementing a corollary to FTS instead of dirent for
|
||||
simplified tree traversal with cyclic awareness.
|
||||
|
||||
https://keramida.wordpress.com/2009/07/05/fts3-or-avoiding-to-reinvent-the-wheel/
|
||||
|
||||
* bounding box reduction command
|
||||
|
||||
* consolidate dbconcat, clone, make_name, and any other .g I/O
|
||||
routines that need to autogenerate names to use the new
|
||||
bu_vls_incr/bu_vls_simplify functions.
|
||||
|
||||
* g-obj not exporting colors
|
||||
|
||||
* heap unit test needs to actually compare performance against system
|
||||
allocation, not just do some work
|
||||
|
||||
* mged> nirt -? needs to provide help
|
||||
|
||||
* mged> nirt -f fmt doesn't seem to work at all
|
||||
|
||||
* move the rt_*_timer timing facilities to libbu and rework to allow
|
||||
contexts, allowing for more than one timer to be active. Make sure
|
||||
the old librt API can be obsoleted cleanly.
|
||||
|
||||
* investigate problems with struct parsing running the MGED
|
||||
"vars" command - most visible on OpenBSD, but Linux valgrind can
|
||||
also see issues.
|
||||
|
||||
|
||||
THESE ARE UNSCHEDULED BACKLOG TASKS
|
||||
-----------------------------------
|
||||
|
||||
* gdiff in mged appears to be broken? get "no primitives found" on
|
||||
second comb when specifying two combs (gdiff comb1 comb2).
|
||||
UPDATE - this appears to be a consequence of how gdiff internally
|
||||
implements its raytrace diffing. The "fix" would be to separately
|
||||
raytrace each object and post-process the line segments, rather
|
||||
than drawing up everything at once - the latter has problems if
|
||||
part or all of comb2 is shared with comb1. A workaround is to
|
||||
keep out comb2 and dbconcat it back in, then gdiff comb1 with the
|
||||
imported tree.
|
||||
|
||||
* pixscale doesn't seem to handle stdin (due to bu_seek) for very
|
||||
long
|
||||
|
||||
* The embedded framebuffer for the X display manager is not working
|
||||
with Tcl/Tk 8.6 - it brings down mged with an Xerror when it tries
|
||||
to XFlush after X24_blit. Better solution is to replace the X
|
||||
dm/fb with a cross platform software rasterizing solution of some
|
||||
sort.
|
||||
|
||||
* extract a skin or other exterior surface for a given model. 3 options:
|
||||
1. Implement a "shrinkwrap" feature that calculates a concave hull
|
||||
2. Shoot rays from outside, construct exterior mesh based on hits
|
||||
(akin to marching cubes, a surface reconstruction)
|
||||
3. Shoot rays from outside at exterior vertices, retain all mesh faces
|
||||
and objects encountered (i.e., not reconstructed, but extracted)
|
||||
|
||||
* RTAREA
|
||||
|
||||
* add an option to rtarea for onehit. this is probably best as an
|
||||
option that reports the requested objects only and then has a
|
||||
verbose option for the more detailed hiearchical report that is
|
||||
currently produced.
|
||||
|
||||
* verify rtarea. There are reports that the rtarea
|
||||
command may have a bug in its calculations. This needs to be
|
||||
investigated.
|
||||
|
||||
* review and fix rtarea's taxonomy for describing
|
||||
presented/projected areas. users expect presented area to
|
||||
represent what is currently referred to as exposed area. may make
|
||||
more sense to introduce a different terms for other shotline
|
||||
encounters.
|
||||
|
||||
* make rtarea display a cross-hair and perhaps coordinates for the
|
||||
center of area if run from within mged.
|
||||
|
||||
* add an option to rtarea for onehit. this is probably best as an
|
||||
option that reports the requested objects only and then has a
|
||||
verbose option for the more detailed hiearchical report that is
|
||||
currently produced.
|
||||
|
||||
* verify rtarea. There are reports that the rtarea
|
||||
command may have a bug in its calculations. This needs to be
|
||||
investigated.
|
||||
|
||||
* review and fix rtarea's taxonomy for describing
|
||||
presented/projected areas. users expect presented area to
|
||||
represent what is currently referred to as exposed area. may make
|
||||
more sense to introduce a different terms for other shotline
|
||||
encounters.
|
||||
|
||||
* make rtarea display a cross-hair and perhaps coordinates for the
|
||||
center of area if run from within mged.
|
||||
|
||||
* bot -V check solid bot.s visualizations don't show up if bot.s is
|
||||
first drawn in MGED - should properly "overlay" them so the user
|
||||
doesn't have to first erase the solid from the scene visual.
|
||||
|
||||
* MGED's startup directory is inconsistent and sometimes problematic.
|
||||
If the current working directory is read-only (e.g., a default
|
||||
system install and opening one of the sample .g files), then
|
||||
numerous commands the write out to the current path will fail (e.g.,
|
||||
"idents file.log"). Review startup path behavior and consider using
|
||||
$HOME or some other system path, unless started on the command-line.
|
||||
|
||||
* rtwizard's reopening of the database is causing db_dircheck
|
||||
"Duplicate of..." errors when opening read-only .g files.
|
||||
|
||||
* procedural studio box generation allowing for specification of size,
|
||||
shape, material, and lighting characteristics
|
||||
|
||||
* verify all of the src/util utilities behave correctly on Windows
|
||||
with respect to mode (i.e. correctly using setmode/O_BINARY when
|
||||
performing file I/O.)
|
||||
* audit/fix all of the src/util and src/fb utilities to ensure they
|
||||
set binary mode (setmode O_BINARY) when writing out files. at quick
|
||||
glance, there are many (about 50) that still do not.
|
||||
|
||||
* the osgl libdm backend has what appears to be an off-by-one-pixel
|
||||
error in the x and y directions with respect to mouse placement.
|
||||
@@ -509,6 +456,11 @@ THESE ARE UNSCHEDULED BACKLOG TASKS
|
||||
parallel. This would be a way to easily parallelize existing code
|
||||
without needing to create wrapper functions for bu_parallel().
|
||||
|
||||
* Now that we have >3.0 CMake required, look into replacing our custom
|
||||
time stamping code in favor of using the CMake time stamp mechanism.
|
||||
Also get rid of the fallback in src/libgcv/plugins/CMakeLists.txt
|
||||
(and any others that have crept in over the years...)
|
||||
|
||||
* convert usages of Tcl_InitHashTable() and friends to libbu
|
||||
containers (see src/conv/enf-g.c for example usage)
|
||||
|
||||
@@ -867,6 +819,11 @@ THESE ARE UNSCHEDULED BACKLOG TASKS
|
||||
file for FIXME note); add tests for both functions (note only
|
||||
g-dot.c wants to use the functions at the moment)
|
||||
|
||||
* verify/fix/improve rtarea. There are reports that the rtarea
|
||||
command may have a bug in its calculations. This needs to be
|
||||
investigated along with a review of the taxonomy used by rtarea for
|
||||
describing presented/projected areas.
|
||||
|
||||
* eliminate dbi_filepath (perhaps replace with dbi_filedir) as we
|
||||
shouldn't need to search. we were told where the database was.
|
||||
|
||||
@@ -1031,6 +988,9 @@ THESE ARE UNSCHEDULED BACKLOG TASKS
|
||||
normals. Consider adding an option to smoothly interpolate normals
|
||||
(per face or vertex).
|
||||
|
||||
* make rtarea display a cross-hair and perhaps coordinates for the
|
||||
center of area if run from within mged.
|
||||
|
||||
* refactor and manage libbn tolerance uses by providing an interface
|
||||
default (e.g., an init macro) and making everyone use that where it
|
||||
is hardcoded to 0.0005 presently (and a few places where it's
|
||||
@@ -1191,6 +1151,9 @@ THESE ARE UNSCHEDULED BACKLOG TASKS
|
||||
http://support.echoview.com/WebHelp/Reference/File_formats/
|
||||
Export_file_formats/Volume_data_set_file_formats.htm
|
||||
|
||||
* turn geometry converters and image converters into libraries
|
||||
(started as libraries libgcv and libicv)
|
||||
|
||||
* add support for querying geometry properties to library including
|
||||
computing surface area and weight/mass.
|
||||
|
||||
@@ -2137,10 +2100,6 @@ CONVERTERS
|
||||
* implement a ls-dyna "keyword" file format importer. perhaps extract
|
||||
as nmg/bot boundary representation meshes. lots of great vehicle
|
||||
datasets at http://www.ncac.gwu.edu/vml/models.html
|
||||
Update - above link seems to be down as of 2020, see:
|
||||
https://www.nhtsa.gov/crash-simulation-vehicle-models
|
||||
https://www.ccsa.gmu.edu/models/
|
||||
|
||||
|
||||
|
||||
STEP
|
||||
@@ -2351,15 +2310,8 @@ INFRASTRUCTURE
|
||||
|
||||
|
||||
THESE BREAK PROTOCOL OR ARE BACKWARDS-INCOMPATIBLE
|
||||
(i.e., v6 database format)
|
||||
--------------------------------------------------
|
||||
|
||||
* support matrices over any object, including over top-level combs
|
||||
without affecting members and including over primitives so they may
|
||||
optionally retain a local coordinate system even after a push
|
||||
operation this also will allow primitives like the torus support
|
||||
non-uniform scaling.
|
||||
|
||||
* change convention of using 'u', '+', and '-' for unions,
|
||||
intersections, and subtractions respectively to symbols that
|
||||
unambiguously describe the underlying CSG operation.
|
||||
@@ -2407,6 +2359,11 @@ THESE BREAK PROTOCOL OR ARE BACKWARDS-INCOMPATIBLE
|
||||
* remove the storage of the never-implemented keypoint parameter for
|
||||
extrude objects.
|
||||
|
||||
* have all primitives record a transformation matrix so that they may
|
||||
retain a local coordinate system even after pushed matrices. this
|
||||
also will allow primitives like the torus to support non-uniform
|
||||
scaling.
|
||||
|
||||
* rename 'part' primitive to 'pill' or remove it entirely in favor of
|
||||
a more generalized metaprimitive primitive.
|
||||
|
||||
@@ -2458,18 +2415,6 @@ FUNCTIONALITY NEEDED TO SPEED UP RAYTRACING
|
||||
* write and use kdtree - make traversal cache coherent
|
||||
|
||||
|
||||
GEOMETRY MODELS
|
||||
---------------
|
||||
|
||||
* CSG shaderball
|
||||
|
||||
* solid teapot
|
||||
|
||||
* studio box
|
||||
|
||||
* CSG lightcycle
|
||||
|
||||
|
||||
DOCUMENTATION
|
||||
-------------
|
||||
|
||||
@@ -2515,7 +2460,6 @@ DOCUMENTATION
|
||||
dsel
|
||||
dstats
|
||||
dwin
|
||||
gcv
|
||||
ihist
|
||||
imod
|
||||
isst
|
||||
@@ -2626,6 +2570,11 @@ DOCUMENTATION
|
||||
doc/docbook/presentations/en/intro-to-tcltk.xml
|
||||
doc/docbook/specifications/en/BRL_CAD_g_format_V5.xml
|
||||
|
||||
* improve rtweight documentation, explain how it computes its
|
||||
"centroid" (as it's not the center of bounding box of all objects,
|
||||
it's the geometric centoid that that takes booleans into
|
||||
consideration).
|
||||
|
||||
* write up some documentation on other build tools besides make -
|
||||
CMake supports other generators, wouldn't hurt to detail how to
|
||||
trigger builds in them (MSVC is partially covered, make sure to
|
||||
|
||||
@@ -11,27 +11,17 @@ set(BARK_SOURCES
|
||||
run.c
|
||||
clean.c
|
||||
)
|
||||
BRLCAD_ADDEXEC(bark "${BARK_SOURCES}" libbu NO_STRICT NO_INSTALL TEST_USESDATA)
|
||||
BRLCAD_ADDEXEC(bark "${BARK_SOURCES}" libbu NO_STRICT NO_INSTALL)
|
||||
|
||||
configure_file(run.sh "${CMAKE_CURRENT_BINARY_DIR}/benchmark" COPYONLY)
|
||||
install(PROGRAMS "${CMAKE_CURRENT_BINARY_DIR}/benchmark" DESTINATION ${BIN_DIR})
|
||||
DISTCLEAN("${CMAKE_CURRENT_BINARY_DIR}/benchmark")
|
||||
|
||||
add_custom_command(
|
||||
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/benchmark-${CMAKE_CFG_INTDIR}-done
|
||||
COMMAND "${CMAKE_COMMAND}" -E copy_if_different ${CMAKE_CURRENT_SOURCE_DIR}/run.sh $<TARGET_FILE_DIR:bark>/benchmark
|
||||
COMMAND "${CMAKE_COMMAND}" -E touch ${CMAKE_CURRENT_BINARY_DIR}/benchmark-${CMAKE_CFG_INTDIR}-done
|
||||
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/run.sh
|
||||
)
|
||||
add_custom_target(benchmark_cp ALL DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/benchmark-${CMAKE_CFG_INTDIR}-done)
|
||||
set_target_properties(benchmark_cp PROPERTIES FOLDER "Benchmark")
|
||||
if(CMAKE_CONFIGURATION_TYPES)
|
||||
foreach(CFG_TYPE ${CMAKE_CONFIGURATION_TYPES})
|
||||
string(TOUPPER "${CFG_TYPE}" CFG_TYPE_UPPER)
|
||||
DISTCLEAN(${CMAKE_BINARY_DIR_${CFG_TYPE_UPPER}}/${BIN_DIR}/benchmark)
|
||||
configure_file(run.sh ${CMAKE_BINARY_DIR_${CFG_TYPE_UPPER}}/bin/benchmark COPYONLY)
|
||||
endforeach(CFG_TYPE ${CMAKE_CONFIGURATION_TYPES})
|
||||
else(CMAKE_CONFIGURATION_TYPES)
|
||||
DISTCLEAN(${CMAKE_BINARY_DIR}/${BIN_DIR}/benchmark)
|
||||
configure_file(run.sh ${CMAKE_BINARY_DIR}/bin/benchmark COPYONLY)
|
||||
endif(CMAKE_CONFIGURATION_TYPES)
|
||||
|
||||
file(WRITE "${CMAKE_BINARY_DIR}/CMakeTmp/benchmsg.cmake" "message(\"---\")\n")
|
||||
@@ -48,36 +38,32 @@ CMAKEFILES(
|
||||
|
||||
if(SH_EXEC AND TARGET m35.g)
|
||||
# CTest enabled short run of the benchmark suite
|
||||
BRLCAD_ADD_TEST(NAME benchmark COMMAND ${SH_EXEC} "$<TARGET_FILE_DIR:bark>/benchmark" run TIMEFRAME=1)
|
||||
add_test(NAME benchmark COMMAND ${SH_EXEC} "${CMAKE_BINARY_DIR}/bin/benchmark" run TIMEFRAME=1)
|
||||
set_tests_properties(benchmark PROPERTIES LABELS "Benchmark")
|
||||
add_custom_target(benchmark-check
|
||||
COMMAND ${CMAKE_CTEST_COMMAND} -L Benchmark --output-on-failure
|
||||
DEPENDS rt pixcmp BENCHMARK_PIX_cp PIX_LOG_cp benchmark_cp
|
||||
DEPENDS rt pixcmp BENCHMARK_PIX_cp PIX_LOG_cp
|
||||
)
|
||||
add_dependencies(benchmark-check bldg391.g m35.g moss.g sphflake.g star.g world.g)
|
||||
set_target_properties(benchmark-check PROPERTIES FOLDER "Benchmark")
|
||||
if(TARGET check)
|
||||
add_dependencies(check benchmark-check)
|
||||
endif(TARGET check)
|
||||
|
||||
# Full run of the benchmark suite
|
||||
add_custom_target(benchmark
|
||||
COMMAND ${SH_EXEC} $<TARGET_FILE_DIR:bark>/benchmark run
|
||||
COMMAND ${SH_EXEC} ${CMAKE_BINARY_DIR}/bin/benchmark run
|
||||
COMMAND ${CMAKE_COMMAND} -P "${CMAKE_BINARY_DIR}/CMakeTmp/benchmsg.cmake"
|
||||
DEPENDS rt pixcmp BENCHMARK_PIX_cp PIX_LOG_cp benchmark_cp
|
||||
DEPENDS rt pixcmp BENCHMARK_PIX_cp PIX_LOG_cp
|
||||
)
|
||||
add_dependencies(benchmark bldg391.g m35.g moss.g sphflake.g star.g world.g)
|
||||
set_target_properties(benchmark PROPERTIES FOLDER "Benchmark")
|
||||
|
||||
# benchmark cleanup targets
|
||||
add_custom_target(benchmark-clean
|
||||
${SH_EXEC} ${CMAKE_BINARY_DIR}/bin/benchmark clean
|
||||
)
|
||||
set_target_properties(benchmark-clean PROPERTIES FOLDER "Benchmark")
|
||||
add_custom_target(benchmark-clobber
|
||||
${SH_EXEC} ${CMAKE_BINARY_DIR}/bin/benchmark clobber
|
||||
)
|
||||
set_target_properties(benchmark-clobber PROPERTIES FOLDER "Benchmark")
|
||||
endif(SH_EXEC AND TARGET m35.g)
|
||||
|
||||
# Local Variables:
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/* B E N C H M A R K . C
|
||||
* BRL-CAD
|
||||
*
|
||||
* Copyright (c) 2011-2021 United States Government as represented by
|
||||
* Copyright (c) 2011-2020 United States Government as represented by
|
||||
* the U.S. Army Research Laboratory.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/* C L E A N . C
|
||||
* BRL-CAD
|
||||
*
|
||||
* Copyright (c) 2011-2021 United States Government as represented by
|
||||
* Copyright (c) 2011-2020 United States Government as represented by
|
||||
* the U.S. Army Research Laboratory.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/* C O M P U T E . C
|
||||
* BRL-CAD
|
||||
*
|
||||
* Copyright (c) 2011-2021 United States Government as represented by
|
||||
* Copyright (c) 2011-2020 United States Government as represented by
|
||||
* the U.S. Army Research Laboratory.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
# L G T . S H
|
||||
# BRL-CAD
|
||||
#
|
||||
# Copyright (c) 2004-2021 United States Government as represented by
|
||||
# Copyright (c) 2004-2020 United States Government as represented by
|
||||
# the U.S. Army Research Laboratory.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/* P I X C M P . C
|
||||
* BRL-CAD
|
||||
*
|
||||
* Copyright (c) 2004-2021 United States Government as represented by
|
||||
* Copyright (c) 2004-2020 United States Government as represented by
|
||||
* the U.S. Army Research Laboratory.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
@@ -47,16 +47,9 @@
|
||||
#define FILE_ERROR 126
|
||||
|
||||
/* exit codes for normal operation */
|
||||
#define EXIT_OFF_BY_NONE 0
|
||||
#define EXIT_OFF_BY_ONE 1
|
||||
#define EXIT_OFF_BY_MANY 2
|
||||
|
||||
enum diff {
|
||||
MATCHING,
|
||||
OFF_BY_ONE,
|
||||
OFF_BY_MANY,
|
||||
MISSING
|
||||
};
|
||||
#define OFF_BY_NONE 0
|
||||
#define OFF_BY_ONE 1
|
||||
#define OFF_BY_MANY 2
|
||||
|
||||
|
||||
HIDDEN void
|
||||
@@ -66,40 +59,27 @@ usage(const char *name)
|
||||
if (!name) {
|
||||
name = unknown;
|
||||
}
|
||||
|
||||
/* split to fit within ISO C90 max static string length < 509 chars */
|
||||
bu_log("Usage: %s [OPTIONS] FILE1 [FILE2 [SKIP1 [SKIP2]]]\n"
|
||||
"\n"
|
||||
" Compare two PIX files pixel by pixel (or byte by byte), optionally"
|
||||
" skipping initial pixels (or bytes) in one or both input files.\n"
|
||||
"\n", name);
|
||||
bu_log("Options:"
|
||||
" -b Iterate and print by bytes instead of by pixels.\n"
|
||||
" -s Print all that have the same matching values.\n"
|
||||
" -d Print all that have different values.\n"
|
||||
" -q Quiet. Suppress printing header and summary.\n"
|
||||
/* this must be split, ISO C90 has a max static string length of 509 */
|
||||
bu_log("Usage: %s [OPTIONS] FILE1 [FILE2 [SKIP1 [SKIP2]]]\n%s", name,
|
||||
"Compare two PIX image files pixel by pixel.\n\n"
|
||||
" -l List pixel numbers and values for all pixels that differ.\n"
|
||||
" -b Output and process by bytes instead of pixels.\n"
|
||||
" -i SKIP\n"
|
||||
" Discard initial SKIP pixels (or bytes w/ -b) in FILE1 and FILE2 input.\n"
|
||||
" -i SKIP1:SKIP2\n"
|
||||
" Skip initial SKIP1 pixels (or bytes w/ -b) in FILE1 and SKIP2 in FILE2.\n"
|
||||
" -n COUNT\n"
|
||||
" Compare COUNT pixels (or bytes w/ -b). Stops by default at EOF.\n"
|
||||
"\n");
|
||||
bu_log("If either FILE is `-' or is missing, then input is read from standard input.\n"
|
||||
"If FILE1 and FILE2 are both standard input, then values must be interleaved.\n"
|
||||
"If the `-b' option is used, SKIP and COUNT values are bytes instead of pixels.\n"
|
||||
"Pixel numbers and bytes are indexed linearly from one.\n"
|
||||
"\n");
|
||||
" Skip the first SKIP pixels of input (for FILE1 and FILE2)\n");
|
||||
bu_log(" -i SKIP1:SKIP2\n"
|
||||
" Skip the first SKIP1 pixels in FILE1 and SKIP2 pixels in FILE2.\n"
|
||||
" -s Silent output. Only return an exit status.\n\n"
|
||||
"If FILE is `-' or is missing, then input is read from standard input.\n"
|
||||
"If the `-b' option is used, SKIP values are bytes instead of pixels.\n"
|
||||
"Pixel numbers and bytes are indexed linearly from one.\n");
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
HIDDEN void
|
||||
handle_range_opt(const char *arg, size_t *skip1, size_t *skip2)
|
||||
handle_i_opt(const char *arg, size_t *skip1, size_t *skip2)
|
||||
{
|
||||
const char *endptr = arg;
|
||||
long val;
|
||||
|
||||
if ((arg == NULL) || ((skip1 == NULL) && (skip2 == NULL))) {
|
||||
/* nothing to do */
|
||||
return;
|
||||
@@ -111,14 +91,12 @@ handle_range_opt(const char *arg, size_t *skip1, size_t *skip2)
|
||||
/* probably empty string */
|
||||
if (skip2) {
|
||||
endptr++;
|
||||
val = strtol(endptr, NULL, 10);
|
||||
*skip2 = (val < 0) ? 0 : val;
|
||||
*skip2 = strtol(endptr, NULL, 10);
|
||||
}
|
||||
} else if ((endptr == NULL) || (endptr[0] == '\0')) {
|
||||
/* no : found */
|
||||
if (skip2) {
|
||||
val = strtol(arg, NULL, 10);
|
||||
*skip2 = (val < 0) ? 0 : val;
|
||||
*skip2 = strtol(arg, NULL, 10);
|
||||
}
|
||||
if (skip1 && skip2) {
|
||||
*skip1 = *skip2;
|
||||
@@ -126,13 +104,11 @@ handle_range_opt(const char *arg, size_t *skip1, size_t *skip2)
|
||||
} else if (endptr[0] == ':') {
|
||||
/* found : */
|
||||
if (skip1) {
|
||||
val = strtol(arg, NULL, 10);
|
||||
*skip1 = (val < 0) ? 0 : val;
|
||||
*skip1 = strtol(arg, NULL, 10);
|
||||
}
|
||||
if (skip2) {
|
||||
endptr++; /* skip over : */
|
||||
val = strtol(endptr, NULL, 10);
|
||||
*skip2 = (val < 0) ? 0 : val;
|
||||
*skip2 = strtol(endptr, NULL, 10);
|
||||
}
|
||||
} else {
|
||||
bu_exit(OPTS_ERROR, "Unexpected input processing [%s]\n", arg);
|
||||
@@ -140,117 +116,45 @@ handle_range_opt(const char *arg, size_t *skip1, size_t *skip2)
|
||||
}
|
||||
|
||||
|
||||
HIDDEN enum diff
|
||||
compare_rgb(int r1, int g1, int b1, int r2, int g2, int b2, size_t *matching, size_t *off1, size_t *offmany, size_t *missing)
|
||||
{
|
||||
enum diff result = MISSING;
|
||||
|
||||
if ((r1 == r2 && r1 != -1)
|
||||
&& (g1 == g2 && g1 != -1)
|
||||
&& (b1 == b2 && b1 != -1))
|
||||
{
|
||||
result = MATCHING;
|
||||
(*matching)++;
|
||||
} else if (r1 == -1 || r2 == -1 || g1 == -1 || g2 == -1 || b1 == -1 || b2 == -1) {
|
||||
/* image sizes don't match (or other I/O error) */
|
||||
result = MISSING;
|
||||
(*missing)++;
|
||||
} else if (((r1 != r2) && (g1 == g2) && (b1 == b2))
|
||||
|| ((r1 == r2) && (g1 != g2) && (b1 == b2))
|
||||
|| ((r1 == r2) && (g1 == g2) && (b1 != b2)))
|
||||
{
|
||||
/* off by one channel */
|
||||
if (r1 != r2) {
|
||||
if ((r1 > r2 ? r1 - r2 : r2 - r1) > 1) {
|
||||
result = OFF_BY_MANY;
|
||||
(*offmany)++;
|
||||
} else {
|
||||
result = OFF_BY_ONE;
|
||||
(*off1)++;
|
||||
}
|
||||
} else if (g1 != g2) {
|
||||
if ((g1 > g2 ? g1 - g2 : g2 - g1) > 1) {
|
||||
result = OFF_BY_MANY;
|
||||
(*offmany)++;
|
||||
} else {
|
||||
result = OFF_BY_ONE;
|
||||
(*off1)++;
|
||||
}
|
||||
} else if (b1 != b2) {
|
||||
if ((b1 > b2 ? b1 - b2 : b2 - b1) > 1) {
|
||||
result = OFF_BY_MANY;
|
||||
(*offmany)++;
|
||||
} else {
|
||||
result = OFF_BY_ONE;
|
||||
(*off1)++;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
result = OFF_BY_MANY;
|
||||
(*offmany)++;
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
int
|
||||
main(int argc, char *argv[])
|
||||
{
|
||||
const char *argv0 = argv[0];
|
||||
|
||||
FILE *f1 = NULL;
|
||||
FILE *f2 = NULL;
|
||||
struct stat sf1;
|
||||
struct stat sf2;
|
||||
struct stat sf1, sf2;
|
||||
|
||||
size_t matching = 0;
|
||||
size_t off1 = 0;
|
||||
size_t offmany = 0;
|
||||
size_t missing = 0;
|
||||
|
||||
int c;
|
||||
int list_diff = 0;
|
||||
int list_same = 0;
|
||||
int list_pixel_values = 0;
|
||||
int print_bytes = 0;
|
||||
int quiet = 0;
|
||||
|
||||
size_t bytes = 0;
|
||||
int silent = 0;
|
||||
size_t f1_skip = 0;
|
||||
size_t f2_skip = 0;
|
||||
size_t stop_after = 0;
|
||||
size_t bytes = 0;
|
||||
|
||||
bu_setprogname(argv[0]);
|
||||
|
||||
/* process opts */
|
||||
while ((c = bu_getopt(argc, argv, "sdbi:n:q?")) != -1) {
|
||||
while ((c = bu_getopt(argc, argv, "lbi:s")) != -1) {
|
||||
switch (c) {
|
||||
case 's':
|
||||
list_same = 1;
|
||||
break;
|
||||
case 'd':
|
||||
list_diff = 1;
|
||||
case 'l':
|
||||
list_pixel_values = 1;
|
||||
break;
|
||||
case 'b':
|
||||
print_bytes = 1;
|
||||
break;
|
||||
case 'i':
|
||||
handle_range_opt(bu_optarg, &f1_skip, &f2_skip);
|
||||
handle_i_opt(bu_optarg, &f1_skip, &f2_skip);
|
||||
break;
|
||||
case 'n':
|
||||
{
|
||||
long num = strtol(bu_optarg, NULL, 10);
|
||||
stop_after = (num < 0) ? 0 : num;
|
||||
case 's':
|
||||
silent = 1;
|
||||
break;
|
||||
}
|
||||
case 'q':
|
||||
quiet = 1;
|
||||
break;
|
||||
case '?':
|
||||
case 'h':
|
||||
usage(argv0);
|
||||
return 0;
|
||||
default:
|
||||
bu_log("\n");
|
||||
usage(argv[0]);
|
||||
exit(OPTS_ERROR);
|
||||
}
|
||||
}
|
||||
@@ -260,17 +164,17 @@ main(int argc, char *argv[])
|
||||
/* validate what is left over */
|
||||
if (argc < 1 || argc > 4) {
|
||||
bu_log("ERROR: incorrect number of arguments provided\n\n");
|
||||
usage(argv0);
|
||||
usage(argv[0]);
|
||||
exit(OPTS_ERROR);
|
||||
}
|
||||
if ((argc > 0 && !argv[0]) || (argc > 1 && !argv[1])) {
|
||||
bu_log("ERROR: bad filename\n\n");
|
||||
usage(argv0);
|
||||
usage(argv[0]);
|
||||
exit(OPTS_ERROR);
|
||||
}
|
||||
if ((argc > 2 && !argv[2]) || (argc > 3 && !argv[3])) {
|
||||
bu_log("ERROR: bad skip value\n\n");
|
||||
usage(argv0);
|
||||
usage(argv[0]);
|
||||
exit(OPTS_ERROR);
|
||||
}
|
||||
|
||||
@@ -282,25 +186,10 @@ main(int argc, char *argv[])
|
||||
} else {
|
||||
snprintf(range, 64, "%s", argv[2]);
|
||||
}
|
||||
handle_range_opt(range, &f1_skip, &f2_skip);
|
||||
handle_i_opt(range, &f1_skip, &f2_skip);
|
||||
}
|
||||
|
||||
if (!print_bytes) {
|
||||
if ((f1_skip > ((size_t)-1)/3)
|
||||
|| (f2_skip > ((size_t)-1)/3))
|
||||
{
|
||||
bu_log("ERROR: overflow, -i skip value(s) are too big {%zu:%zu}\n", f1_skip, f2_skip);
|
||||
exit(OPTS_ERROR);
|
||||
}
|
||||
f1_skip *= 3;
|
||||
f2_skip *= 3;
|
||||
if (stop_after > ((size_t)-1)/3)
|
||||
{
|
||||
bu_log("ERROR: overflow, -n number is too big {%zu}\n", stop_after);
|
||||
exit(OPTS_ERROR);
|
||||
}
|
||||
stop_after *= 3;
|
||||
}
|
||||
/* printf("Skip from FILE1: %ld and from FILE2: %ld\n", f1_skip, f2_skip); */
|
||||
|
||||
if (BU_STR_EQUAL(argv[0], "-")) {
|
||||
f1 = stdin;
|
||||
@@ -308,7 +197,6 @@ main(int argc, char *argv[])
|
||||
perror(argv[0]);
|
||||
exit(FILE_ERROR);
|
||||
}
|
||||
|
||||
if ((argc < 2) || BU_STR_EQUAL(argv[1], "-")) {
|
||||
f2 = stdin;
|
||||
} else if ((f2 = fopen(argv[1], "rb")) == NULL) {
|
||||
@@ -316,155 +204,108 @@ main(int argc, char *argv[])
|
||||
exit(FILE_ERROR);
|
||||
}
|
||||
|
||||
setmode(fileno(stdin), O_BINARY);
|
||||
/* we're writing out ascii */
|
||||
/* setmode(fileno(stdout), O_BINARY); */
|
||||
stat(argv[0], &sf1);
|
||||
stat(argv[1], &sf2);
|
||||
|
||||
if (f1_skip != f2_skip && f1 == stdin && f2 == stdin) {
|
||||
bu_exit(OPTS_ERROR, "ERROR: cannot skip the same input stream by different amounts\n");
|
||||
if (sf1.st_size != sf2.st_size) {
|
||||
bu_exit(FILE_ERROR, "Different file sizes found: %s(%d) and %s(%d). Cannot perform pixcmp.\n", argv[0], (int)sf1.st_size, argv[1], (int)sf2.st_size);
|
||||
}
|
||||
|
||||
fstat(fileno(f1), &sf1);
|
||||
fstat(fileno(f2), &sf2);
|
||||
|
||||
bu_log("FILE1_size(%zu) FILE1_skip(%zu) FILE2_size(%zu) FILE2_skip(%zu)\n", (size_t)sf1.st_size, f1_skip, (size_t)sf2.st_size, f2_skip);
|
||||
|
||||
if (!quiet && ((sf1.st_size - f1_skip) != (sf2.st_size - f2_skip))) {
|
||||
bu_log("WARNING: Different image sizes detected\n");
|
||||
if (print_bytes) {
|
||||
bu_log("\t%s: %7llu bytes (%8llu bytes, skipping %7llu)\n",
|
||||
argv[0], (unsigned long long)(sf1.st_size - f1_skip), (unsigned long long)sf1.st_size, (unsigned long long)f1_skip);
|
||||
bu_log("\t%s: %7llu bytes (%8llu bytes, skipping %7llu)\n",
|
||||
argv[1], (unsigned long long)(sf2.st_size - f2_skip), (unsigned long long)sf2.st_size, (unsigned long long)f2_skip);
|
||||
} else {
|
||||
bu_log("\t%s: %7llu pixels (%8llu bytes, skipping %7llu)\n",
|
||||
argv[0], (unsigned long long)((sf1.st_size - f1_skip)/3), (unsigned long long)sf1.st_size, (unsigned long long)f1_skip);
|
||||
bu_log("\t%s: %7llu pixels (%8llu bytes, skipping %7llu)\n",
|
||||
argv[1], (unsigned long long)((sf2.st_size - f2_skip)/3), (unsigned long long)sf2.st_size, (unsigned long long)f2_skip);
|
||||
}
|
||||
if (!print_bytes) {
|
||||
f1_skip *= 3;
|
||||
f2_skip *= 3;
|
||||
}
|
||||
|
||||
/* make sure we read all bytes */
|
||||
if (stop_after == 0) {
|
||||
stop_after = FMAX((sf1.st_size - f1_skip), (sf2.st_size - f2_skip));
|
||||
if (f1 == stdin && f2 == stdin) {
|
||||
/* dual stdin is interleaved */
|
||||
stop_after = (stop_after+1)/2;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
bu_log("mode is [%d] and [%d]\n", S_ISFIFO(sf1.st_mode), S_ISFIFO(sf2.st_mode));
|
||||
bu_log("tty is [%d] and [%d]\n", isatty(fileno(f1)), isatty(fileno(f2)));
|
||||
*/
|
||||
|
||||
/* skip requested pixels/bytes in FILE1 */
|
||||
if (f1_skip) {
|
||||
if (S_ISFIFO(sf1.st_mode)) {
|
||||
size_t skipped = 0;
|
||||
for (skipped = 0; skipped < f1_skip; skipped++) {
|
||||
(void)fgetc(f1);
|
||||
}
|
||||
} else if (fseek(f1, f1_skip, SEEK_SET)) {
|
||||
bu_log("ERROR: Unable to seek %zd %s%s in FILE1\n",
|
||||
f1_skip,
|
||||
print_bytes?"byte":"pixel",
|
||||
f1_skip==1?"":"s");
|
||||
perror("FILE1 fseek failure");
|
||||
exit(FILE_ERROR);
|
||||
}
|
||||
if (f1_skip && fseek(f1, f1_skip, SEEK_SET)) {
|
||||
bu_log("ERROR: Unable to seek %zd %s%s in FILE1\n",
|
||||
f1_skip,
|
||||
print_bytes?"byte":"pixel",
|
||||
f1_skip==1?"":"s");
|
||||
perror("FILE1 fseek failure");
|
||||
exit(FILE_ERROR);
|
||||
}
|
||||
|
||||
/* skip requested pixels in FILE2 */
|
||||
if (f2_skip) {
|
||||
if (S_ISFIFO(sf2.st_mode)) {
|
||||
size_t skipped = 0;
|
||||
for (skipped = 0; skipped < f2_skip; skipped++) {
|
||||
(void)fgetc(f2);
|
||||
}
|
||||
} else if (fseek(f2, f2_skip, SEEK_SET)) {
|
||||
bu_log("ERROR: Unable to seek %zd %s%s in FILE2\n",
|
||||
f2_skip,
|
||||
print_bytes?"byte":"pixel",
|
||||
f2_skip==1?"":"s");
|
||||
perror("FILE2 fseek failure");
|
||||
exit(FILE_ERROR);
|
||||
}
|
||||
}
|
||||
|
||||
/* print header to stderr, output to stdout */
|
||||
if (!quiet && (list_same || list_diff)) {
|
||||
if (print_bytes) {
|
||||
bu_log("#Byte FILE1 FILE2 LABEL\n");
|
||||
} else {
|
||||
bu_log("#Pixel\t(FILE1 R, G, B) (FILE2 R, G, B)\n");
|
||||
}
|
||||
if (f2_skip && fseek(f2, f2_skip, SEEK_SET)) {
|
||||
bu_log("ERROR: Unable to seek %zd %s%s in FILE2\n",
|
||||
f1_skip,
|
||||
print_bytes?"byte":"pixel",
|
||||
f1_skip==1?"":"s");
|
||||
perror("FILE2 fseek failure");
|
||||
exit(FILE_ERROR);
|
||||
}
|
||||
|
||||
/* iterate over the pixels/bytes in the files */
|
||||
while (bytes < stop_after) {
|
||||
enum diff result;
|
||||
int r1, r2, g1, g2, b1, b2;
|
||||
while ((!feof(f1) && !feof(f2)) &&
|
||||
(!ferror(f1) && !ferror(f2))) {
|
||||
register int r1, r2, g1, g2, b1, b2;
|
||||
r1 = r2 = g1 = g2 = b1 = b2 = -1;
|
||||
|
||||
/* bu_log("\tbytes[%zu] < stop[%zu\n", bytes, stop_after); */
|
||||
|
||||
r1 = fgetc(f1);
|
||||
r2 = fgetc(f2);
|
||||
if (feof(f1) || feof(f2)) break;
|
||||
bytes++;
|
||||
|
||||
if (print_bytes) {
|
||||
/* replicate */
|
||||
b1 = g1 = 0;
|
||||
b2 = g2 = 0;
|
||||
} else {
|
||||
if (!print_bytes) {
|
||||
g1 = fgetc(f1);
|
||||
g2 = fgetc(f2);
|
||||
if (feof(f1) || feof(f2)) break;
|
||||
bytes++;
|
||||
b1 = fgetc(f1);
|
||||
b2 = fgetc(f2);
|
||||
if (feof(f1) || feof(f2)) break;
|
||||
bytes++;
|
||||
}
|
||||
|
||||
result = compare_rgb(r1, g1, b1, r2, g2, b2, &matching, &off1, &offmany, &missing);
|
||||
if ((r1 == r2) && (g1 == g2) && (b1 == b2)) {
|
||||
matching++;
|
||||
continue;
|
||||
}
|
||||
|
||||
/* print them? */
|
||||
if ((result==MATCHING && list_same)
|
||||
|| (result!=MATCHING && list_diff))
|
||||
{
|
||||
const char *label = NULL;
|
||||
switch (result) {
|
||||
case MATCHING:
|
||||
label = "MATCHING";
|
||||
break;
|
||||
case OFF_BY_MANY:
|
||||
label = "OFF_BY_MANY";
|
||||
break;
|
||||
case OFF_BY_ONE:
|
||||
label = "OFF_BY_ONE";
|
||||
break;
|
||||
case MISSING:
|
||||
default:
|
||||
label = "MISSING";
|
||||
break;
|
||||
/* tabulate differing pixels */
|
||||
if (((r1 != r2) && (g1 == g2) && (b1 == b2)) ||
|
||||
((r1 == r2) && (g1 != g2) && (b1 == b2)) ||
|
||||
((r1 == r2) && (g1 == g2) && (b1 != b2))) {
|
||||
/* off by one channel */
|
||||
if (r1 != r2) {
|
||||
if ((r1 > r2 ? r1 - r2 : r2 - r1) > 1) {
|
||||
offmany++;
|
||||
} else {
|
||||
off1++;
|
||||
}
|
||||
} else if (g1 != g2) {
|
||||
if ((g1 > g2 ? g1 - g2 : g2 - g1) > 1) {
|
||||
offmany++;
|
||||
} else {
|
||||
off1++;
|
||||
}
|
||||
} else if (b1 != b2) {
|
||||
if ((b1 > b2 ? b1 - b2 : b2 - b1) > 1) {
|
||||
offmany++;
|
||||
} else {
|
||||
off1++;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
/* off by many */
|
||||
offmany++;
|
||||
}
|
||||
|
||||
/* they're different, so print something */
|
||||
if (list_pixel_values) {
|
||||
if (print_bytes) {
|
||||
printf("%ld %3d %3d %s\n", bytes, r1, r2, label);
|
||||
printf("%ld %3d %3d\n", bytes, r1, r2);
|
||||
} else {
|
||||
printf("%ld\t(%3d, %3d, %3d)\t(%3d, %3d, %3d) %s\n", bytes / 3, r1, g1, b1, r2, g2, b2, label);
|
||||
printf("%ld\t(%3d, %3d, %3d)\t(%3d, %3d, %3d)\n", bytes / 3, r1, g1, b1, r2, g2, b2);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* print summary */
|
||||
if (!quiet) {
|
||||
printf("pixcmp %s: %8zd matching, %8zd off by 1, %8zd off by many",
|
||||
print_bytes?"bytes":"pixels", matching, off1, offmany);
|
||||
if (missing) {
|
||||
printf(", %8zd missing\n", missing);
|
||||
} else {
|
||||
printf("\n");
|
||||
}
|
||||
if (!silent) {
|
||||
printf("pixcmp %s: %8zd matching, %8zd off by 1, %8zd off by many\n",
|
||||
print_bytes?"bytes":"pixels",
|
||||
matching, off1, offmany);
|
||||
}
|
||||
|
||||
/* check for errors */
|
||||
@@ -473,16 +314,21 @@ main(int argc, char *argv[])
|
||||
return FILE_ERROR;
|
||||
}
|
||||
|
||||
/* if files were of different lengths, consider it an error */
|
||||
if (feof(f1) != feof(f2)) {
|
||||
return FILE_ERROR;
|
||||
}
|
||||
|
||||
/* indicate how many differences there were overall */
|
||||
if (offmany || missing) {
|
||||
return EXIT_OFF_BY_MANY;
|
||||
if (offmany) {
|
||||
return OFF_BY_MANY;
|
||||
}
|
||||
if (off1) {
|
||||
return EXIT_OFF_BY_ONE;
|
||||
return OFF_BY_ONE;
|
||||
}
|
||||
|
||||
/* Success! */
|
||||
return EXIT_OFF_BY_NONE;
|
||||
return OFF_BY_NONE;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/* R U N . C
|
||||
* BRL-CAD
|
||||
*
|
||||
* Copyright (c) 2011-2021 United States Government as represented by
|
||||
* Copyright (c) 2011-2020 United States Government as represented by
|
||||
* the U.S. Army Research Laboratory.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
# R U N . S H
|
||||
# BRL-CAD
|
||||
#
|
||||
# Copyright (c) 2004-2021 United States Government as represented by
|
||||
# Copyright (c) 2004-2020 United States Government as represented by
|
||||
# the U.S. Army Research Laboratory.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
@@ -70,29 +70,25 @@ LC_ALL=C
|
||||
|
||||
# commands that this script expects
|
||||
for __cmd in echo pwd ; do
|
||||
out=`echo "test" | $__cmd 2>&1`
|
||||
echo "test" | $__cmd > /dev/null 2>&1
|
||||
if test ! x$? = x0 ; then
|
||||
echo "INTERNAL ERROR: $__cmd command is required"
|
||||
echo " (output was [$out])"
|
||||
exit 1
|
||||
fi
|
||||
done
|
||||
out=`echo "test" | grep "test" 2>&1`
|
||||
echo "test" | grep "test" > /dev/null 2>&1
|
||||
if test ! x$? = x0 ; then
|
||||
echo "INTERNAL ERROR: grep command is required"
|
||||
echo " (output was [$out])"
|
||||
exit 1
|
||||
fi
|
||||
out=`echo "test" | tr "test" "test" 2>&1`
|
||||
echo "test" | tr "test" "test" > /dev/null 2>&1
|
||||
if test ! x$? = x0 ; then
|
||||
echo "INTERNAL ERROR: tr command is required"
|
||||
echo " (output was [$out])"
|
||||
exit 1
|
||||
fi
|
||||
out=`echo "test" | sed "s/test/test/" 2>&1`
|
||||
echo "test" | sed "s/test/test/" > /dev/null 2>&1
|
||||
if test ! x$? = x0 ; then
|
||||
echo "INTERNAL ERROR: sed command is required"
|
||||
echo " (output was [$out])"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
@@ -395,14 +391,12 @@ fi
|
||||
|
||||
# where to write results
|
||||
LOGFILE=run-$$-benchmark.log
|
||||
if test -e $LOGFILE ; then
|
||||
echo "WARNING: $LOGFILE already exists. Appending."
|
||||
else
|
||||
touch "$LOGFILE"
|
||||
fi
|
||||
touch "$LOGFILE"
|
||||
if test ! -w "$LOGFILE" ; then
|
||||
echo "WARNING: Unable to log to $LOGFILE"
|
||||
LOGFILE=
|
||||
if test ! "x$LOGFILE" = "x/dev/null" ; then
|
||||
echo "ERROR: Unable to log to $LOGFILE"
|
||||
fi
|
||||
LOGFILE=/dev/null
|
||||
fi
|
||||
|
||||
VERBOSE_ECHO=:
|
||||
@@ -421,13 +415,7 @@ fi
|
||||
$ECHO "B R L - C A D B E N C H M A R K"
|
||||
$ECHO "================================="
|
||||
$ECHO "Running $THIS on `date`"
|
||||
if test "x$LOGFILE" != "x" ; then
|
||||
$ECHO "Logging output to $LOGFILE"
|
||||
elif test "x$QUIET" != "x" ; then
|
||||
$ECHO "Logging output to STDOUT"
|
||||
else
|
||||
$ECHO "Logging output is OFF"
|
||||
fi
|
||||
$ECHO "Logging output to $LOGFILE"
|
||||
$ECHO "`uname -a 2>&1`"
|
||||
$ECHO
|
||||
|
||||
@@ -596,11 +584,8 @@ else
|
||||
$ECHO "Using [$ELP] for ELP"
|
||||
fi
|
||||
|
||||
# stop git shell & msys2 arg manipulation
|
||||
export MSYS_NO_PATHCONV=1 MSYS2_ARG_CONV_EXCL="-F/dev/debug"
|
||||
|
||||
# sanity check: make sure $RT runs
|
||||
out=`eval \"$RT\" -s1 -F/dev/debug \"${DB}/moss.g\" LIGHT 2>&1`
|
||||
# more sanity checks, make sure the binaries and scripts run
|
||||
eval \"$RT\" -s1 -F/dev/debug \"${DB}/moss.g\" LIGHT > /dev/null 2>&1
|
||||
ret=$?
|
||||
if test ! "x${ret}" = "x0" ; then
|
||||
$ECHO
|
||||
@@ -608,27 +593,25 @@ if test ! "x${ret}" = "x0" ; then
|
||||
"$RT"
|
||||
$ECHO
|
||||
$ECHO "ERROR: RT does not seem to work as expected"
|
||||
$ECHO " (returned $ret, output was [$out])"
|
||||
exit 2
|
||||
fi
|
||||
|
||||
# sanity check: make sure $CMP runs
|
||||
out=`eval \"$CMP\" - - 2>&1 <<EOF
|
||||
EOF`
|
||||
# create a temporary file named "null", fopen("/dev/null") does not work on
|
||||
# windows (using cygwin), so punt.
|
||||
> null
|
||||
eval \"$CMP\" null null >/dev/null 2>&1
|
||||
rm -f null
|
||||
|
||||
ret=$?
|
||||
if test ! "x${ret}" = "x0" ; then
|
||||
$ECHO
|
||||
$ECHO "ERROR: CMP does not seem to work as expected"
|
||||
$ECHO " (returned $ret, output was [$out])"
|
||||
exit 2
|
||||
fi
|
||||
|
||||
# sanity check: make sure $ELP runs
|
||||
out=`eval \"$ELP\" 0 2>&1`
|
||||
eval \"$ELP\" 0 > /dev/null 2>&1
|
||||
if test ! "x${ret}" = "x0" ; then
|
||||
$ECHO
|
||||
$ECHO "ERROR: ELP does not seem to work as expected"
|
||||
$ECHO " (returned $ret, output was [$out])"
|
||||
exit 2
|
||||
fi
|
||||
|
||||
@@ -688,8 +671,7 @@ $ECHO
|
||||
|
||||
|
||||
# if expr works, let the user know about how long this might take
|
||||
zero=`expr 1 - 1 2>&1`
|
||||
if test "x$zero" = "x0" ; then
|
||||
if test "x`expr 1 - 1 2>/dev/null`" = "x0" ; then
|
||||
mintime="`expr 6 \* $TIMEFRAME`"
|
||||
if test $mintime -lt 1 ; then
|
||||
mintime=0 # zero is okay
|
||||
@@ -711,7 +693,6 @@ if test "x$zero" = "x0" ; then
|
||||
$ECHO
|
||||
else
|
||||
$ECHO "WARNING: expr is unavailable, unable to compute statistics"
|
||||
$ECHO " (output of 1 - 1 was [$zero])"
|
||||
$ECHO
|
||||
fi
|
||||
|
||||
@@ -878,13 +859,13 @@ sqrt ( ) {
|
||||
if test "x$sqrt_number" = "x" ; then
|
||||
$ECHO "ERROR: cannot compute the square root of nothing" 1>&2
|
||||
exit 1
|
||||
elif test $sqrt_number -lt 0 ; then
|
||||
elif test $sqrt_number -lt 0 > /dev/null 2>&1 ; then
|
||||
$ECHO "ERROR: square root of negative numbers is only in your imagination" 1>&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
sqrt_have_dc=yes
|
||||
out=`echo "1 1 + p" | dc 2>&1`
|
||||
echo "1 1 + p" | dc >/dev/null 2>&1
|
||||
if test ! x$? = x0 ; then
|
||||
sqrt_have_dc=no
|
||||
fi
|
||||
@@ -894,7 +875,7 @@ sqrt ( ) {
|
||||
sqrt_root=`echo "$sqrt_number v p" | dc`
|
||||
else
|
||||
sqrt_have_bc=yes
|
||||
out=`echo "1 + 1" | bc 2>&1`
|
||||
echo "1 + 1" | bc >/dev/null 2>&1
|
||||
if test ! "x$?" = "x0" ; then
|
||||
sqrt_have_bc=no
|
||||
fi
|
||||
@@ -1141,7 +1122,7 @@ EOF
|
||||
ls -la *.pix*
|
||||
fi
|
||||
$VERBOSE_ECHO "DEBUG: $CMP $PIX/${bench_testname}.pix ${bench_testname}.pix"
|
||||
cmp_result="`eval \\\"${CMP}\\\" \\\"${PIX}/${bench_testname}.pix\\\" ${bench_testname}.pix 2>&1 | grep pixels`"
|
||||
cmp_result="`eval \\\"${CMP}\\\" \\\"${PIX}/${bench_testname}.pix\\\" ${bench_testname}.pix 2>&1`"
|
||||
ret=$?
|
||||
|
||||
$ECHO "$cmp_result"
|
||||
@@ -1244,13 +1225,13 @@ perf ( ) {
|
||||
|
||||
# see if we have a calculator
|
||||
perf_have_dc=yes
|
||||
out=`echo "1 1 + p" | dc 2>&1`
|
||||
echo "1 1 + p" | dc >/dev/null 2>&1
|
||||
if test ! x$? = x0 ; then
|
||||
perf_have_dc=no
|
||||
fi
|
||||
|
||||
perf_have_bc=yes
|
||||
out=`echo "1 + 1" | bc 2>&1`
|
||||
echo "1 + 1" | bc >/dev/null 2>&1
|
||||
if test ! x$? = x0 ; then
|
||||
perf_have_bc=no
|
||||
fi
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
# T R Y . S H
|
||||
# BRL-CAD
|
||||
#
|
||||
# Copyright (c) 2004-2021 United States Government as represented by
|
||||
# Copyright (c) 2004-2020 United States Government as represented by
|
||||
# the U.S. Army Research Laboratory.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
# V I E W D I F F . S H
|
||||
# BRL-CAD
|
||||
#
|
||||
# Copyright (c) 2004-2021 United States Government as represented by
|
||||
# Copyright (c) 2004-2020 United States Government as represented by
|
||||
# the U.S. Army Research Laboratory.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
|
||||
@@ -162,6 +162,10 @@ do
|
||||
shift;;
|
||||
--disable-opennurbs) options="$options -DBRLCAD_OPENNURBS=SYSTEM";
|
||||
shift;;
|
||||
--enable-spsr) options="$options -DBRLCAD_SPSR=BUNDLED";
|
||||
shift;;
|
||||
--disable-spsr) options="$options -DBRLCAD_SPSR=SYSTEM";
|
||||
shift;;
|
||||
--enable-scl) options="$options -DBRLCAD_SC=BUNDLED";
|
||||
shift;;
|
||||
--disable-scl) options="$options -DBRLCAD_SC=SYSTEM";
|
||||
@@ -174,10 +178,18 @@ do
|
||||
shift;;
|
||||
--disable-step-class-libraries) options="$options -DBRLCAD_SC=SYSTEM";
|
||||
shift;;
|
||||
--enable-vds) options="$options -DBRLCAD_VDS=BUNDLED";
|
||||
shift;;
|
||||
--disable-vds) options="$options -DBRLCAD_VDS=SYSTEM";
|
||||
shift;;
|
||||
--enable-openscenegraph) options="$options -DBRLCAD_OSG=BUNDLED";
|
||||
shift;;
|
||||
--disable-openscenegraph) options="$options -DBRLCAD_OSG=SYSTEM";
|
||||
shift;;
|
||||
--enable-gdiam) options="$options -DBRLCAD_GDIAM=BUNDLED";
|
||||
shift;;
|
||||
--disable-gdiam) options="$options -DBRLCAD_GDIAM=SYSTEM";
|
||||
shift;;
|
||||
--enable-proj4) options="$options -DBRLCAD_PROJ4=BUNDLED";
|
||||
shift;;
|
||||
--disable-proj4) options="$options -DBRLCAD_PROJ4=SYSTEM";
|
||||
|
||||
@@ -57,7 +57,6 @@ function(ADD_G_TARGET in_model folder)
|
||||
set(OUTPUT_FILE "${output_file}")
|
||||
# Use the model name for the script, since the output file is specific to this input
|
||||
configure_file("${CMAKE_SOURCE_DIR}/db/conv_run.cmake.in" "${CMAKE_CURRENT_BINARY_DIR}/${in_model_root}.cmake" @ONLY)
|
||||
DISTCLEAN("${CMAKE_CURRENT_BINARY_DIR}/${in_model_root}.cmake")
|
||||
|
||||
# Define the target
|
||||
add_custom_command(
|
||||
@@ -98,31 +97,25 @@ function(ADD_G_TARGET in_model folder)
|
||||
endif(${MODEL_TYPE} STREQUAL "fg4")
|
||||
|
||||
if(${MODEL_TYPE} STREQUAL "stp")
|
||||
if (BRLCAD_ENABLE_STEP)
|
||||
add_custom_command(
|
||||
OUTPUT ${CMAKE_CURRENT_BUILD_DIR_SCRIPT}/${output_file}
|
||||
COMMAND step-g -O ${CMAKE_CURRENT_BUILD_DIR_SCRIPT}/${output_file} ${CMAKE_CURRENT_SOURCE_DIR}/${in_model} > ${log_file} 2>&1
|
||||
DEPENDS step-g ${CMAKE_CURRENT_SOURCE_DIR}/${in_model}
|
||||
)
|
||||
else (BRLCAD_ENABLE_STEP)
|
||||
CMAKEFILES(${CMAKE_CURRENT_SOURCE_DIR}/${in_model})
|
||||
endif (BRLCAD_ENABLE_STEP)
|
||||
add_custom_command(
|
||||
OUTPUT ${CMAKE_CURRENT_BUILD_DIR_SCRIPT}/${output_file}
|
||||
COMMAND step-g -O ${CMAKE_CURRENT_BUILD_DIR_SCRIPT}/${output_file} ${CMAKE_CURRENT_SOURCE_DIR}/${in_model} > ${log_file} 2>&1
|
||||
DEPENDS step-g ${CMAKE_CURRENT_SOURCE_DIR}/${in_model}
|
||||
)
|
||||
endif(${MODEL_TYPE} STREQUAL "stp")
|
||||
|
||||
if(NOT ${MODEL_TYPE} STREQUAL "asc" OR BRLCAD_ENABLE_TCL)
|
||||
if(NOT ${MODEL_TYPE} STREQUAL "stp" OR BRLCAD_ENABLE_STEP)
|
||||
add_custom_target(${in_model_root}.g ALL DEPENDS ${CMAKE_CURRENT_BUILD_DIR_SCRIPT}/${output_file})
|
||||
set_target_properties(${in_model_root}.g PROPERTIES FOLDER "${folder}")
|
||||
add_custom_target(${in_model_root}.g ALL DEPENDS ${CMAKE_CURRENT_BUILD_DIR_SCRIPT}/${output_file})
|
||||
set_target_properties(${in_model_root}.g PROPERTIES FOLDER "${folder}")
|
||||
|
||||
# Install logic
|
||||
if(BRLCAD_INSTALL_EXAMPLE_GEOMETRY)
|
||||
install(FILES ${CMAKE_CURRENT_BUILD_DIR_INSTALL}/${output_file} DESTINATION ${DATA_DIR}/${rel_dir})
|
||||
endif(BRLCAD_INSTALL_EXAMPLE_GEOMETRY)
|
||||
# Install logic
|
||||
if(BRLCAD_INSTALL_EXAMPLE_GEOMETRY)
|
||||
install(FILES ${CMAKE_CURRENT_BUILD_DIR_INSTALL}/${output_file} DESTINATION ${DATA_DIR}/${rel_dir})
|
||||
endif(BRLCAD_INSTALL_EXAMPLE_GEOMETRY)
|
||||
|
||||
# Clean-up
|
||||
set_property(DIRECTORY APPEND PROPERTY ADDITIONAL_MAKE_CLEAN_FILES "${log_file}")
|
||||
DISTCLEAN("${log_file}")
|
||||
endif(NOT ${MODEL_TYPE} STREQUAL "stp" OR BRLCAD_ENABLE_STEP)
|
||||
# Clean-up
|
||||
set_property(DIRECTORY APPEND PROPERTY ADDITIONAL_MAKE_CLEAN_FILES "${log_file}")
|
||||
DISTCLEAN("${log_file}")
|
||||
endif(NOT ${MODEL_TYPE} STREQUAL "asc" OR BRLCAD_ENABLE_TCL)
|
||||
|
||||
endfunction(ADD_G_TARGET in_model folder)
|
||||
@@ -159,7 +152,6 @@ set(G_SAMPLE_MODELS
|
||||
pic.asc
|
||||
pinewood.asc
|
||||
prim.asc
|
||||
radialgrid.asc
|
||||
rounds.asc
|
||||
tank_car.asc
|
||||
terra.asc
|
||||
@@ -228,13 +220,12 @@ CMAKEFILES(
|
||||
${G_SAMPLE_MODELS}
|
||||
CMakeLists.txt
|
||||
aet.rt
|
||||
conv_run.cmake.in
|
||||
cornell.rt
|
||||
cube.rt
|
||||
db.php
|
||||
include/ctype.inc
|
||||
include/debug.inc
|
||||
)
|
||||
)
|
||||
|
||||
# Local Variables:
|
||||
# tab-width: 8
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
# C U B E . R T
|
||||
# BRL-CAD
|
||||
#
|
||||
# Copyright (c) 2004-2021 United States Government as represented by
|
||||
# Copyright (c) 2004-2020 United States Government as represented by
|
||||
# the U.S. Army Research Laboratory.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
/* D B . P H P
|
||||
* BRL-CAD
|
||||
*
|
||||
* Copyright (c) 2004-2021 United States Government as represented by
|
||||
* Copyright (c) 2004-2020 United States Government as represented by
|
||||
* the U.S. Army Research Laboratory.
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
|
||||
@@ -1,36 +0,0 @@
|
||||
title {Sample geometry with a radial gridlines and a shadow-casting light}
|
||||
units m
|
||||
put {cylinder.r} comb region yes tree {- {- {- {- {- {l c1.tgc} {l c1i.tgc}} {l c1c1.arb8}} {l c1c2.arb8}} {l c1c3.tgc}} {l c1c4.tgc}}
|
||||
attr set {cylinder.r} {region} {R} {region_id} {1003} {material_id} {1} {los} {100}
|
||||
put {50m_ring.s} tor V {0 0 0} H {6.12323399573676603586882E-17 0 -1} r_a 50000 r_h 100
|
||||
put {40m_ring.s} tor V {0 0 0} H {6.12323399573676603586882E-17 0 -1} r_a 40000 r_h 100
|
||||
put {30m_ring.s} tor V {0 0 0} H {6.12323399573676603586882E-17 0 -1} r_a 30000 r_h 100
|
||||
put {20m_ring.s} tor V {0 0 0} H {6.12323399573676603586882E-17 0 -1} r_a 20000 r_h 100
|
||||
put {10m_ring.s} tor V {0 0 0} H {6.12323399573676603586882E-17 0 -1} r_a 10000 r_h 100
|
||||
put {c1c2.arb8} arb8 V1 {-1449.999999999999545252649 -99.99999999999998578914528 0} V2 {-1449.999999999999545252649 100 0} V3 {-1449.999999999999545252649 100 1900} V4 {-1449.999999999999545252649 -99.99999999999998578914528 1900} V5 {-449.9999999999999431565811 -99.99999999999998578914528 0} V6 {-449.9999999999999431565811 100 0} V7 {-449.9999999999999431565811 100 1900} V8 {-449.9999999999999431565811 -99.99999999999998578914528 1900}
|
||||
put {c1c1.arb8} arb8 V1 {1450 -500 1250} V2 {1450 500 1250} V3 {1450 500 1750} V4 {1450 -500 1750} V5 {450 -500 1250} V6 {450 500 1250} V7 {450 500 1750} V8 {450 -500 1750}
|
||||
put {ground.s} arb8 V1 {60000.00000000002182787284 -60000.00000000002182787284 -100} V2 {60000.00000000002182787284 60000.00000000002182787284 -100} V3 {60000.00000000002182787284 60000.00000000002182787284 0} V4 {60000.00000000002182787284 -60000.00000000002182787284 0} V5 {-60000.00000000001455191523 -60000.00000000002182787284 -100} V6 {-60000.00000000001455191523 60000.00000000002182787284 -100} V7 {-60000.00000000001455191523 60000.00000000002182787284 0} V8 {-60000.00000000001455191523 -60000.00000000002182787284 0}
|
||||
put {ground.r} comb region yes tree {l ground.s}
|
||||
attr set {ground.r} {region} {R} {region_id} {1000} {material_id} {1} {los} {100} {color} {0/255/0}
|
||||
put {c1c4.tgc} tgc V {-6.123233995736766242944808E-14 -500 1000} H {0 -1000 6.123233995736767505122256E-14} A {200 0 0} B {0 1.224646799147353374806706E-14 -200} C {200 0 0} D {0 1.224646799147353374806706E-14 -200}
|
||||
put {c1c3.tgc} tgc V {0 500 1500} H {0 1000 6.123233995736764980767359E-14} A {200 0 0} B {0 1.224646799147353374806706E-14 -200} C {200 0 0} D {0 1.224646799147353374806706E-14 -200}
|
||||
put {165deg.s} tgc V {53125.92044589875149540603 -14235.04748063865554286167 0} H {-106251.8408917975175427273 28470.09496127731472370215 6.735557395310443447840915E-12} A {-5.91458985689334876413324E-15 1.584809575715884060677382E-15 -100} B {-25.88190451025210236934981 -96.59258262890682544821175 0} C {-5.91458985689334876413324E-15 1.584809575715884060677382E-15 -100} D {-25.88190451025210236934981 -96.59258262890682544821175 0}
|
||||
put {135deg.s} tgc V {38890.87296526011050445959 -38890.8729652601177804172 0} H {-77781.74593052023556083441 77781.74593052025011274964 6.735557395310443447840915E-12} A {-4.329780281177466281177668E-15 4.329780281177467070038573E-15 -100} B {-70.71067811865475505328504 -70.71067811865474084243033 0} C {-4.329780281177466281177668E-15 4.329780281177467070038573E-15 -100} D {-70.71067811865475505328504 -70.71067811865474084243033 0}
|
||||
put {105deg.s} tgc V {14235.04748063864644791465 -53125.92044589875877136365 0} H {-28470.09496127729653380811 106251.8408917975320946425 6.735557395310443447840915E-12} A {-1.58480957571588307460125E-15 5.914589856893349552994145E-15 -100} B {-96.59258262890682544821175 -25.88190451025208460578142 0} C {-1.58480957571588307460125E-15 5.914589856893349552994145E-15 -100} D {-96.59258262890682544821175 -25.88190451025208460578142 0}
|
||||
put {150deg.s} tgc V {47631.39720814413158223033 -27499.99999999999636202119 0} H {-95262.79441628826316446066 55000 6.735557395310443447840915E-12} A {-5.302876193624534820650073E-15 3.061616997868382648155861E-15 -100} B {-49.99999999999999289457264 -86.60254037844387653422018 0} C {-5.302876193624534820650073E-15 3.061616997868382648155861E-15 -100} D {-49.99999999999999289457264 -86.60254037844387653422018 0}
|
||||
put {120deg.s} tgc V {27499.99999999998908606358 -47631.39720814413158223033 0} H {-54999.99999999998544808477 95262.79441628826316446066 6.735557395310443447840915E-12} A {-3.061616997868381859294956E-15 5.302876193624534820650073E-15 -100} B {-86.60254037844387653422018 -49.99999999999997868371793 0} C {-3.061616997868381859294956E-15 5.302876193624534820650073E-15 -100} D {-86.60254037844387653422018 -49.99999999999997868371793 0}
|
||||
put {light.s} ell V {0 0 1500} A {10 0 0} B {0 10 0} C {0 0 10}
|
||||
put {light.r} comb region yes tree {l light.s}
|
||||
attr set {light.r} {oshader} {light {f 10 s 32 v 0}} {region} {R} {shader} {light {f 10.0 s 32 v 0}} {region_id} {1002} {material_id} {1} {los} {100} {color} {255/255/255}
|
||||
put {c1i.tgc} tgc V {0 0 0} H {0 0 1900} A {900 0 0} B {0 900 0} C {900 0 0} D {0 900 0}
|
||||
put {75deg.s} tgc V {-14235.04748063864099094644 -53125.92044589875877136365 0} H {28470.09496127728561987169 106251.8408917975320946425 6.735557395310443447840915E-12} A {1.584809575715882482955572E-15 5.914589856893349552994145E-15 -100} B {-96.59258262890682544821175 25.88190451025207394764038 0} C {1.584809575715882482955572E-15 5.914589856893349552994145E-15 -100} D {-96.59258262890682544821175 25.88190451025207394764038 0}
|
||||
put {45deg.s} tgc V {-38890.8729652601177804172 -38890.8729652601177804172 0} H {77781.74593052025011274964 77781.74593052025011274964 6.735557395310443447840915E-12} A {4.329780281177467070038573E-15 4.329780281177467070038573E-15 -100} B {-70.71067811865475505328504 70.71067811865475505328504 0} C {4.329780281177467070038573E-15 4.329780281177467070038573E-15 -100} D {-70.71067811865475505328504 70.71067811865475505328504 0}
|
||||
put {15deg.s} tgc V {-53125.92044589875877136365 -14235.04748063864099094644 0} H {106251.8408917975320946425 28470.09496127728561987169 6.735557395310443447840915E-12} A {5.914589856893349552994145E-15 1.584809575715882482955572E-15 -100} B {-25.88190451025207394764038 96.59258262890682544821175 0} C {5.914589856893349552994145E-15 1.584809575715882482955572E-15 -100} D {-25.88190451025207394764038 96.59258262890682544821175 0}
|
||||
put {90deg.s} tgc V {-3.367778697655221320023674E-12 -55000 0} H {6.735557395310443447840915E-12 110000.0000000000145519152 6.735557395310443447840915E-12} A {3.749399456654643800636173E-31 6.123233995736766085172627E-15 -100} B {-100 6.123233995736766085172627E-15 0} C {3.749399456654643800636173E-31 6.123233995736766085172627E-15 -100} D {-100 6.123233995736766085172627E-15 0}
|
||||
put {60deg.s} tgc V {-27500.00000000000727595761 -47631.39720814412430627272 0} H {55000.00000000002182787284 95262.79441628826316446066 6.735557395310443447840915E-12} A {3.061616997868383437016766E-15 5.302876193624534031789167E-15 -100} B {-86.60254037844386232336547 50.00000000000001421085472 0} C {3.061616997868383437016766E-15 5.302876193624534031789167E-15 -100} D {-86.60254037844386232336547 50.00000000000001421085472 0}
|
||||
put {30deg.s} tgc V {-47631.39720814413158223033 -27499.99999999999636202119 0} H {95262.79441628826316446066 55000 6.735557395310443447840915E-12} A {5.302876193624534820650073E-15 3.061616997868382253725408E-15 -100} B {-49.99999999999999289457264 86.60254037844387653422018 0} C {5.302876193624534820650073E-15 3.061616997868382253725408E-15 -100} D {-49.99999999999999289457264 86.60254037844387653422018 0}
|
||||
put {grid.r} comb region yes tree {u {u {u {u {u {l 50m_ring.s} {l 40m_ring.s}} {u {l 30m_ring.s} {l 20m_ring.s}}} {u {u {l 10m_ring.s} {l 0deg.s}} {u {l 15deg.s} {l 30deg.s}}}} {u {u {u {l 45deg.s} {l 60deg.s}} {u {l 75deg.s} {l 90deg.s}}} {u {u {l 105deg.s} {l 120deg.s}} {u {l 135deg.s} {l 150deg.s}}}}} {l 165deg.s}}
|
||||
attr set {grid.r} {region} {R} {shader} {plastic} {region_id} {1001} {material_id} {1} {los} {100} {color} {255/255/255}
|
||||
put {c1.tgc} tgc V {0 0 0} H {0 0 2000} A {1000 0 0} B {0 1000 0} C {1000 0 0} D {0 1000 0}
|
||||
put {0deg.s} tgc V {-55000 0 0} H {110000.0000000000145519152 0 6.735557395310443447840915E-12} A {6.123233995736766085172627E-15 0 -100} B {0 100 0} C {6.123233995736766085172627E-15 0 -100} D {0 100 0}
|
||||
put {all.g} comb region no tree {u {u {u {- {l ground.r} {l grid.r}} {- {l grid.r} {l c1.tgc}}} {l cylinder.r}} {l light.r}}
|
||||
@@ -2246,19 +2246,6 @@
|
||||
timestamp = {2018.06.06}
|
||||
}
|
||||
|
||||
@TECHREPORT{Dean18a,
|
||||
author = {Dean, Allen and Thomas, Jr., John},
|
||||
title = {Development of Large and Small Missile Target Models},
|
||||
institution = {United States Air Force Research Laboratory, Munitions Directorate},
|
||||
year = {2018},
|
||||
month = dec,
|
||||
number = {AFRL-RW-EG-TR-2018-100},
|
||||
address = {Air Force Research Laboratory, Eglin Air Force Base, FL 32542-6810},
|
||||
note = {Distribution authorized to Department of Defense and U.S. DoD contractors only; critical technology; distribution limitations applied November 2018. Other requests must be referred to AFRL/RWML, Eglin AFB FL 32542-5910.},
|
||||
owner = {morrison},
|
||||
timestamp = {2020.10.30}
|
||||
}
|
||||
|
||||
@comment{jabref-meta: selector_journal:}
|
||||
|
||||
@comment{jabref-meta: selector_author:}
|
||||
|
||||
@@ -4,15 +4,16 @@ verbose_add_subdirectory(doc legal)
|
||||
|
||||
set(documentation_DATA
|
||||
BRL-CAD.bib
|
||||
GITHUB
|
||||
IDEAS
|
||||
PROJECTS
|
||||
README.Linux
|
||||
README.MacOSX
|
||||
README.Windows
|
||||
README.BSD
|
||||
README.Solaris
|
||||
README.VAX
|
||||
README.other/README.AIX
|
||||
README.other/README.BSD
|
||||
README.other/README.IRIX
|
||||
README.other/README.Solaris
|
||||
README.other/README.VAX
|
||||
checklist.txt
|
||||
description.txt
|
||||
notes/TODO.BREP
|
||||
@@ -203,11 +204,11 @@ set(documentation_mged_old_DATA
|
||||
ADD_DOC(documentation_mged_old_DATA mged_old)
|
||||
|
||||
configure_file(pad_file.xml.in "${CMAKE_CURRENT_BINARY_DIR}/pad_file.xml" @ONLY)
|
||||
DISTCLEAN("${CMAKE_CURRENT_BINARY_DIR}/pad_file.xml")
|
||||
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/pad_file.xml" DESTINATION ${DOC_DIR})
|
||||
|
||||
CMAKEFILES(
|
||||
CMakeLists.txt
|
||||
README.other/README.OSCON-2014
|
||||
STARTERS
|
||||
STRATEGY
|
||||
notes/bsd_semaphore_bug.txt
|
||||
|
||||
@@ -1,60 +0,0 @@
|
||||
Notes about development with the Github hosting platform.
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
Using Github Actions to iteratively debug problems.
|
||||
|
||||
Github's runners (build platforms for it's Actions CI system) offer a way to
|
||||
test platforms we don't otherwise have access to. Sometimes, if we need to
|
||||
iteratively test inputs being supplied to tools on those platforms to diagnose
|
||||
a problem, the full configure/build/test cycle can be a very slow way to
|
||||
proceed.
|
||||
|
||||
A way forward in this case is to create a temporary local repository with a
|
||||
checking of the binary version of BRL-CAD used for the specific platform in
|
||||
question, along with test inputs and an action defined to run the specific test
|
||||
in question. (REMEMBER - github repos are public, so only define and use inputs
|
||||
suitable for public consumption!)
|
||||
|
||||
For the below example, we created a repository with the Windows binary install
|
||||
and a README file explaining what the test is doing:
|
||||
|
||||
-rw-rw-r-- 1 user user 72 Sep 23 17:52 README
|
||||
drwxrwxr-x 3 user user 12288 Sep 24 07:41 bin
|
||||
drwxrwxr-x 4 user user 4096 Sep 23 17:49 libexec
|
||||
drwxrwxr-x 13 user user 4096 Sep 23 17:50 lib
|
||||
drwxrwxr-x 5 user user 4096 Sep 23 17:49 include
|
||||
drwxrwxr-x 16 user user 4096 Sep 23 17:50 share
|
||||
drwxrwxr-x 8 user user 4096 Sep 24 07:42 .git
|
||||
drwxrwxr-x 3 user user 4096 Sep 23 17:53 .github
|
||||
|
||||
Then, in the .github/workflows directory we create a .yml file to trigger the
|
||||
test whenever we push a change. For this example we were wanting to test the
|
||||
benchmark script, so we create a .github/workflows/benchmark.yml file with the
|
||||
following contents:
|
||||
|
||||
name: benchhmark
|
||||
on: [push]
|
||||
jobs:
|
||||
bench:
|
||||
runs-on: windows-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
# https://docs.github.com/en/actions/reference/workflow-commands-for-github-actions#adding-a-system-path
|
||||
- run: echo '::add-path::{C:\Program Files\Git\bin}'
|
||||
- run: sh.exe ./bin/benchmark run
|
||||
|
||||
This allowed developers to iteratively adjust the bin/benchmark shell script
|
||||
and test the results in the compilation Windows environment, *without* having
|
||||
to perform the full compilation cycle on Windows each time. Once a working
|
||||
benchmark script was identified it was added back to the primary repository and
|
||||
the test repo deleted.
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
Debugging flags can be added to the actions environment for a given repo:
|
||||
|
||||
https://github.community/t/ci-access-to-shell-session/17250
|
||||
|
||||
(Note: the "Secrets" label is misleading in this particular case - that is
|
||||
the mechanism by which the values are introduced into the runner environment,
|
||||
but there are no actual secrets contained in the values of the debugging
|
||||
variables.)
|
||||
@@ -53,10 +53,10 @@ you will be able to compile BRL-CAD.
|
||||
|
||||
Following the build instructions in the INSTALL file. You will need:
|
||||
|
||||
gcc (6+, e.g. 6.0.3)
|
||||
g++ (6+, e.g. 6.0.3)
|
||||
gcc (3+, e.g. 4.0.3)
|
||||
g++ (3+, e.g. 4.0.3)
|
||||
make (e.g. gnu make 3.8.0)
|
||||
cmake (3.0.2 or newer)
|
||||
cmake (2.8.8 or newer)
|
||||
|
||||
All three of those have implicit dependencies on other packages.
|
||||
|
||||
@@ -89,13 +89,9 @@ should be deleted and recreated for each new attempt at package
|
||||
generation.
|
||||
|
||||
|
||||
Redhat/CentOS/Fedora
|
||||
Redhat/Fedora
|
||||
-------------
|
||||
|
||||
If you don't already have the necessary development tools:
|
||||
|
||||
yum install gcc gcc-c++ cmake
|
||||
|
||||
Development packages for building on Redhat/Fedora platforms:
|
||||
|
||||
yum install libX11-devel
|
||||
@@ -105,49 +101,12 @@ Development packages for building on Redhat/Fedora platforms:
|
||||
yum install fontconfig-devel # optional
|
||||
yum install mesa-libGL-devel # optional
|
||||
|
||||
If you wish to create rpm packages, you'll need rpmbuild
|
||||
|
||||
yum install rpm-build # optional
|
||||
|
||||
When setting up older versions for building BRL-CAD, it is sometimes
|
||||
necessary to install some non-default compilation tools in addition to the
|
||||
usual dependencies. (The default toolchain is sometimes too old to
|
||||
properly build BRL-CAD, if the compilers don't support sufficiently modern
|
||||
standards.) The following example is for CentOS 7:
|
||||
|
||||
yum install centos-release-scl
|
||||
yum install devtoolset-7
|
||||
|
||||
Then to run within that environment:
|
||||
|
||||
scl enable devtoolset-7 bash
|
||||
|
||||
|
||||
The CMake version is often too old as well. One way forward is to download the
|
||||
source code and bootstrap it (do this within the devtoolset enabled bash):
|
||||
|
||||
sudo yum install openssl-devel
|
||||
|
||||
curl -L -o cmake-3.18.2.tar.gz https://github.com/Kitware/CMake/releases/download/v3.18.2/cmake-3.18.2.tar.gz
|
||||
tar -xvf cmake-3.18.2.tar.gz
|
||||
cd cmake-3.18.2
|
||||
./bootstrap --prefix=/opt/cmake
|
||||
make -j3 && make install
|
||||
export PATH=/opt/cmake/bin
|
||||
|
||||
From there, with the devtoolset enabled and the PATH set to include the new
|
||||
CMake, it should be possible to proceed normally with the build.
|
||||
|
||||
-------
|
||||
|
||||
To determine what particular version of Redhat or Fedora you are
|
||||
using, check these files:
|
||||
|
||||
cat /etc/redhat-release
|
||||
cat /etc/fedora-release
|
||||
|
||||
-------
|
||||
|
||||
Note there is a supported rpm package generation script in file
|
||||
'sh/make_rpm.sh' which can only function on a Fedora or openSUSE
|
||||
system. It can be used like so:
|
||||
@@ -160,14 +119,6 @@ system. It can be used like so:
|
||||
It is also possible to create an RPM package using CPack with the
|
||||
make package build target, on systems with the proper RPM tools.
|
||||
|
||||
-------
|
||||
|
||||
One issue encountered running CentOS in VirtualBox - networking
|
||||
is off by default. To enable, look for a file in
|
||||
/etc/sysconfig/network-scripts/ called something like enp0s3 and
|
||||
set ONBOOT=yes (see https://unix.stackexchange.com/a/79273)
|
||||
|
||||
|
||||
PPC64 Linux
|
||||
-----------
|
||||
|
||||
|
||||
@@ -3,23 +3,57 @@ BRL-CAD on Windows README
|
||||
|
||||
The usual way to build BRL-CAD for Windows is to use the CMake build
|
||||
system generator and the Microsoft Visual Studio C++ (MSVC) compiler.
|
||||
Recent versions of both are recommended. If generating an installer,
|
||||
the following options are available and supported:
|
||||
Recent versions of both (as of this writing, MSVC 2013 and CMake
|
||||
2.8.12+) are recommended. If generating an installer, the Nullsoft
|
||||
Scriptable Install System (NSIS) tool is also required.
|
||||
|
||||
Nullsoft Scriptable Install System (NSIS) - generates a. .exe installer
|
||||
|
||||
WiX Toolset - generates an MSI installer.
|
||||
|
||||
These tools must be installed separately - they are not included with
|
||||
CMake or Visual Studio.
|
||||
|
||||
Note: In principle BRL-CAD can be built using CMake and environments
|
||||
like Cygwin and/or Mingw/Msys, but they are largely untested and
|
||||
In principle, BRL-CAD can be built using CMake and environments like
|
||||
Cygwin and/or Mingw/Msys, but the latter is largely untested and
|
||||
infrequently supported. Enhancements or bug reports are welcome.
|
||||
|
||||
Visual Studio
|
||||
-------------
|
||||
|
||||
=== Notes on Windows 10 with latest SDK ===
|
||||
Because Tk before 8.6.8 cannot be built with the latest Windows SDK
|
||||
(naming conflicts; see [1]), an earlier one (10.0.15063.0 is the
|
||||
last working version) is needed (available at [2]).
|
||||
|
||||
Targets `tk`, `tkstub` and `libfb` need to be changed to use this SDK
|
||||
(right click on a target -> Configuration Properties -> General;
|
||||
select the SDK in Windows SDK Version).
|
||||
|
||||
Compilation is then unchanged from the below.
|
||||
|
||||
[1]: https://core.tcl.tk/tk/tktview?name=3d34589aa0
|
||||
[2]: https://developer.microsoft.com/en-us/windows/downloads/sdk-archive
|
||||
|
||||
===========================================
|
||||
|
||||
=== Notes on Visual Studio 14 2015 ===
|
||||
|
||||
In order to build this version (required to build the Creo 3 converter)
|
||||
with CMake, you must ensure that Microsoft's "rc.exe" program is
|
||||
installed and findable by CMake.
|
||||
|
||||
To install "rc.exe", run or re-run the Visual Studio installer and enable
|
||||
Visual C++ components and "Visual Studio Extensibility Tools Update 1" under
|
||||
the "Common Tools" section.
|
||||
|
||||
The extensibility tools can become unselected by default in some
|
||||
configurations. Verify "rc.exe" is installed in:
|
||||
|
||||
"C:\Program Files (x86)\Windows Kits\8.1\bin\x64"
|
||||
|
||||
Add that directory to your "Path" user variable so CMake will be able to
|
||||
locate the rc executable.
|
||||
|
||||
See:
|
||||
https://stackoverflow.com/questions/43847542/rc-exe-no-longer-found-in-vs-2015-command-prompt
|
||||
|
||||
======================================
|
||||
|
||||
|
||||
To build with CMake and Visual Studio, the first step is to obtain the
|
||||
BRL-CAD sources and create a build directory. In principle, it is not
|
||||
*required* to have a separate build directory, but with Windows and
|
||||
@@ -59,126 +93,6 @@ You may want to produce an NSIS installer. If so, locate a target
|
||||
named PACKAGE and run it. The end result should be an .exe file
|
||||
capable of installing BRL-CAD.
|
||||
|
||||
Debugging with Visual Studio
|
||||
----------------------------
|
||||
|
||||
For most compilation environments, BRL-CAD defines a Debug build
|
||||
configuration which disables optimizations and a Release build that
|
||||
enables them - although Debug builds are generally easier to use when
|
||||
tracking down problems, both configurations keep debugging information.
|
||||
This allows for easier diagnosis of problems in real-world use, as
|
||||
well as diagnosis of issues that occur only when optimizations are
|
||||
enabled.
|
||||
|
||||
MSVC and Windows present a more complicated situation. On that platform,
|
||||
Debug versions of applications are not redistributable:
|
||||
https://docs.microsoft.com/en-us/cpp/windows/determining-which-dlls-to-redistribute
|
||||
|
||||
As a consequence the default BRL-CAD build configuration for Release
|
||||
(unlike other platforms) does not support debugging.
|
||||
|
||||
If it is necessary to debug a Release mode specific issue on Windows,
|
||||
extra steps are needed. Users of CMake may be familiar with the build
|
||||
configuration RelWithDebInfo, which is normally disabled for BRL-CAD
|
||||
builds - debugging a Release-mode-only problem is exactly the situation
|
||||
in which this build configuration is needed.
|
||||
|
||||
To re-enable the availability of RelWithDebInfo for BRL-CAD builds, set
|
||||
the compilation variable ENABLE_ALL_CONFIG_TYPES to ON - once set,
|
||||
BRL-CAD's configure will no longer eliminate CMake build types other
|
||||
than Debug and Release.
|
||||
|
||||
Working with MSI files
|
||||
----------------------
|
||||
|
||||
The WiX Toolset's MSI file, in addition to the standard interactive
|
||||
graphical install, also supports a command line based silent
|
||||
install. (See, for example, https://stackoverflow.com/a/25230485)
|
||||
|
||||
msiexec.exe /i c:\BRL-CAD-7.32.0_win64.msi /QN /L*V "C:\Temp\brlcad_install.log"
|
||||
|
||||
The logging step is not required but is recommended to allow for
|
||||
easier understanding of any issues that might arise.
|
||||
|
||||
===========================================
|
||||
|
||||
=== Setting a specific SDK version ===
|
||||
|
||||
If a particular version of the Windows SDK is needed, it is specified
|
||||
with CMAKE_SYSTEM_VERSION (for example, to use 10.0.15063.0 the user
|
||||
would define a New Entry in the CMake GUI before running configure,
|
||||
make the variable CMAKE_SYSTEM_VERSION as a string type, and assign the
|
||||
value of 10.0.15063.0.)
|
||||
|
||||
Note that for this to work the SDK version in question must be
|
||||
installed on the system. To see what versions are installed,
|
||||
look for Windows SDK installs in the "Apps & Features" Setup
|
||||
interface.
|
||||
|
||||
=======================================================
|
||||
|
||||
=== Tracking down the source of a header inclusion ===
|
||||
|
||||
If a Windows system header is reporting an error, it can be helpful to identify
|
||||
where the header is being included from. By default MSVC doesn't report this,
|
||||
but in Visual Studio there is a "ShowIncludes" setting that may be enabled to
|
||||
find this information:
|
||||
|
||||
https://stackoverflow.com/a/1138045
|
||||
|
||||
This setting may also be added to the compilation flags directly
|
||||
in CMake as "/showIncludes":
|
||||
|
||||
https://docs.microsoft.com/en-us/cpp/build/reference/showincludes-list-include-files
|
||||
|
||||
Note that the output of this can be very verbose, especially if applied
|
||||
globally to all targets - you may want to consider applying it specifically to
|
||||
an individual target with target_compile_options. This flag is a very useful
|
||||
tool when trying to determine *why* a particular header is present in an error
|
||||
message.
|
||||
|
||||
=========================================================
|
||||
|
||||
=== Debugging build outputs from a Ninja compilation ===
|
||||
|
||||
Normally, Visual Studio is used to debug Windows executables. However,
|
||||
another alternative is available called WinDbg:
|
||||
|
||||
https://docs.microsoft.com/en-us/windows-hardware/drivers/debugger/debugger-download-tools
|
||||
|
||||
This has been used successfully to debug Ninja produced executables.
|
||||
Note that if debugging an issue unique to Release builds, you will
|
||||
want to set the CMake variable ENABLE_ALL_CONFIG_TYPES to ON
|
||||
and the specific build type to RelWithDebInfo
|
||||
|
||||
cmake.exe -G Ninja -ENABLE_ALL_CONFIG_TYPES=ON -DCMAKE_BUILD_TYPE=RelWithDebInfo
|
||||
|
||||
===========================================
|
||||
|
||||
=== Notes on Visual Studio 14 2015 ===
|
||||
|
||||
In order to build this version (required to build the Creo 3 converter)
|
||||
with CMake, you must ensure that Microsoft's "rc.exe" program is
|
||||
installed and findable by CMake.
|
||||
|
||||
To install "rc.exe", run or re-run the Visual Studio installer and enable
|
||||
Visual C++ components and "Visual Studio Extensibility Tools Update 1" under
|
||||
the "Common Tools" section.
|
||||
|
||||
The extensibility tools can become unselected by default in some
|
||||
configurations. Verify "rc.exe" is installed in:
|
||||
|
||||
"C:\Program Files (x86)\Windows Kits\8.1\bin\x64"
|
||||
|
||||
Add that directory to your "Path" user variable so CMake will be able to
|
||||
locate the rc executable.
|
||||
|
||||
See:
|
||||
https://stackoverflow.com/questions/43847542/rc-exe-no-longer-found-in-vs-2015-command-prompt
|
||||
|
||||
======================================
|
||||
|
||||
|
||||
MINGW (WORK IN PROGRESS - THIS DOES NOT YET WORK!!!)
|
||||
-----
|
||||
|
||||
|
||||
@@ -0,0 +1,35 @@
|
||||
BRL-CAD on AIX README
|
||||
=====================
|
||||
|
||||
Dec. 15, 2011 - As of this date, it has been some time since an AIX
|
||||
build of BRL-CAD has been tested, and thus far it has NOT been tested
|
||||
b with the new CMake build system.
|
||||
|
||||
Kitware provides an AIX powerpc binary for CMake, see
|
||||
http://www.cmake.org/cmake/resources/software.html
|
||||
|
||||
|
||||
Building BRL-CAD under AIX is fairly straightforward using a correctly
|
||||
installed version on the GCC compiler. If, however, you are using the
|
||||
IBM Visual Age compiler, then there are additional manual compilation
|
||||
steps that will be necessary. In particular, the IBM compiler and
|
||||
associated standard C library headers are inconsistent with respect to
|
||||
ANSI/POSIX compliance compiler options.
|
||||
|
||||
The IBM compiler supports a variety of compliance options, the two of
|
||||
particular relevance to building BRL-CAD (in terms of being the close
|
||||
to obtaining a functional compile) are the strict compliance
|
||||
(-qlanglvl=stdc89) or "extended" compliance (-qlanglvl=extc89) modes.
|
||||
Problems encountered in our build environment using strict compliance
|
||||
does mostly work though we ran into errors in the standard C library
|
||||
headers.
|
||||
|
||||
Using the "extended" compliance mode resolved the standard C library
|
||||
header issues, but introduces problems in the compilation of BRL-CAD
|
||||
as the compiler then disables the provision of the __STDC__
|
||||
preprocessor symbol. BRL-CAD then defaults back to K&R mode, which
|
||||
the compiler verbosely refuses to compile. The "quick fix" that has
|
||||
been used in the past is to simply swap the compiler between the two
|
||||
modes as when one fails (e.g. strict), the other usually succeeds
|
||||
(e.g. extended). Barring that working, you can use extended mode and
|
||||
define __STDC__ manually.
|
||||
@@ -0,0 +1,51 @@
|
||||
BRL-CAD on IRIX README
|
||||
======================
|
||||
|
||||
Building on IRIX is one of the most tricky platforms to support
|
||||
without installing up-to-date compilation tools. That said, the build
|
||||
has and should work just fine with either the MIPSPro or GCC
|
||||
compilers. The best performance is usually achieved with the MIPSPro
|
||||
compiler, whereas GCC will compile faster with less fuss.
|
||||
|
||||
Kitware provides CMake binaries for IRIX64 platforms:
|
||||
http://www.cmake.org/cmake/resources/software.html
|
||||
|
||||
|
||||
Parallel building
|
||||
-----------------
|
||||
For parallel compilation on IRIX, the -P option enables parallel
|
||||
build mode and the PARALLEL environment variable sets the number
|
||||
of CPUs (default is two):
|
||||
|
||||
PARALLEL=4 make -P
|
||||
|
||||
|
||||
Potential problems you may encounter
|
||||
------------------------------------
|
||||
|
||||
Symptom: MIPSPro linker reports symbol(s) missing
|
||||
|
||||
Description: There's a known bug in the MIPSpro linker involving
|
||||
rpaths that are too long (namely longer than 255 characters) so care
|
||||
should be taken to not compile in directories that are too deep. The
|
||||
way this bug is usually seen is that the build will fail during
|
||||
compilation where unresolved symbols are reported during linking,
|
||||
symbols that are correctly included in the libraries being linked.
|
||||
|
||||
Workaround: It is usually sufficient to retry the compile from a
|
||||
shorter path. (e.g., /tmp instead of /some/deep/path/to/brlcad)
|
||||
|
||||
---
|
||||
|
||||
Symptom: GCC crashes during compilation with internal errors
|
||||
|
||||
Description: Certain versions of the gcc compiler are known to crash
|
||||
with internal error messages, for example on src/mged/animedit.c, when
|
||||
using optimization flags (i.e. -O3).
|
||||
|
||||
Workaround: Compile in whatever directory is failing with -O0 instead:
|
||||
cd src/mged
|
||||
sed -i "s/ -O3 / -O0 /g" CMakeFiles/mged.dir/flags.make
|
||||
make
|
||||
cd ../..
|
||||
make
|
||||
@@ -0,0 +1,53 @@
|
||||
BRL-CAD: A Vibrant Open Source Model
|
||||
|
||||
+ intro
|
||||
|
||||
- speaker
|
||||
|
||||
- old vs. new (Rurel's joke about old farmer and his young farmhand)
|
||||
|
||||
+ overview
|
||||
|
||||
- history, players
|
||||
|
||||
Mike Muuss [author of ping]
|
||||
|
||||
- license
|
||||
|
||||
- languages (Ohloh stats)
|
||||
|
||||
+ important technical features
|
||||
|
||||
- database format
|
||||
|
||||
- tools
|
||||
|
||||
- libraries
|
||||
|
||||
- use of other FOSS libraries
|
||||
|
||||
- road map
|
||||
|
||||
+ other features
|
||||
|
||||
+ community
|
||||
|
||||
- players (Ohloh stats)
|
||||
|
||||
+ process
|
||||
|
||||
- Source Forge
|
||||
|
||||
- API changes
|
||||
|
||||
- deprecation policy
|
||||
|
||||
- release procedures
|
||||
|
||||
- version control
|
||||
|
||||
- bug tracking
|
||||
|
||||
- policy
|
||||
|
||||
- outreach
|
||||
@@ -17,7 +17,6 @@ if(BRLCAD_EXTRADOCS_PDF)
|
||||
# Apache FOP needs a couple of config files set up
|
||||
set(srcdir ${CMAKE_CURRENT_SOURCE_DIR})
|
||||
configure_file(${CMAKE_SOURCE_DIR}/doc/docbook/fop.xconf.in ${CMAKE_BINARY_DIR}/doc/docbook/fop.xconf)
|
||||
DISTCLEAN("${CMAKE_BINARY_DIR}/doc/docbook/fop.xconf")
|
||||
endif(BRLCAD_EXTRADOCS_PDF)
|
||||
|
||||
# For the html files, we need brlcad.css
|
||||
@@ -37,7 +36,6 @@ include(${BRLCAD_SOURCE_DIR}/misc/CMake/DocBook.cmake)
|
||||
|
||||
add_subdirectory(articles)
|
||||
add_subdirectory(books)
|
||||
add_subdirectory(devguides)
|
||||
add_subdirectory(lessons)
|
||||
add_subdirectory(presentations)
|
||||
add_subdirectory(specifications)
|
||||
|
||||
@@ -2,13 +2,11 @@
|
||||
if(BRLCAD_EXTRADOCS_HTML)
|
||||
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/../resources/brlcad/brlcad-article-xhtml-stylesheet.xsl.in
|
||||
${CMAKE_CURRENT_BINARY_DIR}/../resources/brlcad/brlcad-article-xhtml-stylesheet.xsl)
|
||||
DISTCLEAN("${CMAKE_CURRENT_BINARY_DIR}/../resources/brlcad/brlcad-article-xhtml-stylesheet.xsl")
|
||||
endif(BRLCAD_EXTRADOCS_HTML)
|
||||
|
||||
if(BRLCAD_EXTRADOCS_PHP)
|
||||
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/../resources/brlcad/brlcad-article-xhtml-stylesheet.xsl.in
|
||||
${CMAKE_CURRENT_BINARY_DIR}/../resources/brlcad/brlcad-article-xhtml-stylesheet.xsl)
|
||||
DISTCLEAN("${CMAKE_CURRENT_BINARY_DIR}/../resources/brlcad/brlcad-article-xhtml-stylesheet.xsl")
|
||||
endif(BRLCAD_EXTRADOCS_PHP)
|
||||
|
||||
# Files for PDF products
|
||||
@@ -16,7 +14,6 @@ if(BRLCAD_EXTRADOCS_PDF)
|
||||
# Style sheet for XSLT transformation to PDF
|
||||
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/../resources/brlcad/brlcad-article-fo-stylesheet.xsl.in
|
||||
${CMAKE_CURRENT_BINARY_DIR}/../resources/brlcad/brlcad-article-fo-stylesheet.xsl)
|
||||
DISTCLEAN("${CMAKE_CURRENT_BINARY_DIR}/../resources/brlcad/brlcad-article-fo-stylesheet.xsl")
|
||||
endif(BRLCAD_EXTRADOCS_PDF)
|
||||
|
||||
# For HTML and FO (FO is an intermediate file used in the
|
||||
|
||||
@@ -2713,14 +2713,6 @@ rt -s 512 -F :1
|
||||
zero knobs and sliders
|
||||
</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>
|
||||
N
|
||||
</entry>
|
||||
<entry>
|
||||
shoot a ray with nirt
|
||||
</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>
|
||||
< F1 >
|
||||
|
||||
@@ -2,13 +2,11 @@
|
||||
if(BRLCAD_EXTRADOCS_HTML)
|
||||
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/../resources/brlcad/brlcad-book-xhtml-stylesheet.xsl.in
|
||||
${CMAKE_CURRENT_BINARY_DIR}/../resources/brlcad/brlcad-book-xhtml-stylesheet.xsl)
|
||||
DISTCLEAN("${CMAKE_CURRENT_BINARY_DIR}/../resources/brlcad/brlcad-book-xhtml-stylesheet.xsl")
|
||||
endif(BRLCAD_EXTRADOCS_HTML)
|
||||
|
||||
if(BRLCAD_EXTRADOCS_PHP)
|
||||
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/../resources/brlcad/brlcad-book-xhtml-stylesheet.xsl.in
|
||||
${CMAKE_CURRENT_BINARY_DIR}/../resources/brlcad/brlcad-book-xhtml-stylesheet.xsl)
|
||||
DISTCLEAN("${CMAKE_CURRENT_BINARY_DIR}/../resources/brlcad/brlcad-book-xhtml-stylesheet.xsl")
|
||||
endif(BRLCAD_EXTRADOCS_PHP)
|
||||
|
||||
# Files for PDF products
|
||||
@@ -16,7 +14,6 @@ if(BRLCAD_EXTRADOCS_PDF)
|
||||
# Style sheet for XSLT transformation to PDF
|
||||
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/../resources/brlcad/brlcad-book-fo-stylesheet.xsl.in
|
||||
${CMAKE_CURRENT_BINARY_DIR}/../resources/brlcad/brlcad-book-fo-stylesheet.xsl)
|
||||
DISTCLEAN("${CMAKE_CURRENT_BINARY_DIR}/../resources/brlcad/brlcad-book-fo-stylesheet.xsl")
|
||||
endif(BRLCAD_EXTRADOCS_PDF)
|
||||
|
||||
# For HTML and FO (FO is an intermediate file used in the
|
||||
@@ -92,12 +89,10 @@ set(CURRENT_VOLUME "I")
|
||||
set(CURRENT_TITLE "An Overview of BRL-CAD")
|
||||
configure_file(${CMAKE_SOURCE_DIR}/doc/docbook/resources/brlcad/tutorial-cover-template.xsl.in
|
||||
${CMAKE_CURRENT_BINARY_DIR}/BRL-CAD_Tutorial_Series-VolumeI-cover.xsl @ONLY)
|
||||
DISTCLEAN("${CMAKE_CURRENT_BINARY_DIR}/BRL-CAD_Tutorial_Series-VolumeI-cover.xsl")
|
||||
|
||||
string(REPLACE " " "%20" TUTORIAL_COVER_XSL ${CMAKE_CURRENT_BINARY_DIR}/BRL-CAD_Tutorial_Series-VolumeI-cover.xsl)
|
||||
configure_file(${CMAKE_SOURCE_DIR}/doc/docbook/resources/brlcad/tutorial-template.xsl.in
|
||||
${CMAKE_CURRENT_BINARY_DIR}/BRL-CAD_Tutorial_Series-VolumeI.xsl @ONLY)
|
||||
DISTCLEAN("${CMAKE_CURRENT_BINARY_DIR}/BRL-CAD_Tutorial_Series-VolumeI.xsl")
|
||||
|
||||
set(XSL_FO_STYLESHEET "${CMAKE_CURRENT_BINARY_DIR}/BRL-CAD_Tutorial_Series-VolumeI.xsl")
|
||||
|
||||
@@ -108,12 +103,10 @@ set(CURRENT_VOLUME "II")
|
||||
set(CURRENT_TITLE "Introduction to MGED")
|
||||
configure_file(${CMAKE_SOURCE_DIR}/doc/docbook/resources/brlcad/tutorial-cover-template.xsl.in
|
||||
${CMAKE_CURRENT_BINARY_DIR}/BRL-CAD_Tutorial_Series-VolumeII-cover.xsl @ONLY)
|
||||
DISTCLEAN("${CMAKE_CURRENT_BINARY_DIR}/BRL-CAD_Tutorial_Series-VolumeII-cover.xsl")
|
||||
|
||||
string(REPLACE " " "%20" TUTORIAL_COVER_XSL ${CMAKE_CURRENT_BINARY_DIR}/BRL-CAD_Tutorial_Series-VolumeII-cover.xsl)
|
||||
configure_file(${CMAKE_SOURCE_DIR}/doc/docbook/resources/brlcad/tutorial-template.xsl.in
|
||||
${CMAKE_CURRENT_BINARY_DIR}/BRL-CAD_Tutorial_Series-VolumeII.xsl @ONLY)
|
||||
DISTCLEAN("${CMAKE_CURRENT_BINARY_DIR}/BRL-CAD_Tutorial_Series-VolumeII.xsl")
|
||||
|
||||
set(XSL_FO_STYLESHEET "${CMAKE_CURRENT_BINARY_DIR}/BRL-CAD_Tutorial_Series-VolumeII.xsl")
|
||||
|
||||
@@ -125,12 +118,10 @@ set(CURRENT_VOLUME "III")
|
||||
set(CURRENT_TITLE "Principles of Effective Modeling")
|
||||
configure_file(${CMAKE_SOURCE_DIR}/doc/docbook/resources/brlcad/tutorial-cover-template.xsl.in
|
||||
${CMAKE_CURRENT_BINARY_DIR}/BRL-CAD_Tutorial_Series-VolumeIII-cover.xsl @ONLY)
|
||||
DISTCLEAN("${CMAKE_CURRENT_BINARY_DIR}/BRL-CAD_Tutorial_Series-VolumeIII-cover.xsl")
|
||||
|
||||
string(REPLACE " " "%20" TUTORIAL_COVER_XSL ${CMAKE_CURRENT_BINARY_DIR}/BRL-CAD_Tutorial_Series-VolumeIII-cover.xsl)
|
||||
configure_file(${CMAKE_SOURCE_DIR}/doc/docbook/resources/brlcad/tutorial-template.xsl.in
|
||||
${CMAKE_CURRENT_BINARY_DIR}/BRL-CAD_Tutorial_Series-VolumeIII.xsl @ONLY)
|
||||
DISTCLEAN("${CMAKE_CURRENT_BINARY_DIR}/BRL-CAD_Tutorial_Series-VolumeIII.xsl")
|
||||
|
||||
set(XSL_FO_STYLESHEET "${CMAKE_CURRENT_BINARY_DIR}/BRL-CAD_Tutorial_Series-VolumeIII.xsl")
|
||||
|
||||
@@ -142,12 +133,10 @@ set(CURRENT_VOLUME "IV")
|
||||
set(CURRENT_TITLE "Converting Geometry Between BRL-CAD and Other Formats")
|
||||
configure_file(${CMAKE_SOURCE_DIR}/doc/docbook/resources/brlcad/tutorial-cover-template.xsl.in
|
||||
${CMAKE_CURRENT_BINARY_DIR}/BRL-CAD_Tutorial_Series-VolumeIV-cover.xsl @ONLY)
|
||||
DISTCLEAN("${CMAKE_CURRENT_BINARY_DIR}/BRL-CAD_Tutorial_Series-VolumeIV-cover.xsl")
|
||||
|
||||
string(REPLACE " " "%20" TUTORIAL_COVER_XSL ${CMAKE_CURRENT_BINARY_DIR}/BRL-CAD_Tutorial_Series-VolumeIV-cover.xsl)
|
||||
configure_file(${CMAKE_SOURCE_DIR}/doc/docbook/resources/brlcad/tutorial-template.xsl.in
|
||||
${CMAKE_CURRENT_BINARY_DIR}/BRL-CAD_Tutorial_Series-VolumeIV.xsl @ONLY)
|
||||
DISTCLEAN("${CMAKE_CURRENT_BINARY_DIR}/BRL-CAD_Tutorial_Series-VolumeIV.xsl")
|
||||
|
||||
set(XSL_FO_STYLESHEET "${CMAKE_CURRENT_BINARY_DIR}/BRL-CAD_Tutorial_Series-VolumeIV.xsl")
|
||||
|
||||
|
||||
@@ -1,70 +0,0 @@
|
||||
# Style sheet for XSLT transformation to HTML pages
|
||||
if(BRLCAD_EXTRADOCS_HTML)
|
||||
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/../resources/brlcad/brlcad-man-xhtml-stylesheet.xsl.in
|
||||
${CMAKE_CURRENT_BINARY_DIR}/../resources/brlcad/brlcad-man-xhtml-stylesheet.xsl)
|
||||
DISTCLEAN("${CMAKE_CURRENT_BINARY_DIR}/../resources/brlcad/brlcad-man-xhtml-stylesheet.xsl")
|
||||
endif(BRLCAD_EXTRADOCS_HTML)
|
||||
|
||||
if(BRLCAD_EXTRADOCS_PHP)
|
||||
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/../resources/brlcad/brlcad-man-xhtml-stylesheet.xsl.in
|
||||
${CMAKE_CURRENT_BINARY_DIR}/../resources/brlcad/brlcad-man-xhtml-stylesheet.xsl)
|
||||
DISTCLEAN("${CMAKE_CURRENT_BINARY_DIR}/../resources/brlcad/brlcad-man-xhtml-stylesheet.xsl")
|
||||
endif(BRLCAD_EXTRADOCS_PHP)
|
||||
|
||||
# Style sheet for XSLT transformation to manual pages
|
||||
if(BRLCAD_EXTRADOCS_MAN)
|
||||
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/../resources/brlcad/brlcad-man-stylesheet.xsl.in
|
||||
${CMAKE_CURRENT_BINARY_DIR}/../resources/brlcad/brlcad-man-stylesheet.xsl)
|
||||
DISTCLEAN("${CMAKE_CURRENT_BINARY_DIR}/../resources/brlcad/brlcad-man-stylesheet.xsl")
|
||||
endif(BRLCAD_EXTRADOCS_MAN)
|
||||
|
||||
# Files for PDF
|
||||
if(BRLCAD_EXTRADOCS_PDF)
|
||||
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/../resources/brlcad/brlcad-man-fo-stylesheet.xsl.in
|
||||
${CMAKE_CURRENT_BINARY_DIR}/../resources/brlcad/brlcad-man-fo-stylesheet.xsl)
|
||||
DISTCLEAN("${CMAKE_CURRENT_BINARY_DIR}/../resources/brlcad/brlcad-man-fo-stylesheet.xsl")
|
||||
endif(BRLCAD_EXTRADOCS_PDF)
|
||||
|
||||
# For HTML, MAN and FO (FO is an intermediate file used in the
|
||||
# XML->PDF transformation) we use variables to hold the full
|
||||
# stylesheet path. In the case we need to further
|
||||
# customize FO stylesheets we can have separate CMake logic in
|
||||
# appropriate directories to handle the customization (e.g., the
|
||||
# BRL-CAD manuals in books/en/CMakeLists.txt).
|
||||
set(XSL_PHP_STYLESHEET "${CMAKE_CURRENT_BINARY_DIR}/../resources/brlcad/wordpress.xsl")
|
||||
set(XSL_HTML_STYLESHEET "${CMAKE_CURRENT_BINARY_DIR}/../resources/brlcad/brlcad-man-xhtml-stylesheet.xsl")
|
||||
set(XSL_MAN_STYLESHEET "${CMAKE_CURRENT_BINARY_DIR}/../resources/brlcad/brlcad-man-stylesheet.xsl")
|
||||
set(XSL_FO_STYLESHEET "${CMAKE_CURRENT_BINARY_DIR}/../resources/brlcad/brlcad-man-fo-stylesheet.xsl")
|
||||
|
||||
set(devguides_EN
|
||||
bool_eval_development.xml
|
||||
)
|
||||
|
||||
set(devguides_EN_IMAGES
|
||||
images/ccx_overlap_event.png
|
||||
images/ssx_transverse_event.png
|
||||
images/ssx_tangent_event.png
|
||||
images/compare_endpoint_style.png
|
||||
images/lcurves_with_shaded_context.png
|
||||
images/ssx_10_vs_13.png
|
||||
images/curve_traversal_directions.png
|
||||
images/axis_X.png
|
||||
images/intermediate_linked_curves.png
|
||||
images/ssx_overlap_event.png
|
||||
images/evaluation_overview.png
|
||||
)
|
||||
|
||||
ADD_DOC(devguides_EN html/devguides)
|
||||
ADD_DOC(devguides_EN_IMAGES html/devguides/images)
|
||||
ADD_DOCBOOK("HTML;PHP;PDF" devguides_EN devguides/en devguides_EN_IMAGES_cp)
|
||||
|
||||
CMAKEFILES(
|
||||
CMakeLists.txt
|
||||
)
|
||||
|
||||
# Local Variables:
|
||||
# tab-width: 8
|
||||
# mode: cmake
|
||||
# indent-tabs-mode: t
|
||||
# End:
|
||||
# ex: shiftwidth=2 tabstop=8
|
||||
|
Before Width: | Height: | Size: 62 KiB |
|
Before Width: | Height: | Size: 6.0 KiB |
|
Before Width: | Height: | Size: 646 KiB |
|
Before Width: | Height: | Size: 99 KiB |
|
Before Width: | Height: | Size: 79 KiB |
|
Before Width: | Height: | Size: 16 KiB |
|
Before Width: | Height: | Size: 6.8 KiB |
|
Before Width: | Height: | Size: 14 KiB |
|
Before Width: | Height: | Size: 11 KiB |
|
Before Width: | Height: | Size: 26 KiB |
|
Before Width: | Height: | Size: 9.6 KiB |
@@ -2,12 +2,10 @@
|
||||
if(BRLCAD_EXTRADOCS_HTML)
|
||||
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/../resources/brlcad/brlcad-lesson-xhtml-stylesheet.xsl.in
|
||||
${CMAKE_CURRENT_BINARY_DIR}/../resources/brlcad/brlcad-lesson-xhtml-stylesheet.xsl)
|
||||
DISTCLEAN("${CMAKE_CURRENT_BINARY_DIR}/../resources/brlcad/brlcad-lesson-xhtml-stylesheet.xsl")
|
||||
endif(BRLCAD_EXTRADOCS_HTML)
|
||||
if(BRLCAD_EXTRADOCS_PHP)
|
||||
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/../resources/brlcad/brlcad-lesson-xhtml-stylesheet.xsl.in
|
||||
${CMAKE_CURRENT_BINARY_DIR}/../resources/brlcad/brlcad-lesson-xhtml-stylesheet.xsl)
|
||||
DISTCLEAN("${CMAKE_CURRENT_BINARY_DIR}/../resources/brlcad/brlcad-lesson-xhtml-stylesheet.xsl")
|
||||
endif(BRLCAD_EXTRADOCS_PHP)
|
||||
|
||||
# Files for PDF products
|
||||
@@ -15,7 +13,6 @@ if(BRLCAD_EXTRADOCS_PDF)
|
||||
# Style sheet for XSLT transformation to PDF
|
||||
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/../resources/brlcad/brlcad-lesson-fo-stylesheet.xsl.in
|
||||
${CMAKE_CURRENT_BINARY_DIR}/../resources/brlcad/brlcad-lesson-fo-stylesheet.xsl)
|
||||
DISTCLEAN("${CMAKE_CURRENT_BINARY_DIR}/../resources/brlcad/brlcad-lesson-fo-stylesheet.xsl")
|
||||
endif(BRLCAD_EXTRADOCS_PDF)
|
||||
|
||||
# For HTML and FO (FO is an intermediate file used in the
|
||||
|
||||
@@ -2,19 +2,16 @@
|
||||
if(BRLCAD_EXTRADOCS_HTML)
|
||||
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/../resources/brlcad/brlcad-presentation-xhtml-stylesheet.xsl.in
|
||||
${CMAKE_CURRENT_BINARY_DIR}/../resources/brlcad/brlcad-presentation-xhtml-stylesheet.xsl)
|
||||
DISTCLEAN("${CMAKE_CURRENT_BINARY_DIR}/../resources/brlcad/brlcad-presentation-xhtml-stylesheet.xsl")
|
||||
endif(BRLCAD_EXTRADOCS_HTML)
|
||||
|
||||
if(BRLCAD_EXTRADOCS_PHP)
|
||||
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/../resources/brlcad/brlcad-presentation-xhtml-stylesheet.xsl.in
|
||||
${CMAKE_CURRENT_BINARY_DIR}/../resources/brlcad/brlcad-presentation-xhtml-stylesheet.xsl)
|
||||
DISTCLEAN("${CMAKE_CURRENT_BINARY_DIR}/../resources/brlcad/brlcad-presentation-xhtml-stylesheet.xsl")
|
||||
endif(BRLCAD_EXTRADOCS_PHP)
|
||||
|
||||
if(BRLCAD_EXTRADOCS_PPT)
|
||||
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/../resources/brlcad/presentation.xsl.in
|
||||
${CMAKE_CURRENT_BINARY_DIR}/../resources/brlcad/presentation.xsl)
|
||||
DISTCLEAN("${CMAKE_CURRENT_BINARY_DIR}/../resources/brlcad/presentation.xsl")
|
||||
endif(BRLCAD_EXTRADOCS_PPT)
|
||||
|
||||
# Files for PDF products
|
||||
@@ -22,7 +19,6 @@ if(BRLCAD_EXTRADOCS_PDF)
|
||||
# Style sheet for XSLT transformation to PDF
|
||||
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/../resources/brlcad/brlcad-presentation-fo-stylesheet.xsl.in
|
||||
${CMAKE_CURRENT_BINARY_DIR}/../resources/brlcad/brlcad-presentation-fo-stylesheet.xsl)
|
||||
DISTCLEAN("${CMAKE_CURRENT_BINARY_DIR}/../resources/brlcad/brlcad-presentation-fo-stylesheet.xsl")
|
||||
endif(BRLCAD_EXTRADOCS_PDF)
|
||||
|
||||
# For HTML and FO (FO is an intermediate file used in the
|
||||
|
||||
@@ -11,15 +11,12 @@ string(REPLACE " " "%20" DOCBOOK_SOURCE_DIR "${CMAKE_SOURCE_DIR}")
|
||||
|
||||
# Common xsl for all outputs
|
||||
configure_file(brlcad-common.xsl.in ${CMAKE_CURRENT_BINARY_DIR}/brlcad-common.xsl)
|
||||
DISTCLEAN("${CMAKE_CURRENT_BINARY_DIR}/brlcad-common.xsl")
|
||||
|
||||
# Fonts definition
|
||||
configure_file(brlcad-fonts.xsl.in ${CMAKE_CURRENT_BINARY_DIR}/brlcad-fonts.xsl)
|
||||
DISTCLEAN("${CMAKE_CURRENT_BINARY_DIR}/brlcad-fonts.xsl")
|
||||
|
||||
# Wordpress
|
||||
configure_file(wordpress.xsl.in ${CMAKE_CURRENT_BINARY_DIR}/wordpress.xsl)
|
||||
DISTCLEAN("${CMAKE_CURRENT_BINARY_DIR}/wordpress.xsl")
|
||||
|
||||
# Make sure distcheck knows about all files in directory
|
||||
set(ignore_files
|
||||
|
||||
@@ -2,13 +2,11 @@
|
||||
if(BRLCAD_EXTRADOCS_HTML)
|
||||
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/../resources/brlcad/brlcad-specification-xhtml-stylesheet.xsl.in
|
||||
${CMAKE_CURRENT_BINARY_DIR}/../resources/brlcad/brlcad-specification-xhtml-stylesheet.xsl)
|
||||
DISTCLEAN("${CMAKE_CURRENT_BINARY_DIR}/../resources/brlcad/brlcad-specification-xhtml-stylesheet.xsl")
|
||||
endif(BRLCAD_EXTRADOCS_HTML)
|
||||
|
||||
if(BRLCAD_EXTRADOCS_PHP)
|
||||
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/../resources/brlcad/brlcad-specification-xhtml-stylesheet.xsl.in
|
||||
${CMAKE_CURRENT_BINARY_DIR}/../resources/brlcad/brlcad-specification-xhtml-stylesheet.xsl)
|
||||
DISTCLEAN("${CMAKE_CURRENT_BINARY_DIR}/../resources/brlcad/brlcad-specification-xhtml-stylesheet.xsl")
|
||||
endif(BRLCAD_EXTRADOCS_PHP)
|
||||
|
||||
# Files for PDF products
|
||||
@@ -16,7 +14,6 @@ if(BRLCAD_EXTRADOCS_PDF)
|
||||
# Style sheet for XSLT transformation to PDF
|
||||
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/../resources/brlcad/brlcad-specification-fo-stylesheet.xsl.in
|
||||
${CMAKE_CURRENT_BINARY_DIR}/../resources/brlcad/brlcad-specification-fo-stylesheet.xsl)
|
||||
DISTCLEAN("${CMAKE_CURRENT_BINARY_DIR}/../resources/brlcad/brlcad-specification-fo-stylesheet.xsl")
|
||||
endif(BRLCAD_EXTRADOCS_PDF)
|
||||
|
||||
# For HTML and FO (FO is an intermediate file used in the
|
||||
|
||||
@@ -2,27 +2,23 @@
|
||||
if(BRLCAD_EXTRADOCS_HTML)
|
||||
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/../resources/brlcad/brlcad-man-xhtml-stylesheet.xsl.in
|
||||
${CMAKE_CURRENT_BINARY_DIR}/../resources/brlcad/brlcad-man-xhtml-stylesheet.xsl)
|
||||
DISTCLEAN("${CMAKE_CURRENT_BINARY_DIR}/../resources/brlcad/brlcad-man-xhtml-stylesheet.xsl")
|
||||
endif(BRLCAD_EXTRADOCS_HTML)
|
||||
|
||||
if(BRLCAD_EXTRADOCS_PHP)
|
||||
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/../resources/brlcad/brlcad-man-xhtml-stylesheet.xsl.in
|
||||
${CMAKE_CURRENT_BINARY_DIR}/../resources/brlcad/brlcad-man-xhtml-stylesheet.xsl)
|
||||
DISTCLEAN("${CMAKE_CURRENT_BINARY_DIR}/../resources/brlcad/brlcad-man-xhtml-stylesheet.xsl")
|
||||
endif(BRLCAD_EXTRADOCS_PHP)
|
||||
|
||||
# Style sheet for XSLT transformation to manual pages
|
||||
if(BRLCAD_EXTRADOCS_MAN)
|
||||
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/../resources/brlcad/brlcad-man-stylesheet.xsl.in
|
||||
${CMAKE_CURRENT_BINARY_DIR}/../resources/brlcad/brlcad-man-stylesheet.xsl)
|
||||
DISTCLEAN("${CMAKE_CURRENT_BINARY_DIR}/../resources/brlcad/brlcad-man-stylesheet.xsl")
|
||||
endif(BRLCAD_EXTRADOCS_MAN)
|
||||
|
||||
# Files for PDF
|
||||
if(BRLCAD_EXTRADOCS_PDF)
|
||||
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/../resources/brlcad/brlcad-man-fo-stylesheet.xsl.in
|
||||
${CMAKE_CURRENT_BINARY_DIR}/../resources/brlcad/brlcad-man-fo-stylesheet.xsl)
|
||||
DISTCLEAN("${CMAKE_CURRENT_BINARY_DIR}/../resources/brlcad/brlcad-man-fo-stylesheet.xsl")
|
||||
endif(BRLCAD_EXTRADOCS_PDF)
|
||||
|
||||
# For HTML, MAN and FO (FO is an intermediate file used in the
|
||||
|
||||
@@ -6,7 +6,6 @@ set(man1_EN
|
||||
asc2dsp.xml
|
||||
asc2g.xml
|
||||
benchmark.xml
|
||||
bolt.xml
|
||||
brlman.xml
|
||||
bot_dump.xml
|
||||
brep_simple.xml
|
||||
|
||||
@@ -51,7 +51,7 @@ file thus has scanlines of 3456 pixels.</para>
|
||||
</refsect1>
|
||||
|
||||
<refsect1 xml:id='copyright'><title>COPYRIGHT</title>
|
||||
<para>This software is Copyright (c) 1989-2021 by the United States
|
||||
<para>This software is Copyright (c) 1989-2020 by the United States
|
||||
Government as represented by U.S. Army Research Laboratory.</para>
|
||||
</refsect1>
|
||||
|
||||
|
||||
@@ -110,7 +110,7 @@ database file.</para>
|
||||
</refsect1>
|
||||
|
||||
<refsect1 xml:id='copyright'><title>COPYRIGHT</title>
|
||||
<para>This software is Copyright (c) 1994-2021 by the United States
|
||||
<para>This software is Copyright (c) 1994-2020 by the United States
|
||||
Government as represented by U.S. Army Research Laboratory.</para>
|
||||
</refsect1>
|
||||
|
||||
|
||||
@@ -56,7 +56,7 @@ Optional white space and lines beginning with the comment character
|
||||
</refsect1>
|
||||
|
||||
<refsect1 xml:id='copyright'><title>COPYRIGHT</title>
|
||||
<para>This software is Copyright (c) 1991-2021 by the United States
|
||||
<para>This software is Copyright (c) 1991-2020 by the United States
|
||||
Government as represented by U.S. Army Research Laboratory.</para>
|
||||
</refsect1>
|
||||
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
<!-- body begins here -->
|
||||
<refsynopsisdiv xml:id="synopsis">
|
||||
<cmdsynopsis sepchar=" ">
|
||||
<command>asc2dsp</command>
|
||||
<command>rt</command>
|
||||
<arg choice="plain" rep="norepeat"><replaceable>file.asc</replaceable></arg>
|
||||
<arg choice="plain" rep="norepeat"><replaceable>file.dsp</replaceable></arg>
|
||||
</cmdsynopsis>
|
||||
@@ -79,7 +79,7 @@
|
||||
</refsection>
|
||||
|
||||
<refsection xml:id="copyright"><title>COPYRIGHT</title>
|
||||
<para>This software is Copyright (c) 2012-2021 United States Government as
|
||||
<para>This software is Copyright (c) 2012-2020 United States Government as
|
||||
represented by the U.S. Army Research Laboratory.</para>
|
||||
</refsection>
|
||||
|
||||
|
||||
@@ -97,7 +97,7 @@
|
||||
|
||||
<refsect1 xml:id='copyright'><title>COPYRIGHT</title>
|
||||
<!-- <para><command>asc2g</command>, BRL-CAD and this man page are released under the <emphasis remap='B'>BSD Documentation License (BDL)</emphasis>, a content license similar to the FreeBSD Documentation License allowing flexible modification and redistribution of content.</para> -->
|
||||
<para>This software is Copyright (c) 1989-2021 by the United States Government as represented by U.S. Army Research Laboratory.</para>
|
||||
<para>This software is Copyright (c) 1989-2020 by the United States Government as represented by U.S. Army Research Laboratory.</para>
|
||||
|
||||
</refsect1>
|
||||
|
||||
|
||||
@@ -199,7 +199,7 @@ benchmark analysis, leaving only the summary file and any
|
||||
</refsect1>
|
||||
|
||||
<refsect1 xml:id='copyright'><title>COPYRIGHT</title>
|
||||
<para>This software is Copyright (c) 2006-2021 United States Government as
|
||||
<para>This software is Copyright (c) 2006-2020 United States Government as
|
||||
represented by the U.S. Army Research Laboratory.</para>
|
||||
</refsect1>
|
||||
|
||||
|
||||
@@ -1,190 +0,0 @@
|
||||
<refentry xmlns="http://docbook.org/ns/docbook" version="5.0" xml:id="bolt1">
|
||||
|
||||
<refmeta>
|
||||
<refentrytitle>BOLT</refentrytitle>
|
||||
<manvolnum>1</manvolnum>
|
||||
<refmiscinfo class="source">BRL-CAD</refmiscinfo>
|
||||
<refmiscinfo class="manual">BRL-CAD User Commands</refmiscinfo>
|
||||
</refmeta>
|
||||
|
||||
<refnamediv xml:id="name">
|
||||
<refname>bolt</refname>
|
||||
<refpurpose>
|
||||
Creates a BRL-CAD .g file containing bolts.
|
||||
</refpurpose>
|
||||
</refnamediv>
|
||||
|
||||
<!-- body begins here -->
|
||||
<refsynopsisdiv xml:id="synopsis">
|
||||
<cmdsynopsis sepchar=" ">
|
||||
<command>bolt</command>
|
||||
<arg choice="opt" rep="repeat"><replaceable>options</replaceable></arg>
|
||||
</cmdsynopsis>
|
||||
</refsynopsisdiv>
|
||||
|
||||
<refsection xml:id="description"><title>DESCRIPTION</title>
|
||||
|
||||
<para>
|
||||
<command>bolt</command> is a program to create a BRL-CAD data base of
|
||||
one of four different kinds of bolts. Up to twenty-six bolts of one type
|
||||
and size may be created. <command>bolt</command> uses libwdb to create a
|
||||
database file. This program may be run interactively or the user may
|
||||
specify options on a command line. If the user chooses to run the program
|
||||
interactively he answers the questions as the program prompts him. Below
|
||||
are the options that can be used on the command line.
|
||||
</para>
|
||||
</refsection>
|
||||
|
||||
|
||||
<refsection xml:id="options"><title>OPTIONS</title>
|
||||
|
||||
<variablelist remap="TP">
|
||||
<varlistentry>
|
||||
<term><option>-o#</option></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Type of bolt to be created: 1=>bolt head; 2=>bolt head and washer; 3=>bolt
|
||||
head, washer, and bolt stem; and 4=>bolt head and bolt stem.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><option>-f </option><replaceable>name.g</replaceable></term>
|
||||
<listitem>
|
||||
<para>
|
||||
BRL-CAD file name.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><option>-n #</option></term>
|
||||
<listitem>
|
||||
<para>
|
||||
The number of bolts to be created. This number must be less than or equal to
|
||||
26 (or it will be set to 26).
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><option>-hd #</option></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Diameter of bolt head, flat edge to flat edge, in millimeters.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><option>-hh #</option></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Height of bolt head in millimeters.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><option>-wd #</option></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Diameter of washer in millimeters.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><option>-wh #</option></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Height of washer in millimeters.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><option>-sd #</option></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Diameter of bolt stem in millimeters.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><option>-sh #</option></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Height of bolt stem in millimeters.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
</refsection>
|
||||
|
||||
<refsection xml:id="examples"><title>EXAMPLES</title>
|
||||
|
||||
<example><title>Interactive <command>bolt</command> Session</title>
|
||||
|
||||
<para>
|
||||
<literallayout class="normal">
|
||||
$ bolt
|
||||
Enter option:
|
||||
1 - bolt head
|
||||
2 - bolt head & washer
|
||||
3 - bolt head, washer, & stem
|
||||
4 - bolt head & stem
|
||||
1
|
||||
Enter name of mged file to be created (25 char max).
|
||||
bolt.g
|
||||
Enter the number of bolts to be created (26 max).
|
||||
3
|
||||
Enter diameter (flat edge to flat edge) & height of bolt head.
|
||||
30 10
|
||||
|
||||
option: 1 - bolt head
|
||||
file: bolt.g
|
||||
head diameter: 30.000000, & height: 10.000000
|
||||
washer diameter: 0.000000, & height: 0.000000
|
||||
stem diameter: 0.000000, & height: 0.000000
|
||||
number of bolts: 3
|
||||
</literallayout>
|
||||
</para>
|
||||
</example>
|
||||
|
||||
<example><title>Single-Line <command>bolt</command> Command</title>
|
||||
|
||||
<para>
|
||||
<userinput>bolt -o1 -fbolt.g -n3 -hd30 -hh10</userinput>
|
||||
</para>
|
||||
</example>
|
||||
|
||||
<para>
|
||||
Both examples produce the same output - the bolt heads (option 1)
|
||||
are created with a diameter of 30mm and a height of 10mm in a database
|
||||
file called bolt.g.
|
||||
</para>
|
||||
|
||||
</refsection>
|
||||
|
||||
<refsection xml:id="author"><title>AUTHOR</title>
|
||||
<para>Susan A. Coates</para>
|
||||
</refsection>
|
||||
|
||||
<refsection xml:id="copyright"><title>COPYRIGHT</title>
|
||||
|
||||
<para>
|
||||
This software is Copyright (c) 2005-2021 United States Government as
|
||||
represented by the U.S. Army Research Laboratory.
|
||||
</para>
|
||||
</refsection>
|
||||
|
||||
<refsection xml:id="see_also"><title>SEE ALSO</title>
|
||||
|
||||
<para>
|
||||
handle(1), window(1), window_frame(1), gastank(1)
|
||||
</para>
|
||||
</refsection>
|
||||
|
||||
<refsection xml:id="bug_reports"><title>BUG REPORTS</title>
|
||||
|
||||
<para>
|
||||
Reports of bugs or problems should be submitted via electronic
|
||||
mail to <email>devs@brlcad.org</email>
|
||||
</para>
|
||||
</refsection>
|
||||
</refentry>
|
||||
@@ -91,7 +91,7 @@ $ bot_dump -o <emphasis remap='I'>some_bot_dump.dxf</emphasis> -t <emphasis re
|
||||
</refsect1>
|
||||
|
||||
<refsect1 xml:id='copyright'><title>COPYRIGHT</title>
|
||||
<para>This software is Copyright (c) 2008-2021 by the United States
|
||||
<para>This software is Copyright (c) 2008-2020 by the United States
|
||||
Government as represented by U.S. Army Research Laboratory.</para>
|
||||
</refsect1>
|
||||
|
||||
|
||||
@@ -61,7 +61,7 @@
|
||||
|
||||
<refsect1 xml:id="copyright">
|
||||
<title>COPYRIGHT</title>
|
||||
<para>This software is Copyright (c) 2004-2021 United States Government as
|
||||
<para>This software is Copyright (c) 2004-2020 United States Government as
|
||||
represented by the U.S. Army Research Laboratory.</para>
|
||||
</refsect1>
|
||||
|
||||
|
||||
@@ -90,7 +90,7 @@ creating a program that refers to <emphasis remap='I'>BRL-CAD</emphasis> headers
|
||||
</refsect1>
|
||||
|
||||
<refsect1 xml:id='copyright'><title>COPYRIGHT</title>
|
||||
<para>This software is Copyright (c) 2007-2021 United States Government as
|
||||
<para>This software is Copyright (c) 2007-2020 United States Government as
|
||||
represented by the U.S. Army Research Laboratory.</para>
|
||||
</refsect1>
|
||||
|
||||
|
||||
@@ -399,7 +399,7 @@ a convention for the number of frames/reel exists:</para>
|
||||
</refsect1>
|
||||
|
||||
<refsect1 xml:id='copyright'><title>COPYRIGHT</title>
|
||||
<para>This software is Copyright (c) 1989-2021 by the United States
|
||||
<para>This software is Copyright (c) 1989-2020 by the United States
|
||||
Government as represented by U.S. Army Research Laboratory.</para>
|
||||
</refsect1>
|
||||
|
||||
|
||||
@@ -93,7 +93,7 @@
|
||||
|
||||
<refsection xml:id="copyright"><title>COPYRIGHT</title>
|
||||
<para>
|
||||
This software is Copyright (c) 2016-2021 United States Government as
|
||||
This software is Copyright (c) 2016-2020 United States Government as
|
||||
represented by the U.S. Army Rebrlman Laboratory.
|
||||
</para>
|
||||
</refsection>
|
||||
|
||||
@@ -1113,7 +1113,7 @@ depth 52.88mm at (-418.907,-812.8,0) x-2 y1 lvl1 purpose=spall ray
|
||||
</refsection>
|
||||
|
||||
<refsection xml:id="copyright"><title>COPYRIGHT</title>
|
||||
<para>This software is Copyright (c) 1984-2021 United States Government as
|
||||
<para>This software is Copyright (c) 1984-2020 United States Government as
|
||||
represented by the U.S. Army Research Laboratory.</para>
|
||||
</refsection>
|
||||
|
||||
|
||||
@@ -136,7 +136,7 @@ with scanlines being written from the bottom to the top of the image.</para>
|
||||
</refsection>
|
||||
|
||||
<refsection xml:id="copyright"><title>COPYRIGHT</title>
|
||||
<para>This software is Copyright (c) 1989-2021 by the United States
|
||||
<para>This software is Copyright (c) 1989-2020 by the United States
|
||||
Government as represented by U.S. Army Research Laboratory.</para>
|
||||
</refsection>
|
||||
|
||||
|
||||
@@ -58,7 +58,7 @@ is given.</para>
|
||||
</refsect1>
|
||||
|
||||
<refsect1 xml:id='copyright'><title>COPYRIGHT</title>
|
||||
<para>This software is Copyright (c) 1989-2021 by the United States
|
||||
<para>This software is Copyright (c) 1989-2020 by the United States
|
||||
Government as represented by U.S. Army Research Laboratory.</para>
|
||||
</refsect1>
|
||||
|
||||
|
||||
@@ -83,7 +83,7 @@ pixels wide</para>
|
||||
</refsect1>
|
||||
|
||||
<refsect1 xml:id='copyright'><title>COPYRIGHT</title>
|
||||
<para>This software is Copyright (c) 1998-2021 by the United States
|
||||
<para>This software is Copyright (c) 1998-2020 by the United States
|
||||
Government as represented by U.S. Army Research Laboratory.</para>
|
||||
</refsect1>
|
||||
|
||||
|
||||
@@ -99,7 +99,7 @@ on an 8.5 x 11 inch page.</para>
|
||||
</refsect1>
|
||||
|
||||
<refsect1 xml:id='copyright'><title>COPYRIGHT</title>
|
||||
<para>This software is Copyright (c) 1991-2021 by the United States
|
||||
<para>This software is Copyright (c) 1991-2020 by the United States
|
||||
Government as represented by U.S. Army Research Laboratory.</para>
|
||||
</refsect1>
|
||||
|
||||
|
||||
@@ -74,7 +74,7 @@ interpolation is done by this program.</para>
|
||||
</refsect1>
|
||||
|
||||
<refsect1 xml:id='copyright'><title>COPYRIGHT</title>
|
||||
<para>This software is Copyright (c) 1989-2021 by the United States
|
||||
<para>This software is Copyright (c) 1989-2020 by the United States
|
||||
Government as represented by U.S. Army Research Laboratory.</para>
|
||||
</refsect1>
|
||||
|
||||
|
||||
@@ -109,7 +109,7 @@ gencolor 107 93 70 | bwdiff -e <emphasis remap='I'>file.pix</emphasis> - | pix-f
|
||||
</refsect1>
|
||||
|
||||
<refsect1 xml:id='copyright'><title>COPYRIGHT</title>
|
||||
<para>This software is Copyright (c) 1989-2021 by the United States
|
||||
<para>This software is Copyright (c) 1989-2020 by the United States
|
||||
Government as represented by U.S. Army Research Laboratory.</para>
|
||||
</refsect1>
|
||||
|
||||
|
||||
@@ -124,7 +124,7 @@ flag displays the max and minimum values and the kernel information on standard
|
||||
</refsect1>
|
||||
|
||||
<refsect1 xml:id='copyright'><title>COPYRIGHT</title>
|
||||
<para>This software is Copyright (c) 1989-2021 by the United States
|
||||
<para>This software is Copyright (c) 1989-2020 by the United States
|
||||
Government as represented by U.S. Army Research Laboratory.</para>
|
||||
</refsect1>
|
||||
|
||||
|
||||
@@ -57,7 +57,7 @@ flag will output the histogram values on the terminal.</para>
|
||||
</refsect1>
|
||||
|
||||
<refsect1 xml:id='copyright'><title>COPYRIGHT</title>
|
||||
<para>This software is Copyright (c) 1989-2021 by the United States
|
||||
<para>This software is Copyright (c) 1989-2020 by the United States
|
||||
Government as represented by U.S. Army Research Laboratory.</para>
|
||||
</refsect1>
|
||||
|
||||
|
||||
@@ -54,7 +54,7 @@ flag will output the old and new histogram values on the terminal.</para>
|
||||
</refsect1>
|
||||
|
||||
<refsect1 xml:id='copyright'><title>COPYRIGHT</title>
|
||||
<para>This software is Copyright (c) 1989-2021 by the United States
|
||||
<para>This software is Copyright (c) 1989-2020 by the United States
|
||||
Government as represented by U.S. Army Research Laboratory.</para>
|
||||
</refsect1>
|
||||
|
||||
|
||||
@@ -165,7 +165,7 @@ above get higher. A <replaceable>file.bw</replaceable> for this example can be
|
||||
</refsect1>
|
||||
|
||||
<refsect1 xml:id='copyright'><title>COPYRIGHT</title>
|
||||
<para>This software is Copyright (c) 1989-2021 by the United States
|
||||
<para>This software is Copyright (c) 1989-2020 by the United States
|
||||
Government as represented by U.S. Army Research Laboratory.</para>
|
||||
</refsect1>
|
||||
|
||||
|
||||
@@ -89,7 +89,7 @@ so that shell scripts, etc., could use this.</para>
|
||||
</refsect1>
|
||||
|
||||
<refsect1 xml:id='copyright'><title>COPYRIGHT</title>
|
||||
<para>This software is Copyright (c) 1989-2021 by the United States
|
||||
<para>This software is Copyright (c) 1989-2020 by the United States
|
||||
Government as represented by U.S. Army Research Laboratory.</para>
|
||||
</refsect1>
|
||||
|
||||
|
||||
@@ -97,7 +97,7 @@ algorithms could remedy this.</para>
|
||||
</refsect1>
|
||||
|
||||
<refsect1 xml:id='copyright'><title>COPYRIGHT</title>
|
||||
<para>This software is Copyright (c) 1989-2021 by the United States
|
||||
<para>This software is Copyright (c) 1989-2020 by the United States
|
||||
Government as represented by U.S. Army Research Laboratory.</para>
|
||||
</refsect1>
|
||||
|
||||
|
||||
@@ -101,7 +101,7 @@ Optional cubic interpolation would be nice.</para>
|
||||
</refsection>
|
||||
|
||||
<refsection xml:id="copyright"><title>COPYRIGHT</title>
|
||||
<para>This software is Copyright (c) 1984-2021 United States Government as
|
||||
<para>This software is Copyright (c) 1984-2020 United States Government as
|
||||
represented by the U.S. Army Research Laboratory.</para>
|
||||
</refsection>
|
||||
|
||||
|
||||
@@ -75,7 +75,7 @@ factor, incorrect and bizarre output is generated.</para>
|
||||
</refsect1>
|
||||
|
||||
<refsect1 xml:id='copyright'><title>COPYRIGHT</title>
|
||||
<para>This software is Copyright (c) 1991-2021 by the United States
|
||||
<para>This software is Copyright (c) 1991-2020 by the United States
|
||||
Government as represented by U.S. Army Research Laboratory.</para>
|
||||
</refsect1>
|
||||
|
||||
|
||||
@@ -72,7 +72,7 @@ file sufficient.</para>
|
||||
</refsect1>
|
||||
|
||||
<refsect1 xml:id='copyright'><title>COPYRIGHT</title>
|
||||
<para>This software is Copyright (c) 1989-2021 by the United States
|
||||
<para>This software is Copyright (c) 1989-2020 by the United States
|
||||
Government as represented by U.S. Army Research Laboratory.</para>
|
||||
</refsect1>
|
||||
|
||||
|
||||
@@ -82,7 +82,7 @@ pixel_out = 255</para>
|
||||
</refsect1>
|
||||
|
||||
<refsect1 xml:id='copyright'><title>COPYRIGHT</title>
|
||||
<para>This software is Copyright (c) 1991-2021 by the United States
|
||||
<para>This software is Copyright (c) 1991-2020 by the United States
|
||||
Government as represented by U.S. Army Research Laboratory.</para>
|
||||
</refsect1>
|
||||
|
||||
|
||||
@@ -202,7 +202,7 @@ is produced.</para>
|
||||
</refsect1>
|
||||
|
||||
<refsect1 xml:id='copyright'><title>COPYRIGHT</title>
|
||||
<para>This software is Copyright (c) 1991-2021 by the United States
|
||||
<para>This software is Copyright (c) 1991-2020 by the United States
|
||||
Government as represented by U.S. Army Research Laboratory.</para>
|
||||
|
||||
</refsect1>
|
||||
|
||||
@@ -110,7 +110,7 @@ of a degenerate polygon.</para>
|
||||
</refsect1>
|
||||
|
||||
<refsect1 xml:id='copyright'><title>COPYRIGHT</title>
|
||||
<para>This software is Copyright (c) 1991-2021 by the United States
|
||||
<para>This software is Copyright (c) 1991-2020 by the United States
|
||||
Government as represented by U.S. Army Research Laboratory.</para>
|
||||
|
||||
</refsect1>
|
||||
|
||||
@@ -252,7 +252,7 @@ This avoids wasting paper (printing an image using incorrect dimensions).</para>
|
||||
</refsect1>
|
||||
|
||||
<refsect1 xml:id='copyright'><title>COPYRIGHT</title>
|
||||
<para>This software is Copyright (c) 1992-2021 by the United States
|
||||
<para>This software is Copyright (c) 1992-2020 by the United States
|
||||
Government as represented by U.S. Army Research Laboratory.</para>
|
||||
|
||||
</refsect1>
|
||||
|
||||
@@ -180,7 +180,7 @@
|
||||
<refsection xml:id="copyright"><title>COPYRIGHT</title>
|
||||
|
||||
<para>
|
||||
This software is Copyright (c) 2009-2021 United States Government as
|
||||
This software is Copyright (c) 2009-2020 United States Government as
|
||||
represented by the U.S. Army Research Laboratory.
|
||||
</para>
|
||||
</refsection>
|
||||
|
||||
@@ -93,7 +93,7 @@ input may produce amusing results.</para>
|
||||
</refsect1>
|
||||
|
||||
<refsect1 xml:id='copyright'><title>COPYRIGHT</title>
|
||||
<para>This software is Copyright (c) 1989-2021 by the United States
|
||||
<para>This software is Copyright (c) 1989-2020 by the United States
|
||||
Government as represented by U.S. Army Research Laboratory.</para>
|
||||
</refsect1>
|
||||
|
||||
|
||||
@@ -55,7 +55,7 @@ by suitably modifying the source code to the converter.</para>
|
||||
</refsect1>
|
||||
|
||||
<refsect1 xml:id='copyright'><title>COPYRIGHT</title>
|
||||
<para>This software is Copyright (c) 1989-2021 by the United States
|
||||
<para>This software is Copyright (c) 1989-2020 by the United States
|
||||
Government as represented by U.S. Army Research Laboratory.</para>
|
||||
</refsect1>
|
||||
|
||||
|
||||
@@ -73,7 +73,7 @@ edited by D. F. Rogers, R. A. Earnshaw, Springer-Verlag, 1990</para>
|
||||
</refsect1>
|
||||
|
||||
<refsect1 xml:id='copyright'><title>COPYRIGHT</title>
|
||||
<para>This software is Copyright (c) 1991-2021 by the United States
|
||||
<para>This software is Copyright (c) 1991-2020 by the United States
|
||||
Government as represented by U.S. Army Research Laboratory.</para>
|
||||
</refsect1>
|
||||
|
||||
|
||||
@@ -166,7 +166,7 @@
|
||||
</refsection>
|
||||
|
||||
<refsection xml:id="copyright"><title>COPYRIGHT</title>
|
||||
<para>This software is Copyright (c) 1984-2021 United States Government as
|
||||
<para>This software is Copyright (c) 1984-2020 United States Government as
|
||||
represented by the U.S. Army Research Laboratory.</para>
|
||||
</refsection>
|
||||
|
||||
|
||||
@@ -80,7 +80,7 @@ packages instead.</para>
|
||||
</refsect1>
|
||||
|
||||
<refsect1 xml:id='copyright'><title>COPYRIGHT</title>
|
||||
<para>This software is Copyright (c) 1991-2021 United States Government as
|
||||
<para>This software is Copyright (c) 1991-2020 United States Government as
|
||||
represented by the U.S. Army Research Laboratory.</para>
|
||||
</refsect1>
|
||||
|
||||
|
||||
@@ -84,7 +84,7 @@ Chase Manhattan Building, New York, NY)</para>
|
||||
</refsect1>
|
||||
|
||||
<refsect1 xml:id='copyright'><title>COPYRIGHT</title>
|
||||
<para>This software is Copyright (c) 1993-2021 by the United States
|
||||
<para>This software is Copyright (c) 1993-2020 by the United States
|
||||
Government as represented by U.S. Army Research Laboratory.</para>
|
||||
</refsect1>
|
||||
|
||||
|
||||
@@ -67,7 +67,7 @@ Descriptive messages are printed on standard error (file descriptor 2).</para>
|
||||
</refsect1>
|
||||
|
||||
<refsect1 xml:id='copyright'><title>COPYRIGHT</title>
|
||||
<para>This software is Copyright (c) 2006-2021 by the United States
|
||||
<para>This software is Copyright (c) 2006-2020 by the United States
|
||||
Government as represented by U.S. Army Research Laboratory.</para>
|
||||
</refsect1>
|
||||
|
||||
|
||||
@@ -66,7 +66,7 @@ format file, use a value of 3 for
|
||||
</refsect1>
|
||||
|
||||
<refsect1 xml:id='copyright'><title>COPYRIGHT</title>
|
||||
<para>This software is Copyright (c) 1992-2021 by the United States
|
||||
<para>This software is Copyright (c) 1992-2020 by the United States
|
||||
Government as represented by U.S. Army Research Laboratory.</para>
|
||||
</refsect1>
|
||||
|
||||
|
||||