Compare commits

..
1 Commits
Author SHA1 Message Date
Clifford Yapp 471675f1ab Remove gedplugins branch (svn branch delete)
svn:revision:76468
svn:branch:gedplugins
svn:account:starseeker
2020-07-24 14:41:17 +00:00
4102 changed files with 118213 additions and 74134 deletions
+11 -26
View File
@@ -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
--------------
+3 -3
View File
@@ -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
-38
View File
@@ -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]
+1650 -259
View File
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -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
+170 -3990
View File
File diff suppressed because it is too large Load Diff
+32
View File
@@ -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
+7 -119
View File
@@ -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 -1
View File
@@ -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
+100 -151
View File
@@ -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
+7 -21
View File
@@ -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 -1
View File
@@ -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 -1
View File
@@ -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 -1
View File
@@ -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
+1 -1
View File
@@ -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
+115 -269
View File
@@ -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 -1
View File
@@ -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
+27 -46
View File
@@ -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
+1 -1
View File
@@ -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
+1 -1
View File
@@ -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
Vendored
+12
View File
@@ -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";
+15 -24
View File
@@ -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
+1 -1
View File
@@ -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
+1 -1
View File
@@ -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
-36
View File
@@ -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}}
-13
View File
@@ -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:}
+6 -5
View File
@@ -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
-60
View File
@@ -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.)
+4 -53
View File
@@ -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
-----------
+45 -131
View File
@@ -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!!!)
-----
+35
View File
@@ -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.
+51
View File
@@ -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
+53
View File
@@ -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
-2
View File
@@ -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)
-3
View File
@@ -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
-8
View File
@@ -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>
&lt; F1 &gt;
-11
View File
@@ -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")
-70
View File
@@ -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
File diff suppressed because it is too large Load Diff
Binary file not shown.

Before

Width:  |  Height:  |  Size: 62 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 646 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 99 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 79 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.6 KiB

-3
View File
@@ -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
-4
View File
@@ -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
-4
View File
@@ -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
-1
View File
@@ -6,7 +6,6 @@ set(man1_EN
asc2dsp.xml
asc2g.xml
benchmark.xml
bolt.xml
brlman.xml
bot_dump.xml
brep_simple.xml
+1 -1
View File
@@ -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>
+1 -1
View File
@@ -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>
+1 -1
View File
@@ -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>
+2 -2
View File
@@ -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>
+1 -1
View File
@@ -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>
+1 -1
View File
@@ -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>
-190
View File
@@ -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=&gt;bolt head; 2=&gt;bolt head and washer; 3=&gt;bolt
head, washer, and bolt stem; and 4=&gt;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 &amp; washer
3 - bolt head, washer, &amp; stem
4 - bolt head &amp; 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) &amp; height of bolt head.
30 10
option: 1 - bolt head
file: bolt.g
head diameter: 30.000000, &amp; height: 10.000000
washer diameter: 0.000000, &amp; height: 0.000000
stem diameter: 0.000000, &amp; 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>
+1 -1
View File
@@ -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>
+1 -1
View File
@@ -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>
+1 -1
View File
@@ -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>
+1 -1
View File
@@ -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>
+1 -1
View File
@@ -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>
+1 -1
View File
@@ -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>
+1 -1
View File
@@ -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>
+1 -1
View File
@@ -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>
+1 -1
View File
@@ -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>
+1 -1
View File
@@ -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>
+1 -1
View File
@@ -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>
+1 -1
View File
@@ -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>
+1 -1
View File
@@ -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>
+1 -1
View File
@@ -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>
+1 -1
View File
@@ -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>
+1 -1
View File
@@ -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>
+1 -1
View File
@@ -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>
+1 -1
View File
@@ -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>
+1 -1
View File
@@ -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>
+1 -1
View File
@@ -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>
+1 -1
View File
@@ -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>
+1 -1
View File
@@ -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>
+1 -1
View File
@@ -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>
+1 -1
View File
@@ -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>
+1 -1
View File
@@ -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>
+1 -1
View File
@@ -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>
+1 -1
View File
@@ -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>
+1 -1
View File
@@ -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>
+1 -1
View File
@@ -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>
+1 -1
View File
@@ -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>
+1 -1
View File
@@ -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>
+1 -1
View File
@@ -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>
+1 -1
View File
@@ -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>
+1 -1
View File
@@ -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>

Some files were not shown because too many files have changed in this diff Show More