Compare commits
1
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
614129fe4c |
+2
-2
@@ -1,2 +1,2 @@
|
||||
/bin
|
||||
/lib
|
||||
/.cproject
|
||||
/.project
|
||||
|
||||
@@ -37,7 +37,7 @@ contributor credits are organized into the following general
|
||||
categories depending on the level and type of involvement:
|
||||
|
||||
* Mathematical, Algorithmic, and Geometric Support
|
||||
* Documentation and Website Contributors
|
||||
* Documentation Writers
|
||||
* Code Contributors
|
||||
* Special Thanks
|
||||
|
||||
@@ -60,7 +60,7 @@ Open Source Point of Contact
|
||||
Morrison, Christopher Sean <morrison@brlcad.org>
|
||||
|
||||
U.S. Army Research Laboratory Point of Contact
|
||||
Yapp, Cliff
|
||||
Davisson, Edwin O. <davisson@arl.army.mil>
|
||||
|
||||
|
||||
DEVELOPERS
|
||||
@@ -141,7 +141,7 @@ nicknames gdurf
|
||||
1992 August
|
||||
ARL Student Hire / Carnegie Mellon University
|
||||
|
||||
Anderson, John R. <jra@arl.army.mil>
|
||||
Anderson, John R. <jra@arl.army.mil> **
|
||||
nicknames jra, johnranderson
|
||||
1993 May
|
||||
U.S. Army Ballistic Research Laboratory
|
||||
@@ -206,34 +206,6 @@ nicknames starseeker
|
||||
2007 September
|
||||
Open Source
|
||||
Quantum Research International, Inc.
|
||||
U.S. Army Research Laboratory
|
||||
|
||||
Bowman, W. Keith **
|
||||
nicknames indianlarry
|
||||
SURVICE Engineering, Inc.
|
||||
U.S. Army Research Laboratory
|
||||
|
||||
Weiss, Richard **
|
||||
nicknames r_weiss
|
||||
2008 December
|
||||
U.S. Army Research Laboratory
|
||||
|
||||
Browder, Thomas M. Jr. **
|
||||
nicknames tbrowder2
|
||||
2008 June
|
||||
ManTech International Corporation
|
||||
Open Source
|
||||
|
||||
Reed, Nicholas **
|
||||
nicknames n_reed
|
||||
2008 July
|
||||
ARL Student Hire / University of Maryland, Baltimore County
|
||||
Quantum Research International, Inc.
|
||||
|
||||
Moore, Jr., Carl G. **
|
||||
nicknames cmoore, carlmoore
|
||||
2011 October
|
||||
U.S. Army Research Laboratory
|
||||
|
||||
|
||||
MATHEMATICAL, ALGORITHMIC, AND GEOMETRIC SUPPORT
|
||||
@@ -246,7 +218,7 @@ U.S. Army Ballistic Research Laboratory
|
||||
Davisson, Edwin O. **
|
||||
U.S. Army Research Laboratory
|
||||
|
||||
Rogers, David
|
||||
Rodgers, David
|
||||
U.S. Naval Academy
|
||||
|
||||
Stiller, Peter
|
||||
@@ -268,8 +240,8 @@ Weaver, Stephanie 'Rain' **
|
||||
ARL Student Hire / Bridgewater College
|
||||
|
||||
|
||||
DOCUMENTATION AND WEBSITE CONTRIBUTORS
|
||||
--------------------------------------
|
||||
DOCUMENTATION WRITERS
|
||||
---------------------
|
||||
|
||||
Weaver, Earl P.
|
||||
1980
|
||||
@@ -283,10 +255,11 @@ SURVICE Engineering, Inc.
|
||||
Kregel, Dwayne
|
||||
SURVICE Engineering, Inc.
|
||||
|
||||
Leverington, Robert
|
||||
nicknames MinuteElectron
|
||||
2007 June
|
||||
Yapp, Cliff **
|
||||
nicknames starseeker
|
||||
2007 September
|
||||
Open Source
|
||||
Quantum Research International, Inc.
|
||||
|
||||
Harder, Brad
|
||||
nicknames yukonbob, bharder, bch
|
||||
@@ -297,43 +270,11 @@ Gettier, Janine
|
||||
2008 October
|
||||
SURVICE Engineering, Inc.
|
||||
|
||||
Ilya
|
||||
nicknames ilya
|
||||
2008 December
|
||||
Open Source
|
||||
|
||||
Giudice, Jesica
|
||||
nicknames jesica Nohla giudicejesica
|
||||
2009 December
|
||||
Open Source
|
||||
|
||||
Jansa, Pavel
|
||||
nicknames pawleeq
|
||||
2011 November
|
||||
Open Source
|
||||
|
||||
Mgebrova, Karen
|
||||
2012 February
|
||||
Open Source
|
||||
|
||||
Elnazli, Cezar
|
||||
nicknames caen23
|
||||
2012 November
|
||||
Open Source (GCI)
|
||||
|
||||
Burroughs, Jacob
|
||||
nicknames maths22
|
||||
2012 November
|
||||
Open Source (GCI)
|
||||
|
||||
Stoyanova, Stefi
|
||||
2012 November
|
||||
Open Source (GCI)
|
||||
|
||||
Perez, Alex
|
||||
2012 November
|
||||
Open Source (GCI)
|
||||
|
||||
|
||||
CODE CONTRIBUTIONS
|
||||
------------------
|
||||
@@ -450,6 +391,11 @@ ARL Student Hire / Johns Hopkins University
|
||||
Yemc, David J.
|
||||
Johns Hopkins University Applied Physics Laboratory
|
||||
|
||||
Bowman, W. Keith
|
||||
nicknames indianlarry
|
||||
SURVICE Engineering, Inc.
|
||||
U.S. Army Research Laboratory
|
||||
|
||||
Anderson, David
|
||||
SGI
|
||||
|
||||
@@ -515,11 +461,21 @@ nicknames homovulgaris, madant
|
||||
2008 June
|
||||
Open Source (GSoC)
|
||||
|
||||
Reed, Nicholas
|
||||
nicknames n_reed
|
||||
2008 July
|
||||
ARL Student Hire / University of Maryland, Baltimore County
|
||||
|
||||
Saunders, Benjamin
|
||||
nicknames Ralith
|
||||
2008 July
|
||||
Open Source
|
||||
|
||||
Weiss, Richard
|
||||
nicknames r_weiss
|
||||
2008 December
|
||||
U.S. Army Research Laboratory
|
||||
|
||||
Knaute, Philip
|
||||
2009 February
|
||||
Industrieanlagen-Betriebsgesellschaft mbH (IABG)
|
||||
@@ -536,216 +492,6 @@ ARL Student Hire / University of Maryland, Baltimore County
|
||||
|
||||
Shinn, Rob
|
||||
2010 April
|
||||
Open Source
|
||||
|
||||
nicknames Alexandrus
|
||||
2010 July
|
||||
Open Source
|
||||
|
||||
Hinesley, Brandon
|
||||
nicknames bhinesley
|
||||
2011 March
|
||||
Open Source (GSoC)
|
||||
|
||||
Kunigami, Guilherme
|
||||
nicknames kunigami
|
||||
2011 March
|
||||
Open Source (GSoC)
|
||||
|
||||
Jain, Sachin
|
||||
2011 April
|
||||
Open Source
|
||||
|
||||
Easterbrook, Zach
|
||||
nicknames lainiwakurax
|
||||
2011 July
|
||||
Open Source
|
||||
|
||||
Nandy, Abhijit
|
||||
nicknames abhi2011
|
||||
2011 July
|
||||
Open Source (SOCIS)
|
||||
|
||||
Silvko, Ksenija
|
||||
nicknames ksuzee
|
||||
2012 March
|
||||
Open Source (GSoC)
|
||||
|
||||
Dueck, Chris R.
|
||||
nicknames crdueck
|
||||
2012 April
|
||||
Open Source (GSoC)
|
||||
|
||||
Jianbang, Wu
|
||||
nicknames phoenix, phoenixyjll
|
||||
2012 April
|
||||
Open Source (GSoC)
|
||||
|
||||
Precup, Cristina
|
||||
nicknames cprecup
|
||||
2012 April
|
||||
Open Source (GSoC)
|
||||
|
||||
Murty, Anurag
|
||||
nicknames anrgmrty
|
||||
2012 May
|
||||
Open Source (GSoC)
|
||||
|
||||
Oezdogan, Mesut
|
||||
nicknames kane_
|
||||
2012 May
|
||||
Open Source (GSoC)
|
||||
|
||||
Taylor, Alex
|
||||
nicknames Al_Da_Best, aldabest
|
||||
2012 May
|
||||
Open Source (GSoC)
|
||||
|
||||
Laijiren
|
||||
nicknames plussai2008
|
||||
2012 June
|
||||
Open Source (GSoC)
|
||||
|
||||
Niculaescu, Oana
|
||||
nicknames elf11
|
||||
2012 August
|
||||
Open Source (SOCIS)
|
||||
|
||||
Ungureanu, Silviu
|
||||
nicknames Silvrous
|
||||
2012 November
|
||||
Open Source (GCI)
|
||||
|
||||
Kashyap, Akshay
|
||||
nicknames Skriptkid
|
||||
2012 November
|
||||
Open Source (GCI)
|
||||
|
||||
Borisov, Dimitar
|
||||
2012 November
|
||||
Open Source (GCI)
|
||||
|
||||
Pal, Ambar
|
||||
2012 November
|
||||
Open Source (GCI)
|
||||
|
||||
Elnazli, Cezar
|
||||
nicknames caen23
|
||||
2012 November
|
||||
Open Source (GCI)
|
||||
|
||||
Huang, Michael
|
||||
nicknames fernozzle
|
||||
2012 November
|
||||
Open Source (GCI)
|
||||
|
||||
nicknames Reikaze
|
||||
2012 December
|
||||
Open Source (GCI)
|
||||
|
||||
Phillips, Lachlan
|
||||
2012 December
|
||||
Open Source (GCI)
|
||||
|
||||
Calle, Adrián Arroyo
|
||||
2012 December
|
||||
Open Source (GCI)
|
||||
|
||||
Keesing, Aaron
|
||||
nicknames agkphysics
|
||||
2012 December
|
||||
Open Source (GCI)
|
||||
|
||||
Govindjee, Arjun
|
||||
2012 December
|
||||
Open Source (GCI)
|
||||
|
||||
Nagy, Csaba
|
||||
nicknames ncsaba
|
||||
2013 April
|
||||
Open Source
|
||||
|
||||
Check, Nyah
|
||||
nicknames Ch3ck
|
||||
2013 July
|
||||
Open Source (GSoC)
|
||||
|
||||
Shah, Kesha
|
||||
nicknames keshashah
|
||||
2013 April
|
||||
Open Source (GSoC)
|
||||
|
||||
Bogolin, Vlad
|
||||
nicknames vladbogo
|
||||
2013 May
|
||||
Open Source (GSoC)
|
||||
|
||||
Kaur, Avneet
|
||||
nicknames avneetkhalsa
|
||||
2013 May
|
||||
Open Source (GSoC)
|
||||
|
||||
Daga, Mohit
|
||||
nicknames zero_level
|
||||
2013 June
|
||||
Open Source (GSoC)
|
||||
|
||||
Kamga, Isaac
|
||||
nicknames Izak
|
||||
2013 July
|
||||
Open Source (GSoC)
|
||||
|
||||
Singh, Harmanpreet
|
||||
nicknames harmanpreet
|
||||
2013 May
|
||||
Open Source (GSoC)
|
||||
|
||||
Huff, Emory
|
||||
nicknames hknoll
|
||||
2013 July
|
||||
U.S. Army Research Laboratory (SEAP)
|
||||
|
||||
Engbert, Jonathan
|
||||
nicknames ejno
|
||||
2013 July
|
||||
Open Source
|
||||
|
||||
Andrew
|
||||
2013 November
|
||||
Open Source (GCI)
|
||||
|
||||
Schulte, Johannes
|
||||
2013 November
|
||||
Open Source (GCI)
|
||||
|
||||
Amidon, Peter
|
||||
2013 November
|
||||
Open Source (GCI)
|
||||
|
||||
Chiplunkar, Shardul
|
||||
nicknames microchip
|
||||
2013 November
|
||||
Open Source (GCI)
|
||||
|
||||
Берегов, Станислав
|
||||
2013 December
|
||||
Open Source (GCI)
|
||||
|
||||
nicknames huskmate13
|
||||
2014 January
|
||||
Open Source
|
||||
|
||||
Gustave Granroth
|
||||
2014 May
|
||||
Open Source
|
||||
|
||||
Jain, Rishub
|
||||
2014 July
|
||||
ARL Student Hire
|
||||
|
||||
Roberts, Mitchell
|
||||
2014 July
|
||||
ARL Student Hire
|
||||
|
||||
|
||||
SPECIAL THANKS
|
||||
@@ -771,12 +517,12 @@ Kuehl, Gary
|
||||
U.S. Army Ballistic Research Laboratory
|
||||
|
||||
Martin, Glenn E.
|
||||
Northrop Research and Technology Center
|
||||
Northrup Research and Technology Center
|
||||
|
||||
Willson, Stephen Hunter
|
||||
Northrop Research and Technology Center
|
||||
Northrup Research and Technology Center
|
||||
|
||||
Merritt, Don
|
||||
Merrit, Don
|
||||
nicknames merritt
|
||||
1988 September
|
||||
U.S. Army Ballistic Research Laboratory
|
||||
@@ -926,6 +672,12 @@ nicknames ebautu
|
||||
2008 April
|
||||
Open Source
|
||||
|
||||
Browder, Jr., Thomas M.
|
||||
nicknames tbrowder2
|
||||
2008 June
|
||||
ManTech SRS Technologies, Inc.
|
||||
Open Source
|
||||
|
||||
Hocevar, Samuel
|
||||
nicknames sam, sammy
|
||||
2008 July
|
||||
@@ -992,52 +744,6 @@ nicknames epileg, jordisayol
|
||||
2011 January
|
||||
Open Source
|
||||
|
||||
Pitts, Christopher M.
|
||||
nicknames cmpitts
|
||||
2011 August
|
||||
Open Source
|
||||
|
||||
Wang, Max
|
||||
nicknames wmaanxg
|
||||
2012 October
|
||||
Open Source
|
||||
|
||||
Ha, An Tuan
|
||||
2012 December
|
||||
Open Source (GCI)
|
||||
|
||||
Singh, Gauravjeet
|
||||
2012 December
|
||||
Open Source (GCI)
|
||||
|
||||
Saxena, Amit
|
||||
nicknames amit.daBeast
|
||||
2012 December
|
||||
Open Source (GCI)
|
||||
|
||||
Saini, Talwinder
|
||||
nicknames talwindersaini
|
||||
2013 July
|
||||
Open Source
|
||||
|
||||
YuGin, Tan
|
||||
2013 November
|
||||
Open Source (GCI)
|
||||
|
||||
nicknames mandar
|
||||
2013 December
|
||||
Open Source (GCI)
|
||||
|
||||
Lotsu, Alexander
|
||||
nicknames Alex
|
||||
2013 December
|
||||
Open Source (GCI)
|
||||
|
||||
Hyams, Daniel
|
||||
nicknames dhyams
|
||||
2014 February
|
||||
Open Source
|
||||
|
||||
|
||||
CORPORATE AND ORGANIZATION SUPPORT
|
||||
----------------------------------
|
||||
@@ -1055,8 +761,8 @@ Night Vision & Electronic Sensors Directorate
|
||||
|
||||
U.S. Naval Academy
|
||||
|
||||
Northrop Corporation
|
||||
Northrop Research and Technology Center
|
||||
Northrup, Inc.
|
||||
Norhtrup Research and Technology Center
|
||||
|
||||
SGI
|
||||
formerly named Silicon Graphics, Inc.
|
||||
|
||||
@@ -15,115 +15,6 @@ on-going issues.
|
||||
Recent Bugs
|
||||
-----------
|
||||
|
||||
* count_non_union_ops() in g-iges crashes with simple conversion case
|
||||
|
||||
* gqa bypasses rt_dirbuild() so it never sets rt_bot_mintie nor uses
|
||||
TIE when the environment variable is set.
|
||||
|
||||
* nirt -e "xyz val val val" doesn't work due to the space after the -e
|
||||
and how the nirt/rt commands parse quoted args.
|
||||
|
||||
* probably related, there is a big parsing difference between nirt
|
||||
with "xyz 1.0 2.0 3.0; dir 0 -1 0;" and "xyz 1. 2. 3. ; dir 0 -1
|
||||
0;". note the intentional space. problem observed is that center
|
||||
point ended up being "0.0 2.0 0.0" with there clearly being a
|
||||
parsing error depending on where the semicolon was positioned.
|
||||
|
||||
* calling "attr set obj key value" should always result in key getting
|
||||
set to value, no matter what, as it is the lowest-level attribute
|
||||
management interface and what the command (correctly) documents.
|
||||
example demonstrated to not work was: attr set obj rgb 123/123/123
|
||||
|
||||
* report of LIBBU not working when accessed by a multithreaded
|
||||
application on Windows. reportedly due to some problem with the
|
||||
debug memory queue.
|
||||
|
||||
* report of g-iges crashing (on Windows) when exporting a 1.2MB BoT
|
||||
mesh (presumably imported via stl-g). worked for smaller models.
|
||||
|
||||
* ogl display manager and framebuffer are creating windows with
|
||||
transparent backgrounds (the glClear color is not being drawn) on
|
||||
Linux. Presumably a driver-related issue, alpha channel, or expose
|
||||
event issue. Inspecting further, it may be related to environments
|
||||
where shmget() fails (or is requested via /dev/oglp) and we get
|
||||
private memory -- looks like private memory is not initialized
|
||||
(observed on Mac 10.6).
|
||||
|
||||
* autoview [scale] isn't updating the wireframe when opening a
|
||||
database, drawing geometry, then running autoview. the status bar
|
||||
shows the scale change, but the graphics window remains unaffected
|
||||
unless you run "view size" to set it.
|
||||
|
||||
* overlay command reports an error when trying to load a file
|
||||
names edges.pl, but succeeds when the file is called patches.pl
|
||||
Need to see why edges.pl is not accepted.
|
||||
|
||||
* step-g crashing on mac with lazy symbol load failure missing:
|
||||
brlcad::SurfaceTree::SurfaceTree(ON_BrepFace*, bool, int)
|
||||
|
||||
* metaball tessellation enters either an infinite loop or an absurdly
|
||||
long tessellation process - observed on Linux 64 bit system - quick
|
||||
test:
|
||||
|
||||
rm -f metaball.g && mged -c metaball.g "make m.s metaball; facetize m.bot m.s"
|
||||
|
||||
* corruption/crash issue rendering terra.g without terra.dsp,
|
||||
possibly/probably parallel-related in libbn/noise.c's
|
||||
bn_noise_turb() function. gdb eventually catches a segfault in
|
||||
find_spec_wgt() loop with indications of corrupted memory. valgrind
|
||||
confirms corrupted memory (8 bytes) after a build_spec_table()
|
||||
realloc within find_spec_wgt() but it's not clear why. etbl
|
||||
book-keeping seems okay.. corrupted read consistently detected on
|
||||
spec_wgts = ep->spec_wgts line in bn_noise_turb(). observed on
|
||||
64-bit linux system:
|
||||
|
||||
rm -f terra.pix && valgrind bin/rt -o terra.pix -P1 -H3 -s1024 share/brlcad/7.21.0/db/terra.g all.g
|
||||
|
||||
* mged 'joint' hold command isn't working. looks like the fp_names
|
||||
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).
|
||||
|
||||
* yacc 1.9 will not output a header if a path is given to the -o
|
||||
option. yacc should be run from the binary directory instead of the
|
||||
source directory so that the command may be simply yacc -d -o
|
||||
points_parse.c ${CMAKE_SOURCE_DIRECTORY}/points_parse.y
|
||||
|
||||
* src/librt/primitives/bot/g_bot_include.c:rt_bot_bbox() routine isn't
|
||||
calculating the bbox correctly
|
||||
|
||||
* 'exists' command documentation claims more than has been implemented
|
||||
|
||||
* rtxray crashes if you specify a -o *.bw output file due to
|
||||
assumptions in the rt front-end that all output files are .pix
|
||||
|
||||
* raytracing a revolved sketch seems to work fine, but rtarea and gqa
|
||||
seem to be crashing on that same revolve. curiously, the brep
|
||||
revolve from the csgbrep proc-db has the same failure as well as the
|
||||
brep ehy.
|
||||
|
||||
* encountered a crash during rtarea on a (default) facetized version
|
||||
of the hyp from the proc-db csgbrep tool.
|
||||
|
||||
* raytracing rhc crashes (inside malloc, so previous memory badness)
|
||||
with normal tolerance set to non-default value (e.g. tol norm 0.1);
|
||||
also fails (non-crash) if absolute tolerance is changed (e.g., tol
|
||||
abs 0.1)
|
||||
|
||||
* revolve raytracing seems to be busted.. at least with the example
|
||||
csgbrep revolve shape
|
||||
|
||||
* torus with a near zero inner diameter results in zero-length edges
|
||||
during tessellation.
|
||||
|
||||
* opening a database in archer with the same name as a command doesn't
|
||||
work.
|
||||
|
||||
* bu_log() with a width specifier does not align like printf().
|
||||
Example: bu_log("%24s", str);
|
||||
|
||||
* report that keep sometimes results in a .g file with unknown units
|
||||
dbconcat also is reported to set the units to unknown if concating
|
||||
a file with unknown units.
|
||||
@@ -160,14 +51,11 @@ Recent Bugs
|
||||
|
||||
* mged/tcl "gets" command doesn't work if you run the "source" command
|
||||
to read in a script that uses gets on stdin. it just hangs until
|
||||
multiple sigint's are received.
|
||||
muliple sigint's are received.
|
||||
|
||||
* invoking mged from a system menu seems to be broken. reported by a
|
||||
reliable ArchLinux user. probably exhibits cross-platform on KDE,
|
||||
GNOME, or XFCE (but original environment is unknown). the bug is
|
||||
undoubtedly related to mged's interactive and stdin/stdout input
|
||||
detection where mged thinks it's being scripted (beginning on or
|
||||
about mged.c:1150)
|
||||
* mged 'cd' on Windows results in the rt* commands failing.
|
||||
|
||||
* menu invocation seems to be broken again (ArchLinux)
|
||||
|
||||
* Report of copy/paste not working with Tk on Windows Vista - does
|
||||
work on Windows XP.
|
||||
@@ -188,11 +76,6 @@ Recent Bugs
|
||||
* Detailed BoT model ray trace image had incorrect background pixel
|
||||
values in framebuffer, off slightly by one.
|
||||
|
||||
* ogl display manager still crashes on attach in mged on Mac OS X 10.5
|
||||
|
||||
* rt is consuming 100% CPU in fb_close() on a lingering ogl
|
||||
framebuffer waiting to close. needs to sleep or select for a while.
|
||||
|
||||
* /dev/oglb 'copy mode' fails to refresh the framebuffer
|
||||
|
||||
* X display manager (and probably others) will lock up mged if you Z/B
|
||||
@@ -207,7 +90,7 @@ Recent Bugs
|
||||
* report of rt aborting randomly on 64-bit with camo shader.
|
||||
|
||||
* mged raytrace fails with simple "raytrace failed" message when using
|
||||
rt, nirt, etc. on Windows after modifying a region. See sf bug
|
||||
rt, nirt, etc on Windows after modifying a region. See sf bug
|
||||
report 2954404.
|
||||
|
||||
* mged rrt command is not respecting the view size, just does
|
||||
@@ -222,13 +105,15 @@ Recent Bugs
|
||||
* vdeck truncates the region names in the 'regions' file, probably
|
||||
wrong bu_strlcpy() length.
|
||||
|
||||
* hyp tessellation routine creates bot that does not raytrace
|
||||
* hyp tesselation routine creates bot that does not raytrace
|
||||
|
||||
* if you attach a display manager in tk-mged, kill the window, then
|
||||
quit, mged crashes on exit.
|
||||
|
||||
* CMD-b and CMD-f navigates the mged command window text widget on Mac
|
||||
and trivially causes problems with the cursor and text injection.
|
||||
and trivally causes problems with the cursor and text injection.
|
||||
|
||||
* ogl display manager still crashes on attach in mged on Mac OS X 10.5
|
||||
|
||||
* mged segfaults when drawing lots of solids at once (e.g. draw *.s)
|
||||
|
||||
@@ -240,7 +125,7 @@ Recent Bugs
|
||||
mged -c moss.g "puts OK ; tops ; puts OK2 ; title ; puts DONE"
|
||||
|
||||
Note that this is consistent with doing the same thing on the MGED
|
||||
Command Window's command prompt - if the above is a bug it is
|
||||
Command Window's command prompt - if the above is a bug it is
|
||||
apparently not restricted to command/classic mode.
|
||||
|
||||
Further investigation suggests that this is a consequence of
|
||||
@@ -253,14 +138,14 @@ Recent Bugs
|
||||
* mged rotation halts after a few events and after zooming in/out at
|
||||
least once (Mac OS X 10.5)
|
||||
More info: This problem appears to be specific to a particular
|
||||
X11 version or versions - it has been observed with
|
||||
X11 version or versions - it has been observed with
|
||||
xorg-server-1.4.2-apple33 on 10.5. It does not occur with the
|
||||
community XQuartz 2.5.0 (xorg-server 1.7.6), nor does it occur
|
||||
when Tk 8.5.8 is compiled to use the Aqua backend. At least one other
|
||||
(possibly earlier) version of X11 from Apple on a 10.5 Mac did not
|
||||
exhibit bad rotate behavior. The problem is not specifically the
|
||||
(possibly earlier) verison of X11 from Apple on a 10.5 Mac did not
|
||||
exhibit bad rotate behavior. The problem is not specifically the
|
||||
zooming action - rather, the zoom triggers
|
||||
a Tk focus call on the display manager window (rather than the
|
||||
a Tk focus call on the display manager window (rather than the
|
||||
Tk parent window) and the problem manifests when focus is on the
|
||||
display manager window. mged classic mode, where there is no
|
||||
parent window, exhibits the bad rotate behavior immediately.
|
||||
@@ -280,9 +165,12 @@ Recent Bugs
|
||||
|
||||
* fastgen plate mode bots are reporting invalid shotline segments.
|
||||
depending on whether you shoot from the front or back can result in
|
||||
bogus lists visible with nirt in mged, entirely missing the bot, or
|
||||
bogus lists visiable with nirt in mged, entirely missing the bot, or
|
||||
mismatched entry/exit/overlap segments.
|
||||
|
||||
* nirt -e "xyz val val val" doesn't work due to the space after the -e
|
||||
and how the nirt/rt commands parse quoted args.
|
||||
|
||||
* tab completion in classic/command mode sometimes doesn't work
|
||||
(presumably if mged can't find tcl resources). was finally able to
|
||||
reproduce this with the result given as:
|
||||
@@ -292,7 +180,7 @@ Recent Bugs
|
||||
* mged 'facetize -n' command is giving many errors:
|
||||
ERROR: color index out of range (-128 > 255)
|
||||
and it shouldn't. seems to be happening on 3-manifold surfaces but
|
||||
only for particular faces. looks like the painting algorithm that is
|
||||
only for particuar faces. looks like the painting algorithm that is
|
||||
being used is flawed (and an incomplete implementation).
|
||||
|
||||
* running 'keep' on too many objects (hundreds is causing a usage
|
||||
@@ -351,6 +239,9 @@ Recent Bugs
|
||||
on freebsd using xfce and metacity (single display, 1680x1050 res).
|
||||
dm shows up just fine.
|
||||
|
||||
* wireframe is failing to draw when framebuffer is displayed (underlay
|
||||
or overlay) in mged. problem is specific to dm-ogl (dm-x is fine).
|
||||
|
||||
* g2asc of a v4 is apparently writing out the wrong s_cgtypes and
|
||||
otherwise parsing v4 .g files incorrectly
|
||||
|
||||
@@ -361,6 +252,12 @@ Recent Bugs
|
||||
ubuntu linux. key events go to the command window even with the
|
||||
graphics window has focus.
|
||||
|
||||
* rt is consuming 100% CPU in fb_close() on a lingering ogl
|
||||
framebuffer waiting to close. needs to sleep or select for a while.
|
||||
|
||||
* report of mged being locked up on startup taking full cpu, works
|
||||
fine with with -c with X dm.
|
||||
|
||||
* MGED File->Preferences->Fonts results in error "named font "button
|
||||
_font" doesn't exist on Linux.
|
||||
|
||||
@@ -370,7 +267,7 @@ Recent Bugs
|
||||
(seems to be Mac OS X specific)
|
||||
|
||||
* turning on Framebuffer->Rectangle Area in mged disables the
|
||||
embedded framebuffer display on Mac OS X when you sweep a raytrace
|
||||
embedded framebuffer diplay on Mac OS X when you sweep a raytrace
|
||||
rectangle. sweeping still works if you leave it at All.
|
||||
|
||||
* invalid shaders result in an "Unable to locate where BRL-CAD ... is
|
||||
@@ -525,12 +422,6 @@ Recent Bugs
|
||||
line (infinite loop). also gives infinite areas when presented with
|
||||
an empty .density file.
|
||||
|
||||
* rtarea gives incorrect areas when using -H hypersample flag
|
||||
|
||||
* rtweight/gqa volumes seem wrong with simple sphere test case, with
|
||||
values consistently and quickly converging less than the actual
|
||||
volume regardless of the grid size.
|
||||
|
||||
* setting src/librt/db5_io.c's AVS_ADD off in db5_import_attributes
|
||||
causes bad things to happen and it really shouldn't.
|
||||
|
||||
|
||||
@@ -1,996 +0,0 @@
|
||||
-*- coding: utf-8 -*-
|
||||
BRL-CAD Interface Change Policy
|
||||
===============================
|
||||
|
||||
Included below are details of BRL-CAD public interface changes that
|
||||
potentially impact external developers and users. Public interfaces
|
||||
include developer application programming interface (API) calls as
|
||||
well as user application command-line interface (CLI) and graphical
|
||||
user interface (GUI) behaviors. Changes are characterized as:
|
||||
|
||||
1) changing a new interface,
|
||||
2) being minimally impacting, or
|
||||
3) requiring adherence to deprecation policy.
|
||||
|
||||
This policy is intentionally designed to balance developer agility,
|
||||
helping accelerate development, with interface stability, helping
|
||||
preserve application developer and user investments.
|
||||
|
||||
All changes to BRL-CAD are expected to conform to this change policy.
|
||||
|
||||
|
||||
NEW INTERFACE
|
||||
-------------
|
||||
|
||||
Changes to interfaces that have been recently introduced are often
|
||||
subject to change and should not yet be relied upon by application
|
||||
developers or users. They may be changed as needed from release to
|
||||
release and are not subject to change policy restrictions until they
|
||||
have been included in at least TWO releases without change.
|
||||
|
||||
|
||||
MINIMALLY IMPACTING
|
||||
-------------------
|
||||
|
||||
If a change to an interface has a suitable and completely equivalent
|
||||
alternative, the change is deemed to be "minimally impacting" and can
|
||||
be made during any release. Examples of such changes include renaming
|
||||
an interface, reordering parameters, adding additional parameters for
|
||||
previously implicit behavior, and removing unused parameters.
|
||||
|
||||
Basically, the impact can usually be considered minimally impacting if
|
||||
a static regular expression search-and-replace is all that is needed
|
||||
to update calling code, and no change is imposed on the user.
|
||||
|
||||
|
||||
DEPRECATION POLICY
|
||||
------------------
|
||||
|
||||
If a change will intentionally change, replace, or remove
|
||||
functionality that has been documented and published in at least TWO
|
||||
releases should be first marked as DEPRECATED. Otherwise, changes to
|
||||
interfaces that have not been publicly announced or are not publicly
|
||||
documented for at least two releases may be changed without notice.
|
||||
|
||||
The general practice is that public interface changes may go from
|
||||
deprecated to obsolete, whereby previous behavior is removed or
|
||||
changed, during one of the following events:
|
||||
|
||||
a) during a major release (e.g. going from 7.*.* to 8.*.*)
|
||||
|
||||
b) during a minor release provided the change was publicly announced
|
||||
as deprecated beforehand AND sufficient deprecation warning was
|
||||
given via i) TWO minor releases included the deprecation notice,
|
||||
and ii) at least THREE months (90 days) have passed since the
|
||||
deprecation was announced
|
||||
|
||||
c) during any release provided there still exists an EQUIVALENT
|
||||
alternative interface that does not impose an undue burden on users
|
||||
or developers (see "MINIMALLY IMPACTING")
|
||||
|
||||
Public interfaces scheduled for removal should be visibly marked as
|
||||
deprecated during compilation with the DEPRECATED keyword on function
|
||||
declarations, with #warning "DEPRECATED ..." pre-processor statements,
|
||||
and with @DEPRECATED in source code comments. Where users are not
|
||||
adversely affected, a run-time DEPRECATION statement may be printed.
|
||||
|
||||
Whenever published functionality is finally removed, move its entry
|
||||
from the DEPRECATED section below to the OBSOLETE section for the
|
||||
version in which it was removed. Make sure the entry retains a
|
||||
reference to the version in which the item was marked as deprecated.
|
||||
|
||||
|
||||
EXAMPLES
|
||||
--------
|
||||
|
||||
Example #1: Say we decided during 7.50.3 development to remove
|
||||
rt_shootray() from the API without a replacement. That does NOT
|
||||
qualify as "minimally impacting" because there's no replacement and
|
||||
rt_shootray() has been published and documented in more than two
|
||||
releases. We'd annotate the deprecation in the CHANGES file, mark the
|
||||
function as DEPRECATED in the API header, and post the 7.50.4 release.
|
||||
The soonest that function could be removed would be in the 7.54.0
|
||||
release during 7.53 development. It could NOT be removed in 7.54.2
|
||||
since it's a patch version, prior to the 7.54 release line, nor even
|
||||
during 7.54.0 if less than 90 days had passed since 7.50.6 was posted.
|
||||
|
||||
Example #2: Say we decide during 7.48.0 development to modify bu_log()
|
||||
by adding a new additional enum parameter denoting a message type.
|
||||
This change is considered minimally impacting because it can be
|
||||
characterized by a simple regular expression (e.g.,
|
||||
s/bu_log(/bu_log(PRINT, /g). Updates to calling codes are considered
|
||||
trivial. The change would get documented in the CHANGES file and all
|
||||
calls that can be updated must be updated at that time.
|
||||
|
||||
|
||||
**************
|
||||
* DEPRECATED *
|
||||
**************
|
||||
|
||||
The items listed below are interfaces that are deprecated. They are
|
||||
categorized by the release in which the change was made. If the
|
||||
change involved a removal of a command or function, both the original
|
||||
and new names should be listed for reference.
|
||||
|
||||
|
||||
7.26
|
||||
----
|
||||
pixcut, pixpaste
|
||||
copyright cleanup [deprecated 7.26]
|
||||
librt, fast4-g
|
||||
removal of CLINE entity support [deprecated 7.26]
|
||||
|
||||
7.24
|
||||
----
|
||||
include/bu
|
||||
hist.h bu_hist bu_hist_t BU_HIST_NULL BU_HIST_INIT_ZERO [deprecated 7.24]
|
||||
BU_HIST_IS_INITIALIZED BU_HIST_TALLY BU_HIST_TALLY_MULTIPLE [deprecated 7.24]
|
||||
bu_hist_free bu_hist_init bu_hist_range bu_hist_pr [deprecated 7.24]
|
||||
functions, macros, and header will be renamed for clarity [deprecated 7.24]
|
||||
fbed, pp-fb
|
||||
removes termcap use, no known users [deprecated 7.24]
|
||||
include/raytrace librt
|
||||
db_full_path_list_add(), db_free_full_path_list() [deprecated 7.24]
|
||||
db_search_formplan(), db_search_freeplan(), db_search_full_paths() [deprecated 7.24]
|
||||
db_search_unique_objects(), struct db_full_path_list [deprecated 7.24]
|
||||
src/irprep
|
||||
all_sf, firpass, ir-X, irdisp, pictx, secpass, shapefact, showterm [deprecated 7.24]
|
||||
include/raytrace.h librt
|
||||
RT_DBHASH and RT_DBNHASH [deprecated 7.24]
|
||||
|
||||
7.22
|
||||
----
|
||||
include/raytrace.h librt
|
||||
nmg_model_break_e_on_v -> nmg_break_e_on_v [deprecation 7.22]
|
||||
RT_GET_TREE -> BU_GET [deprecation 7.22]
|
||||
RT_FREE_TREE -> BU_PUT [deprecation 7.22]
|
||||
include/bu.h
|
||||
bu_parse_mm() [deprecated 7.22]
|
||||
librtserver
|
||||
becoming stand-alone project, removes optional java dependency [deprecated 7.22]
|
||||
mged
|
||||
em, e_muves, l_muves, lm, read_muves, and t_muves MUVES-specific commands [deprecated 7.22]
|
||||
|
||||
7.20
|
||||
----
|
||||
tclscripts/lib
|
||||
Mged, Database, Db, Dm, Drawable, Display, QuadDisplay, View -> Ged [deprecated 7.20]
|
||||
librt
|
||||
bspline primitive [deprecated 7.20]
|
||||
poly primitive [deprecated 7.20]
|
||||
hf primitive [deprecated 7.20]
|
||||
include/bu.h
|
||||
bu_vls_init_if_uninit() -> bu_vls_init() [deprecated 7.20]
|
||||
GNU Autotools configure compatibility script
|
||||
./configure -> cmake . [deprecated 7.20]
|
||||
include/raytrace.h
|
||||
rt_load_attrs() -> rt_gettrees_and_attrs() or db5_import_attributs() [deprecated 7.20]
|
||||
db_regexp_match() -> !bu_fnmatch() [deprecated 7.20]
|
||||
|
||||
7.18
|
||||
----
|
||||
include/raytrace.h rt_comb_internal members
|
||||
region_id -> region_id attribute [deprecated 7.18]
|
||||
aircode -> air attribute [deprecated 7.18]
|
||||
GIFTmater -> material_id attribute [deprecated 7.18]
|
||||
los -> los attribute [deprecated 7.18]
|
||||
bu.h xdr API
|
||||
BU_GLONGLONG() -> ntohll() [deprecated 7.18]
|
||||
BU_GLONG() -> ntohl() [deprecated 7.18]
|
||||
BU_GSHORT() -> ntohs() [deprecated 7.18]
|
||||
bu_gshort() -> ntohs() [deprecated 7.18]
|
||||
bu_glong() -> ntohl() [deprecated 7.18]
|
||||
bu_pshort() -> htons() [deprecated 7.18]
|
||||
bu_plong() -> htonl() [deprecated 7.18]
|
||||
bu_plonglong() -> htonll() [deprecated 7.18]
|
||||
db.h
|
||||
rt_fastf_float() -> ntohf() [deprecated 7.18]
|
||||
rt_mat_dbmat() -> htonf() [deprecated 7.18]
|
||||
rt_dbmat_mat() -> ntohf() [deprecated 7.18]
|
||||
dbcp
|
||||
dbcp -> dd [deprecated 7.18]
|
||||
mged
|
||||
?(*) -> ? -(*) [deprecated 7.18]
|
||||
apropos(*) -> apropos -(*) [deprecated 7.18]
|
||||
dbconcat -> db concat [deprecated 7.18]
|
||||
dbupgrade -> db upgrade [deprecated 7.18]
|
||||
dbversion -> db version [deprecated 7.18]
|
||||
dbfind -> search [deprecated 7.18]
|
||||
debug* -> debug [deprecated 7.18]
|
||||
comb_std -> comb [deprecated 7.18]
|
||||
comb_color -> comb [deprecated 7.18]
|
||||
combmem -> comb [deprecated 7.18]
|
||||
kill(*) -> kill [deprecated 7.18]
|
||||
rotobj -> rot [deprecated 7.18]
|
||||
qvrot -> rot -q -v [deprecated 7.18]
|
||||
qorot -> rot -q [deprecated 7.18]
|
||||
([amov])rot -> rot -([amv]) [deprecated 7.18]
|
||||
([op])scale -> sca -(p) [deprecated 7.18]
|
||||
([op])translate -> tra -(p) [deprecated 7.18]
|
||||
nmg_(*) -> nmg (*) [deprecated 7.18]
|
||||
bot_(*) -> bot (*) [deprecated 7.18]
|
||||
[so]ed -> edit [deprecated 7.18]
|
||||
[tr]ed -> edit -t [deprecated 7.18]
|
||||
ls -oA -> ls -O [deprecated 7.18]
|
||||
draw -oA -> draw -O [deprecated 7.18]
|
||||
erase -oA -> erase -O [deprecated 7.18]
|
||||
erase_all -> erase -r [deprecated 7.18]
|
||||
move_all -> move -r [deprecated 7.18]
|
||||
query_ray -> nirt [deprecated 7.18]
|
||||
vdraw -> draw -v [deprecated 7.18]
|
||||
vnirt -> nirt -v [deprecated 7.18]
|
||||
vquery_ray -> nirt -v [deprecated 7.18]
|
||||
xpush -> push -x [deprecated 7.18]
|
||||
|
||||
7.16
|
||||
----
|
||||
struct bu_structparse 'i' format
|
||||
'i' -> '%p' [deprecated 7.16]
|
||||
reserved attributes and case-sensitivity
|
||||
id -> region_id [deprecated 7.16]
|
||||
GIFTmater -> material_id [deprecated 7.16]
|
||||
GIFT_MATERIAL -> material_id [deprecated 7.16]
|
||||
mat -> material_id [deprecated 7.16]
|
||||
AIRCODE -> air [deprecated 7.16]
|
||||
rgb -> color [deprecated 7.16]
|
||||
oshader -> shader [deprecated 7.16]
|
||||
include/raytrace.h
|
||||
rt_prep_timer() -> bu_timer() [deprecated 7.16]
|
||||
rt_get_timer() -> bu_elapsed() [deprecated 7.16]
|
||||
|
||||
7.14
|
||||
----
|
||||
mged
|
||||
src/tclscripts/mged/bots.tcl [deprecated 7.14]
|
||||
|
||||
7.12
|
||||
----
|
||||
include/raytrace.h
|
||||
rt_functab size -> growing ft_label and new callbacks [deprecated 7.12]
|
||||
src/rt/viewarea.c
|
||||
terminology and output format [deprecated 7.12]
|
||||
|
||||
pre 7.0
|
||||
-------
|
||||
include/raytrace.h
|
||||
struct hit.hit_point -> RT_HIT_POINT [deprecated pre-7.0]
|
||||
struct hit.hit_normal -> RT_HIT_NORMAL [deprecated pre-7.0]
|
||||
|
||||
|
||||
************
|
||||
* OBSOLETE *
|
||||
************
|
||||
|
||||
Below are the interfaces that have followed deprecation policy and are
|
||||
now no longer a part of BRL-CAD.
|
||||
|
||||
7.26.0
|
||||
------
|
||||
autogen.sh && configure
|
||||
GNU Autotools build system -> CMake build system [deprecated 7.20]
|
||||
Dunn camera and Canon printer tools
|
||||
dunncolor [ deprecated 7.16 ]
|
||||
dunnsnap [ deprecated 7.16 ]
|
||||
canonize [ deprecated 7.16 ]
|
||||
genptr_t/GENPTR_NULL
|
||||
genptr_t -> void* [deprecated 7.16]
|
||||
include/bu.h
|
||||
bu_argv0() -> bu_basename(bu_argv0_full_path()); [deprecated 7.16]
|
||||
include/dm_color.h
|
||||
dm_color.h -> dm.h [deprecated 7.14]
|
||||
include/fb.h
|
||||
FB_WPIXEL -> fb_wpixel [deprecated 7.14]
|
||||
include/raytrace.h
|
||||
rt_fdiff -> NEAR_ZERO [deprecated 7.14]
|
||||
rt_reldiff -> NEAR_ZERO [deprecated 7.14]
|
||||
DIR_* -> RT_DIR_* [deprecated 7.14]
|
||||
RT_HIT_NORM -> RT_HIT_NORMAL [deprecated 7.12]
|
||||
include/vmath.h
|
||||
VADD2_2D -> V2ADD2 [deprecated 7.14]
|
||||
VSUB2_2D -> V2SUB2 [deprecated 7.14]
|
||||
MAGSQ_2D -> MAG2SQ [deprecated 7.14]
|
||||
VDOT_2D -> V2DOT [deprecated 7.14]
|
||||
VMOVE_2D -> V2MOVE [deprecated 7.14]
|
||||
VSCALE_2D -> V2SCALE [deprecated 7.14]
|
||||
VJOIN1_2D -> V2JOIN1 [deprecated 7.14]
|
||||
liborle
|
||||
remove liborle and the tools using it, fb-orle, orle-fb, orle-pix and
|
||||
pix-orle [deprecated 7.20]
|
||||
mged
|
||||
make_bb -> bb [deprecated 7.16]
|
||||
tops -g -u -> now default behavior [deprecated 7.14]
|
||||
-n option -> -c option [deprecated 7.14]
|
||||
per_line [deprecated 7.14]
|
||||
SGI-specific tools
|
||||
pl-sgi -> pl-fb [ deprecated 7.16 ]
|
||||
src/gtools
|
||||
g_[toolname] -> g[toolname] [deprecated 7.14]
|
||||
src/librt/cmd.c
|
||||
rt_split_cmd() -> bu_argv_from_string() [deprecated 7.12]
|
||||
any-png.sh
|
||||
use pix tools [deprecated 7.16]
|
||||
cadbug.sh
|
||||
use sf.net tracker [deprecated 7.16]
|
||||
cray.sh
|
||||
obsolete hardware [deprecated 7.16]
|
||||
pixwrite.sh
|
||||
obsolete hardware [deprecated 7.16]
|
||||
pixread.sh
|
||||
obsolete hardware [deprecated 7.16]
|
||||
sgisnap.sh
|
||||
obsolete hardware [deprecated 7.16]
|
||||
|
||||
7.24.2
|
||||
------
|
||||
.pl file suffix
|
||||
.pl -> .plot3 [deprecated 7.16]
|
||||
*-pl
|
||||
*-pl -> *-plot3 [deprecated 7.16]
|
||||
pl*
|
||||
pl* -> plot3* [deprecated 7.16]
|
||||
|
||||
7.24.0
|
||||
------
|
||||
include/bu.h
|
||||
bu_get_public_cpus() [deprecated 7.16]
|
||||
bu_get_load_average() [deprecated 7.12]
|
||||
bu_fopen_uniq() -> fopen() [deprecated 7.14]
|
||||
src/other/jove
|
||||
jove -> emacs [deprecated 7.14]
|
||||
|
||||
7.22.0
|
||||
------
|
||||
include/bu.h
|
||||
%S format specifier -> %V format specifier for bu_vls [deprecated 7.14]
|
||||
|
||||
7.20.2
|
||||
------
|
||||
cat-fb
|
||||
obsolete hardware
|
||||
include/vmath.h
|
||||
ELEMENTS_PER_PT -> ELEMENTS_PER_POINT [deprecated 7.12]
|
||||
HVECT_LEN -> ELEMENTS_PER_HVECT [deprecated 7.12]
|
||||
HPT_LEN -> ELEMENTS_PER_HPOINT [deprecated 7.12]
|
||||
|
||||
7.20.0
|
||||
------
|
||||
include/bu.h
|
||||
bu_mro and related macros -> bu_attribute_value_set
|
||||
|
||||
7.18.2
|
||||
------
|
||||
include/raytrace.h
|
||||
RT_HIT_NORM -> RT_HIT_NORMAL [deprecated pre-7.0]
|
||||
g-shell.rect
|
||||
g-shell.rect renamed to g-shell-rect [minor tool rename]
|
||||
|
||||
7.18.0
|
||||
------
|
||||
include/raytrace.h
|
||||
db_free_external -> bu_free_external [deprecated pre-7.0]
|
||||
include/wdb.h
|
||||
mk_fastgen_region() -> mk_comb() [deprecated 7.12]
|
||||
src/librt/bomb.c
|
||||
rt_bomb() -> bu_bomb() [deprecated 7.10]
|
||||
include/machine.h
|
||||
machine.h -> common.h && bu.h [deprecated 7.10]
|
||||
src/vas4
|
||||
vas4 [deprecated 7.12]
|
||||
|
||||
7.16.4
|
||||
------
|
||||
include/raytrace.h
|
||||
get_solidbitv() -> rt_get_solidbitv() [deprecated 7.16]
|
||||
|
||||
7.14.4
|
||||
------
|
||||
include/pkg.h
|
||||
uses size_t for lengths in API calls
|
||||
include/bu.h
|
||||
bu_association() [unused]
|
||||
|
||||
7.14.0
|
||||
------
|
||||
include/raytrace.h
|
||||
GET_HITMISS -> NMG_GET_HITMISS
|
||||
mged
|
||||
edcolor -> color -e
|
||||
include/vmath.h
|
||||
PI -> M_PI
|
||||
M_SQRT2_DIV2 -> M_SQRT1_2
|
||||
|
||||
7.12.6
|
||||
------
|
||||
mged
|
||||
binary -> bo [rename]
|
||||
|
||||
7.12.4
|
||||
------
|
||||
include/mater.h
|
||||
rt_material_head -> rt_material_head() [deprecated 7.12]
|
||||
include/raytrace.h
|
||||
removed iterator from NMG_CK_HITMISS_LIST
|
||||
include/bu.h
|
||||
BU_QFLSTR -> BU_FLSTR
|
||||
|
||||
7.12.2
|
||||
------
|
||||
include/wdb.h
|
||||
mk_trc() -> mk_trc_h() and mk_trc_top() [deprecated pre-7.0]
|
||||
mk_bsolid() [deprecated pre-7.0]
|
||||
mk_bsurf() [deprecated pre-7.0]
|
||||
mk_strsol() -> mk_dsp(), mk_ebm(), mk_vol(), mk_submodel() [deprecated pre-7.0]
|
||||
mk_rcomb(), mk_fcomb(), mk_memb() -> mk_lcomb() and mk_addmember() [deprecated pre-7.0]
|
||||
mk_fwrite_internal() [deprecated pre-7.0]
|
||||
|
||||
7.12.0
|
||||
------
|
||||
include/common.h
|
||||
NATURAL_IEEE -> bu_byteorder() == BU_BIG_ENDIAN || defined(WORDS_BIGENDIAN)
|
||||
REVERSE_IEEE -> bu_byteorder() == BU_LITTLE_ENDIAN
|
||||
include/bu.h
|
||||
bu_log(char *, ...) -> bu_log(const char *, ...) [const]
|
||||
bu_flog(FILE *, char *, ...) -> bu_flog(FILE *, const char *, ...) [const]
|
||||
bu_vls_printf(struct bu_vls *, char *) -> bu_vls_printf(struct bu_vls *, const char *) [const]
|
||||
bu_vls_sprintf(struct bu_vls *, char *) -> bu_vls_sprintf(struct bu_vls *, const char *) [const]
|
||||
include/wdb.h
|
||||
removed mk_poly() [deprecated pre-7.0]
|
||||
removed mk_polysolid() [deprecated pre-7.0]
|
||||
removed mk_fpoly() [deprecated pre-7.0]
|
||||
removed write_shell_as_polysolid() [deprecated 6.0]
|
||||
include/bu.h
|
||||
char *bu_brlcad_path() -> const char *bu_brlcad_path() [const]
|
||||
include/bn.h
|
||||
bn_mat_zero() -> MAT_ZERO() [deprecated pre-7.0]
|
||||
bn_mat_idn() -> MAT_IDN() [deprecated pre-7.0]
|
||||
bn_mat_copy() -> MAT_COPY() [deprecated pre-7.0]
|
||||
include/compat4.h
|
||||
compat4.h -> bu.h && bn.h [deprecated 5.0]
|
||||
include/raytrace.h
|
||||
rt_overlap_quietly() -> struct application.a_logoverlap = rt_silent_logoverlap [deprecated pre 7.0]
|
||||
include/bu.h
|
||||
bu_brlcad_path() -> bu_brlcad_root() || bu_brlcad_data() [deprecated 7.4]
|
||||
bu_tcl_brlcad_path() -> bu_tcl_brlcad_root() || bu_tcl_brlcad_data() [deprecated 7.4]
|
||||
include/fb.h
|
||||
fb_log(char *fmt) -> fb_log(const char *fmt) [const]
|
||||
include/noalias-prag.h
|
||||
removed [non-stdc]
|
||||
include/noalias.h
|
||||
removed [non-stdc]
|
||||
src/librt/wdb_obj.c -> src/librt/db_obj.c
|
||||
removed wdb_tree_cmd(), added dgo_tree_cmd() [rename]
|
||||
mged
|
||||
dbbinary -> binary [rename]
|
||||
|
||||
7.10.4
|
||||
------
|
||||
include/msr.h [pre 7.0]
|
||||
msr.h -> bu.h
|
||||
include/rtlist.h [pre 7.0]
|
||||
rtlist.h -> bu.h
|
||||
include/rtstring.h [pre 7.0]
|
||||
rtstring.h -> bu.h
|
||||
include/shortvect.h [pre 7.0]
|
||||
include/shortvect-pr.h [pre 7.0]
|
||||
|
||||
7.10.2
|
||||
------
|
||||
include/raytrace.h
|
||||
rt_version -> rt_version() [private]
|
||||
include/[library].h (several)
|
||||
[library]_version -> [library]_version() [private]
|
||||
|
||||
|
||||
***********************************
|
||||
* MINIMALLY IMPACTING API CHANGES *
|
||||
***********************************
|
||||
|
||||
Included in following are various minimally impacting API changes that
|
||||
have been identified in chronological order. As expressions are not
|
||||
extensively tested, use with caution.
|
||||
|
||||
Unless noted otherwise, expressions are shown using Perl syntax and
|
||||
may need adjustment (particularly quoting of '(', ')', and '|'
|
||||
characters) for other environments. Most expressions will apply with:
|
||||
perl -0777 -pi -e 'EXPRESSION' FILE
|
||||
|
||||
|
||||
6.0 (sed lines)
|
||||
---
|
||||
g/struct structparse/s//struct bu_structparse/g
|
||||
g/struct rt_mapped_file/s//struct bu_mapped_file/g
|
||||
g/struct rt_list/s//struct bu_list/g
|
||||
g/struct histogram/s//struct bu_hist/g
|
||||
g/complex /s//bn_complex_t /g
|
||||
g/GETSTRUCT/s//BU_GETSTRUCT/g
|
||||
g/GETUNION/s//BU_GETUNION/g
|
||||
g/nmg_tbl.*(\(.*\), TBL_INIT[ ]*, \(.*\))/s//bu_ptbl_init(\1, 64, "\1")/
|
||||
g/nmg_tbl.*(\(.*\), TBL_RST[ ]*, \(.*\))/s//bu_ptbl_reset(\1)/
|
||||
g/nmg_tbl.*(\(.*\), TBL_INS[ ]*, \(.*\))/s//bu_ptbl_ins(\1, \2)/
|
||||
g/nmg_tbl.*(\(.*\), TBL_LOC[ ]*, \(.*\))/s//bu_ptbl_locate(\1, \2)/
|
||||
g/nmg_tbl.*(\(.*\), TBL_ZERO[ ]*, \(.*\))/s//bu_ptbl_zero(\1, \2)/
|
||||
g/nmg_tbl.*(\(.*\), TBL_INS_UNIQUE[ ]*, \(.*\))/s//bu_ptbl_ins_unique(\1, \2)/
|
||||
g/nmg_tbl.*(\(.*\), TBL_RM[ ]*, \(.*\))/s//bu_ptbl_rm(\1, \2)/
|
||||
g/nmg_tbl.*(\(.*\), TBL_CAT[ ]*, \(.*\))/s//bu_ptbl_cat(\1, \2)/
|
||||
g/nmg_tbl.*(\(.*\), TBL_FREE[ ]*, \(.*\))/s//bu_ptbl_free(\1)/
|
||||
g/nmg_tbl/s//bu_ptbl/g
|
||||
g/nmg_ptbl/s//bu_ptbl/g
|
||||
g/MSR_UNIF/s//BN_UNIF/g
|
||||
g/MSR_GAUSS/s//BN_GAUSS/g
|
||||
g/MSR_CK/s//BU_CK/g
|
||||
g/msr_unif/s//bn_unif/g
|
||||
g/msr_gauss/s//bn_gauss/g
|
||||
g/RT_CKMAG/s//BU_CKMAG/g
|
||||
g/RT_TOL_MAGIC/s//BN_TOL_MAGIC/g
|
||||
g/RT_CK_TOL/s//BN_CK_TOL/g
|
||||
g/RT_VECT_ARE_PARALLEL/s//BN_VECT_ARE_PARALLEL/g
|
||||
g/RT_VECT_ARE_PERP/s//BN_VECT_ARE_PERP/g
|
||||
g/rt_badmagic/s//bu_badmagic/g
|
||||
g/RT_SETJUMP/s//BU_SETJUMP/g
|
||||
g/RT_UNSETJUMP/s//BU_UNSETJUMP/g
|
||||
g/rt_twopi/s//bn_twopi/g
|
||||
g/rt_halfpi/s//bn_halfpi/g
|
||||
g/rt_quarterpi/s//bn_quarterpi/g
|
||||
g/rt_invpi/s//bn_invpi/g
|
||||
g/rt_inv2pi/s//bn_inv2pi/g
|
||||
g/rt_inv4pi/s//bn_inv4pi/g
|
||||
g/rt_inv255/s//bn_inv255/g
|
||||
g/rt_degtorad/s//bn_degtorad/g
|
||||
g/rt_radtodeg/s//bn_radtodeg/g
|
||||
g/RT_HISTOGRAM_MAGIC/s//BU_HIST_MAGIC/g
|
||||
g/RT_CK_HISTOGRAM/s//BU_CK_HIST/g
|
||||
g/RT_HISTOGRAM_TALLY/s//BU_HIST_TALLY/g
|
||||
g/rt_hist_free/s//bu_hist_free/g
|
||||
g/rt_hist_init/s//bu_hist_init/g
|
||||
g/rt_hist_range/s//bu_hist_range/g
|
||||
g/rt_hist_pr/s//bu_hist_pr/g
|
||||
g/RT_LIST_HEAD_MAGIC/s//BU_LIST_HEAD_MAGIC/g
|
||||
g/RT_LIST_NULL/s//BU_LIST_NULL/g
|
||||
g/RT_LIST_INSERT/s//BU_LIST_INSERT/g
|
||||
g/RT_LIST_APPEND/s//BU_LIST_APPEND/g
|
||||
g/RT_LIST_DEQUEUE/s//BU_LIST_DEQUEUE/g
|
||||
g/RT_LIST_PUSH/s//BU_LIST_PUSH/g
|
||||
g/RT_LIST_POP/s//BU_LIST_POP/g
|
||||
g/RT_LIST_INSERT_LIST/s//BU_LIST_INSERT_LIST/g
|
||||
g/RT_LIST_APPEND_LIST/s//BU_LIST_APPEND_LIST/g
|
||||
g/RT_LIST_IS_EMPTY/s//BU_LIST_IS_EMPTY/g
|
||||
g/RT_LIST_NON_EMPTY/s//BU_LIST_NON_EMPTY/g
|
||||
g/RT_LIST_NON_EMPTY_P/s//BU_LIST_NON_EMPTY_P/g
|
||||
g/RT_LIST_IS_CLEAR/s//BU_LIST_IS_CLEAR/g
|
||||
g/RT_LIST_UNINITIALIZED/s//BU_LIST_UNINITIALIZED/g
|
||||
g/RT_LIST_INIT/s//BU_LIST_INIT/g
|
||||
g/RT_LIST_MAGIC_SET/s//BU_LIST_MAGIC_SET/g
|
||||
g/RT_LIST_MAGIC_OK/s//BU_LIST_MAGIC_OK/g
|
||||
g/RT_LIST_MAGIC_WRONG/s//BU_LIST_MAGIC_WRONG/g
|
||||
g/RT_LIST_IS_HEAD/s//BU_LIST_IS_HEAD/g
|
||||
g/RT_LIST_NOT_HEAD/s//BU_LIST_NOT_HEAD/g
|
||||
g/RT_CK_LIST_HEAD/s//BU_CK_LIST_HEAD/g
|
||||
g/RT_LIST_NEXT_IS_HEAD/s//BU_LIST_NEXT_IS_HEAD/g
|
||||
g/RT_LIST_NEXT_NOT_HEAD/s//BU_LIST_NEXT_NOT_HEAD/g
|
||||
g/RT_LIST_FOR2/s//BU_LIST_FOR2/g
|
||||
g/RT_LIST_FOR/s//BU_LIST_FOR/g
|
||||
g/RT_LIST_WHILE/s//BU_LIST_WHILE/g
|
||||
g/RT_LIST_FIRST_MAGIC/s//BU_LIST_FIRST_MAGIC/g
|
||||
g/RT_LIST_LAST_MAGIC/s//BU_LIST_LAST_MAGIC/g
|
||||
g/RT_LIST_PNEXT_PNEXT/s//BU_LIST_PNEXT_PNEXT/g
|
||||
g/RT_LIST_PNEXT_PLAST/s//BU_LIST_PNEXT_PLAST/g
|
||||
g/RT_LIST_PLAST_PNEXT/s//BU_LIST_PLAST_PNEXT/g
|
||||
g/RT_LIST_PLAST_PLAST/s//BU_LIST_PLAST_PLAST/g
|
||||
g/RT_LIST_PNEXT_CIRC/s//BU_LIST_PNEXT_CIRC/g
|
||||
g/RT_LIST_PPREV_CIRC/s//BU_LIST_PPREV_CIRC/g
|
||||
g/RT_LIST_PLAST_CIRC/s//BU_LIST_PPREV_CIRC/g
|
||||
g/RT_LIST_MAIN_PTR/s//BU_LIST_MAIN_PTR/g
|
||||
g/RT_LIST_PNEXT/s//BU_LIST_PNEXT/g
|
||||
g/RT_LIST_PLAST/s//BU_LIST_PLAST/g
|
||||
g/RT_LIST_LAST/s//BU_LIST_LAST/g
|
||||
g/RT_LIST_PREV/s//BU_LIST_PREV/g
|
||||
g/RT_LIST_FIRST/s//BU_LIST_FIRST/g
|
||||
g/RT_LIST_NEXT/s//BU_LIST_NEXT/g
|
||||
g/rt_log/s//bu_log/g
|
||||
g/rt_add_hook/s//bu_add_hook/g
|
||||
g/rt_delete_hook/s//bu_delete_hook/g
|
||||
g/rt_putchar/s//bu_putchar/g
|
||||
g/rt_flog/s//bu_flog/g
|
||||
g/rt_identify_magic/s//bu_identify_magic/g
|
||||
g/rt_identity/s//bn_mat_identity/g
|
||||
g/rt_prmem/s//bu_prmem/g
|
||||
g/rt_strdup/s//bu_strdup/g
|
||||
g/rt_malloc/s//bu_malloc/g
|
||||
g/rt_calloc/s//bu_calloc/g
|
||||
g/rt_free/s//bu_free/g
|
||||
g/rt_byte_roundup/s//bu_malloc_len_roundup/g
|
||||
g/rt_mem_barriercheck/s//bu_mem_barriercheck/g
|
||||
g/rt_open_mapped_file/s//bu_open_mapped_file/g
|
||||
g/rt_close_mapped_file/s//bu_close_mapped_file/g
|
||||
g/RT_CK_MAPPED_FILE/s//BU_CK_MAPPED_FILE/g
|
||||
g/noise_init/s//bn_noise_init/g
|
||||
g/noise_perlin/s//bn_noise_perlin/g
|
||||
g/noise_vec/s//bn_noise_vec/g
|
||||
g/noise_fbm/s//bn_noise_fbm/g
|
||||
g/noise_turb/s//bn_noise_turb/g
|
||||
g/rt_pri_set/s//bu_nice_set/g
|
||||
g/rt_cpuget/s//bu_cpulimit_get/g
|
||||
g/rt_cpuset/s//bu_cpulimit_set/g
|
||||
g/rt_avail_cpus/s//bu_avail_cpus/g
|
||||
g/rt_parallel/s//bu_parallel/g
|
||||
g/rt_struct_export/s//bu_struct_export/g
|
||||
g/rt_struct_import/s//bu_struct_import/g
|
||||
g/rt_struct_put/s//bu_struct_put/g
|
||||
g/rt_struct_get/s//bu_struct_get/g
|
||||
g/rt_gshort/s//bu_gshort/g
|
||||
g/rt_glong/s//bu_glong/g
|
||||
g/rt_pshort/s//bu_pshort/g
|
||||
g/rt_plong/s//bu_plong/g
|
||||
g/rt_struct_buf/s//bu_struct_wrap_buf/g
|
||||
g/rt_structparse/s//bu_struct_parse/g
|
||||
g/rt_structprint/s//bu_struct_print/g
|
||||
g/rt_vls_structprint/s//bu_vls_struct_print/g
|
||||
g/offsetofarray/s//bu_offsetofarray/g
|
||||
g/ FUNC_NULL/s// BU_STRUCTPARSE_FUNC_NULL/g
|
||||
g/rt_external/s//bu_external/g
|
||||
g/RT_EXTERNAL_MAGIC/s//BU_EXTERNAL_MAGIC/g
|
||||
g/RT_EXTERN/s//BU_EXTERN/g
|
||||
g/RT_INIT_EXTERNAL/s//BU_INIT_EXTERNAL/g
|
||||
g/RT_CK_EXTERNAL/s//BU_CK_EXTERNAL/g
|
||||
g/rt_dist_pt3_lseg3/s//bn_dist_pt3_lseg3/g
|
||||
g/rt_3pts_collinear/s//bn_3pts_collinear/g
|
||||
g/rt_pt3_pt3_equal/s//bn_pt3_pt3_equal/g
|
||||
g/rt_dist_pt2_lseg2/s//bn_dist_pt2_lseg2/g
|
||||
g/rt_isect_lseg3_lseg3/s//bn_isect_lseg3_lseg3/g
|
||||
g/rt_isect_line3_line3/s//bn_isect_line3_line3/g
|
||||
g/rt_2line3_colinear/s//bn_2line3_colinear/g
|
||||
g/rt_isect_pt2_lseg2/s//bn_isect_pt2_lseg2/g
|
||||
g/rt_isect_line2_lseg2/s//bn_isect_line2_lseg2/g
|
||||
g/rt_isect_lseg2_lseg2/s//bn_isect_lseg2_lseg2/g
|
||||
g/rt_isect_line2_line2/s//bn_isect_line2_line2/g
|
||||
g/rt_dist_line_point/s//bn_dist_line3_pt3/g
|
||||
g/rt_dist_pt3_pt3/s//bn_dist_pt3_pt3/g
|
||||
g/rt_3pts_distinct/s//bn_3pts_distinct/g
|
||||
g/rt_mk_plane_3pts/s//bn_mk_plane_3pts/g
|
||||
g/rt_mkpoint_3planes/s//bn_mkpoint_3planes/g
|
||||
g/rt_isect_line3_plane/s//bn_isect_line3_plane/g
|
||||
g/rt_isect_2planes/s//bn_isect_2planes/g
|
||||
g/rt_isect_2lines/s//bn_isect_2lines/g
|
||||
g/rt_isect_line_lseg/s//bn_isect_line_lseg/g
|
||||
g/rt_dist_line3_pt3/s//bn_dist_line3_pt3/g
|
||||
g/rt_distsq_line3_pt3/s//bn_distsq_line3_pt3/g
|
||||
g/rt_dist_line_origin/s//bn_dist_line_origin/g
|
||||
g/rt_dist_line2_point2/s//bn_dist_line2_point2/g
|
||||
g/rt_distsq_line2_point2/s//bn_distsq_line2_point2/g
|
||||
g/rt_area_of_triangle/s//bn_area_of_triangle/g
|
||||
g/rt_isect_pt_lseg/s//bn_isect_pt_lseg/g
|
||||
g/rt_dist_pt_lseg/s//bn_dist_pt_lseg/g
|
||||
g/rt_rotate_bbox/s//bn_rotate_bbox/g
|
||||
g/rt_rotate_plane/s//bn_rotate_plane/g
|
||||
g/rt_coplanar/s//bn_coplanar/g
|
||||
g/rt_angle_measure/s//bn_angle_measure/g
|
||||
g/rt_dist_pt3_along_line3/s//bn_dist_pt3_along_line3/g
|
||||
g/rt_dist_pt2_along_line2/s//bn_dist_pt2_along_line2/g
|
||||
g/rt_between/s//bn_between/g
|
||||
g/rt_printb/s//bu_printb/g
|
||||
g/NMG_CK_PTBL/s//BU_CK_PTBL/g
|
||||
g/NMG_TBL_BASEADDR/s//BU_PTBL_BASEADDR/g
|
||||
g/NMG_TBL_LASTADDR/s//BU_PTBL_LASTADDR/g
|
||||
g/NMG_TBL_END/s//BU_PTBL_END/g
|
||||
g/NMG_TBL_GET/s//BU_PTBL_GET/g
|
||||
g/RT_RAND_TABSIZE/s//BN_RAND_TABSIZE/g
|
||||
g/RT_RANDSEED/s//BN_RANDSEED/g
|
||||
g/RT_RANDOM/s//BN_RANDOM/g
|
||||
g/rt_rand_table/s//bn_rand_table/g
|
||||
g/rt_tol/s//bn_tol/g
|
||||
g/RES_ACQUIRE(/s//bu_semaphore_acquire(/
|
||||
g/RES_RELEASE(/s//bu_semaphore_release(/
|
||||
g/&rt_g.res_syscall/s//BU_SEM_SYSCALL/
|
||||
g/&rt_g.res_worker/s//RT_SEM_WORKER/
|
||||
g/&rt_g.res_stats/s//RT_SEM_STATS/
|
||||
g/&rt_g.res_results/s//RT_SEM_RESULTS/
|
||||
g/&rt_g.res_model/s//RT_SEM_MODEL/
|
||||
g/RES_INIT(/s/RES_INIT.*;/bu_semaphore_init( RT_SEM_LAST );/p
|
||||
g/RT_VLS_CHECK/s//BU_CK_VLS/g
|
||||
g/RT_VLS_ADDR/s//bu_vls_addr/g
|
||||
g/RT_VLS_INIT/s//bu_vls_init/g
|
||||
g/rt_vls_init/s//bu_vls_init/g
|
||||
g/rt_vls_vlsinit/s//bu_vls_vlsinit/g
|
||||
g/rt_vls_addr/s//bu_vls_addr/g
|
||||
g/rt_vls_strdup/s//bu_vls_strdup/g
|
||||
g/rt_vls_strgrab/s//bu_vls_strgrab/g
|
||||
g/rt_vls_extend/s//bu_vls_extend/g
|
||||
g/rt_vls_setlen/s//bu_vls_setlen/g
|
||||
g/rt_vls_strlen/s//bu_vls_strlen/g
|
||||
g/rt_vls_trunc/s//bu_vls_trunc/g
|
||||
g/rt_vls_trunc2/s//bu_vls_trunc2/g
|
||||
g/rt_vls_nibble/s//bu_vls_nibble/g
|
||||
g/rt_vls_free/s//bu_vls_free/g
|
||||
g/rt_vls_vlsfree/s//bu_vls_vlsfree/g
|
||||
g/rt_vls_strcpy/s//bu_vls_strcpy/g
|
||||
g/rt_vls_strncpy/s//bu_vls_strncpy/g
|
||||
g/rt_vls_strcat/s//bu_vls_strcat/g
|
||||
g/rt_vls_strncat/s//bu_vls_strncat/g
|
||||
g/rt_vls_vlscat/s//bu_vls_vlscat/g
|
||||
g/rt_vls_vlscatzap/s//bu_vls_vlscatzap/g
|
||||
g/rt_vls_from_argv/s//bu_vls_from_argv/g
|
||||
g/rt_vls_fwrite/s//bu_vls_fwrite/g
|
||||
g/rt_vls_gets/s//bu_vls_gets/g
|
||||
g/rt_vls_putc/s//bu_vls_putc/g
|
||||
g/rt_vls_printf/s//bu_vls_printf/g
|
||||
g/CxCopy/s//bn_cx_copy/g
|
||||
g/CxNeg/s//bn_cx_neg/g
|
||||
g/CxReal/s//bn_cx_real/g
|
||||
g/CxImag/s//bn_cx_imag/g
|
||||
g/CxAdd/s//bn_cx_add/g
|
||||
g/CxAmplSq/s//bn_cx_amplsq/g
|
||||
g/CxAmpl/s//bn_cx_ampl/g
|
||||
g/CxConj/s//bn_cx_conj/g
|
||||
g/CxCons/s//bn_cx_cons/g
|
||||
g/CxPhas/s//bn_cx_phas/g
|
||||
g/CxScal/s//bn_cx_scal/g
|
||||
g/CxSub/s//bn_cx_sub/g
|
||||
g/CxMul/s//bn_cx_mul/g
|
||||
g/CxMul2/s//bn_cx_mul2/g
|
||||
g/CxDiv/s//bn_cx_div/g
|
||||
g/rt_poly_scale/s//bn_poly_scale/g
|
||||
g/rt_pr_poly/s//bn_pr_poly/g
|
||||
g/rt_pr_roots/s//bn_pr_roots/g
|
||||
g/TBL_INIT/s//BU_PTBL_INIT/g
|
||||
g/TBL_INS/s//BU_PTBL_INS/g
|
||||
g/TBL_LOC/s//BU_PTBL_LOC/g
|
||||
g/TBL_FREE/s//BU_PTBL_FREE/g
|
||||
g/TBL_RST/s//BU_PTBL_RST/g
|
||||
g/TBL_CAT/s//BU_PTBL_CAT/g
|
||||
g/TBL_RM/s//BU_PTBL_RM/g
|
||||
g/TBL_INS_UNIQUE/s//BU_PTBL_INS_UNIQUE/g
|
||||
g/TBL_ZERO/s//BU_PTBL_ZERO/g
|
||||
g/rt_pi/s//bn_pi/g
|
||||
g/matXvec/s//bn_matXvec/g
|
||||
g/mat_ae/s//bn_mat_ae/g
|
||||
g/mat_ae_vec/s//bn_ae_vec/g
|
||||
g/mat_aet_vec/s//bn_aet_vec/g
|
||||
g/mat_angles/s//bn_mat_angles/g
|
||||
g/mat_arb_rot/s//bn_mat_arb_rot/g
|
||||
g/mat_atan2/s//bn_atan2/g
|
||||
g/mat_copy/s//bn_mat_copy/g
|
||||
g/mat_degtorad/s//bn_degtorad/g
|
||||
g/mat_dup/s//bn_mat_dup/g
|
||||
g/mat_eigen2x2/s//bn_eigen2x2/g
|
||||
g/mat_fromto/s//bn_mat_fromto/g
|
||||
g/mat_htov_move/s//bn_htov_move/g
|
||||
g/mat_identity/s//bn_mat_identity/g
|
||||
g/mat_idn/s//MAT_IDN/g
|
||||
g/mat_inv/s//bn_mat_inv/g
|
||||
g/rt_mat_is_equal/s//bn_mat_is_equal/g
|
||||
g/mat_is_identity/s//bn_mat_is_identity/g
|
||||
g/mat_lookat/s//bn_mat_lookat/g
|
||||
g/mat_mul/s//bn_mat_mul/g
|
||||
g/mat_mul2/s//bn_mat_mul2/g
|
||||
g/mat_print/s//bn_mat_print/g
|
||||
g/mat_radtodeg/s//bn_radtodeg/g
|
||||
g/mat_scale_about_pt/s//bn_mat_scale_about_pt/g
|
||||
g/mat_trn/s//bn_mat_trn/g
|
||||
g/mat_vec_ortho/s//bn_vec_ortho/g
|
||||
g/mat_vec_perp/s//bn_vec_perp/g
|
||||
g/mat_vtoh_move/s//bn_vtoh_move/g
|
||||
g/mat_xform_about_pt/s//bn_mat_xform_about_pt/g
|
||||
g/mat_xrot/s//bn_mat_xrot/g
|
||||
g/mat_yrot/s//bn_mat_yrot/g
|
||||
g/mat_zrot/s//bn_mat_zrot/g
|
||||
g/mat_zero/s//bn_mat_zero/g
|
||||
g/rb_tree/s//bu_rb_tree/g
|
||||
g/RB_TREE_NULL/s//BU_RB_TREE_NULL/g
|
||||
g/rb_min/s//bu_rb_min/g
|
||||
g/rb_max/s//bu_rb_max/g
|
||||
g/rb_pred/s//bu_rb_pred/g
|
||||
g/rb_succ/s//bu_rb_succ/g
|
||||
g/rb_create/s//bu_rb_create/g
|
||||
g/rb_create1/s//bu_rb_create1/g
|
||||
g/rb_delete/s//bu_rb_delete/g
|
||||
g/rb_diagnose_tree/s//bu_rb_diagnose_tree/g
|
||||
g/rb_extreme/s//bu_rb_extreme/g
|
||||
g/rb_insert/s//bu_rb_insert/g
|
||||
g/rb_neighbor/s//bu_rb_neighbor/g
|
||||
g/rb_search/s//bu_rb_search/g
|
||||
g/rb_search1/s//bu_rb_search1/g
|
||||
g/rb_summarize_tree/s//bu_rb_summarize_tree/g
|
||||
g/rb_walk/s//bu_rb_walk/g
|
||||
g/rb_walk1/s//bu_rb_walk1/g
|
||||
g/RT_VLIST_CHUNK/s//BN_VLIST_CHUNK/g
|
||||
g/rt_vlist/s//bn_vlist/g
|
||||
g/RT_VLIST_NULL/s//BN_VLIST_NULL/g
|
||||
g/RT_VLIST_MAGIC/s//BN_VLIST_MAGIC/g
|
||||
g/RT_CK_VLIST/s//BN_CK_VLIST/g
|
||||
g/RT_VLIST_LINE_MOVE/s//BN_VLIST_LINE_MOVE/g
|
||||
g/RT_VLIST_LINE_DRAW/s//BN_VLIST_LINE_DRAW/g
|
||||
g/RT_VLIST_POLY_START/s//BN_VLIST_POLY_START/g
|
||||
g/RT_VLIST_POLY_MOVE/s//BN_VLIST_POLY_MOVE/g
|
||||
g/RT_VLIST_POLY_DRAW/s//BN_VLIST_POLY_DRAW/g
|
||||
g/RT_VLIST_POLY_END/s//BN_VLIST_POLY_END/g
|
||||
g/RT_VLIST_POLY_VERTNORM/s//BN_VLIST_POLY_VERTNORM/g
|
||||
g/rt_vlblock/s//bn_vlblock/g
|
||||
g/RT_VLBLOCK_MAGIC/s//BN_VLBLOCK_MAGIC/g
|
||||
g/RT_CK_VLBLOCK/s//BN_CK_VLBLOCK/g
|
||||
g/BU_BU_/s//BU_/g
|
||||
g/bu_bu_/s//bu_/g
|
||||
g/bn_bn_/s//bn_/g
|
||||
g/bn_pipe/s//rt_pipe/g
|
||||
major API overhaul [6.0]
|
||||
7.14
|
||||
----
|
||||
s/rt_db_free_internal\(([^,]+),[^\)]*\)/rt_db_free_internal(\1)/g
|
||||
struct resource pointer parameter removed [7.14]
|
||||
|
||||
7.16
|
||||
----
|
||||
s/rt_ptalloc\(\);/(struct rt_pt_node *)bu_malloc(sizeof(struct rt_pt_node), "rt_pt_node");/g
|
||||
rt_ptalloc() removed [7.16]
|
||||
|
||||
7.18
|
||||
----
|
||||
s/bu_ptbl\(([^,]*),[[:space:]]*BU_PTBL_INIT([^\)]*)\)/bu_ptbl_init(\1, 64, "init")/g
|
||||
s/bu_ptbl\(([^,]*),[[:space:]]*BU_PTBL_RST([^\)]*)\)/bu_ptbl_reset(\1)/g
|
||||
s/bu_ptbl\(([^,]*),[[:space:]]*BU_PTBL_INS([^\)]*)\)/bu_ptbl_ins(\1\2)/g
|
||||
s/bu_ptbl\(([^,]*),[[:space:]]*BU_PTBL_LOC([^\)]*)\)/bu_ptbl_locate(\1\2)/g
|
||||
s/bu_ptbl\(([^,]*),[[:space:]]*BU_PTBL_ZERO([^\)]*)\)/bu_ptbl_zero(\1\2/g
|
||||
s/bu_ptbl\(([^,]*),[[:space:]]*BU_PTBL_INS_UNIQUE([^\)]*)\)/bu_ptbl_ins_unique(\1\2)/g
|
||||
s/bu_ptbl\(([^,]*),[[:space:]]*BU_PTBL_RM([^\)]*)\)/bu_ptbl_rm(\1\2)/g
|
||||
s/bu_ptbl\(([^,]*),[[:space:]]*BU_PTBL_CAT([^\)]*)\)/bu_ptbl_cat(\1\2)/g
|
||||
s/bu_ptbl\(([^,]*),[[:space:]]*BU_PTBL_FREE([^\)]*)\)/bu_ptbl_free(\1)/g
|
||||
bu_ptbl() removed [7.18]
|
||||
|
||||
s/nmg_struct_counts\(/nmg_pr_m_struct_counts(/g
|
||||
nmg_struct_counts() renamed to nmg_pr_m_struct_counts() [7.18]
|
||||
|
||||
s/bu_vlb_getBuffer\(/bu_vlb_addr(/g
|
||||
bu_vlb_getBuffer() renamed to bu_vlb_addr() [7.18]
|
||||
|
||||
s/bu_vlb_getBufferLength\(/bu_vlb_buflen(/g
|
||||
bu_vlb_getBufferLength() renamed to bu_vlb_buflen() [7.18]
|
||||
|
||||
s/V2APPROXEQUAL\(/V2NEAR_EQUAL(/g
|
||||
V2APPROXEQUAL() renamed to V2NEAR_EQUAL() [7.18]
|
||||
|
||||
s/VAPPROXEQUAL\(/VNEAR_EQUAL(/g
|
||||
VAPPROXEQUAL() renamed to VNEAR_EQUAL() [7.18]
|
||||
|
||||
s/db_get_version\(/db_version(/g
|
||||
db_get_version() renamed to db_version() [7.18]
|
||||
|
||||
s/db_get_directory_size\(/db_directory_size(/g
|
||||
db_get_directory_size() renamed to db_directory_size() [7.18]
|
||||
|
||||
s/db_get_directory\(/db_alloc_directory_block(/g
|
||||
db_get_directory() renamed to db_alloc_directory_block() [7.18]
|
||||
|
||||
s/rt_get_seg\(/rt_alloc_sed_block(/g
|
||||
rt_get_seg() renamed to rt_alloc_seg_block() [7.18]
|
||||
|
||||
s/db_shader_mat\(/rt_shader_mat(/g
|
||||
db_shader_mat() renamed to rt_shader_mat() [7.18]
|
||||
|
||||
s/SMALL([^_])/SMALL_FAST\1/g
|
||||
SMALL renamed to SMALL_FASTF [7.18]
|
||||
|
||||
7.20
|
||||
----
|
||||
s/spm_([^\)]*)/bn_spm_\1/g
|
||||
spm functions and types renamed to bn_spm [7.20]
|
||||
|
||||
s/RT_CK_SPM/BN_CK_SPM_MAP/g
|
||||
RT_CK_SPM macro renamed to BN_CK_SPM MAP [7.20]
|
||||
|
||||
s/SPM_MAGIC/BN_SPM_MAGIC/g
|
||||
SPM_MAGIC renamed to BN_SPM_MAGIC [7.20]
|
||||
|
||||
s/SPM_NULL/BN_SPM_MAP_NULL/g
|
||||
SPM_NULL renamed to BN_SPM_MAP_NULL [7.20]
|
||||
|
||||
s/BU_EXTERN[[:space:]]*\([[:space:]]*([^,]*?)[[:space:]]*,[[:space:]]*\([[:space:]]*([^)]*)[[:space:]]*\)[[:space:]]*\)/extern \1(\2)/g
|
||||
BU_EXTERN() no longer necessary due to C89 minimum, use extern [7.20]
|
||||
|
||||
s/[[:space:]]*BU_ARGS[[:space:]]*\([[:space:]]*([^)]*[[:space:]]*)[[:space:]]*\)/\1/g
|
||||
BU_ARGS() no longer necessary due to C89 minimum, list args [7.20]
|
||||
|
||||
s/BU_LIST_UNINITIALIZED/!BU_LIST_IS_INITIALIZED/g
|
||||
BU_LIST_IS_INITIALIZED() removed for consistency [7.20]
|
||||
|
||||
s/BU_INIT_EXTERNAL/BU_EXTERNAL_INIT/g
|
||||
renamed for API consistency [7.20]
|
||||
|
||||
s/RT_CK_DBTR/RT_CK_DB_TRAVERSE/g
|
||||
s/RT_DBTR_MAGIC/RT_DB_TRAVERSE_MAGIC/g
|
||||
renamed for API consistency [7.20]
|
||||
|
||||
s/RT_INIT_([A-Z_]*)/RT_\1_INIT/g
|
||||
renamed all RT_INIT_[type] macros to RT_[type]_INIT for API consistency [7.20]
|
||||
|
||||
s/BU_LIST_MAGIC_OK/BU_LIST_MAGIC_EQUAL/g
|
||||
s/BU_LIST_MAGIC_WRONG/!BU_LIST_MAGIC_EQUAL/g
|
||||
renamed and consolidated to be consistent with libbn [7.20]
|
||||
|
||||
s/nmg_moveeu/nmg_je/g
|
||||
function has been renamed
|
||||
|
||||
7.22
|
||||
----
|
||||
|
||||
s/rt_dist_pt3_line3/bn_dist_pt3_line3/g
|
||||
s/rt_dist_line3_line3/bn_dist_line3_line3/g
|
||||
s/rt_dist_line3_lseg3/bn_dist_line3_lseg3/g
|
||||
functions moved from librt to libbn [7.21]
|
||||
s/bu_tcl_setup/Bu_Init/g
|
||||
removed bu_tcl_setup() in favor of Bu_Init() [7.21]
|
||||
s/bu_tcl_([^(]*)\([^,]*?[[:space:]]*,[^,]*?[[:space:]]*,(.*)/bu_\1(\2/g
|
||||
removed all bu_tcl_*() functions, leaving off interp and using native bu function [7.21]
|
||||
s/bu_badmagic_tcl\([^,]*?[[:space:]]*,(.*)/bu_badmagic(\1/g
|
||||
removed bu_badmagic_tcl() in favor of bu_badmagic() [7.21]
|
||||
s/(.*)_CK(.*)_TCL\([^,]*?[[:space:]]*,(.*)/\1_CK\2(\3/g
|
||||
removed all *_CK*_TCL() macros (e.g., BU_CKMAG_TCL, RT_CK_DBI_TCL, etc.) in favor of non-TCL macros [7.21]
|
||||
s/bu_image/icv_image/g
|
||||
moved bu_image* functions to libicv as icv_image* [7.21]
|
||||
s/BU_IMAGE/ICV_IMAGE/g
|
||||
moved BU_IMAGE* macros to icv.h as ICV_IMAGE* [7.21]
|
||||
s/bu_cmd\(([^,]*?),[[:space:]]*([^,]*?),[[:space:]]*([^,]*?),[[:space:]]*([^,)]*?),[[:space:]]*([^)]*?)\)/bu_cmd(\4, \2, \3, \5, \1, NULL)/g
|
||||
inputs then outputs. swapped bu_cmd's 4th parameter to 1st, 1st to 5th, and added a new return value hook last. [7.21]
|
||||
s/V3(.*)_TOL\(([^,]*,)([^,]*,)([^,]*,)([^)]*)\)/V3\1_TOL(\1\2\3(\4)->dist)/g
|
||||
V3RPP_OVERLAP_TOL(), V3PT_IN_RPP_TOL(), and V3PT_OUT_RPP_TOL() tol parameter changed to value [7.21]
|
||||
s/BU_GETSTRUCT\([[:space:]]*([^,)]+,)[[:space:]]*([^)]+)[[:space:]]*\)/BU_GET(\1 struct \2)/g
|
||||
BU_GETSTRUCT(ptr, struct_type) changed to BU_GET(ptr, struct struct_t) [7.21]
|
||||
s/BU_GETUNION\([[:space:]]*([^,)]+,)[[:space:]]*([^)]+)[[:space:]]*\)/BU_GET(\1 union \2)/g
|
||||
s/BU_GETTYPE\([[:space:]]*([^,)]+,)[[:space:]]*([^)]+)[[:space:]]*\)/BU_GET(\1 \2)/g
|
||||
BU_GETUNION() and BU_GETTYPE() macros changed to BU_GET() [7.21]
|
||||
s/CMD_NULL/BU_CMD_NULL/g
|
||||
s/CMDHIST/BU_CMDHIST/g
|
||||
prefix the cmd.h defines with BU_ since they are part of libbu [7.21]
|
||||
s/bu_shader_to_tcl_list/bu_shader_to_list/g
|
||||
renamed as it applies to any list in {} form, tcl or otherwise [7.21]
|
||||
s/bu_(add|delete|call)_hook/bu_hook_\1/g
|
||||
renamed hook functions to be consistent with other libbu API [7.21]
|
||||
s/bu_file_exists\(([^)]*)\)/bu_file_exists(\1, NULL)/g
|
||||
new file descriptor parameter added [7.21]
|
||||
s/bu_list_path\(([^,]*),([^,]*),[[:space:]]([^)]*)\)/bu_dir_list(\1,\2, &(\3))/g
|
||||
s/bu_count_path(.*)\);/bu_dir_list\1, NULL);/g
|
||||
made bu_dir_list() return the number of entries [7.21]
|
||||
s/bu_strcmpm\((.*),([^,]*)\)/bu_strcmp(\1)/g
|
||||
no use for label parameter, convert to bu_strcmp() [7.21]
|
||||
bu_set_realtime() [deprecated 7.22]
|
||||
|
||||
7.24
|
||||
----
|
||||
s/bu_set_realtime\([[:space:]]\);//g
|
||||
didn't do anything [7.23]
|
||||
s/.*bu_cpulimit_[sg]et\([[:space:]]\);//g
|
||||
didn't do anything [7.23]
|
||||
s/rt_g\./RTG\./g
|
||||
renamed rt_g global to RTG so it doesn't match the struct name [7.24]
|
||||
s/rt_functab\[/OBJ\[/g
|
||||
renamed rt_functab global to OBJ so it doesn't match the struct name [7.24]
|
||||
s/redraw_vlist/draw/g
|
||||
removed redraw_vlist mged command, just call draw or refresh [7.24]
|
||||
s/RT_BADNUM/INVALID/g
|
||||
s/RT_BADVAL/VINVALID/g
|
||||
moved RT_BADNUM and RT_BADVEC to vmath.h as INVALID and VINVALID [7.24]
|
||||
s/bu_create_hash_tbl/bu_hash_tbl_create/g
|
||||
s/bu_find_hash_entry/bu_hash_tbl_find/g
|
||||
s/bu_hash_add_entry/bu_hash_tbl_add/g
|
||||
s/bu_hash_tbl_pr/bu_hash_tbl_print/g
|
||||
renamed for better consistency in hash table API and with other libbu API [7.24]
|
||||
s/dm_applicationfocus\([[:space:]]\);//g
|
||||
only useful in older os x versions, users can now do the same thing via XQuartz preferences
|
||||
s/bu_vls_trunc2/bu_vls_trunc/g
|
||||
removed duplicitous function in favor of more general version
|
||||
s/bn_pi/M_PI/g
|
||||
s/bn_twopi/M_2PI/g
|
||||
s/bn_halfpi/M_PI_2/g
|
||||
s/bn_quarterpi/M_PI_4/g
|
||||
s/bn_invpi/M_1_PI/g
|
||||
s/bn_inv2pi/M_1_2PI/g
|
||||
s/bn_inv4pi/M_1_4PI)/g
|
||||
s/bn_inv255/(1.0 \/ 255.0)/g
|
||||
s/bn_degtorad/DEG2RAD/g
|
||||
s/bn_radtodeg/RAD2DEG/g
|
||||
s/bn_sin_scale/(BN_SINTABSIZE \/ M_2PI)/g
|
||||
eliminated a number of libbn globals in favor of existing constants
|
||||
s/(#[[:space:]]*include[[:space:]]+["<])vfont-if\.h/\1bu\/vfont.h/g
|
||||
s/(#[[:space:]]*include[[:space:]]+["<])cmd\.h/\1bu\/cmd.h/g
|
||||
s/(#[[:space:]]*include[[:space:]]+["<])magic\.h/\1bu\/magic.h/g
|
||||
library-specific public headers moved into a subdir [7.24]
|
||||
s/([^_])([nh]to[hn][fd])/\1bu_cv_\2/g
|
||||
ntohf, ntohd, htonf, htond renamed with bu_cv_ prefix [7.24]
|
||||
+1124
-2397
File diff suppressed because it is too large
Load Diff
@@ -41,11 +41,11 @@ the prefix "lib" in the src/ directory (e.g. src/librt/). All of
|
||||
BRL-CAD's libraries, applications, and any content lacking a license
|
||||
specification are covered by the terms of the LGPL.
|
||||
|
||||
Most of BRL-CAD's build infrastructure including files required by
|
||||
the GNU Build System (such as the CMakeLists.txt files), a variety
|
||||
of scripts located in the misc/ and sh/ directories, and the testing
|
||||
infrastructure (scripts and resources) are provided either under
|
||||
the BSD license or are in the public domain. Similarly, most of
|
||||
Most of BRL-CAD's build infrastructure including files required by the
|
||||
GNU Build System (such as the configure.ac and all Makefile.am files),
|
||||
a variety of scripts located in the misc/ and sh/ directories, and the
|
||||
testing infrastructure (scripts and resources) are provided either
|
||||
under the BSD license or are in the public domain. Similarly, most of
|
||||
the geometric models, images, and other data resources are also
|
||||
provided under the BSD license. Refer to each individual file for
|
||||
specific terms.
|
||||
@@ -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-2014 United States Government as represented by
|
||||
Copyright (c) 1984-2011 United States Government as represented by
|
||||
the U.S. Army Research Laboratory.
|
||||
|
||||
Contact
|
||||
|
||||
+825
@@ -0,0 +1,825 @@
|
||||
The Installation Guide to BRL-CAD
|
||||
=================================
|
||||
|
||||
Please read this document if you are interested in installing BRL-CAD.
|
||||
|
||||
This document covers the basics of installing BRL-CAD from either a
|
||||
source or binary distribution. Please see the 'Reporting Problems'
|
||||
section if you run into any trouble installing BRL-CAD.
|
||||
|
||||
Some platforms have additional platform-specific documentation
|
||||
provided in the doc/ directory of the source distribution that should
|
||||
be consulted if that is the platform you are installing on. This
|
||||
presently includes the following:
|
||||
|
||||
doc/README.MacOSX -- Apple Mac OS X
|
||||
doc/README.IRIX -- SGI IRIX and IRIX64
|
||||
doc/README.Linux -- Various Linux distributions
|
||||
doc/README.Windows -- Microsoft Windows
|
||||
|
||||
|
||||
TABLE OF CONTENTS
|
||||
-----------------
|
||||
Introduction
|
||||
Table of Contents
|
||||
Quick Installation
|
||||
Installing from Binary
|
||||
Installing from Source
|
||||
Configuration Options
|
||||
Compilation Options
|
||||
Installation Options
|
||||
Testing Functionality
|
||||
Post-Installation
|
||||
Reporting Problems
|
||||
|
||||
|
||||
QUICK INSTALLATION
|
||||
------------------
|
||||
|
||||
Note that the downloaded files have two check sums calculated
|
||||
automatically by the Source Forge file release system. The values are
|
||||
used to verify the integrity of the files as distributed. Get those
|
||||
data by clicking on the 'i' button at the end of each file's name.
|
||||
You should ensure those data are retained and kept with the files if
|
||||
you re-distribute them.
|
||||
|
||||
|
||||
If you downloaded a binary distribution of BRL-CAD for your system,
|
||||
please read the INSTALLING FROM BINARY section of this document down
|
||||
below. The rest of this quick installation section is only relevant
|
||||
to source code distributions of BRL-CAD.
|
||||
|
||||
For the impatient or simplistic, the following steps should compile,
|
||||
test, and install an optimized BRL-CAD quickly into the /usr/brlcad
|
||||
directory if CMake is installed on your system:
|
||||
|
||||
gunzip brlcad-X.Y.Z.tar.gz
|
||||
tar -xvf brlcad-X.Y.Z.tar
|
||||
mkdir brlcad-build
|
||||
cd brlcad-build
|
||||
cmake ../brlcad-X.Y.Z -DBRLCAD-ENABLE_OPTIMIZED=ON
|
||||
make
|
||||
make benchmark
|
||||
make regress
|
||||
make install # as root, e.g. sudo make install
|
||||
|
||||
If any of the listed steps fail, then something unexpected happened.
|
||||
See the REPORTING PROBLEMS section of this document to report the
|
||||
problem or the INSTALLING FROM SOURCE section for more comprehensive
|
||||
instructions.
|
||||
|
||||
Once installed, add /usr/brlcad/bin to your path, and you should be
|
||||
able to run one of the 400+ applications that constitute BRL-CAD. For
|
||||
example, to run the MGED solid modeler:
|
||||
|
||||
PATH=/usr/brlcad/bin:$PATH ; export PATH
|
||||
mged
|
||||
|
||||
If you use tcsh or another C-shell based command shell, use this
|
||||
instead:
|
||||
|
||||
set path=( /usr/brlcad/bin $path ) ; rehash
|
||||
mged
|
||||
|
||||
|
||||
INSTALLING FROM BINARY
|
||||
----------------------
|
||||
|
||||
There are a variety of different kinds of binary distributions of
|
||||
BRL-CAD. Some of the binary disributions are sufficiently generic and
|
||||
are simply a binary commpressed tarball distribution. Others are
|
||||
specific to a particular platform such as Debian, Mac OS X, FreeBSD,
|
||||
and Windows etc.
|
||||
|
||||
|
||||
Generic Binary Distributions:
|
||||
|
||||
For the unspecialized binary distributions that are basically
|
||||
compressed tarballs of the installation root, they should contain the
|
||||
entire hierarchy of the distribution. That is to say that they
|
||||
contain /usr/brlcad in its entirety so that if you decompress, you
|
||||
will have a `usr' directory that contains a single `brlcad' directory:
|
||||
|
||||
gunzip BRL-CAD_7.2.4_Linux_ia64.tar.gz
|
||||
tar -xvf BRL-CAD_7.2.4_Linux_ia64.tar
|
||||
sudo mkdir /usr/brlcad
|
||||
sudo mv BRL-CAD_7.2.4_Linux_ia64/* /usr/brlcad/
|
||||
|
||||
Of course, there are other compression options possible including zip
|
||||
and bzip2. By default, BRL-CAD expects to be installed into
|
||||
/usr/brlcad. On some platforms the binary may be relocatable, but this
|
||||
is not guaranteed. It's recommended that you start from a source
|
||||
distribution if you would like to install into an alternate installation
|
||||
location.
|
||||
|
||||
However, if you do desire to install and run BRL-CAD from a different
|
||||
location, give it a try.. ;) If it doesn't work (some platforms are more
|
||||
problematic than others), you will need to compile and install from a
|
||||
source distribution.
|
||||
|
||||
|
||||
Mac OS X Disk Mounting Image:
|
||||
|
||||
Mount the .dmg and run the Installer .pkg contained therein. This
|
||||
will install into /usr/brlcad and will only require confirming that
|
||||
your environment is set up properly (i.e. add /usr/brlcad/bin to your
|
||||
path) as described in this document's Installation Options section.
|
||||
|
||||
|
||||
INSTALLING FROM SOURCE
|
||||
----------------------
|
||||
|
||||
There are a couple of ways to obtain the BRL-CAD sources, usually via
|
||||
one of the following starting points:
|
||||
|
||||
1) from a SVN checkout/export, or
|
||||
2) from a source distribution tarball
|
||||
|
||||
Using the latest SVN sources is recommended where possible since it
|
||||
will have the latest changes. See the corresponding section below for
|
||||
details on how to install from either starting point.
|
||||
|
||||
|
||||
Starting From a SVN Checkout/Export:
|
||||
|
||||
With CMake, there is no longer any difference between building from
|
||||
a subversion checkout and a tarball - follow the Source Distribution
|
||||
instructions below.
|
||||
|
||||
Starting From a Source Distribution:
|
||||
|
||||
There are many different ways to build BRL-CAD and depending on what
|
||||
you need/want will determine which configuration options you should
|
||||
use. See the CONFIGURATION OPTIONS section below for details on how
|
||||
to go about selecting which options are appropriate for you.
|
||||
|
||||
By default, the default configuration will prepare the build system
|
||||
for installation into the /usr/brlcad directory (the
|
||||
CMAKE_INSTALL_PREFIX option may be used to change that). This
|
||||
tradition goes back a couple decades and is a convenient means to
|
||||
isolate the BRL-CAD solid modeling system from your system, resolves
|
||||
conflicts, facilitates uninstalls, and simplifies upgrades. The
|
||||
default configuration is performed by running `cmake'. It is not
|
||||
required to do the build in a directory different from your source
|
||||
directory, but it is much cleaner and highly recommended - this guide
|
||||
will illustrate the build process with the assumption that the
|
||||
BRL-CAD source code is in the directory brlcad-7.2.4 and the
|
||||
directory intended to hold the build output is brlcad-build, located
|
||||
in the same parent directory as brlcad-7.2.4:
|
||||
|
||||
.
|
||||
./brlcad-7.2.4
|
||||
./brlcad-build
|
||||
|
||||
To start the build process, cd into brlcad-build and run the following
|
||||
|
||||
cmake ../brlcad-7.2.4
|
||||
|
||||
By default, an unoptimized build of BRL-CAD will be configured
|
||||
for compilation. This is a "bare bones" compile that does not
|
||||
add debug flags, optimization, or other features that are generally
|
||||
useful. There are several "build profiles" that may be invoked
|
||||
to automatically set up several options for particular purposes -
|
||||
see the BUILD TYPES section below.
|
||||
|
||||
By default, all components and functionality will be built except
|
||||
jove. However, BRL-CAD does require and include several 3rd party
|
||||
components. If your system does not include a sufficient version of
|
||||
those required 3rd party components, they will be automatically
|
||||
configured for compilation.
|
||||
|
||||
If the autodetection mechanisms fail to produce a working configuration,
|
||||
the next simplest approach is typically to enable ALL the third party
|
||||
components - this is typically a well tested configuration, but will
|
||||
increase both the build time and final install size of BRL-CAD on
|
||||
the system. To set this variable on the command line, use -D to
|
||||
define BRLCAD-ENABLE_ALL_LOCAL_LIBS for CMake:
|
||||
|
||||
-DBRLCAD-ENABLE_ALL_LOCAL_LIBS=ON
|
||||
|
||||
If the graphical interface (cmake-gui) is in use, it will list this
|
||||
and other common options by default, allowing the user to check and
|
||||
uncheck the ON/OFF status of various options. This is often quicker
|
||||
and more convenient than defining options on the command line, but
|
||||
both will work.
|
||||
|
||||
You can also force on or off any individual 3rd party library by
|
||||
setting either of two variables:
|
||||
|
||||
-DBRLCAD_BUILD_LOCAL_<FEATURE>_FORCE_ON=ON
|
||||
-DBRLCAD_BUILD_LOCAL_<FEATURE>_FORCE_OFF=ON
|
||||
|
||||
These options are not available by default in the graphical interface,
|
||||
but can be accessed by enabling the Advanced view, which will list all
|
||||
available options. This list can be made somewhat more managable by
|
||||
also enabling the Grouped option, which organizes variables into
|
||||
groups based on name. In this case, the above two variables would be
|
||||
found under the BRLCAD group.
|
||||
|
||||
To obtain an optimized build (for example, for BRL-CAD Benchmark
|
||||
performance evaluation), enable BRLCAD-ENABLE_OPTIMIZED_BUILD
|
||||
|
||||
See the CONFIGURATION OPTIONS below for more details on all of the
|
||||
possible settings.
|
||||
|
||||
Once configured, you should be able to succesfully build BRL-CAD via
|
||||
make:
|
||||
|
||||
make
|
||||
|
||||
See the COMPILATION OPTIONS section in this document for more details
|
||||
on compile-time options including options for parallel build support.
|
||||
|
||||
|
||||
Testing the Compilation:
|
||||
|
||||
To test BRL-CAD before installation, you can run the BRL-CAD benchmark.
|
||||
The benchmark will report if the results are correct, testing a
|
||||
majority of the core functionality of BRL-CAD in addition to testing
|
||||
your system's performance:
|
||||
|
||||
make benchmark
|
||||
|
||||
Note that the benchmark target will build ONLY the pieces required for
|
||||
the benchmark tests, unless a general make has already been performed.
|
||||
|
||||
See the TESTING FUNCTIONALITY section of this document for more
|
||||
details on how to ensure that the build completed successfully and
|
||||
additional tests that may be run.
|
||||
|
||||
|
||||
Installing the Compilation:
|
||||
|
||||
After the build successfully completes and assuming the benchmark also
|
||||
produces correct results, installation may begin. Like any package,
|
||||
you must have sufficient filesystem permissions to install. To
|
||||
install into a system location, you can generally either become a
|
||||
super user via the su or sudo commands:
|
||||
|
||||
sudo make install
|
||||
|
||||
See the INSTALLATION OPTIONS section of this document for more details
|
||||
on BRL-CAD installation options and post-install environment
|
||||
preparations.
|
||||
|
||||
BUILD TYPES
|
||||
-----------
|
||||
|
||||
As mentioned earlier, the default CMake settings are very minimalist and
|
||||
not usually the most useful. There are two "build types", controlled by
|
||||
the CMAKE_BUILD_TYPE variable, that are useful for specific purposes:
|
||||
|
||||
* Debug (-DCMAKE_BUILD_TYPE=Debug) - Debug is the configuration that most
|
||||
developers will want to use when working on BRL-CAD. It will add
|
||||
debug flags to the compile, and sets the default install directory to
|
||||
be ../brlcad-install instead of /usr/brlcad. (This avoids the need to
|
||||
constantly enable sudo to do an install, and lets a developer work on
|
||||
their build even when a system install is also present.) In order to
|
||||
run the resulting install binaries, the developer should ensure that
|
||||
the local install path is first in their PATH environment variable -
|
||||
see INSTALLATION OPTIONS below.
|
||||
|
||||
* Release (-DCMAKE_BUILD_TYPE=Release) - A release build is intended for
|
||||
final consumption by end users and as such has optimizations enabled.
|
||||
It also sets the install path to /usr/brlcad/rel-X.Y.Z - best practice
|
||||
for release installation is to set up symbolic links in /usr/brlcad to
|
||||
point to the most current BRL-CAD release, while allowing older versions
|
||||
to remain installed on the system in case they are needed.
|
||||
|
||||
In both of these cases any individual variable may be overridden - for
|
||||
example, setting -DCMAKE_INSTALL_PREFIX=/usr/brlcad in a Debug build will
|
||||
override the ../brlcad-install default. Build types are a convenient way
|
||||
to bundle sets of settings, but they do not prevent overrides if a more
|
||||
custom setup is needed.
|
||||
|
||||
|
||||
CONFIGURATION OPTIONS
|
||||
---------------------
|
||||
|
||||
The `configure' build script is used to set compilation options and
|
||||
supports a wide selection of compilation directives. See the ENABLE
|
||||
OPTIONS and WITH OPTIONS lists below for the arguments presently
|
||||
available to configure in more descriptive detail. The brief summary
|
||||
is that "enable" options focus INWARD and "with" options focus
|
||||
OUTWARD. There are various --enable-* flags that toggle how BRL-CAD
|
||||
code is compiled. There are various --with-* flags that toggle what
|
||||
system services are used and how to find them.
|
||||
|
||||
In order to avoid compilation problems, you should set all compilation
|
||||
options on the `configure' command line, using `VAR=value'. For
|
||||
example:
|
||||
|
||||
./configure CC=/usr/ucb/bin/cc
|
||||
|
||||
will cause the specified executable program to be used as the C
|
||||
compiler. The most common configuration tested is a default
|
||||
debuggable build intended for installation into /usr/brlcad with no
|
||||
external dependencies assumed:
|
||||
|
||||
./configure --enable-all --disable-strict
|
||||
|
||||
By default, BRL-CAD is configured to build the entire package and will
|
||||
install completely isolated into the /usr/brlcad directory.
|
||||
Configuration will prepare the build for an unoptimized compilation by
|
||||
default and will attempt to utilize required system libraries if they
|
||||
are available, otherwise compiling the required library dependencies
|
||||
as needed. Run `./configure --help' for a list of all of the possible
|
||||
configuration options.
|
||||
|
||||
|
||||
ENABLE OPTIONS:
|
||||
|
||||
The below --enable-* options can be used to enable or disable aspects
|
||||
of compilation that relate to what and how BRL-CAD will be compiled.
|
||||
Using --disable-* is the same as --enable-*=no and either can be used
|
||||
interchangably. As BRL-CAD is a large bazaar of functionality, there
|
||||
are a lot of options and configurations possible. See the section
|
||||
labeled WITH OPTIONS below for a list of options that enable/disable
|
||||
optional system functionality.
|
||||
|
||||
--enable-almost-everything enables compilation of all 3rd party
|
||||
sources that are provided within a BRL-CAD source distribution. If
|
||||
used, this option effectively turns on all of the below documented
|
||||
--enable-*-build options. Default is "auto", 3rd party sources are
|
||||
compiled only if they are not detected as being available and
|
||||
functioning as expected. Aliases:
|
||||
--enable-all
|
||||
--enable-all-build
|
||||
--enable-build-all
|
||||
--enable-all-builds
|
||||
--enable-everything
|
||||
--enable-everything-build
|
||||
--enable-build-everything
|
||||
|
||||
--enable-only-benchmark prepares the build system to only compile and
|
||||
install the minimal set of libraries and binaries needed to run the
|
||||
BRL-CAD Benchmark suite. Default is "no". Aliases:
|
||||
--enable-only-bench
|
||||
--enable-only-benchmarks
|
||||
--enable-bench-only
|
||||
--enable-benchmark-only
|
||||
--enable-benchmarks-only
|
||||
|
||||
--enable-only-rtserver prepares the build system to only compile and
|
||||
install the minimal set of libraries needed for the Java-interfacing
|
||||
"rtserver" interface (used by ARL for analysis purposes). Default is
|
||||
"no". Aliases:
|
||||
--enable-only-rts
|
||||
--enable-only-librtserver
|
||||
--enable-rts-only
|
||||
--enable-rtserver-only
|
||||
--enable-librtserver-only
|
||||
|
||||
--enable-runtime-debug enables support for application and library
|
||||
debugging facilities. Disabling the run-time debugging facilities can
|
||||
provide a significant (10%-30%) performance boost at the expense of
|
||||
extensive error checking (that in turn help prevent corruption of your
|
||||
data). Default is "yes", and should only be disabled for read-only
|
||||
render work where performance is critical. Aliases:
|
||||
--enable-run-time-debug
|
||||
--enable-runtime-debugging
|
||||
--enable-run-time-debugging
|
||||
|
||||
--enable-strict-build causes all compilation warnings to be treated as
|
||||
errors for certain portions of code that has undergone a more thorough
|
||||
review. This behavior of this flag is heavily influenced by
|
||||
compilation settings (such as --enable-warnings) including
|
||||
optimization flags (such as --enable-optimized). Default is "yes".
|
||||
Aliases:
|
||||
--enable-strict
|
||||
--enable-strict-compile
|
||||
--enable-strict-compile-flags
|
||||
|
||||
--enable-64bit-build attempts to force compilation to produce 64-bit
|
||||
binaries and libraries. Note that it merely *ATTEMPTS* to force
|
||||
64-bit compilation but in all practicality and likelihood, you will
|
||||
need to manually specify CFLAGS/CPPFLAGS/CXXFLAGS/LDFLAGS to specify
|
||||
64-bit compilation. Default is "auto", where the default compilation
|
||||
mode as set by the compiler will be utilized. Aliases:
|
||||
--enable-64bit
|
||||
--enable-64
|
||||
--enable-64-build
|
||||
--enable-64-bit
|
||||
--enable-64-bit-build
|
||||
|
||||
--enable-regex-build turns on compilation of the regular expression
|
||||
library that is provided in a BRL-CAD source distribution. Default is
|
||||
"auto", meaning that libregex will be compiled and installed only if a
|
||||
suitable system regex library is not found. Aliases:
|
||||
--enable-regex
|
||||
--enable-libregex
|
||||
--enable-libregex-build
|
||||
|
||||
--enable-png-build turns on compilation of the Portable Network
|
||||
Graphics library that is provided in a BRL-CAD source distribution.
|
||||
Default is "auto", meaning that libpng will be compiled and installed
|
||||
only if a suitable system PNG library is not found. Aliases:
|
||||
--enable-png
|
||||
--enable-libpng
|
||||
--enable-libpng-build
|
||||
|
||||
--enable-zlib-build turns on compilation of the zlib library that is
|
||||
provided in a BRL-CAD source distribution. Default is "auto", meaning
|
||||
that libz will be compiled and installed only if a suitable system
|
||||
zlib is not found. Aliases:
|
||||
--enable-zlib
|
||||
--enable-libz
|
||||
--enable-libz-build
|
||||
|
||||
--enable-urt-build turns on compilation of the Utah Raster Toolkit
|
||||
that is provided in a BRL-CAD source distribution. Default is "auto",
|
||||
meaning that libutahrle will be compiled and installed only if a
|
||||
suitable system rle library is not found. Aliases:
|
||||
--enable-urt
|
||||
--enable-urtoolkit
|
||||
--enable-urtoolkit-build
|
||||
--enable-utahrle
|
||||
--enable-utahrle-build
|
||||
--enable-libutahrle
|
||||
--enable-libutahrle-build
|
||||
--enable-utah-raster-toolkit
|
||||
--enable-utah-raster-toolkit-build
|
||||
|
||||
--enable-opennurbs-build turns on compilation of the openNURBS library
|
||||
that is provided in a BRL-CAD source distribution. Default is "auto",
|
||||
meaning that libopenNURBS will be compiled and installed only if a
|
||||
suitable system openNURBS library is not found. Aliases:
|
||||
--enable-opennurbs
|
||||
--enable-libopennurbs
|
||||
--enable-libopennurbs-build
|
||||
--enable-open-nurbs
|
||||
--enable-open-nurbs-build
|
||||
|
||||
--enable-step-build turns on compilation of the NIST Step Class
|
||||
Libraries that are provided in a BRL-CAD source distribution. Default
|
||||
is "auto", meaning that step will be compiled and installed only if a
|
||||
suitable system NIST SCL libraries are not found. Aliases:
|
||||
--enable-step
|
||||
--enable-steplibs
|
||||
--enable-libstep
|
||||
--enable-libstep-build
|
||||
|
||||
--enable-termlib-build turns on compilation of the termlib library
|
||||
that is provided in a BRL-CAD source distribution. Default is "auto",
|
||||
meaning that libtermlib will be compiled and installed only if a
|
||||
suitable system termcap or termlib library is not found. Aliases:
|
||||
--enable-termlib
|
||||
--enable-termcap
|
||||
--enable-termcap-build
|
||||
--enable-libtermlib
|
||||
--enable-libtermlib-build
|
||||
--enable-libtermcap
|
||||
--enable-libtermcap-build
|
||||
|
||||
--enable-tcl-build turns on compilation of the Tcl library that is
|
||||
provided in a BRL-CAD source distribution. Default is "auto", meaning
|
||||
that libtcl will be compiled and installed only if a suitable system
|
||||
Tcl library is not found. Aliases:
|
||||
--enable-tcl
|
||||
--enable-libtcl
|
||||
--enable-libtcl-build
|
||||
|
||||
--enable-tk-build turns on compilation of the Tk library that is
|
||||
provided in a BRL-CAD source distribution. Default is "auto", meaning
|
||||
that libtk will be compiled and installed only if a suitable system Tk
|
||||
library is not found. Aliases:
|
||||
--enable-tk
|
||||
--enable-libtk
|
||||
--enable-libtk-build
|
||||
|
||||
--enable-aquatk-build turns on compilation of the Aqua Tk options for
|
||||
the Tk library on Mac OSX. Default is "off". Aliases:
|
||||
--enable-aquatk
|
||||
--enable-aqua-tk
|
||||
--enable-aqua-tk-build
|
||||
--enable-tkaqua
|
||||
--enable-tkaqua-build
|
||||
--enable-tk-aqua-build
|
||||
|
||||
--enable-itcl-build turns on compilation of the Incr Tcl/Tk library
|
||||
that is provided in a BRL-CAD source distribution. Default is "auto",
|
||||
meaning that libitcl and libitk will be compiled and installed only if
|
||||
a suitable system library (for either) is not found. Aliases:
|
||||
--enable-itcl
|
||||
--enable-itk
|
||||
--enable-itk-build
|
||||
--enable-libitcl
|
||||
--enable-libitcl-build
|
||||
--enable-libitk
|
||||
--enable-libitk-build
|
||||
--enable-incrtcl
|
||||
--enable-incrtcl-build
|
||||
|
||||
--enable-iwidgets-install turns on installation of the Iwidgets
|
||||
library that is provided in a BRL-CAD source distribution. Default is
|
||||
"auto", meaning that the iwidgets tcl scripts will be installed only
|
||||
if a suitable system Iwidgets functionality is not found. Aliases:
|
||||
--enable-iwidgets
|
||||
--enable-iwidgets-build
|
||||
|
||||
--enable-tkhtml-build turns on compilation of the tkhtml library that is
|
||||
provided in a BRL-CAD source distribution. Default is "yes".
|
||||
Aliases:
|
||||
--enable-tkhtml
|
||||
--enable-tkhtml-build
|
||||
|
||||
--enable-tkpng-build turns on compilation of the tkpng library that is
|
||||
provided in a BRL-CAD source distribution. Default is "auto", meaning
|
||||
that libtkpng will be compiled and installed only if a suitable system
|
||||
tkpng library is not found. Aliases:
|
||||
--enable-tkpng
|
||||
--enable-tkpng-build
|
||||
--enable-libtkpng
|
||||
--enable-libtkpng-build
|
||||
|
||||
--enable-tktable-build turns on compilation of the tktable library that is
|
||||
provided in a BRL-CAD source distribution. Default is "yes". Aliases:
|
||||
--enable-tktable
|
||||
--enable-tktable-build
|
||||
|
||||
--enable-tnt-install turns on installation of the Template Numerical
|
||||
Toolkit that is provided in a BRL-CAD source distribution. Default is
|
||||
"auto", meaning that the TNT headers will be installed only if
|
||||
suitable system TNT functionality is not found. Aliases:
|
||||
--enable-tnt
|
||||
--enable-tnt-build
|
||||
--enable-template-numerical-toolkit
|
||||
--enable-template-numerical-toolkit-build
|
||||
--enable-template-numerical-toolkit-install
|
||||
|
||||
--enable-jove-build turns on compilation of Jonathan's Own Version of
|
||||
Emacs (jove), a lightweight text editor with functionality similar to
|
||||
Emacs but with different key bindings that is included in a BRL-CAD
|
||||
source distribution. Default is "auto", meaning that jove will be
|
||||
compiled and installed only if suitable system editor functionality is
|
||||
not found. Aliases:
|
||||
--enable-jove
|
||||
|
||||
--enable-ef-build turns on compilation of the Endgame Framework module
|
||||
used to provide BRL-CAD geometry import support to the Endgame
|
||||
Framework application development environment. Default is "no".
|
||||
Aliases:
|
||||
--enable-ef
|
||||
--enable-endgameframework
|
||||
--enable-endgameframework-build
|
||||
--enable-endgame-framework
|
||||
--enable-endgame-framework-build
|
||||
|
||||
--enable-unigraphics-build turns on compilation of the Unigraphics (NX)
|
||||
importer used to provide conversion support from Unigraphics format to
|
||||
a tessellated BRL-CAD geometry format. Default is "no". Aliases:
|
||||
--enable-unigraphics
|
||||
--enable-ug
|
||||
--enable-ug-build
|
||||
--enable-nx
|
||||
--enable-nx-build
|
||||
|
||||
--enable-models-install turns on installation of provided example
|
||||
geometry models. Default is "yes". Aliases:
|
||||
--enable-models
|
||||
--enable-models-build
|
||||
--enable-geometry
|
||||
--enable-geometry-build
|
||||
--enable-geometry-install
|
||||
|
||||
--enable-documentation turns on documentation requiring Docbook based
|
||||
compilation. Default is "auto", meaning it will build the documentation
|
||||
if suitable tools to do so are found. Aliases:
|
||||
--enable-documentation-install
|
||||
--enable-docs
|
||||
--enable-docs-install
|
||||
|
||||
--enable-optimized turns on optimized compilation. Note that
|
||||
optimized compilation may potentially change the warnings produced by
|
||||
the compiler. You may also need to specify --disable-strict or
|
||||
--disable-warnings to avoid halting on compilation warnings. Default
|
||||
is "no". Aliases:
|
||||
--enable-opt
|
||||
--enable-optimize
|
||||
--enable-optimization
|
||||
--enable-optimizations
|
||||
|
||||
--enable-debug turns on debug compilation (debugging symbols).
|
||||
Default is "yes". Aliases:
|
||||
--enable-debugging
|
||||
|
||||
--enable-profiling turns on profile compilation. Default is "no".
|
||||
Aliases:
|
||||
--enable-profile
|
||||
--enable-profiled
|
||||
|
||||
--enable-parallel turns on support for SMP architectures. Default is "yes".
|
||||
Aliases:
|
||||
--enable-parallel-build
|
||||
--enable-smp
|
||||
--enable-smp-build
|
||||
|
||||
--enable-dtrace turns on Sun dtrace support. Default is "no".
|
||||
Aliases:
|
||||
None
|
||||
|
||||
--enable-verbose turns on verbose compilation output effectively
|
||||
implying --enable-warnings and --enable-progress as described below.
|
||||
Default is "no". Aliases:
|
||||
--enable-verbosity
|
||||
--enable-output-verbose
|
||||
--enable-verbose-output
|
||||
--enable-build-verbose
|
||||
--enable-verbose-build
|
||||
|
||||
--enable-warnings turns on verbose compilation warnings, causing
|
||||
additional compilation flags to be given to the compiler in order to
|
||||
provoke additional compilation warnings. Default is "no". Aliases:
|
||||
--enable-warning
|
||||
--enable-verbose-warnings
|
||||
--enable-warnings-verbose
|
||||
--enable-build-warnings
|
||||
--enable-warnings-build
|
||||
|
||||
--enable-progress turns on verbose compilation progress status,
|
||||
showing unquelled libtool compilation steps. Default is "no".
|
||||
Aliases:
|
||||
--enable-verbose-progress
|
||||
--enable-progress-verbose
|
||||
--enable-build-progress
|
||||
--enable-progress-build
|
||||
|
||||
--enable-rtgl turns on compilation of an experimental Ray Trace OpenGL
|
||||
display manager, providing shaded displays within MGED. Default is
|
||||
"no". Aliases:
|
||||
None
|
||||
|
||||
|
||||
WITH OPTIONS:
|
||||
|
||||
The below --with-* options enable/disable/locate OPTIONAL SYSTEM
|
||||
FUNCTIONALITY that should be compiled against. Contrary to the
|
||||
--enable-* options, none of the --with-* options are required to
|
||||
obtain a fully functional BRL-CAD install. Using --without-* is the
|
||||
same as --with-*=no and either can be used interchangably (though be
|
||||
careful of options that expect a PATH instead of "no"). See the
|
||||
section labeled ENABLE OPTIONS above for a list of options that
|
||||
enable/disable all other aspects of BRL-CAD compilation.
|
||||
|
||||
--with-jdk[=PATH] turns on compilation of code that requires the Java
|
||||
Development Kit. The specified PATH should be provided. Default is
|
||||
"auto" meaning that if suitable Java functionality is detected, then
|
||||
code that uses Java will be compiled (librtserver). Aliases:
|
||||
--with-java
|
||||
|
||||
--with-proe is in flux with --enable-proe-build. Consult the help for
|
||||
current information.
|
||||
|
||||
--with-x11[=PATH] informs configure where X11 headers/libraries may be
|
||||
located. Default is "auto" meaning that standard/common paths will be
|
||||
searched for X11 functionality. Aliases:
|
||||
--with-x
|
||||
|
||||
--with-ogl informs configure that the OpenGL framebuffer and
|
||||
display manager interfaces should be compiled (and hence they should
|
||||
link against a system OpenGL library). This option has absolutely
|
||||
nothing to do with shaded displays of geometry in MGED. Default is
|
||||
"auto" meaning the interfaces will be automatically compiled if
|
||||
suitable OpenGL headers and libraries are found. Aliases:
|
||||
--with-opengl
|
||||
|
||||
--with-wgl informs configure that it should attempt to compile the
|
||||
Windows GL framebuffer and display manager interfaces. This option is
|
||||
hard-enabled in the MSVC build files for BRL-CAD. Default is "auto"
|
||||
for configure meaning that the wgl interfaces will be compiled if the
|
||||
Windows opengl32 dll is found. Aliases:
|
||||
--with-windowsgl
|
||||
|
||||
|
||||
COMPILATION OPTIONS
|
||||
-------------------
|
||||
|
||||
If you are on a multiprocessor machine, you can compile in parallel
|
||||
depending on the version of `make' being used. For the GNU and BSD
|
||||
make, you can use the -j argument. For example, to use 4 CPUs:
|
||||
|
||||
make -j4
|
||||
|
||||
With the IRIX compiler, the -P option enables parallel build mode and
|
||||
the PARALLEL environment variable sets the number of CPUs (default is
|
||||
two):
|
||||
|
||||
PARALLEL=4 make -P
|
||||
|
||||
If you would like to pass custom compiler or linker options, there are
|
||||
several ways this may be achieved both during 'configure' and/or
|
||||
during 'make'. These flags include CFLAGS, CPPFLAGS, LDFLAGS, and
|
||||
LIBS. Configure supports these as either variables or as --with
|
||||
options:
|
||||
|
||||
./configure CFLAGS="-O3" LDFLAGS="-pthread"
|
||||
./configure --with-cppflags="-I/opt/include" --with-libs="-lz"
|
||||
|
||||
BRLCAD_C_FLAGS - may need to set up the others?
|
||||
|
||||
|
||||
GNU and BSD make support the same flags as overrides of the default
|
||||
provided flags as well:
|
||||
|
||||
make CFLAGS="-O0 -g -pg" LDFLAGS="-L/opt/malloc" LIBS="-lmalloc"
|
||||
|
||||
|
||||
INSTALLATION OPTIONS
|
||||
--------------------
|
||||
|
||||
By default, `make install' will install BRL-CAD's files into
|
||||
`/usr/brlcad/bin', `/usr/brlcad/man', etc. You can specify an
|
||||
installation prefix other than `/usr/brlcad' by giving `configure' the
|
||||
option `--prefix=PATH'.
|
||||
|
||||
|
||||
Setting Up the Path:
|
||||
|
||||
Once installed, you will need to add /usr/brlcad/bin to your system
|
||||
PATH. For Bourne shell users, you can run the following:
|
||||
|
||||
PATH=/usr/brlcad/bin:$PATH ; export PATH
|
||||
|
||||
For C shell users, this should do the same thing:
|
||||
|
||||
set path=( /usr/brlcad/bin $path ) ; rehash
|
||||
|
||||
If you would like to provide BRL-CAD to multiple users, your shell
|
||||
environment scripts should be edited so that /usr/brlcad/bin is added
|
||||
to the system path. This usually entails editing /etc/profile,
|
||||
/etc/csh.login, /etc/bashrc, and possibly other files depending on
|
||||
your platform.
|
||||
|
||||
|
||||
Setting Up the Manual Pages Path:
|
||||
|
||||
It may be useful to add /usr/brlcad/man to your MANPATH in the same
|
||||
manner as shown above for PATH. Conversely, you can use the `brlman'
|
||||
command that is already preconfigured to locate the BRL-CAD manpages.
|
||||
|
||||
|
||||
Configuring permissions uniformly with group read/write access:
|
||||
|
||||
find /usr/brlcad -type d -exec chmod ug+rwx {} \; -exec chmod o+rx {} \; -o -type f -exec chmod ug+rw {} \; -exec chmod o+r {} \;
|
||||
|
||||
The above 'find' line will set up permissions across a /usr/brlcad
|
||||
rooted installation such that 'user' and 'group' will have read-write
|
||||
access and 'other' will have read access consistently across all
|
||||
files. This is a common configuration used by BRL-CAD developers that
|
||||
allows shared management of installations amongst developers while
|
||||
having all users maintain read-only access.
|
||||
|
||||
|
||||
|
||||
TESTING FUNCTIONALITY
|
||||
---------------------
|
||||
|
||||
Testing a Compilation:
|
||||
|
||||
After BRL-CAD is compiled, you can test the build via:
|
||||
|
||||
make test
|
||||
|
||||
This will run a series of tests on the compiled sources to make sure
|
||||
that they behave as they should. If those tests succeed, another
|
||||
useful test is to ensure that the geometric library computations are
|
||||
correct by running the BRL-CAD Benchmark:
|
||||
|
||||
make benchmark
|
||||
|
||||
The benchmark will run for several minutes computing frames of
|
||||
well-known ray-trace images, and comparing the validity of the results
|
||||
as well as overall performance metrics. The benchmark should report
|
||||
CORRECT after each section of output and a overal VGR metric of
|
||||
performance.
|
||||
|
||||
|
||||
Testing an Installation:
|
||||
|
||||
After BRL-CAD is installed, simply running `rt' and/or `mged' are good
|
||||
tests of basic functionality. Running `rt' without any options should
|
||||
display version information and a usage message. Running `mged'
|
||||
without any options will start the GUI-based solid modeler
|
||||
application. Running "benchmark" should invoke the BRL-CAD Benchmark
|
||||
and test the performance of the binaries as installed on a given
|
||||
system.
|
||||
|
||||
|
||||
POST-INSTALLATION
|
||||
-----------------
|
||||
|
||||
|
||||
REPORTING PROBLEMS
|
||||
------------------
|
||||
|
||||
Please report any bugs encountered to the project bug tracker at
|
||||
http://sourceforge.net/tracker/?group_id=105292&atid=640802
|
||||
|
||||
Similarly, please post any request for feature enhancements or support
|
||||
to http://sourceforge.net/tracker/?group_id=105292&atid=640805 and
|
||||
http://sourceforge.net/tracker/?group_id=105292&atid=640803
|
||||
respectively.
|
||||
|
||||
|
||||
---
|
||||
$Revision$
|
||||
+493
@@ -0,0 +1,493 @@
|
||||
# M A K E F I L E . A M
|
||||
# BRL-CAD
|
||||
#
|
||||
# Copyright (c) 2005-2011 United States Government as represented by
|
||||
# the U.S. Army Research Laboratory.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions
|
||||
# are met:
|
||||
#
|
||||
# 1. Redistributions of source code must retain the above copyright
|
||||
# notice, this list of conditions and the following disclaimer.
|
||||
#
|
||||
# 2. Redistributions in binary form must reproduce the above
|
||||
# copyright notice, this list of conditions and the following
|
||||
# disclaimer in the documentation and/or other materials provided
|
||||
# with the distribution.
|
||||
#
|
||||
# 3. The name of the author may not be used to endorse or promote
|
||||
# products derived from this software without specific prior written
|
||||
# permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
|
||||
# OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
|
||||
# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
|
||||
# GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
||||
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
||||
# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
###
|
||||
|
||||
AUTOMAKE_OPTIONS = 1.6 dist-zip dist-bzip2
|
||||
ACLOCAL_AMFLAGS = -I m4
|
||||
DISTCHECK_CONFIGURE_FLAGS = --enable-all
|
||||
|
||||
required_dirs = \
|
||||
include \
|
||||
src
|
||||
|
||||
bench_dirs = \
|
||||
bench \
|
||||
db \
|
||||
pix
|
||||
|
||||
other_dirs = \
|
||||
doc \
|
||||
m4 \
|
||||
misc \
|
||||
regress \
|
||||
sh
|
||||
|
||||
if ONLY_BENCHMARK
|
||||
SUBDIRS = \
|
||||
$(required_dirs) \
|
||||
$(bench_dirs)
|
||||
|
||||
else !ONLY_BENCHMARK
|
||||
|
||||
if ONLY_RTS
|
||||
SUBDIRS = \
|
||||
$(required_dirs)
|
||||
|
||||
else !ONLY_RTS
|
||||
SUBDIRS = \
|
||||
$(required_dirs) \
|
||||
$(bench_dirs) \
|
||||
$(other_dirs)
|
||||
|
||||
endif
|
||||
# ONLY_RTS
|
||||
|
||||
endif
|
||||
# ONLY_BENCHMARK
|
||||
|
||||
|
||||
DIST_SUBDIRS = \
|
||||
$(required_dirs) \
|
||||
$(bench_dirs) \
|
||||
$(other_dirs)
|
||||
|
||||
documentationdir = $(BRLCAD_DATA)
|
||||
|
||||
documentation_DATA = \
|
||||
AUTHORS \
|
||||
COPYING \
|
||||
HACKING \
|
||||
INSTALL \
|
||||
NEWS \
|
||||
README
|
||||
|
||||
EXTRA_DIST = \
|
||||
$(documentation_DATA) \
|
||||
BUGS \
|
||||
ChangeLog \
|
||||
TODO \
|
||||
autogen.sh \
|
||||
libtool
|
||||
|
||||
DISTCLEANFILES = \
|
||||
$(CONFIG_CACHE) \
|
||||
aclocal.m4 \
|
||||
config.log \
|
||||
config.status \
|
||||
install.$(host_triplet).log \
|
||||
libtool \
|
||||
so_locations
|
||||
|
||||
|
||||
##########################
|
||||
# packaged distributions #
|
||||
##########################
|
||||
|
||||
$(PACKAGE)-$(BRLCAD_VERSION).tar.gz: dist
|
||||
|
||||
# Build a Mac OS X Installer .pkg -- make sure the package resources
|
||||
# reflect the correct version. we specifically do not use an autoconf
|
||||
# template so that the file may be edited without doing a configure
|
||||
# (which would also cause a need to regenerate the template to keep in
|
||||
# sync every time it's edited).
|
||||
$(PACKAGE_NAME)_$(BRLCAD_VERSION).pkg:
|
||||
@if ! test -f "install.$(host_triplet).log" ; then \
|
||||
echo ; \
|
||||
echo "}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}" ; \
|
||||
echo " WARNING: It seems as though you might not have" ; \
|
||||
echo " installed BRL-CAD yet?" ; \
|
||||
echo ; \
|
||||
echo " You should run 'make install' before creating a" ; \
|
||||
echo " binary distribution package. Trying regardless." ; \
|
||||
echo "{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{" ; \
|
||||
echo ; \
|
||||
fi
|
||||
@echo "Building an Installer package for Mac OS X"
|
||||
@echo
|
||||
@echo "Warning: this package target presently assumes that the install directory"
|
||||
@echo " does not contain extra files and comprises a full clean install."
|
||||
@echo
|
||||
@if test -f "$(top_srcdir)/misc/macosx/Resources/ReadMe.rtfd/TXT.rtf" ; then \
|
||||
perl -pi -e "s/BRL-CAD [0-9]*\.[0-9]*\.[0-9]*/BRL-CAD $(BRLCAD_VERSION)/g" $(top_srcdir)/misc/macosx/Resources/ReadMe.rtfd/TXT.rtf ; \
|
||||
fi
|
||||
@if test -f "$(top_srcdir)/misc/macosx/Resources/Welcome.rtfd/TXT.rtf" ; then \
|
||||
perl -pi -e "s/BRL-CAD [0-9]*\.[0-9]*\.[0-9]*/BRL-CAD $(BRLCAD_VERSION)/g" $(top_srcdir)/misc/macosx/Resources/Welcome.rtfd/TXT.rtf ; \
|
||||
fi
|
||||
@${SH} $(top_srcdir)/sh/make_pkg.sh "$(PACKAGE_NAME)" "$(BRLCAD_VERSION)" "$(DESTDIR)$(prefix)" "$(top_srcdir)/misc/macosx/Resources"
|
||||
|
||||
openUp:
|
||||
cd misc/macosx && $(MAKE) openUp
|
||||
|
||||
$(PACKAGE_NAME)_$(BRLCAD_VERSION).dmg: $(PACKAGE_NAME)_$(BRLCAD_VERSION).pkg openUp
|
||||
@echo "Building a Disk Image for Mac OS X"
|
||||
@echo
|
||||
@${SH} $(top_srcdir)/sh/make_dmg.sh "$(PACKAGE_NAME)" "$(BRLCAD_VERSION)" "$(top_srcdir)/misc/macosx/background.png"
|
||||
|
||||
# using home is probably not a great choice..
|
||||
$(PACKAGE_NAME)_$(BRLCAD_VERSION).rpm: $(PACKAGE)-$(BRLCAD_VERSION).tar.gz
|
||||
@echo "Building binary RPM for RedHat Linux"
|
||||
@echo
|
||||
@CP@ $(PACKAGE)-$(BRLCAD_VERSION).tar.gz ${HOME}/rpm/SOURCES/
|
||||
rpmbuild -ba $(top_builddir)/misc/brlcad.spec
|
||||
@CP@ ${HOME}/rpm/RPMS/i386/$(PACKAGE_NAME)_$(BRLCAD_VERSION)_*.i386.rpm .
|
||||
@touch $(PACKAGE_NAME)_$(BRLCAD_VERSION).rpm
|
||||
@echo "WARNING: Fake make placeholder created as $(PACKAGE_NAME)_$(BRLCAD_VERSION).rpm"
|
||||
@echo
|
||||
|
||||
# using home is probably not a great choice..
|
||||
# use PACKAGE instead of PACKAGE_NAME because it's a source release
|
||||
$(PACKAGE)-$(BRLCAD_VERSION).src.rpm: $(PACKAGE)-$(BRLCAD_VERSION).tar.gz
|
||||
@echo "Building source RPM for RedHat Linux"
|
||||
@CP@ $(PACKAGE)-$(BRLCAD_VERSION).tar.gz ${HOME}/rpm/SOURCES/
|
||||
rpmbuild -ba $(top_builddir)/misc/brlcad.spec
|
||||
@CP@ ${HOME}/rpm/SRPMS/$(PACKAGE)-$(BRLCAD_VERSION)-*.src.rpm .
|
||||
@touch $(PACKAGE)-$(BRLCAD_VERSION).src.rpm
|
||||
@echo "WARNING: Fake make placeholder created as $(PACKAGE)-$(BRLCAD_VERSION).src.rpm"
|
||||
@echo
|
||||
|
||||
$(PACKAGE_NAME)_$(BRLCAD_VERSION).deb:
|
||||
@echo "Building a package for Debian Linux"
|
||||
@echo
|
||||
@${SH} $(top_srcdir)/sh/make_deb.sh "$(PACKAGE_NAME)_$(BRLCAD_VERSION)"
|
||||
|
||||
$(PACKAGE_NAME)_$(BRLCAD_VERSION).zip:
|
||||
@if ! test -f "install.$(host_triplet).log" ; then \
|
||||
echo ; \
|
||||
echo "}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}" ; \
|
||||
echo " WARNING: It seems as though you might not have" ; \
|
||||
echo " installed BRL-CAD yet?" ; \
|
||||
echo ; \
|
||||
echo " You should run 'make install' before creating a" ; \
|
||||
echo " binary distribution package. Trying regardless." ; \
|
||||
echo "{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{" ; \
|
||||
echo ; \
|
||||
fi
|
||||
@echo "Building a zip-compressed file archive"
|
||||
@echo
|
||||
@${SH} $(top_srcdir)/sh/make_zip.sh "$(PACKAGE_NAME)_$(BRLCAD_VERSION)"
|
||||
@echo
|
||||
@echo "Built $(PACKAGE_NAME)_$(BRLCAD_VERSION).zip for $(host_triplet)"
|
||||
|
||||
$(PACKAGE_NAME)_$(BRLCAD_VERSION).tar.gz: $(PACKAGE_NAME)_$(BRLCAD_VERSION).tar
|
||||
@echo "Building a gzip-compressed tape archive"
|
||||
@echo
|
||||
@${SH} $(top_srcdir)/sh/make_tgz.sh "$(PACKAGE_NAME)_$(BRLCAD_VERSION)"
|
||||
@echo
|
||||
@echo "Built $(PACKAGE_NAME)_$(BRLCAD_VERSION).tar.gz for $(host_triplet)"
|
||||
|
||||
$(PACKAGE_NAME)_$(BRLCAD_VERSION).tar.bz2: $(PACKAGE_NAME)_$(BRLCAD_VERSION).tar
|
||||
@echo "Building a bzip2-compressed tape archive"
|
||||
@echo
|
||||
@${SH} $(top_srcdir)/sh/make_bz2.sh "$(PACKAGE_NAME)_$(BRLCAD_VERSION)"
|
||||
@echo
|
||||
@echo "Built $(PACKAGE_NAME)_$(BRLCAD_VERSION).tar.bz2 for $(host_triplet)"
|
||||
|
||||
$(PACKAGE_NAME)_$(BRLCAD_VERSION).tar:
|
||||
@if ! test -f "install.$(host_triplet).log" ; then \
|
||||
echo ; \
|
||||
echo "}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}" ; \
|
||||
echo " WARNING: It seems as though you might not have" ; \
|
||||
echo " installed BRL-CAD yet?" ; \
|
||||
echo ; \
|
||||
echo " You should run 'make install' before creating a" ; \
|
||||
echo " binary distribution package. Trying regardless." ; \
|
||||
echo "{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{" ; \
|
||||
echo ; \
|
||||
fi
|
||||
@echo "Building an uncompressed tape archive"
|
||||
@echo
|
||||
@${SH} $(top_srcdir)/sh/make_tar.sh "$(PACKAGE_NAME)" "$(BRLCAD_VERSION)" "$(DESTDIR)$(prefix)"
|
||||
@echo
|
||||
@echo "Built $(PACKAGE_NAME)_$(BRLCAD_VERSION).tar for $(host_triplet)"
|
||||
|
||||
|
||||
#############
|
||||
# the rules #
|
||||
#############
|
||||
|
||||
.PHONY : clobber benchmark bench regression regress test pkg dmg rpm deb zip tgz tbz
|
||||
|
||||
clobber:
|
||||
@cd bench && $(MAKE) clobber
|
||||
|
||||
benchmark: all
|
||||
@cd bench && $(MAKE) run
|
||||
|
||||
bench: benchmark
|
||||
|
||||
regression: all
|
||||
@cd regress && $(MAKE) regression
|
||||
|
||||
dox : misc/Doxyfile misc/doxygen_structure
|
||||
doxygen $(top_srcdir)/misc/Doxyfile
|
||||
|
||||
regress: regression
|
||||
|
||||
test: regression
|
||||
|
||||
check: regression
|
||||
@TIMEFRAME=1 $(MAKE) benchmark
|
||||
|
||||
pkg: $(PACKAGE_NAME)_$(BRLCAD_VERSION).pkg
|
||||
@echo "Done."
|
||||
|
||||
dmg: pkg $(PACKAGE_NAME)_$(BRLCAD_VERSION).dmg
|
||||
@echo "Done."
|
||||
|
||||
rpm: $(PACKAGE_NAME)_$(BRLCAD_VERSION).rpm $(PACKAGE)-$(BRLCAD_VERSION).src.rpm
|
||||
@echo "Done."
|
||||
|
||||
deb: $(PACKAGE_NAME)_$(BRLCAD_VERSION).deb
|
||||
@echo "Done."
|
||||
|
||||
zip: $(PACKAGE_NAME)_$(BRLCAD_VERSION).zip
|
||||
@echo "Done."
|
||||
|
||||
tgz: $(PACKAGE_NAME)_$(BRLCAD_VERSION).tar.gz
|
||||
@echo "Done."
|
||||
|
||||
bz2: $(PACKAGE_NAME)_$(BRLCAD_VERSION).tar.bz2
|
||||
@echo "Done."
|
||||
|
||||
tar: $(PACKAGE_NAME)_$(BRLCAD_VERSION).tar
|
||||
@echo "Done."
|
||||
|
||||
package:
|
||||
@echo
|
||||
@echo "To build a BRL-CAD package for distribution, there are various make"
|
||||
@echo "targets available for various platforms:"
|
||||
@echo
|
||||
@echo " make pkg - Builds an Installer package for Mac OS X"
|
||||
@echo " make dmg - Builds a Disk Image for Mac OS X"
|
||||
@echo " make rpm - Builds source and binary RPM for RedHat Linux"
|
||||
@echo " make deb - Builds a package for Debian Linux"
|
||||
@echo " make zip - Builds a zip-compressed file archive"
|
||||
@echo " make tgz - Builds a gzip-compressed tape archive"
|
||||
@echo " make bz2 - Builds a bzip2-compressed tape archive"
|
||||
@echo " make tar - Builds a uncompressed tape archive"
|
||||
@echo
|
||||
|
||||
# make sure all files are in the repository are also in the dist.
|
||||
# make sure files that should not be in the distribution in fact are
|
||||
# not included.
|
||||
dist-hook:
|
||||
files="`find . -name entries -exec grep 'name=' {} /dev/null \; | sed 's/:[[:space:]]*name=\"\(.*\)\"/\1/g' | sed 's/\/\.svn\/entries/\//g' | grep -v 'brlcad-' | grep -v '\/$$'`" ; \
|
||||
missing=0 ; \
|
||||
for file in $$files ; do \
|
||||
if test ! -e $(distdir)/$$file ; then \
|
||||
missing=1 ; \
|
||||
echo "MISSING FROM DIST: $$file" ; \
|
||||
fi ; \
|
||||
done ; \
|
||||
if test "x$$missing" = "x1" ; then \
|
||||
exit 1 ; \
|
||||
fi
|
||||
files="`find $(distdir)/src/tclscripts \( -name pkgIndex.tcl -o -name tclIndex \)`" ; \
|
||||
empty=`for file in $$files ; do found="\`grep -v '^#' $$file | perl -0777 -pi -e 's/^\n//g'\`" ; if test "x$$found" = "x" ; then echo $$file ; fi ; done | wc | awk '{print $$1}'` ; \
|
||||
if test $$empty -gt 9 ; then \
|
||||
echo "TOO MANY EMPTY PKGINDEX.TCL/TCLINDEX FILES" ; \
|
||||
exit 1 ; \
|
||||
fi
|
||||
find $(distdir) -type f \( -name '.cvsignore' -or -name 'brlcad_config.h' \) -exec rm -f {} \;
|
||||
find $(distdir) -type d \( -name 'CVS' -or -name '.svn' \) -prune -exec rm -rf {} \;
|
||||
dir="`pwd`" ; cd $(top_srcdir) ; \
|
||||
${SH} sh/cmakecheck.sh ; \
|
||||
ret=$$? ; \
|
||||
if test "x$$ret" != "x0" ; then \
|
||||
echo "NEED TO SYNC CMAKELISTS.TXT" ; \
|
||||
exit 1 ; \
|
||||
fi ; \
|
||||
cd "$$dir"
|
||||
|
||||
# don't complain about the benchmark 'summary', we don't want to delete it
|
||||
distcleancheck_listfiles = \
|
||||
find . -type f -not -name summary -print
|
||||
|
||||
|
||||
|
||||
##########################
|
||||
# summaries and warnings #
|
||||
##########################
|
||||
|
||||
# make sure a dangerous umask will not prevent others from using an
|
||||
# installed version by checking to make sure the exec mode is set.
|
||||
# We minimally check only the binary and prefix directories.
|
||||
install-data-local:
|
||||
@warn_umask=no ; \
|
||||
case `ls -ld $(DESTDIR)$(prefix)` in \
|
||||
d????????-*) warn_umask=yes ;; \
|
||||
d?????-???*) warn_umask=yes ;; \
|
||||
d??-??????*) warn_umask=yes ;; \
|
||||
esac ; \
|
||||
if test "x$$warn_umask" = "xno" ; then \
|
||||
case `ls -ld $(DESTDIR)$(bindir)` in \
|
||||
d????????-*) warn_umask=yes ;; \
|
||||
d?????-???*) warn_umask=yes ;; \
|
||||
d??-??????*) warn_umask=yes ;; \
|
||||
esac ; \
|
||||
fi ; \
|
||||
files="`find $(top_builddir)/src/tclscripts \( -name pkgIndex.tcl -o -name tclIndex \)`" ; \
|
||||
empty=`for file in $$files ; do found="\`grep -v '^#' $$file | perl -0777 -pi -e 's/^\n//g'\`" ; if test "x$$found" = "x" ; then echo $$file ; fi ; done | wc | awk '{print $$1}'` ; \
|
||||
if test $$empty -gt 9 ; then \
|
||||
echo ; \
|
||||
echo "}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}" ; \
|
||||
echo " WARNING: Too many of the pkgIndex.tcl and" ; \
|
||||
echo " tclIndex files are empty." ; \
|
||||
echo ; \
|
||||
echo " It is likely that the indices are not being" ; \
|
||||
echo " generated properly which will affect run-time" ; \
|
||||
echo " functionality. VERIFY THE FILES." ; \
|
||||
echo "{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{" ; \
|
||||
echo ; \
|
||||
fi ; \
|
||||
if test "x$$warn_umask" = "xyes" ; then \
|
||||
echo ; \
|
||||
echo "}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}" ; \
|
||||
echo " WARNING: There is no execute permission on the" ; \
|
||||
echo " install directory." ; \
|
||||
echo ; \
|
||||
echo " Consider running \"umask 022\" before installing" ; \
|
||||
echo " next time. You should be able to repair this"; \
|
||||
echo " installation's directory permissions with: " ; \
|
||||
echo ; \
|
||||
echo " find $(DESTDIR)$(prefix)/. -type d -exec chmod go+x {} \;" ; \
|
||||
if test -d "$(DESTDIR)$(bindir)" ; then \
|
||||
if test "x$(DESTDIR)$(exec_prefix)/bin" != "x$(DESTDIR)$(bindir)" ; then \
|
||||
echo " find $(DESTDIR)$(bindir)/. -type d -exec chmod go+x {} \;" ; \
|
||||
fi ; \
|
||||
fi ; \
|
||||
if test -d "$(DESTDIR)$(sbindir)" ; then \
|
||||
if test "x$(DESTDIR)$(exec_prefix)/sbin" != "x$(DESTDIR)$(sbindir)" ; then \
|
||||
echo " find $(DESTDIR)$(sbindir)/. -type d -exec chmod go+x {} \;" ; \
|
||||
fi ; \
|
||||
fi ; \
|
||||
if test -d "$(DESTDIR)$(libexecdir)" ; then \
|
||||
if test "x$(DESTDIR)$(exec_prefix)/libexec" != "x$(DESTDIR)$(libexecdir)" ; then \
|
||||
echo " find $(DESTDIR)$(libexecdir)/. -type d -exec chmod go+x {} \;" ; \
|
||||
fi ; \
|
||||
fi ; \
|
||||
if test -d "$(DESTDIR)$(datadir)" ; then \
|
||||
if test "x$(DESTDIR)$(prefix)/share" != "x$(DESTDIR)$(datadir)" ; then \
|
||||
echo " find $(DESTDIR)$(prefix)/. -type d -exec chmod go+x {} \;" ; \
|
||||
fi ; \
|
||||
fi ; \
|
||||
if test -d "$(DESTDIR)$(libdir)" ; then \
|
||||
if test "x$(DESTDIR)$(exec_prefix)/lib" != "x$(DESTDIR)$(libdir)" ; then \
|
||||
echo " find $(DESTDIR)$(libdir)/. -type d -exec chmod go+x {} \;" ; \
|
||||
fi ; \
|
||||
fi ; \
|
||||
if test -d "$(DESTDIR)$(mandir)" ; then \
|
||||
if test "x$(DESTDIR)$(prefix)/man" != "x$(DESTDIR)$(mandir)" ; then \
|
||||
echo " find $(DESTDIR)$(mandir)/. -type d -exec chmod go+x {} \;" ; \
|
||||
fi ; \
|
||||
fi ; \
|
||||
if test -d "$(DESTDIR)$(includedir)" ; then \
|
||||
if test "x$(DESTDIR)$(prefix)/include" != "x$(DESTDIR)$(includedir)" ; then \
|
||||
echo " find $(DESTDIR)$(includedir)/. -type d -exec chmod go+x {} \;" ; \
|
||||
fi ; \
|
||||
fi ; \
|
||||
echo ; \
|
||||
echo " Do not presume the find example is all that is" ; \
|
||||
echo " needed. VERIFY THE PERMISSIONS." ; \
|
||||
echo "{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{" ; \
|
||||
echo ; \
|
||||
fi ; \
|
||||
touch install.$(host_triplet).log ; \
|
||||
if test -w install.$(host_triplet).log ; then \
|
||||
LC_ALL=C ; \
|
||||
if test "x$USER" = "x" ; then \
|
||||
USER="unknown" ; \
|
||||
fi ; \
|
||||
echo "Installed BRL-CAD Release ${BRLCAD_VERSION} Build ${CONFIG_DATE} by ${USER} to $(DESTDIR)$(prefix) on `date`" >> install.$(host_triplet).log ; \
|
||||
chmod ugo+rw install.$(host_triplet).log ; \
|
||||
fi
|
||||
|
||||
|
||||
# Print out an informative summary. As just about everything seems to
|
||||
# end up calling the all-am hook, which in turns calls the all-local
|
||||
# hook. The initial target goal is used to print out a custom summary
|
||||
# message. If the make being used doesn't set the MAKECMDGOALS
|
||||
# variable, something generic is printed still. For a make install,
|
||||
# print out rule lines according to the size of the installation path
|
||||
# to emphasize the achievement.
|
||||
#
|
||||
all-local:
|
||||
@echo "Done."
|
||||
@echo
|
||||
@echo "BRL-CAD Release ${BRLCAD_VERSION}, Build ${CONFIG_DATE}"
|
||||
@echo
|
||||
@if test "x$(MAKECMDGOALS)" = "xall-am" -o "x$(.TARGETS)" = "xall-am" -o "x$(MAKECMDGOALS)" = "xfast" -o "x$(.TARGETS)" = "xfast" ; then \
|
||||
echo $(ECHO_N) "Elapsed compilation time: " ;\
|
||||
${SH} $(top_srcdir)/sh/elapsed.sh `cat $(top_builddir)/include/conf/TS` ;\
|
||||
echo $(ECHO_N) "Elapsed time since configuration: " ;\
|
||||
${SH} $(top_srcdir)/sh/elapsed.sh ${CONFIG_TS} ;\
|
||||
echo "---" ;\
|
||||
echo "Run 'make install' to begin installation into $(prefix)" ;\
|
||||
echo "Run 'make benchmark' to run the BRL-CAD Benchmark Suite" ;\
|
||||
elif test "x$(MAKECMDGOALS)" = "xinstall-am" -o "x$(.TARGETS)" = "xinstall-am" ; then \
|
||||
echo $(ECHO_N) "Elapsed installation time: " ;\
|
||||
${SH} $(top_srcdir)/sh/elapsed.sh `cat $(top_builddir)/include/conf/TS` ;\
|
||||
echo $(ECHO_N) "Elapsed time since configuration: " ;\
|
||||
${SH} $(top_srcdir)/sh/elapsed.sh ${CONFIG_TS} ;\
|
||||
echo "---" ;\
|
||||
echo "Run 'make test' to run the BRL-CAD Test Suite" ;\
|
||||
echo "Run 'make benchmark' to run the BRL-CAD Benchmark Suite" ;\
|
||||
echo ;\
|
||||
line1=" BRL-CAD ${BRLCAD_VERSION} is now installed into $(prefix)" ;\
|
||||
line2=" Be sure to add $(prefix)/bin to your PATH" ;\
|
||||
separator="`echo $$line1 | tr '[[:print:]]' '*'`" ;\
|
||||
echo "$${separator}****" ;\
|
||||
echo "$$line1" ;\
|
||||
echo "$$line2" ;\
|
||||
echo "$${separator}****" ;\
|
||||
elif test "x$(MAKECMDGOALS)" = "x" -a "x$(.TARGETS)" = "x" ; then \
|
||||
echo $(ECHO_N) "Elapsed time: " ;\
|
||||
${SH} $(top_srcdir)/sh/elapsed.sh `cat $(top_builddir)/include/conf/TS` ;\
|
||||
echo $(ECHO_N) "Elapsed time since configuration: " ;\
|
||||
${SH} $(top_srcdir)/sh/elapsed.sh ${CONFIG_TS} ;\
|
||||
echo "---" ;\
|
||||
echo "Run 'make benchmark' to run the BRL-CAD Benchmark Suite" ;\
|
||||
fi
|
||||
@echo
|
||||
|
||||
|
||||
include $(top_srcdir)/misc/Makefile.defs
|
||||
|
||||
# Local Variables:
|
||||
# mode: Makefile
|
||||
# tab-width: 8
|
||||
# indent-tabs-mode: t
|
||||
# End:
|
||||
# ex: shiftwidth=8 tabstop=8
|
||||
@@ -11,466 +11,10 @@ changes made. See document footer for additional details.
|
||||
|
||||
|
||||
----------------------------------------------------------------------
|
||||
--- 2014-XX-XX Release 7.26.XX ---
|
||||
--- 2011-05-XX Release 7.18.6 ---
|
||||
----------------------------------------------------------------------
|
||||
|
||||
* fixed pix-ps -S -W -N output size options being ignored - Carl Moore
|
||||
* fixed crash exporting mixed mode merged BoT meshes - Sean Morrison
|
||||
* fixed submodel primitive crash - Cliff Yapp, Sean Morrison
|
||||
* support non-.g file import in Archer's file open dialog - Cliff Yapp
|
||||
* added brep support to g2asc and asc2g - Cliff Yapp
|
||||
* fixed a CPU affinity locking bug on Linux platforms - Sean Morrison
|
||||
* fixed mged -c crash running view-modifying commands - Sean Morrison
|
||||
* improved kill, killall, killtree documentation - Sean Morrison
|
||||
* added killtree -f force flag to kill unconditionally - Sean Morrison
|
||||
* killtree now defaults to skipping referenced objects - Sean Morrison
|
||||
* nirt -h option is now help, old -h is -H - Carl Moore
|
||||
* implemented preliminary NURBS geometry Boolean evaluation
|
||||
- Wu Jianbang, Nick Reed, Cliff Yapp
|
||||
* improved step-g assembly hierarchy import support - Keith Bowman
|
||||
* fixed rtweight when using the -G grid spacing option - Sean Morrison
|
||||
* fixed memory leaks in a number of pix utilities - Cezar Elnazi
|
||||
* improved NURBS ray tracing & tessellation robustness - Keith Bowman
|
||||
* improved step-g NURBS geometry import robustness - Keith Bowman
|
||||
* added -v verbose output option to MGED 'search' command - Cliff Yapp
|
||||
* fixed g_lint and pixcount red-black tree memory leaks - Tom Browder
|
||||
* fixed crash of extrude with special case bezier curves - huskmate13
|
||||
* improved performance of 'terrain' & numerous shaders - Sean Morrison
|
||||
* new manual pages for rtexample and brep_simple - Shardul Chiplunkar
|
||||
* added key binding to reopen/focus mged command window - Emory Huff
|
||||
* added menu option to restore mged command window - Cezar Elnazli
|
||||
* search command now recognizes hyp and metaball types - Cliff Yapp
|
||||
* added -depth option to MGED 'search' command - Cliff Yapp
|
||||
* improved 'search' with 'flat' search path modifier - Cliff Yapp
|
||||
* improved 'search' with above/equal/below depth limits - Cliff Yapp
|
||||
* added comb -S option to stop when object already exists - Cliff Yapp
|
||||
* improved comb command documentation with many examples - Cliff Yapp
|
||||
|
||||
|
||||
----------------------------------------------------------------------
|
||||
--- 2014-06-02 Release 7.24.2 ---
|
||||
----------------------------------------------------------------------
|
||||
|
||||
This patch release includes a plethora of significant bug fixes and
|
||||
improvements to BRL-CAD including fixing ADRT/TIE fast triangle ray
|
||||
tracing on 32-bit platforms, fixing an issue in our FASTGEN converter
|
||||
that affected the import of very complex geometry models, upgrading
|
||||
one of our third-party dependencies (libpng) in response to a
|
||||
vulnerability report, and improving the 'comb' and 'search' commands
|
||||
with new options for restructuring and searching geometry.
|
||||
Enhancements continue to be made to our boundary representation (BREP)
|
||||
NURBS infrastructure in support of hybrid representation modeling and
|
||||
improved geometry interchange with other CAD systems.
|
||||
|
||||
* improved rcodes output to inform user what changed - Cliff Yapp
|
||||
* fixed inside command for ellipsoid primitives - Cliff Yapp
|
||||
* restored suppressed mged output after some commands - Cliff Yapp
|
||||
* added rtwizard -s square image size option - Cliff Yapp
|
||||
* documented image size options in rtwizard man page - Cliff Yapp
|
||||
* added view center specification dialog to rtwizard - Cliff Yapp
|
||||
* increased rtwizard window size for button visibility - Cliff Yapp
|
||||
* image conversion -R/-G/-B options now require weight - Mohit Daga
|
||||
* improved option consistency for image processing tools - Mohit Daga
|
||||
* improved pipe ray tracing grazing hit behavior - Keith Bowman
|
||||
* upgraded libpng, now at version 1.6.10 - Erik Greenwald, Cliff Yapp
|
||||
* improved solid NURBS geometry ray tracing behavior - Keith Bowman
|
||||
* fix z-clipping bug in MGED's X display manager - Cliff Yapp
|
||||
* added attribute sorting option to the 'attr' command - Tom Browder
|
||||
* changed 'bwfilter' tool offset option from -o to -O - Mohit Daga
|
||||
* gattributes section 5 man page renamed to attributes - Tom Browder
|
||||
* changed 'benchmark' defaults: 2% deviation, 5 frames - Sean Morrison
|
||||
* improved bwrect to handle redirected input and output - Mohit Daga
|
||||
* upgraded boost to version 1.55.0 - Tom Browder
|
||||
* fixed TIE mesh raytrace crashes on 32-bit platforms - Sean Morrison
|
||||
* fixed pixscale and bwscale to not output ioctl error - Mohit Daga
|
||||
* improved fast4-g import of numerous region groups - Richard Weiss
|
||||
* fixed archer hidden line edit getting redrawn as shaded - Nick Reed
|
||||
* fixed adrt/TIE polygonal mesh memory management bug - Richard Weiss
|
||||
* fixed fast4-g importer parsing of blank input lines - Richard Weiss
|
||||
* added -o flag to 'bb' command for oriented bounding box - Cliff Yapp
|
||||
* allow search to see hidden combs with the -a flag - Cliff Yapp
|
||||
* added comb -l lift option to change region designation - Cliff Yapp
|
||||
* improved NURBS ray tracing grazing hit behavior - Keith Bowman
|
||||
* print current grid information in gqa output - Cliff Yapp
|
||||
* added -f option for flattening combs to 'comb' command - Cliff Yapp
|
||||
* added support for -bool operation filtering in search - Cliff Yapp
|
||||
* added new g-raw geometry converter - Jon Engbert, Daniel Roßberg
|
||||
* improved g-stl usage and documentation - Jon Engbert
|
||||
* added -c and -r region flag options to the comb command - Cliff Yapp
|
||||
* added -p/-P point/line plot options to 'burst' tool - Sean Morrison
|
||||
* added -w wrapping option to the 'comb' command - Cliff Yapp
|
||||
* archer respects LIBRT_BOT_MINTIE environment variable - Bob Parker
|
||||
* new 'cchannel' procedural geometry tool for C-Channel - Emory Huff
|
||||
* improved 'comb' command error messages - Talwinder Saini
|
||||
* pl -> plot3 rename for utilities and docs - Tom Browder, Cliff Yapp
|
||||
* exposed 'coil' command within mged & archer - Alexandrus, Cliff Yapp
|
||||
* added centroid reporting to 'analyze' command output - Csaba Nagy
|
||||
* added arb8 centroid 'analyze' command reporting - Silviu Ungureanu
|
||||
* pipe centroid, volume, & surface area analyze reporting - Csaba Nagy
|
||||
* added ebm centroid 'analyze' command reporting - Michael Huang
|
||||
* improved help option consistency across numerous tools - Carl Moore
|
||||
|
||||
|
||||
----------------------------------------------------------------------
|
||||
--- 2013-06-13 Release 7.24.0 ---
|
||||
----------------------------------------------------------------------
|
||||
|
||||
This major update to BRL-CAD comes after nearly a full year of
|
||||
development. This is the alpha release unveiling of Archer/MGED, a
|
||||
preliminary interface update to BRL-CAD's graphical geometry editor.
|
||||
As alpha software, this new MGED prototype aims to provide functional
|
||||
feature parity with the antecedent MGED interface while introducing
|
||||
various changes. Included is an integrated graphical tree view, a
|
||||
single window framework, drag-and-drop geometry editing, information
|
||||
panels, shortcut buttons, improved polygonal mesh and 2D sketch
|
||||
editing, level-of-detail wireframes, NURBS shaded display support, and
|
||||
much more. Prior to upcoming beta testing where the emphasis will
|
||||
predominantly be on stability and usability, this alpha status
|
||||
solicits feedback from the community on capability and features.
|
||||
|
||||
This release also includes various improvements to BRL-CAD's ray
|
||||
tracing infrastructure including CPU thread affinity locking for
|
||||
faster performance, more consistent grazing hit behavior, expanded
|
||||
volume and surface area calculations, numerous bug fixes, and more
|
||||
robust NURBS evaluation. Following BRL-CAD's interface deprecation
|
||||
policy (see CHANGES file), the Jove text editor is no longer being
|
||||
bundled. Numerous converters receive robustness improvements
|
||||
including the STEP, Patch, and 3DM importers.
|
||||
|
||||
* improved gqa performance on parallel SMP hardware - Richard Weiss
|
||||
* fixed bounding box size calculation for pipe geometry - Bob Parker
|
||||
* improved help option consistency across numerous tools - Carl Moore
|
||||
* 'idents' command no longer reports negative booleans - Keith Bowman
|
||||
* improved support for NURBS with big uv-domain changes - Keith Bowman
|
||||
* improved ray tracing behavior for grazing rays - Keith Bowman
|
||||
* improved robustness of the step-g geometry importer - Nick Reed
|
||||
* fixed search command bombing on v4 database file - Sean Morrison
|
||||
* fixed graphics window z-clipping bug in mged - Bob Parker
|
||||
* fixed mged lesson 15 toy truck 'inside' ordering bug - Sean Morrison
|
||||
* fixed uninstallable Linux RPM package on Fedora 18 - Jordi Sayol
|
||||
* improved Mac, BSD, & Windows ray tracing performance - Sean Morrison
|
||||
* improved Linux ray tracing via cpu thread affinity - Akshay Kashyap
|
||||
* fixed nirt high object count failure on Windows - Richard Weiss
|
||||
* added plate mode BoT support to 'bot_merge' command - Richard Weiss
|
||||
* jove removed, see jove.emacs for compatibility bindings - Cliff Yapp
|
||||
* added gqa -q quiet option to suppress 'was not hit' - Richard Weiss
|
||||
* level-of-detail mged configuration dialog, under Tools - Nick Reed
|
||||
* added level-of-detail wireframe support to mged/archer - Nick Reed
|
||||
* initial NURBS shaded display and tessellation support - Keith Bowman
|
||||
* fixed patch-g -f input file permissions failure - Sean Morrison
|
||||
* improved large file support for the patch-g importer - Sean Morrison
|
||||
* upgraded libpng to version 1.5.12 - Cliff Yapp
|
||||
* openNURBS updated to version 5.0 (2012-10-24) - Richard Weiss
|
||||
* improved BoT mesh editing interface in archer - Bob Parker
|
||||
* fixed crash when running screengrab in archer - Nick Reed
|
||||
* fixed memory leak when working with pipe primitives - Daniel Roßberg
|
||||
* fixed asc2g and mged empty revolve object crashes - Sean Morrison
|
||||
* improved Linux support for multiple hardware displays - Bob Parker
|
||||
* fixed crash when parsing invalid shader parameters - Cliff Yapp
|
||||
* fixed mged 'dbupgrade' -permissions error on windows - Sean Morrison
|
||||
* fixed infinite loop raytracing subtracted lights - Sean Morrison
|
||||
* added hyp centroid and volume output to 'analyze' - Aaron Keesing
|
||||
* added support for wireframe drawing of 'hyp' labels - Bob Parker
|
||||
* fixed random number SMP bug affecting rt and adrt - Sean Morrison
|
||||
* added support for editing 2D sketch objects in archer - Bob Parker
|
||||
* fixed File->New deprecation error in archer - Sean Morrison
|
||||
* improved Linux platform application and file icons - Jordi Sayol
|
||||
* modified gqa to report all missed regions - Richard Weiss
|
||||
* added epa surface area and volume to analyze command - Chris Dueck
|
||||
* added arbn surface area and volume to analyze command - Chris Dueck
|
||||
* added eto surface area and volume to analyze command - Chris Dueck
|
||||
* quell pix-png gAMA chunk warning defaulting to unset - Sean Morrison
|
||||
* fixed mged interactive object translation keypoint bug - Bob Parker
|
||||
* fixed corrupted tessellation pipe export bug - Richard Weiss
|
||||
* fixed memory leak in bot_condense - Chris Dueck
|
||||
* output from g-var no longer prints 'fwrite' messages - Sean Morrison
|
||||
* fixed gqa to not report overlap regions as zero hits - Richard Weiss
|
||||
* fixed crash in step-g tool importing AP214 entities - Sean Morrison
|
||||
* improved 3dm-g output and invalid geometry support - Sean Morrison
|
||||
* fixed crash revolving empty sketch objects - Sean Morrison
|
||||
* fixed TIE raytracing bugs shotlining plate-mode BoTs - Sean Morrison
|
||||
* g_diff gives non-zero return code if .g files differ - Sean Morrison
|
||||
* fixed typographical errors in numerous tools and docs - Carl Moore
|
||||
* fixed TIE perpendicular face mesh evaluation failure - Richard Weiss
|
||||
* added -b option to set tpkg network packet size - Andrei Popescu
|
||||
* added manual page for existing mged reid command - Richard Weiss
|
||||
* added manual page for bot_sync, bot_flip, bot_split - Richard Weiss
|
||||
* added manual page for running rtarea within mged - Richard Weiss
|
||||
* improved documentation consistency and authorship info - Tom Browder
|
||||
* new mouse-input unpushed matrix edit option in archer - Bob Parker
|
||||
* fixed bug during pipe editing with working units set - Bob Parker
|
||||
* added experimental 'bot_fuse' command to heal BoTs - Richard Weiss
|
||||
|
||||
|
||||
----------------------------------------------------------------------
|
||||
--- 2012-06-25 Release 7.22.0 ---
|
||||
----------------------------------------------------------------------
|
||||
|
||||
After many months of development, this release includes hundreds of
|
||||
fixes for source code defects, logic and memory management bugs,
|
||||
potential security vulnerabilities, and numerous other issues reported
|
||||
by Coverity Static Analysis. While having participated in the
|
||||
Coverity Scan Initiative since inception in 2006, this release marks a
|
||||
completion milestone with the review and resolution of all reported
|
||||
issues, more than 2100 overall. Every defect was inspected, code
|
||||
modifications were peer-reviewed, critical features were tested, and
|
||||
user-visible changes were documented. Along with other on-going
|
||||
improvement efforts such as treating all compiler-generated warnings
|
||||
as errors, time and attention continues to be put forth towards
|
||||
improving BRL-CAD's maintainability and source code quality.
|
||||
|
||||
Development of BREP/NURBS representation support within BRL-CAD
|
||||
continues to mature with this release including ray tracing
|
||||
improvements, tighter bounding boxes for better performance, progress
|
||||
converting from traditional implicit+CSG representations to NURBS+CSG,
|
||||
wireframe improvements, and a thorough verification and validation
|
||||
(V&V) review for analysis suitability. The V&V review compared
|
||||
BRL-CAD's primitives in implicit, polygonal mesh, and NURBS form
|
||||
evaluating more than a dozen separate tests looking for differences in
|
||||
rendering, curvature, presented areas, volume, and more. The review
|
||||
identified a couple minor issues that were inspected and fixed but
|
||||
successfully demonstrated the viability of using our BREP/NURBS
|
||||
implementation for geometric representation and analysis purposes.
|
||||
|
||||
This release introduces numerous major feature developments including
|
||||
the initial implementation of a new physics simulation capability, a
|
||||
new ambient occlusion rendering mode, and the integration of rtwizard
|
||||
into Archer. The simulation system was developed by Abhijit Nandy
|
||||
under the European Space Agency's 2011 Summer of Code in Space (SOCIS)
|
||||
program; and it allows BRL-CAD geometry objects to dynamically
|
||||
interact with each other (e.g., collision detection, friction) or with
|
||||
the environment (e.g., gravity). Ambient occlusion is a shading
|
||||
method that helps add considerable realism and feature definition to
|
||||
renderings, enabled within rt using the "set ambSamples=128" command.
|
||||
The rtwizard rendering interface was extended to work as a
|
||||
command-line tool (useful for scripting) and was integrated within
|
||||
Archer as the underlying rendering interface.
|
||||
|
||||
Conversion support continues to be a development priority with
|
||||
significant importer enhancements for the STEP, OBJ, COMGEOM, FASTGEN,
|
||||
and RAW file formats. The STEP importer in particular receives
|
||||
several updates, support for importing assembly hierarchies, and is in
|
||||
the process of being fully ported to Windows. This release also fixes
|
||||
more than 40 user-visible bugs including a significant database
|
||||
corruption issue. A database corruption issue was discovered and
|
||||
fixed affecting 64-bit big endian platforms (e.g., IBM Power Series
|
||||
supercomputers) when writing out ebm, dsp, vol, and hf primitives.
|
||||
|
||||
BRL-CAD's documentation continues to be extended, improved, and
|
||||
translated due to the sustained efforts of several contributors.
|
||||
Manual page documentation is now available on Windows through the
|
||||
'brlman' command and within MGED. Several utilities and commands that
|
||||
previously had no documentation now have manual pages; many others
|
||||
received corrections and improvements. The introductory article
|
||||
"About BRL-CAD" is now available in Russian, Italian, and Armenian.
|
||||
|
||||
* numerous manual page corrections and improvements - Tom Browder
|
||||
* integration of rtwizard traits into archer - Bob Parker, Cliff Yapp
|
||||
* new asc2dsp prep tool for displacement map data files - Tom Browder
|
||||
* fixed a problem with rt writing pix files on Windows - Bob Parker
|
||||
* added new raw-g raw triangle mesh to BoT importer - Daniel Roßberg
|
||||
* added Windows man page support (using html) to brlman - Cliff Yapp
|
||||
* added support for section numbers to brlman script - Cliff Yapp
|
||||
* new manual pages for asc2dsp, dsp, asc2pix, and asc2g - Tom Browder
|
||||
* fixed bug creating binary uniform (binunif) objects - Sean Morrison
|
||||
* fixed memory corruption bug reading v4 geometry - Sean Morrison
|
||||
* fixed bug where small raytraces were being rotated - Erik Greenwald
|
||||
* ios-icon.sh script added for generating IOS icons - Erik Greenwald
|
||||
* support for implicit to boundary representation geometry conversion
|
||||
- Cliff Yapp, Wu Jianbang, Sean Morrison
|
||||
* added rtwizard support for writing out .png images
|
||||
- Bob Parker, Cliff Yapp, Richard Weiss
|
||||
* fixed region demotion bug in the mged 'red' command - Richard Weiss
|
||||
* added implicit conversion support to 'brep' command - Wu Jianbang
|
||||
* improved NURBS raytracing grazing hit & edge behavior - Keith Bowman
|
||||
* added initial documentation for make_pnts command - Richard Weiss
|
||||
* fixed gqa crash when specified objects didn't exist - Richard Weiss
|
||||
* rtedge and rtwizard support multiple occlusion objects - Bob Parker
|
||||
* fixed mged matrix edit bug selecting the last matrix - Bob Parker
|
||||
* added 'lc' command to mged for listing region codes - Richard Weiss
|
||||
* fixed rtedge/rtwizard edge overlay rendering bug - Bob Parker
|
||||
* fixed 'open: Permission denied' rtedge output file bug - Cliff Yapp
|
||||
* upgraded libpng to 1.5.10 - Cliff Yapp
|
||||
* fixed various memory leaks in the comgeom-g geometry importer
|
||||
- Tom Browder, Nick Reed
|
||||
* fixed comgeom-g bug importing ars primitive objects - Tom Browder
|
||||
* added new command-line invocation support to rtwizard - Cliff Yapp
|
||||
* fixed BoT mesh hit offset and vanish TIE render bugs - Keith Bowman
|
||||
* improved nurbs raytracing when shooting from inside - Keith Bowman
|
||||
* added 'draw'/'e' -m1 option for shading BoTs in mged - Richard Weiss
|
||||
* expanded docs on mged listeval and 'l' list commands - Richard Weiss
|
||||
* removed obsolete 'syn' multi sine synthesis tool - Sean Morrison
|
||||
* fixed memory corruption in vegetation generator tool - Sean Morrison
|
||||
* fixed ARS bounding box size affecting overlap handling - Cliff Yapp
|
||||
* fixed bug in fast4-g importer handling HOLE/WALL cards - Nick Reed
|
||||
* fixed field truncation bug in comgeom-g importer - Tom Browder
|
||||
* fixed log file clobber bug in the benchmark suite - Cliff Yapp
|
||||
* enabled new 'select' command for use within mged - Richard Weiss
|
||||
* added preliminary object 'select' command to archer - Bob Parker
|
||||
* improved support for the Intel C/C++ compiler (icc) - Sean Morrison
|
||||
* now sorting top level object alphabetically in rtwizard - Cliff Yapp
|
||||
* "About BRL-CAD" article translation to Russian - Ilya
|
||||
* "About BRL-CAD" article translation to Armenian - Karen Mgebrova
|
||||
* "About BRL-CAD" article translation to Italian
|
||||
- Unknown Contributor, Tom Browder
|
||||
* improved handling of rgb/color attributes by adjust cmd - Cliff Yapp
|
||||
* added initial support for step-g import of assemblies - Keith Bowman
|
||||
* added a basic SWIG spec file - Erik Greenwald
|
||||
* fixed referenced object highlighting in archer treeview - Bob Parker
|
||||
* fixed error handling input reading failure in burst - Sean Morrison
|
||||
* fixed memory double-freeing issue in shp-g - Erik Greenwald
|
||||
* added optional scaling parameter to autoview command - Sean Morrison
|
||||
* fixed extrude object bug rendering at near right angles - Bob Parker
|
||||
* added -h option to nirt to suppress header printing - Cliff Yapp
|
||||
* fixed nirt attribute reporting for specified attributes - Cliff Yapp
|
||||
* fixed ebm/dsp/vol/hf corruption on 64-bit big endian - Sean Morrison
|
||||
* fixed step-g importer memory management issues - Keith Bowman
|
||||
* improved tab-completion behavior for mged and archer - Sean Morrison
|
||||
* fixed pervasive string handling memory leak - Tom Browder
|
||||
* improved table output formatting for 'analyze' command - Tom Browder
|
||||
* improved rtweight portability and density file parsing - Tom Browder
|
||||
* fixed crash in anim_cascade animation tool - Nick Reed
|
||||
* fixed bug in gif2fb processing non-interlaced images - Sean Morrison
|
||||
* fixed crash in coil when using -S and -l options - Cliff Yapp
|
||||
* fixed mged 'make_pnts' command resource contention bug - Nick Reed
|
||||
* fixed nirt memory leak and scriptfile off-by-one bug - Sean Morrison
|
||||
* d2-c now handles the imaginary part correctly - Erik Greenwald
|
||||
* fixed raytracer crash if output file creation fails - Erik Greenwald
|
||||
* restored mged BoT editing interface functionality - Tom Browder
|
||||
* fixed mged 'solids' and 'regions' command crashes - Tom Browder
|
||||
* fixed orientation bug in mged 'ypr' rotation command - Nick Reed
|
||||
* fixed mged bug setting color via Combination Editor - Nicholas Reed
|
||||
* fixed numerous xyz/ypr orientation bugs in anim tools - Nick Reed
|
||||
* improved tessellation of pipe bends for conversion - Richard Weiss
|
||||
* fixed keypoint vertex bug when editing extrude objects - Nick Reed
|
||||
* fixed eto error converting hyp objects with asc2g tool - Nick Reed
|
||||
# fixed mged bug processing edcodes command arguments - Bob Parker
|
||||
* various improvements to NMG polygonal mesh processing robustness
|
||||
- Nick Reed, Sean Morrison, Richard Weiss
|
||||
* improved bad face handling within the obj-g importer - Nick Reed
|
||||
* fixed crash during rt -c "ae 35 25" view change - Bob Parker
|
||||
* added -r BoT orientation option on the obj-g importer - Nick Reed
|
||||
* added ambient occlusion shading method to rt - Lee Butler
|
||||
* fixed attribute handling bug affecting v4 geometry - Daniel Roßberg
|
||||
* reid command now reports the highest region ID set - Carl Moore
|
||||
* batch script shortcuts now set PATH on Windows - Sean Morrison
|
||||
* fixed g-obj error when exporting facets - Christopher Pitts
|
||||
* added 'l' list command to archer so 'g' expands args - Bob Parker
|
||||
* added length parameter documentation for 'coil' command - Cliff Yapp
|
||||
* improved performance of boolean evaluations - Richard Weiss
|
||||
* added support for braces around shader parameters - Nick Reed
|
||||
* improved boolean evaluation converting to polygons - Richard Weiss
|
||||
* ported the obj-g geometry importer to Windows - Nicholas Reed
|
||||
* improved import robustness and parsing of OBJ geometry files
|
||||
- Nicholas Reed, Richard Weiss, Mike Tegtmeyer
|
||||
* added new physics 'simulate' command to mged/archer - Abhijit Nandy
|
||||
* improved archer bot selection utility with sorted names - Bob Parker
|
||||
* added 'bb' bounding box command usage within mged - Tom Browder
|
||||
|
||||
|
||||
----------------------------------------------------------------------
|
||||
--- 2011-10-30 Release 7.20.4 ---
|
||||
----------------------------------------------------------------------
|
||||
|
||||
* added lighting model visualization options for archer - Bob Parker
|
||||
* reid command now takes optional -n "incr by" value - Erik Greenwald
|
||||
* reid command now returns the last region ID set - Erik Greenwald
|
||||
* improved nirt support for non-UNIX-style text files - Sean Morrison
|
||||
* added new relos thickness reassignment command to mged - Carl Moore
|
||||
* support for loading archer plugins with spaces in name - Bob Parker
|
||||
* added 'exists' object detection command to mged/archer - Cliff Yapp
|
||||
* added archer BoT split/flip/sync surface cleanup panel - Bob Parker
|
||||
* added new g-dot exporter for hierarchy visualization - Sean Morrison
|
||||
* improved g-vrml successful exporting and reporting - Richard Weiss
|
||||
* added -b BoT dump and -e evaluation option to g-vrml - Richard Weiss
|
||||
* improved obj-g polygonal import - Nicholas Reed, Richard Weiss
|
||||
* fixed mged crash after killing an illuminated object - Abhijit Nandy
|
||||
* tightened default polygonal mesh export tolerance - Sean Morrison
|
||||
* converted introductory Tcl/Tk presentation to Docbook - Tom Browder
|
||||
* initial support in archer for editing pipe primitives - Bob Parker
|
||||
* fixed NURBS raytracing crash due to invalid geometry - Sean Morrison
|
||||
* fixed memory leak when saving BoT geometry - Nicholas Reed
|
||||
* improved mged object name globbing support - Sean Morrison
|
||||
* improved bounding box for rpc, epa, ehy, hyp primitives - Cliff Yapp
|
||||
* improved handling of degenerate face facetization - Richard Weiss
|
||||
* add support for .png file output in rtwizard - Cliff Yapp
|
||||
* improved rtwizard's invocation of rt - Cliff Yapp
|
||||
* added object path and keep options to conversion.sh - Tom Browder
|
||||
* 'keep' command includes sketch when keeping revolve - Sean Morrison
|
||||
* fixed mged 'mater' command inheritance setting bug - Richard Weiss
|
||||
* fixed mged crash removing comb members during edit - Richard Weiss
|
||||
* modified archer startup to not require html documentation files
|
||||
- Cliff Yapp, Brandon Hinesley
|
||||
* improved mged/archer/bwish run-time path behavior on Windows
|
||||
- Cliff Yapp, Bob Parker
|
||||
* upgraded libpng to version 1.5.4 - Cliff Yapp
|
||||
* improved performance of step-g importer - Zach Easterbrook
|
||||
* fixed browsing mged html help pages on Windows - Bob Parker
|
||||
* restored mged 'rt' command output to console window - Sean Morrison
|
||||
* fixed infinite loop bug plotting NURBS wireframes - Sean Morrison
|
||||
* added new 'ringworld' procedural geometry generator - Erik Greenwald
|
||||
* fixed mged Manual page item in help menu - Brandon Hinesley
|
||||
|
||||
|
||||
----------------------------------------------------------------------
|
||||
--- 2011-07-01 Release 7.20.2 ---
|
||||
----------------------------------------------------------------------
|
||||
|
||||
* improved fusing of coplanar faces (tessellation) - Richard Weiss
|
||||
* fixed rtwizard issues with unknown units and freezing - Bob Parker
|
||||
* fixed problem with mater command setting color - Cliff Yapp
|
||||
* fixed crash rendering scenes with all invalid lights - Sean Morrison
|
||||
* improved reliability of ARS tessellation/conversion - Richard Weiss
|
||||
* improved tessellation performance and reliability - Richard Weiss
|
||||
* replaced 'erase_all' command with 'erase -r' - Brandon Hinesley
|
||||
* improved 'ls' command error reporting in archer - Brandon Hinesley
|
||||
* fixed related object highlighting in archer's tree view - Cliff Yapp
|
||||
* added closedb command to archer - Brandon Hinesley
|
||||
* improved behavior of opendb command in archer - Brandon Hinesley
|
||||
* improved archer/mged manual page browser behavior - Brandon Hinesley
|
||||
* added man documentation command to archer - Brandon Hinesley
|
||||
* improved File->New dialog in mged - Brandon Hinesley
|
||||
* all cmake files now included in dist - Erik Greenwald, Sean Morrison
|
||||
|
||||
|
||||
----------------------------------------------------------------------
|
||||
--- 2011-05-27 Release 7.20.0 ---
|
||||
----------------------------------------------------------------------
|
||||
|
||||
This release marks the introduction of a new CMake build system for
|
||||
BRL-CAD. CMake is cross-platform build system infrastructure capable
|
||||
of generating native build system logic for a wide variety of
|
||||
operating systems and compilation environments. Cliff Yapp has been
|
||||
diligently working on this adaptation for a number of months in order
|
||||
to simplify the task of maintaining BRL-CAD on multiple platforms.
|
||||
|
||||
Previously, two separate build systems were being maintained: one
|
||||
system (GNU Autotools) for Linux, UNIX, and BSD platforms (including
|
||||
Mac OS X); and another separate system (Microsoft Visual Studio) for
|
||||
Windows. The new build system supports all platforms (including
|
||||
Windows) from the same build logic. This eliminates the need to
|
||||
manually update multiple build systems and improves BRL-CAD
|
||||
cross-platform maintainability.
|
||||
|
||||
* fixed mged/archer graphics window glitches on Windows - Bob Parker
|
||||
* improved 'attr' command to work with read-only .g files - Cliff Yapp
|
||||
* cross-platform 64-bit ISST (cmake-only) - Cliff Yapp, Erik Greenwald
|
||||
* fixed mged zoom out mouse binding on Linux/*BSD - Cliff Yapp
|
||||
* fixed step-g importer bug interpolating cubic curves - Keith Bowman
|
||||
* improved step-g importer ellipse and conic support - Keith Bowman
|
||||
* improved multiple path handling for search command - Cliff Yapp
|
||||
* fixed segment splitting tessellation conversion bug - Richard Weiss
|
||||
* fixed crash during facetization of large models - Richard Weiss
|
||||
* fixed asc2g bug importing color and other attributes - Bob Parker
|
||||
* added -q "quiet lookup" option to the 'ls' command - Cliff Yapp
|
||||
* fixed numerous 'red' command text edit bugs and robustness issues
|
||||
- Cliff Yapp, Sean Morrison
|
||||
* modification of LIBRT spatial partition traversal ordering
|
||||
- Sean Morrison, Keith Bowman
|
||||
* new LIBRT_BOT_MINTIE environment variable override - Erik Greenwald
|
||||
* changed search output order to shallow followed by deep - Cliff Yapp
|
||||
* added search support for '.' object list search results - Cliff Yapp
|
||||
* red -f flag to force overwriting pre-existing combs - Sean Morrison
|
||||
* awesomeness
|
||||
|
||||
|
||||
----------------------------------------------------------------------
|
||||
@@ -486,7 +30,7 @@ BRL-CAD's Advanced Distributed Ray Tracer (ADRT) tool suite. As this
|
||||
is the initial integration, TIE is available but presently disabled by
|
||||
default. The engine optimization is configurably integrated with
|
||||
LIBRT mesh (BoT) raytracing and optionally enabled via settings
|
||||
available in RT and MGED. Initial testing of "real-world" models shows
|
||||
available in RT and MGED. Inital testing of "real-world" models shows
|
||||
average improvements around 20-60% while individual meshes with high
|
||||
(1M+) face counts are rendering more than 2000% faster than before.
|
||||
|
||||
@@ -528,7 +72,7 @@ can be opened read-only within MGED where geometry can be inspected,
|
||||
drawn, exported via the "keep" command, and updated to the newer
|
||||
(platform-independent) v5 geometry database file format via the
|
||||
"dbupgrade" command. In order to override the otherwise automatic
|
||||
binary-incompatible v4 detection, MGED's "opendb" command provides a
|
||||
binary-incomaptible v4 detection, MGED's "opendb" command provides a
|
||||
new -f flip option and all applications can override behavior with a
|
||||
LIBRT_V4FLIP environment variable.
|
||||
|
||||
@@ -569,7 +113,7 @@ This release includes the initial release of a new Bag of Triangle
|
||||
(BoT) editing interface for MGED and Archer. Nicholas Reed developed
|
||||
the new graphical user interface (GUI) in order to consolidate the
|
||||
numerous BoT editing commands and processing steps into one unified
|
||||
easy-to-use interface. The new GUI greatly simplifies BoT processing
|
||||
easy-to-use interface. The new GUI grealy simplifies BoT processing
|
||||
steps and can save modelers considerable time.
|
||||
|
||||
* ported benchmark suite to Windows (requires 'sh') - Erik Greenwald
|
||||
@@ -605,7 +149,7 @@ steps and can save modelers considerable time.
|
||||
--- 2010-08-04 Release 7.16.10 ---
|
||||
----------------------------------------------------------------------
|
||||
|
||||
The release concludes a phenomenal effort by Jesica Giudice who
|
||||
The release concludes a phenomenal effort by Jesica Guidice who
|
||||
meticulously translated approximately 150 pages of MGED tutorial
|
||||
documentation from English to Spanish. The 16 tutorials are now fully
|
||||
converted and work continues on the technical side to develop
|
||||
@@ -702,7 +246,7 @@ alpha release status as BRL-CAD's next generation geometry editor.
|
||||
* integration of mged authorship dedication into archer - Bob Parker
|
||||
* improved behavior of mged initialization options - Bob Parker
|
||||
* 3dm-g importer improvements for hierarchical layering - Keith Bowman
|
||||
* fixed namespace initialization failure in rtwizard - Bob Parker
|
||||
* fixed namspace initialization failure in rtwizard - Bob Parker
|
||||
* removed the pcd-pix image conversion tool - Sean Morrison
|
||||
* fixed coil tool -S option, now takes 6 parameters - Cliff Yapp
|
||||
* fixed g-egg coordinate and polygon format bugs - Erik Greenwald
|
||||
@@ -720,7 +264,7 @@ alpha release status as BRL-CAD's next generation geometry editor.
|
||||
Considerable effort continues towards improving BRL-CAD's
|
||||
documentation. Janine Gettier has now converted the documentation for
|
||||
approximately 200 of MGED's commands into the Docbook XML format.
|
||||
Jesica Giudice has translated 4 of MGED's 16 introductory tutorials to
|
||||
Jesica Guidice has translated 4 of MGED's 16 introductory tutorials to
|
||||
Spanish. Cliff Yapp continues to work extensively with both to get
|
||||
their efforts integrated so that HTML and PDF documentation are
|
||||
cleanly generated.
|
||||
@@ -794,7 +338,7 @@ undo support and graphical editing, are expanded upon.
|
||||
|
||||
* initial step-g geometry importer - Keith Bowman
|
||||
* added '-u' flag to 3dm-g - uses UUID for import names - Cliff Yapp
|
||||
* improved fb-png and pix-png default gamma correction - Sean Morrison
|
||||
* improved fb-png and pix-png defaut gamma correction - Sean Morrison
|
||||
* added a '-g' gamma correction option to pix-png - Sean Morrison
|
||||
* added mged '-a' option for attaching display manager - Sean Morrison
|
||||
* increased maximum size of framebuffer windows - Sean Morrison
|
||||
@@ -1047,7 +591,7 @@ invalid geometry is now more robust.
|
||||
* fixed mged 'dbconcat' hang when not specifying an affix - Bob Parker
|
||||
* fixed primitive selection solid_illum bug in mged - Bob Parker
|
||||
* fix bug in tire tool's geometry causing 'nicks' in tread - C. Yapp
|
||||
* increased raytrace performance of pipe primitive - John Anderson
|
||||
* increased raytrace performace of pipe primitive - John Anderson
|
||||
* fixed bugs handling invalid extrude objects - Sean Morrison
|
||||
* fixed dependency bug in library pkg-config files - Sean Morrison
|
||||
* platform installers now use a more consistent naming convention
|
||||
@@ -1159,7 +703,7 @@ continuous active development.
|
||||
* fixed browser-based mged help on Mac OS X - Sean Morrison
|
||||
* added rest of BRL-CAD's geometry converters for Windows - Bob Parker
|
||||
* added more missing framebuffer tools to Windows port - Bob Parker
|
||||
* rtwizard enhancements for ghosting and display - Bob Parker
|
||||
* rtwizard enhancments for ghosting and display - Bob Parker
|
||||
* mged reports failure if ray-tracer returns non-zero - Sean Morrison
|
||||
* improved mged corrupt geometry file handling - Sean Morrison
|
||||
* improved dbconcat object suffix and prefix options - Sean Morrison
|
||||
@@ -1348,7 +892,7 @@ for more details.
|
||||
|
||||
* support for handling larger hierarchies in archer - Doug Howard
|
||||
* added distance measurement tool to archer - Bob Parker
|
||||
* added component selection capabilities to archer - Bob Parker
|
||||
* added component selection capabilites to archer - Bob Parker
|
||||
* new script to extract gforge task items - Lee Butler, Sean Morrison
|
||||
* substantial additions and mods to source documentation - Lee Butler
|
||||
* added scripts to facetize all regions in a database - Lee Butler
|
||||
@@ -1448,7 +992,7 @@ tested further.
|
||||
Other noteworthy enhancements provided in this release include new
|
||||
sample applications that demonstrate the capabilities of the libpkg
|
||||
networking library, in-memory geometry database processing, reshooting
|
||||
of rays from analysis codes for testing purposes, and the librt root
|
||||
of rays from analysis codes for testing pursposes, and the librt root
|
||||
solver. For analysts and modelers alike, the MGED modeler also
|
||||
acquires a few new commands including reid and remat that respectively
|
||||
assist with the assignment of region and material identifiers.
|
||||
@@ -1499,7 +1043,7 @@ of BRL-CAD over the past 20 years.
|
||||
* updated g_qa manual page documentation - Lee Butler
|
||||
* early termination grid spacing limit bug in g_qa fixed - Lee Butler
|
||||
* fixed Jove sandbox installation issue - Sean Morrison
|
||||
* fixed adrt/isst client crash bug - Mike Caruso, Razak Arunaogun
|
||||
* fixed adrt/isst client crash bug - Mike Caruso, Razak Arunaugun
|
||||
* fixed modified env(PATH) startup issue in mged - Sean Morrison
|
||||
* fixed benchmark tool default resource location bug - Sean Morrison
|
||||
* added another text alignment handler to dxf-g - John Anderson
|
||||
@@ -1520,7 +1064,7 @@ creation commands read point data sets in a simple text file format,
|
||||
recognizing categories and collections of points. Using
|
||||
point-acquisition devices such as X-Station Vulcan advanced surveying
|
||||
systems from Arc Second Inc., points may be collected and used in MGED
|
||||
to facilitate the generation of geometry models. Collection
|
||||
to factilitate the generation of geometry models. Collection
|
||||
techniques are recognized for polygonal plates, cylinders, spheres,
|
||||
point clouds, and more.
|
||||
|
||||
@@ -1624,7 +1168,7 @@ toolset includes a master job manager, a slave compute daemon for
|
||||
network distributed processing, and a client for observing job
|
||||
progress.
|
||||
|
||||
Driven by user requests, the 'rtarea' command now reports significantly
|
||||
Driven by user requests, the 'rtarea' command now reports signifcantly
|
||||
more information than before including area details for all assemblies
|
||||
and regions being rendered. Both the presented and exposed areas are
|
||||
now computed too, including details on how many regions/assemblies are
|
||||
@@ -2225,7 +1769,7 @@ features are:
|
||||
mged:
|
||||
- A dedication page has been added in memory of Mike Muuss
|
||||
- Solids are now referred to as Primitive Shapes or "prims" in
|
||||
much of the user interface
|
||||
much of the user interface
|
||||
- The 'make' command now properly distinguishes between "ell" and
|
||||
"ell1"
|
||||
- 'autoview' command added for resetting the view size and center
|
||||
@@ -2476,14 +2020,14 @@ As BRL-CAD continues to be developed and evolves, various application
|
||||
programming interfaces (APIs), headers, and data types necessarily
|
||||
change to fulfill development requirements and to not allow the APIs
|
||||
to become overly complicated with unnecessary or undesired complexity.
|
||||
As these changes are foreseen, features will be sometimes marked as
|
||||
As these changes are forseen, features will be sometimes marked as
|
||||
deprecated and will usually be made obsolete at some point in the
|
||||
future. For those situations, developers using the BRL-CAD libraries
|
||||
may need to update to new API features in order to link with newer
|
||||
versions of BRL-CAD.
|
||||
|
||||
See the CHANGES file for a transcript of features that are deprecated
|
||||
or have already become obsolete.
|
||||
See the doc/deprecation.txt file for a transcript of features that are
|
||||
deprecated or have already become obsolete.
|
||||
|
||||
---
|
||||
See doc/history.txt for more historic information on BRL-CAD. There
|
||||
@@ -2493,11 +2037,9 @@ Subversion revision control on Sourceforge.
|
||||
|
||||
NEWS items should be formatted to column 70 (default M-q in Emacs),
|
||||
include credits to all significant contributors, and be descriptively
|
||||
succinct. NEWS items should be ONE LINE per user-visible change with
|
||||
succient. NEWS items should be ONE LINE per user-visible change with
|
||||
the description not exceeding column 70. Multiple contributors may be
|
||||
listed on the same or following line, separated by commas. Items
|
||||
should be written in plain English using the past tense or as a
|
||||
verbless clause.
|
||||
listed on the same or following line.
|
||||
|
||||
// Local Variables:
|
||||
// mode: Text
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
BRL-CAD
|
||||
Release 7.26.0
|
||||
Release 7.18.6
|
||||
http://brlcad.org/
|
||||
|
||||
BRL-CAD is a powerful cross-platform open source combinatorial
|
||||
@@ -39,12 +39,9 @@ contents of the BRL-CAD distribution.
|
||||
Some platforms have additional platform-specific documentation that
|
||||
should be consulted after reading this file:
|
||||
|
||||
doc/README.AIX -- IBM's Advanced Interactive eXecutive OS
|
||||
doc/README.BSD -- FreeBSD, NetBSD, OpenBSD, etc.
|
||||
doc/README.IRIX -- SGI IRIX and IRIX64
|
||||
doc/README.Linux -- Various Linux distributions
|
||||
doc/README.MacOSX -- Apple Mac OS X
|
||||
doc/README.Solaris -- Oracle Solaris, OpenIndiana (Illumos), etc.
|
||||
doc/README.MacOSX -- Apple Mac OS X
|
||||
doc/README.IRIX -- SGI IRIX and IRIX64
|
||||
doc/README.Linux -- Various Linux distributions
|
||||
doc/README.Windows -- Microsoft Windows
|
||||
|
||||
The information on how to install and operate the software, to become
|
||||
@@ -71,30 +68,26 @@ COMPILE AND INSTALL
|
||||
|
||||
See the INSTALL file for details on configuring, compiling, and
|
||||
installing BRL-CAD. In order to compile and install BRL-CAD from a
|
||||
source distribution, the build tool CMake is required (minimum version
|
||||
currently required is 2.8.4) - see the website at http://www.cmake.org
|
||||
for source and binary installers. CMake is also available in many
|
||||
Linux and *BSD distributions.
|
||||
source distribution, the following steps may be taken for a full
|
||||
default install:
|
||||
|
||||
Once CMake is installed, the following steps may be taken for a full
|
||||
default install (starting with a source tarball):
|
||||
|
||||
tar -xvzf brlcad-X.Y.Z.tar.gz
|
||||
mkdir brlcad-build
|
||||
cd brlcad-build
|
||||
cmake ../brlcad-X.Y.Z
|
||||
./configure
|
||||
make
|
||||
make install
|
||||
|
||||
where "X.Y.Z" is the version number of BRL-CAD. For those who prefer
|
||||
a curses interface, substitute ccmake for cmake above. If the graphical
|
||||
interface available from CMake is installed cmake-gui may be
|
||||
substituted for cmake. These interfaces will display the various
|
||||
configuration options available when building BRL-CAD, or the options
|
||||
may be set directly via command line -D options.
|
||||
The configure wrapper script may be substituted for cmake in the above
|
||||
steps for a more autotools-like configuration experience.
|
||||
If you do not have a configure script in your source tree (at the same
|
||||
level as this README file), you will need a relatively up-to-date
|
||||
version of the GNU Build System (autoconf, automake, & libtool)
|
||||
installed. The autogen.sh script will need to be run successfully in
|
||||
order to generate the configure script first:
|
||||
|
||||
sh autogen.sh
|
||||
./configure
|
||||
make
|
||||
make install
|
||||
|
||||
There are various options available to both configure and make. Run
|
||||
"./configure --help" for a list of available configuration options.
|
||||
Users on multiprocessor systems will be able to speed up their builds
|
||||
by passing the -j option to make (e.g. make -j4, assuming GNU make).
|
||||
|
||||
@@ -103,9 +96,9 @@ permissions, you should be able to begin the installation by running
|
||||
the "make install" . By default, the package is configured to install
|
||||
entirely into /usr/brlcad/.
|
||||
|
||||
You will need to add /usr/brlcad/bin to your path (or whatever path the
|
||||
variable CMAKE_INSTALL_PREFIX was set to during configure) in order for
|
||||
the BRL-CAD binaries to be in your path.
|
||||
You will need to add /usr/brlcad/bin to your path (or whatever was
|
||||
used as a --prefix during configure) in order for the BRL-CAD binaries
|
||||
to be in your path.
|
||||
|
||||
|
||||
BENCHMARK
|
||||
@@ -114,8 +107,7 @@ BENCHMARK
|
||||
After the build successfully completes, you will be able to verify
|
||||
basic functionality by running the BRL-CAD Benchmark. Running the
|
||||
benchmark suite is integrated into the build system such that any time
|
||||
after running CMake (in the cmake gui, configure and generate must both
|
||||
be performed) you may run:
|
||||
after configure, you may run:
|
||||
|
||||
make benchmark
|
||||
|
||||
@@ -250,7 +242,8 @@ common operating system environments including for BSD, IRIX, Linux,
|
||||
Solaris, Mac OS X, and Windows among others. The entire package is
|
||||
distributed in binary and source code form as free open source
|
||||
software (FOSS), provided under Open Source Initiative (OSI) approved
|
||||
license terms. BRL-CAD was released as open source in December 2004.
|
||||
license terms. BRL-CAD was released as open source in December 2004
|
||||
with portions licensed under the GPL, LGPL, GFDL, and BSD licenses.
|
||||
See the COPYING file for more details.
|
||||
|
||||
|
||||
@@ -263,7 +256,7 @@ distribution at the beginning of every month, usually being posted
|
||||
sometime within the first week of every month.
|
||||
|
||||
Depending on need, demand, and activity, additional releases may also
|
||||
be made. The additional releases will be heavily dependent upon the
|
||||
be made. The additional releases will be heavily dependant upon the
|
||||
level of user involvement and contributions in particular.
|
||||
Information about new releases will be routinely provided by
|
||||
electronic mail to recipients of this software as well as to the
|
||||
@@ -282,8 +275,8 @@ GETTING HELP
|
||||
------------
|
||||
|
||||
Feel free to direct any unanswered questions relating to BRL-CAD via
|
||||
e-mail or to any of the other contact means described above in the
|
||||
COMMUNICATIONS section of this document.
|
||||
e-mail to 'devs@brlcad.org' or to any of the other contact means
|
||||
described above in the COMMUNICATIONS section of this document.
|
||||
|
||||
Best Wishes,
|
||||
The BRL-CAD Development Team
|
||||
|
||||
+286
@@ -0,0 +1,286 @@
|
||||
BRL-CAD
|
||||
Release 7.18.4
|
||||
http://brlcad.org/
|
||||
|
||||
BRL-CAD is a powerful cross-platform open source combinatorial
|
||||
Constructive Solid Geometry (CSG) solid modeling system that includes
|
||||
an interactive 3D solid geometry editor, a network-distributed
|
||||
symmetric multiprocessing high-performance ray-tracer,
|
||||
network-distributed framebuffer support, image and signal-processing
|
||||
tools, ray-tracing support for rendering and geometric analysis,
|
||||
path-tracing and photon mapping support for realistic image synthesis,
|
||||
animation capabilities, ray-tracing and numerical processing
|
||||
libraries, a system performance analysis benchmark suite, an embedded
|
||||
scripting interface, and a robust high-performance geometric
|
||||
representation and analysis library.
|
||||
|
||||
|
||||
TABLE OF CONTENTS
|
||||
-----------------
|
||||
Introduction
|
||||
Table of Contents
|
||||
Getting Started
|
||||
Compile and Install
|
||||
Benchmark
|
||||
Communication
|
||||
Bug Reports/Feature Requests
|
||||
Distribution Details
|
||||
Background Information
|
||||
Future Events
|
||||
Getting Help
|
||||
|
||||
|
||||
GETTING STARTED
|
||||
----------------
|
||||
|
||||
This README file exists only to provide you a brief roadmap to the
|
||||
contents of the BRL-CAD distribution.
|
||||
|
||||
Some platforms have additional platform-specific documentation that
|
||||
should be consulted after reading this file:
|
||||
|
||||
doc/README.MacOSX -- Apple Mac OS X
|
||||
doc/README.IRIX -- SGI IRIX and IRIX64
|
||||
doc/README.Linux -- Various Linux distributions
|
||||
doc/README.Windows -- Microsoft Windows
|
||||
|
||||
The information on how to install and operate the software, to become
|
||||
involved with the development of the package, or to run the benchmark
|
||||
performance test suite have each become sufficiently large that their
|
||||
details are covered in more detail in standalone documents. For more
|
||||
details on what BRL-CAD provides, see the documentation provided on
|
||||
the website at http://brlcad.org/.
|
||||
|
||||
Information relevant to those interested in the source code is
|
||||
contained in the HACKING and COPYING files. See doc/benchmark.tr file
|
||||
for benchmark suite information. There is a variety of other
|
||||
documentation and information also available in the doc/ directory.
|
||||
|
||||
Please note that this distribution package does not include the
|
||||
various military-specific model analysis tools such as MUVES, GIFT,
|
||||
SAR, SLAVE, VAST, etc., nor does it include any military geometry
|
||||
databases. If you desire to have access to this material, please
|
||||
contact one of the BRL-CAD developers.
|
||||
|
||||
|
||||
COMPILE AND INSTALL
|
||||
-------------------
|
||||
|
||||
See the INSTALL file for details on configuring, compiling, and
|
||||
installing BRL-CAD. In order to compile and install BRL-CAD from a
|
||||
source distribution, the build tool CMake is required - see the
|
||||
website at http://www.cmake.org for source and binary installers.
|
||||
CMake is also available in many Linux and *BSD distributions.
|
||||
|
||||
Once CMake is installed, the following steps may be taken for a full
|
||||
default install (starting with a source tarball):
|
||||
|
||||
tar -xvzf brlcad-X.Y.Z.tar.gz
|
||||
mkdir brlcad-build
|
||||
cd brlcad-build
|
||||
cmake ../brlcad-X.Y.Z
|
||||
make
|
||||
make install
|
||||
|
||||
where "X.Y.Z" is the version number of BRL-CAD. If the graphical
|
||||
interface available from CMake is installed cmake-gui may be
|
||||
substituted for cmake above. This will bring up an interface
|
||||
displaying various configuration options available with CMake.
|
||||
These options may also be set directly via the command line, or
|
||||
a configure wrapper script may be substituted for cmake above to
|
||||
provide more autotools-line configuration options.
|
||||
|
||||
Users on multiprocessor systems will be able to speed up their builds
|
||||
by passing the -j option to make (e.g. make -j4, assuming GNU make).
|
||||
|
||||
Once the build completes and assuming you have proper filesystem
|
||||
permissions, you should be able to begin the installation by running
|
||||
the "make install" . By default, the package is configured to install
|
||||
entirely into /usr/brlcad/.
|
||||
|
||||
You will need to add /usr/brlcad/bin to your path (or whatever path the
|
||||
variable CMAKE_INSTALL_PREFIX was set to during configure) in order for
|
||||
the BRL-CAD binaries to be in your path.
|
||||
|
||||
|
||||
BENCHMARK
|
||||
---------
|
||||
|
||||
After the build successfully completes, you will be able to verify
|
||||
basic functionality by running the BRL-CAD Benchmark. Running the
|
||||
benchmark suite is integrated into the build system such that any time
|
||||
after running CMake (in the cmake gui, configure and generate must both
|
||||
be performed) you may run:
|
||||
|
||||
make benchmark
|
||||
|
||||
If the build is successful, you will see "CORRECT" numbers and a
|
||||
performance summary at the end. The "vgr" line effectively shows you
|
||||
approximately how much faster your machine is to a VAX 11/780. After
|
||||
installing BRL-CAD, you may run the 'benchmark' tool as well to run
|
||||
the BRL-CAD Benchmark.
|
||||
|
||||
See the paper in doc/benchmark.tr for information on analyzing and
|
||||
comparing the results of the benchmark tests in more detail.
|
||||
|
||||
|
||||
COMMUNICATION
|
||||
-------------
|
||||
|
||||
You are invited to participate in the InterNet (aka "ARPANET")
|
||||
electronic mailing list on the BRL-CAD software. There are various
|
||||
BRL-CAD mailing lists available on the project website at
|
||||
http://sourceforge.net/mail/?group_id=105292 including three
|
||||
developer-oriented lists, a user list, and a read-only news
|
||||
announcement list. See the posted archives to get a feel for the
|
||||
volume of list traffic for each list and to read/search past
|
||||
discussions.
|
||||
|
||||
On-line web forums are likewise available on the project site at
|
||||
http://sourceforge.net/forum/?group_id=105292
|
||||
|
||||
A variety of information on BRL-CAD is available via the
|
||||
World-Wide-Web. Papers, documentation, and the software repository
|
||||
may be found at:
|
||||
|
||||
http://brlcad.org
|
||||
|
||||
In addition to the above, there is an official BRL-CAD IRC channel on
|
||||
the Freenode network that may be reached by joining #brlcad on
|
||||
irc.freenode.net connecting via port 6667. For first-time users,
|
||||
there is a web-based IRC client available for certain browsers at:
|
||||
|
||||
http://irc.brlcad.org
|
||||
|
||||
IRC is the preferred method of communication to interact with the
|
||||
BRL-CAD developers, to get involved with the project, obtain support,
|
||||
or provide direct feedback.
|
||||
|
||||
|
||||
BUG REPORTS AND FEATURE REQUESTS
|
||||
--------------------------------
|
||||
|
||||
Please report any bugs encountered to the project bug tracker at
|
||||
http://sourceforge.net/tracker/?group_id=105292&atid=640802
|
||||
|
||||
Similarly, please post any request for feature enhancements or support
|
||||
request to http://sourceforge.net/tracker/?group_id=105292&atid=640805
|
||||
and http://sourceforge.net/tracker/?group_id=105292&atid=640803
|
||||
respectively.
|
||||
|
||||
|
||||
DISTRIBUTION DETAILS
|
||||
--------------------
|
||||
|
||||
BRL-CAD is freely available and distributed in both binary and source
|
||||
code form through the BRL-CAD project website on Sourceforge:
|
||||
|
||||
http://sf.net/projects/brlcad/
|
||||
|
||||
The package is similarly available via a Subversion repository. To
|
||||
obtain the latest, follow the directions for anonymous checkout at:
|
||||
|
||||
http://sourceforge.net/svn/?group_id=105292
|
||||
|
||||
There is also a paid-for full-service support distribution available
|
||||
for those interested through SURVICE Engineering, Inc., and the
|
||||
Survivability/Vulnerability Information Analysis Center (SURVIAC).
|
||||
|
||||
SURVICE provides their own BRL-CAD distribution that comes with
|
||||
commercial support, documentation, and installation media. Full
|
||||
technical assistance is provided to their commercial distributions by
|
||||
phone, FAX, postal mail, or e-mail. Agencies of the Federal
|
||||
Government may acquire the full service distribution with a MIPR or
|
||||
OGA funds transfer.
|
||||
|
||||
For further details, contact:
|
||||
|
||||
BRL-CAD Distribution
|
||||
SURVIAC Aberdeen Satellite Office
|
||||
4695 Millennium Drive
|
||||
Belcamp, MD 210017-1505 USA
|
||||
|
||||
|
||||
BACKGROUND INFORMATION
|
||||
----------------------
|
||||
|
||||
BRL-CAD is the primary tri-service solid modeling CAD system used by
|
||||
the U.S. military to model weapons systems for vulnerability and
|
||||
lethality analyses. The solid modeling system is frequently used in a
|
||||
wide range of military and industrial application including in the
|
||||
design and analysis of vehicles, mechanical parts, and architecture.
|
||||
The package has also been used in radiation dose planning, medical
|
||||
visualization, computer graphics education, CSG concepts and modeling
|
||||
education, and system performance benchmark testing among other
|
||||
purposes.
|
||||
|
||||
Actively developed since 1979, BRL-CAD is a collection of more than
|
||||
400 tools, utilities, and applications comprising more than a million
|
||||
lines of source code. BRL-CAD supports a great variety of geometric
|
||||
representations including an extensive set of traditional CSG
|
||||
primitive implicit solids such as boxes, ellipsoids, cones, and tori,
|
||||
as well as explicit solids made from closed collections of Uniform
|
||||
B-Spline Surfaces, Non-Uniform Rational B-Spline (NURBS) surfaces,
|
||||
n-Manifold Geometry (NMG), and purely faceted mesh geometry. All
|
||||
geometric objects may be combined using boolean set-theoretic CSG
|
||||
operations including union, intersection, and difference.
|
||||
|
||||
BRL-CAD has been under active development for more than 20 years with
|
||||
a portability heritage that includes systems such as a DEC VAX-11/780
|
||||
running 4.3 BSD; DECStations running ULTRIX; Silicon Graphics 3030, 4D
|
||||
"IRIS", O2, Onyx, and Origin systems running various versions of IRIX;
|
||||
Sun Microsystems Sun-3 and Sun-4 Sparcs running SunOS; the Cray 1,
|
||||
Cray X-MP, Cray Y-MP, and Cray 2 running UNICOS; DEC Alpha AXP running
|
||||
OSF/1; Apple Macintosh II running A/UX; iPSC/860 Hypercube running
|
||||
NX/2; the Alliant FX/8, FX/80, and FX/2800; Gould/Encore SEL PowerNode
|
||||
6000/9000 and NP1; NeXT workstations; IBM RS/6000; HPPA 9000/700
|
||||
running HPUX; Ardent/Stardent; Encore Multi-Max; and much much more.
|
||||
BRL-CAD's extensive portability of course also includes a plethora of
|
||||
common desktop and server versions of BSD, IRIX, Solaris, Mac OS X,
|
||||
Linux, and Windows.
|
||||
|
||||
The BRL-CAD package is intentionally designed to be extensively
|
||||
cross-platform and is actively developed on and maintained for many
|
||||
common operating system environments including for BSD, IRIX, Linux,
|
||||
Solaris, Mac OS X, and Windows among others. The entire package is
|
||||
distributed in binary and source code form as free open source
|
||||
software (FOSS), provided under Open Source Initiative (OSI) approved
|
||||
license terms. BRL-CAD was released as open source in December 2004
|
||||
with portions licensed under the GPL, LGPL, GFDL, and BSD licenses.
|
||||
See the COPYING file for more details.
|
||||
|
||||
|
||||
FUTURE EVENTS
|
||||
-------------
|
||||
|
||||
It is expected that new releases of BRL-CAD will be issued
|
||||
approximately once a month. A new release is scheduled for
|
||||
distribution at the beginning of every month, usually being posted
|
||||
sometime within the first week of every month.
|
||||
|
||||
Depending on need, demand, and activity, additional releases may also
|
||||
be made. The additional releases will be heavily dependant upon the
|
||||
level of user involvement and contributions in particular.
|
||||
Information about new releases will be routinely provided by
|
||||
electronic mail to recipients of this software as well as to the
|
||||
BRL-CAD NEWS mailing list:
|
||||
|
||||
http://sourceforge.net/mail/?group_id=105292
|
||||
|
||||
Periodically, training and user group meetings are provided with
|
||||
announcements similarly posted to the BRL-CAD NEWS mailing list.
|
||||
Several BRL-CAD developers also regularly attend the ACM Siggraph
|
||||
conference, the ACM Solid and Physical Modeling conference, and other
|
||||
similar conferences, conventions, and symposiums as well.
|
||||
|
||||
|
||||
GETTING HELP
|
||||
------------
|
||||
|
||||
Feel free to direct any unanswered questions relating to BRL-CAD via
|
||||
e-mail to 'devs@brlcad.org' or to any of the other contact means
|
||||
described above in the COMMUNICATIONS section of this document.
|
||||
|
||||
Best Wishes,
|
||||
The BRL-CAD Development Team
|
||||
devs@brlcad.org
|
||||
+77
@@ -0,0 +1,77 @@
|
||||
Remaining items:
|
||||
|
||||
17. fix wish build on windows - current output exe doesn't run
|
||||
|
||||
18. 64 bit Windows build - will need a few flags, at least in tcl/tk
|
||||
|
||||
19. See if you can auto-generate documentation for configure options by pulling
|
||||
doc properties from options not marked as advanced and generating a formatted
|
||||
text file
|
||||
|
||||
20. Update README, INSTALL, doc/*, etc.
|
||||
21. Unbreak Xcode generation (at least Tcl and almost certainly Tk, possibly others)
|
||||
|
||||
Done (to first order, all this needs testing)
|
||||
|
||||
1. Detect OpenGL properly on Apple - choose X11 vs Aqua, and get the ogl code working
|
||||
|
||||
3. Our tcl autopath function for adding paths to the package search list needs fixing - CMake breaks
|
||||
assumptions it was using.
|
||||
|
||||
4. Scrub the third party logic and clean up/simplify - try to get away from using BRLCAD_ variables
|
||||
when they aren't needed.
|
||||
|
||||
5. Break logic out of the toplevel into src and src/other dirs - among other things, we want to
|
||||
be able to cd in to src and type make to avoid the doc subdirectory.
|
||||
|
||||
9. Multiplatform testing. Specifically, find a Windows box and conditionalize everything which
|
||||
doesn't work out-of-box (lex/yacc and sh based logic are obvious, other probables)
|
||||
|
||||
11. Find out why make package from CPack isn't including much of anything, fix it.
|
||||
|
||||
10. Convert -D options that need spaces in args (mostly pathnames) to config.h header files - mostly
|
||||
this is an issue for Tcl/Tk and packages, but CMake->Visual C++ solutions doesn't tolerate the
|
||||
spaces.
|
||||
|
||||
15. Try and get archer working in the build directory - this is going to involve carefully studying
|
||||
what bu_brlcad_data and friends are up to, and what we need to have in place. Right now mged
|
||||
will crash if either a share dir is created in the build toplevel (empty data dir) or there
|
||||
is an installed BRL-CAD in the target install directory (not sure what the issue is there) but
|
||||
will run in isolation. Even a full copy of the installed share dir in the toplevel build causes
|
||||
a crash, and Archer can't find its files even with the full share dir present (?)
|
||||
|
||||
2. Do a diff of all the generated scripts using configure_file - make sure what autotools produces
|
||||
is what is being produced by CMake, and make sure no variable definitions in support of scripts
|
||||
are nuking variables used by CMake - (checked this and defined a few variables, but CMake's
|
||||
habit of using full paths mixes oddly with pkgconfig's standard output of -lm, -lpng, etc. -
|
||||
need to study this more later. Not entirely convinced our autotools setup is fully correct
|
||||
either - does anyone use this?)
|
||||
|
||||
8. Review and test binaries - get regression testing working, check mged and archer, etc. - regression
|
||||
works, mged and archer seem to work fairly well
|
||||
|
||||
7. Build flags - we supply a lot via several options in autotools - express that in CMake
|
||||
|
||||
|
||||
13. Enable any remaining things present in autotools but not CMake - RTGL and libpc come to mind. (got rtgl and libpc)
|
||||
|
||||
15. get tcl/tk build fixed on opensolaris, continue build (got tcl/tk building, but there are other issues with Sun Studio. Other issues don't look to be specific to CMake, though there may be a few hiding behind other errors.)
|
||||
|
||||
16. make the src/other build logic use the version numbers where needed
|
||||
|
||||
14. Apply lessons learned to the SCL build logic
|
||||
|
||||
18. look into doxygen build
|
||||
|
||||
6. Review the dist logic in the toplevel Makefile.am. Gonna have to study up on CPack and CTest -
|
||||
figure out the process for checking permissions, install results, etc. in order to provide
|
||||
the same robustness for CMake generated tarballs that we have for autotools.
|
||||
|
||||
21. Test combinations of options, look more closely at what benchmark and rtserver only
|
||||
intend to accomplish.
|
||||
|
||||
12. Try enabling the Aqua compile logic - it still won't work, but get the build logic to the point
|
||||
where the autotools logic is. - ** Work on this later - fair amount of work here and the Aqua situation
|
||||
is in flux generally to begin with. Not a priority **
|
||||
|
||||
|
||||
Executable
+1598
File diff suppressed because it is too large
Load Diff
+29
-31
@@ -1,50 +1,48 @@
|
||||
add_subdirectory(ref)
|
||||
|
||||
include_directories(${BU_INCLUDE_DIRS})
|
||||
include_directories(
|
||||
${BRLCAD_BINARY_DIR}/include
|
||||
${BRLCAD_SOURCE_DIR}/include
|
||||
${TCL_INCLUDE_DIRS}
|
||||
)
|
||||
|
||||
add_definitions(
|
||||
-DHAVE_CONFIG_H
|
||||
-DBRLCADBUILD
|
||||
-DCONSOLE
|
||||
)
|
||||
|
||||
IF(MSVC)
|
||||
add_definitions(
|
||||
-DCONSOLE
|
||||
-DBRLCAD_DLL
|
||||
)
|
||||
ENDIF(MSVC)
|
||||
|
||||
BRLCAD_ADDEXEC(pixcmp pixcmp.c libbu)
|
||||
|
||||
configure_file(run.sh ${CMAKE_CURRENT_BINARY_DIR}/benchmark COPYONLY)
|
||||
install(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/benchmark DESTINATION ${BIN_DIR})
|
||||
if(CMAKE_CONFIGURATION_TYPES)
|
||||
foreach(CFG_TYPE ${CMAKE_CONFIGURATION_TYPES})
|
||||
string(TOUPPER "${CFG_TYPE}" CFG_TYPE_UPPER)
|
||||
configure_file(run.sh ${CMAKE_BINARY_DIR_${CFG_TYPE_UPPER}}/bin/benchmark COPYONLY)
|
||||
endforeach(CFG_TYPE ${CMAKE_CONFIGURATION_TYPES})
|
||||
else(CMAKE_CONFIGURATION_TYPES)
|
||||
configure_file(run.sh ${CMAKE_BINARY_DIR}/bin/benchmark COPYONLY)
|
||||
endif(CMAKE_CONFIGURATION_TYPES)
|
||||
configure_file(run.sh ${CMAKE_BINARY_DIR}/bin/benchmark COPYONLY)
|
||||
INSTALL(PROGRAMS ${CMAKE_BINARY_DIR}/bin/benchmark DESTINATION ${${CMAKE_PROJECT_NAME}_INSTALL_BIN_DIR})
|
||||
|
||||
file(WRITE ${CMAKE_BINARY_DIR}/CMakeTmp/benchmsg.cmake "message(\"---\")\n")
|
||||
file(APPEND ${CMAKE_BINARY_DIR}/CMakeTmp/benchmsg.cmake "message(\"Run 'make benchmark-clean' in the bench directory to delete the logic\")\n")
|
||||
file(APPEND ${CMAKE_BINARY_DIR}/CMakeTmp/benchmsg.cmake "message(\"and image files generated during the benchmark analysis.\")\n")
|
||||
FILE(WRITE ${CMAKE_BINARY_DIR}/CMakeTmp/benchmsg.cmake "MESSAGE(\"---\")\n")
|
||||
FILE(APPEND ${CMAKE_BINARY_DIR}/CMakeTmp/benchmsg.cmake "MESSAGE(\"Run 'make benchmark-clean' in the bench directory to delete the logic\")\n")
|
||||
FILE(APPEND ${CMAKE_BINARY_DIR}/CMakeTmp/benchmsg.cmake "MESSAGE(\"and image files generated during the benchmark analysis.\")\n")
|
||||
|
||||
SET(bench_MANS
|
||||
benchmark.1
|
||||
pixcmp.1
|
||||
)
|
||||
ADD_MAN_PAGES(1 bench_MANS)
|
||||
CMAKEFILES(lgt.sh run.sh try.sh viewdiff.sh)
|
||||
|
||||
if(SH_EXEC)
|
||||
add_custom_target(benchmark
|
||||
IF(SH_EXEC)
|
||||
ADD_CUSTOM_TARGET(benchmark
|
||||
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
|
||||
DEPENDS rt pixcmp
|
||||
)
|
||||
add_dependencies(benchmark bldg391.g m35.g moss.g sphflake.g star.g world.g)
|
||||
add_custom_target(benchmark-clean
|
||||
ADD_DEPENDENCIES(benchmark bldg391.g m35.g moss.g sphflake.g star.g world.g)
|
||||
ADD_CUSTOM_TARGET(benchmark-clean
|
||||
${SH_EXEC} ${CMAKE_BINARY_DIR}/bin/benchmark clean
|
||||
)
|
||||
add_custom_target(benchmark-clobber
|
||||
ADD_CUSTOM_TARGET(benchmark-clobber
|
||||
${SH_EXEC} ${CMAKE_BINARY_DIR}/bin/benchmark clobber
|
||||
)
|
||||
endif(SH_EXEC)
|
||||
|
||||
# Local Variables:
|
||||
# tab-width: 8
|
||||
# mode: cmake
|
||||
# indent-tabs-mode: t
|
||||
# End:
|
||||
# ex: shiftwidth=2 tabstop=8
|
||||
ENDIF(SH_EXEC)
|
||||
|
||||
@@ -0,0 +1,60 @@
|
||||
|
||||
.PHONY : clean clobber run bench
|
||||
|
||||
bin_PROGRAMS = pixcmp
|
||||
pixcmp_SOURCES = pixcmp.c
|
||||
pixcmp_CFLAGS = ${TCL_CPPFLAGS}
|
||||
pixcmp_LDADD = ${BU}
|
||||
|
||||
dist_bin_SCRIPTS = \
|
||||
benchmark
|
||||
|
||||
man_MANS = \
|
||||
benchmark.1 \
|
||||
pixcmp.1
|
||||
|
||||
EXTRA_DIST = \
|
||||
$(man_MANS) \
|
||||
${dist_bin_SCRIPTS} \
|
||||
lgt.sh \
|
||||
run.sh \
|
||||
try.sh \
|
||||
viewdiff.sh
|
||||
|
||||
benchmark: run.sh
|
||||
cp $(top_srcdir)/bench/run.sh benchmark
|
||||
|
||||
run: all
|
||||
@if test -r ${srcdir}/run.sh ; then \
|
||||
LD_LIBRARY_PATH=$(top_builddir)/src/other/tcl/unix:$(top_builddir)/src/other/tk/unix:$$LD_LIBRARY_PATH \
|
||||
DYLD_LIBRARY_PATH=$(top_builddir)/src/other/tcl/unix:$(top_buildir)/src/other/tk/unix:$$DYLD_LIBRARY_PATH \
|
||||
${SH} ${srcdir}/run.sh run ; \
|
||||
ret=$$? ; \
|
||||
if test "x$$ret" != "x0" ; then \
|
||||
echo "*** BENCHMARK TESTING FAILED ***" ; \
|
||||
exit 1 ; \
|
||||
fi ; \
|
||||
fi
|
||||
@echo "---"
|
||||
@echo "Run 'make clean' in the bench directory to delete the log"
|
||||
@echo "and image files generated during the benchmark analysis."
|
||||
@echo
|
||||
|
||||
bench: run
|
||||
|
||||
clean:
|
||||
@${SH} ${srcdir}/run.sh clean
|
||||
|
||||
clobber:
|
||||
@${SH} ${srcdir}/run.sh clobber
|
||||
|
||||
CLEANFILES = \
|
||||
benchmark
|
||||
|
||||
DISTCLEANFILES = \
|
||||
*.log \
|
||||
*.pix
|
||||
|
||||
DEPS=src/rt db
|
||||
|
||||
include $(top_srcdir)/misc/Makefile.defs
|
||||
@@ -0,0 +1,227 @@
|
||||
.TH BENCHMARK 1 BRL-CAD
|
||||
.\" B E N C H M A R K . 1
|
||||
.\" BRL-CAD
|
||||
.\"
|
||||
.\" Copyright (c) 2006-2011 United States Government as represented by
|
||||
.\" the U.S. Army Research Laboratory.
|
||||
.\"
|
||||
.\" Redistribution and use in source (Docbook format) and 'compiled'
|
||||
.\" forms (PDF, PostScript, HTML, RTF, etc), with or without
|
||||
.\" modification, are permitted provided that the following conditions
|
||||
.\" are met:
|
||||
.\"
|
||||
.\" 1. Redistributions of source code (Docbook format) must retain the
|
||||
.\" above copyright notice, this list of conditions and the following
|
||||
.\" disclaimer.
|
||||
.\"
|
||||
.\" 2. Redistributions in compiled form (transformed to other DTDs,
|
||||
.\" converted to PDF, PostScript, HTML, RTF, and other formats) must
|
||||
.\" reproduce the above copyright notice, this list of conditions and
|
||||
.\" the following disclaimer in the documentation and/or other
|
||||
.\" materials provided with the distribution.
|
||||
.\"
|
||||
.\" 3. The name of the author may not be used to endorse or promote
|
||||
.\" products derived from this documentation without specific prior
|
||||
.\" written permission.
|
||||
.\"
|
||||
.\" THIS DOCUMENTATION IS PROVIDED BY THE AUTHOR AS IS'' AND ANY
|
||||
.\" EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||
.\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
||||
.\" ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
|
||||
.\" OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
|
||||
.\" BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
|
||||
.\" LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
|
||||
.\" USE OF THIS DOCUMENTATION, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\".\".\"
|
||||
.SH NAME
|
||||
benchmark \- runs the BRL-CAD benchmark
|
||||
.SH SYNOPSIS
|
||||
.B [OPTION=value] benchmark [command] [OPTION=value] [RT_OPTIONS]
|
||||
.SH DESCRIPTION
|
||||
.PP
|
||||
The benchmark suite will test the performance of a given system by
|
||||
iteratively rendering several well-known datasets into 512x512 images
|
||||
where performance metrics are documented and fairly well understood.
|
||||
The local machine performance is compared to the base system (called
|
||||
VGR) and a numeric "VGR" mulitplier of performance is computed. This
|
||||
number is a simplified metric from which one may qualitatively compare
|
||||
cpu and cache performance, versions of BRL-CAD, and different compiler
|
||||
characteristics.
|
||||
.PP
|
||||
Run without any arguments or variables set, the benchmark suite will
|
||||
run a series of tests where it renders several image frames. By
|
||||
default, the benchmark suite will attempt to calibrate the intensity
|
||||
of the test frames with the performance characteristics of the machine
|
||||
running the tests.
|
||||
.PP
|
||||
There are several \fBOPTION\fR environment variables that will modify
|
||||
how the BRL-CAD benchmark behaves so that it may be run in a
|
||||
stand-alone environment:
|
||||
.PP
|
||||
\&
|
||||
.B RT
|
||||
\- the ray-trace binary (e.g. ../src/rt/rt or /usr/brlcad/bin/rt)
|
||||
.br
|
||||
\&
|
||||
.B DB
|
||||
\- the directory containing the reference geometry (e.g. ../db)
|
||||
.br
|
||||
\&
|
||||
.B PIX
|
||||
\- the directory containing the reference images (e.g. ../pix)
|
||||
.br
|
||||
\&
|
||||
.B LOG
|
||||
\- the directory containing the reference logs (e.g. ../pix)
|
||||
.br
|
||||
\&
|
||||
.B CMP
|
||||
\- the name of a pixel comparison tool (e.g. ./pixcmp or cmp)
|
||||
.br
|
||||
\&
|
||||
.B ELP
|
||||
\- the name of an elapsed time tool (e.g. ../sh/elapsed.sh)
|
||||
.br
|
||||
\&
|
||||
.B TIMEFRAME
|
||||
\- minimum number of seconds each ray-trace frame should take
|
||||
.br
|
||||
\&
|
||||
.B MAXTIME
|
||||
\- maximum number of seconds to spend on any test
|
||||
.br
|
||||
\&
|
||||
.B DEVIATION
|
||||
\- minimum sufficient % deviation from the average
|
||||
.br
|
||||
\&
|
||||
.B AVERAGE
|
||||
\- how many frames to average together
|
||||
.br
|
||||
\&
|
||||
.B VERBOSE
|
||||
\- turn on extra debug output (set to yes)
|
||||
.br
|
||||
\&
|
||||
.B QUIET
|
||||
\- turn off all output (set to yes)
|
||||
.PP
|
||||
The \fITIMEFRAME\fR, \fIMAXTIME\fR, \fIDEVIATION\fR, and \fIAVERAGE\fR options control how the
|
||||
benchmark will proceed including how long it should take. Each
|
||||
individual benchmark run will consume at least a minimum \fITIMEFRAME\fR of
|
||||
wallclock time so that the results can stabilize. After consuming at
|
||||
least the minimum \fITIMEFRAME\fR, additional frames may be computed until
|
||||
the standard deviation from the last \fIAVERAGE\fR count of frames is below
|
||||
the specified \fIDEVIATION\fR. When a test is run and it completes in less
|
||||
than \fITIMEFRAME\fR, the raytrace is restarted using double the number of
|
||||
rays from the previous run. If the machine is fast enough, the
|
||||
benchmark may accelerate the number or rays being fired. These
|
||||
additional rays are hypersampled but without any jitter, so it is
|
||||
effectively performing a multiplier amount of work over the initial
|
||||
frame.
|
||||
.PP
|
||||
There are various \fBcommand\fRs that may be give to the BRL-CAD
|
||||
benchmark that cause it to peform various actions such as invoking the
|
||||
computation tests or filesystem clean-up:
|
||||
.PP
|
||||
\&
|
||||
.B clean
|
||||
\- remove the test-specific pix and log files
|
||||
.br
|
||||
\&
|
||||
.B clobber
|
||||
\- same as clean, also benchmark.log files and user is prompted
|
||||
.br
|
||||
\&
|
||||
.B help
|
||||
\- displays a brief usage statement
|
||||
.br
|
||||
\&
|
||||
.B instructions
|
||||
\- displays more detailed usage instructions
|
||||
.br
|
||||
\&
|
||||
.B quiet
|
||||
\- quell printing output (still logs)
|
||||
.br
|
||||
\&
|
||||
.B verbose
|
||||
\- remove the test-specific pix and log files
|
||||
.br
|
||||
\&
|
||||
.B clean
|
||||
\- remove the test-specific pix and log files
|
||||
.br
|
||||
\&
|
||||
.B run
|
||||
\- initiate the benchmark analysis
|
||||
.br
|
||||
.PP
|
||||
When the benchmark completes, output should be saved to several log
|
||||
files including a 'summary' file containing tabulated results, a
|
||||
'\*benchmark.log' file containing the output from a given run, and
|
||||
multiple log files for each test frame. Use the \fIclean\fR and
|
||||
\fIclobber\fR commands during execution to remove the files generated
|
||||
during the benchmark.
|
||||
.PP
|
||||
The \fIclean\fR command removes the test pix and log files. The
|
||||
\fIclobber\fR command removes those same files as well as any
|
||||
*benchmark.log files encountered, and prompting the user beforehand.
|
||||
The generated tabular \fIsummary\fR file will not be removed
|
||||
automatically regardless of invocation command. The \fIsummary\fR
|
||||
file must always be manually deleted.
|
||||
.SH "REPORTING RESULTS"
|
||||
.PP
|
||||
Plese send your BRL-CAD Benchmark results to the developers along with
|
||||
detailed system information to <devs@brlcad.org>. Include at least:
|
||||
.PP
|
||||
0) Compiler name and version (e.g. gcc --version)
|
||||
1) CPU configuration (e.g. cat /proc/cpuinfo or hinv or sysctl -a)
|
||||
2) Cache (data and/or instruction) details for L1/L2/L3 and system
|
||||
(e.g. cat /proc/cpuinfo or hinv or sysctl -a)
|
||||
3) All generated log files (i.e. *.log* after benchmark completes)
|
||||
4) Anything else you think might be relevant to performance
|
||||
.SH EXAMPLES
|
||||
.PP
|
||||
.B benchmark run
|
||||
.br
|
||||
default run of the suite, taking approximately 10 minutes
|
||||
.PP
|
||||
.B benchmark run TIMEFRAME=1
|
||||
.br
|
||||
quick test run for testing functionality and performance ballpark
|
||||
.PP
|
||||
.B benchmark run DEVIATION=1 TIMEFRAME=60 MAXTIME=600
|
||||
.br
|
||||
excessive analysis, attempt to stabilize within 1 percent deviation
|
||||
with each frame taking at least 60 seconds but no more than 10 minutes
|
||||
per test (the entire analysis will probably take 30 to 60 minutes)
|
||||
.B benchmark run QUIET=1 -P1
|
||||
.br
|
||||
perform a benchmark analysis only using one CPU and only logging
|
||||
results to a file
|
||||
.PP
|
||||
.B benchmark clean
|
||||
.br
|
||||
delete all of the log and pix image files generated during a
|
||||
benchmark analysis, leaving only the summary file and any
|
||||
*benchmark.log files
|
||||
.SH "SEE ALSO"
|
||||
brlcad(1), rt(1), pix-fb(1), librt(3), pix(5).
|
||||
.SH AUTHOR
|
||||
Christopher Sean Morrison
|
||||
.br
|
||||
Michael John Muuss
|
||||
.br
|
||||
Susan Muuss
|
||||
.SH COPYRIGHT
|
||||
This software is Copyright (c) 1988-2011 United States Government as
|
||||
represented by the U.S. Army Research Laboratory. All rights reserved.
|
||||
.SH "BUG REPORTS"
|
||||
Reports of bugs or problems should be submitted via electronic
|
||||
mail to <devs@brlcad.org>.
|
||||
+1
-1
@@ -2,7 +2,7 @@
|
||||
# L G T . S H
|
||||
# BRL-CAD
|
||||
#
|
||||
# Copyright (c) 2004-2014 United States Government as represented by
|
||||
# Copyright (c) 2004-2011 United States Government as represented by
|
||||
# the U.S. Army Research Laboratory.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
|
||||
@@ -0,0 +1,99 @@
|
||||
.TH PIXCMP 1 BRL-CAD
|
||||
.\" P I X C M P . 1
|
||||
.\" BRL-CAD
|
||||
.\"
|
||||
.\" Copyright (c) 2005-2011 United States Government as represented by
|
||||
.\" the U.S. Army Research Laboratory.
|
||||
.\"
|
||||
.\" Redistribution and use in source (Docbook format) and 'compiled'
|
||||
.\" forms (PDF, PostScript, HTML, RTF, etc), with or without
|
||||
.\" modification, are permitted provided that the following conditions
|
||||
.\" are met:
|
||||
.\"
|
||||
.\" 1. Redistributions of source code (Docbook format) must retain the
|
||||
.\" above copyright notice, this list of conditions and the following
|
||||
.\" disclaimer.
|
||||
.\"
|
||||
.\" 2. Redistributions in compiled form (transformed to other DTDs,
|
||||
.\" converted to PDF, PostScript, HTML, RTF, and other formats) must
|
||||
.\" reproduce the above copyright notice, this list of conditions and
|
||||
.\" the following disclaimer in the documentation and/or other
|
||||
.\" materials provided with the distribution.
|
||||
.\"
|
||||
.\" 3. The name of the author may not be used to endorse or promote
|
||||
.\" products derived from this documentation without specific prior
|
||||
.\" written permission.
|
||||
.\"
|
||||
.\" THIS DOCUMENTATION IS PROVIDED BY THE AUTHOR AS IS'' AND ANY
|
||||
.\" EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||
.\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
||||
.\" ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
|
||||
.\" OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
|
||||
.\" BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
|
||||
.\" LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
|
||||
.\" USE OF THIS DOCUMENTATION, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\".\".\"
|
||||
.SH NAME
|
||||
pixcmp \- compare two pix image files pixel by pixel
|
||||
.SH SYNOPSIS
|
||||
.B pixcmp
|
||||
.RB [\fIOPTIONS\fR]
|
||||
\fIFILE1\fR [\fIFILE2\fR [\fISKIP1\fR [\fISKIP2\fR]]]
|
||||
.SH DESCRIPTION
|
||||
.I pixcmp
|
||||
is a program to compare two BRL-CAD pix image files pixel by pixel. The following \fIOPTIONS\fR are available:
|
||||
.TP
|
||||
\fB\-l\fR
|
||||
Output pixel numbers, counting from 1, and values for all pixels that differ.
|
||||
.TP
|
||||
\fB\-b\fR
|
||||
Use bytes instead of pixels for both processing and output. With this option, the \fB-i\fR SKIP values should be specified as bytes instead of pixels.
|
||||
.TP
|
||||
\fB\-i\fR \fISKIP\fR
|
||||
Skip the first SKIP pixels of input (for FILE1 and FILE2).
|
||||
.TP
|
||||
\fB\-i\fR \fISKIP1\fR:\fISKIP2\fR
|
||||
Skip the first SKIP1 pixels of FILE1 and the first SKIP2 pixels of FILE2.
|
||||
.TP
|
||||
\fB\-s\fR
|
||||
Silent output. Only return an exit status.
|
||||
.PP
|
||||
SKIP1 and SKIP2 are the number of pixels to skip in each file.
|
||||
.PP
|
||||
If FILE is \`\fB\-\fR\' or missing,
|
||||
.I pixcmp
|
||||
reads from the standard input.
|
||||
.SH RETURN VALUES
|
||||
.PP
|
||||
The
|
||||
.I pixcmp
|
||||
utility returns \fB0\fR if there are no differences, \fB1\fR if there are only off-by-one differences, \fB2\fR if there are off-by-many errors, \fB126\fR if there are file processing problems, and \fB127\fR if there are argument processing or usage errors.
|
||||
.SH EXAMPLES
|
||||
.TP
|
||||
\fBpixcmp -l file1 file2\fR
|
||||
.br
|
||||
The two files are compared pixel by pixel with each difference printed instead of just the summary.
|
||||
.TP
|
||||
\fBpixdiff file1.pix file2.pix | pixcmp - file3.pix\fR
|
||||
.br
|
||||
The
|
||||
.I pixdiff
|
||||
tool compares the pixels in file1.pix with those in file2.pix and then outputs a resulting \`diff\' image which is then processed by
|
||||
.I pixcmp
|
||||
as input and compared against file3.pix, reporting on the differences.
|
||||
.SH SEE ALSO
|
||||
brlcad(1), pixdiff(1), pix(5), bw(5)
|
||||
.SH AUTHOR
|
||||
Christopher Sean Morrison
|
||||
.br
|
||||
Charles M. Kennedy
|
||||
.br
|
||||
Michael John Muuss
|
||||
.SH "BUG REPORTS"
|
||||
Reports of bugs or problems should be submitted via electronic
|
||||
mail to <devs@brlcad.org>.
|
||||
+9
-9
@@ -1,7 +1,7 @@
|
||||
/* P I X C M P . C
|
||||
* BRL-CAD
|
||||
*
|
||||
* Copyright (c) 2004-2014 United States Government as represented by
|
||||
* Copyright (c) 2004-2011 United States Government as represented by
|
||||
* the U.S. Army Research Laboratory.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
@@ -74,7 +74,7 @@ usage(const char *name)
|
||||
|
||||
|
||||
HIDDEN void
|
||||
handle_i_opt(const char *arg, off_t *skip1, off_t *skip2)
|
||||
handle_i_opt(const char *arg, long *skip1, long *skip2)
|
||||
{
|
||||
const char *endptr = arg;
|
||||
if ((arg == NULL) || ((skip1 == NULL) && (skip2 == NULL))) {
|
||||
@@ -95,7 +95,7 @@ handle_i_opt(const char *arg, off_t *skip1, off_t *skip2)
|
||||
if (skip2) {
|
||||
*skip2 = strtol(arg, NULL, 10);
|
||||
}
|
||||
if (skip1 && skip2) {
|
||||
if (skip1) {
|
||||
*skip1 = *skip2;
|
||||
}
|
||||
} else if (endptr[0] == ':') {
|
||||
@@ -127,8 +127,8 @@ main(int argc, char *argv[])
|
||||
int list_pixel_values = 0;
|
||||
int print_bytes = 0;
|
||||
int silent = 0;
|
||||
off_t f1_skip = 0;
|
||||
off_t f2_skip = 0;
|
||||
long f1_skip = 0;
|
||||
long f2_skip = 0;
|
||||
|
||||
long int bytes = 0;
|
||||
|
||||
@@ -205,8 +205,8 @@ main(int argc, char *argv[])
|
||||
}
|
||||
|
||||
/* skip requested pixels/bytes in FILE1 */
|
||||
if (f1_skip && bu_fseek(f1, f1_skip, SEEK_SET)) {
|
||||
bu_log("ERROR: Unable to seek %zd %s%s in FILE1\n",
|
||||
if (f1_skip && fseek(f1, f1_skip, SEEK_SET)) {
|
||||
bu_log("ERROR: Unable to seek %ld %s%s in FILE1\n",
|
||||
f1_skip,
|
||||
print_bytes?"byte":"pixel",
|
||||
f1_skip==1?"":"s");
|
||||
@@ -215,8 +215,8 @@ main(int argc, char *argv[])
|
||||
}
|
||||
|
||||
/* skip requested pixels in FILE2 */
|
||||
if (f2_skip && bu_fseek(f2, f2_skip, SEEK_SET)) {
|
||||
bu_log("ERROR: Unable to seek %zd %s%s in FILE2\n",
|
||||
if (f2_skip && fseek(f2, f2_skip, SEEK_SET)) {
|
||||
bu_log("ERROR: Unable to seek %ld %s%s in FILE2\n",
|
||||
f1_skip,
|
||||
print_bytes?"byte":"pixel",
|
||||
f1_skip==1?"":"s");
|
||||
|
||||
@@ -1,31 +0,0 @@
|
||||
set(BENCHMARK_PIX
|
||||
bldg391.pix
|
||||
m35.pix
|
||||
moss.pix
|
||||
sphflake.pix
|
||||
star.pix
|
||||
world.pix
|
||||
)
|
||||
|
||||
|
||||
set(PIX_LOG
|
||||
bldg391.log
|
||||
m35.log
|
||||
moss.log
|
||||
sphflake.log
|
||||
star.log
|
||||
world.log
|
||||
)
|
||||
|
||||
BRLCAD_ADDDATA(BENCHMARK_PIX pix)
|
||||
BRLCAD_ADDDATA(PIX_LOG pix)
|
||||
|
||||
CMAKEFILES(${BENCHMARK_PIX})
|
||||
CMAKEFILES(${PIX_LOG})
|
||||
|
||||
# Local Variables:
|
||||
# tab-width: 8
|
||||
# mode: cmake
|
||||
# indent-tabs-mode: t
|
||||
# End:
|
||||
# ex: shiftwidth=2 tabstop=8
|
||||
+44
-136
@@ -2,7 +2,7 @@
|
||||
# R U N . S H
|
||||
# BRL-CAD
|
||||
#
|
||||
# Copyright (c) 2004-2014 United States Government as represented by
|
||||
# Copyright (c) 2004-2011 United States Government as represented by
|
||||
# the U.S. Army Research Laboratory.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
@@ -52,8 +52,8 @@ export PATH || (echo "This isn't sh."; sh $0 $*; kill $$)
|
||||
|
||||
# save the precious args
|
||||
ARGS="$*"
|
||||
NAME_OF_THIS="`basename \"$0\"`"
|
||||
PATH_TO_THIS="`dirname \"$0\"`"
|
||||
NAME_OF_THIS=`basename $0`
|
||||
PATH_TO_THIS=`dirname $0`
|
||||
THIS="$PATH_TO_THIS/$NAME_OF_THIS"
|
||||
|
||||
# sanity check
|
||||
@@ -241,14 +241,14 @@ if test "x$HELP" = "x1" ; then
|
||||
echo "Available options:"
|
||||
echo " RT=/path/to/rt_binary (e.g., rt)"
|
||||
echo " DB=/path/to/reference/geometry (e.g. ../db)"
|
||||
echo " PIX=/path/to/reference/images (e.g., ./ref)"
|
||||
echo " LOG=/path/to/reference/logs (e.g., ./ref)"
|
||||
echo " PIX=/path/to/reference/images (e.g., ../pix)"
|
||||
echo " LOG=/path/to/reference/logs (e.g., ../pix)"
|
||||
echo " CMP=/path/to/pixcmp_tool (e.g., pixcmp)"
|
||||
echo " ELP=/path/to/time_tool (e.g., elapsed.sh)"
|
||||
echo " TIMEFRAME=#seconds (default 32)"
|
||||
echo " MAXTIME=#seconds (default 300)"
|
||||
echo " DEVIATION=%deviation (default 2)"
|
||||
echo " AVERAGE=#frames (default 5)"
|
||||
echo " DEVIATION=%deviation (default 3)"
|
||||
echo " AVERAGE=#frames (default 3)"
|
||||
echo ""
|
||||
echo "Available RT options:"
|
||||
echo " -P# (e.g., -P1 to force single CPU)"
|
||||
@@ -278,7 +278,7 @@ test the performance of a system by iteratively rendering several
|
||||
well-known datasets into 512x512 images where performance metrics are
|
||||
documented and fairly well understood. The local machine's
|
||||
performance is compared to the base system (called VGR) and a numeric
|
||||
"VGR" multiplier of performance is computed. This number is a
|
||||
"VGR" mulitplier of performance is computed. This number is a
|
||||
simplified metric from which one may qualitatively compare cpu and
|
||||
cache performance, versions of BRL-CAD, and different compiler
|
||||
characteristics.
|
||||
@@ -291,8 +291,8 @@ it may be run in a stand-alone environment:
|
||||
|
||||
RT - the rt binary (e.g. ../src/rt/rt or /usr/brlcad/bin/rt)
|
||||
DB - the directory containing the reference geometry (e.g. ../db)
|
||||
PIX - the directory containing the reference images (e.g. ./ref)
|
||||
LOG - the directory containing the reference logs (e.g. ./ref)
|
||||
PIX - the directory containing the reference images (e.g. ../pix)
|
||||
LOG - the directory containing the reference logs (e.g. ../pix)
|
||||
CMP - the name of a pixcmp tool (e.g. ./pixcmp or cmp)
|
||||
ELP - the name of an elapsed time tool (e.g. ../sh/elapsed.sh)
|
||||
TIMEFRAME - the minimum number of seconds each trace needs to take
|
||||
@@ -318,7 +318,7 @@ additional rays are hypersampled but without any jitter, so it's
|
||||
effectively performing a multiplier amount of work over the initial
|
||||
frame.
|
||||
|
||||
Please send your BRL-CAD Benchmark results to the developers along with
|
||||
Plese send your BRL-CAD Benchmark results to the developers along with
|
||||
detailed system information to <devs@brlcad.org>. Include at least:
|
||||
|
||||
0) Compiler name and version (e.g. gcc --version)
|
||||
@@ -350,19 +350,19 @@ if test "x$CLEAN" = "x1" ; then
|
||||
$ECHO
|
||||
|
||||
for i in moss world star bldg391 m35 sphflake ; do
|
||||
$ECHO rm -f $i.log $i.pix $i-[0-9]*.log $i-[0-9]*.pix
|
||||
rm -f $i.log $i.pix $i-[0-9]*.log $i-[0-9]*.pix
|
||||
$ECHO rm -f $i.log $i.pix $i.log.[0-9]* $i.pix.[0-9]*
|
||||
rm -f $i.log $i.pix $i.log.[0-9]* $i.pix.[0-9]*
|
||||
done
|
||||
if test "x$CLOBBER" = "x1" ; then
|
||||
# NEVER automatically delete the summary file, but go ahead with the rest
|
||||
for i in run-[0-9]*-benchmark.log ; do
|
||||
for i in benchmark-[0-9]*-run.log ; do
|
||||
$ECHO rm -f $i
|
||||
rm -f $i
|
||||
done
|
||||
fi
|
||||
|
||||
printed=no
|
||||
for i in summary run-[0-9]*-benchmark.log ; do
|
||||
for i in summary benchmark-[0-9]*-run.log ; do
|
||||
if test -f "$i" ; then
|
||||
if test "x$printed" = "xno" ; then
|
||||
$ECHO
|
||||
@@ -520,8 +520,9 @@ look_for directory "a benchmark reference image directory" PIX \
|
||||
${PATH_TO_THIS}/share/brlcad/pix \
|
||||
${PATH_TO_THIS}/../share/pix \
|
||||
${PATH_TO_THIS}/share/pix \
|
||||
${PATH_TO_THIS}/ref \
|
||||
./ref
|
||||
${PATH_TO_THIS}/../pix \
|
||||
${PATH_TO_THIS}/pix \
|
||||
./pix
|
||||
|
||||
look_for directory "a benchmark reference log directory" LOG \
|
||||
$PIX \
|
||||
@@ -531,8 +532,9 @@ look_for directory "a benchmark reference log directory" LOG \
|
||||
${PATH_TO_THIS}/share/brlcad/pix \
|
||||
${PATH_TO_THIS}/../share/pix \
|
||||
${PATH_TO_THIS}/share/pix \
|
||||
${PATH_TO_THIS}/ref \
|
||||
./ref
|
||||
${PATH_TO_THIS}/../pix \
|
||||
${PATH_TO_THIS}/pix \
|
||||
./pix
|
||||
|
||||
look_for executable "a pixel comparison utility" CMP \
|
||||
${PATH_TO_THIS}/pixcmp \
|
||||
@@ -617,7 +619,7 @@ if test ! "x${ret}" = "x0" ; then
|
||||
$ECHO
|
||||
$ECHO "ERROR: ELP does not seem to work as expected"
|
||||
exit 2
|
||||
fi
|
||||
fi
|
||||
|
||||
|
||||
# utility function to set a variable if it's not already set to something
|
||||
@@ -650,10 +652,10 @@ if test $MAXTIME -lt $TIMEFRAME ; then
|
||||
fi
|
||||
|
||||
# maximum deviation percentage
|
||||
set_if_unset DEVIATION 2
|
||||
set_if_unset DEVIATION 3
|
||||
|
||||
# maximum number of iterations to average
|
||||
set_if_unset AVERAGE 5
|
||||
set_if_unset AVERAGE 3
|
||||
|
||||
# end of settings, separate the output
|
||||
$ECHO
|
||||
@@ -665,7 +667,7 @@ $ECHO
|
||||
|
||||
# determine raytracer version
|
||||
$ECHO "RT reports the following version information:"
|
||||
versions="`$RT 2>&1 | grep BRL-CAD | grep Release`"
|
||||
versions="`$RT 2>&1 | grep BRL-CAD`"
|
||||
if test "x$versions" = "x" ; then
|
||||
$ECHO "Unknown"
|
||||
else
|
||||
@@ -673,27 +675,17 @@ else
|
||||
fi
|
||||
$ECHO
|
||||
|
||||
|
||||
# if expr works, let the user know about how long this might take
|
||||
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
|
||||
fi
|
||||
mintime="`expr $TIMEFRAME \* 6`"
|
||||
$ECHO "Minimum run time is `$ELP $mintime`"
|
||||
maxtime="`expr 6 \* $MAXTIME`"
|
||||
if test $maxtime -lt 1 ; then
|
||||
maxtime=1 # zero would be misleading
|
||||
fi
|
||||
maxtime="`expr $MAXTIME \* 6`"
|
||||
$ECHO "Maximum run time is `$ELP $maxtime`"
|
||||
estimate="`expr 3 \* $mintime`"
|
||||
if test $estimate -lt 1 ; then
|
||||
estimate=1 # zero would be misleading
|
||||
fi
|
||||
estimate="`expr $mintime \* 3`"
|
||||
if test $estimate -gt $maxtime ; then
|
||||
estimate="$maxtime"
|
||||
fi
|
||||
$ECHO "Estimated time is `$ELP $estimate`"
|
||||
$ECHO "Estimated time is `$ELP $estimate`"
|
||||
$ECHO
|
||||
else
|
||||
$ECHO "WARNING: expr is unavailable, unable to compute statistics"
|
||||
@@ -897,43 +889,6 @@ sqrt ( ) {
|
||||
}
|
||||
|
||||
|
||||
#
|
||||
# clean_obstacles base_filename
|
||||
# conditionally removes or saves backup of any .pix or .log files
|
||||
# output during bench.
|
||||
#
|
||||
clean_obstacles ( ) {
|
||||
base="$1" ; shift
|
||||
|
||||
if test "x$base" = "x" ; then
|
||||
$ECHO "ERROR: argument mismatch, cleaner is missing base name"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# look for an image file
|
||||
if test -f ${base}.pix ; then
|
||||
if test -f ${base}-$$.pix ; then
|
||||
# backup already exists, just delete obstacle
|
||||
rm -f ${base}.pix
|
||||
else
|
||||
# no backup exists yet, so keep it
|
||||
mv -f ${base}.pix ${base}-$$.pix
|
||||
fi
|
||||
fi
|
||||
|
||||
# look for a log file
|
||||
if test -f ${base}.log ; then
|
||||
if test -f ${base}-$$.log ; then
|
||||
# backup already exists, just delete obstacle
|
||||
rm -f ${base}.log
|
||||
else
|
||||
# no backup exists yet, so keep it
|
||||
mv -f ${base}.log ${base}-$$.log
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
#
|
||||
# bench test_name geometry [..rt args..]
|
||||
# runs a series of benchmark tests assuming the following are preset:
|
||||
@@ -965,20 +920,15 @@ bench ( ) {
|
||||
bench_rtfms=""
|
||||
bench_percent=100
|
||||
bench_start_time="`date '+%H %M %S'`"
|
||||
bench_overall_elapsed=-1
|
||||
bench_overall_elapsed=0
|
||||
|
||||
# clear out before we begin, only saving backup on first encounter
|
||||
clean_obstacles "$bench_testname"
|
||||
|
||||
# use -lt since -le makes causes a "floor(elapsed)" comparison and too many iterations
|
||||
while test $bench_overall_elapsed -lt $MAXTIME ; do
|
||||
|
||||
bench_elapsed=-1
|
||||
# use -lt since -le makes causes a "floor(elapsed)" comparison and too many iterations
|
||||
bench_elapsed=0
|
||||
while test $bench_elapsed -lt $TIMEFRAME ; do
|
||||
|
||||
# clear out any previous run, only saving backup on first encounter
|
||||
clean_obstacles "$bench_testname"
|
||||
if test -f ${bench_testname}.pix; then mv -f ${bench_testname}.pix ${bench_testname}.pix.$$; fi
|
||||
if test -f ${bench_testname}.log; then mv -f ${bench_testname}.log ${bench_testname}.log.$$; fi
|
||||
|
||||
bench_frame_start_time="`date '+%H %M %S'`"
|
||||
|
||||
@@ -989,13 +939,7 @@ end;
|
||||
EOF
|
||||
retval=$?
|
||||
|
||||
if test $bench_frame -ne 0 ; then
|
||||
if test -f ${bench_testname}.pix.$bench_frame ; then
|
||||
mv -f ${bench_testname}.pix.$bench_frame ${bench_testname}.pix
|
||||
else
|
||||
$ECHO "WARNING: ${bench_testname}.pix.$bench_frame does not exist"
|
||||
fi
|
||||
fi
|
||||
if test -f ${bench_testname}.pix.$bench_frame ; then mv -f ${bench_testname}.pix.$bench_frame ${bench_testname}.pix ; fi
|
||||
|
||||
# compute how long we took, rounding up to at least one
|
||||
# second to prevent division by zero.
|
||||
@@ -1018,27 +962,19 @@ EOF
|
||||
|
||||
# increase the number of rays exponentially if we are
|
||||
# considerably faster than the TIMEFRAME required.
|
||||
if test `expr $bench_elapsed \* 128` -lt ${TIMEFRAME} ; then
|
||||
# 128x increase, skip six frames
|
||||
bench_hypersample="`expr $bench_hypersample \* 128 + 127`"
|
||||
bench_frame="`expr $bench_frame + 7`"
|
||||
elif test `expr $bench_elapsed \* 64` -lt ${TIMEFRAME} ; then
|
||||
# 64x increase, skip five frames
|
||||
bench_hypersample="`expr $bench_hypersample \* 64 + 63`"
|
||||
bench_frame="`expr $bench_frame + 6`"
|
||||
elif test `expr $bench_elapsed \* 32` -lt ${TIMEFRAME} ; then
|
||||
if test `expr $bench_elapsed \* 32` -le ${TIMEFRAME} ; then
|
||||
# 32x increase, skip four frames
|
||||
bench_hypersample="`expr $bench_hypersample \* 32 + 31`"
|
||||
bench_frame="`expr $bench_frame + 5`"
|
||||
elif test `expr $bench_elapsed \* 16` -lt ${TIMEFRAME} ; then
|
||||
elif test `expr $bench_elapsed \* 16` -le ${TIMEFRAME} ; then
|
||||
# 16x increase, skip three frames
|
||||
bench_hypersample="`expr $bench_hypersample \* 16 + 15`"
|
||||
bench_frame="`expr $bench_frame + 4`"
|
||||
elif test `expr $bench_elapsed \* 8` -lt ${TIMEFRAME} ; then
|
||||
elif test `expr $bench_elapsed \* 8` -le ${TIMEFRAME} ; then
|
||||
# 8x increase, skip two frames
|
||||
bench_hypersample="`expr $bench_hypersample \* 8 + 7`"
|
||||
bench_frame="`expr $bench_frame + 3`"
|
||||
elif test `expr $bench_elapsed \* 4` -lt ${TIMEFRAME} ; then
|
||||
elif test `expr $bench_elapsed \* 4` -le ${TIMEFRAME} ; then
|
||||
# 4x increase, skip a frame
|
||||
bench_hypersample="`expr $bench_hypersample \* 4 + 3`"
|
||||
bench_frame="`expr $bench_frame + 2`"
|
||||
@@ -1111,26 +1047,11 @@ EOF
|
||||
bench_hypersample="`expr \( \( $bench_hypersample + 1 \) / 2 \) - 1`"
|
||||
done
|
||||
|
||||
# clear out any profile output files
|
||||
if test -f gmon.out ; then
|
||||
mv -f gmon.out gmon.${bench_testname}.out
|
||||
fi
|
||||
|
||||
# the last run should be a relatively stable representative of the performance
|
||||
|
||||
if ! test -f "${PIX}/${bench_testname}.pix" ; then
|
||||
$ECHO "ERROR: reference image ${PIX}/${bench_testname}.pix not found"
|
||||
fi
|
||||
if ! test -f "${bench_testname}.pix" ; then
|
||||
$ECHO "ERROR: computed image ${bench_testname}.pix disappeared?!"
|
||||
ls -la *.pix*
|
||||
fi
|
||||
$VERBOSE_ECHO "DEBUG: $CMP $PIX/${bench_testname}.pix ${bench_testname}.pix"
|
||||
cmp_result="`${CMP} ${PIX}/${bench_testname}.pix ${bench_testname}.pix 2>&1`"
|
||||
if test -f gmon.out; then mv -f gmon.out gmon.${bench_testname}.out; fi
|
||||
${CMP} ${PIX}/${bench_testname}.pix ${bench_testname}.pix
|
||||
ret=$?
|
||||
|
||||
$ECHO "$cmp_result"
|
||||
|
||||
if test $ret = 0 ; then
|
||||
# perfect match
|
||||
$ECHO ${bench_testname}.pix: answers are RIGHT
|
||||
@@ -1195,7 +1116,7 @@ perf ( ) {
|
||||
done
|
||||
|
||||
# extract the RTFM values from the log files, use TR to convert
|
||||
# newlines to tabs. the trailing tab is significant in case there
|
||||
# newlines to tabs. the trailing tab is signficant in case there
|
||||
# are not enough results.
|
||||
#
|
||||
# FIXME: should really iterate one file at a time so we don't
|
||||
@@ -1216,7 +1137,7 @@ perf ( ) {
|
||||
|
||||
# Trick: Force args $1 through $6 to the numbers in $perf_CURVALS
|
||||
# This should be "set -- $perf_CURVALS", but 4.2BSD /bin/sh can't
|
||||
# handle it, and perf_CURVALS are all positive (i.e., no leading
|
||||
# handle it, and perf_CURVALS are all positive (ie, no leading
|
||||
# dashes), so this is safe.
|
||||
|
||||
set $perf_CURVALS
|
||||
@@ -1361,7 +1282,7 @@ $ECHO "Total testing time elapsed: `$ELP $start`"
|
||||
# see if we fail
|
||||
if test ! "x$ret" = "x0" ; then
|
||||
$ECHO
|
||||
$ECHO "THE BENCHMARK ANALYSIS DID NOT COMPLETE SUCCESSFULLY."
|
||||
$ECHO "THE BENCHARK ANALYSIS DID NOT COMPLETE SUCCESSFULLY."
|
||||
$ECHO
|
||||
$ECHO "A benchmark failure means this is not a viable install of BRL-CAD. This may be"
|
||||
$ECHO "a new bug or (more likely) is a compilation configuration error. Ensure your"
|
||||
@@ -1496,7 +1417,7 @@ else
|
||||
$ECHO
|
||||
blankit=no
|
||||
|
||||
# BSD+
|
||||
# BSD
|
||||
look_for executable "a sysctl command" SYSCTL_CMD `echo "$PATH" | tr ":" "\n" | sed 's/$/\/sysctl/g'`
|
||||
if test ! "x$SYSCTL_CMD" = "x" ; then
|
||||
$ECHO "Collecting system state information (via $SYSCTL_CMD)"
|
||||
@@ -1563,19 +1484,6 @@ else
|
||||
blankit=yes
|
||||
fi
|
||||
|
||||
# Linux+
|
||||
look_for executable "an lscpu command" LSCPU_CMD `echo $PATH | tr ":" "\n" | sed 's/$/\/lscpu/g'`
|
||||
if test ! "x$LSCPU_CMD" = "x" ; then
|
||||
$ECHO "Collecting system CPU information (via $LSCPU_CMD)"
|
||||
preQUIET="$QUIET"
|
||||
QUIET=1
|
||||
$ECHO "==============================================================================="
|
||||
$ECHO "`$LSCPU_CMD 2>&1`"
|
||||
$ECHO
|
||||
QUIET="$preQUIET"
|
||||
blankit=yes
|
||||
fi
|
||||
|
||||
if test "x$blankit" = "xyes" ; then
|
||||
$ECHO
|
||||
fi
|
||||
|
||||
+1
-1
@@ -2,7 +2,7 @@
|
||||
# T R Y . S H
|
||||
# BRL-CAD
|
||||
#
|
||||
# Copyright (c) 2004-2014 United States Government as represented by
|
||||
# Copyright (c) 2004-2011 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
@@ -2,7 +2,7 @@
|
||||
# V I E W D I F F . S H
|
||||
# BRL-CAD
|
||||
#
|
||||
# Copyright (c) 2004-2014 United States Government as represented by
|
||||
# Copyright (c) 2004-2011 United States Government as represented by
|
||||
# the U.S. Army Research Laboratory.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
|
||||
@@ -1,213 +0,0 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# This is a simple script to translate autotools style
|
||||
# configure options into CMake variables. The resulting
|
||||
# translation is then run as a CMake configure.
|
||||
|
||||
srcpath=$(dirname $0)
|
||||
options="$srcpath"
|
||||
while [ "$1" != "" ]
|
||||
do
|
||||
case $1
|
||||
in
|
||||
--enable-all) options="$options -DBRLCAD_BUNDLED_LIBS=ON";
|
||||
shift;;
|
||||
--disable-all) options="$options -DBRLCAD_BUNDLED_LIBS=OFF";
|
||||
shift;;
|
||||
--enable-opengl) options="$options -DBRLCAD_ENABLE_OPENGL=ON";
|
||||
shift;;
|
||||
--disable-opengl) options="$options -DBRLCAD_ENABLE_OPENGL=OFF";
|
||||
shift;;
|
||||
--enable-runtime-debug) options="$options -DBRLCAD_ENABLE_RUNTIME_DEBUG=ON";
|
||||
shift;;
|
||||
--disable-runtime-debug) options="$options -DBRLCAD_ENABLE_RUNTIME_DEBUG=OFF";
|
||||
shift;;
|
||||
--enable-run-time-debug) options="$options -DBRLCAD_ENABLE_RUNTIME_DEBUG=ON";
|
||||
shift;;
|
||||
--disable-run-time-debug) options="$options -DBRLCAD_ENABLE_RUNTIME_DEBUG=OFF";
|
||||
shift;;
|
||||
--enable-runtime-debugging) options="$options -DBRLCAD_ENABLE_RUNTIME_DEBUG=ON";
|
||||
shift;;
|
||||
--disable-runtime-debugging) options="$options -DBRLCAD_ENABLE_RUNTIME_DEBUG=OFF";
|
||||
shift;;
|
||||
--enable-run-time-debugging) options="$options -DBRLCAD_ENABLE_RUNTIME_DEBUG=ON";
|
||||
shift;;
|
||||
--disable-run-time-debugging) options="$options -DBRLCAD_ENABLE_RUNTIME_DEBUG=OFF";
|
||||
shift;;
|
||||
--enable-debug) options="$options -DBRLCAD_FLAGS_DEBUG=ON";
|
||||
shift;;
|
||||
--disable-debug) options="$options -DBRLCAD_FLAGS_DEBUG=OFF";
|
||||
shift;;
|
||||
--enable-flags-debug) options="$options -DBRLCAD_FLAGS_DEBUG=ON";
|
||||
shift;;
|
||||
--disable-flags-debug) options="$options -DBRLCAD_FLAGS_DEBUG=OFF";
|
||||
shift;;
|
||||
--enable-debug-flags) options="$options -DBRLCAD_FLAGS_DEBUG=ON";
|
||||
shift;;
|
||||
--disable-debug-flags) options="$options -DBRLCAD_FLAGS_DEBUG=OFF";
|
||||
shift;;
|
||||
--enable-warnings) options="$options -DBRLCAD_ENABLE_COMPILER_WARNINGS=ON";
|
||||
shift;;
|
||||
--disable-warnings) options="$options -DBRLCAD_ENABLE_COMPILER_WARNINGS=OFF";
|
||||
shift;;
|
||||
--enable-compiler-warnings) options="$options -DBRLCAD_ENABLE_COMPILER_WARNINGS=ON";
|
||||
shift;;
|
||||
--disable-compiler-warnings) options="$options -DBRLCAD_ENABLE_COMPILER_WARNINGS=OFF";
|
||||
shift;;
|
||||
--enable-strict) options="$options -DBRLCAD_ENABLE_STRICT=ON";
|
||||
shift;;
|
||||
--disable-strict) options="$options -DBRLCAD_ENABLE_STRICT=OFF";
|
||||
shift;;
|
||||
--enable-strict-compile) options="$options -DBRLCAD_ENABLE_STRICT=ON";
|
||||
shift;;
|
||||
--disable-strict-compile) options="$options -DBRLCAD_ENABLE_STRICT=OFF";
|
||||
shift;;
|
||||
--enable-strict-compile-flags) options="$options -DBRLCAD_ENABLE_STRICT=ON";
|
||||
shift;;
|
||||
--disable-strict-compile-flags) options="$options -DBRLCAD_ENABLE_STRICT=OFF";
|
||||
shift;;
|
||||
--enable-all-cxx) options="$options -DENABLE_ALL_CXX_COMPILE=ON";
|
||||
shift;;
|
||||
--disable-all-cxx) options="$options -DENABLE_ALL_CXX_COMPILE=OFF";
|
||||
shift;;
|
||||
--enable-posix) options="$options -DENABLE_POSIX_COMPLIANCE=ON";
|
||||
shift;;
|
||||
--disable-posix) options="$options -DENABLE_POSIX_COMPLIANCE=OFF";
|
||||
shift;;
|
||||
--strict-iso-c) options="$options -DENABLE_STRICT_COMPILER_STANDARD_COMPLIANCE=ON";
|
||||
shift;;
|
||||
--strict-iso-c) options="$options -DENABLE_STRICT_COMPILER_STANDARD_COMPLIANCE=OFF";
|
||||
shift;;
|
||||
--enable-docs) options="$options -DBRLCAD_EXTRADOCS=ON";
|
||||
shift;;
|
||||
--disable-docs) options="$options -DBRLCAD_EXTRADOCS=OFF";
|
||||
shift;;
|
||||
--enable-extra-docs) options="$options -DBRLCAD_EXTRADOCS=ON";
|
||||
shift;;
|
||||
--disable-extra-docs) options="$options -DBRLCAD_EXTRADOCS=OFF";
|
||||
shift;;
|
||||
--enable-docbook) options="$options -DBRLCAD_EXTRADOCS=ON";
|
||||
shift;;
|
||||
--disable-docbook) options="$options -DBRLCAD_EXTRADOCS=OFF";
|
||||
shift;;
|
||||
--enable-lemon) options="$options -DBRLCAD_LEMON=BUNDLED";
|
||||
shift;;
|
||||
--disable-lemon) options="$options -DBRLCAD_LEMON=SYSTEM";
|
||||
shift;;
|
||||
--enable-re2c) options="$options -DBRLCAD_RE2C=BUNDLED";
|
||||
shift;;
|
||||
--disable-re2c) options="$options -DBRLCAD_RE2C=SYSTEM";
|
||||
shift;;
|
||||
--enable-perplex) options="$options -DBRLCAD_PERPLEX=BUNDLED";
|
||||
shift;;
|
||||
--disable-perplex) options="$options -DBRLCAD_PERPLEX=SYSTEM";
|
||||
shift;;
|
||||
--enable-astyle) options="$options -DBRLCAD_ASTYLE=BUNDLED";
|
||||
shift;;
|
||||
--disable-astyle) options="$options -DBRLCAD_ASTYLE=SYSTEM";
|
||||
shift;;
|
||||
--enable-xsltproc) options="$options -DBRLCAD_XSLTPROC=BUNDLED";
|
||||
shift;;
|
||||
--disable-xsltproc) options="$options -DBRLCAD_XSLTPROC=SYSTEM";
|
||||
shift;;
|
||||
--enable-xmllint) options="$options -DBRLCAD_XMLLINT=BUNDLED";
|
||||
shift;;
|
||||
--disable-xmllint) options="$options -DBRLCAD_XMLLINT=SYSTEM";
|
||||
shift;;
|
||||
--enable-regex) options="$options -DBRLCAD_REGEX=BUNDLED";
|
||||
shift;;
|
||||
--disable-regex) options="$options -DBRLCAD_REGEX=SYSTEM";
|
||||
shift;;
|
||||
--enable-zlib) options="$options -DBRLCAD_ZLIB=BUNDLED";
|
||||
shift;;
|
||||
--disable-zlib) options="$options -DBRLCAD_ZLIB=SYSTEM";
|
||||
shift;;
|
||||
--enable-libz) options="$options -DBRLCAD_ZLIB=BUNDLED";
|
||||
shift;;
|
||||
--disable-libz) options="$options -DBRLCAD_ZLIB=SYSTEM";
|
||||
shift;;
|
||||
--enable-freetype) options="$options -DBRLCAD_FREETYPE=BUNDLED";
|
||||
shift;;
|
||||
--disable-freetype) options="$options -DBRLCAD_FREETYPE=SYSTEM";
|
||||
shift;;
|
||||
--enable-termlib) options="$options -DBRLCAD_TERMLIB=BUNDLED";
|
||||
shift;;
|
||||
--disable-termlib) options="$options -DBRLCAD_TERMLIB=SYSTEM";
|
||||
shift;;
|
||||
--enable-png) options="$options -DBRLCAD_PNG=BUNDLED";
|
||||
shift;;
|
||||
--disable-png) options="$options -DBRLCAD_PNG=SYSTEM";
|
||||
shift;;
|
||||
--enable-utahrle) options="$options -DBRLCAD_UTAHRLE=BUNDLED";
|
||||
shift;;
|
||||
--disable-utahrle) options="$options -DBRLCAD_UTAHRLE=SYSTEM";
|
||||
shift;;
|
||||
--enable-tcl) options="$options -DBRLCAD_TCL=BUNDLED";
|
||||
shift;;
|
||||
--disable-tcl) options="$options -DBRLCAD_TCL=SYSTEM";
|
||||
shift;;
|
||||
--enable-tk) options="$options -DBRLCAD_TK=BUNDLED";
|
||||
shift;;
|
||||
--disable-tk) options="$options -DBRLCAD_TK=SYSTEM";
|
||||
shift;;
|
||||
--enable-itcl) options="$options -DBRLCAD_ITCL=BUNDLED";
|
||||
shift;;
|
||||
--disable-itcl) options="$options -DBRLCAD_ITCL=SYSTEM";
|
||||
shift;;
|
||||
--enable-itk) options="$options -DBRLCAD_ITK=BUNDLED";
|
||||
shift;;
|
||||
--disable-itk) options="$options -DBRLCAD_ITK=SYSTEM";
|
||||
shift;;
|
||||
--enable-iwidgets) options="$options -DBRLCAD_IWIDGETS=BUNDLED";
|
||||
shift;;
|
||||
--disable-iwidgets) options="$options -DBRLCAD_IWIDGETS=SYSTEM";
|
||||
shift;;
|
||||
--enable-tkhtml) options="$options -DBRLCAD_TKHTML=BUNDLED";
|
||||
shift;;
|
||||
--disable-tkhtml) options="$options -DBRLCAD_TKHTML=SYSTEM";
|
||||
shift;;
|
||||
--enable-tkpng) options="$options -DBRLCAD_TKPNG=BUNDLED";
|
||||
shift;;
|
||||
--disable-tkpng) options="$options -DBRLCAD_TKPNG=SYSTEM";
|
||||
shift;;
|
||||
--enable-tktable) options="$options -DBRLCAD_TKTABLE=BUNDLED";
|
||||
shift;;
|
||||
--disable-tktable) options="$options -DBRLCAD_TKTABLE=SYSTEM";
|
||||
shift;;
|
||||
--enable-opennurbs) options="$options -DBRLCAD_OPENNURBS=BUNDLED";
|
||||
shift;;
|
||||
--disable-opennurbs) options="$options -DBRLCAD_OPENNURBS=SYSTEM";
|
||||
shift;;
|
||||
--enable-scl) options="$options -DBRLCAD_SC=BUNDLED";
|
||||
shift;;
|
||||
--disable-scl) options="$options -DBRLCAD_SC=SYSTEM";
|
||||
shift;;
|
||||
--enable-step) options="$options -DBRLCAD_SC=BUNDLED";
|
||||
shift;;
|
||||
--disable-step) options="$options -DBRLCAD_SC=SYSTEM";
|
||||
shift;;
|
||||
--enable-step-class-libraries) options="$options -DBRLCAD_SC=BUNDLED";
|
||||
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;;
|
||||
--prefix=*) inputstr=$1;
|
||||
options="$options -DCMAKE_INSTALL_PREFIX=${inputstr#--prefix=}";
|
||||
shift;;
|
||||
*) echo "Warning: unknown option $1";
|
||||
shift;;
|
||||
esac
|
||||
done
|
||||
echo cmake $options
|
||||
cmake $options
|
||||
+4558
File diff suppressed because it is too large
Load Diff
Executable
+33
@@ -0,0 +1,33 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# This is a simple script to translate autotools style
|
||||
# configure options into CMake variables. The resulting
|
||||
# translation is then run as a CMake configure.
|
||||
|
||||
srcpath=$(dirname $0)
|
||||
options="$srcpath"
|
||||
while [ "$1" != "" ]
|
||||
do
|
||||
case $1
|
||||
in
|
||||
--enable-all) options="$options -DBRLCAD-ENABLE_ALL_LOCAL_LIBS=ON";
|
||||
shift;;
|
||||
--enable-debug) options="$options -DCMAKE_BUILD_TYPE=Debug";
|
||||
shift;;
|
||||
--disable-docs) options="$options -DBRLCAD-BUILD_EXTRADOCS=OFF";
|
||||
shift;;
|
||||
--disable-opengl) options="$options -DBRLCAD-ENABLE_OPENGL=OFF";
|
||||
shift;;
|
||||
--disable-strict) options="$options -DBRLCAD-ENABLE_STRICT=OFF";
|
||||
shift;;
|
||||
--disable-warnings) options="$options -DBRLCAD-ENABLE_WARNINGS=OFF";
|
||||
shift;;
|
||||
--prefix=*) inputstr=$1;
|
||||
options="$options -DCMAKE_INSTALL_PREFIX=${inputstr#--prefix=}";
|
||||
shift;;
|
||||
*) echo "Warning: unknown option $1";
|
||||
shift;;
|
||||
esac
|
||||
done
|
||||
echo cmake $options
|
||||
cmake $options
|
||||
+50
-92
@@ -1,102 +1,60 @@
|
||||
set(G_BENCHMARK_MODELS
|
||||
bldg391.asc
|
||||
m35.asc
|
||||
moss.asc
|
||||
sphflake.asc
|
||||
star.asc
|
||||
SET(G_BENCHMARK_MODELS
|
||||
bldg391.asc
|
||||
m35.asc
|
||||
moss.asc
|
||||
sphflake.asc
|
||||
star.asc
|
||||
world.asc
|
||||
)
|
||||
|
||||
set(G_SAMPLE_MODELS
|
||||
axis.asc
|
||||
boolean-ops.asc
|
||||
castle.asc
|
||||
cornell.asc
|
||||
cornell-kunigami.asc
|
||||
cray.asc
|
||||
crod.asc
|
||||
cube.asc
|
||||
demo.asc
|
||||
galileo.asc
|
||||
goliath.asc
|
||||
havoc.asc
|
||||
kman.asc
|
||||
ktank.asc
|
||||
lgt-test.asc
|
||||
operators.asc
|
||||
pic.asc
|
||||
pinewood.asc
|
||||
prim.asc
|
||||
tank_car.asc
|
||||
terra.asc
|
||||
toyjeep.asc
|
||||
truck.asc
|
||||
wave.asc
|
||||
woodsman.asc
|
||||
SET(G_SAMPLE_MODELS
|
||||
${G_BENCHMARK_MODELS}
|
||||
axis.asc
|
||||
boolean-ops.asc
|
||||
castle.asc
|
||||
cornell.asc
|
||||
cray.asc
|
||||
crod.asc
|
||||
cube.asc
|
||||
demo.asc
|
||||
galileo.asc
|
||||
goliath.asc
|
||||
havoc.asc
|
||||
kman.asc
|
||||
ktank.asc
|
||||
lgt-test.asc
|
||||
operators.asc
|
||||
pic.asc
|
||||
pinewood.asc
|
||||
prim.asc
|
||||
tank_car.asc
|
||||
terra.asc
|
||||
toyjeep.asc
|
||||
truck.asc
|
||||
wave.asc
|
||||
woodsman.asc
|
||||
xmp.asc
|
||||
)
|
||||
|
||||
macro(ADD_G_TARGET g_model folder)
|
||||
string(REGEX REPLACE "([0-9a-z]*).asc" "\\1" g_model_root "${g_model}")
|
||||
set(output_file ${bin_root}/${DATA_DIR}/db/${g_model_root}.g)
|
||||
add_custom_command(
|
||||
OUTPUT ${output_file}
|
||||
COMMAND asc2g ${CMAKE_CURRENT_SOURCE_DIR}/${g_model} ${output_file}
|
||||
DEPENDS asc2g ${CMAKE_CURRENT_SOURCE_DIR}/${g_model}
|
||||
FILE(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/${DATA_DIR}/db)
|
||||
FOREACH(g_model ${G_SAMPLE_MODELS})
|
||||
STRING(REGEX REPLACE "([0-9a-z]*).asc" "\\1" g_model_root "${g_model}")
|
||||
ADD_CUSTOM_COMMAND(
|
||||
OUTPUT ${CMAKE_BINARY_DIR}/${DATA_DIR}/db/${g_model_root}.g
|
||||
COMMAND asc2g ${CMAKE_CURRENT_SOURCE_DIR}/${g_model} ${CMAKE_BINARY_DIR}/${DATA_DIR}/db/${g_model_root}.g
|
||||
DEPENDS asc2g ${CMAKE_CURRENT_SOURCE_DIR}/${g_model}
|
||||
)
|
||||
add_custom_target(${g_model_root}.g ALL DEPENDS ${output_file})
|
||||
set_target_properties(${g_model_root}.g PROPERTIES FOLDER "${folder}")
|
||||
if(BRLCAD_INSTALL_EXAMPLE_GEOMETRY)
|
||||
if(NOT "${CMAKE_CFG_INTDIR}" STREQUAL "." AND CMAKE_CONFIGURATION_FILES)
|
||||
string(REPLACE "${CMAKE_CFG_INTDIR}" "\${BUILD_TYPE}" output_file "${output_file}")
|
||||
endif(NOT "${CMAKE_CFG_INTDIR}" STREQUAL "." AND CMAKE_CONFIGURATION_FILES)
|
||||
install(FILES ${output_file} DESTINATION ${DATA_DIR}/db)
|
||||
endif(BRLCAD_INSTALL_EXAMPLE_GEOMETRY)
|
||||
set(BUILT_MODELS "${BUILT_MODELS};${output_file}")
|
||||
endmacro(ADD_G_TARGET g_model folder)
|
||||
|
||||
|
||||
# Get our root path
|
||||
if(CMAKE_CONFIGURATION_TYPES)
|
||||
set(bin_root "${CMAKE_BINARY_DIR}/${CMAKE_CFG_INTDIR}")
|
||||
else(CMAKE_CONFIGURATION_TYPES)
|
||||
set(bin_root "${CMAKE_BINARY_DIR}")
|
||||
endif(CMAKE_CONFIGURATION_TYPES)
|
||||
|
||||
# Make sure the db directories are there
|
||||
if(CMAKE_CONFIGURATION_TYPES)
|
||||
foreach(CFG_TYPE ${CMAKE_CONFIGURATION_TYPES})
|
||||
file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/${CFG_TYPE}/${DATA_DIR}/db)
|
||||
endforeach(CFG_TYPE ${CMAKE_CONFIGURATION_TYPES})
|
||||
else(CMAKE_CONFIGURATION_TYPES)
|
||||
file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/${DATA_DIR}/db)
|
||||
endif(CMAKE_CONFIGURATION_TYPES)
|
||||
|
||||
foreach(g_input ${G_BENCHMARK_MODELS})
|
||||
ADD_G_TARGET(${g_input} "BRL-CAD Geometry Models/Benchmark")
|
||||
endforeach(g_input ${G_BENCHMARK_MODELS})
|
||||
CMAKEFILES(${G_BENCHMARK_MODELS})
|
||||
|
||||
foreach(g_input ${G_SAMPLE_MODELS})
|
||||
ADD_G_TARGET(${g_input} "BRL-CAD Geometry Models/Sample")
|
||||
endforeach(g_input ${G_SAMPLE_MODELS})
|
||||
ADD_CUSTOM_TARGET(${g_model_root}.g ALL DEPENDS ${CMAKE_BINARY_DIR}/${DATA_DIR}/db/${g_model_root}.g)
|
||||
IF(BRLCAD-INSTALL_EXAMPLE_GEOMETRY)
|
||||
INSTALL(FILES ${CMAKE_BINARY_DIR}/${DATA_DIR}/db/${g_model_root}.g DESTINATION ${${CMAKE_PROJECT_NAME}_INSTALL_DATA_DIR}/db)
|
||||
ENDIF(BRLCAD-INSTALL_EXAMPLE_GEOMETRY)
|
||||
SET(BUILT_MODELS "${BUILT_MODELS};${CMAKE_BINARY_DIR}/${DATA_DIR}/db/${g_model_root}.g")
|
||||
ENDFOREACH(g_model ${G_SAMPLE_MODELS})
|
||||
CMAKEFILES(${G_SAMPLE_MODELS})
|
||||
|
||||
set_directory_properties(PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES "${BUILT_MODELS}")
|
||||
SET_DIRECTORY_PROPERTIES(PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES "${BUILT_MODELS}")
|
||||
|
||||
if(BRLCAD_INSTALL_EXAMPLE_GEOMETRY)
|
||||
BRLCAD_ADDDATA(terra.dsp db)
|
||||
endif(BRLCAD_INSTALL_EXAMPLE_GEOMETRY)
|
||||
CMAKEFILES(
|
||||
cornell.rt
|
||||
cube.rt
|
||||
db.php
|
||||
include
|
||||
)
|
||||
|
||||
# Local Variables:
|
||||
# tab-width: 8
|
||||
# mode: cmake
|
||||
# indent-tabs-mode: t
|
||||
# End:
|
||||
# ex: shiftwidth=2 tabstop=8
|
||||
IF(BRLCAD-INSTALL_EXAMPLE_GEOMETRY)
|
||||
BRLCAD_ADDFILE(terra.dsp db)
|
||||
ENDIF(BRLCAD-INSTALL_EXAMPLE_GEOMETRY)
|
||||
CMAKEFILES(db.php include)
|
||||
|
||||
+103
@@ -0,0 +1,103 @@
|
||||
|
||||
SUBDIRS = include
|
||||
|
||||
A2G=$(top_builddir)/src/conv/asc2g
|
||||
G2A=$(top_builddir)/src/conv/g2asc
|
||||
|
||||
|
||||
# gmake seems to prefix the source .asc with the appropriate srcdir
|
||||
# automagically... the library path is set for Tcl/Tk since libtool
|
||||
# won't do it for us for non libtool libs. make them all depend on a
|
||||
# single file so that asc2g runs at least once to completion so the
|
||||
# wrapper script doesn't fail when compiling in parallel.
|
||||
.asc.g: operators.asc2g
|
||||
@i=0 ; while [ ! -f lockfile ] && [ $$i -lt 10 ] ; do sleep 1 ; i=`expr $$i + 1` ; done
|
||||
@echo $(A2G) $< $@ ; \
|
||||
LD_LIBRARY_PATH=$(top_builddir)/src/other/tcl/unix:$(top_builddir)/src/other/tk/unix:$$LD_LIBRARY_PATH \
|
||||
DYLD_LIBRARY_PATH=$(top_builddir)/src/other/tcl/unix:$(top_buildir)/src/other/tk/unix:$$DYLD_LIBRARY_PATH \
|
||||
$(A2G) `if test -e $< ; then echo $< ; else echo $(top_srcdir)/db/$< ; fi` $@
|
||||
|
||||
# cause asc2g to kick off so that it compiles lt-asc2g and avoids
|
||||
# parallel build failures. use a simple file locking mechanism.
|
||||
operators.asc2g: operators.asc $(top_builddir)/src/conv/asc2g
|
||||
@rm -f lockfile
|
||||
@if test -x $(A2G) ; then \
|
||||
echo $(A2G) operators.asc $@ ; \
|
||||
LD_LIBRARY_PATH=$(top_builddir)/src/other/tcl/unix:$(top_builddir)/src/other/tk/unix:$$LD_LIBRARY_PATH \
|
||||
DYLD_LIBRARY_PATH=$(top_builddir)/src/other/tcl/unix:$(top_buildir)/src/other/tk/unix:$$DYLD_LIBRARY_PATH \
|
||||
$(A2G) `if test -e operators.asc ; then echo operators.asc ; else echo $(top_srcdir)/db/operators.asc ; fi` $@ ; \
|
||||
else \
|
||||
echo "ls -lad $(A2G)" ; \
|
||||
echo "`ls -lad $(A2G)`" ; \
|
||||
echo "$(A2G) does not exist" ; \
|
||||
fi
|
||||
@touch lockfile
|
||||
|
||||
BENCHMARK_MODELS = \
|
||||
bldg391.asc \
|
||||
m35.asc \
|
||||
moss.asc \
|
||||
sphflake.asc \
|
||||
star.asc \
|
||||
world.asc
|
||||
|
||||
MODELS = \
|
||||
$(BENCHMARK_MODELS) \
|
||||
axis.asc \
|
||||
boolean-ops.asc \
|
||||
castle.asc \
|
||||
cornell.asc \
|
||||
cray.asc \
|
||||
crod.asc \
|
||||
cube.asc \
|
||||
demo.asc \
|
||||
galileo.asc \
|
||||
goliath.asc \
|
||||
havoc.asc \
|
||||
kman.asc \
|
||||
ktank.asc \
|
||||
lgt-test.asc \
|
||||
operators.asc \
|
||||
pic.asc \
|
||||
pinewood.asc \
|
||||
prim.asc \
|
||||
tank_car.asc \
|
||||
terra.asc \
|
||||
toyjeep.asc \
|
||||
truck.asc \
|
||||
wave.asc \
|
||||
woodsman.asc \
|
||||
xmp.asc
|
||||
|
||||
EXTRA_DIST = \
|
||||
${MODELS} \
|
||||
db.php \
|
||||
terra.dsp
|
||||
|
||||
dbdir = $(BRLCAD_DATA)/db
|
||||
|
||||
if INSTALL_MODELS
|
||||
BUILT_SOURCES = \
|
||||
operators.asc2g \
|
||||
${MODELS:asc=g}
|
||||
db_DATA = \
|
||||
$(BUILT_SOURCES) \
|
||||
terra.dsp
|
||||
|
||||
else !INSTALL_MODELS
|
||||
BUILT_SOURCES = \
|
||||
operators.asc2g \
|
||||
${BENCHMARK_MODELS:asc=g}
|
||||
db_DATA = $(BUILT_SOURCES)
|
||||
|
||||
endif
|
||||
# end INSTALL_MODELS
|
||||
|
||||
|
||||
MOSTLYCLEANFILES = \
|
||||
${BUILT_SOURCES} \
|
||||
lockfile
|
||||
|
||||
DEPS=src/conv
|
||||
|
||||
include $(top_srcdir)/misc/Makefile.defs
|
||||
@@ -1,28 +0,0 @@
|
||||
title {Parts of: Untitled v4 BRL-CAD Database}
|
||||
units mm
|
||||
put {ceiling2.s} arb8 V1 {213 548.7000122069999861196266 227} V2 {343 548.7000122069999861196266 227} V3 {343 548.9013314395830320790992 227} V4 {213 548.9013314395830320790992 227} V5 {213 548.7000122069999861196266 332} V6 {343 548.7000122069999861196266 332} V7 {343 548.9013314395830320790992 332} V8 {213 548.9013314395830320790992 332}
|
||||
put {floor.s} arb8 V1 {0 -10 0} V2 {556 -10 0} V3 {556 0 0} V4 {0 0 0} V5 {0 -10 559.2000122069999861196266} V6 {556 -10 559.2000122069999861196266} V7 {556 0 559.2000122069999861196266} V8 {0 0 559.2000122069999861196266}
|
||||
put {floor.r} comb region yes tree {l floor.s}
|
||||
attr set {floor.r} {region} {R} {shader} {osl {shadername red}} {region_id} {1000} {material_id} {1} {los} {100} {color} {255/0/0}
|
||||
put {light.s} arb8 V1 {213 548.7999877930000138803734 227} V2 {343 548.7999877930000138803734 227} V3 {343 548.8999877944901299997582 227} V4 {213 548.8999877944901299997582 227} V5 {213 548.7999877930000138803734 332} V6 {343 548.7999877930000138803734 332} V7 {343 548.8999877944901299997582 332} V8 {213 548.8999877944901299997582 332}
|
||||
put {light.r} comb region yes tree {l light.s}
|
||||
attr set {light.r} {region} {R} {shader} {osl {shadername emitter#power#float#75.0}} {region_id} {1000} {material_id} {1} {los} {100} {color} {255/255/255}
|
||||
put {right_wall.s} arb8 V1 {-10 -10 0} V2 {0 -10 0} V3 {0 558.7999877930000138803734 0} V4 {-10 558.7999877930000138803734 0} V5 {-10 -10 569.2000122069999861196266} V6 {0 -10 569.2000122069999861196266} V7 {0 558.7999877930000138803734 569.2000122069999861196266} V8 {-10 558.7999877930000138803734 569.2000122069999861196266}
|
||||
put {right_wall.r} comb region yes tree {l right_wall.s}
|
||||
attr set {right_wall.r} {region} {R} {shader} {osl {shadername blue}} {region_id} {1003} {material_id} {1} {los} {100} {color} {0/0/255}
|
||||
put {short_box.s} arb8 V1 {130 0 65} V2 {82 0 225} V3 {240 0 272} V4 {290 0 114} V5 {130 165 65} V6 {82 165 225} V7 {240 165 272} V8 {290 165 114}
|
||||
put {short_box.r} comb region yes tree {l short_box.s}
|
||||
attr set {short_box.r} {region} {R} {shader} {osl {shadername gen_color#layername#c1#base#color#1.0#0.0#1.0, shadername gen_color#layername#c2#base#color#0.0#1.0#0.0, shadername checker#layername#chk#K#float#4.0, join c1#Cout#chk#Cw join c2#Cout#chk#Cb}} {region_id} {1006} {material_id} {1} {los} {100} {color} {255/255/0}
|
||||
put {left_wall.s} arb8 V1 {556 -10 0} V2 {566 -10 0} V3 {566 558.7999877930000138803734 0} V4 {556 558.7999877930000138803734 0} V5 {556 -10 569.2000122069999861196266} V6 {566 -10 569.2000122069999861196266} V7 {566 558.7999877930000138803734 569.2000122069999861196266} V8 {556 558.7999877930000138803734 569.2000122069999861196266}
|
||||
put {left_wall.r} comb region yes tree {l left_wall.s}
|
||||
attr set {left_wall.r} {region} {R} {shader} {osl {shadername blue}} {region_id} {1004} {material_id} {1} {los} {100} {color} {0/0/255}
|
||||
put {all.g} comb region no tree {u {u {u {l light.r} {l back_wall.r}} {u {l tall_box.r} {l floor.r}}} {u {u {l right_wall.r} {l left_wall.r}} {u {l short_box.r} {l ceiling.r}}}}
|
||||
put {tall_box.s} arb8 V1 {423 330 247} V2 {265 330 296} V3 {314 330 456} V4 {472 330 406} V5 {423 0 247} V6 {265 0 296} V7 {314 0 456} V8 {472 0 406}
|
||||
put {back_wall.s} arb8 V1 {0 -10 559.2000122069999861196266} V2 {556 -10 559.2000122069999861196266} V3 {556 558.7999877930000138803734 559.2000122069999861196266} V4 {0 558.7999877930000138803734 559.2000122069999861196266} V5 {0 -10 569.2000122069999861196266} V6 {556 -10 569.2000122069999861196266} V7 {556 558.7999877930000138803734 569.2000122069999861196266} V8 {0 558.7999877930000138803734 569.2000122069999861196266}
|
||||
put {tall_box.r} comb region yes tree {l tall_box.s}
|
||||
attr set {tall_box.r} {region} {R} {shader} {osl {shadername mirror}} {region_id} {1007} {material_id} {1} {los} {100} {color} {255/255/255}
|
||||
put {back_wall.r} comb region yes tree {l back_wall.s}
|
||||
attr set {back_wall.r} {region} {R} {shader} {osl {shadername blue}} {region_id} {1002} {material_id} {1} {los} {100} {color} {0/0/255}
|
||||
put {ceiling.s} arb8 V1 {0 548.7999877930000138803734 0} V2 {556 548.7999877930000138803734 0} V3 {556 558.7999877930000138803734 0} V4 {0 558.7999877930000138803734 0} V5 {0 548.7999877930000138803734 559.2000122069999861196266} V6 {556 548.7999877930000138803734 559.2000122069999861196266} V7 {556 558.7999877930000138803734 559.2000122069999861196266} V8 {0 558.7999877930000138803734 559.2000122069999861196266}
|
||||
put {ceiling.r} comb region yes tree {- {l ceiling.s} {l ceiling2.s}}
|
||||
attr set {ceiling.r} {region} {R} {shader} {osl {shadername blue}} {region_id} {1001} {material_id} {1} {los} {100} {color} {0/0/255}
|
||||
@@ -1,25 +0,0 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# Example render script that sets up a prototypical view for the
|
||||
# Cornell box. Alas, rt view scripts loaded into MGED only restore
|
||||
# orientation and not view positioning so an extra repositioning step
|
||||
# is required.
|
||||
###
|
||||
|
||||
echo "************************ NOTICE ******************************"
|
||||
echo "To restore the originally intended view in MGED, run loadview"
|
||||
echo "on this script followed by: view center 278 -150 2500"
|
||||
echo "************************ NOTICE ******************************"
|
||||
|
||||
rt -M -p55 \
|
||||
$*\
|
||||
cornell.g\
|
||||
'all.g' \
|
||||
<<EOF
|
||||
viewsize 6.000000000000000e+03;
|
||||
orientation 0.000000000000000e+00 9.961946980917455e-01 8.715574274765824e-02 0.000000000000000e+00;
|
||||
eye_pt 2.780000000000000e+02 3.709445330007912e+02 -4.544232590366239e+02;
|
||||
start 0; clean;
|
||||
end;
|
||||
|
||||
EOF
|
||||
@@ -2,7 +2,7 @@
|
||||
/* D B . P H P
|
||||
* BRL-CAD
|
||||
*
|
||||
* Copyright (c) 2004-2014 United States Government as represented by
|
||||
* Copyright (c) 2004-2011 United States Government as represented by
|
||||
* the U.S. Army Research Laboratory.
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
|
||||
EXTRA_DIST = \
|
||||
ctype.inc \
|
||||
debug.inc
|
||||
|
||||
include $(top_srcdir)/misc/Makefile.defs
|
||||
+59
-58
@@ -1,64 +1,65 @@
|
||||
title {Pinewood Derby Car Model}
|
||||
units mm
|
||||
put {outer-tire-upper-hollow.s} tgc V {0 0 0} H {0 0 0.9000000000000000222044605} A {0 -0.9000000000000000222044605 0} B {0.9000000000000000222044605 0 0} C {0 -0.9000000000000000222044605 0} D {0.9000000000000000222044605 0 0}
|
||||
put {inner-cyl-2.s} tgc V {0 0 0} H {0 0 0.5999999999999999777955395} A {0 -0.800000000000000044408921 0} B {0.800000000000000044408921 0 0} C {0 -0.800000000000000044408921 0} D {0.800000000000000044408921 0 0}
|
||||
put {center-cyl.s} tgc V {0 0 -0.1000000000000000055511151} H {0 0 0.5} A {0 -0.4000000000000000222044605 0} B {0.4000000000000000222044605 0 0} C {0 -0.4000000000000000222044605 0} D {0.4000000000000000222044605 0 0}
|
||||
put {outer-tire.c} comb region no tree {u {- {- {l outer-cyl.s} {l outer-hollow-cyl.s}} {l outer-tire-upper-hollow.s}} {- {- {l wheel-outer-bump.s} {l outer-hollow-cyl.s}} {l outer-tire-upper-hollow.s}}}
|
||||
put {center-cyl.c} comb region no tree {u {- {l center-cyl.s} {l center-cyl-hollow.s}} {- {l center-cyl-bump.s} {l center-cyl-hollow.s}}}
|
||||
put {right-front-cut.s} arb8 V1 {-0.8518329999999998403126256 23.80319999999999680539986 150.5082181818181936705514} V2 {-0.8518329999999998403126256 10.9999999999999911182158 154.0000000000000284217094} V3 {-0.8518329999999998403126256 5.999999999999991118215803 177.9999999999998863131623} V4 {-0.851832999999999951334928 23.80320000000000035811354 177.9999999999999715782906} V5 {7.999999999999998223643161 23.80319999999999680539986 150.5082181818181936705514} V6 {7.999999999999998223643161 10.9999999999999911182158 154.0000000000000284217094} V7 {7.999999999999995559107901 5.999999999999991118215803 177.9999999999998863131623} V8 {7.999999999999996447286321 23.80320000000000035811354 177.9999999999999715782906}
|
||||
put {center-cyl-bump.s} tgc V {0 0 -0.1000000000000000055511151} H {0 0 0.5999999999999999777955395} A {0 -0.2000000000000000111022302 0} B {0.2000000000000000111022302 0 0} C {0 -0.2000000000000000111022302 0} D {0.2000000000000000111022302 0 0}
|
||||
put {outer-cyl.s} tgc V {0 0 0} H {0 0 0.800000000000000044408921} A {0 -1.5 0} B {1.5 0 0} C {0 -1.5 0} D {1.5 0 0}
|
||||
put {inner-cyl.s} tgc V {0 0 0} H {0 0 0.9000000000000000222044605} A {0 -0.9000000000000000222044605 0} B {0.9000000000000000222044605 0 0} C {0 -0.9000000000000000222044605 0} D {0.9000000000000000222044605 0 0}
|
||||
put {axel-cut-2.c} comb region no tree {- {l axel-cutout-2a.s} {l axel-cutout-2.s}}
|
||||
put {axel-cut-1.c} comb region no tree {- {l axel-cutout-1a.s} {l axel-cutout-1.s}}
|
||||
put {cuttest1.s} tgc V {21 -12.5 67} H {9.009813205160669449917104E-15 23.5329866686764859196046 3.449487102286835224083511E-30} A {-1.722865014715246889664968E-14 0 45} B {9 -3.445730029430494568190841E-15 3.445730029430493384899483E-15} C {-1.722865014715246889664968E-14 0 45} D {9 -3.445730029430494568190841E-15 3.445730029430493384899483E-15}
|
||||
attr set {_GLOBAL} {regionid_colortable} {}
|
||||
put {axel.s} tgc V {0 0 0} H {0 63 0} A {0 0 1} B {1 0 0} C {0 0 1} D {1 0 0}
|
||||
put {inner-cyl.c} comb region no tree {u {- {l inner-cyl.s} {l inner-hollow.cyl.s}} {- {l inner-cyl-2.s} {l inner-cyl-2-hollow.s}}}
|
||||
put {detail-sphere.s400} ell V {0.1123819780247738431278037 -0.2781551563700361273667738 0.4000000000000000222044605} A {0.01873032967079563820833599 -0.04635919272833936150002287 0} B {0.04635919272833936150002287 0.01873032967079563820833599 0} C {0 0 0.05000000000000000277555756}
|
||||
put {wheel-well-back.s} arb8 V1 {2 -22 25} V2 {2 22 25} V3 {2 22 27} V4 {2 -22 27} V5 {0 -22 25} V6 {0 22 25} V7 {0 22 27} V8 {0 -22 27}
|
||||
put {detail-sphere.s300} ell V {-0.2331437884370911595155462 -0.1887961173149513838254165 0.4000000000000000222044605} A {-0.03885729807284853121185364 -0.03146601955249189730423609 0} B {0.03146601955249189730423609 -0.03885729807284853121185364 0} C {0 0 0.05000000000000000277555756}
|
||||
put {detail-sphere.s200} ell V {-0.2487112717665125871668863 0.1677578710412239437754778 0.4000000000000000222044605} A {-0.04145187862775209786114772 0.0279596451735373285885089 0} B {-0.0279596451735373285885089 -0.04145187862775209786114772 0} C {0 0 0.05000000000000000277555756}
|
||||
put {detail-sphere.s100} ell V {0.08771151141682095864204882 0.2868914267889106639586316 0.4000000000000000222044605} A {0.0146185852361368287533061 0.04781523779815177732643861 0} B {-0.04781523779815177732643861 0.0146185852361368287533061 0} C {0 0 0.05000000000000000277555756}
|
||||
put {inner-detail-401.s} tgc V {-0.2996852747327302113333758 0.741747083653429784000366 0.4000000000000000222044605} H {0.2247639560495476862556075 -0.5563103127400722547335477 0} A {0 0 -0.1499999999999999944488849} B {0.1390775781850180636833869 0.05619098901238692156390186 0} C {0 0 -0.01000000000000000020816682} D {0.009271838545667871259170489 0.003746065934159127901875719 0}
|
||||
put {inner-detail-301.s} tgc V {0.6217167691655764993896582 0.5034563128398703568677774 0.4000000000000000222044605} H {-0.4662875768741823190310924 -0.3775922346299027676508331 0} A {0 0 -0.1499999999999999944488849} B {0.09439805865747569191270827 -0.1165718942185455797577731 0} C {0 0 -0.01000000000000000020816682} D {0.006293203910498379634319566 -0.007771459614569705548481338 0}
|
||||
put {inner-detail-201.s} tgc V {0.6632300580440335657783635 -0.4473543227765972574161424 0.4000000000000000222044605} H {-0.4974225435330251743337726 0.3355157420824478875509556 0} A {0 0 -0.1499999999999999944488849} B {-0.08387893552061197188773889 -0.1243556358832562935834432 0} C {0 0 -0.01000000000000000020816682} D {-0.005591929034707465023812389 -0.008290375725550419225284848 0}
|
||||
put {inner-detail-101.s} tgc V {-0.2338973637781892600528977 -0.7650438047704284372230177 0.4000000000000000222044605} H {0.1754230228336419172840976 0.5737828535778213279172633 0} A {0 0 -0.1499999999999999944488849} B {-0.1434457133944553319793158 0.04385575570841047932102441 0} C {0 0 -0.01000000000000000020816682} D {-0.009563047559630355812232416 0.002923717047227365403716526 0}
|
||||
put {cuttest1.s} tgc V {21 -12.5 67} H {9.009813205160669449917104E-15 23.5329866686764859196046 3.449487102286835224083511E-30} A {-1.722865014715246889664968E-14 0 45} B {9 -3.445730029430494568190841E-15 3.445730029430493384899483E-15} C {-1.722865014715246889664968E-14 0 45} D {9 -3.445730029430494568190841E-15 3.445730029430493384899483E-15}
|
||||
put {axel-cutout-2a.s} tgc V {0 61 0} H {0 1 0} A {0 0 1} B {1 0 0} C {0 0 1} D {1 0 0}
|
||||
put {axel-cutout-1a.s} tgc V {0 1 0} H {0 1 0} A {0 0 1} B {1 0 0} C {0 0 1} D {1 0 0}
|
||||
put {detail-spheres.c} comb region no tree {u {u {u {l detail-sphere.s} {l detail-sphere.s100}} {u {l detail-sphere.s200} {l detail-sphere.s300}}} {l detail-sphere.s400}}
|
||||
put {left-front-cut.s} arb8 V1 {-0.6130360000000001363673618 -23.96719999999999117790139 150.4634909090908365669748} V2 {-0.6130360000000000253450594 -10.99999999999998934185896 154.0000000000000852651283} V3 {-0.6130360000000000253450594 -6.000000000000002664535259 177.9999999999999431565811} V4 {-0.6130360000000000253450594 -23.96719999999999117790139 177.9999999999999431565811} V5 {8.000000000000001776356839 -23.96719999999999117790139 150.4634909090908365669748} V6 {7.99999999999999911182158 -10.99999999999998934185896 154.0000000000000852651283} V7 {7.999999999999998223643161 -6.000000000000002664535259 177.9999999999999431565811} V8 {8.000000000000003552713679 -23.96719999999999117790139 177.9999999999999431565811}
|
||||
put {side-cut-right.s} arb8 V1 {9.151327272727264983132045 23.55590000000000827640179 75.30265454545443049028108} V2 {9.886814599336834788138377E-15 23.55590000000001893454282 75.30265454545450154455466} V3 {9.886814599336837943581998E-15 23.55590000000000472368811 131.1315636363635803718353} V4 {9.151327272727243666849972 23.55589999999998696011971 131.1315636363635519501258} V5 {15.99999999999997690736109 10.99999999999999822364316 88.99999999999984368059813} V6 {1.776356839400245337081927E-15 11.00000000000001243449788 88.99999999999995736743585} V7 {1.776356839400252042399621E-15 11.00000000000000355271368 121.9999999999999715782906} V8 {15.99999999999996624922005 10.9999999999999911182158 121.9999999999999573674359}
|
||||
put {axel-cutout-2a.s} tgc V {0 61 0} H {0 1 0} A {0 0 1} B {1 0 0} C {0 0 1} D {1 0 0}
|
||||
put {axel-cutout-1a.s} tgc V {0 1 0} H {0 1 0} A {0 0 1} B {1 0 0} C {0 0 1} D {1 0 0}
|
||||
put {detail-sphere.s400} ell V {0.1123819780247738431278037 -0.2781551563700361273667738 0.4000000000000000222044605} A {0.01873032967079563820833599 -0.04635919272833936150002287 0} B {0.04635919272833936150002287 0.01873032967079563820833599 0} C {0 0 0.05000000000000000277555756}
|
||||
put {detail-sphere.s300} ell V {-0.2331437884370911595155462 -0.1887961173149513838254165 0.4000000000000000222044605} A {-0.03885729807284853121185364 -0.03146601955249189730423609 0} B {0.03146601955249189730423609 -0.03885729807284853121185364 0} C {0 0 0.05000000000000000277555756}
|
||||
put {wheel-well-back.s} arb8 V1 {2 -22 25} V2 {2 22 25} V3 {2 22 27} V4 {2 -22 27} V5 {0 -22 25} V6 {0 22 25} V7 {0 22 27} V8 {0 -22 27}
|
||||
put {detail-sphere.s200} ell V {-0.2487112717665125871668863 0.1677578710412239437754778 0.4000000000000000222044605} A {-0.04145187862775209786114772 0.0279596451735373285885089 0} B {-0.0279596451735373285885089 -0.04145187862775209786114772 0} C {0 0 0.05000000000000000277555756}
|
||||
put {left-front-cut.s} arb8 V1 {0 -22 151} V2 {0 -11 154} V3 {0 -6 178} V4 {0 -22 178} V5 {8 -22 151} V6 {8 -11 154} V7 {8 -6 178} V8 {8 -22 178}
|
||||
put {pinewood} comb region no tree {u {u {u {l pinewood_car_body.r} {l tire1.r}} {u {l tire2.r} {l tire3.r}}} {u {u {l tire4.r} {l axel1.r}} {l axel2.r}}}
|
||||
put {inner-detail-1.s} tgc V {-0.800000000000000044408921 0 0.4000000000000000222044605} H {0.5999999999999999777955395 0 0} A {0 0 -0.1499999999999999944488849} B {0 0.1499999999999999944488849 0} C {0 0 -0.01000000000000000020816682} D {0 0.01000000000000000020816682 0}
|
||||
put {detail-sphere.s} ell V {0.2999999999999999888977698 0 0.4000000000000000222044605} A {0.05000000000000000277555756 0 0} B {0 0.05000000000000000277555756 0} C {0 0 0.05000000000000000277555756}
|
||||
put {inner-cyl-2-hollow.s} tgc V {0 0 0} H {0 0 0.800000000000000044408921} A {0 -0.7499999999999998889776975 0} B {0.7499999999999998889776975 0 0} C {0 -0.7499999999999998889776975 0} D {0.7499999999999998889776975 0 0}
|
||||
put {block6.s} arb8 V1 {18 -12.5 102} V2 {18 10.5 102} V3 {18 10.5 177} V4 {18 -12.5 177} V5 {23.23583984375 -12.5 102} V6 {23.23583984375 10.5 102} V7 {23.23583984375 10.5 177} V8 {23.23583984375 -12.5 177}
|
||||
put {block5.s} arb8 V1 {2.5 -22 177} V2 {18 -22 102} V3 {18 22 102} V4 {2.5 22 177} V5 {18 -22 177} V6 {18 -22 177} V7 {18 22 177} V8 {18 22 177}
|
||||
put {block4.s} arb8 V1 {10 -12.5 67} V2 {10 10.5 67} V3 {10 10.5 177} V4 {10 -12.5 177} V5 {21 -5.5 67} V6 {21 2.5 67} V7 {21 2.5 177} V8 {21 -5.5 177}
|
||||
put {block3.s} arb8 V1 {10 -12.5 0} V2 {10 10.5 0} V3 {10.00000000000000177635684 10.5 67} V4 {10.00000000000000177635684 -12.49999999999999822364316 67.00000000000001421085472} V5 {21 -5.5 0} V6 {21 2.5 0} V7 {21 2.500000000000007105427358 67.00000000000001421085472} V8 {21 -5.5 67}
|
||||
put {block2.s} arb8 V1 {12.75558857142857327460206 -12.38815357142856932171071 -1.069299999999999695177166} V2 {21.83899999999998797761691 -5.575595000000001633111424 38.67062500000000113686838} V3 {21.83899999999999508304427 2.455820000000009883933672 38.67062499999998692601366} V4 {12.75558857142860702538201 10.40380499999997354620973 -1.069299999999999917221771} V5 {21.83899999999999153033059 -5.575594999999994527684066 -1.069299999999999917221771} V6 {21.83899999999999153033059 -5.575594999999994527684066 -1.069299999999999917221771} V7 {21.83899999999999863575795 2.45582000000001521300419 -1.069299999999999695177166} V8 {21.83899999999999863575795 2.45582000000001521300419 -1.069299999999999695177166}
|
||||
put {block1.s} arb8 V1 {0 -22 0} V2 {0 22 0} V3 {0 22 177} V4 {0 -22 177} V5 {10 -22 0} V6 {10 22 0} V7 {10 22 177} V8 {10 -22 177}
|
||||
put {side-cut-left.s} arb8 V1 {0 -23.55600000000000093791641 77.94399999999994577137841} V2 {8.726909090909078514641806 -23.55600000000000093791641 77.94399999999995998223312} V3 {8.726909090909080290998645 -23.55600000000000093791641 130.348727272727245463102} V4 {0 -23.55600000000000093791641 130.3487272727272738848114} V5 {0 -11 90.49999999999994315658114} V6 {18.99999999999998934185896 -11 90.49999999999994315658114} V7 {18.99999999999998934185896 -11 123.4999999999999857891453} V8 {0 -11 123.5000000000000568434189}
|
||||
put {pinewood_car_body.r} comb region yes tree {u {u {- {- {- {- {- {- {- {l block1.s {0 0 1 0 0 -1 0 0 1 0 0 0 0 0 0 1}} {l block5.s {0 0 1 0 0 -1 0 0 1 0 0 0 0 0 0 1}}} {l side-cut-left.s {0 0 1 0 0 -1 0 0 1 0 0 0 0 0 0 1}}} {l side-cut-right.s {0 0 1 0 0 -1 0 0 1 0 0 0 0 0 0 1}}} {l left-front-cut.s {0 0 1 0 0 -1 0 0 1 0 0 0 0 0 0 1}}} {l right-front-cut.s {0 0 1 0 0 -1 0 0 1 0 0 0 0 0 0 1}}} {l wheel-well-back.s {0 0 1 0 0 -1 0 0 1 0 0 0 0 0 0 1}}} {l wheel-well-front.s {0 0 1 0 0 -1 0 0 1 0 0 0 0 0 0 1}}} {- {l block3.s {0 0 1 0 0 -1 0 0 1 0 0 0 0 0 0 1}} {l block2.s {0 0 1 0 0 -1 0 0 1 0 0 0 0 0 0 1}}}} {- {- {- {l block4.s {0 0 1 0 0 -1 0 0 1 0 0 0 0 0 0 1}} {l cuttest1.s {0 0 1 0 0 -1 0 0 1 0 0 0 0 0 0 1}}} {l block5.s {0 0 1 0 0 -1 0 0 1 0 0 0 0 0 0 1}}} {l block6.s {0 0 1 0 0 -1 0 0 1 0 0 0 0 0 0 1}}}}
|
||||
attr set {pinewood_car_body.r} {region} {R} {los} {100} {material_id} {1} {region_id} {1000} {shader} {plastic} {color} {255/255/118}
|
||||
put {axel-cutout-2.s} tgc V {0 61 0} H {0 1 0} A {0 0 0.5999999999999999777955395} B {0.5999999999999999777955395 0 0} C {0 0 0.5999999999999999777955395} D {0.5999999999999999777955395 0 0}
|
||||
put {axel-cutout-1.s} tgc V {0 1 0} H {0 1 0} A {0 0 0.5999999999999999777955395} B {0.5999999999999999777955395 0 0} C {0 0 0.5999999999999999777955395} D {0.5999999999999999777955395 0 0}
|
||||
put {tire4.r} comb region yes tree {u {u {u {u {l outer-tire.c {-1 0 0 14 0 0 -1 -2.3 0 -1 0 0.1 0 0 0 0.1}} {- {l inner-cyl.c {-1 0 0 14 0 0 -1 -2.3 0 -1 0 0.1 0 0 0 0.1}} {l inner-cyl-lower-trim.s {-1 0 0 14 0 0 -1 -2.3 0 -1 0 0.1 0 0 0 0.1}}}} {- {l inner-cones.c {-1 0 0 14 0 0 -1 -2.3 0 -1 0 0.1 0 0 0 0.1}} {l inner-cyl-lower-trim.s {-1 0 0 14 0 0 -1 -2.3 0 -1 0 0.1 0 0 0 0.1}}}} {l detail-spheres.c {-1 0 0 14 0 0 -1 -2.3 0 -1 0 0.1 0 0 0 0.1}}} {l center-cyl.c {-1 0 0 14 0 0 -1 -2.3 0 -1 0 0.1 0 0 0 0.1}}}
|
||||
attr set {tire4.r} {region} {R} {shader} {plastic} {region_id} {1001} {material_id} {1} {los} {100} {color} {40/40/40}
|
||||
put {tire3.r} comb region yes tree {u {u {u {u {l outer-tire.c {1 0 0 14 0 0 1 2.3 0 -1 0 0.1 0 0 0 0.1}} {- {l inner-cyl.c {1 0 0 14 0 0 1 2.3 0 -1 0 0.1 0 0 0 0.1}} {l inner-cyl-lower-trim.s {1 0 0 14 0 0 1 2.3 0 -1 0 0.1 0 0 0 0.1}}}} {- {l inner-cones.c {1 0 0 14 0 0 1 2.3 0 -1 0 0.1 0 0 0 0.1}} {l inner-cyl-lower-trim.s {1 0 0 14 0 0 1 2.3 0 -1 0 0.1 0 0 0 0.1}}}} {l detail-spheres.c {1 0 0 14 0 0 1 2.3 0 -1 0 0.1 0 0 0 0.1}}} {l center-cyl.c {1 0 0 14 0 0 1 2.3 0 -1 0 0.1 0 0 0 0.1}}}
|
||||
attr set {tire3.r} {region} {R} {shader} {plastic} {region_id} {1001} {material_id} {1} {los} {100} {color} {40/40/40}
|
||||
put {tire2.r} comb region yes tree {u {u {u {u {l outer-tire.c {-1 0 0 2.6 0 0 -1 -2.3 0 -1 0 0.1 0 0 0 0.1}} {- {l inner-cyl.c {-1 0 0 2.6 0 0 -1 -2.3 0 -1 0 0.1 0 0 0 0.1}} {l inner-cyl-lower-trim.s {-1 0 0 2.6 0 0 -1 -2.3 0 -1 0 0.1 0 0 0 0.1}}}} {- {l inner-cones.c {-1 0 0 2.6 0 0 -1 -2.3 0 -1 0 0.1 0 0 0 0.1}} {l inner-cyl-lower-trim.s {-1 0 0 2.6 0 0 -1 -2.3 0 -1 0 0.1 0 0 0 0.1}}}} {l detail-spheres.c {-1 0 0 2.6 0 0 -1 -2.3 0 -1 0 0.1 0 0 0 0.1}}} {l center-cyl.c {-1 0 0 2.6 0 0 -1 -2.3 0 -1 0 0.1 0 0 0 0.1}}}
|
||||
attr set {tire2.r} {region} {R} {shader} {plastic} {region_id} {1001} {material_id} {1} {los} {100} {color} {40/40/40}
|
||||
put {axel2.r} comb region yes tree {- {- {l axel.s {1 0 0 140 0 1 0 -31.5 0 0 1 1 0 0 0 1}} {l axel-cut-1.c {1 0 0 140 0 1 0 -31.5 0 0 1 1 0 0 0 1}}} {l axel-cut-2.c {1 0 0 140 0 1 0 -31.5 0 0 1 1 0 0 0 1}}}
|
||||
attr set {axel2.r} {region} {R} {los} {100} {material_id} {1} {region_id} {1000}
|
||||
put {tire1.r} comb region yes tree {u {u {u {u {l outer-tire.c {1 0 0 2.6 0 0 1 2.3 0 -1 0 0.1 0 0 0 0.1}} {- {l inner-cyl.c {1 0 0 2.6 0 0 1 2.3 0 -1 0 0.1 0 0 0 0.1}} {l inner-cyl-lower-trim.s {1 0 0 2.6 0 0 1 2.3 0 -1 0 0.1 0 0 0 0.1}}}} {- {l inner-cones.c {1 0 0 2.6 0 0 1 2.3 0 -1 0 0.1 0 0 0 0.1}} {l inner-cyl-lower-trim.s {1 0 0 2.6 0 0 1 2.3 0 -1 0 0.1 0 0 0 0.1}}}} {l detail-spheres.c {1 0 0 2.6 0 0 1 2.3 0 -1 0 0.1 0 0 0 0.1}}} {l center-cyl.c {1 0 0 2.6 0 0 1 2.3 0 -1 0 0.1 0 0 0 0.1}}}
|
||||
attr set {tire1.r} {region} {R} {shader} {plastic} {region_id} {1001} {material_id} {1} {los} {100} {color} {40/40/40}
|
||||
put {axel1.r} comb region yes tree {- {- {l axel.s {1 0 0 26 0 1 0 -31.5 0 0 1 1 0 0 0 1}} {l axel-cut-1.c {1 0 0 26 0 1 0 -31.5 0 0 1 1 0 0 0 1}}} {l axel-cut-2.c {1 0 0 26 0 1 0 -31.5 0 0 1 1 0 0 0 1}}}
|
||||
attr set {axel1.r} {region} {R} {los} {100} {material_id} {1} {region_id} {1000}
|
||||
put {center-cyl-hollow.s} tgc V {0 0 -0.1000000000000000055511151} H {0 0 0.5999999999999999777955395} A {0 -0.1000000000000000055511151 0} B {0.1000000000000000055511151 0 0} C {0 -0.1000000000000000055511151 0} D {0.1000000000000000055511151 0 0}
|
||||
put {axel.s} tgc V {0 0 0} H {0 63 0} A {0 0 1} B {1 0 0} C {0 0 1} D {1 0 0}
|
||||
put {detail-sphere.s100} ell V {0.08771151141682095864204882 0.2868914267889106639586316 0.4000000000000000222044605} A {0.0146185852361368287533061 0.04781523779815177732643861 0} B {-0.04781523779815177732643861 0.0146185852361368287533061 0} C {0 0 0.05000000000000000277555756}
|
||||
put {side-cut-right.s} arb8 V1 {10.0000000000000088817842 22 77} V2 {8.881784197001252323389053E-15 22.00000000000000710542736 77} V3 {8.881784197001252323389053E-15 22.00000000000000710542736 130} V4 {10.00000000000000710542736 21.99999999999999644728632 130.0000000000000284217094} V5 {16 11 89} V6 {1.776356839400250464677811E-15 11.00000000000000710542736 89} V7 {1.776356839400252436830074E-15 11.00000000000000710542736 122.0000000000000284217094} V8 {16 11 122.0000000000000710542736}
|
||||
put {pinewood_car_body.r} comb region yes tree {u {u {- {- {- {- {- {- {- {l block1.s {3.82859e-16 -7.65718e-16 1 -1.68458e-14 -2.93162e-31 -1 -7.65718e-16 0 1 0 -3.82859e-16 0 0 0 0 1}} {l block5.s {3.82859e-16 -7.65718e-16 1 -1.68458e-14 -2.93162e-31 -1 -7.65718e-16 0 1 0 -3.82859e-16 0 0 0 0 1}}} {l side-cut-left.s {3.82859e-16 -7.65718e-16 1 -1.68458e-14 -2.93162e-31 -1 -7.65718e-16 0 1 0 -3.82859e-16 0 0 0 0 1}}} {l side-cut-right.s {3.82859e-16 -7.65718e-16 1 -1.68458e-14 -2.93162e-31 -1 -7.65718e-16 0 1 0 -3.82859e-16 0 0 0 0 1}}} {l left-front-cut.s {3.82859e-16 -7.65718e-16 1 -1.68458e-14 -2.93162e-31 -1 -7.65718e-16 0 1 0 -3.82859e-16 0 0 0 0 1}}} {l right-front-cut.s {3.82859e-16 -7.65718e-16 1 -1.68458e-14 -2.93162e-31 -1 -7.65718e-16 0 1 0 -3.82859e-16 0 0 0 0 1}}} {l wheel-well-back.s {3.82859e-16 -7.65718e-16 1 -1.68458e-14 -2.93162e-31 -1 -7.65718e-16 0 1 0 -3.82859e-16 0 0 0 0 1}}} {l wheel-well-front.s {3.82859e-16 -7.65718e-16 1 -1.68458e-14 -2.93162e-31 -1 -7.65718e-16 0 1 0 -3.82859e-16 0 0 0 0 1}}} {- {l block3.s {3.82859e-16 -7.65718e-16 1 -1.68458e-14 -2.93162e-31 -1 -7.65718e-16 0 1 0 -3.82859e-16 0 0 0 0 1}} {l block2.s {3.82859e-16 -7.65718e-16 1 -1.68458e-14 -2.93162e-31 -1 -7.65718e-16 0 1 0 -3.82859e-16 0 0 0 0 1}}}} {- {- {- {l block4.s {3.82859e-16 -7.65718e-16 1 -1.68458e-14 -2.93162e-31 -1 -7.65718e-16 0 1 0 -3.82859e-16 0 0 0 0 1}} {l cuttest1.s {3.82859e-16 -7.65718e-16 1 -1.68458e-14 -2.93162e-31 -1 -7.65718e-16 0 1 0 -3.82859e-16 0 0 0 0 1}}} {l block5.s {3.82859e-16 -7.65718e-16 1 -1.68458e-14 -2.93162e-31 -1 -7.65718e-16 0 1 0 -3.82859e-16 0 0 0 0 1}}} {l block6.s {3.82859e-16 -7.65718e-16 1 -1.68458e-14 -2.93162e-31 -1 -7.65718e-16 0 1 0 -3.82859e-16 0 0 0 0 1}}}}
|
||||
attr set {pinewood_car_body.r} {region} {R} {rgb} {255/255/118} {oshader} {plastic} {region_id} {1000} {material_id} {1} {los} {100}
|
||||
put {outer-tire-upper-hollow.s} tgc V {0 0 0} H {0 0 0.9000000000000000222044605} A {0 -0.9000000000000000222044605 0} B {0.9000000000000000222044605 0 0} C {0 -0.9000000000000000222044605 0} D {0.9000000000000000222044605 0 0}
|
||||
put {right-front-cut.s} arb8 V1 {0 22 151} V2 {0 11 154} V3 {0 6 178} V4 {0 22 178} V5 {8 22 151} V6 {8 11 154} V7 {8 6 178} V8 {8 22 178}
|
||||
put {inner-cyl-2.s} tgc V {0 0 0} H {0 0 0.5999999999999999777955395} A {0 -0.800000000000000044408921 0} B {0.800000000000000044408921 0 0} C {0 -0.800000000000000044408921 0} D {0.800000000000000044408921 0 0}
|
||||
put {inner-detail-1.s} tgc V {-0.800000000000000044408921 0 0.4000000000000000222044605} H {0.5999999999999999777955395 0 0} A {0 0 -0.1499999999999999944488849} B {0 0.1499999999999999944488849 0} C {0 0 -0.01000000000000000020816682} D {0 0.01000000000000000020816682 0}
|
||||
put {axel-cutout-2.s} tgc V {0 61 0} H {0 1 0} A {0 0 0.5999999999999999777955395} B {0.5999999999999999777955395 0 0} C {0 0 0.5999999999999999777955395} D {0.5999999999999999777955395 0 0}
|
||||
put {inner-cones.c} comb region no tree {u {u {u {l inner-detail-1.s} {l inner-detail-101.s}} {u {l inner-detail-201.s} {l inner-detail-301.s}}} {l inner-detail-401.s}}
|
||||
put {wheel-well-front.s} arb8 V1 {2 -22 139} V2 {2 22 139} V3 {2 22 141} V4 {2 -22 141} V5 {0 -22 139} V6 {0 22 139} V7 {0 22 141} V8 {0 -22 141}
|
||||
put {outer-hollow-cyl.s} tgc V {0 0 0} H {0 0 0.5} A {0 -1.199999999999999955591079 0} B {1.199999999999999955591079 0 0} C {0 -1.199999999999999955591079 0} D {1.199999999999999955591079 0 0}
|
||||
put {wheel-outer-bump.s} eto V {0 0 0.800000000000000044408921} N {0 -8.34544256767107268166427E-16 -1.089884907806513147932037} C {0.281492275734594732394811 0.02689961599649578691262342 0.0008719051763263864019207205} r 1.175024957792653701460495 r_d 0.09511428095492888146189614
|
||||
put {inner-hollow.cyl.s} tgc V {0 0 0} H {0 0 0.9000000000000000222044605} A {0 -0.800000000000000044408921 0} B {0.800000000000000044408921 0 0} C {0 -0.800000000000000044408921 0} D {0.800000000000000044408921 0 0}
|
||||
put {inner-cyl-lower-trim.s} tgc V {0 0 0} H {0 0 0.4000000000000000222044605} A {0 -0.9000000000000000222044605 0} B {0.9000000000000000222044605 0 0} C {0 -0.9000000000000000222044605 0} D {0.9000000000000000222044605 0 0}
|
||||
put {detail-sphere.s} ell V {0.2999999999999999888977698 0 0.4000000000000000222044605} A {0.05000000000000000277555756 0 0} B {0 0.05000000000000000277555756 0} C {0 0 0.05000000000000000277555756}
|
||||
put {axel-cutout-1.s} tgc V {0 1 0} H {0 1 0} A {0 0 0.5999999999999999777955395} B {0.5999999999999999777955395 0 0} C {0 0 0.5999999999999999777955395} D {0.5999999999999999777955395 0 0}
|
||||
put {tire4.r} comb region yes tree {u {u {u {u {l outer-tire.c {-1 2.93162e-31 -7.65718e-16 14 7.65718e-16 3.82859e-16 -1 -2.3 0 -1 -3.82859e-16 0.1 0 0 0 0.1}} {- {l inner-cyl.c {-1 2.93162e-31 -7.65718e-16 14 7.65718e-16 3.82859e-16 -1 -2.3 0 -1 -3.82859e-16 0.1 0 0 0 0.1}} {l inner-cyl-lower-trim.s {-1 2.93162e-31 -7.65718e-16 14 7.65718e-16 3.82859e-16 -1 -2.3 0 -1 -3.82859e-16 0.1 0 0 0 0.1}}}} {- {l inner-cones.c {-1 2.93162e-31 -7.65718e-16 14 7.65718e-16 3.82859e-16 -1 -2.3 0 -1 -3.82859e-16 0.1 0 0 0 0.1}} {l inner-cyl-lower-trim.s {-1 2.93162e-31 -7.65718e-16 14 7.65718e-16 3.82859e-16 -1 -2.3 0 -1 -3.82859e-16 0.1 0 0 0 0.1}}}} {l detail-spheres.c {-1 2.93162e-31 -7.65718e-16 14 7.65718e-16 3.82859e-16 -1 -2.3 0 -1 -3.82859e-16 0.1 0 0 0 0.1}}} {l center-cyl.c {-1 2.93162e-31 -7.65718e-16 14 7.65718e-16 3.82859e-16 -1 -2.3 0 -1 -3.82859e-16 0.1 0 0 0 0.1}}}
|
||||
attr set {tire4.r} {region} {R} {rgb} {0/0/0} {oshader} {plastic} {region_id} {1001} {material_id} {1} {los} {100}
|
||||
put {tire3.r} comb region yes tree {u {u {u {u {l outer-tire.c {1 0 0 14 0 -3.82859e-16 1 2.3 0 -1 -3.82859e-16 0.1 0 0 0 0.1}} {- {l inner-cyl.c {1 0 0 14 0 -3.82859e-16 1 2.3 0 -1 -3.82859e-16 0.1 0 0 0 0.1}} {l inner-cyl-lower-trim.s {1 0 0 14 0 -3.82859e-16 1 2.3 0 -1 -3.82859e-16 0.1 0 0 0 0.1}}}} {- {l inner-cones.c {1 0 0 14 0 -3.82859e-16 1 2.3 0 -1 -3.82859e-16 0.1 0 0 0 0.1}} {l inner-cyl-lower-trim.s {1 0 0 14 0 -3.82859e-16 1 2.3 0 -1 -3.82859e-16 0.1 0 0 0 0.1}}}} {l detail-spheres.c {1 0 0 14 0 -3.82859e-16 1 2.3 0 -1 -3.82859e-16 0.1 0 0 0 0.1}}} {l center-cyl.c {1 0 0 14 0 -3.82859e-16 1 2.3 0 -1 -3.82859e-16 0.1 0 0 0 0.1}}}
|
||||
attr set {tire3.r} {region} {R} {rgb} {0/0/0} {oshader} {plastic} {region_id} {1001} {material_id} {1} {los} {100}
|
||||
put {tire2.r} comb region yes tree {u {u {u {u {l outer-tire.c {-1 2.93162e-31 -7.65718e-16 2.6 7.65718e-16 3.82859e-16 -1 -2.3 0 -1 -3.82859e-16 0.1 0 0 0 0.1}} {- {l inner-cyl.c {-1 2.93162e-31 -7.65718e-16 2.6 7.65718e-16 3.82859e-16 -1 -2.3 0 -1 -3.82859e-16 0.1 0 0 0 0.1}} {l inner-cyl-lower-trim.s {-1 2.93162e-31 -7.65718e-16 2.6 7.65718e-16 3.82859e-16 -1 -2.3 0 -1 -3.82859e-16 0.1 0 0 0 0.1}}}} {- {l inner-cones.c {-1 2.93162e-31 -7.65718e-16 2.6 7.65718e-16 3.82859e-16 -1 -2.3 0 -1 -3.82859e-16 0.1 0 0 0 0.1}} {l inner-cyl-lower-trim.s {-1 2.93162e-31 -7.65718e-16 2.6 7.65718e-16 3.82859e-16 -1 -2.3 0 -1 -3.82859e-16 0.1 0 0 0 0.1}}}} {l detail-spheres.c {-1 2.93162e-31 -7.65718e-16 2.6 7.65718e-16 3.82859e-16 -1 -2.3 0 -1 -3.82859e-16 0.1 0 0 0 0.1}}} {l center-cyl.c {-1 2.93162e-31 -7.65718e-16 2.6 7.65718e-16 3.82859e-16 -1 -2.3 0 -1 -3.82859e-16 0.1 0 0 0 0.1}}}
|
||||
attr set {tire2.r} {region} {R} {rgb} {0/0/0} {oshader} {plastic} {region_id} {1001} {material_id} {1} {los} {100}
|
||||
put {axel2.r} comb region yes tree {- {- {l axel.s {1 0 0 140 0 1 0 -31.5 0 0 1 1 0 0 0 1}} {l axel-cut-1.c {1 0 0 140 0 1 0 -31.5 0 0 1 1 0 0 0 1}}} {l axel-cut-2.c {1 0 0 140 0 1 0 -31.5 0 0 1 1 0 0 0 1}}}
|
||||
attr set {axel2.r} {region} {R} {region_id} {1000} {material_id} {1} {los} {100}
|
||||
put {tire1.r} comb region yes tree {u {u {u {u {l outer-tire.c {1 0 0 2.6 0 -3.82859e-16 1 2.3 0 -1 -3.82859e-16 0.1 0 0 0 0.1}} {- {l inner-cyl.c {1 0 0 2.6 0 -3.82859e-16 1 2.3 0 -1 -3.82859e-16 0.1 0 0 0 0.1}} {l inner-cyl-lower-trim.s {1 0 0 2.6 0 -3.82859e-16 1 2.3 0 -1 -3.82859e-16 0.1 0 0 0 0.1}}}} {- {l inner-cones.c {1 0 0 2.6 0 -3.82859e-16 1 2.3 0 -1 -3.82859e-16 0.1 0 0 0 0.1}} {l inner-cyl-lower-trim.s {1 0 0 2.6 0 -3.82859e-16 1 2.3 0 -1 -3.82859e-16 0.1 0 0 0 0.1}}}} {l detail-spheres.c {1 0 0 2.6 0 -3.82859e-16 1 2.3 0 -1 -3.82859e-16 0.1 0 0 0 0.1}}} {l center-cyl.c {1 0 0 2.6 0 -3.82859e-16 1 2.3 0 -1 -3.82859e-16 0.1 0 0 0 0.1}}}
|
||||
attr set {tire1.r} {region} {R} {rgb} {0/0/0} {oshader} {plastic} {region_id} {1001} {material_id} {1} {los} {100}
|
||||
put {axel1.r} comb region yes tree {- {- {l axel.s {1 0 0 26 0 1 0 -31.5 0 0 1 1 0 0 0 1}} {l axel-cut-1.c {1 0 0 26 0 1 0 -31.5 0 0 1 1 0 0 0 1}}} {l axel-cut-2.c {1 0 0 26 0 1 0 -31.5 0 0 1 1 0 0 0 1}}}
|
||||
attr set {axel1.r} {region} {R} {region_id} {1000} {material_id} {1} {los} {100}
|
||||
put {center-cyl-bump.s} tgc V {0 0 -0.1000000000000000055511151} H {0 0 0.5999999999999999777955395} A {0 -0.2000000000000000111022302 0} B {0.2000000000000000111022302 0 0} C {0 -0.2000000000000000111022302 0} D {0.2000000000000000111022302 0 0}
|
||||
put {center-cyl.s} tgc V {0 0 -0.1000000000000000055511151} H {0 0 0.5} A {0 -0.4000000000000000222044605 0} B {0.4000000000000000222044605 0 0} C {0 -0.4000000000000000222044605 0} D {0.4000000000000000222044605 0 0}
|
||||
put {wheel-well-front.s} arb8 V1 {2 -22 139} V2 {2 22 139} V3 {2 22 141} V4 {2 -22 141} V5 {0 -22 139} V6 {0 22 139} V7 {0 22 141} V8 {0 -22 141}
|
||||
put {center-cyl-hollow.s} tgc V {0 0 -0.1000000000000000055511151} H {0 0 0.5999999999999999777955395} A {0 -0.1000000000000000055511151 0} B {0.1000000000000000055511151 0 0} C {0 -0.1000000000000000055511151 0} D {0.1000000000000000055511151 0 0}
|
||||
put {outer-hollow-cyl.s} tgc V {0 0 0} H {0 0 0.5} A {0 -1.199999999999999955591079 0} B {1.199999999999999955591079 0 0} C {0 -1.199999999999999955591079 0} D {1.199999999999999955591079 0 0}
|
||||
put {inner-detail-401.s} tgc V {-0.2996852747327302113333758 0.741747083653429784000366 0.4000000000000000222044605} H {0.2247639560495476862556075 -0.5563103127400722547335477 0} A {0 0 -0.1499999999999999944488849} B {0.1390775781850180636833869 0.05619098901238692156390186 0} C {0 0 -0.01000000000000000020816682} D {0.009271838545667871259170489 0.003746065934159127901875719 0}
|
||||
put {inner-detail-301.s} tgc V {0.6217167691655764993896582 0.5034563128398703568677774 0.4000000000000000222044605} H {-0.4662875768741823190310924 -0.3775922346299027676508331 0} A {0 0 -0.1499999999999999944488849} B {0.09439805865747569191270827 -0.1165718942185455797577731 0} C {0 0 -0.01000000000000000020816682} D {0.006293203910498379634319566 -0.007771459614569705548481338 0}
|
||||
put {wheel-outer-bump.s} eto V {0 0 0.800000000000000044408921} N {0 -8.34544256767107268166427E-16 -1.089884907806513147932037} C {0.281492275734594732394811 0.02689961599649578691262342 0.0008719051763263864019207205} r 1.175024957792653701460495 r_d 0.09511428095492888146189614
|
||||
put {inner-hollow.cyl.s} tgc V {0 0 0} H {0 0 0.9000000000000000222044605} A {0 -0.800000000000000044408921 0} B {0.800000000000000044408921 0 0} C {0 -0.800000000000000044408921 0} D {0.800000000000000044408921 0 0}
|
||||
put {inner-detail-201.s} tgc V {0.6632300580440335657783635 -0.4473543227765972574161424 0.4000000000000000222044605} H {-0.4974225435330251743337726 0.3355157420824478875509556 0} A {0 0 -0.1499999999999999944488849} B {-0.08387893552061197188773889 -0.1243556358832562935834432 0} C {0 0 -0.01000000000000000020816682} D {-0.005591929034707465023812389 -0.008290375725550419225284848 0}
|
||||
put {inner-detail-101.s} tgc V {-0.2338973637781892600528977 -0.7650438047704284372230177 0.4000000000000000222044605} H {0.1754230228336419172840976 0.5737828535778213279172633 0} A {0 0 -0.1499999999999999944488849} B {-0.1434457133944553319793158 0.04385575570841047932102441 0} C {0 0 -0.01000000000000000020816682} D {-0.009563047559630355812232416 0.002923717047227365403716526 0}
|
||||
put {outer-tire.c} comb region no tree {u {- {- {l outer-cyl.s} {l outer-hollow-cyl.s}} {l outer-tire-upper-hollow.s}} {- {- {l wheel-outer-bump.s} {l outer-hollow-cyl.s}} {l outer-tire-upper-hollow.s}}}
|
||||
put {outer-cyl.s} tgc V {0 0 0} H {0 0 0.800000000000000044408921} A {0 -1.5 0} B {1.5 0 0} C {0 -1.5 0} D {1.5 0 0}
|
||||
put {inner-cyl.s} tgc V {0 0 0} H {0 0 0.9000000000000000222044605} A {0 -0.9000000000000000222044605 0} B {0.9000000000000000222044605 0 0} C {0 -0.9000000000000000222044605 0} D {0.9000000000000000222044605 0 0}
|
||||
put {axel-cut-2.c} comb region no tree {- {l axel-cutout-2a.s} {l axel-cutout-2.s}}
|
||||
put {center-cyl.c} comb region no tree {u {- {l center-cyl.s} {l center-cyl-hollow.s}} {- {l center-cyl-bump.s} {l center-cyl-hollow.s}}}
|
||||
put {axel-cut-1.c} comb region no tree {- {l axel-cutout-1a.s} {l axel-cutout-1.s}}
|
||||
put {inner-cyl-2-hollow.s} tgc V {0 0 0} H {0 0 0.800000000000000044408921} A {0 -0.7499999999999998889776975 0} B {0.7499999999999998889776975 0 0} C {0 -0.7499999999999998889776975 0} D {0.7499999999999998889776975 0 0}
|
||||
put {block6.s} arb8 V1 {18 -12.5 102} V2 {18 10.5 102} V3 {18 10.5 177} V4 {18 -12.5 177} V5 {23.23583984375 -12.5 102} V6 {23.23583984375 10.5 102} V7 {23.23583984375 10.5 177} V8 {23.23583984375 -12.5 177}
|
||||
put {block5.s} arb8 V1 {2.5 -22 177} V2 {18 -22 102} V3 {18 22 102} V4 {2.5 22 177} V5 {18 -22 177} V6 {18 -22 177} V7 {18 22 177} V8 {18 22 177}
|
||||
put {block4.s} arb8 V1 {10 -12.5 67} V2 {10 10.5 67} V3 {10 10.5 177} V4 {10 -12.5 177} V5 {21 -5.5 67} V6 {21 2.5 67} V7 {21 2.5 177} V8 {21 -5.5 177}
|
||||
put {block3.s} arb8 V1 {10 -12.5 0} V2 {10 10.5 0} V3 {10.00000000000000177635684 10.5 67} V4 {10.00000000000000177635684 -12.49999999999999822364316 67.00000000000001421085472} V5 {21 -5.5 0} V6 {21 2.5 0} V7 {21 2.500000000000007105427358 67.00000000000001421085472} V8 {21 -5.5 67}
|
||||
put {block2.s} arb8 V1 {13 -11.5 0} V2 {21 -5.5 35} V3 {21 2.5 35} V4 {13 9.5 0} V5 {21 -5.5 0} V6 {21 -5.5 0} V7 {21 2.5 0} V8 {21 2.5 0}
|
||||
put {block1.s} arb8 V1 {0 -22 0} V2 {0 22 0} V3 {0 22 177} V4 {0 -22 177} V5 {10 -22 0} V6 {10 22 0} V7 {10 22 177} V8 {10 -22 177}
|
||||
put {side-cut-left.s} arb8 V1 {0 -22 79.5} V2 {10 -22 79.5} V3 {9.999999999999996447286321 -22 129.5} V4 {0 -22 129.5} V5 {0 -11 90.5} V6 {19 -11 90.49999999999998578914528} V7 {19 -11 123.5} V8 {0 -11.00000000000000177635684 123.5000000000000142108547}
|
||||
put {inner-cyl-lower-trim.s} tgc V {0 0 0} H {0 0 0.4000000000000000222044605} A {0 -0.9000000000000000222044605 0} B {0.9000000000000000222044605 0 0} C {0 -0.9000000000000000222044605 0} D {0.9000000000000000222044605 0 0}
|
||||
|
||||
+1377
-1387
File diff suppressed because it is too large
Load Diff
+216
-230
@@ -1,236 +1,222 @@
|
||||
if(BRLCAD_EXTRADOCS)
|
||||
verbose_add_subdirectory(doc docbook)
|
||||
else(BRLCAD_EXTRADOCS)
|
||||
CMAKEFILES(docbook)
|
||||
endif(BRLCAD_EXTRADOCS)
|
||||
|
||||
verbose_add_subdirectory(doc html)
|
||||
verbose_add_subdirectory(doc legal)
|
||||
IF(BRLCAD-BUILD_EXTRADOCS)
|
||||
ADD_SUBDIRECTORY(docbook)
|
||||
ENDIF(BRLCAD-BUILD_EXTRADOCS)
|
||||
|
||||
CMAKEFILES(parsers)
|
||||
ADD_SUBDIRECTORY(html)
|
||||
ADD_SUBDIRECTORY(legal)
|
||||
|
||||
set(documentation_DATA
|
||||
IDEAS
|
||||
PROJECTS
|
||||
README.AIX
|
||||
README.BSD
|
||||
README.IRIX
|
||||
README.Linux
|
||||
README.MacOSX
|
||||
README.Solaris
|
||||
README.VAX
|
||||
README.Windows
|
||||
TODO.BREP
|
||||
TODO.shaded_displays
|
||||
anim.txt
|
||||
archer_ack.txt
|
||||
benchmark.tr
|
||||
brep.txt
|
||||
BRL-CAD.bib
|
||||
cvs.txt
|
||||
description.txt
|
||||
ged.tr
|
||||
history.txt
|
||||
hypot.txt
|
||||
irprep.tr
|
||||
mater.txt
|
||||
matrix.txt
|
||||
)
|
||||
ADD_DOC(documentation_DATA ".")
|
||||
SET(documentation_DATA
|
||||
IDEAS
|
||||
PROJECTS
|
||||
README.AIX
|
||||
README.BSD
|
||||
README.IRIX
|
||||
README.Linux
|
||||
README.MacOSX
|
||||
README.Solaris
|
||||
README.VAX
|
||||
README.Windows
|
||||
TODO.BREP
|
||||
anim.txt
|
||||
archer_ack.txt
|
||||
benchmark.tr
|
||||
brep.txt
|
||||
BRL-CAD.bib
|
||||
cvs.txt
|
||||
description.txt
|
||||
deprecation.txt
|
||||
ged.tr
|
||||
history.txt
|
||||
hypot.txt
|
||||
irprep.tr
|
||||
mater.txt
|
||||
matrix.txt
|
||||
mged/a.tex
|
||||
mged/adc.ps
|
||||
mged/all.tex
|
||||
mged/axis-3525.ps
|
||||
mged/b.tex
|
||||
mged/buttonmenu.ps
|
||||
mged/c.tex
|
||||
mged/coord-axes.ps
|
||||
mged/crod-close.ps
|
||||
mged/crod.ps
|
||||
mged/d.tex
|
||||
mged/doit
|
||||
mged/e.tex
|
||||
mged/eo-arbrot.ps
|
||||
mged/eo-bgrp.ps
|
||||
mged/eo-bgrp311.ps
|
||||
mged/eo-cgrp.ps
|
||||
mged/eo-cgrp321.ps
|
||||
mged/eo-ellg.ps
|
||||
mged/eo-ellg2x.ps
|
||||
mged/eo-ellgxyz.ps
|
||||
mged/eo-gredit.ps
|
||||
mged/eo-grpath.ps
|
||||
mged/eo-scale.ps
|
||||
mged/eo-spread.ps
|
||||
mged/eo-stacked.ps
|
||||
mged/eo-start.ps
|
||||
mged/eo-tor111.ps
|
||||
mged/eo-xymove.ps
|
||||
mged/eo-xyzmove.ps
|
||||
mged/es5-edge1.ps
|
||||
mged/es5-edge2.ps
|
||||
mged/es5-edge3.ps
|
||||
mged/es5-edge4.ps
|
||||
mged/es5-rot.ps
|
||||
mged/es5-scale.ps
|
||||
mged/es5-sed.ps
|
||||
mged/es5-top.ps
|
||||
mged/es5-tr.ps
|
||||
mged/es5-xrot.ps
|
||||
mged/es8-edge1.ps
|
||||
mged/es8-edge2.ps
|
||||
mged/es8-edge3.ps
|
||||
mged/es8-ex1.ps
|
||||
mged/es8-ex2.ps
|
||||
mged/es8-rot.ps
|
||||
mged/es8-scale.ps
|
||||
mged/es8-sed.ps
|
||||
mged/es8-top.ps
|
||||
mged/es8-tr0.ps
|
||||
mged/es8-xrot.ps
|
||||
mged/es8-yrot.ps
|
||||
mged/es8-zrot.ps
|
||||
mged/esc-mh.ps
|
||||
mged/esc-mhrt.ps
|
||||
mged/esc-rot.ps
|
||||
mged/esc-sa.ps
|
||||
mged/esc-sb.ps
|
||||
mged/esc-sc.ps
|
||||
mged/esc-scale.ps
|
||||
mged/esc-sd.ps
|
||||
mged/esc-sed.ps
|
||||
mged/esc-sh.ps
|
||||
mged/esc-top.ps
|
||||
mged/esc-tr.ps
|
||||
mged/esc-xrot.ps
|
||||
mged/esc-yrot.ps
|
||||
mged/esc-zrot.ps
|
||||
mged/ese-sa.ps
|
||||
mged/ese-sb.ps
|
||||
mged/ese-sc.ps
|
||||
mged/ese-scale.ps
|
||||
mged/ese-sed.ps
|
||||
mged/ese-top.ps
|
||||
mged/ese-tr.ps
|
||||
mged/ese-xrot.ps
|
||||
mged/ese-yrot.ps
|
||||
mged/ese-zrot.ps
|
||||
mged/est-scale.ps
|
||||
mged/est-sed.ps
|
||||
mged/est-sr1.ps
|
||||
mged/est-sr2.ps
|
||||
mged/est-top.ps
|
||||
mged/est-tr.ps
|
||||
mged/est-xrot.ps
|
||||
mged/est-yrot.ps
|
||||
mged/est-zrot.ps
|
||||
mged/ex.arb4.ps
|
||||
mged/ex.arb8.ps
|
||||
mged/ex.box.ps
|
||||
mged/ex.ellg.ps
|
||||
mged/ex.raw.ps
|
||||
mged/ex.rcc.ps
|
||||
mged/ex.rpp.ps
|
||||
mged/ex.sph.ps
|
||||
mged/ex.tor.ps
|
||||
mged/ex.trc.ps
|
||||
mged/f.tex
|
||||
mged/faceplate.ps
|
||||
mged/faceplate1.ps
|
||||
mged/fig-sgi-buttons.ps
|
||||
mged/fig-sgi-knobs.ps
|
||||
mged/fig-sgi.ps
|
||||
mged/fig-vg-buttons.ps
|
||||
mged/fig-vg-knobs.ps
|
||||
mged/g.tex
|
||||
mged/h.tex
|
||||
mged/j.tex
|
||||
mged/k.tex
|
||||
mged/l.tex
|
||||
mged/m.tex
|
||||
mged/menu-arb-ctl.ps
|
||||
mged/menu-arb4-edge.ps
|
||||
mged/menu-arb4-face.ps
|
||||
mged/menu-arb4-rot.ps
|
||||
mged/menu-arb8-edge.ps
|
||||
mged/menu-arb8-face.ps
|
||||
mged/menu-arb8-rot.ps
|
||||
mged/obj-edit.ps
|
||||
mged/obj-path.ps
|
||||
mged/obj-pick.ps
|
||||
mged/ped-ell.ps
|
||||
mged/ped-tgc.ps
|
||||
mged/ped-tor.ps
|
||||
mged/plane-35a.ps
|
||||
mged/plane-35b.ps
|
||||
mged/plane-bot1.ps
|
||||
mged/plane-bot2.ps
|
||||
mged/plane-front1.ps
|
||||
mged/plane-front2.ps
|
||||
mged/plane-right1.ps
|
||||
mged/plane-right2.ps
|
||||
mged/plane-top1.ps
|
||||
mged/plane-top2.ps
|
||||
mged/rmit-3525.ps
|
||||
mged/robot.ps
|
||||
mged/sol-2pick.ps
|
||||
mged/sol-ed.ps
|
||||
mged/sol-pick.ps
|
||||
mged/t1-2s-pk.ps
|
||||
mged/t1-obj-ed.ps
|
||||
mged/t1-obj-ph.ps
|
||||
mged/t1-obj-pk.ps
|
||||
mged/t1-rot-vw.ps
|
||||
mged/t1-sol-ed.ps
|
||||
mged/t1-sol-pk.ps
|
||||
mged/t1-top-vw.ps
|
||||
mged/t1.tex
|
||||
mged/test.tex
|
||||
mged/v-arb8-side.ps
|
||||
mged/v-arb8-top.ps
|
||||
mged/wm-arm1.ps
|
||||
mged/wm-arm2.ps
|
||||
mged/wm-body.ps
|
||||
mged/wm-collar.ps
|
||||
mged/wm-final1.ps
|
||||
mged/wm-hat-E.ps
|
||||
mged/wm-hat1.ps
|
||||
mged/wm-hat2.ps
|
||||
mged/wm-hat3.ps
|
||||
mged/wm-head.ps
|
||||
mged/wm-leg1.ps
|
||||
mged/wm-prims.ps
|
||||
mged/wm-tube.ps
|
||||
mk.tr
|
||||
movie.txt
|
||||
old-mged.tr
|
||||
pkg.tr
|
||||
regions.txt
|
||||
rounding.txt
|
||||
sun.txt
|
||||
tube.txt
|
||||
tool_categories.txt
|
||||
)
|
||||
BRLCAD_ADDDATA(documentation_DATA doc)
|
||||
|
||||
set(documentation_mged_old_DATA
|
||||
mged/a.tex
|
||||
mged/adc.ps
|
||||
mged/all.tex
|
||||
mged/axis-3525.ps
|
||||
mged/b.tex
|
||||
mged/buttonmenu.ps
|
||||
mged/c.tex
|
||||
mged/coord-axes.ps
|
||||
mged/crod-close.ps
|
||||
mged/crod.ps
|
||||
mged/d.tex
|
||||
mged/doit
|
||||
mged/e.tex
|
||||
mged/eo-arbrot.ps
|
||||
mged/eo-bgrp.ps
|
||||
mged/eo-bgrp311.ps
|
||||
mged/eo-cgrp.ps
|
||||
mged/eo-cgrp321.ps
|
||||
mged/eo-ellg.ps
|
||||
mged/eo-ellg2x.ps
|
||||
mged/eo-ellgxyz.ps
|
||||
mged/eo-gredit.ps
|
||||
mged/eo-grpath.ps
|
||||
mged/eo-scale.ps
|
||||
mged/eo-spread.ps
|
||||
mged/eo-stacked.ps
|
||||
mged/eo-start.ps
|
||||
mged/eo-tor111.ps
|
||||
mged/eo-xymove.ps
|
||||
mged/eo-xyzmove.ps
|
||||
mged/es5-edge1.ps
|
||||
mged/es5-edge2.ps
|
||||
mged/es5-edge3.ps
|
||||
mged/es5-edge4.ps
|
||||
mged/es5-rot.ps
|
||||
mged/es5-scale.ps
|
||||
mged/es5-sed.ps
|
||||
mged/es5-top.ps
|
||||
mged/es5-tr.ps
|
||||
mged/es5-xrot.ps
|
||||
mged/es8-edge1.ps
|
||||
mged/es8-edge2.ps
|
||||
mged/es8-edge3.ps
|
||||
mged/es8-ex1.ps
|
||||
mged/es8-ex2.ps
|
||||
mged/es8-rot.ps
|
||||
mged/es8-scale.ps
|
||||
mged/es8-sed.ps
|
||||
mged/es8-top.ps
|
||||
mged/es8-tr0.ps
|
||||
mged/es8-xrot.ps
|
||||
mged/es8-yrot.ps
|
||||
mged/es8-zrot.ps
|
||||
mged/esc-mh.ps
|
||||
mged/esc-mhrt.ps
|
||||
mged/esc-rot.ps
|
||||
mged/esc-sa.ps
|
||||
mged/esc-sb.ps
|
||||
mged/esc-sc.ps
|
||||
mged/esc-scale.ps
|
||||
mged/esc-sd.ps
|
||||
mged/esc-sed.ps
|
||||
mged/esc-sh.ps
|
||||
mged/esc-top.ps
|
||||
mged/esc-tr.ps
|
||||
mged/esc-xrot.ps
|
||||
mged/esc-yrot.ps
|
||||
mged/esc-zrot.ps
|
||||
mged/ese-sa.ps
|
||||
mged/ese-sb.ps
|
||||
mged/ese-sc.ps
|
||||
mged/ese-scale.ps
|
||||
mged/ese-sed.ps
|
||||
mged/ese-top.ps
|
||||
mged/ese-tr.ps
|
||||
mged/ese-xrot.ps
|
||||
mged/ese-yrot.ps
|
||||
mged/ese-zrot.ps
|
||||
mged/est-scale.ps
|
||||
mged/est-sed.ps
|
||||
mged/est-sr1.ps
|
||||
mged/est-sr2.ps
|
||||
mged/est-top.ps
|
||||
mged/est-tr.ps
|
||||
mged/est-xrot.ps
|
||||
mged/est-yrot.ps
|
||||
mged/est-zrot.ps
|
||||
mged/ex.arb4.ps
|
||||
mged/ex.arb8.ps
|
||||
mged/ex.box.ps
|
||||
mged/ex.ellg.ps
|
||||
mged/ex.raw.ps
|
||||
mged/ex.rcc.ps
|
||||
mged/ex.rpp.ps
|
||||
mged/ex.sph.ps
|
||||
mged/ex.tor.ps
|
||||
mged/ex.trc.ps
|
||||
mged/f.tex
|
||||
mged/faceplate.ps
|
||||
mged/faceplate1.ps
|
||||
mged/fig-sgi-buttons.ps
|
||||
mged/fig-sgi-knobs.ps
|
||||
mged/fig-sgi.ps
|
||||
mged/fig-vg-buttons.ps
|
||||
mged/fig-vg-knobs.ps
|
||||
mged/g.tex
|
||||
mged/h.tex
|
||||
mged/j.tex
|
||||
mged/k.tex
|
||||
mged/l.tex
|
||||
mged/m.tex
|
||||
mged/menu-arb-ctl.ps
|
||||
mged/menu-arb4-edge.ps
|
||||
mged/menu-arb4-face.ps
|
||||
mged/menu-arb4-rot.ps
|
||||
mged/menu-arb8-edge.ps
|
||||
mged/menu-arb8-face.ps
|
||||
mged/menu-arb8-rot.ps
|
||||
mged/obj-edit.ps
|
||||
mged/obj-path.ps
|
||||
mged/obj-pick.ps
|
||||
mged/ped-ell.ps
|
||||
mged/ped-tgc.ps
|
||||
mged/ped-tor.ps
|
||||
mged/plane-35a.ps
|
||||
mged/plane-35b.ps
|
||||
mged/plane-bot1.ps
|
||||
mged/plane-bot2.ps
|
||||
mged/plane-front1.ps
|
||||
mged/plane-front2.ps
|
||||
mged/plane-right1.ps
|
||||
mged/plane-right2.ps
|
||||
mged/plane-top1.ps
|
||||
mged/plane-top2.ps
|
||||
mged/rmit-3525.ps
|
||||
mged/robot.ps
|
||||
mged/sol-2pick.ps
|
||||
mged/sol-ed.ps
|
||||
mged/sol-pick.ps
|
||||
mged/t1-2s-pk.ps
|
||||
mged/t1-obj-ed.ps
|
||||
mged/t1-obj-ph.ps
|
||||
mged/t1-obj-pk.ps
|
||||
mged/t1-rot-vw.ps
|
||||
mged/t1-sol-ed.ps
|
||||
mged/t1-sol-pk.ps
|
||||
mged/t1-top-vw.ps
|
||||
mged/t1.tex
|
||||
mged/test.tex
|
||||
mged/v-arb8-side.ps
|
||||
mged/v-arb8-top.ps
|
||||
mged/wm-arm1.ps
|
||||
mged/wm-arm2.ps
|
||||
mged/wm-body.ps
|
||||
mged/wm-collar.ps
|
||||
mged/wm-final1.ps
|
||||
mged/wm-hat-E.ps
|
||||
mged/wm-hat1.ps
|
||||
mged/wm-hat2.ps
|
||||
mged/wm-hat3.ps
|
||||
mged/wm-head.ps
|
||||
mged/wm-leg1.ps
|
||||
mged/wm-prims.ps
|
||||
mged/wm-tube.ps
|
||||
mk.tr
|
||||
movie.txt
|
||||
old-mged.tr
|
||||
pkg.tr
|
||||
regions.txt
|
||||
rounding.txt
|
||||
sun.txt
|
||||
tube.txt
|
||||
tool_categories.txt
|
||||
ecosystem.dot
|
||||
)
|
||||
ADD_DOC(documentation_mged_old_DATA mged_old)
|
||||
SET(doc_MANS
|
||||
bw.5
|
||||
cmap.5
|
||||
pix.5
|
||||
plot3.5
|
||||
)
|
||||
ADD_MAN_PAGES(5 doc_MANS)
|
||||
|
||||
configure_file(pad_file.xml.in ${CMAKE_CURRENT_BINARY_DIR}/pad_file.xml @ONLY)
|
||||
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/pad_file.xml DESTINATION ${DOC_DIR})
|
||||
CONFIGURE_FILE(pad_file.xml.in ${CMAKE_CURRENT_BINARY_DIR}/pad_file.xml @ONLY)
|
||||
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/pad_file.xml DESTINATION ${${CMAKE_PROJECT_NAME}_INSTALL_DATA_DIR}/doc)
|
||||
|
||||
CMAKEFILES(
|
||||
README.OSCON-2014
|
||||
STARTERS
|
||||
burst
|
||||
csv_to_comgeom.txt
|
||||
implicit_constraints.txt
|
||||
pad_file.xml.in
|
||||
)
|
||||
|
||||
# Local Variables:
|
||||
# tab-width: 8
|
||||
# mode: cmake
|
||||
# indent-tabs-mode: t
|
||||
# End:
|
||||
# ex: shiftwidth=2 tabstop=8
|
||||
CMAKEFILES(pad_file.xml.in STARTERS)
|
||||
|
||||
+236
@@ -0,0 +1,236 @@
|
||||
|
||||
if BUILD_DOCS
|
||||
DOCBOOK_DIR = docbook
|
||||
else
|
||||
DOCBOOK_DIR =
|
||||
endif
|
||||
|
||||
SUBDIRS = \
|
||||
${DOCBOOK_DIR} \
|
||||
html \
|
||||
legal
|
||||
|
||||
DIST_SUBDIRS = \
|
||||
docbook \
|
||||
html \
|
||||
legal
|
||||
|
||||
documentationdir = $(BRLCAD_DATA)/doc
|
||||
|
||||
documentation_DATA = \
|
||||
IDEAS \
|
||||
PROJECTS \
|
||||
README.AIX \
|
||||
README.BSD \
|
||||
README.IRIX \
|
||||
README.Linux \
|
||||
README.MacOSX \
|
||||
README.Solaris \
|
||||
README.VAX \
|
||||
README.Windows \
|
||||
TODO.BREP \
|
||||
anim.txt \
|
||||
archer_ack.txt \
|
||||
benchmark.tr \
|
||||
brep.txt \
|
||||
BRL-CAD.bib\
|
||||
cvs.txt \
|
||||
description.txt \
|
||||
deprecation.txt \
|
||||
ged.tr \
|
||||
history.txt \
|
||||
hypot.txt \
|
||||
irprep.tr \
|
||||
mater.txt \
|
||||
matrix.txt \
|
||||
mged/a.tex \
|
||||
mged/adc.ps \
|
||||
mged/all.tex \
|
||||
mged/axis-3525.ps \
|
||||
mged/b.tex \
|
||||
mged/buttonmenu.ps \
|
||||
mged/c.tex \
|
||||
mged/coord-axes.ps \
|
||||
mged/crod-close.ps \
|
||||
mged/crod.ps \
|
||||
mged/d.tex \
|
||||
mged/doit \
|
||||
mged/e.tex \
|
||||
mged/eo-arbrot.ps \
|
||||
mged/eo-bgrp.ps \
|
||||
mged/eo-bgrp311.ps \
|
||||
mged/eo-cgrp.ps \
|
||||
mged/eo-cgrp321.ps \
|
||||
mged/eo-ellg.ps \
|
||||
mged/eo-ellg2x.ps \
|
||||
mged/eo-ellgxyz.ps \
|
||||
mged/eo-gredit.ps \
|
||||
mged/eo-grpath.ps \
|
||||
mged/eo-scale.ps \
|
||||
mged/eo-spread.ps \
|
||||
mged/eo-stacked.ps \
|
||||
mged/eo-start.ps \
|
||||
mged/eo-tor111.ps \
|
||||
mged/eo-xymove.ps \
|
||||
mged/eo-xyzmove.ps \
|
||||
mged/es5-edge1.ps \
|
||||
mged/es5-edge2.ps \
|
||||
mged/es5-edge3.ps \
|
||||
mged/es5-edge4.ps \
|
||||
mged/es5-rot.ps \
|
||||
mged/es5-scale.ps \
|
||||
mged/es5-sed.ps \
|
||||
mged/es5-top.ps \
|
||||
mged/es5-tr.ps \
|
||||
mged/es5-xrot.ps \
|
||||
mged/es8-edge1.ps \
|
||||
mged/es8-edge2.ps \
|
||||
mged/es8-edge3.ps \
|
||||
mged/es8-ex1.ps \
|
||||
mged/es8-ex2.ps \
|
||||
mged/es8-rot.ps \
|
||||
mged/es8-scale.ps \
|
||||
mged/es8-sed.ps \
|
||||
mged/es8-top.ps \
|
||||
mged/es8-tr0.ps \
|
||||
mged/es8-xrot.ps \
|
||||
mged/es8-yrot.ps \
|
||||
mged/es8-zrot.ps \
|
||||
mged/esc-mh.ps \
|
||||
mged/esc-mhrt.ps \
|
||||
mged/esc-rot.ps \
|
||||
mged/esc-sa.ps \
|
||||
mged/esc-sb.ps \
|
||||
mged/esc-sc.ps \
|
||||
mged/esc-scale.ps \
|
||||
mged/esc-sd.ps \
|
||||
mged/esc-sed.ps \
|
||||
mged/esc-sh.ps \
|
||||
mged/esc-top.ps \
|
||||
mged/esc-tr.ps \
|
||||
mged/esc-xrot.ps \
|
||||
mged/esc-yrot.ps \
|
||||
mged/esc-zrot.ps \
|
||||
mged/ese-sa.ps \
|
||||
mged/ese-sb.ps \
|
||||
mged/ese-sc.ps \
|
||||
mged/ese-scale.ps \
|
||||
mged/ese-sed.ps \
|
||||
mged/ese-top.ps \
|
||||
mged/ese-tr.ps \
|
||||
mged/ese-xrot.ps \
|
||||
mged/ese-yrot.ps \
|
||||
mged/ese-zrot.ps \
|
||||
mged/est-scale.ps \
|
||||
mged/est-sed.ps \
|
||||
mged/est-sr1.ps \
|
||||
mged/est-sr2.ps \
|
||||
mged/est-top.ps \
|
||||
mged/est-tr.ps \
|
||||
mged/est-xrot.ps \
|
||||
mged/est-yrot.ps \
|
||||
mged/est-zrot.ps \
|
||||
mged/ex.arb4.ps \
|
||||
mged/ex.arb8.ps \
|
||||
mged/ex.box.ps \
|
||||
mged/ex.ellg.ps \
|
||||
mged/ex.raw.ps \
|
||||
mged/ex.rcc.ps \
|
||||
mged/ex.rpp.ps \
|
||||
mged/ex.sph.ps \
|
||||
mged/ex.tor.ps \
|
||||
mged/ex.trc.ps \
|
||||
mged/f.tex \
|
||||
mged/faceplate.ps \
|
||||
mged/faceplate1.ps \
|
||||
mged/fig-sgi-buttons.ps \
|
||||
mged/fig-sgi-knobs.ps \
|
||||
mged/fig-sgi.ps \
|
||||
mged/fig-vg-buttons.ps \
|
||||
mged/fig-vg-knobs.ps \
|
||||
mged/g.tex \
|
||||
mged/h.tex \
|
||||
mged/j.tex \
|
||||
mged/k.tex \
|
||||
mged/l.tex \
|
||||
mged/m.tex \
|
||||
mged/menu-arb-ctl.ps \
|
||||
mged/menu-arb4-edge.ps \
|
||||
mged/menu-arb4-face.ps \
|
||||
mged/menu-arb4-rot.ps \
|
||||
mged/menu-arb8-edge.ps \
|
||||
mged/menu-arb8-face.ps \
|
||||
mged/menu-arb8-rot.ps \
|
||||
mged/obj-edit.ps \
|
||||
mged/obj-path.ps \
|
||||
mged/obj-pick.ps \
|
||||
mged/ped-ell.ps \
|
||||
mged/ped-tgc.ps \
|
||||
mged/ped-tor.ps \
|
||||
mged/plane-35a.ps \
|
||||
mged/plane-35b.ps \
|
||||
mged/plane-bot1.ps \
|
||||
mged/plane-bot2.ps \
|
||||
mged/plane-front1.ps \
|
||||
mged/plane-front2.ps \
|
||||
mged/plane-right1.ps \
|
||||
mged/plane-right2.ps \
|
||||
mged/plane-top1.ps \
|
||||
mged/plane-top2.ps \
|
||||
mged/rmit-3525.ps \
|
||||
mged/robot.ps \
|
||||
mged/sol-2pick.ps \
|
||||
mged/sol-ed.ps \
|
||||
mged/sol-pick.ps \
|
||||
mged/t1-2s-pk.ps \
|
||||
mged/t1-obj-ed.ps \
|
||||
mged/t1-obj-ph.ps \
|
||||
mged/t1-obj-pk.ps \
|
||||
mged/t1-rot-vw.ps \
|
||||
mged/t1-sol-ed.ps \
|
||||
mged/t1-sol-pk.ps \
|
||||
mged/t1-top-vw.ps \
|
||||
mged/t1.tex \
|
||||
mged/test.tex \
|
||||
mged/v-arb8-side.ps \
|
||||
mged/v-arb8-top.ps \
|
||||
mged/wm-arm1.ps \
|
||||
mged/wm-arm2.ps \
|
||||
mged/wm-body.ps \
|
||||
mged/wm-collar.ps \
|
||||
mged/wm-final1.ps \
|
||||
mged/wm-hat-E.ps \
|
||||
mged/wm-hat1.ps \
|
||||
mged/wm-hat2.ps \
|
||||
mged/wm-hat3.ps \
|
||||
mged/wm-head.ps \
|
||||
mged/wm-leg1.ps \
|
||||
mged/wm-prims.ps \
|
||||
mged/wm-tube.ps \
|
||||
mk.tr \
|
||||
movie.txt \
|
||||
old-mged.tr \
|
||||
pad_file.xml \
|
||||
pkg.tr \
|
||||
regions.txt \
|
||||
rounding.txt \
|
||||
sun.txt \
|
||||
tube.txt \
|
||||
tool_categories.txt
|
||||
|
||||
man_MANS = \
|
||||
bw.5 \
|
||||
cmap.5 \
|
||||
pix.5 \
|
||||
plot3.5
|
||||
|
||||
EXTRA_DIST = \
|
||||
$(documentation_DATA) \
|
||||
$(man_MANS) \
|
||||
STARTERS \
|
||||
pad_file.xml.in
|
||||
|
||||
DISTCLEANFILES = \
|
||||
pad_file.xml
|
||||
|
||||
include $(top_srcdir)/misc/Makefile.defs
|
||||
+133
-111
@@ -4,25 +4,65 @@ BRL-CAD Common Projects
|
||||
BRL-CAD is comprised of several projects that have specific
|
||||
distinguishing qualities of utility that make them interesting
|
||||
STAND-ALONE projects applicable to a generally WIDE AUDIENCE of users.
|
||||
These projects are described below:
|
||||
In some cases, these projects may be independently maintained and are
|
||||
sometimes even independently distributed. In general, each of these
|
||||
common projects could exist solely as an independent project but they
|
||||
are included with BRL-CAD as part of the collective solid modeling and
|
||||
processing toolset. These projects are described below:
|
||||
|
||||
= Basic Utility and Numerics Libraries (BU+BN) =
|
||||
Geometry Modeling Kernel
|
||||
When combined together, several of the core libraries form
|
||||
BRL-CAD's geometry modeling kernel. This modeling kernel provides
|
||||
fundamental geometric representation, ray-trace analysis, and
|
||||
geometric processing capabilities via a high-performance procedural C
|
||||
API designed for multithreaded processing and fast ray-intersection
|
||||
evaluation. The geometry engine directly supports the representation
|
||||
and evaluation of implicit and explicit form primitive objects
|
||||
including arbitrary polyhedron, toroids, generalized conics,
|
||||
ellipsoids, NURBS, meshes, parabolics, hyperbolics, and more. Also
|
||||
supported are Constructive Solid Geometry (CSG) expressions, boundary
|
||||
representation (BREP) objects, 2D sketches, 3D extrusions, height
|
||||
fields, pipe/cabling construction, and more. The geometry modeling
|
||||
kernel is comprised of libbu, libbn, librt, libwdb, liboptical,
|
||||
libmultispectral, and the ray-trace interface application back-end.
|
||||
|
||||
BRL-CAD's LIBBU and LIBBN libraries provide an extensive set of
|
||||
fundamental general routines that form a common simple API for
|
||||
cross-platform application development. Some routines are
|
||||
unparalleled in terms of portability, performance, or simplicity.
|
||||
Others are more common and undeniably commonplace with alternatives
|
||||
such as the Apache Portable Runtime (APR). As a collective API, they
|
||||
form a solid basis for application development and would probably do
|
||||
very well in most academic contexts with proper documentation and
|
||||
examples to follow.
|
||||
Network Package Library
|
||||
The libpkg Network Package Library (PKG) interface implements
|
||||
a client-server network connection that multiplexes synchronous and
|
||||
asynchronous messages across stream connections. PKG provides a
|
||||
simple interface for managing client/server connections in a
|
||||
distributed environment, providing a non-blocking interface that
|
||||
accepts arbitrary data messages of arbitrary length.
|
||||
|
||||
= Benchmark Suite =
|
||||
MGED
|
||||
The Multiple-device Geometry EDitor (MGED) is an interactive
|
||||
solid modeler that provides a graphical user interface as well as a
|
||||
robust text-based command interface. MGED heavily utilizes
|
||||
Constructive Solid Geometry (CSG) solid modeling techniques for
|
||||
geometric construction and supports various display manager interfaces
|
||||
for extensive cross-platform support.
|
||||
|
||||
The BRL-CAD Benchmark Suite is a system performance analysis benchmark
|
||||
that tests the performance of a given system's CPU, memory, cache
|
||||
coherency, kernel context switching, and compiler optimization
|
||||
Archer
|
||||
Containing the majority of the command functionality provided
|
||||
by MGED, Archer is a new GUI-based solid model viewer and editing
|
||||
tool. Archer is based on MGED in many respects while providing an
|
||||
improved GUI.
|
||||
|
||||
ADRT
|
||||
The Advanced Distributed Ray-Tracer (ADRT) includes a high
|
||||
performance triangle intersection engine (libtie), a real-time
|
||||
ray-tracer (ISST), and a path-tracer for realistic image synthesis
|
||||
(RISE). ADRT deals only with a triangle mesh representation,
|
||||
providing a high-performance triangle-ray evaluation engine that
|
||||
leverages much computer graphics research on maintaining ray coherency
|
||||
and fast KD-Tree traversal. In all, the system is capable of
|
||||
evaluation several million rays per second allowing for real-time
|
||||
interactive ray-tracing of faceted models.
|
||||
|
||||
Benchmark Suite
|
||||
The BRL-CAD Benchmark Suite is a system performance analysis
|
||||
benchmark that tests the performance of a given system's CPU, memory,
|
||||
cache coherency, kernel context switching, and compiler optimization
|
||||
capabilities. The benchmark provides a linearly comparable metric of
|
||||
overall system performance that may be used to quantitatively evaluate
|
||||
the relative performance of a given system, particular compilers,
|
||||
@@ -31,111 +71,93 @@ performance test is based on a real-world CPU intensive application of
|
||||
ray-tracing, providing a reliable metric of actual system performance
|
||||
that may be compared across more than two decades of computing.
|
||||
|
||||
= Geometry Conversion (GCV) =
|
||||
Image Processing Tools
|
||||
There are many image converters (e.g. pix-*, bw-*, *-pix,
|
||||
*-bw, pix*, bw*), image processing, and image manipulation tools in
|
||||
the package that provide basic image management. The processing tools
|
||||
support several common formats including PNG, RLE, PPM, PS, and SUN
|
||||
images as well as a variety of image processing tools that work on raw
|
||||
image data.
|
||||
|
||||
Included are a variety of importers and exporters for various geometry
|
||||
file formats (e.g. g-* and *-g). Exporters include DXF, EUCLID, NFF,
|
||||
OBJ, STL, TANKILL, VRML, X3D, and OpenGL vertex array buffers.
|
||||
Importers include CY, DXF, ENF, EUCLID, FAST4, NASTRAN, PLY, STL,
|
||||
TANKILL, and VIEWPOINT. BRL-CAD also provides a Unigraphics/NX
|
||||
exporter application as well as a Pro/Engineer export plug-in. This
|
||||
includes LIBGCV.
|
||||
|
||||
= Image Conversion (ICV) =
|
||||
|
||||
There are many image converters (e.g. pix-*, bw-*, *-pix, *-bw, pix*,
|
||||
bw*), image processing, and image manipulation tools in the package
|
||||
that provide basic image management. The processing tools support
|
||||
several common formats including PNG, RLE, PPM, PS, and SUN images as
|
||||
well as a variety of image processing tools that work on raw image
|
||||
data. This includes LIBICV.
|
||||
|
||||
There are a variety of signal processing utilities (e.g. *mod, ifft,
|
||||
dfft, s-i, i-d, cv, wavelet) in the package that categorically
|
||||
Signal processing
|
||||
There are a variety of signal processing utilities (e.g. *mod,
|
||||
ifft, dfft, s-i, i-d, cv, wavelet) in the package that categorically
|
||||
manipulate raw data streams according to specified criteria. These
|
||||
manipulations include data conversion and filtering capabilities as
|
||||
well as various transformations including discrete and non-discrete
|
||||
Fast Fourier transforms (FFT) and wavelet decomposition. It may make
|
||||
sense to merge this capability into ICV.
|
||||
Fast Fourier transforms (FFT) and wavelet decomposition.
|
||||
|
||||
= Network Package Library =
|
||||
Geometry converters
|
||||
Included are a variety of importers and exporters for various
|
||||
geometry file formats (e.g. g-* and *-g). Exporters include DXF,
|
||||
EUCLID, NFF, OBJ, STL, TANKILL, VRML, X3D, and OpenGL vertex array
|
||||
buffers. Importers include CY, DXF, ENF, EUCLID, FAST4, NASTRAN, PLY,
|
||||
STL, TANKILL, and VIEWPOINT. BRL-CAD also provides a Unigraphics/NX
|
||||
exporter application as well as a Pro/Engineer export plug-in.
|
||||
|
||||
The libpkg Network Package Library (PKG) interface implements a
|
||||
client-server network connection that multiplexes synchronous and
|
||||
asynchronous messages across stream connections. PKG provides a
|
||||
simple interface for managing client/server connections in a
|
||||
distributed environment, providing a non-blocking interface that
|
||||
accepts arbitrary data messages of arbitrary length.
|
||||
Raytracers
|
||||
Included are a variety of ray-tracers for analyzing geometry
|
||||
for either visualization or geometric purposes. This includes the
|
||||
"rt" ray-tracer, the "rtedge" and "rthide" hidden-line edge
|
||||
ray-tracers, "rtarea" for computing exposed and presented surface
|
||||
areas, "rtshot" for single-query ray analysis, the "rtxray" X-Ray
|
||||
transport ray-tracer, the "nirt" interactive ray-evaluation
|
||||
ray-tracer, the "lgt" interactive shaded image ray-tracer, as well as
|
||||
"rtweight" and "g_qa" for computing mass, volume,
|
||||
overlaps/interferences, and more.
|
||||
|
||||
= ttcp =
|
||||
ttcp
|
||||
The "Test Transmission Control Protocol" tool is a network
|
||||
throughput performance benchmark tool used to evaluate the performance
|
||||
of TCP and UDP network connections. TTCP may also be used as an
|
||||
excellent tool for bootstrapping hosts onto the network by forming a
|
||||
communication pipe between two machines. This communication pipe may
|
||||
be used to transfer files to a remote system that does not otherwise
|
||||
have a means available to receive files as well as for the evaluation
|
||||
of raw throughput performance of the network connection between the
|
||||
two systems. TTCP includes support for sourcing to/from memory,
|
||||
variable packet sizes, and loading metrics. TTCP is described as a
|
||||
standard testing tool for TCP implementors via Network Working Group
|
||||
RFC 2398.
|
||||
|
||||
The "Test Transmission Control Protocol" tool is a network throughput
|
||||
performance benchmark tool used to evaluate the performance of TCP and
|
||||
UDP network connections. TTCP may also be used as an excellent tool
|
||||
for bootstrapping hosts onto the network by forming a communication
|
||||
pipe between two machines. This communication pipe may be used to
|
||||
transfer files to a remote system that does not otherwise have a means
|
||||
available to receive files as well as for the evaluation of raw
|
||||
throughput performance of the network connection between the two
|
||||
systems. TTCP includes support for sourcing to/from memory, variable
|
||||
packet sizes, and loading metrics. TTCP is described as a standard
|
||||
testing tool for TCP implementers via Network Working Group RFC 2398.
|
||||
JOVE
|
||||
"Jonathan's Own Version [of] Emacs" (JOVE) is a simple
|
||||
lightweight Emacs-like text editor. JOVE provides common Emacs
|
||||
keyboard bindings as well as an assortment of useful editing features
|
||||
including interactive shell windows and language-specific modes while
|
||||
using minimal CPU, memory, and disk requirements comparable to the vi
|
||||
editor.
|
||||
|
||||
= Geometry Modeling Kernel =
|
||||
autogen.sh
|
||||
Part of the build system, autogen.sh is a bootstrap script
|
||||
that effectively implements the majority of autoreconf in POSIX shell
|
||||
script format while accounting for a variety of common system
|
||||
configuration issues, common project configuration issues, and common
|
||||
GNU Build System (GBS, i.e. autoconf, automake, and libtool) bugs.
|
||||
The autogen.sh bootstrap script automatically works around many of
|
||||
those common issues for the user and/or reports the problems in what
|
||||
is generally a considerably more human-readable form than that
|
||||
normally provided by the GBS toolset output. Additionally, the script
|
||||
will ensure that users have minimum and consistent versions of the GBS
|
||||
tools installed.
|
||||
|
||||
This product does not yet exist but is a long term goal. It's
|
||||
basically several of the core libraries form BRL-CAD's geometry
|
||||
modeling kernel including the present libbu, libbn, librt, libwdb,
|
||||
liboptical, libmultispectral, and the ray-trace interface application
|
||||
back-end.
|
||||
Example Geometry
|
||||
BRL-CAD geometry database files are platform independent files
|
||||
that are used to store solid geometry models. There are several
|
||||
example database models that have been made openly available (db/*.g)
|
||||
that cover a wide range of example solid model geometry including
|
||||
basic parts, buildings, procedural geometry, and military vehicles.
|
||||
|
||||
This modeling kernel provides fundamental geometric representation,
|
||||
ray-trace analysis, and geometric processing capabilities via a
|
||||
high-performance procedural C API designed for multithreaded
|
||||
processing and fast ray-intersection evaluation.
|
||||
|
||||
The geometry kernel directly supports the representation and
|
||||
evaluation of implicit and explicit form primitive objects including
|
||||
arbitrary polyhedron, toroids, generalized conics, ellipsoids, NURBS,
|
||||
meshes, parabolics, hyperbolics, and more. Also supported are
|
||||
Constructive Solid Geometry (CSG) expressions, boundary representation
|
||||
(BREP) objects, 2D sketches, 3D extrusions, height fields,
|
||||
pipe/cabling construction, and more.
|
||||
|
||||
= Geometry Engine =
|
||||
|
||||
This is a C++ geometry kernel API. This product is intentionally in a
|
||||
separate repository so that it's conceptually and technically
|
||||
implemented on top of BRL-CAD's core libraries. The design intent is
|
||||
similar to the ACIS, Granite, and Parasolid geometry modeling APIs.
|
||||
|
||||
= Geometry Service =
|
||||
|
||||
This is a geometry management network service. It's a geometry server
|
||||
with a socket protocol interface that provides user access controls,
|
||||
versioning, and edit history tracking. At it's core, application
|
||||
developers connect to the service for storing and obtaining geometry.
|
||||
The service supports an extended set of geometry queries. This
|
||||
product is similar in design to other network/socket services such as
|
||||
Apache and MySQL.
|
||||
|
||||
= Example Geometry =
|
||||
|
||||
BRL-CAD geometry database files are platform independent files that
|
||||
are used to store solid geometry models. There are several example
|
||||
database models that have been made openly available (db/*.g) that
|
||||
cover a wide range of example solid model geometry including basic
|
||||
parts, buildings, procedural geometry, and military vehicles.
|
||||
|
||||
= Documentation =
|
||||
|
||||
Over the years, extensive documentation has been written for BRL-CAD
|
||||
including many manual pages, quick reference sheets, and a detailed
|
||||
tutorial series. The tutorial series covers an introduction to the
|
||||
package, details on the modeling philosophies, an introduction to the
|
||||
MGED solid modeler, a more advanced geometry modeling techniques
|
||||
guide, and provides principles of effective modeling. The tutorials
|
||||
take a user through many guided exercises that build upon each other
|
||||
working towards more complex exercise examples the show some of the
|
||||
basic modeling and processing capabilities possible.
|
||||
Documentation
|
||||
Over the years, extensive documentation has been written for
|
||||
BRL-CAD including many manual pages, quick reference sheets, and a
|
||||
detailed tutorial series. The tutorial series covers an introduction
|
||||
to the package, details on the modeling philosophies, an introduction
|
||||
to the MGED solid modeler, a more advanced geometry modeling
|
||||
techniques guide, and provides principles of effective modeling. The
|
||||
tutorials take a user through many guided exercises that build upon
|
||||
each other working towards more complex exercise examples the show
|
||||
some of the basic modeling and processing capabilities possible.
|
||||
|
||||
Image Conversion Library
|
||||
Does not currently exist.
|
||||
|
||||
+1
-9
@@ -1,14 +1,6 @@
|
||||
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
|
||||
@@ -24,7 +16,7 @@ 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
|
||||
Using the "extended" complaince 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
|
||||
|
||||
+22
-10
@@ -1,16 +1,28 @@
|
||||
BRL-CAD on BSD README
|
||||
=====================
|
||||
|
||||
BRL-CAD is frequently compiled under various variants of
|
||||
BSD including FreeBSD, NetBSD, OpenBSD, and even the original
|
||||
4.3 BSD (though now rare) - FreeBSD is the most common BSD
|
||||
platform tested, not counting Mac OSX. See the README.VAX
|
||||
document for additional details that pertain to building
|
||||
BRL-CAD on a VAX running BSD.
|
||||
Included below are details on building under one of the various BSD
|
||||
variants. BRL-CAD is continuously compiled under various variants of
|
||||
BSD including FreeBSD, NetBSD, OpenBSD, Darwin, and even the original
|
||||
4.3 BSD (though now rare). See the README.VAX document for additional
|
||||
details that pertain to building BRL-CAD on a VAX running BSD.
|
||||
|
||||
CMake binaries for *BSD operating systems are not distributed
|
||||
by Kitware, but should be available through standard *BSD
|
||||
packaging mechanisms. Failing that, CMake can be bootstrapped
|
||||
without much difficulty on most modern Unix-style platforms.
|
||||
The only compilation issue worth noting, is that newer versions of
|
||||
libtool have a bug where they do not install the .la files causing
|
||||
libtool to report warnings. Examples of such messages in the output
|
||||
during install include:
|
||||
|
||||
libtool: install: warning: `../../src/libfb/libfb.la' has not been installed in `/usr/brlcad/lib'
|
||||
libtool: install: warning: `../../src/libbu/libbu.la' has not been installed in `/usr/brlcad/lib'
|
||||
|
||||
Those warnings are not cause for concern. A simple workaround to
|
||||
quell the warnings is to manually copy/install all the .la files in
|
||||
one step to the install library directory before performing the final
|
||||
'sudo make install' step:
|
||||
|
||||
find . -name \*.la -exec cp {} /usr/brlcad/lib/. \;
|
||||
|
||||
After that, a 'sudo make install' (or whatever means you use to go
|
||||
root) should work just fine and the warnings should go away.
|
||||
|
||||
BRL-CAD is included in the FreeBSD Ports system.
|
||||
|
||||
+38
-12
@@ -5,19 +5,24 @@ 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.
|
||||
compiler, whereas GCC will compile faster with less fuss. For
|
||||
convenience, here are some example compilation scenarios:
|
||||
|
||||
Kitware provides CMake binaries for IRIX64 platforms:
|
||||
http://www.cmake.org/cmake/resources/software.html
|
||||
For IRIX 32-bit unoptimized /usr/brlcad build:
|
||||
export SGI_ABI=-n32
|
||||
./configure CC=cc
|
||||
|
||||
For IRIX 64-bit unoptimized /usr/brlcad build:
|
||||
export SGI_ABI=-64
|
||||
./configure CC=cc CFLAGS=-64 LDFLAGS=-64 --enable-64bit-build
|
||||
|
||||
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):
|
||||
For IRIX 32-bit optimized production release build:
|
||||
export SGI_ABI=-n32
|
||||
./configure CC=cc --enable-optimized --enable-everything --prefix=/usr/brlcad/rel-MAJOR.MINOR.PATCH/mips32
|
||||
|
||||
PARALLEL=4 make -P
|
||||
For IRIX 64-bit optimized production release build:
|
||||
export SGI_ABI=-64
|
||||
./configure CC=cc CFLAGS=-64 LDFLAGS=-64 --enable-64bit-build --enable-optimized --enable-everything --prefix=/usr/brlcad/rel-MAJOR.MINOR.PATCH/mips64
|
||||
|
||||
|
||||
Potential problems you may encounter
|
||||
@@ -41,11 +46,32 @@ 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).
|
||||
using --enable-optimized (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
|
||||
make CFLAGS="-O0"
|
||||
cd ../..
|
||||
make
|
||||
|
||||
---
|
||||
|
||||
Symptom: Linker reports symbol(s) missing
|
||||
|
||||
Description: Depending on how libraries are set up for compilation,
|
||||
libtool convenience libraries may result in unresolved symbols during
|
||||
compilation. The specific problem is that the .al libtool archive
|
||||
convenience library (not to be confused with usual .la libtool
|
||||
archives) that is listed as a LIBADD inclusion results in having
|
||||
symbols embedded with a .l tag instead of .lo or .o, causing the
|
||||
libtool script to erroneously leave those .l files (that should have
|
||||
been .lo libtool object files) and their associated symbols out of the
|
||||
compilation. (e.g. nmg_rt_isect.l, nurb_reverse.l, and wdb_comb_std.l)
|
||||
|
||||
Workaround: Either rerun autogen.sh so that the libtool wrapper script
|
||||
is rebuilt (being sure to have the latest libtool, automake, and
|
||||
autoconf installed), edit the Makefile.am files so that the
|
||||
convenience library objects files are directly listed on the LIBADD,
|
||||
or compile static (--disable-shared).
|
||||
|
||||
|
||||
|
||||
+28
-62
@@ -6,33 +6,25 @@ Linux distributions.
|
||||
|
||||
Table of Contents
|
||||
-----------------
|
||||
Parallel Builds
|
||||
64-bit Compile
|
||||
32-bit Compile
|
||||
Arch Linux
|
||||
Ubuntu/Debian
|
||||
PPC64 Linux
|
||||
|
||||
Parallel Builds
|
||||
---------------
|
||||
BRL-CAD compilation can take advantage of multiple CPUs. With
|
||||
Make based builds, this is done using the "-j" flag - e.g. a
|
||||
six core machine will build faster using "make -j6" to utilize
|
||||
all cores.
|
||||
|
||||
|
||||
64-bit Compile (on a platform that defaults to 32-bit)
|
||||
--------------
|
||||
|
||||
cmake ../brlcad -DBRLCAD_WORD_SIZE=32BIT
|
||||
rm -rf *cache* # remove any previous configure results
|
||||
./configure --prefix=/usr/brlcad/rel-MAJOR.MINOR.PATCH --enable-all --enable-64bit-build CFLAGS=-m64 CXXFLAGS=-m64 LDFLAGS=-m64
|
||||
|
||||
|
||||
32-bit Compile (on a platform that defaults to 64-bit)
|
||||
--------------
|
||||
|
||||
cmake ../brlcad -DBRLCAD_WORD_SIZE=64BIT
|
||||
|
||||
* Note that in both of the above situations you need both a compiler that
|
||||
works in the alternate mode and system libraries of the correct type.
|
||||
rm -rf *cache* # remove any previous configure results
|
||||
../configure --prefix=/usr/brlcad/rel-MAJOR.MINOR.PATCH --enable-all --disable-64bit-build CFLAGS=-m32 LDFLAGS=-m32 CXXFLAGS=-m32
|
||||
|
||||
|
||||
Arch Linux
|
||||
@@ -40,7 +32,7 @@ Arch Linux
|
||||
|
||||
An example PKGBUILD and needed scripts are provided in misc/archlinux.
|
||||
Review and edit the PKGBUILD to suit your preferred configuration and
|
||||
build situation (e.g. building from a tarball vs building from SVN).
|
||||
build situation (eg. building from a tarball vs building from SVN).
|
||||
Run `makepkg` in that directory to build the package.
|
||||
|
||||
|
||||
@@ -51,72 +43,46 @@ Users of Ubuntu, Debian, and other similar packaging distributions of
|
||||
Linux will need to ensure that a few essentials are in place before
|
||||
you will be able to compile BRL-CAD.
|
||||
|
||||
Following the build instructions in the INSTALL file. You will need:
|
||||
Following the build instructions in the INSTALL file, if you are
|
||||
starting from configure then you will need:
|
||||
|
||||
gcc (3+, e.g. 4.0.3)
|
||||
g++ (3+, e.g. 4.0.3)
|
||||
make (e.g. gnu make 3.8.0)
|
||||
cmake (2.8.3 or newer)
|
||||
|
||||
All three of those have implicit dependencies on other packages.
|
||||
If you are starting from autogen.sh you will need a few additional
|
||||
tools that comprise the GNU Autotool toolset:
|
||||
|
||||
autoconf (2.50+, e.g. 2.59)
|
||||
automake (1.6+, e.g. 1.9)
|
||||
libtool (1.4+, e.g. 1.5)
|
||||
|
||||
All three of those have implicit dependencies on things like m4, perl,
|
||||
cpp, and more.
|
||||
|
||||
If you installed automake version 1.4, you will need to install 1.9
|
||||
and update the alternatives entry for automake so that it refers to
|
||||
version 1.9 and not version 1.4:
|
||||
|
||||
sudo update-alternatives automake /usr/bin/automake-1.9
|
||||
|
||||
You will also want to make sure that you have the X11 development
|
||||
headers installed:
|
||||
|
||||
apt-get install xserver-xorg-dev libx11-dev libxi-dev libxext-dev
|
||||
apt-get install xserver-xorg-dev libx11-dev libxi-dev
|
||||
|
||||
Other development packages needed to build on Debian-based platforms:
|
||||
|
||||
for building the Tcl/Tk libraries: libfontconfig-dev
|
||||
|
||||
for OpenGL: libglu1-mesa-dev
|
||||
|
||||
Note there is a supported Debian package generation script in file
|
||||
'sh/make_deb.sh' which can function only on a Debian or Ubuntu system.
|
||||
It can be used like so:
|
||||
|
||||
$ cd <BRL-CAD source directory>
|
||||
|
||||
# get help for the script:
|
||||
$ ./sh/make_deb.sh
|
||||
|
||||
# create a binary package:
|
||||
$ ./sh/make_deb.sh -b
|
||||
|
||||
You can customize the script's cmake build options by modifying the
|
||||
file 'misc/debian/rules'. Note that the BRL-CAD source directory
|
||||
should be deleted and recreated for each new attempt at package
|
||||
generation.
|
||||
Required: make (>= 3.8.0), bison, flex, xserver-xorg-dev, libx11-dev, libxi-dev
|
||||
Optional: libpng-dev, zlib1g-dev, tcl8.5-dev (>= 8.5), tk8.5-dev (>= 8.5), tcl3-dev, itk3-dev, iwidgets4, blt-dev
|
||||
|
||||
|
||||
Redhat/Fedora
|
||||
-------------
|
||||
|
||||
Development packages needed to build on Redhat/Fedora platforms:
|
||||
|
||||
libXext-devel
|
||||
libXi-devel
|
||||
freetype-devel
|
||||
fontconfig-devel
|
||||
|
||||
|
||||
To determine what particular version of Redhat or Fedora you are
|
||||
using, check these files:
|
||||
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:
|
||||
|
||||
$ cd <BRL-CAD source directory>
|
||||
|
||||
# create an rpm file:
|
||||
$ ./sh/make_rpm.sh
|
||||
|
||||
It is also possible to create an RPM package using CPack with the
|
||||
make package build target, on systems with the proper RPM tools.
|
||||
|
||||
PPC64 Linux
|
||||
-----------
|
||||
|
||||
+33
-40
@@ -11,31 +11,26 @@ Table of Contents
|
||||
-----------------
|
||||
Introduction
|
||||
Table of Contents
|
||||
CMake
|
||||
X11 Window Server
|
||||
Supported Versions
|
||||
Mac OS X 10.2
|
||||
Parallel Builds
|
||||
Bugs
|
||||
|
||||
CMake
|
||||
-----------------
|
||||
Kitware provides Mac OSX compilations of CMake:
|
||||
|
||||
http://www.cmake.org/cmake/resources/software.html
|
||||
|
||||
|
||||
X11 Window Server
|
||||
-----------------
|
||||
You'll need to install an X11 server if you would like to build Tk and
|
||||
have a graphical user interface. Apple's X11 is the recommended X
|
||||
Window Server, but XQuartz should work too and is often newer than the
|
||||
official Apple version: http://xquartz.macosforge.org
|
||||
Window Server, though XDarwin should work suitably as well. Be sure
|
||||
to install the developer headers and libraries from the X11 Software
|
||||
Developers Kit (SDK), which is usually a separate installation
|
||||
package.
|
||||
|
||||
Supported Versions
|
||||
------------------
|
||||
BRL-CAD is generally only "extensively" tested by the developers on
|
||||
the latest released version of Mac OS X. That is to say that
|
||||
the latest released version of Mac OS X only. That is to say that
|
||||
although the BRL-CAD package should build on prior versions of the Mac
|
||||
OS X operating system, they are generally and eventually not
|
||||
maintained and will require additional effort to obtain a build.
|
||||
@@ -43,6 +38,19 @@ Compiling on 10.3 or 10.4 should complete successfully. Due to a
|
||||
variety of significant application programming interface issues in
|
||||
early releases of Mac OS X, versions prior to 10.2 are unsupported.
|
||||
|
||||
Mac OS X 10.2
|
||||
-------------
|
||||
Compiling directly on Mac OS X 10.2 requires additional effort. When
|
||||
compiling from source, a libtool script is generated after running
|
||||
autogen.sh that gets used during compilation. The version of
|
||||
glibtoolize shipped with 10.2 is non-functional with respect to
|
||||
convenience libraries, a feature that BRL-CAD requires. That means
|
||||
that you will need to obtain the generated libtool script from other
|
||||
means. You can either run autogen.sh on a different machine that has
|
||||
a newer version of libtool installed or you can download a source
|
||||
disribution where autogen.sh has already been run for you on a
|
||||
relatively new system.
|
||||
|
||||
Parallel Builds
|
||||
---------------
|
||||
As many workstation and server systems shipped by Apple are
|
||||
@@ -50,40 +58,23 @@ multiprocessor systems, you can enjoy the benefits of decreased
|
||||
compile times by utilizing the "-j" option to make. After running
|
||||
configure, run "make -j2" to build on a 2-processor system.
|
||||
|
||||
Universal Builds
|
||||
----------------
|
||||
Universal Builds and 64-bit Compilation
|
||||
---------------------------------------
|
||||
|
||||
Universal builds have not been fully vetted due to how BRL-CAD
|
||||
serializes data to disk. BRL-CAD's CMake logic is not currently
|
||||
set up to support this type of build, but plans to in the future.
|
||||
serializes data to disk. It is possible to make a universal build,
|
||||
but whether the build behaves correctly has not yet been validated and
|
||||
as such is not recommended.
|
||||
|
||||
CMake and Mac OSX
|
||||
-----------------
|
||||
Compiling 64-bit on Mac OS X is possible but will not occur by merely
|
||||
specifying the --enable-64-bit configure flag. You must specify
|
||||
additional CFLAGS/CXXFLAGS/CPPFLAGS/LDFLAGS to get a 64-bit
|
||||
compilation. The exact values for these flags depends on environment
|
||||
and is beyond the scope of this document -- if you don't know what
|
||||
settings you need, you probably shouldn't be compiling. That said,
|
||||
this just might work for you:
|
||||
|
||||
On a default configuration, CMake has some problems performing parallel
|
||||
builds on OSX - typically this will manifest itself as a series of
|
||||
"too many open files" errors. So far, the way to work around this in
|
||||
OSX 10.5 is to set the following system control variables to 50,000:
|
||||
|
||||
kern.maxfiles
|
||||
kern.maxfilesperproc
|
||||
|
||||
(check the current values using "sysctl <variable>" on the command line)
|
||||
|
||||
and up the maxfiles limit in /etc/launchd.conf:
|
||||
|
||||
limit maxfiles 50000 unlimited
|
||||
|
||||
This is not widely tested, and OSX has quite a few limit settings that
|
||||
may or may not apply (and may change from one version to the next.) As
|
||||
we get a better feel for various platforms we can assemble a table of
|
||||
required settings. Other programs have this issue as well, so searching
|
||||
online may prove fruitful.
|
||||
|
||||
So far, if parallel building doesn't work due to the above issue a
|
||||
non-parallel build will still succeed. Another workaround is to build
|
||||
just subdirectories (e.g. src/other, doc, etc.) individually and then
|
||||
do a toplevel make in non-parallel mode to finalize the build.
|
||||
./configure CFLAGS=-m64 CXXFLAGS=-m64 LDFLAGS=-m64 --enable-64bit
|
||||
|
||||
Tips
|
||||
----
|
||||
@@ -100,3 +91,5 @@ The only known bugs specific to Mac OS X are limitations of Tk or the
|
||||
X11 event handler that our generally outside of BRL-CAD's domain.
|
||||
Refer to BUGS for more general details on known bugs and reporting
|
||||
mechanisms.
|
||||
|
||||
Cheers!
|
||||
|
||||
@@ -1,53 +0,0 @@
|
||||
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
|
||||
+5
-36
@@ -1,44 +1,13 @@
|
||||
BRL-CAD on Solaris README
|
||||
=========================
|
||||
In recent years, there have been a variety of Solaris-style operating
|
||||
systems that have appeared, following Sun's open-source release of
|
||||
OpenSolaris. OpenSolaris itself doesn't seem to be especially active, but
|
||||
another derivative system called OpenIndiana has appeared, based on the
|
||||
illumos kernel - the Solaris file will be the place to add any notes
|
||||
needed to build on such derivative systems, as well as Solaris proper.
|
||||
|
||||
Kitware does not provide a pre-compiled binary for CMake on Solaris
|
||||
type systems. To bootstrap from the source code, try the following:
|
||||
|
||||
(You probably want to use gmake and gcc/g++ for this...)
|
||||
|
||||
1. Download the source from http://www.cmake.org/cmake/resources/software.html
|
||||
2. unzip the tarball: gunzip cmake-X.Y.Z.tar.gz
|
||||
3. open the tarball: tar -xvf cmake-X.Y.Z.tar
|
||||
4. cd cmake-X.Y.Z
|
||||
5. CXX=g++ ./bootstrap -prefix=/home/user/cmake-install (or your preferred directory)
|
||||
6. gmake
|
||||
7. gmake install
|
||||
|
||||
Then (if you installed to somewhere other than a system dir) add the
|
||||
bin directory to your path:
|
||||
|
||||
csh: setenv PATH /home/user/cmake-install/bin:$PATH
|
||||
bash: export PATH=/home/user/cmake-install/bin:$PATH
|
||||
|
||||
From there, you should be good to build BRL-CAD. The most recent tests
|
||||
of the Sun Studio compiler suggest that there are issues to resolve,
|
||||
so (unless you want to fix those issues, which would be welcome!) you
|
||||
probably want to use the GCC compiler suite to build BRL-CAD as well:
|
||||
|
||||
CC=gcc CXX=g++ cmake ../brlcad
|
||||
|
||||
If while compiling you encounter an error "Text relocation remains
|
||||
against symbol" along with some number of lines following, it usually
|
||||
means that the build has attempted to link a static system library
|
||||
into a shared library being compiled (e.g. attempting to link a system
|
||||
libz.a into the png library distributed in src/other/libpng being
|
||||
compiled as libpng.so). If this happens, it likely indicates a problem
|
||||
with the CMake build logic and should be reported as a bug - you may also
|
||||
need to install a shared version of the library. Another possibility
|
||||
would be to add -mipure-text to the linker flags.
|
||||
compiled as libpng.so).
|
||||
|
||||
The fix/workaround is pretty simple. Either install a shared verison
|
||||
of the system library (e.g. libz.so) or run configure with the
|
||||
-mimpure-text linker option: ./configure LDFLAGS=-mimpure-text
|
||||
|
||||
+10
-20
@@ -7,36 +7,26 @@ Benchmark suite. Through the 80's and most of the 90's, BRL-CAD was
|
||||
compiled for and maintained on VGR running 4.3 BSD until the hardware
|
||||
was finally decommissioned.
|
||||
|
||||
BRL-CAD has been successfully compiled for and run under the simh
|
||||
BRL-CAD has been successfuly compiled for and run under the simh
|
||||
Computer History Simulation Project's VAX simulator. Using this
|
||||
simulator, it's feasible to install one of the BSD variants
|
||||
(e.g. NetBSD) and the GCC compiler.
|
||||
(e.g. NetBSD) and using the GCC compiler, obtain a compilation of
|
||||
BRL-CAD with minimal effort. As of the last effort involved in
|
||||
compiling BRL-CAD under this environment, there were a few steps
|
||||
necessary that include the following:
|
||||
|
||||
No one has tried bootstrapping CMake on a VAX simh NetBSD image yet, so it
|
||||
is not known what problems may occur - the basic bootstrap procedure is:
|
||||
|
||||
1. Download the source from http://www.cmake.org/cmake/resources/software.html
|
||||
2. unzip the tarball: gunzip cmake-X.Y.Z.tar.gz
|
||||
3. open the tarball: tar -xvf cmake-X.Y.Z.tar
|
||||
4. cd cmake-X.Y.Z
|
||||
5. CXX=g++ ./bootstrap -prefix=/home/user/cmake-install (or your preferred directory)
|
||||
6. gmake
|
||||
7. gmake install
|
||||
|
||||
As of the last effort involved in compiling BRL-CAD under this
|
||||
environment (using GNU Autotools), there were a few steps
|
||||
necessary that included the following:
|
||||
|
||||
- Define the preprocessor symbol "vax".
|
||||
- Define the preprocessor symbol "vax"
|
||||
./configure CPPFLAGS=-Dvax
|
||||
|
||||
- Disable compilation of libfft and sig. The FFT library builds
|
||||
convolution kernels that are too large for the usual VAX memory
|
||||
sizes.
|
||||
edit src/Makefile.am and remove libfft and sig lines
|
||||
|
||||
- Compile against libm.a instead of libm.so. The shared object
|
||||
library (at least under NetBSD) is buggy and will cause run-time
|
||||
bus errors (i.e. rt will crash). With CMake, you might try:
|
||||
-DM_LIBRARY=/usr/lib/libm.a
|
||||
bus errors (i.e. rt will crash).
|
||||
make LIBM=/usr/lib/libm.a
|
||||
|
||||
After those steps, you should at least be able to perform a benchmark
|
||||
compilation (i.e. "make benchmark"), raytrace images, and obtain
|
||||
|
||||
+22
-39
@@ -1,45 +1,28 @@
|
||||
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 (as of this writing, MSVC 2010 and CMake
|
||||
2.8.6+) are recommended. If generating an installer, the Nullsoft
|
||||
Scriptable Install System (NSIS) tool is also required.
|
||||
Compilation of BRL-CAD under Windows is performed in one of three
|
||||
ways. The first and usually most readily attainable build process is
|
||||
to install BRL-CAD under the Mingw or Cygwin compatibility
|
||||
environments where the build steps are the same as on the other
|
||||
platforms (documented in the INSTALL file).
|
||||
|
||||
In principle, BRL-CAD can be built using CMake and environments like
|
||||
Cygwin and/or Mingw/Msys, but the is largely untested and infrequently
|
||||
supported. Enhancements or bug reports are welcome.
|
||||
The second approach is to compile using MSVC 8 (2005) using the build
|
||||
files in the misc/win32-msvc8 directory. The main brlcad.sln solution
|
||||
file is in the brlcad directory. This approach will compile the vast
|
||||
majority of the package and is the method utilized when making a
|
||||
binary release of BRL-CAD for Windows. This will compile 'mged',
|
||||
'rt', most of the converters, many of the other geometry analysis
|
||||
tools, and more. In all, it compiles all of the BRL-CAD libraries and
|
||||
about half of the available BRL-CAD utilities.
|
||||
|
||||
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
|
||||
Visual Studio this is the only tested configuration. Once those the
|
||||
sources are obtained and the build directory is created, run the CMake
|
||||
application and specify the source and build directories.
|
||||
The third approach is to compile using CMake using the build files
|
||||
in the misc/win32-msvc directory. This approach, however, will ONLY
|
||||
currently build the core libraries together with their C++ interface
|
||||
in rt^3 and is intended for 3rd party applications that link against
|
||||
BRL-CAD as a geometry engine or ray-trace library.
|
||||
|
||||
Once CMake has the correct directory settings, select Configure. If
|
||||
this is the first time running Configure with this build directory,
|
||||
CMake will prompt you to select a generator. Look for your version of
|
||||
Visual Studio and select it. Configuration should now proceed.
|
||||
|
||||
It is normal for configuration to be a long process on Windows. Once
|
||||
it is complete, you should see a list of red highlighted entries
|
||||
appear in the CMake interface. Change any settings that appear to
|
||||
need changing and press Configure again. The second pass should be
|
||||
shorter. If no new red lines appear, the configuration is complete.
|
||||
|
||||
The final CMake step, after completing Configuration, is to select
|
||||
Generate to create Visual Studio project files in the build directory.
|
||||
Once this is done, you may quit CMake.
|
||||
|
||||
Navigate to your build directory. You should see a BRLCAD solution
|
||||
file for Visual Studio. Double-click that file, and Visual Studio
|
||||
should launch. It will load the targets (a default configuration of
|
||||
BRL-CAD on Windows will generate over 800 of them) and a large list of
|
||||
targets will appear. To build everything look for a target named
|
||||
ALL_BUILD. Start compiling that target.
|
||||
|
||||
Once compilation is successfully complete, 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.
|
||||
Special thanks to Jonathan Bonomo for the Windows installer that uses
|
||||
the Nullsoft Scriptable Install System (i.e. NSIS) that replaces the
|
||||
former InstallShield installer. The NSIS scripts files are in
|
||||
misc/nsis/.
|
||||
|
||||
+26
-23
@@ -179,6 +179,9 @@ BRL-CAD to STEP
|
||||
BRL-CAD to IGES
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
********************************************************************************
|
||||
Below are some thoughts and notes about specific issues related to the above
|
||||
topics - may be useful as comments at some point, or at least food for thought.
|
||||
@@ -192,7 +195,7 @@ BRL-CAD to IGES
|
||||
* 1. Intersection - for a point, there are three possible categories of of intersection:
|
||||
* * Identical - point values identical and all bound values identical
|
||||
*
|
||||
* * * * * * * * *
|
||||
* * * * * * * * *
|
||||
* * *
|
||||
* * 1 2 *
|
||||
* * * *
|
||||
@@ -203,8 +206,8 @@ BRL-CAD to IGES
|
||||
* * Contained - values not all identical but bounds of the point of interest all smaller than bounds of
|
||||
* point it is being compared to
|
||||
*
|
||||
*
|
||||
* * * * * * * * * * * * * * * * * * * * *
|
||||
*
|
||||
* * * * * * * * * * * * * * * * * * * * *
|
||||
* * 1 * * *
|
||||
* * * * * * * * * * * * * * *
|
||||
* * * * * * * 1 * *
|
||||
@@ -219,26 +222,26 @@ BRL-CAD to IGES
|
||||
* bound of one point is equal to the lower bound of the other - this is defined to be
|
||||
* overlapping.)
|
||||
*
|
||||
*
|
||||
* * * * * * * * * * * * * * * * * * * * * * * * *
|
||||
* * * * * * *
|
||||
* * 1 * * * * * * * * * * * * * * * * * * * * *
|
||||
* * * * * * * * * * * * 1 * * * * 1 * *
|
||||
* * * * * * * * * * * * *
|
||||
* * * * * * * * * * * * * * * * * * * * * 2 * *
|
||||
* * 2 * * 2 * * * * * * * * * *
|
||||
* * * * * * *
|
||||
*
|
||||
* * * * * * * * * * * * * * * * * * * * * * * * *
|
||||
* * * * * * *
|
||||
* * 1 * * * * * * * * * * * * * * * * * * * * *
|
||||
* * * * * * * * * * * * 1 * * * * 1 * *
|
||||
* * * * * * * * * * * * *
|
||||
* * * * * * * * * * * * * * * * * * * * * 2 * *
|
||||
* * 2 * * 2 * * * * * * * * * *
|
||||
* * * * * * *
|
||||
* * * * * * * * * * * * * * * * * * * * * * * * * * *
|
||||
*
|
||||
*
|
||||
*
|
||||
* 2. Outside - "If the points are not identical in value and/or error bounds, is the point of interest and its error
|
||||
* bounds contained or overlapping with the comparison point, or vice versa? If not, the point of interest is
|
||||
* bounds contained or overlapping with the comparison point, or vice versa? If not, the point of interest is
|
||||
* outside the comparison point.
|
||||
*
|
||||
* Contained and Overlapping points present a problem. Take the case where two points have an overlapping bound
|
||||
* and a third point must decide its relationship with each of them:
|
||||
*
|
||||
* * * * * * * * *
|
||||
* * * * * * * * *
|
||||
* * *
|
||||
* * 1 *
|
||||
* * *
|
||||
@@ -249,12 +252,12 @@ BRL-CAD to IGES
|
||||
* * * * *
|
||||
* * * * *
|
||||
* * * * * * * * * * * * * * * * *
|
||||
*
|
||||
*
|
||||
* Point 1 and Point 2 overlap and may intersect. When Point 3 evaluates its relationships with Point 1 and
|
||||
* Point 2, it finds that it overlaps and may intersect Point 1, but it does NOT overlap Point 3. This means
|
||||
* that Point 1 may intersect Point 2 OR Point 3, but NOT both at the same time. Any assumption of equality
|
||||
* tht Point 1 may intersect Point 2 OR Point 3, but NOT both at the same time. Any assumption of equality
|
||||
* involving any of these three points must decide how to handle this situation, and the decision must be both
|
||||
* consistent and reproducible. The possible decisions are:
|
||||
* consistent and reproducable. The possible decisions are:
|
||||
*
|
||||
* 1 = 2, 1 != 3
|
||||
* 1 != 2, 1 = 3
|
||||
@@ -264,17 +267,17 @@ BRL-CAD to IGES
|
||||
* points which might impact the decisions of which points are identical in this particular case) and resolve the
|
||||
* question amongst all of them. One possibility would be to assemble all the guaranteed non-equalities among
|
||||
* the set, search for the shortest distance between values among the remaining possible relationships, and assign
|
||||
* intersection status based on those results. (This may not be sufficient - bounding box size may also be
|
||||
* important.) For the original two points supplied, the question of intersection or non-intersection is now
|
||||
* intersection status based on those results. (This may not be sufficient - bounding box size may also be
|
||||
* important.) For the original two points supplied, the question of intersection or non-intersection is now
|
||||
* resolved as long as no geometry changes are made to any element that has bounds overlapping their individual
|
||||
* bound.
|
||||
*
|
||||
*
|
||||
* Once this near space evaluation is done, each point's list of intersecting and non-intersecting points is updated.
|
||||
* A query routine with two points can first check the points' own intersection/non-intersection lists to see if
|
||||
* the answer is already pre-determined. If it is not, determining via the bounds inside/outside is straightforward
|
||||
* and deterministic and it cannot be intersecting.
|
||||
*
|
||||
* One question is what to do when the geometry DOES change. New geometry may potentially change the decisions
|
||||
* on what is and is not intersecting - perhaps it should? Potential trouble there with overlapping vs. non-
|
||||
* on what is and is not intersecting - perhaps it should? Potential trouble there with overlaping vs. non-
|
||||
* overlapping regions.
|
||||
*/
|
||||
*/
|
||||
@@ -1,122 +0,0 @@
|
||||
Consolidated from an e-mail thread and several e-mail messages by Sean
|
||||
to the BRL-CAD developers list in Jun 2013 which includes this message:
|
||||
|
||||
https://sourceforge.net/mailarchive/forum.php?thread_name=02c584af-d1ad-4d23-9837-1412eed14350%40me.com&forum_name=brlcad-devel
|
||||
|
||||
> 4. Finally we will get rid of wireframes. However, we will be able
|
||||
> to easily enable or disable shaded geometry or vice versa.
|
||||
|
||||
We're not getting rid of wireframes. Shaded display geometry becoming
|
||||
the default, however, is already planned and in the works. NURBS
|
||||
surface-surface intersections (Wu's project) are required for that to
|
||||
happen.
|
||||
|
||||
...
|
||||
|
||||
Making wireframes not be the default is one of several reasons why
|
||||
we've been working on NURBS infrastructure. Not understanding why
|
||||
this is required given our representation format is usually an
|
||||
indication that someone does not yet understand the fundamental
|
||||
problem... which is not meant to be taken in a negative way. MOST
|
||||
people don't have experience with our particular problem domain which
|
||||
is specific to having mathematically-based implicit geometry
|
||||
representations along with boolean operations.
|
||||
|
||||
When most people say shaded display, they usually think of OpenGL,
|
||||
Direct3D, games, other modeling systems, etc. Those systems are
|
||||
driven by polygons (triangles). To have that style of shaded display,
|
||||
you have to have polygons. We do not have polygons. We do not have a
|
||||
robust method for getting polygons. NURBS gives us a robust method.
|
||||
|
||||
When we can 1) convert any geometry to NURBS, 2) evaluate any
|
||||
booleans, and 3) tessellate NURBS robustly, it will be possible to
|
||||
have robust shaded displays for all geometry. #1 was finished last
|
||||
year primarily thanks to Cliff and Wu. #3 was finished just this year
|
||||
primarily due to Keith. Work on #2 is underway and is scheduled to be
|
||||
finished this year..
|
||||
|
||||
It's been a while since I've had to succinctly describe the problem
|
||||
and solution, so hopefully that is all understandable to everyone.
|
||||
There are several independent tasks that will need to be completed is
|
||||
anyone wants to help us get there more quickly. ;)
|
||||
|
||||
...
|
||||
|
||||
> Sean, are those tasks grouped somewhere in the TODO list, or?
|
||||
|
||||
Not in such a succinct form because there is a lot of interrelation
|
||||
with other tasks/projects. E.g., one can frame reliable STEP NURBS
|
||||
import is just as important for shaded displays because users usually
|
||||
want to view their own existing data. Or once we have robust boolean
|
||||
evaluation of NURBS, most of our converters will need to be updated to
|
||||
use the new method ... that's a lot of work. :)
|
||||
|
||||
Some tasks that come to mind related to shaded displays are:
|
||||
|
||||
* library routine for boolean evaluation of NURBS
|
||||
|
||||
* library routine for non-solid NURBS tessellation (capability exists,
|
||||
but not as formal API)
|
||||
|
||||
* library routine for solid NURBS tessellation (capability exists, but
|
||||
not as formal API)
|
||||
|
||||
* libgcv routine to perform NURBS boolean evaluation and tessellation
|
||||
|
||||
* connecting "facetize" command to use libgcv (solid tessellation)
|
||||
|
||||
* migrate current converter polygonal mesh boolean evaluation method
|
||||
of NMG-based converters to libgcv
|
||||
|
||||
* updating all NMG-based exporters to use new libgcv routine, retain
|
||||
old method as legacy option
|
||||
|
||||
* updating mged/archer to utilize boolean evaluated NURBS as a
|
||||
visualization mode
|
||||
|
||||
Other useful but maybe not strictly necessary tasks:
|
||||
|
||||
* optimize NURBS prep
|
||||
|
||||
* connecting "E" and "ev" commands to use libgcv (non-solid or solid)
|
||||
|
||||
* implement support for plate-mode NURBS
|
||||
|
||||
* update STEP and 3DM converters to support non-solid NURBS import via
|
||||
plate-mode
|
||||
|
||||
* libgcv routine to perform NURBS healing (close near-solid NURBS
|
||||
geometries)
|
||||
|
||||
* update NURBS importers to with option to perform healing on import
|
||||
|
||||
* update NURBS ray tracing to perform reparameterization/healing
|
||||
during prep
|
||||
|
||||
* update IGES importer to import NURBS directly
|
||||
|
||||
* implement OBJ NURBS import support
|
||||
|
||||
* parallelize single-object NURBS prep (particularly the surface tree
|
||||
building)
|
||||
|
||||
* parallelize boolean evaluation of NURBS
|
||||
|
||||
* parallelize NURBS tessellation
|
||||
|
||||
* refactor libdm API to better support (polygonal,curve,point) display
|
||||
lists
|
||||
|
||||
* refactor libdm implementation to re-encapsulate platform-specific
|
||||
logic (no #ifdefs in public headers)
|
||||
|
||||
* review old bspline NURBS logic, integrate useful portions, then
|
||||
remove the rest
|
||||
|
||||
* formally document our BREP/NURBS primitive, capabilities and
|
||||
limitations
|
||||
|
||||
That's just off the top of my head. There are undoubtedly other tasks
|
||||
involved but that's a partial list. Some/many of them are already in
|
||||
the TODO file, but many are not yet. Feel free to
|
||||
expand/incorporate/ignore. ;)
|
||||
+1
-1
@@ -105,7 +105,7 @@ matrix operations; the local coordinate system being that of the point
|
||||
on the extreme right.
|
||||
|
||||
In walking a model tree (such as "prep'ing" the model for ray tracing),
|
||||
each arc crossed from root to leaf normally gets its matrix multiplied on
|
||||
each arc crossed from root to leaf normally gets its matrix multipled on
|
||||
the right side of the current matrix stack[1]. Rigid body articulations
|
||||
of a model can then be described by changing or adding matrices at the
|
||||
appropriate points in this stack.
|
||||
|
||||
+2
-2
@@ -151,7 +151,7 @@ Issues:
|
||||
more efficient edge checking, evaluation optimization, etc...
|
||||
|
||||
|
||||
The current issue seems to be that we're missing surfaces altogether or
|
||||
The current issue seems to be that we're missing surfaces altogther or
|
||||
getting extra intersections! or something funky is happening during
|
||||
trimming and edge checking. (BTW Pro/E seems to output overlapping
|
||||
surfaces, relying on the outer boundary loop to trim it - this implies
|
||||
@@ -169,7 +169,7 @@ other bit of code was causing a problem, I tried to mark it with XXX.
|
||||
-- Conceptual/Implementation Issues --
|
||||
|
||||
model-space curve pullback to surface domain for trimming (introduces
|
||||
possible errors while trimming (i.e. at an edge it's possible both
|
||||
possible errors while trimming (i.e. at an edge its possible both
|
||||
surfaces can be trimmed because of inaccuracies of sampling)...
|
||||
|
||||
multiple intersections found
|
||||
|
||||
@@ -1,30 +0,0 @@
|
||||
tbl() {
|
||||
case $# in
|
||||
0) rsh vmb.brl.mil 'PATH=/usr/5bin:$PATH export PATH; tbl';;
|
||||
*) cat $1 | rsh vmb.brl.mil 'PATH=/usr/5bin:$PATH export PATH; tbl';;
|
||||
esac;
|
||||
}
|
||||
typeset()
|
||||
{
|
||||
case $# in
|
||||
0)
|
||||
rsh vmb.brl.mil 'PATH=/usr/5bin:$PATH export PATH; troff -mm -Ti300 | dimp -t | ipr -J -Pim124';;
|
||||
*) cat $1 |
|
||||
rsh vmb.brl.mil 'PATH=/usr/5bin:$PATH export PATH; troff -mm -Ti300 | dimp -t | ipr -J -Pim124';;
|
||||
esac;
|
||||
}
|
||||
laser()
|
||||
{
|
||||
OPTS=
|
||||
case $# in
|
||||
0) ;;
|
||||
*) case $1 in
|
||||
-h) OPTS=$1; shift;;
|
||||
esac
|
||||
case $# in
|
||||
1) FILE=$1;;
|
||||
esac;;
|
||||
esac
|
||||
pix-bw -ntsc ${FILE} | bw-imp ${OPTS} | rsh vmb.brl.mil 'PATH=/usr/5bin:$PATH export PATH; ipr -J -Pim124'
|
||||
unset OPTS FILE;
|
||||
}
|
||||
@@ -1,11 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
#OPTS='-V'
|
||||
OPTS='-b'
|
||||
|
||||
groff $OPTS -mm -Tps burst.mm > burst.ps
|
||||
ps2pdf burst.ps
|
||||
|
||||
#groff $OPTS -mm
|
||||
|
||||
#groff -mm -Thtml burst.mm > burst.html
|
||||
@@ -1,22 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
tables="\
|
||||
bpl \
|
||||
cmap \
|
||||
commands \
|
||||
fb \
|
||||
hmkeys \
|
||||
ids \
|
||||
overlap \
|
||||
plot \
|
||||
screen \
|
||||
scrollmenu \
|
||||
shotlines \
|
||||
submenu \
|
||||
topmenu\
|
||||
"
|
||||
|
||||
for table in $tables ; do
|
||||
tbl $table.tbl > $table.mm
|
||||
done
|
||||
|
||||
@@ -1,27 +0,0 @@
|
||||
# these macros (mm files) are generated by tclsh script "Make-tables.sh"
|
||||
TABLE_MM := bpl.mm
|
||||
TABLE_MM += cmap.mm
|
||||
TABLE_MM += commands.mm
|
||||
TABLE_MM += fb.mm
|
||||
TABLE_MM += hmkeys.mm
|
||||
TABLE_MM += ids.mm
|
||||
TABLE_MM += overlap.mm
|
||||
TABLE_MM += plot.mm
|
||||
TABLE_MM += screen.mm
|
||||
TABLE_MM += scrollmenu.mm
|
||||
TABLE_MM += shotlines.mm
|
||||
TABLE_MM += submenu.mm
|
||||
TABLE_MM += topmenu.mm
|
||||
|
||||
PRODS := burst.ps burst.pdf burst.html
|
||||
|
||||
docs:
|
||||
@echo "Making burst tables for groff..."
|
||||
./Make-tables.sh
|
||||
@echo "Making burst docs..."
|
||||
./Make-docs.sh
|
||||
|
||||
clean: distclean
|
||||
|
||||
distclean:
|
||||
-rm $(TABLE_MM) $(PRODS) *~ t tt
|
||||
@@ -1,64 +0,0 @@
|
||||
Documentation for the BRL-CAD program 'burst'.
|
||||
|
||||
Debian requires packages groff and groff-base.
|
||||
|
||||
The original source file ('burst.mm') has been modified slightly to
|
||||
ensure correct handling by Eric Raymond's doclifter
|
||||
(http://www.catb.org/~esr/doclifter/). From an e-mail from Eric:
|
||||
|
||||
from: Eric S. Raymond <esr@thyrsus.com>
|
||||
reply-to: esr@thyrsus.com
|
||||
to: Tom Browder <tom.browder@gmail.com>
|
||||
date: Tue, Aug 20, 2013 at 8:48 AM
|
||||
subject: Re: doclifter (master) failing on troff mm source
|
||||
mailed-by: thyrsus.com
|
||||
|
||||
<quote>
|
||||
Tom Browder <tom.browder@gmail.com>:
|
||||
> I have checked all macros and they are valid mm macros so I can't
|
||||
> figure out why doclifter is failing. I can send you the whole source
|
||||
> zipped if you're interested.
|
||||
|
||||
What you sent is sufficient. The problem is that your mm file
|
||||
contains none of the three trigger macros doclifter is looking for as
|
||||
a way to recognize that it's dealing with mm - .MT, .SA, or .COVER.
|
||||
The relevant table looks like this:
|
||||
|
||||
# This is how we autodetect the right macro set:
|
||||
|
||||
interpreter_dispatch = {
|
||||
"pp": MeInterpreter,
|
||||
"Dt": MdocInterpreter,
|
||||
"Dd": MdocInterpreter,
|
||||
"Nm": MdocInterpreter,
|
||||
"AU": MsInterpreter,
|
||||
"NH": MsInterpreter,
|
||||
"TH": ManInterpreter,
|
||||
"MT": MmInterpreter,
|
||||
"SA": MmInterpreter,
|
||||
"COVER": MmInterpreter,
|
||||
# Extension macro sets
|
||||
"supplemental macros used in Tcl/Tk": TkManInterpreter,
|
||||
"BS": TkManInterpreter,
|
||||
"the F register is turned on": Pod2ManInterpreter,
|
||||
"ZN": XManInterpreter,
|
||||
"Pn": XManInterpreter,
|
||||
"ny0": XManInterpreter,
|
||||
"reStructuredText": reStructuredTextInterpreter,
|
||||
"reStructeredText": reStructuredTextInterpreter,
|
||||
"DocBook XSL Stylesheets" : DocBookInterpreter,
|
||||
"pdfdest" : FoojzsInterpreter,
|
||||
"H0": ASTInterpreter,
|
||||
# These are all of the supported Mwww tags
|
||||
"URL": MwwwInterpreter,
|
||||
"FTP": MwwwInterpreter,
|
||||
"MTO": MwwwInterpreter,
|
||||
"PIMG": MwwwInterpreter,
|
||||
"IMG": MwwwInterpreter,
|
||||
"TAG": MwwwInterpreter,
|
||||
}
|
||||
|
||||
Inserting a dummy .MT 0 call should fix your problem.
|
||||
</quote>
|
||||
|
||||
|
||||
@@ -1,15 +0,0 @@
|
||||
.TL
|
||||
``burst''; Air Force Vulnerability Analyses from BRL-CAD Models
|
||||
.AF "U. S. A. Ballistic Research Laboratory"
|
||||
.ds ZZ Aberdeen Proving Ground
|
||||
.AU "Gary S.\& Moss" GSM ZZ
|
||||
.AS
|
||||
.so introduction.mm
|
||||
'\"The presentation will not dwell on the details of usage as much as the paper
|
||||
'\"but will focus on the available features of the \*(b) program
|
||||
'\"as well as its flexibility in supporting analyses of varied threat
|
||||
'\"mechanisms on \*(m) targets.
|
||||
.AE
|
||||
.MT 4
|
||||
.rm ZZ
|
||||
.SA 1
|
||||
@@ -1,37 +0,0 @@
|
||||
.TS
|
||||
allbox,center,tab(@);
|
||||
lb lb lb
|
||||
_ _ _
|
||||
l l l.
|
||||
record description@field format@field description
|
||||
run header@'1'@record number 1
|
||||
@1x,f9.4@attack azimuth (degrees)
|
||||
@1x,f8.4@attack elevation (degrees)
|
||||
@1x,f5.2@burst distance
|
||||
@1x,f10.2@projected area associated with burst point
|
||||
@1x,6a@units (mm,cm,inches,feet,meters)
|
||||
@1x,f9.6@ray solid angle (steradians)
|
||||
shotline header@'2'@record number 2
|
||||
@1x,f8.3@Y' coordinate of shotline
|
||||
@1x,f8.3@Z' coordinate of shotline
|
||||
shotline intersections@'3'@record number 3
|
||||
@1x,f8.2@X' coordinate of component intersection
|
||||
@1x,f8.2@line-of-sight thickness of component
|
||||
@1x,i4@component code number
|
||||
@1x,i2@space code
|
||||
@1x,f7.3@sine of fallback angle of exit normal
|
||||
@1x,f7.2@rotation angle of exit normal (degrees)
|
||||
@1x,f7.3@cosine of obliquity angle at entry
|
||||
@1x,a1@burst flag ('1' for yes, '0' for no)
|
||||
burst ray header@'4'@record number 4
|
||||
@1x,f8.3@azimuth angle WRT shotline (radians)
|
||||
@1x,f8.3@sine of elevation angle WRT shotline
|
||||
@1x,i6@sequential ray number for this burst point
|
||||
burst ray intersections@'5'@record number 5
|
||||
@1x,f10.3@distance to first contact with component
|
||||
@1x,f9.3@line-of-sight thickness of component
|
||||
@1x,f9.3@normal thickness of component
|
||||
@1x,i4@space code
|
||||
@1x,i4@component code number
|
||||
@1x,f6.3@cosine of obliquity angle at entry
|
||||
.TE
|
||||
@@ -1,995 +0,0 @@
|
||||
.\" ASI Note: PP was changed to P in this file; CS was commented out
|
||||
.\" Note the following line was added per Eric Raymond's advice for
|
||||
.\" use by doclifter:
|
||||
.MT 0
|
||||
.PH ""
|
||||
.PF "''\\\\nP''"
|
||||
.so defs.mm
|
||||
.so abstract.mm
|
||||
.so macros.mm
|
||||
.H 1 "User Interface"
|
||||
.H 2 "Program Invocation"
|
||||
In the examples below,
|
||||
the `$' symbol represents the \*(U)
|
||||
shell prompt.
|
||||
The general usage for the \*(b) program is as follows:
|
||||
.Ex "burst [-b]\fR"
|
||||
.P
|
||||
When \*(b) is used in the default mode,
|
||||
a full-screen, interactive, menu-driven interface is provided:
|
||||
.Ex burst
|
||||
In the interactive mode,
|
||||
commands are formatted by the menu system (see \fBHierarchical Menus\fR).
|
||||
The optional
|
||||
.I -b\^
|
||||
argument will suppress the full-screen terminal display in favor of a
|
||||
batch-oriented interface;
|
||||
when coupled with \*(U) file redirection and background processing,
|
||||
the user can submit the job and go on to other tasks.
|
||||
.Ex "burst \|\-b \|< \|input_file \|&"
|
||||
The user will typically want to redirect any diagnostics to a log file
|
||||
(see \fBError Log\fR).
|
||||
In either batch or interactive mode,
|
||||
the program will read commands (see \fBCommand Input\fR) from the standard
|
||||
input until an end of file is encountered.
|
||||
In batch mode,
|
||||
the program will exit after the last command is processed,
|
||||
but when run interactively the menu system will take over after the last
|
||||
command.
|
||||
The user must \fIquit\fR the program by exiting the top-level menu
|
||||
(see Table 2).
|
||||
It is recommended that the reader begin by running the \*(b)
|
||||
program interactively.
|
||||
The hierarchical menu system generates key word commands for the user by
|
||||
prompting him to make choices or enter values without prior knowledge of
|
||||
the commands and their syntax.
|
||||
As commands are generated,
|
||||
they are printed in the scrolling region so that the user can learn
|
||||
the syntax of the alternative mode of input without affecting his productivity.
|
||||
The more advanced user can circumvent the menu system by using a
|
||||
text editor to prepare input files.
|
||||
.sp
|
||||
.H 2 "Command Input"
|
||||
All commands to \*(b) are composed of one or more words connected by hyphens
|
||||
and each command may require one or more arguments that must be separated by
|
||||
either spaces or tabs.
|
||||
A line that begins with the `#' symbol is considered a comment and will be
|
||||
ignored.
|
||||
Each command must be on a separate line and may be supplied to the \*(b)
|
||||
program's standard input (i.e. using \*(U)
|
||||
.Ud sh 1
|
||||
file redirection) or can be generated from the hierarchical menus.
|
||||
In Table 1 below is a brief description of these commands; \fIflag\fR
|
||||
arguments have \fIyes\fR or \fIno\fR values, an \fIangle\fR is expressed in
|
||||
degrees as a floating-point quantity,
|
||||
\fIdistances\fR and coordinates such as \fIX, Y, Z, left, right\fR, etc.
|
||||
are also floating-point numbers,
|
||||
and \fIcount\fR represents an integer.
|
||||
Square brackets delimit optional arguments.
|
||||
For a detailed description of each command,
|
||||
refer to sections 2 through 7.
|
||||
.DF
|
||||
.sp
|
||||
.TB "Key Word Commands"
|
||||
.so commands.mm
|
||||
.sp
|
||||
.DE
|
||||
.H 2 "Screen Layout"
|
||||
In interactive mode,
|
||||
the screen is divided into sections of one or more rows (lines) of text.
|
||||
.DF
|
||||
.so screen.mm
|
||||
.FG "Screen Layout"
|
||||
.sp
|
||||
.DE
|
||||
The top line,
|
||||
referred to as line 1,
|
||||
is reserved for
|
||||
CPU
|
||||
usage statistics.
|
||||
Starting on line 2,
|
||||
the hierarchical menu region spans 12 lines of the screen.
|
||||
Below the menu region is a line used for user input related errors and
|
||||
help messages that are generated by typing an `h' (see Table 2).
|
||||
Below that is a line used to prompt the user for input and to inform him
|
||||
of ongoing processing.
|
||||
The next line contains the program name and version number,
|
||||
and is intended as a divider between the scrolling window below it and the
|
||||
non-scrolling portion of the screen.
|
||||
Once ray tracing has begun,
|
||||
grid index ranges will appear inside square brackets to the right of the
|
||||
version number.
|
||||
The first number is the current horizontal index,
|
||||
and this is separated by a colon from the right-most index for the grid.
|
||||
After the comma,
|
||||
is the current vertical index,
|
||||
followed by the top-most index for the grid.
|
||||
As ray tracing commences,
|
||||
the current grid indices will reflect the current shotline being calculated
|
||||
as the grid is traversed in a left-to-right,
|
||||
bottom-to-top fashion.
|
||||
The scrolling window region takes up the remainder of the screen for the
|
||||
display of processed commands and processing-related errors (i.e. from the
|
||||
ray tracer).
|
||||
Figure 1 shows what the various sections of the screen are used for,
|
||||
however in practice,
|
||||
the status information,
|
||||
help message,
|
||||
and prompt would not be displayed concurrently.
|
||||
The screen-oriented interface is terminal independent;
|
||||
it doesn't use graphics per se
|
||||
but uses the terminal capabilities information database to control the
|
||||
manipulation of text characters.
|
||||
.sp
|
||||
.H 2 "Hierarchical Menus"
|
||||
Table 2 shows the key strokes used to manipulate the menus.
|
||||
.DF
|
||||
.sp
|
||||
.TB "Hierarchical Menu Commands"
|
||||
.so hmkeys.mm
|
||||
.sp
|
||||
.DE
|
||||
The top-level menu looks like Figure 2.
|
||||
.DF
|
||||
.so topmenu.mm
|
||||
.FG "Top-Level Hierarchical Menu"
|
||||
.sp
|
||||
.DE
|
||||
Note that the \fIcurrent\fR entry will be highlighted.
|
||||
The `v' symbols at the bottom corners of the menu show that
|
||||
there are more entries below.
|
||||
Attempting to move the cursor past the bottom entry will cause the
|
||||
menu to scroll upwards as illustrated in Figure 3.
|
||||
.DF
|
||||
.so scrollmenu.mm
|
||||
.FG "Scrolled Menu"
|
||||
.sp
|
||||
.DE
|
||||
Note the `^' symbols at the top corners of the menu.
|
||||
These signify that there are now hidden entries above that can be
|
||||
scrolled down by advancing the cursor upwards past the top visible
|
||||
entry.
|
||||
If no scrolling is possible,
|
||||
that is,
|
||||
if no further entries exist,
|
||||
a `+' symbol will mark the corner of the menu.
|
||||
If a menu item is selected that has a sub-menu,
|
||||
the sub-menu will be drawn to the right of its parent menu as shown
|
||||
in Figure 4.
|
||||
.DF
|
||||
.so submenu.mm
|
||||
.FG "Sub-Menu Display"
|
||||
.sp
|
||||
.DE
|
||||
The menu system \fIremembers\fR the last item selected in a given
|
||||
menu;
|
||||
entering a menu that has been used before will cause
|
||||
the \fIcurrent\fR item to be the same as it was when that menu was last exited.
|
||||
If a menu has never been used,
|
||||
the top item will initially be \fIcurrent\fR.
|
||||
.H 2 "Scrolling Region"
|
||||
When running the \*(b) program interactively,
|
||||
all diagnostic output is, by default, printed in a scrolling text window
|
||||
at the bottom of the display.
|
||||
If the batch option (\fI\-b\fR) is used,
|
||||
these diagnostics will be printed on the standard error output of the
|
||||
program.
|
||||
If there is enough output the user may find it difficult
|
||||
to read it all before it scrolls out of sight.
|
||||
Also, the user may wish to save these diagnostics for later reference;
|
||||
overlap diagnostics from the ray tracer are useful in fixing errors in
|
||||
the geometry of the target description.
|
||||
The \*(b) program has a command called
|
||||
.Co error-file
|
||||
that will divert this output to a file (see \fBError Log\fR).
|
||||
Figure 5 shows three such overlap diagnostics.
|
||||
.DS
|
||||
.sp
|
||||
.so overlap.mm
|
||||
.FG "Overlap Diagnostics"
|
||||
.sp
|
||||
.DE
|
||||
The full path name of both regions is printed, the zero enclosed in double
|
||||
curly brackets is intended to discriminate between \fIinstances\fR\*F.
|
||||
.FS
|
||||
An \fIinstance\fR is a type of group in the \*(m) data base that has
|
||||
a \fIprototype\fR object as a member.
|
||||
Several \fIinstances\fR may reference the same \fIprototype\fR
|
||||
yet have different transformation matrices.
|
||||
Although these objects represent distinct geometric entities,
|
||||
they share the same path name,
|
||||
therefore the additional discriminant is necessary.
|
||||
.FE
|
||||
Theoretically,
|
||||
\fIisol\fR and \fIosol\fR are the names of the starting and ending solids
|
||||
associated with the boolean operations on the overlapping partition.
|
||||
In practice,
|
||||
these solid names are typically not helpful in diagnosing the problem,
|
||||
but the region names should be sufficient.
|
||||
The \fIdepth\fR is the line-of-sight thickness of the overlapping partition
|
||||
in millimeters.
|
||||
In parentheses,
|
||||
are printed the target coordinates of the intersection of the ray
|
||||
with the overlap.
|
||||
The \fIx-2\fR and \fIy1\fR reveal that the grid indices of the shotline are
|
||||
\fI-2, 1\fR; this means that the shotline was 2 cells to the left,
|
||||
and one cell above the grid origin.
|
||||
If \fIlvl\fR (meaning ray tracing recursion level) is \fIzero\fR,
|
||||
then the overlap resulted from a shotline,
|
||||
but if it is \fIone\fR,
|
||||
it could represent either a burst ray intersection or a probe to
|
||||
calculate the normal thickness of a component intersected by the shotline.
|
||||
The real purpose of the ray is stated last.
|
||||
.H 1 "Executing a Run"
|
||||
.Cs "/execute"
|
||||
The \*(b) program is designed to allow many options to be configured before
|
||||
any outputs are calculated.
|
||||
Unless otherwise stated in the individual command descriptions in this report,
|
||||
a given command will nullify any previous occurrence of the same directive
|
||||
until an
|
||||
.Co execute
|
||||
command is given.
|
||||
For instance, the command
|
||||
.Co "target-file"
|
||||
\ \fItank1\fR followed by
|
||||
.Co "target-file"
|
||||
\ \fItank2\fR will nullify the reference to \fItank1\fR.
|
||||
Once the input parameters are specified,
|
||||
the
|
||||
.Co execute
|
||||
command will start a \fIrun\fR.
|
||||
Many \fIruns\fR may occur during an instance of the \*(b) program.
|
||||
One such instance is referred to as a \fIsession\fR.
|
||||
Below are descriptions of commands for configuring the behavior of the
|
||||
\*(b) program.
|
||||
.Ce
|
||||
.H 1 "User Preferences"
|
||||
.H 2 "Units of Measure"
|
||||
.Cs /units
|
||||
The
|
||||
.Co units
|
||||
command will set the linear units for input and output.
|
||||
This command should be used before any scalar quantities such as coordinates,
|
||||
distances,
|
||||
or sizes are input.
|
||||
The units may be changed to accommodate input files of differing units,
|
||||
but the output from a particular run will reflect whatever the units were
|
||||
set to when the
|
||||
.Co execute
|
||||
command was given.
|
||||
One argument is expected out of the following list and must be spelled
|
||||
correctly:
|
||||
\fImillimeters\fR,
|
||||
\fIcentimeters\fR,
|
||||
\fImeters\fR,
|
||||
\fIinches\fR and \fIfeet\fR.
|
||||
The default units are \fImillimeters\fR.
|
||||
Angles are always expressed in degrees, not radians.
|
||||
.Ce
|
||||
.H 2 "Region Overlap Reporting"
|
||||
.Cs "/preferences/report-overlaps"
|
||||
It is considered an error if two \fIregions\fR in an \*(m) file occupy
|
||||
the same space; we call this an \fIoverlap\fR.
|
||||
The ray tracing library (\*(l)) will report \fIoverlapping regions\fR that are
|
||||
intersected by shotlines or burst rays to the \*(b) application and
|
||||
the program will,
|
||||
by default,
|
||||
print out any that have a line of sight thickness of at least 0.25 millimeters
|
||||
(see \fBError Log\fR).
|
||||
Although a target may only have several \fIoverlaps\fR,
|
||||
an error will be reported for each ray that intersects one of them,
|
||||
so the messages will typically be repetitious.
|
||||
Although these diagnostics are important for fixing problems in the geometric
|
||||
description of the target,
|
||||
the user may wish to proceed with a production run and the printing of these
|
||||
errors can slow the execution time considerably.
|
||||
A \fIyes\fR or \fIno\fR argument to this command will turn the diagnostics
|
||||
on or off.
|
||||
Regardless of whether or not individual \fIoverlaps\fR are reported,
|
||||
the total number detected will be logged.
|
||||
.Ce
|
||||
.H 1 "Shotlining Options"
|
||||
.Cs /shotlines
|
||||
\fIShotlining\fR is a technique whereby lines are described in the target
|
||||
coordinate system and information is requested about the geometry that
|
||||
intersects those lines in 3-space.
|
||||
This technique is useful for analysis programs that must simulate
|
||||
threat/target interactions,
|
||||
and therefore must sample the geometry along the threat path.
|
||||
Typically the lines are specified discretely,
|
||||
by a point and a direction,
|
||||
or a \fIgrid\fR of lines is generated that is
|
||||
oriented perpendicular to the direction of attack.
|
||||
A \fIgrid\fR is rectangular,
|
||||
but is subdivided along its height and width uniformly resulting in square
|
||||
cells.
|
||||
\fIGridding\fR techniques include passing a line called a \fIshotline\fR through
|
||||
the center of each cell,
|
||||
or alternatively,
|
||||
\fIdithering\fR each shotline's position within its respective cell's
|
||||
boundaries (see \fBDithering Shotlines\fR).
|
||||
.Ce
|
||||
.H 2 "Attack Direction"
|
||||
.Cs "/shotlines/attack-direction"
|
||||
The orientation of shotlines with respect to the coordinate system of the
|
||||
target are described by \fIazimuth\fR and \fIelevation\fR angles.
|
||||
These angles must be specified in degrees as floating-point numbers
|
||||
(see \fBGridding\fR).
|
||||
.Ce
|
||||
.H 2 "Gridding"
|
||||
.Cs "/shotlines/shotline location"
|
||||
The user is faced with several choices for generating shotlines;
|
||||
full-target envelope, partial envelopes, or discrete shots.
|
||||
No matter what shotlining method is used,
|
||||
a grid always exists as a frame of reference for specifying 2-dimensional
|
||||
coordinates in the plane normal to the direction of attack.
|
||||
This 2-dimensional coordinate system is a projection of the shotline
|
||||
coordinate system (also referred to as the \fIprimed\fR coordinate system).
|
||||
For the simple case of a zero azimuth, zero elevation attack,
|
||||
the
|
||||
.Ax \*(x) \*(y) \*(z)
|
||||
in the shotline coordinate system coincide
|
||||
with the
|
||||
.Ax \*(X) \*(Y) \*(Z)
|
||||
of the target coordinate system and the shotline direction is parallel to
|
||||
the \*(x)\*(A) and headed toward decreasing coordinates.
|
||||
Other orientations are described by rotating the
|
||||
.Ax \*(x) \*(y) \*(z)
|
||||
to keep the shotline direction always down the \*(x)\*(A).
|
||||
This transformation involves two rotations;
|
||||
first a rotation of the \fIprimed\fR coordinate system about the coincident
|
||||
\*(Z) and \*(z)\*(a) by the specified azimuthal angle,
|
||||
followed by a rotation about the new \*(y)\*(A) by the specified elevation
|
||||
angle.
|
||||
Since the grid is a 2-d projection of the shotline coordinate system,
|
||||
it has no \*(X) coordinate;
|
||||
if the user's viewpoint is from the direction of attack,
|
||||
the \*(y)\*(A) can be thought of as horizontal with increasing coordinates
|
||||
to the right,
|
||||
and the \*(z)\*(A) as vertical and increasing in the upward direction.
|
||||
.Ce
|
||||
.Cs "/shotlines/shotline location/envelope"
|
||||
An \fIenvelope\fR refers to a grid that is dimensioned such that its
|
||||
rectangular area,
|
||||
projected normal to the grid,
|
||||
will cover optionally all or part of the target.
|
||||
.Ce
|
||||
.Cs "/shotlines/shotline location/envelope/enclose-target"
|
||||
This option will generate a grid that is guaranteed to cover the entire
|
||||
target.
|
||||
Since the \*(m) modeler uses combinatorial solid geometry,
|
||||
the dimensions of the target are not known,
|
||||
therefore a worst case bounding rectangular parallel piped (RPP)
|
||||
is the only information available to the program and
|
||||
the grid may be larger than necessary.
|
||||
In addition,
|
||||
depending on the attack aspect,
|
||||
the presented area of some targets may not fill up a rectangular grid well.
|
||||
This should not be a problem since ray tracing outside the target
|
||||
boundaries is cheap, but if desired,
|
||||
the grid can be trimmed down with the partial envelope option described
|
||||
below.
|
||||
The grid origin is always aligned with the target origin.
|
||||
.Ce
|
||||
.Cs "/shotlines/shotline location/envelope/enclose-portion"
|
||||
This option allows the user to generate a \fIsub-grid\fR by specifying the
|
||||
distances from the grid origin to the \fIsub-grid's\fR left, right, top,
|
||||
and bottom boundaries.
|
||||
.Ce
|
||||
.H 2 "Cell Size"
|
||||
.Cs "/shotlines/cell-size"
|
||||
The dimensions of a grid cell are input as floating-point values that
|
||||
represent the distances between the centers of adjacent cells.
|
||||
\fICell size\fR also expresses the projected area of influence
|
||||
associated with a shotline or burst ray.
|
||||
Therefore,
|
||||
\fIcell size\fR must be specified even when a grid will not be generated,
|
||||
such as with discrete shot or discrete burst point selection
|
||||
(see \fBInput Discrete Shots\fR and \fBInput Discrete Burst Points\fR).
|
||||
.Ce
|
||||
.H 2 "Dithering Shotlines"
|
||||
.Cs "/shotlines/dither-cells"
|
||||
When gridding,
|
||||
shotlines normally pass through the center of each cell,
|
||||
however,
|
||||
they may be also be \fIdithered\fR.
|
||||
If the user chooses the latter,
|
||||
2 random numbers are selected for each
|
||||
cell that are used to offset the shotline in both parametric
|
||||
directions of the grid plane,
|
||||
but within the respective cell's boundaries.
|
||||
.Ce
|
||||
.H 2 "Input Discrete Shots"
|
||||
.Cs "/shotlines/shotline location/discrete shots"
|
||||
The following options describe different ways to input explicit shot locations
|
||||
as an alternative to generating a grid.
|
||||
.Ce
|
||||
.Cs "/shotlines/shotline location/discrete shots/target coordinate system"
|
||||
If the user wants to fire at a known point on the target,
|
||||
he may wish to describe the shotline location in target coordinates.
|
||||
When coupled with the attack direction,
|
||||
each 3-dimensional coordinate uniquely specifies a shotline.
|
||||
.Ce
|
||||
.Cs "/shotlines/shotline location/discrete shots/target coordinate system/input-3d-shot"
|
||||
This option allows the user to type in a single shot location as an
|
||||
\*(X), \*(Y), and \*(Z) coordinate.
|
||||
When the
|
||||
.Co execute
|
||||
command is given,
|
||||
that one shot will be run.
|
||||
No queueing of shots occurs in this mode;
|
||||
the last set of coordinates entered will be used.
|
||||
.Ce
|
||||
.Cs "/shotlines/shotline location/discrete shots/target coordinate system/read-3d-shot-file"
|
||||
A number of shots can be input from a file;
|
||||
this option will,
|
||||
after submission of an
|
||||
.Co execute
|
||||
directive,
|
||||
loop through every set of target coordinates in the named file.
|
||||
The file should contain three floating-point numbers on each line separated by
|
||||
white space (blanks or tabs).
|
||||
.Ce
|
||||
.Cs "/shotlines/shotline location/discrete shots/shotline coordinate system"
|
||||
Another way to describe a shot location is in the shotline coordinate
|
||||
system.
|
||||
Since the \*(x) location of the shot is irrelevant (the shotline is
|
||||
parallel to the \*(x)\*(A)) a shot may be specified as a
|
||||
\*(y) and \*(z) coordinate.
|
||||
These coordinates can also be referred to as horizontal and vertical grid
|
||||
offsets.
|
||||
.Ce
|
||||
.Cs "/shotlines/shotline location/discrete shots/shotline coordinate system/input-2d-shot"
|
||||
This option allows the user to type in a single shot location as a
|
||||
\*(y), and \*(z) coordinate.
|
||||
When the
|
||||
.Co execute
|
||||
command is given,
|
||||
that one shot will be run.
|
||||
No queueing of shots occurs in this mode,
|
||||
the last set of grid offsets entered will be used.
|
||||
.Ce
|
||||
.Cs "/shotlines/shotline location/discrete shots/shotline coordinate system/read-2d-shot-file"
|
||||
A number of shots can be input from a file;
|
||||
this option will,
|
||||
after submission of an
|
||||
.Co execute
|
||||
directive,
|
||||
loop through every set of grid offsets in the named file.
|
||||
The file should contain three floating-point numbers on each line separated by
|
||||
white space (blanks or tabs).
|
||||
.Ce
|
||||
.H 1 "Bursting Options"
|
||||
.Cs "/burst points"
|
||||
\fIBursting\fR is a technique for sampling a target's geometry with the use
|
||||
of ray tracing.
|
||||
As opposed to \fIshotlining\fR involving parallel rays,
|
||||
\fIbursting\fR employs a distribution of rays that emanate from a single
|
||||
point.
|
||||
The \*(b) program generates rays that approximate a uniform distribution
|
||||
over a user-specified solid angle (see \fBSampling Cone Half Angle\fR)
|
||||
and having a density (see \fBNumber of Sampling Rays\fR) that is also under
|
||||
control of the user.
|
||||
The user also has a choice between several mechanisms for setting up
|
||||
burst point locations depending on the particular threat he is attempting
|
||||
to emulate.
|
||||
.Ce
|
||||
.H 2 "Method of Locating Burst Point"
|
||||
.Cs "/burst points/bursting method"
|
||||
Depending on threat type,
|
||||
burst points may be located using two basic techniques.
|
||||
The first technique is simply to input the burst point coordinates.
|
||||
This method can be used to compare vulnerability analysis results with
|
||||
empirical results from the firing range or combat field.
|
||||
The second technique available to the user is to burst along a shotline.
|
||||
This option is used more for predicting the burst point location based
|
||||
on target geometry,
|
||||
given certain parameters that describe the target/threat interactions.
|
||||
.Ce
|
||||
.H 3 "Input Discrete Burst Points"
|
||||
.Cs "/burst points/bursting method/burst point coordinates"
|
||||
The input of explicit burst point coordinates can be accomplished
|
||||
either by typing them in one at a time or by reading a file
|
||||
of target \*(X), \*(Y), and \*(Z) coordinates.
|
||||
.Ce
|
||||
.Cs "/burst points/bursting method/burst point coordinates/burst-coordinates"
|
||||
This option allows the user to type in a single burst point location as an
|
||||
\*(X), \*(Y), and \*(Z) coordinate.
|
||||
When the
|
||||
.Co execute
|
||||
command is given,
|
||||
that one burst point will be run.
|
||||
No queueing of burst points occurs in this mode,
|
||||
the last set of coordinates entered will be used.
|
||||
.Ce
|
||||
.Cs "/burst points/bursting method/burst point coordinates/read-burst-file"
|
||||
A number of burst points can be input from a file;
|
||||
this option will,
|
||||
after submission of an
|
||||
.Co execute
|
||||
directive,
|
||||
loop through every set of target coordinates in the named file.
|
||||
The file should contain three numbers on each line separated by
|
||||
white space (blanks or tabs).
|
||||
.Ce
|
||||
.H 3 "Burst on Contact"
|
||||
.Cs "/burst points/bursting method/burst point coordinates/shotline-burst"
|
||||
The
|
||||
.Co shotline-burst
|
||||
directive can be given a \fIyes\fR or \fIno\fR argument to either enable
|
||||
or disable this method of generating burst points.
|
||||
When a \fIyes\fR argument is given,
|
||||
a second \fIyes\fR or \fIno\fR argument is also required
|
||||
(see \fBBurst on Armor\fR).
|
||||
Bursting along a shotline can be done different ways depending on the
|
||||
combination of several options.
|
||||
The location of the burst point is based on the triggering
|
||||
mechanism that is selected with the \fIburst distance\fR parameter.
|
||||
.Ce
|
||||
.H 4 "Burst on Armor"
|
||||
.sp
|
||||
If the \fIburst distance\fR parameter is set to a negative or zero value,
|
||||
then interior burst points will be generated (see \fBBurst Distance\fR).
|
||||
This method of bursting requires the input of \fIburst armor\fR idents and,
|
||||
by default, \fIburst air\fR idents are also required.
|
||||
If the user does not want to require that certain air be present to trigger
|
||||
a burst point,
|
||||
the
|
||||
.Co shotline-burst
|
||||
command has a second argument.
|
||||
When this second argument is set to \fIno\fR,
|
||||
bursting will occur as long as
|
||||
\fIburst armor\fR is followed by any air or void (empty space),
|
||||
and the \fIburst air\fR file is not required.
|
||||
For more information see \fBBurst Armor File\fR and \fBBurst Air File\fR.
|
||||
.Ce
|
||||
.H 4 "Ground Plane Bursting"
|
||||
.Cs "/burst points/bursting method/burst point coordinates/ground-plane"
|
||||
Ground plane bursting is a vehicle for evaluating the effect of
|
||||
fragmenting warheads on light-armored vehicles when they strike the ground
|
||||
in close proximity to the target.
|
||||
The
|
||||
.Co ground-plane
|
||||
command is only relevant when bursting along a shotline is selected.
|
||||
The ground is modeled as a rectangle lying in a plane parallel
|
||||
to the target \fIX-Y\fR plane with edges parallel to the \*(X) and \*(Y)
|
||||
axes.
|
||||
The grid will be enlarged to include the ground plane;
|
||||
it is important for efficiency to limit the size of the ground plane to
|
||||
match the range of the fragments that may be generated by the particular
|
||||
threat being modeled.
|
||||
When enabling this option,
|
||||
the
|
||||
.Co ground-plane
|
||||
command is given a \fIyes\fR argument
|
||||
followed by the height of the target above the ground,
|
||||
and the distances that the ground rectangle extends out positive \*(X),
|
||||
negative \*(X),
|
||||
positive \*(Y),
|
||||
and negative \*(Y) axes.
|
||||
.Ce
|
||||
.H 2 "Bursting Parameters"
|
||||
.Cs "/burst points/bursting parameters"
|
||||
The following parameters influence both the triggering mechanism for burst
|
||||
points,
|
||||
as well as the characteristics of the cone of rays generated from each
|
||||
point.
|
||||
.Ce
|
||||
.H 3 "Burst Distance"
|
||||
.Cs "/burst points/bursting parameters/burst-distance"
|
||||
The \fIburst distance\fR parameter is modeled after the \fBBDIST\fR parameter
|
||||
used by the Air Force's \*(G)\*F code.
|
||||
.FS
|
||||
The Air Force currently uses \*(G) to produce burst point libraries
|
||||
for \*(P) from \*(F) descriptions.
|
||||
.FE
|
||||
The role of this parameter is overloaded,
|
||||
however it was retained to aid \*(G) users in transitioning to the \*(b)
|
||||
program.
|
||||
If it is zero or negative,
|
||||
then \fIinterior bursting\fR is enabled,
|
||||
otherwise,
|
||||
if it is greater than zero, \fIexterior bursting\fR will occur,
|
||||
subject to certain conditions (see below).
|
||||
The magnitude of this parameter is used to offset the burst point location
|
||||
along the shotline relative to the geometry that triggered the burst.
|
||||
.Ce
|
||||
.H 4 "Interior Bursting"
|
||||
.sp
|
||||
\fIBurst armor\fR refers to a component whose ident code is found in
|
||||
the list input by the
|
||||
.Co burst-armor-file
|
||||
command.
|
||||
Similarly,
|
||||
\fIburst air\fR refers to a component whose ident code is found in the
|
||||
list input by the
|
||||
.Co burst-air-file
|
||||
directive.
|
||||
If \fIinterior bursting\fR is enabled
|
||||
and a \fIburst armor\fR component is encountered along a shotline
|
||||
that is immediately followed by \fIburst air\fR,
|
||||
then a burst point will be located the absolute value of \fIburst distance\fR
|
||||
beyond the exit of the shotline from the component.
|
||||
This means that if \fIburst distance\fR is zero,
|
||||
the burst point will lie at the \fIburst armor/air\fR interface,
|
||||
and if it's -5.5,
|
||||
the burst point will lie 5.5 units inside the air compartment from the
|
||||
back surface of the armor.
|
||||
.Ce
|
||||
.H 4 "Exterior Bursting"
|
||||
.sp
|
||||
If \fIburst distance\fR is greater than zero,
|
||||
the first component encountered along the shotline will trigger a
|
||||
burst point,
|
||||
regardless of its ident code,
|
||||
that will be located \fIburst distance\fR
|
||||
in front of the shotline \fIentry\fR point.
|
||||
This technique simulates the behavior of a fragmenting munition with
|
||||
a \fIstandoff\fR fuzing such that detonation is triggered before
|
||||
the collision of the warhead with the target.
|
||||
The \fIburst distance\fR is set to imitate the built in \fIstandoff\fR
|
||||
of the warhead.
|
||||
When employing \fIexterior bursting\fR methods,
|
||||
\fIburst armor\fR and \fIburst air\fR are not used.
|
||||
.sp
|
||||
.H 3 "Sampling Cone Half Angle"
|
||||
.Cs "/burst points/bursting parameters/cone-half-angle"
|
||||
To limit the solid angle within which burst rays will be generated,
|
||||
the user may specify a \fIcone half angle\fR.
|
||||
This angle represents the degrees (in floating point) from the \fIaxis\fR of
|
||||
the cone to its limiting surface.
|
||||
The default value for the \fIcone half angle\fR is 45 degrees.
|
||||
.Ce
|
||||
.H 3 "Deflected Sampling Cone"
|
||||
.Cs "/burst points/bursting parameters/deflect-spall-cone"
|
||||
The spall cone axis is,
|
||||
by default,
|
||||
aligned with the shotline.
|
||||
In reality,
|
||||
the center of mass of the spall cloud would be between the shotline direction
|
||||
and the exit normal of the shotline from the spalling component.
|
||||
By aligning the spall cone axis with a vector halfway between the shotline
|
||||
and the exit normal,
|
||||
a narrower cone half angle can be used and still sample within the solid
|
||||
angle of interest.
|
||||
This technique can therefore be used to cut down on the number of rays
|
||||
calculated without lowering the sampling density.
|
||||
The
|
||||
.Co deflect-spall-cone
|
||||
command takes a \fIyes\fR or \fIno\fR argument about whether or not
|
||||
to divert the cone axis.
|
||||
.Ce
|
||||
.H 3 "Number of Sampling Rays"
|
||||
.Cs "/burst points/bursting parameters/max-spall-rays"
|
||||
The sampling ray density within the spall cone is controlled by specifying
|
||||
the maximum number of rays desired.
|
||||
Due to the uniform distribution algorithm employed,
|
||||
the number of rays calculated will be slightly less.
|
||||
.Ce
|
||||
.H 3 "Maximum Barriers"
|
||||
.Cs "/burst points/bursting parameters/max-barriers"
|
||||
For munitions known to have limited penetration capability,
|
||||
the user may set a limit on the number of burst ray intersections reported.
|
||||
The effect of setting this parameter is to reduce the size of the
|
||||
burst point library (see \fBBurst Point Library\fR) by limiting the
|
||||
number of components that will be reported per burst ray.
|
||||
By default,
|
||||
up to 100 components are reported,
|
||||
as it is not expected that this number will be reached under normal
|
||||
circumstances.
|
||||
.Ce
|
||||
.H 1 "Input File Options"
|
||||
.H 2 "Target-Related Input Files"
|
||||
.Cs "/target files"
|
||||
This group of commands is for specification of target-specific input files.
|
||||
.Ce
|
||||
.H 3 "Target Data Base File"
|
||||
.Cs "/target files/target-file"
|
||||
The input of the target's \*(m) file is accomplished with this command.
|
||||
Note that only one data base may be read in during a given \fIsession\fR.
|
||||
If the user wishes to change the target once the
|
||||
.Co execute
|
||||
command has been given,
|
||||
he must exit the \*(b) program and start a new \fIsession\fR.
|
||||
.Ce
|
||||
.Cs "/target files/target-objects"
|
||||
After specifying the \*(m) file,
|
||||
the user must list all of the objects in the \*(m) hierarchy that he
|
||||
wishes to be included in his analysis.
|
||||
The objects must be listed as arguments to one
|
||||
.Co target-objects
|
||||
command with spaces or tabs as separators.
|
||||
Note that only one list of objects may be loaded per \fIsession\fR,
|
||||
however,
|
||||
they do not get loaded until the
|
||||
.Co execute
|
||||
command is given.
|
||||
.Ce
|
||||
.H 3 "Ident List Input Files"
|
||||
.sp
|
||||
\fIIdents\fR refer to the \fIregion ident\fR code from the \*(m) file.
|
||||
Lists of \fIidents\fR may be specified singly or as ranges.
|
||||
Individual \fIidents\fR must appear as one per line,
|
||||
but ranges are specified by two numbers on a line that are
|
||||
separated by one or more of the following characters: comma, hyphen, colon,
|
||||
semicolon, space, or tab.
|
||||
Figure 6 shows an example of such a file.
|
||||
.DS
|
||||
.sp
|
||||
.so ids.mm
|
||||
.FG "Ident List File Format"
|
||||
.sp
|
||||
.DE
|
||||
.Ce
|
||||
.H 4 "Burst-Armor and Burst-Air Ident Files"
|
||||
.sp
|
||||
.Cs "/target files/burst-armor-file"
|
||||
.Cs "/target files/burst-air-file"
|
||||
When interior burst points are to be generated along a shotline
|
||||
(see \fBInterior Bursting\fR) a file of \fIburst armor\fR idents and
|
||||
\fIburst air\fR idents must be input.
|
||||
If a shotline intersects a component whose \fIident\fR has been input
|
||||
as a \fIburst armor\fR and it is immediately followed by \fIburst air\fR
|
||||
a burst point will be triggered.
|
||||
.Ce
|
||||
.H 4 "Critical Component Idents"
|
||||
.Cs "/target files/critical-comp-file"
|
||||
Whether interior or exterior bursting is being employed,
|
||||
information about components hit by burst rays will only be output
|
||||
for rays that hit \fIcritical components\fR.
|
||||
The file name containing a list of \fIcritical component\fR idents must
|
||||
therefore be input by this command if burst points are to be generated.
|
||||
.Ce
|
||||
.H 3 "Color Mapping Input File"
|
||||
.Cs "/target files/color-file"
|
||||
This command allows users to assign colors to component idents for graphics
|
||||
options,
|
||||
in particular,
|
||||
the
|
||||
.Co image-file
|
||||
and
|
||||
.Co plot-file
|
||||
commands.
|
||||
The format of this file is 5 numbers per line separated by blanks or tabs.
|
||||
The first number is the low end of an ident range and the second number is
|
||||
the high end of the range (both numbers are inclusive).
|
||||
This range is mapped to the color specified by the last 3 numbers on the
|
||||
line that are red, green, and blue components of the color (values for
|
||||
these components must be between 0 and 255 inclusive).
|
||||
Figure 7 shows an example of such a file.
|
||||
.DS
|
||||
.sp
|
||||
.so cmap.mm
|
||||
.FG "Color Mapping File Format"
|
||||
.sp
|
||||
.DE
|
||||
.Ce
|
||||
.H 2 "Project-Related Input Files"
|
||||
.H 3 "Reading Session Files"
|
||||
.Cs "/project files/read-input-file"
|
||||
This command reads an \fIinput\fR file of commands.
|
||||
These files can be generated manually by using a text editor or
|
||||
saved from a \fIsession\fR file with the
|
||||
.Co write-input-file
|
||||
command.
|
||||
See the section called \fBCommand Input\fR for the format of this
|
||||
file.
|
||||
.Ce
|
||||
.H 3 "Shotline and Burst Point Input Files"
|
||||
.sp
|
||||
For an explanation of commands for reading in files of shotline or burst
|
||||
point coordinates,
|
||||
see the sections called \fBInput Discrete Shots\fR and
|
||||
\fBInput Discrete Burst Points\fR.
|
||||
.Ce
|
||||
.H 1 "Output File Options"
|
||||
.Cs "/project files"
|
||||
The following commands will turn on optional output.
|
||||
By default,
|
||||
no output is produced except error logging (see \fBError Log\fR),
|
||||
unless an output file is specified with the appropriate command.
|
||||
Any combination of output options may be specified for a particular run.
|
||||
Note that specifying an output file will cause an existing file with that
|
||||
name to be truncated to zero length.
|
||||
Therefore,
|
||||
only one such command should be entered per \fIsession\fR for a particular file
|
||||
name.
|
||||
Multiple runs during a \fIsession\fR will append to the same files if
|
||||
intervening commands to change the output file name are not given,
|
||||
except for the graphics files as explained below.
|
||||
Note that there is no way to append to a file created by a previous
|
||||
\fIsession\fR of the \*(b) program,
|
||||
but these files may be concatenated after the fact by using the
|
||||
\*(U)
|
||||
.Ud cat 1
|
||||
utility.
|
||||
.Ce
|
||||
.H 2 "Burst Point Library File"
|
||||
.Cs "/project files/burst-file"
|
||||
This command will open the named file for creating a burst point library.
|
||||
If the file exists,
|
||||
it will be truncated by this command.
|
||||
\fBAppendix A\fR describes the format for these files.
|
||||
.Ce
|
||||
.H 2 "Shotline File"
|
||||
.Cs "/project files/shotline-file"
|
||||
This command will open the named file for creating a shotline file.
|
||||
If the file exists,
|
||||
it will be truncated by this command.
|
||||
\fBAppendix B\fR describes the format for these files.
|
||||
.Ce
|
||||
.H 2 "\*(U) Plot File"
|
||||
.Cs "/project files/plot-file"
|
||||
This command generates a \*(U) plot file,
|
||||
using \*(B) extensions to the standard format.
|
||||
This option is useful for examining the shotline and burst ray information
|
||||
graphically as a three-dimensional vector plot.
|
||||
Due to constraints inherent in the \*(U) plot format,
|
||||
these plots must be displayed as a post-process step by using
|
||||
a \*(B) plotting utility such as \fBpl-sgi\fR or \fBpl-fb\fR.
|
||||
Because some of these display programs do not support multiple plots
|
||||
per file,
|
||||
the file name should be changed between runs.
|
||||
Table 3 describes the color mapping associated with these plots.
|
||||
.DF
|
||||
.sp
|
||||
.TB "Color Key for \s-1UNIX\s0 \*(Tm Plots"
|
||||
.so plot.mm
|
||||
.sp
|
||||
.DE
|
||||
.P
|
||||
If the user has specified a color mapping file with the
|
||||
.Co color-file
|
||||
command,
|
||||
then those colors will be used rather than the above colors for
|
||||
all shotline/ray intersections.
|
||||
.Ce
|
||||
.H 2 "Frame Buffer Image"
|
||||
.Cs "/project files/image-file"
|
||||
This option will generate a color image that provides the user with
|
||||
immediate feedback about a run.
|
||||
The grid is displayed graphically and each cell location is dynamically
|
||||
color coded to show its current status.
|
||||
Table 4 describes the color mapping associated with the grid.
|
||||
.DF
|
||||
.sp
|
||||
.TB "Color Key for Frame Buffer Image"
|
||||
.so fb.mm
|
||||
.sp
|
||||
.DE
|
||||
.P
|
||||
In addition to the above cell colors, hits on critical components by burst
|
||||
rays are depicted as a colored pixel projected into grid
|
||||
space from the intersection point where the ray enters the component.
|
||||
Colors for the components are mapped from ident numbers according to the
|
||||
table specified by the user with the
|
||||
.Co "/target files/color-file"
|
||||
directive and shaded using a lighting model illuminated from the viewing
|
||||
direction.
|
||||
.H 2 "Grid File"
|
||||
.Cs "/project files/grid-file"
|
||||
This command will store each shotline coordinate generated during the run
|
||||
as grid offsets.
|
||||
These files can later be read in to replicate a previous run's grid or discrete
|
||||
shots by using the
|
||||
.Co read-2d-shot-file
|
||||
command.
|
||||
This capability is especially useful when \fIdithered\fR shotlines have been
|
||||
used and it is desired that the same shotlines be used in another run.
|
||||
Note that the shotline intersection information is not saved,
|
||||
just the grid offsets for each shotline.
|
||||
.Ce
|
||||
.H 2 "Script File"
|
||||
.Cs "/project files/write-input-file"
|
||||
During a \fIsession\fR,
|
||||
all commands are saved in a temporary file.
|
||||
The
|
||||
.Co write-input-file
|
||||
command will create a \fIsnapshot\fR of this \fIsession\fR file,
|
||||
that can later be used to recreate the current \fIsession\fR
|
||||
up to the point when the file was written.
|
||||
The \fIsession\fR or \fIinput\fR files
|
||||
can later be used in one of two ways: either read in with the
|
||||
.Co read-input-file
|
||||
command,
|
||||
or supplied on the standard input of the \*(b) program.
|
||||
Note that the
|
||||
.Co write-input-file
|
||||
and
|
||||
.Co read-input-file
|
||||
commands will not be included in the \fIinput\fR files,
|
||||
but the commands read in by the latter \fIwill\fR.
|
||||
.Ce
|
||||
.H 2 "Error Log"
|
||||
.Cs "/project files/error-file"
|
||||
This command is useful to save errors in a log file and prevent copious
|
||||
ray tracer diagnostics from scrolling by on the screen.
|
||||
This option is especially useful if using the batch mode of execution
|
||||
so that the terminal is not tied up by program output.
|
||||
If no error log is specified,
|
||||
diagnostic messages will appear in the scrolling window or,
|
||||
if in batch mode,
|
||||
on the \*(b) program's standard error output.
|
||||
.Ce
|
||||
.H 2 "Histogram File"
|
||||
.Cs "/project files/histogram-file"
|
||||
This command generates a frequency histogram to the named file.
|
||||
The file format is simply one number per line; each number is a count
|
||||
of critical components hit by an individual burst ray.
|
||||
This file can easily be post-processed to display a histogram,
|
||||
for instance,
|
||||
how many rays hit zero, one, two, three, etc. components.
|
||||
.Ce
|
||||
.H 1 Conclusion
|
||||
There is a large, and rapidly growing, collection of highly detailed \*(m)
|
||||
models due to the widespread use of the highly portable \*(B) package.
|
||||
The \*(b) program gives the \*(F) community the option of analyzing \*(m)
|
||||
models.
|
||||
This, along with the \*(F) to \*(m) translator will permit an easy transition
|
||||
of the Air Force to the \*(B) system.
|
||||
Then,
|
||||
productivity in the target description arena,
|
||||
that has long been a bottleneck to the vulnerability and lethality analyst,
|
||||
will increase dramatically.
|
||||
Another benefit will be increased accuracy of results due to the superior
|
||||
detail and accuracy afforded by a true combinatorial solid geometry modeler.
|
||||
.H 1 Acknowledgments
|
||||
The author would like to thank Leonard E. Bruenning, Jr. of Sverdrup
|
||||
Technology, Inc. for his thorough, concise and well-illustrated
|
||||
documentation\*F of the requirements to be met by the \*(b) program
|
||||
and for his courteous and professional manner in fielding related questions.
|
||||
.FS
|
||||
Leonard E. Bruenning,
|
||||
"Interface Control Document for BURST Ray Generator Computer Program",
|
||||
\fBTechnical Report\fR,
|
||||
prepared for: Department of the Air Force,
|
||||
Armament Division,
|
||||
Eglin AFB,
|
||||
FL 32542-5000,
|
||||
14 December 1988.
|
||||
.FE
|
||||
.H 1 Appendices
|
||||
Both burst point library files and shotline files are composed
|
||||
of single-line records.
|
||||
Each line begins with a digit that identifies the type of record it represents.
|
||||
Both file formats are composed of one or more \fIruns\fR that begin with a
|
||||
\fIrun header\fR.
|
||||
Each shotline that intersects the target will result in a
|
||||
\fIshotline header\fR that is followed by one or
|
||||
more \fIshotline intersection\fR records.
|
||||
These record types exist for both file formats,
|
||||
but they do not contain the same information.
|
||||
Burst point library files have two additional record types,
|
||||
\fIburst ray headers\fR and \fIburst ray intersections\fR.
|
||||
If a burst point occurs along a shotline,
|
||||
the \fIburst ray header\fR will immediately follow that shotline's last
|
||||
intersection record.
|
||||
Each \fIburst ray header\fR records will be immediately followed by
|
||||
\fIburst ray intersection\fR records,
|
||||
one for each ray that strikes a \fIcritical component\fR.
|
||||
.bp
|
||||
.H 2 "Appendix A: Burst Point Library File Format"
|
||||
Below is a description of the format of the burst point library files that
|
||||
are generated if the
|
||||
.Co burst-file
|
||||
command is used.
|
||||
.DS
|
||||
.so bpl.mm
|
||||
.DE
|
||||
.bp
|
||||
.H 2 "Appendix B: Shotline File Format"
|
||||
Below is a description of the format of the shotline files that are
|
||||
generated if the
|
||||
.Co shotline-file
|
||||
command is used.
|
||||
.DS
|
||||
.so shotlines.mm
|
||||
.DE
|
||||
.de TX
|
||||
.ce
|
||||
TABLE OF CONTENTS \" define header for TOC page
|
||||
..
|
||||
.de TY \" suppress default TOC header
|
||||
..
|
||||
.TC
|
||||
.\" .CS
|
||||
@@ -1,12 +0,0 @@
|
||||
.TS
|
||||
center,box;
|
||||
l.
|
||||
4001 4003 255 255 0 # Fuel
|
||||
4050 4050 255 255 0 # Fuel
|
||||
8000 8001 255 100 255 # Ammo
|
||||
100 165 150 255 100 # Hull armor
|
||||
610 619 220 150 100 # Commander
|
||||
720 729 220 150 100 # Gunner
|
||||
830 839 220 150 100 # Loader
|
||||
940 949 220 150 100 # Driver
|
||||
.TE
|
||||
@@ -1,55 +0,0 @@
|
||||
.so defs.mm
|
||||
.ps -2
|
||||
.vs -2
|
||||
.TS
|
||||
center,allbox,tab(@);
|
||||
cb cb cb
|
||||
_ _ _
|
||||
cb ci c.
|
||||
COMMAND@ARGUMENTS@DESCRIPTION
|
||||
attack-direction@azim_angle elev_angle@specify azimuth and elevation of attack relative to target
|
||||
burst-air-file@file@input burst air idents from \fIfile\fR
|
||||
burst-armor-file@file@input burst armor idents from \fIfile\fR
|
||||
burst-coordinates@X Y Z@input single burst point location in target coordinates
|
||||
burst-distance@distance@offset burst point along shotline (see \fBBurst Distance\fR)
|
||||
burst-file@file@output burst point library to \fIfile\fR
|
||||
cell-size@distance@specify shotline separation (equidistant horizontal and vertical)
|
||||
color-file@file@input ident to color mapping from \fIfile\fR (for graphics)
|
||||
cone-half-angle@angle@specify limiting angle for spall ray generation
|
||||
critical-comp-file@file@input critical component idents from \fIfile\fR
|
||||
deflect-spall-cone@flag@deflect axis of spall cone half way towards exit normal
|
||||
dither-cells@flag@if \fIyes\fR, randomly offset shotline within grid cell
|
||||
enclose-target@@generate rectangular grid of shotlines for full target envelope
|
||||
enclose-portion@left right bottom top@T{
|
||||
generate partial envelope by specifying grid boundaries
|
||||
T}
|
||||
error-file@file@divert all diagnostics to \fIfile\fR
|
||||
execute@@initiate a run (no output produced without this command)
|
||||
grid-file@file@save shotline locations (Y' Z') in \fIfile\fR
|
||||
ground-plane@flag [Z +X -X +Y -Y]@T{
|
||||
if \fIyes\fR, burst on ground (see \fBGround Plane Bursting\fR).
|
||||
T}
|
||||
histogram-file@file@write hit frequency histogram to \fIfile\fR
|
||||
image-file@file@generate frame buffer image on specified \fIfile\fR or device
|
||||
input-2d-shot@Y' Z'@input single shotline location as grid offsets
|
||||
input-3d-shot@X Y Z@input single shotline location in target coordinates
|
||||
max-barriers@count@specify the maximum number of components to report along spall ray
|
||||
max-spall-rays@count@specify the desired number of spall rays generated per burst point
|
||||
plot-file@file@generate \*(U) plot in \fIfile\fR
|
||||
read-2d-shot-file@file@read shot locations from \fIfile\fR as grid offsets (see \fBinput-2d-shot\fR)
|
||||
read-3d-shot-file@file@read shot locations from \fIfile\fR in target coords. (see \fBinput-3d-shot\fR)
|
||||
read-burst-file@file@read burst point locations from \fIfile\fR (see \fBburst-coordinates\fR)
|
||||
read-input-file@file@read key word commands from \fIfile\fR
|
||||
report-overlaps@flag@if \fIyes\fR, log overlap diagnostics
|
||||
shotline-burst@flag [flag]@T{
|
||||
if \fIyes\fR, generate burst points along shotlines (see \fBBurst on Contact\fR).
|
||||
T}
|
||||
shotline-file@file@output shot line data to \fIfile\fR
|
||||
target-file@file@read \*(m) data base from \fIfile\fR
|
||||
target-objects@object0 [object1 object2 ...]@list objects from \*(m) data base to interrogate
|
||||
units@name@linear units (\fIinches,feet,millimeters,centimeters,meters\fR)
|
||||
write-input-file@file@save script of commands in \fIfile\fR
|
||||
#@@any line beginning with the `\fB#\fR' character is a comment
|
||||
.TE
|
||||
.ps +2
|
||||
.vs +2
|
||||
@@ -1,21 +0,0 @@
|
||||
.ds A) \fI axis\fR
|
||||
.ds a) \fI axes\fR
|
||||
.ds B) \fB\s-1BRL-CAD\s0\fR
|
||||
.ds b) \fBburst\fR
|
||||
.ds f) \fBlibfb\fR
|
||||
.ds F) \fB\s-1FASTGEN\s0\fR
|
||||
.ds G) \fB\s-1PGEN\s0\fR
|
||||
.ds l) \fBlibrt\fR
|
||||
.ds m) \fBmged\fR
|
||||
.ds p) \fBlibplot3\fR
|
||||
.ds P) \fB\s-1PDAM\s0\fR
|
||||
.ds S) \fB\s-1SHOTGEN\s0\fR
|
||||
.ds U) \s-1UNIX\s0 \*(Tm
|
||||
.ds X) \fIX\fR
|
||||
.ds Y) \fIY\fR
|
||||
.ds Z) \fIZ\fR
|
||||
.ds x) \fIX'\fR
|
||||
.ds y) \fIY'\fR
|
||||
.ds z) \fIZ'\fR
|
||||
.ds HF 3 3 3 3 3 3 3
|
||||
.ds HP +2 +2 +2 +2 +2 +2 +2
|
||||
@@ -1,15 +0,0 @@
|
||||
.TS
|
||||
center,allbox,tab(@);
|
||||
cb cb cb cb cb
|
||||
_ _ _ _ _
|
||||
lb ci ci ci l.
|
||||
COLOR@R@G@B@REPRESENTATION
|
||||
red@255@0@0@axis of grid
|
||||
black@0@0@0@grid cell boundaries
|
||||
blue@150@100@255@outside of grid
|
||||
lt grey@200@200@200@shot missed target
|
||||
white@255@255@255@shot hit target
|
||||
lt green@200@255@200@burst occurred but hit no critical components
|
||||
pink@255@200@200@burst occurred and hit some critical components
|
||||
purple@255@0@255@a ground burst occurred
|
||||
.TE
|
||||
@@ -1,12 +0,0 @@
|
||||
.TS
|
||||
center,allbox;
|
||||
cb cb
|
||||
_ _
|
||||
ci c.
|
||||
KEY FUNCTION
|
||||
u or ^P move cursor to item above the current item
|
||||
d or ^N move cursor to item below the current item
|
||||
h or ? print help message about the current item
|
||||
q exit the current menu without making a selection
|
||||
space select the current item
|
||||
.TE
|
||||
@@ -1,11 +0,0 @@
|
||||
.TS
|
||||
center,box;
|
||||
l.
|
||||
600-999
|
||||
1011
|
||||
4002-4050
|
||||
8000
|
||||
9001
|
||||
9004
|
||||
9005
|
||||
.TE
|
||||
@@ -1,53 +0,0 @@
|
||||
A joint-services sponsored program is currently establishing a Ballistic
|
||||
Research Laboratory-Computer Aided Design (\*(B))
|
||||
modeling capability at Eglin Air Force Base, Florida.
|
||||
Currently, the Air Force uses \*(F) to model target geometries using
|
||||
polygonal facets, two-dimensional plates, and some solid primitives.
|
||||
They also maintain compatibility with \*(S), a precursor to \*(F).
|
||||
These modelers are cumbersome to use by today's standards and the resultant
|
||||
descriptions,
|
||||
while taking an extremely long time to build,
|
||||
fall far short of the accuracy and information content of true
|
||||
combinatorial solid geometry models such as produced by
|
||||
the \fBM\fRultiple-device \fBG\fRraphics \fBED\fRitor (\*(m)),
|
||||
the \*(B) modeler.
|
||||
Along with this capability comes several key requirements,
|
||||
one of which will be addressed in this paper;
|
||||
an interface to Eglin AFB's Point Burst Damage Assessment Model (\*(P))
|
||||
from \*(B) solid models.
|
||||
.P
|
||||
The \*(b) program enables the user to direct ray tracing
|
||||
of the \*(m) models to prepare inputs to the
|
||||
\*(P) code in the form of shotline files and burst point library files.
|
||||
The program is capable of supporting analyses of varied threat
|
||||
mechanisms on \*(m) targets.
|
||||
The shotline and burst point library files are written in
|
||||
.SM ASCII
|
||||
and are supplemented with both shaded, color images
|
||||
and 3-d vector plots using the \*(B) frame buffer (\*(f)) and extended
|
||||
\*(U)
|
||||
.FS \*(Tm
|
||||
UNIX is a registered trademark of AT&T.
|
||||
.FE
|
||||
plot (\*(p)) libraries for portability to virtually all hardware
|
||||
platforms running the \*(U) operating system.
|
||||
The terminal-independent user interface employs hierarchical menus
|
||||
coupled with optional graphics displays facilitating ease of use and
|
||||
maximizing information feed back to the operator while permitting full
|
||||
featured use from any video terminal or window system.
|
||||
The menu-driven interface is coupled with an interpreter that
|
||||
accepts key word commands for batch input if the user wishes to
|
||||
detach the job to run unattended.
|
||||
These key word command files can either be prepared automatically from
|
||||
the user-selected parameters orchestrated by the menu system,
|
||||
typed in by hand with an editor,
|
||||
or perhaps generated from another process in a pipeline configuration.
|
||||
.P
|
||||
This paper is intended to serve a dual function,
|
||||
both as a technical memorandum,
|
||||
and as a user manual.
|
||||
Hopefully,
|
||||
not only will it help one appreciate why \*(b) was developed in the first place
|
||||
but will help readers decide whether they need to acquire it,
|
||||
and if so,
|
||||
how to use it.
|
||||
@@ -1,28 +0,0 @@
|
||||
'\" define macro for program usage examples
|
||||
.de Ex
|
||||
.sp
|
||||
.in +0.5i
|
||||
\fI$\ \\$1\fR
|
||||
.in -0.5i
|
||||
.sp
|
||||
..
|
||||
'\" define macro for naming coordinate axes
|
||||
.de Ax
|
||||
\\$1, \\$2, and \\$3\fI axes\fR
|
||||
..
|
||||
'\" define macro for naming commands
|
||||
.de Co
|
||||
\fB\\$1\fR
|
||||
..
|
||||
'\" define macros for command descriptions.
|
||||
.de Cs \" Start command description.
|
||||
.br
|
||||
\s-1\fB[menu reference:\\$1]\fR\s0
|
||||
.P
|
||||
..
|
||||
.de Ce \" End command description.
|
||||
.sp
|
||||
..
|
||||
.de Ud
|
||||
.BI \\$1 (\\$2)\^
|
||||
..
|
||||
@@ -1,48 +0,0 @@
|
||||
.so defs.mm
|
||||
.H 1 Introduction
|
||||
.H 1 "User Interface"
|
||||
.H 2 "Program Invocation"
|
||||
.H 2 "Command Input"
|
||||
.H 2 "Screen Layout"
|
||||
.H 2 "Hierarchical Menus"
|
||||
.H 2 "Scrolling Region"
|
||||
.H 1 "Shotlining Options"
|
||||
.H 2 "Attack Direction"
|
||||
.H 2 "Cell Size"
|
||||
.H 2 "Dithering"
|
||||
.H 2 "Gridding"
|
||||
.H 3 "Envelope"
|
||||
.H 4 "Enclose target"
|
||||
.H 4 "Enclose portion of target"
|
||||
.H 3 "Input shot coordinates"
|
||||
.H 4 "Target coordinate system"
|
||||
.H 5 "Type in 3-D coordinates"
|
||||
.H 5 "Read file of 3-D coordinates"
|
||||
.H 4 "Shotline coordinate system"
|
||||
.H 5 "Type in 2-D coordinates"
|
||||
.H 5 "Read file of 2-D coordinates"
|
||||
.H 1 "Bursting Options"
|
||||
.H 2 "Method of Locating Burst Point"
|
||||
.H 3 "Input burst point coordinates"
|
||||
.H 4 "Type in 3-D coordinates"
|
||||
.H 4 "Read file of 3-D coordinates"
|
||||
.H 3 "Burst on contact"
|
||||
.H 4 "Ground plane bursting"
|
||||
.H 4 "Burst on armor"
|
||||
.H 2 "Bursting Parameters"
|
||||
.H 3 "Burst distance"
|
||||
.H 3 "Sampling cone half angle"
|
||||
.H 3 "Deflected sampling cone"
|
||||
.H 3 "Number of sampling rays"
|
||||
.H 3 "Maximum barriers"
|
||||
.H 1 "Output Options"
|
||||
.H 2 "UNIX Plot File"
|
||||
.H 2 "Frame Buffer Image"
|
||||
.H 2 "Burst Point Library"
|
||||
.H 2 "Shotline File"
|
||||
.H 2 "Grid File"
|
||||
.H 2 "Script File"
|
||||
.H 2 "Error Log"
|
||||
.H 1 Conclusion
|
||||
|
||||
|
||||
@@ -1,18 +0,0 @@
|
||||
.TS
|
||||
center,box,tab(@);
|
||||
l.
|
||||
OVERLAP:
|
||||
reg=/component/turret/tur.ext/tur.armor/tur.bot{{0}} isol=s2,
|
||||
reg=/component/hull/hull.ext/hull.armor/r1.top{{0}} osol=ss4,
|
||||
depth 544.21mm at (-471.784,812.8,0) x-2 y1 lvl0 purpose=shotline
|
||||
_
|
||||
OVERLAP:
|
||||
reg=/component/turret/tur.ext/tur.ring{{0}} isol=ss2,
|
||||
reg=/component/turret/tur.ext/tur.armor/tur.bot{{0}} osol=s2,
|
||||
depth 25.39mm at (-418.907,812.8,0) x-2 y1 lvl1 purpose=normal thickness
|
||||
_
|
||||
OVERLAP:
|
||||
reg=/component/turret/tur.ext/tur.ring{{0}} isol=ss2,
|
||||
reg=/component/turret/tur.ext/tur.armor/tur.bot{{0}} osol=s2,
|
||||
depth 52.88mm at (-418.907,-812.8,0) x-2 y1 lvl1 purpose=spall ray
|
||||
.TE
|
||||
@@ -1,13 +0,0 @@
|
||||
.TS
|
||||
center,allbox,tab(@);
|
||||
cb cb cb cb cb
|
||||
_ _ _ _ _
|
||||
lb ci ci ci l.
|
||||
COLOR@R@G@B@REPRESENTATION
|
||||
yellow@255@255@0@grid cell centers
|
||||
red@255@0@0@burst cone
|
||||
blue@0@0@255@default component intersection
|
||||
lt blue@100@100@255@default outside air intersection
|
||||
lt green@100@255@100@default inside air intersection
|
||||
purple@255@0@255@default critical component intersection
|
||||
.TE
|
||||
@@ -1,10 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
MASTER=burst
|
||||
#MASTER=debug
|
||||
|
||||
doclifter -h hints.txt -x -vvvv $MASTER.mm #2>t
|
||||
|
||||
STATUS=$?
|
||||
|
||||
echo "doclifter return value for '$MASTER' was '$STATUS'"
|
||||
@@ -1,54 +0,0 @@
|
||||
.TS
|
||||
center,box,tab(@);
|
||||
c0 l s s s.
|
||||
@0.97 user + 1.21 sys in 6 elapsed secs (16.1667%)
|
||||
.T&
|
||||
c0 c c c c
|
||||
c0 | c | c | c | c
|
||||
c0 | c | c | c | c
|
||||
c0 | c | _ | c | c
|
||||
c0 | c | c | c | c
|
||||
c0 | c | c | c | c
|
||||
c0 | c | c _ c
|
||||
c0 | c | c c c .
|
||||
@_@_@_@
|
||||
@units@bursting method@burst-distance
|
||||
@project files@\fBbursting parameters\fR@\fBcone-half-angle\fR
|
||||
@target files@@deflect-spall-cone
|
||||
@shotlines@@max-spall-rays
|
||||
@\fBburst points\fR@@max-barriers
|
||||
@comment
|
||||
@execute
|
||||
@preferences
|
||||
@_@
|
||||
.sp 2
|
||||
.T&
|
||||
c0 lb s s c
|
||||
c0 lb s s c
|
||||
c0 l s s s .
|
||||
@degrees from spall cone axis to limit burst rays
|
||||
@Cone angle ? (degrees)[45.000000]
|
||||
@___BURST (2.2)_______________________________________________
|
||||
.T&
|
||||
c0 l l.
|
||||
@error-file@tfiles/ktank.log
|
||||
@plot-file@tfiles/ktank.plot
|
||||
@image-file@/dev/sgi
|
||||
@units@inches
|
||||
@shotline-file@tfiles/ktank.shotlines
|
||||
@burst-file@tfiles/ktank.burst
|
||||
@burst-air-file@tfiles/ktank,air.ids
|
||||
@burst-armor-file@tfiles/ktank,armor.ids
|
||||
@critical-comp-file@tfiles/ktank,crit.ids
|
||||
@color-file@tfiles/ktank,colors
|
||||
@burst-distance@0
|
||||
@cell-size@16
|
||||
@attack-direction@0 0
|
||||
@max-spall-rays@50
|
||||
@cone-half-angle@45
|
||||
@target-file@/vld/moss/g/ktank.g
|
||||
@target-objects@component
|
||||
@report-overlaps@no
|
||||
@shotline-burst@yes yes
|
||||
@#ground-plane@yes 66 200 200 200 200
|
||||
.TE
|
||||
@@ -1,12 +0,0 @@
|
||||
.TS
|
||||
center;
|
||||
c c c.
|
||||
\d\s+6\s+4^\s-4\s-6\u _ \d\s+6\s+4^\s-4\s-6\u
|
||||
| target files |
|
||||
| shotlines |
|
||||
| burst points |
|
||||
| comment |
|
||||
| \fBexecute\fR |
|
||||
| preferences |
|
||||
\s+2+\s0 _ \s+2+\s0
|
||||
.TE
|
||||
@@ -1,29 +0,0 @@
|
||||
.TS
|
||||
center,allbox,tab(@);
|
||||
lb lb lb
|
||||
_ _ _
|
||||
l l l.
|
||||
record description@field format@field description
|
||||
run header@'1'@record number 1
|
||||
@1x,f9.4@attack azimuth in degrees
|
||||
@1x,f8.4@attack elevation in degrees
|
||||
@1x,f7.2@shotline separation
|
||||
@1x,f7.2@maximum Y' coordinate of target
|
||||
@1x,f7.2@minimum Y' coordinate of target
|
||||
@1x,f7.2@maximum Z' coordinate of target
|
||||
@1x,f7.2@minimum Z' coordinate of target
|
||||
@1x,6a@units (\fImm,cm,inches,feet,meters\fR)
|
||||
shotline header@'2'@record number 2
|
||||
@1x,f8.3@Y' coordinate of shotline
|
||||
@1x,f8.3@Z' coordinate of shotline
|
||||
shotline intersections@'3'@record number 3
|
||||
@1x,f8.2@X' coordinate of intersection
|
||||
@1x,f7.3@sine of fallback angle of exit normal
|
||||
@1x,f7.2@rotation angle of exit normal in degrees
|
||||
@1x,i4@component code number
|
||||
@1x,f8.2@normal thickness of component
|
||||
@1x,f8.2@line-of-sight thickness of component
|
||||
@1x,i2@space code following component
|
||||
@1x,f7.2@obliquity angle at entry to component in degrees
|
||||
@1x,f7.2@obliquity angle at exit from component in degrees
|
||||
.TE
|
||||
@@ -1,12 +0,0 @@
|
||||
.TS
|
||||
center,tab(@);
|
||||
c c c c c.
|
||||
\s+2+\s0@_@\s+2+\s0@_@\s+2+\s0
|
||||
|@units@|@\fBtarget-file\fR@|
|
||||
|@project files@|@target-objects@|
|
||||
|@\fBtarget files\fR@|@burst-air-file@|
|
||||
|@shotlines@|@burst-armor-file@|
|
||||
|@burst points@|@critical-comp-file@|
|
||||
|@comment@|@color-file@|
|
||||
\s+2v\s0@_@\s+2+\s0@_@\s+2+\s0
|
||||
.TE
|
||||
@@ -1,10 +0,0 @@
|
||||
.ce
|
||||
\fB``burst''; Air Force Vulnerability Analyses from BRL-CAD Models\fR
|
||||
.ce
|
||||
"\fIGary S. Moss"
|
||||
.sp
|
||||
.ce 4
|
||||
"\fRBRL-CAD Open Source"
|
||||
.sp
|
||||
.ce
|
||||
"moss@vmb.brl.mil"
|
||||
@@ -1,12 +0,0 @@
|
||||
.TS
|
||||
center;
|
||||
c c c.
|
||||
\s+2+\s0 _ \s+2+\s0
|
||||
| \fBunits\fR |
|
||||
| project files |
|
||||
| target files |
|
||||
| shotlines |
|
||||
| burst points |
|
||||
| comment |
|
||||
\s+2v\s0 _ \s+2v\s0
|
||||
.TE
|
||||
@@ -0,0 +1,117 @@
|
||||
.TH BW 5 BRL-CAD
|
||||
.\" B W . 5
|
||||
.\" BRL-CAD
|
||||
.\"
|
||||
.\" Copyright (c) 2005-2011 United States Government as represented by
|
||||
.\" the U.S. Army Research Laboratory.
|
||||
.\"
|
||||
.\" Redistribution and use in source (Docbook format) and 'compiled'
|
||||
.\" forms (PDF, PostScript, HTML, RTF, etc), with or without
|
||||
.\" modification, are permitted provided that the following conditions
|
||||
.\" are met:
|
||||
.\"
|
||||
.\" 1. Redistributions of source code (Docbook format) must retain the
|
||||
.\" above copyright notice, this list of conditions and the following
|
||||
.\" disclaimer.
|
||||
.\"
|
||||
.\" 2. Redistributions in compiled form (transformed to other DTDs,
|
||||
.\" converted to PDF, PostScript, HTML, RTF, and other formats) must
|
||||
.\" reproduce the above copyright notice, this list of conditions and
|
||||
.\" the following disclaimer in the documentation and/or other
|
||||
.\" materials provided with the distribution.
|
||||
.\"
|
||||
.\" 3. The name of the author may not be used to endorse or promote
|
||||
.\" products derived from this documentation without specific prior
|
||||
.\" written permission.
|
||||
.\"
|
||||
.\" THIS DOCUMENTATION IS PROVIDED BY THE AUTHOR AS IS'' AND ANY
|
||||
.\" EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||
.\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
||||
.\" ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
|
||||
.\" OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
|
||||
.\" BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
|
||||
.\" LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
|
||||
.\" USE OF THIS DOCUMENTATION, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\".\".\"
|
||||
.SH NAME
|
||||
bw \- Black and White image file format and utilities
|
||||
.SH FORMAT
|
||||
A
|
||||
.I bw
|
||||
file contains sequences of pixels.
|
||||
Each pixel is stored as one \fBunsigned char\fR, and thus
|
||||
ranges in intensity from 0 (black) to 255 (white).
|
||||
The first pixel in a
|
||||
.I bw
|
||||
file is the lower left corner of the image.
|
||||
The pixels proceed from left-to-right across each scanline,
|
||||
with scanlines being written from the bottom to the top of the image.
|
||||
.PP
|
||||
By convention,
|
||||
.I bw
|
||||
images are usually square, and thus their dimensions
|
||||
can be determined by the file size. If this is not the case, often
|
||||
only the file width need be known by a program reading the file. History
|
||||
has left us with two "standard" sizes, 512x512 and the "higher" 1024x1024.
|
||||
A common practice for other file sizes is to include the file width in
|
||||
the filename.
|
||||
.PP
|
||||
At some time in the future
|
||||
.I bw
|
||||
files will probably get self-typing headers so that parameters such as
|
||||
their size can be automatically determined by programs.
|
||||
.SH UTILITIES
|
||||
.B bw-fb
|
||||
display a .bw format image on a framebuffer.
|
||||
.br
|
||||
.B fb-bw
|
||||
produce a .bw file from a framebuffer image.
|
||||
.br
|
||||
.B bw-pix
|
||||
convert a .bw file to a color .pix file.
|
||||
.br
|
||||
.B pix-bw
|
||||
convert a color .pix file to a .bw file.
|
||||
.br
|
||||
.B bwstat
|
||||
gives statistics concerning a .bw file.
|
||||
.br
|
||||
.B bwhist
|
||||
displays a histogram on a framebuffer.
|
||||
.br
|
||||
.B bwmod
|
||||
a filter to shift and scale pixel intensities.
|
||||
.br
|
||||
.B bwdiff
|
||||
yields the difference between two .bw files.
|
||||
.br
|
||||
.B bwrect
|
||||
extracts an arbitrary rectangle from a .bw file.
|
||||
.br
|
||||
.B bwcrop
|
||||
maps any quadrilateral in a .bw file into any rectangle.
|
||||
.br
|
||||
.B bwrot
|
||||
rotates, reverses, or inverts a .bw file.
|
||||
.br
|
||||
.B bwscale
|
||||
scales a .bw file larger or smaller.
|
||||
.br
|
||||
.B bwfilter
|
||||
a variety of 3x3 kernel filters for .bw images.
|
||||
.br
|
||||
.B bw3-pix
|
||||
merges three .bw files into one .pix file.
|
||||
.br
|
||||
.B pix-bw3
|
||||
separates .pix file RGB colors into three .bw files.
|
||||
.br
|
||||
.SH FILES
|
||||
file.bw
|
||||
.SH SEE ALSO
|
||||
brlcad(1), pix(5), and above named programs.
|
||||
+95
@@ -0,0 +1,95 @@
|
||||
.TH CMAP 5 BRL-CAD
|
||||
.\" C M A P . 5
|
||||
.\" BRL-CAD
|
||||
.\"
|
||||
.\" Copyright (c) 2005-2011 United States Government as represented by
|
||||
.\" the U.S. Army Research Laboratory.
|
||||
.\"
|
||||
.\" Redistribution and use in source (Docbook format) and 'compiled'
|
||||
.\" forms (PDF, PostScript, HTML, RTF, etc), with or without
|
||||
.\" modification, are permitted provided that the following conditions
|
||||
.\" are met:
|
||||
.\"
|
||||
.\" 1. Redistributions of source code (Docbook format) must retain the
|
||||
.\" above copyright notice, this list of conditions and the following
|
||||
.\" disclaimer.
|
||||
.\"
|
||||
.\" 2. Redistributions in compiled form (transformed to other DTDs,
|
||||
.\" converted to PDF, PostScript, HTML, RTF, and other formats) must
|
||||
.\" reproduce the above copyright notice, this list of conditions and
|
||||
.\" the following disclaimer in the documentation and/or other
|
||||
.\" materials provided with the distribution.
|
||||
.\"
|
||||
.\" 3. The name of the author may not be used to endorse or promote
|
||||
.\" products derived from this documentation without specific prior
|
||||
.\" written permission.
|
||||
.\"
|
||||
.\" THIS DOCUMENTATION IS PROVIDED BY THE AUTHOR AS IS'' AND ANY
|
||||
.\" EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||
.\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
||||
.\" ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
|
||||
.\" OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
|
||||
.\" BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
|
||||
.\" LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
|
||||
.\" USE OF THIS DOCUMENTATION, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\".\".\"
|
||||
.SH NAME
|
||||
cmap \- Framebuffer colormap file format and utilities
|
||||
.SH FORMAT
|
||||
A
|
||||
.I cmap
|
||||
file is a storage format for framebuffer colormaps.
|
||||
It is an ascii file with one line per colormap entry.
|
||||
In order to accommodate colormaps of any "depth" (number
|
||||
of bits per entry), 16 bit unsigned integers were selected
|
||||
(see
|
||||
.IR libfb (3)
|
||||
for a discussion of the C program interface to colormaps).
|
||||
A value of zero corresponds to full off, or black, a
|
||||
value of 65535 decimal or ffff hexidecimal corresponds to
|
||||
full on, or white. A given device will use as many of
|
||||
the "leftmost" bits as it can support.
|
||||
.PP
|
||||
Each line of the file has a decimal colormap index, followed
|
||||
by a tab character, and then three 4 digit
|
||||
hexadecimal values, separated by spaces, which correspond to
|
||||
the red, green, and blue, channels. Any blank lines or lines
|
||||
beginning with non-numeric characters are ignored, and can thus
|
||||
be used for comments.
|
||||
.PP
|
||||
There is no requirement for all 256 entries to be specified.
|
||||
What is done with any unspecified entries is up to the individual
|
||||
programs using the colormap.
|
||||
.SH EXAMPLE
|
||||
The beginning of an eight bit inverse video colormap might look
|
||||
as follows:
|
||||
.sp 1
|
||||
.nf
|
||||
# Inverse video colormap
|
||||
0 ff00 ff00 ff00
|
||||
1 fe00 fe00 fe00
|
||||
2 fd00 fd00 fd00
|
||||
3 fc00 fc00 fc00
|
||||
4 fb00 fb00 fb00
|
||||
.sp 1
|
||||
.SH UTILITIES
|
||||
.B fb-cmap
|
||||
save a colormap from a framebuffer.
|
||||
.br
|
||||
.B cmap-fb
|
||||
load a saved colormap into a framebuffer.
|
||||
.br
|
||||
.B fbcmap
|
||||
loads one of several "standard" colormaps.
|
||||
.br
|
||||
.B fbgamma
|
||||
loads gamma correcting colormaps.
|
||||
.SH FILES
|
||||
file.cm
|
||||
.SH SEE ALSO
|
||||
brlcad(1), and above named programs.
|
||||
@@ -1,17 +0,0 @@
|
||||
These are some notes about using text manipulation tools to try taking the csv
|
||||
text files from GCI's transcription work and formatting them as comgeom files.
|
||||
I don't think they're fully working as yet, but certainly they are a starting
|
||||
point.
|
||||
|
||||
tr "\r" "\n" < in_raw.csv > in.csv
|
||||
|
||||
Solid table:
|
||||
|
||||
awk -F, 'BEGIN {widthlist = "3 3 10 10 10 10 10 10 10"; split (widthlist, widths, " ")}{for(i=1;i<=NF;i++){printf "%-*s", widths[i],$i};printf "\n"}' in.csv
|
||||
|
||||
Region table:
|
||||
awk -F, 'BEGIN {widthlist = "5 2 5 7 7 7 7 7 7 7 2 5 10"; split (widthlist, widths, " ")}{for(i=1;i<=NF;i++){printf "%-*s", widths[i],$i};printf "\n"}' in.csv
|
||||
|
||||
Ident table:
|
||||
awk -F, 'BEGIN {widthlist = "10 10 10 43 3 3"; split (widthlist, widths, " ")}{for(i=1;i<=NF;i++){printf "%-*s", widths[i],$i};printf "\n"}' in.csv
|
||||
|
||||
+24
-13
@@ -2,6 +2,11 @@ BRL-CAD Concurrent Versions System Policy and Guidelines
|
||||
========================================================
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
**********************************************************************
|
||||
NOTE: THESE INSTRUCTIONS ARE OUT-OF-DATE AS BRL-CAD NOW USES
|
||||
SUBVERSION INSTEAD OF CVS. CONSULT WITH CAUTION AS SOME PORTIONS ARE
|
||||
@@ -9,6 +14,12 @@ STILL RELEVANT BUT OTHERS THAT ARE CVS-SPECIFIC ARE NOT.
|
||||
**********************************************************************
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
The document includes a set of requirements and recommended procedures
|
||||
for how to effectively use CVS with this project. Included are
|
||||
details on checking code in and out, effective use of commit messages,
|
||||
@@ -32,7 +43,7 @@ the following general rules should always be adhered to:
|
||||
for correct and proper functionality.
|
||||
|
||||
4. Commit and update frequently. Large or complicated changes should
|
||||
be broken up into smaller succinct commits as best possible to make
|
||||
be broken up into smaller succint commits as best possible to make
|
||||
reviewing easier. Commit working code early and commit often.
|
||||
|
||||
5. Be consistent and informative. Tags need to follow a consistent
|
||||
@@ -88,7 +99,7 @@ OVERVIEW
|
||||
The intent of this document is to cover the broad aspects of how
|
||||
CVS is to be organized and used. This includes branch management,
|
||||
tag naming conventions, checking sources in and out, and other
|
||||
relevant usage policy.
|
||||
relevent usage policy.
|
||||
|
||||
CVS branches should be used to separate out the various types of
|
||||
source code revisions. These include:
|
||||
@@ -105,7 +116,7 @@ OVERVIEW
|
||||
maintenance branch may and should exist for making patch releases.
|
||||
Finally, various experimental and developer undertakings that may
|
||||
benefit by being isolated from changes to HEAD or STABLE, or would
|
||||
likewise be disruptive to normal HEAD functionality, may live on
|
||||
likewise be distruptive to normal HEAD functionality, may live on
|
||||
a branch of their own.
|
||||
|
||||
It's very important that the main CVS HEAD revision be a "mostly"
|
||||
@@ -142,7 +153,7 @@ CHECKING OUT SOURCES
|
||||
will checkout using the default implicit :ext: method and will
|
||||
need to provide an authorized username. Be sure to use the "-P"
|
||||
checkout option to remove (prune) empty directories. The "-z9"
|
||||
global CVS option is encouraged to minimize network utilization.
|
||||
global CVS option is encouraged to minimze network utilization.
|
||||
|
||||
|
||||
FROM HEAD:
|
||||
@@ -446,7 +457,7 @@ TAG NAMING CONVENTIONS
|
||||
FORMAT FOR MISCELLANEOUS TAGS:
|
||||
|
||||
For everything else, the basic structure of the tags still
|
||||
applies. Lower case, dash-separated, and hopefully succinctly
|
||||
applies. Lower case, dash-separated, and hopefully succintly
|
||||
informative tag names should be used. Dates are highly
|
||||
recommended as CVS tags are not associated by date, but rather
|
||||
to the individual revision of a file.
|
||||
@@ -519,7 +530,7 @@ MAKING A RELEASE
|
||||
In this example, brlcad is an unmodified top-level source
|
||||
directory and "brlcad.modified" is a top-level source directory
|
||||
that has been modified. That same patch file may then be applied
|
||||
to a checkout and committed to CVS.
|
||||
to a checkout and commited to CVS.
|
||||
|
||||
If there is an active maintenance branch that a patch was started
|
||||
from, it is generally easier to apply the patch to the maintenance
|
||||
@@ -530,7 +541,7 @@ MAKING A RELEASE
|
||||
chunks. See the patch manual documentation for more details.
|
||||
|
||||
Failing any of the above, patches may also be applied manually.
|
||||
This is often even desirable to become more familiar with the
|
||||
This is often even desireable to become more familiar with the
|
||||
changes being made providing an opportunity for a healthy peer
|
||||
review.
|
||||
|
||||
@@ -546,14 +557,14 @@ MERGING A BRANCH
|
||||
|
||||
Regardless if the branch is a maintenance branch or the STABLE
|
||||
branch, the fundamental "action" in performing a merge is called a
|
||||
CVS join. You can join code committed to one branch revision into
|
||||
CVS join. You can join code commited to one branch revision into
|
||||
another branch revision by passing the "-j" option to the cvs
|
||||
update command. It's important to note that joins occur from code
|
||||
that is already committed.
|
||||
|
||||
Once the code is joined, it may be committed to CVS. If you have
|
||||
changes on a branch that have not yet been committed, they should
|
||||
first be committed before attempting the join.
|
||||
changes on a branch that have not yet been commited, they should
|
||||
first be commited before attempting the join.
|
||||
|
||||
|
||||
MERGING A BRANCH INTO HEAD:
|
||||
@@ -578,12 +589,12 @@ MERGING A BRANCH
|
||||
|
||||
The comment should contain or be the keyword of the branch being
|
||||
merged in. For example, "premerge-20040315-windows" indicates a
|
||||
merge that occurred on March 15th, 2004, from the windows-branch.
|
||||
merge that occured on March 15th, 2004, from the windows-branch.
|
||||
|
||||
If there are any conflicts, they would of course need to be
|
||||
manually resolved. Once any conflicts are resolved and the
|
||||
sources are tested for functionality, the changes could then be
|
||||
committed to HEAD. Be careful to notice any file additions or
|
||||
commited to HEAD. Be careful to notice any file additions or
|
||||
deletions as CVS, generally speaking, will not manage those for
|
||||
you until they are committed.
|
||||
|
||||
@@ -706,7 +717,7 @@ USAGE TIPS
|
||||
way to cope. If you still REALLY need to move a directory, a
|
||||
little find scripting can make it easy. In case you didn't get
|
||||
the hint DO NOT MOVE/RENAME DIRECTORIES unless there's a _very_
|
||||
good reason. This implicitly means that extra care and thought
|
||||
good reason. This implictly means that extra care and thought
|
||||
should be made when naming new directories to be added to the
|
||||
repository.
|
||||
|
||||
|
||||
@@ -0,0 +1,395 @@
|
||||
-*- coding: utf-8 -*-
|
||||
BRL-CAD Deprecation Log
|
||||
=======================
|
||||
|
||||
Included below is a deprecation log and notes for BRL-CAD public
|
||||
interface changes that potentially impact external developers and
|
||||
users. Public interfaces include developer application programming
|
||||
interface (API) calls as well as user application command-line
|
||||
interface (CLI) and graphical user interface (GUI) behaviors.
|
||||
|
||||
The general practice is that public interface changes may go from
|
||||
deprecated to obsolete, whereby previous behavior is removed or
|
||||
changed, during one of the following events:
|
||||
|
||||
a) during a major release (e.g. going from 7.*.* to 8.*.*)
|
||||
|
||||
b) during a minor release provided the change was publicly announced
|
||||
as deprecated beforehand AND sufficient deprecation warning was
|
||||
given via either i) three minor releases included the deprecation
|
||||
notice, or ii) three months passed since deprecation
|
||||
|
||||
c) during a minor release provided there still exists an equivalent
|
||||
alternative interface that will not impose an undue burden on users
|
||||
or developers (see "MINIMALLY IMPACTING API CHANGES" below)
|
||||
|
||||
d) during a patch release provided you can correctly prove P = NP
|
||||
|
||||
If a change will intentionally replace or remove functionality, then
|
||||
they should be then marked as deprecated first. Otherwise, changes to
|
||||
interfaces that are never publicly announced, not installed, or are
|
||||
not part of publicly available documentation are fair game to change
|
||||
as needed.
|
||||
|
||||
Where feasible, interfaces should be visibly marked as deprecated
|
||||
either during compile-time with #warning pre-processor declarations or
|
||||
during run-time with print statements.
|
||||
|
||||
The items listed below are interfaces that are deprecated or obsolete,
|
||||
categorized by the release in which the change was made. If the
|
||||
change involved a rename/removal of a routine, both the original and
|
||||
new names should be listed for reference.
|
||||
|
||||
|
||||
**************
|
||||
* DEPRECATED *
|
||||
**************
|
||||
|
||||
7.18
|
||||
----
|
||||
|
||||
raytrace.h rt_comb_internal members
|
||||
region_id -> region_id attribute [deprecated 7.18]
|
||||
aircode -> air attribute [deprecated 7.18]
|
||||
GIFTmater -> material_id attribute [deprecated 7.18]
|
||||
los -> los attribute [deprecated 7.18]
|
||||
bu.h xdr API
|
||||
BU_GLONGLONG() -> ntohll() [deprecated 7.18]
|
||||
BU_GLONG() -> ntohl() [deprecated 7.18]
|
||||
BU_GSHORT() -> ntohs() [deprecated 7.18]
|
||||
bu_gshort() -> ntohs() [deprecated 7.18]
|
||||
bu_glong() -> ntohl() [deprecated 7.18]
|
||||
bu_pshort() -> htons() [deprecated 7.18]
|
||||
bu_plong() -> htonl() [deprecated 7.18]
|
||||
bu_plonglong() -> htonll() [deprecated 7.18]
|
||||
db.h
|
||||
rt_fastf_float() -> ntohf() [deprecated 7.18]
|
||||
rt_mat_dbmat() -> htonf() [deprecated 7.18]
|
||||
rt_dbmat_mat() -> ntohf() [deprecated 7.18]
|
||||
dbcp
|
||||
dbcp -> dd [deprecated 7.18]
|
||||
mged
|
||||
?(*) -> ? -(*) [deprecated 7.18]
|
||||
apropos(*) -> apropos -(*) [deprecated 7.18]
|
||||
dbconcat -> db concat [deprecated 7.18]
|
||||
dbupgrade -> db upgrade [deprecated 7.18]
|
||||
dbversion -> db version [deprecated 7.18]
|
||||
dbfind -> search [deprecated 7.18]
|
||||
debug* -> debug [deprecated 7.18]
|
||||
comb_std -> comb [deprecated 7.18]
|
||||
comb_color -> comb [deprecated 7.18]
|
||||
combmem -> comb [deprecated 7.18]
|
||||
kill(*) -> kill [deprecated 7.18]
|
||||
rotobj -> rot [deprecated 7.18]
|
||||
qvrot -> rot -q -v [deprecated 7.18]
|
||||
qorot -> rot -q [deprecated 7.18]
|
||||
([amov])rot -> rot -([amv]) [deprecated 7.18]
|
||||
([op])scale -> sca -(p) [deprecated 7.18]
|
||||
([op])translate -> tra -(p) [deprecated 7.18]
|
||||
nmg_(*) -> nmg (*) [deprecated 7.18]
|
||||
bot_(*) -> bot (*) [deprecated 7.18]
|
||||
[so]ed -> edit [deprecated 7.18]
|
||||
[tr]ed -> edit -t [deprecated 7.18]
|
||||
ls -oA -> ls -O [deprecated 7.18]
|
||||
draw -oA -> draw -O [deprecated 7.18]
|
||||
erase -oA -> erase -O [deprecated 7.18]
|
||||
erase_all -> erase -r [deprecated 7.18]
|
||||
move_all -> move -r [deprecated 7.18]
|
||||
query_ray -> nirt [deprecated 7.18]
|
||||
vdraw -> draw -v [deprecated 7.18]
|
||||
vnirt -> nirt -v [deprecated 7.18]
|
||||
vquery_ray -> nirt -v [deprecated 7.18]
|
||||
xpush -> push -x [deprecated 7.18]
|
||||
|
||||
7.16
|
||||
----
|
||||
struct bu_structparse 'i' format
|
||||
'i' -> '%p' [deprecated 7.16]
|
||||
SGI-specific tools
|
||||
pl-sgi -> pl-fb [ deprecated 7.16 ]
|
||||
Dunn camera and Canon printer tools
|
||||
dunncolor [ deprecated 7.16 ]
|
||||
dunnsnap [ deprecated 7.16 ]
|
||||
canonize [ deprecated 7.16 ]
|
||||
reserved attributes and case-sensitivity
|
||||
id -> region_id [deprecated 7.16]
|
||||
GIFTmater -> material_id [deprecated 7.16]
|
||||
GIFT_MATERIAL -> material_id [deprecated 7.16]
|
||||
mat -> material_id [deprecated 7.16]
|
||||
AIRCODE -> air [deprecated 7.16]
|
||||
rgb -> color [deprecated 7.16]
|
||||
oshader -> shader [deprecated 7.16]
|
||||
genptr_t/GENPTR_NULL
|
||||
genptr_t -> void* [deprecated 7.16]
|
||||
.pl file suffix
|
||||
.pl -> .plot3 [deprecated 7.16]
|
||||
*-pl
|
||||
*-pl -> *-plot3 [deprecated 7.16]
|
||||
pl*
|
||||
pl* -> plot3* [deprecated 7.16]
|
||||
any-png.sh
|
||||
use pix tools [deprecated 7.16]
|
||||
cadbug.sh
|
||||
use sf.net tracker [deprecated 7.16]
|
||||
cray.sh
|
||||
obsolete hardware [deprecated 7.16]
|
||||
pixwrite.sh
|
||||
obsolete hardware [deprecated 7.16]
|
||||
pixread.sh
|
||||
obsolete hardware [deprecated 7.16]
|
||||
sgisnap.sh
|
||||
obsolete hardware [deprecated 7.16]
|
||||
include/bu.h
|
||||
bu_argv0() -> bu_basename(bu_argv0_full_path()); [deprecated 7.16]
|
||||
include/raytrace.h
|
||||
rt_prep_timer() -> bu_timer() [deprecated 7.16]
|
||||
rt_get_timer() -> bu_elapsed() [deprecated 7.16]
|
||||
mged
|
||||
make_bb -> bb [deprecated 7.16]
|
||||
|
||||
7.14
|
||||
----
|
||||
include/dm_color.h
|
||||
dm_color.h -> dm.h [deprecated 7.14]
|
||||
include/fb.h
|
||||
FB_WPIXEL -> fb_wpixel [deprecated 7.14]
|
||||
src/gtools
|
||||
g_[toolname] -> g[toolname] [deprecated 7.14]
|
||||
src/other/jove
|
||||
jove -> emacs [deprecated 7.14]
|
||||
include/raytrace.h
|
||||
rt_fdiff -> NEAR_ZERO [deprecated 7.14]
|
||||
rt_reldiff -> NEAR_ZERO [deprecated 7.14]
|
||||
DIR_* -> RT_DIR_* [deprecated 7.14]
|
||||
include/bu.h
|
||||
bu_fopen_uniq -> fopen [deprecated 7.14]
|
||||
%S format specifier -> %V format specifier for bu_vls [deprecated 7.14]
|
||||
mged
|
||||
tops -g -u -> now default behavior [deprecated 7.14]
|
||||
-n option -> -c option [deprecated 7.14]
|
||||
bots, per_line [deprecated 7.14]
|
||||
include/vmath.h
|
||||
VADD2_2D -> V2ADD2 [deprecated 7.14]
|
||||
VSUB2_2D -> V2SUB2 [deprecated 7.14]
|
||||
MAGSQ_2D -> MAG2SQ [deprecated 7.14]
|
||||
VDOT_2D -> V2DOT [deprecated 7.14]
|
||||
VMOVE_2D -> V2MOVE [deprecated 7.14]
|
||||
VSCALE_2D -> V2SCALE [deprecated 7.14]
|
||||
VJOIN1_2D -> V2JOIN1 [deprecated 7.14]
|
||||
|
||||
7.12
|
||||
----
|
||||
include/raytrace.h
|
||||
rt_functab size -> growing ft_label and new callbacks [deprecated 7.12]
|
||||
include/vmath.h
|
||||
ELEMENTS_PER_PT -> ELEMENTS_PER_POINT
|
||||
HVECT_LEN -> ELEMENTS_PER_HVECT
|
||||
HPT_LEN -> ELEMENTS_PER_HPOINT
|
||||
srt/librt/cmd.c
|
||||
rt_split_cmd() -> bu_argv_from_string() [deprecated 7.12]
|
||||
src/rt/viewarea.c
|
||||
terminology and output format [deprecated 7.12]
|
||||
src/libbu/parallel.c
|
||||
bu_get_load_average(), remove [deprecated 7.12]
|
||||
include/raytrace.h
|
||||
RT_HIT_NORM -> RT_HIT_NORMAL [deprecated 7.12]
|
||||
|
||||
pre 7.0
|
||||
-------
|
||||
include/raytrace.h
|
||||
struct hit.hit_point -> RT_HIT_POINT [deprecated pre-7.0]
|
||||
struct hit.hit_normal -> RT_HIT_NORMAL [deprecated pre-7.0]
|
||||
|
||||
|
||||
************
|
||||
* OBSOLETE *
|
||||
************
|
||||
|
||||
7.18.2
|
||||
------
|
||||
RT_HIT_NORM -> RT_HIT_NORMAL [deprecated pre-7.0]
|
||||
g-shell.rect renamed to g-shell-rect [minor tool rename]
|
||||
|
||||
7.18.0
|
||||
------
|
||||
include/raytrace.h
|
||||
db_free_external -> bu_free_external [deprecated pre-7.0]
|
||||
include/wdb.h
|
||||
mk_fastgen_region() -> mk_comb() [deprecated 7.12]
|
||||
src/librt/bomb.c
|
||||
rt_bomb() -> bu_bomb() [deprecated 7.10]
|
||||
include/machine.h
|
||||
machine.h -> common.h && bu.h [deprecated 7.10]
|
||||
src/vas4
|
||||
vas4, remove [deprecated 7.12]
|
||||
|
||||
7.16.4
|
||||
------
|
||||
include/raytrace.h
|
||||
get_solidbitv() -> rt_get_solidbitv() [deprecated 7.16]
|
||||
|
||||
7.14.4
|
||||
------
|
||||
include/pkg.h
|
||||
uses size_t for lengths in API calls
|
||||
include/bu.h
|
||||
bu_association() [unused]
|
||||
|
||||
7.14.0
|
||||
------
|
||||
include/raytrace.h
|
||||
GET_HITMISS -> NMG_GET_HITMISS
|
||||
mged
|
||||
edcolor -> color -e
|
||||
include/vmath.h
|
||||
PI -> M_PI
|
||||
M_SQRT2_DIV2 -> M_SQRT1_2
|
||||
|
||||
7.12.6
|
||||
------
|
||||
mged
|
||||
binary -> bo [rename]
|
||||
|
||||
7.12.4
|
||||
------
|
||||
include/mater.h
|
||||
rt_material_head -> rt_material_head() [deprecated 7.12]
|
||||
include/raytrace.h
|
||||
removed iterator from NMG_CK_HITMISS_LIST
|
||||
include/bu.h
|
||||
BU_QFLSTR -> BU_FLSTR
|
||||
|
||||
7.12.2
|
||||
------
|
||||
include/wdb.h
|
||||
mk_trc() -> mk_trc_h() and mk_trc_top() [deprecated pre-7.0]
|
||||
mk_bsolid() [deprecated pre-7.0]
|
||||
mk_bsurf() [deprecated pre-7.0]
|
||||
mk_strsol() -> mk_dsp(), mk_ebm(), mk_vol(), mk_submodel() [deprecated pre-7.0]
|
||||
mk_rcomb(), mk_fcomb(), mk_memb() -> mk_lcomb() and mk_addmember() [deprecated pre-7.0]
|
||||
mk_fwrite_internal() [deprecated pre-7.0]
|
||||
|
||||
7.12.0
|
||||
------
|
||||
include/common.h
|
||||
NATURAL_IEEE -> bu_byteorder() == BU_BIG_ENDIAN || defined(WORDS_BIGENDIAN)
|
||||
REVERSE_IEEE -> bu_byteorder() == BU_LITTLE_ENDIAN
|
||||
include/bu.h
|
||||
bu_log(char *, ...) -> bu_log(const char *, ...) [const]
|
||||
bu_flog(FILE *, char *, ...) -> bu_flog(FILE *, const char *, ...) [const]
|
||||
bu_vls_printf(struct bu_vls *, char *) -> bu_vls_printf(struct bu_vls *, const char *) [const]
|
||||
bu_vls_sprintf(struct bu_vls *, char *) -> bu_vls_sprintf(struct bu_vls *, const char *) [const]
|
||||
include/wdb.h
|
||||
removed mk_poly() [deprecated pre-7.0]
|
||||
removed mk_polysolid() [deprecated pre-7.0]
|
||||
removed mk_fpoly() [deprecated pre-7.0]
|
||||
removed write_shell_as_polysolid() [deprecated 6.0]
|
||||
include/bu.h
|
||||
char *bu_brlcad_path() -> const char *bu_brlcad_path() [const]
|
||||
include/bn.h
|
||||
bn_mat_zero() -> MAT_ZERO() [deprecated pre-7.0]
|
||||
bn_mat_idn() -> MAT_IDN() [deprecated pre-7.0]
|
||||
bn_mat_copy() -> MAT_COPY() [deprecated pre-7.0]
|
||||
include/compat4.h
|
||||
compat4.h -> bu.h && bn.h [deprecated 5.0]
|
||||
include/raytrace.h
|
||||
rt_overlap_quietly() -> struct application.a_logoverlap = rt_silent_logoverlap [deprecated pre 7.0]
|
||||
include/bu.h
|
||||
bu_brlcad_path() -> bu_brlcad_root() || bu_brlcad_data() [deprecated 7.4]
|
||||
bu_tcl_brlcad_path() -> bu_tcl_brlcad_root() || bu_tcl_brlcad_data() [deprecated 7.4]
|
||||
include/fb.h
|
||||
fb_log(char *fmt) -> fb_log(const char *fmt) [const]
|
||||
include/noalias-prag.h
|
||||
removed [non-stdc]
|
||||
include/noalias.h
|
||||
removed [non-stdc]
|
||||
src/librt/wdb_obj.c -> src/librt/db_obj.c
|
||||
removed wdb_tree_cmd(), added dgo_tree_cmd() [rename]
|
||||
mged
|
||||
dbbinary -> binary [rename]
|
||||
|
||||
7.10.4
|
||||
------
|
||||
include/msr.h [pre 7.0]
|
||||
msr.h -> bu.h
|
||||
include/rtlist.h [pre 7.0]
|
||||
rtlist.h -> bu.h
|
||||
include/rtstring.h [pre 7.0]
|
||||
rtstring.h -> bu.h
|
||||
include/shortvect.h [pre 7.0]
|
||||
include/shortvect-pr.h [pre 7.0]
|
||||
|
||||
7.10.2
|
||||
------
|
||||
include/raytrace.h
|
||||
rt_version -> rt_version() [private]
|
||||
include/[library].h (several)
|
||||
[library]_version -> [library]_version() [private]
|
||||
|
||||
|
||||
***********************************
|
||||
* MINIMALLY IMPACTING API CHANGES *
|
||||
***********************************
|
||||
|
||||
If a change to an interface has a suitable and completely equivalent
|
||||
alternative, the change is deemed to be "minimally impacting" and can
|
||||
be made during any minor release. Examples of such changes include
|
||||
renaming an interface, reordering parameters, adding new parameters to
|
||||
an interface for previously implicit or restricted behavior, and
|
||||
removing unused parameters.
|
||||
|
||||
Basically, the impact can usually be considered minor if a static
|
||||
regular expression search-and-replace is all that is needed to update.
|
||||
Included in following are various minimally impacting API changes that
|
||||
have been identified in reverse chronological order. As expressions
|
||||
are not extensively tested, use with caution.
|
||||
|
||||
s/V2APPROXEQUAL(/V2NEAR_EQUAL(/g
|
||||
V2APPROXEQUAL() renamed to V2NEAR_EQUAL() [7.18]
|
||||
|
||||
s/SMALL\([^_]\)/SMALL_FAST\1/g
|
||||
SMALL renamed to SMALL_FASTF [7.18]
|
||||
|
||||
s/db_shader_mat(/rt_shader_mat(/g
|
||||
db_shader_mat() renamed to rt_shader_mat() [7.18]
|
||||
|
||||
s/rt_get_seg(/rt_alloc_sed_block(/g
|
||||
rt_get_seg() renamed to rt_alloc_seg_block() [7.18]
|
||||
|
||||
s/db_get_directory(/db_alloc_directory_block(/g
|
||||
db_get_directory() renamed to db_alloc_directory_block() [7.18]
|
||||
|
||||
s/db_get_directory_size(/db_directory_size(/g
|
||||
db_get_directory_size() renamed to db_directory_size() [7.18]
|
||||
|
||||
s/db_get_version(/db_version(/g
|
||||
db_get_version() renamed to db_version() [7.18]
|
||||
|
||||
s/VAPPROXEQUAL(/VNEAR_EQUAL(/g
|
||||
VAPPROXEQUAL() renamed to VNEAR_EQUAL() [7.18]
|
||||
|
||||
s/bu_vlb_getBufferLength(/bu_vlb_buflen(/g
|
||||
bu_vlb_getBufferLength() remamed to bu_vlb_buflen() [7.18]
|
||||
|
||||
s/bu_vlb_getBuffer(/bu_vlb_addr(/g
|
||||
bu_vlb_getBuffer() remamed to bu_vlb_addr() [7.18]
|
||||
|
||||
s/nmg_struct_counts(/nmg_pr_m_struct_counts(/g
|
||||
nmg_struct_counts() renamed to nmg_pr_m_struct_counts() [7.18]
|
||||
|
||||
s/bu_ptbl(\([^,]*\),[[:space:]]*BU_PTBL_INIT\([^)]*\))/bu_ptbl_init(\1, 64, "init")/g
|
||||
s/bu_ptbl(\([^,]*\),[[:space:]]*BU_PTBL_RST\([^)]*\))/bu_ptbl_reset(\1)/g
|
||||
s/bu_ptbl(\([^,]*\),[[:space:]]*BU_PTBL_INS\([^)]*\))/bu_ptbl_ins(\1\2)/g
|
||||
s/bu_ptbl(\([^,]*\),[[:space:]]*BU_PTBL_LOC\([^)]*\))/bu_ptbl_locate(\1\2)/g
|
||||
s/bu_ptbl(\([^,]*\),[[:space:]]*BU_PTBL_ZERO\([^)]*\))/bu_ptbl_zero(\1\2/g
|
||||
s/bu_ptbl(\([^,]*\),[[:space:]]*BU_PTBL_INS_UNIQUE\([^)]*\))/bu_ptbl_ins_unique(\1\2)/g
|
||||
s/bu_ptbl(\([^,]*\),[[:space:]]*BU_PTBL_RM\([^)]*\))/bu_ptbl_rm(\1\2)/g
|
||||
s/bu_ptbl(\([^,]*\),[[:space:]]*BU_PTBL_CAT\([^)]*\))/bu_ptbl_cat(\1\2)/g
|
||||
s/bu_ptbl(\([^,]*\),[[:space:]]*BU_PTBL_FREE\([^)]*\))/bu_ptbl_free(\1)/g
|
||||
bu_ptbl() removed [7.18]
|
||||
|
||||
s/rt_ptalloc();/(struct rt_pt_node *)bu_malloc(sizeof(struct rt_pt_node), "rt_pt_node");/g
|
||||
rt_ptalloc() removed [7.16]
|
||||
|
||||
s/rt_db_free_internal(\([^,]+\),[^)]*)/rt_db_free_internal(\1)/g
|
||||
struct resource pointer parameter removed [7.14]
|
||||
+67
-77
@@ -1,84 +1,74 @@
|
||||
# We need various configuration files set up for DocBook processing tools
|
||||
file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/resources/brlcad/)
|
||||
SET(srcdir ${CMAKE_CURRENT_SOURCE_DIR})
|
||||
configure_file(${CMAKE_SOURCE_DIR}/doc/docbook/fop.xconf.in ${CMAKE_BINARY_DIR}/doc/docbook/fop.xconf)
|
||||
configure_file(${CMAKE_SOURCE_DIR}/doc/docbook/log4j.properties ${CMAKE_BINARY_DIR}/doc/docbook/log4j.properties COPYONLY)
|
||||
|
||||
# First, define the commands to expand the third party components we will need to handle
|
||||
# DocBook processing from their archives into the build directory
|
||||
include(${CMAKE_CURRENT_SOURCE_DIR}/resources/other/expand.cmake)
|
||||
SET(XSLTPROC_FLAGS
|
||||
-nonet
|
||||
-xinclude
|
||||
)
|
||||
SET(XSL_XHTML_STYLESHEET "${CMAKE_SOURCE_DIR}/doc/docbook/resources/standard/xsl/xhtml-1_1/docbook.xsl")
|
||||
SET(XSL_MAN_STYLESHEET "${CMAKE_SOURCE_DIR}/doc/docbook/resources/standard/xsl/manpages/docbook.xsl")
|
||||
SET(XSL_FO_STYLESHEET "${CMAKE_SOURCE_DIR}/doc/docbook/resources/standard/xsl/fo/docbook.xsl")
|
||||
|
||||
# Rework CMake binary and source paths for DocBook templates - if we
|
||||
# have spaces in the paths, they will cause a problem.
|
||||
string(REPLACE " " "%20" DOCBOOK_BINARY_DIR "${CMAKE_BINARY_DIR}")
|
||||
string(REPLACE " " "%20" DOCBOOK_SOURCE_DIR "${CMAKE_SOURCE_DIR}")
|
||||
MACRO(DOCBOOK_TO_HTML targetname_suffix xml_files targetdir)
|
||||
FOREACH(filename ${${xml_files}})
|
||||
STRING(REGEX REPLACE "([0-9a-z_-]*).xml" "\\1" filename_root "${filename}")
|
||||
SET(outfile ${CMAKE_BINARY_DIR}/${DATA_DIR}/${targetdir}/${filename_root}.html)
|
||||
SET(targetname ${filename_root}_${targetname_suffix}_html)
|
||||
ADD_CUSTOM_COMMAND(
|
||||
OUTPUT ${outfile}
|
||||
COMMAND ${XSLTPROC_EXEC} ${XSLTPROC_FLAGS} -o ${outfile} ${XSL_XHTML_STYLESHEET} ${CMAKE_CURRENT_SOURCE_DIR}/${filename}
|
||||
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${filename}
|
||||
)
|
||||
ADD_CUSTOM_TARGET(${targetname} ALL DEPENDS ${outfile})
|
||||
INSTALL(FILES ${outfile} DESTINATION ${${CMAKE_PROJECT_NAME}_INSTALL_DATA_DIR}/${targetdir})
|
||||
ENDFOREACH(filename ${${xml_files}})
|
||||
CMAKEFILES(${${xml_files}})
|
||||
ENDMACRO(DOCBOOK_TO_HTML targetname_suffix srcfile outfile targetdir)
|
||||
|
||||
# Common stylesheets for all DocBook sources
|
||||
if(BRLCAD_EXTRADOCS_HTML OR BRLCAD_EXTRADOCS_PDF OR BRLCAD_EXTRADOCS_MAN)
|
||||
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/resources/brlcad/brlcad-common.xsl.in
|
||||
${CMAKE_CURRENT_BINARY_DIR}/resources/brlcad/brlcad-common.xsl)
|
||||
# Fonts definition
|
||||
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/resources/brlcad/brlcad-fonts.xsl.in
|
||||
${CMAKE_CURRENT_BINARY_DIR}/resources/brlcad/brlcad-fonts.xsl)
|
||||
endif(BRLCAD_EXTRADOCS_HTML OR BRLCAD_EXTRADOCS_PDF OR BRLCAD_EXTRADOCS_MAN)
|
||||
MACRO(DOCBOOK_TO_MAN targetname_suffix xml_files mannum manext targetdir)
|
||||
FOREACH(filename ${${xml_files}})
|
||||
STRING(REGEX REPLACE "([0-9a-z_-]*).xml" "\\1" filename_root "${filename}")
|
||||
SET(outfile ${CMAKE_BINARY_DIR}/${DATA_DIR}/${targetdir}/${filename_root}.${manext})
|
||||
SET(targetname ${filename_root}_${targetname_suffix}_man${mannum})
|
||||
ADD_CUSTOM_COMMAND(
|
||||
OUTPUT ${outfile}
|
||||
COMMAND ${XSLTPROC_EXEC} ${XSLTPROC_FLAGS} -o ${outfile} ${XSL_MAN_STYLESHEET} ${CMAKE_CURRENT_SOURCE_DIR}/${filename}
|
||||
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${filename}
|
||||
)
|
||||
ADD_CUSTOM_TARGET(${targetname} ALL DEPENDS ${outfile})
|
||||
INSTALL(FILES ${outfile} DESTINATION ${${CMAKE_PROJECT_NAME}_INSTALL_MAN_DIR}/man${mannum})
|
||||
ENDFOREACH(filename ${${xml_files}})
|
||||
CMAKEFILES(${${xml_files}})
|
||||
ENDMACRO(DOCBOOK_TO_MAN targetname_suffix srcfile outfile targetdir)
|
||||
|
||||
# Files for PDF products
|
||||
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)
|
||||
endif(BRLCAD_EXTRADOCS_PDF)
|
||||
MACRO(DOCBOOK_TO_PDF targetname_suffix xml_files targetdir)
|
||||
FOREACH(filename ${${xml_files}})
|
||||
STRING(REGEX REPLACE "([0-9a-z_-]*).xml" "\\1" filename_root "${filename}")
|
||||
SET(tmp_fo_file ${CMAKE_CURRENT_BINARY_DIR}/${filename_root}.fo)
|
||||
SET(outfile ${CMAKE_BINARY_DIR}/${DATA_DIR}/${targetdir}/${filename_root}.pdf)
|
||||
SET(targetname ${filename_root}_${targetname_suffix}_pdf)
|
||||
FILE(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/${DATA_DIR}/${targetdir})
|
||||
ADD_CUSTOM_COMMAND(
|
||||
OUTPUT ${tmp_fo_file}
|
||||
COMMAND ${XSLTPROC_EXEC} ${XSLTPROC_FLAGS} -o ${tmp_fo_file} ${XSL_FO_STYLESHEET} ${CMAKE_CURRENT_SOURCE_DIR}/${filename}
|
||||
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${filename}
|
||||
)
|
||||
ADD_CUSTOM_COMMAND(
|
||||
OUTPUT ${outfile}
|
||||
COMMAND ${APACHE_FOP} -c ${CMAKE_BINARY_DIR}/doc/docbook/fop.xconf ${tmp_fo_file} -pdf ${outfile}
|
||||
DEPENDS ${tmp_fo_file}
|
||||
)
|
||||
ADD_CUSTOM_TARGET(${targetname} ALL DEPENDS ${outfile})
|
||||
INSTALL(FILES ${outfile} DESTINATION ${${CMAKE_PROJECT_NAME}_INSTALL_DATA_DIR}/${targetdir})
|
||||
ENDFOREACH(filename ${${xml_files}})
|
||||
ENDMACRO(DOCBOOK_TO_PDF targetname_suffix srcfile outfile targetdir)
|
||||
|
||||
# Include CMake macros for DocBook.
|
||||
include(${BRLCAD_SOURCE_DIR}/misc/CMake/DocBook.cmake)
|
||||
|
||||
# For the html files, we need brlcad.css
|
||||
if(NOT CMAKE_CONFIGURATION_TYPES)
|
||||
configure_file(css/brlcad.css ${CMAKE_BINARY_DIR}/${DOC_DIR}/html/css/brlcad.css)
|
||||
else(NOT CMAKE_CONFIGURATION_TYPES)
|
||||
foreach(CFG_TYPE ${CMAKE_CONFIGURATION_TYPES})
|
||||
string(TOUPPER "${CFG_TYPE}" CFG_TYPE_UPPER)
|
||||
configure_file(css/brlcad.css ${CMAKE_BINARY_DIR_${CFG_TYPE_UPPER}}/${DOC_DIR}/html/css/brlcad.css)
|
||||
endforeach(CFG_TYPE ${CMAKE_CONFIGURATION_TYPES})
|
||||
endif(NOT CMAKE_CONFIGURATION_TYPES)
|
||||
install(FILES css/brlcad.css DESTINATION ${DOC_DIR}/html/css)
|
||||
ADD_SUBDIRECTORY(articles)
|
||||
ADD_SUBDIRECTORY(books)
|
||||
ADD_SUBDIRECTORY(lessons)
|
||||
ADD_SUBDIRECTORY(specifications)
|
||||
ADD_SUBDIRECTORY(system)
|
||||
|
||||
add_subdirectory(articles)
|
||||
add_subdirectory(books)
|
||||
add_subdirectory(lessons)
|
||||
add_subdirectory(presentations)
|
||||
add_subdirectory(specifications)
|
||||
add_subdirectory(system)
|
||||
|
||||
# Now that we have all the individual targets listed by the DocBook.cmake
|
||||
# macros, define convenience targets
|
||||
if(BRLCAD_EXTRADOCS_HTML)
|
||||
get_property(BRLCAD_EXTRADOCS_HTML_TARGETS GLOBAL PROPERTY BRLCAD_EXTRADOCS_HTML_TARGETS)
|
||||
add_custom_target(doc_html DEPENDS ${BRLCAD_EXTRADOCS_HTML_TARGETS})
|
||||
set_target_properties(doc_html PROPERTIES FOLDER "DocBook")
|
||||
endif(BRLCAD_EXTRADOCS_HTML)
|
||||
if(BRLCAD_EXTRADOCS_MAN)
|
||||
get_property(BRLCAD_EXTRADOCS_MAN_TARGETS GLOBAL PROPERTY BRLCAD_EXTRADOCS_MAN_TARGETS)
|
||||
add_custom_target(doc_man DEPENDS ${BRLCAD_EXTRADOCS_MAN_TARGETS})
|
||||
set_target_properties(doc_man PROPERTIES FOLDER "DocBook")
|
||||
endif(BRLCAD_EXTRADOCS_MAN)
|
||||
if(BRLCAD_EXTRADOCS_PDF)
|
||||
get_property(BRLCAD_EXTRADOCS_PDF_TARGETS GLOBAL PROPERTY BRLCAD_EXTRADOCS_PDF_TARGETS)
|
||||
add_custom_target(doc_pdf DEPENDS ${BRLCAD_EXTRADOCS_PDF_TARGETS})
|
||||
set_target_properties(doc_pdf PROPERTIES FOLDER "DocBook")
|
||||
endif(BRLCAD_EXTRADOCS_PDF)
|
||||
if(BRLCAD_EXTRADOCS_HTML OR BRLCAD_EXTRADOCS_MAN OR BRLCAD_EXTRADOCS_PDF)
|
||||
add_custom_target(doc_all DEPENDS
|
||||
${BRLCAD_EXTRADOCS_HTML_TARGETS}
|
||||
${BRLCAD_EXTRADOCS_MAN_TARGETS}
|
||||
${BRLCAD_EXTRADOCS_PDF_TARGETS})
|
||||
set_target_properties(doc_all PROPERTIES FOLDER "DocBook")
|
||||
endif(BRLCAD_EXTRADOCS_HTML OR BRLCAD_EXTRADOCS_MAN OR BRLCAD_EXTRADOCS_PDF)
|
||||
|
||||
CMAKEFILES(README fop.xconf.in log4j.properties resources)
|
||||
CMAKEFILES(README.DB_authors_notes)
|
||||
CMAKEFILES(css/brlcad.css)
|
||||
|
||||
# Local Variables:
|
||||
# tab-width: 8
|
||||
# mode: cmake
|
||||
# indent-tabs-mode: t
|
||||
# End:
|
||||
# ex: shiftwidth=2 tabstop=8
|
||||
CMAKEFILES(fop.xconf.in log4j.properties resources)
|
||||
|
||||
@@ -0,0 +1,121 @@
|
||||
XSLTPROC_FLAGS=-nonet -xinclude
|
||||
XSL_XHTML_STYLESHEET=$(top_srcdir)/doc/docbook/resources/standard/xsl/xhtml-1_1/docbook.xsl
|
||||
XSL_MAN_STYLESHEET=$(top_srcdir)/doc/docbook/resources/standard/xsl/manpages/docbook.xsl
|
||||
XSL_FO_STYLESHEET=$(top_srcdir)/doc/docbook/resources/standard/xsl/fo/docbook.xsl
|
||||
|
||||
.xml.html:
|
||||
@mkdir -p $$(dirname $@)
|
||||
$(XSLTPROC) $(XSLTPROC_FLAGS) -o $@ $(XSL_XHTML_STYLESHEET) $?
|
||||
|
||||
.xml.1:
|
||||
$(XSLTPROC) $(XSLTPROC_FLAGS) $(XSL_MAN_STYLESHEET) $?
|
||||
@dir="$$(dirname $@)" && mkdir -p $$dir && mv '$(@F)' $$dir
|
||||
|
||||
.xml.3:
|
||||
$(XSLTPROC) $(XSLTPROC_FLAGS) $(XSL_MAN_STYLESHEET) $?
|
||||
@dir="$$(dirname $@)" && mkdir -p $$dir && mv '$(@F)' $$dir
|
||||
|
||||
.xml.5:
|
||||
$(XSLTPROC) $(XSLTPROC_FLAGS) $(XSL_MAN_STYLESHEET) $?
|
||||
@dir="$$(dirname $@)" && mkdir -p $$dir && mv '$(@F)' $$dir
|
||||
|
||||
.xml.nged:
|
||||
$(XSLTPROC) $(XSLTPROC_FLAGS) $(XSL_MAN_STYLESHEET) $?
|
||||
@dir="$$(dirname $@)" && mkdir -p $$dir && mv '$(@F)' $$dir
|
||||
|
||||
.fo.pdf: .xml.fo
|
||||
$(APACHEFOP) -c fop.xconf $? -pdf $@
|
||||
|
||||
.xml.fo:
|
||||
@mkdir -p $$(dirname $@)
|
||||
$(XSLTPROC) $(XSLTPROC_FLAGS) -o $@ $(XSL_FO_STYLESHEET) $?
|
||||
|
||||
|
||||
include $(srcdir)/articles/en/Makefile.am
|
||||
include $(srcdir)/books/en/Makefile.am
|
||||
include $(srcdir)/lessons/en/Makefile.am
|
||||
include $(srcdir)/lessons/es/Makefile.am
|
||||
include $(srcdir)/specifications/en/Makefile.am
|
||||
include $(srcdir)/system/man1/en/Makefile.am
|
||||
include $(srcdir)/system/man3/en/Makefile.am
|
||||
include $(srcdir)/system/man5/en/Makefile.am
|
||||
include $(srcdir)/system/mann/en/Makefile.am
|
||||
|
||||
if BUILD_DOCS
|
||||
|
||||
BUILT_SOURCES = \
|
||||
$(BUILTARTICLES_ENHTML) \
|
||||
$(BUILTARTICLES_ENPDF) \
|
||||
$(BUILTLESSONS_ENHTML) \
|
||||
$(BUILTLESSONS_ENPDF) \
|
||||
$(BUILTBOOKS_ENHTML) \
|
||||
$(BUILTBOOKS_ENPDF) \
|
||||
$(BUILTSPECS_ENHTML) \
|
||||
$(BUILTSPECS_ENPDF) \
|
||||
$(BUILTMAN_ENHTML) \
|
||||
$(BUILTMAN_ENPDF) \
|
||||
$(BUILTMAN3_ENHTML) \
|
||||
$(BUILTMAN3_ENPDF) \
|
||||
$(BUILTMAN5_ENHTML) \
|
||||
$(BUILTMAN5_ENPDF) \
|
||||
$(BUILTMANN_ENHTML) \
|
||||
$(BUILTMANN_ENPDF) \
|
||||
$(BUILTLESSONS_ESHTML) \
|
||||
$(BUILTLESSONS_ESPDF)
|
||||
|
||||
BUILTMAN_EN_SOURCES = \
|
||||
${man1DOCBOOK_EN:xml=1} \
|
||||
${man3DOCBOOK_EN:xml=3} \
|
||||
${man5DOCBOOK_EN:xml=5} \
|
||||
${mannDOCBOOK_EN:xml=nged}
|
||||
|
||||
man_MANS = \
|
||||
$(BUILTMAN_EN_SOURCES)
|
||||
|
||||
else
|
||||
BUILT_SOURCES =
|
||||
BUILTMAN_EN_SOURCES =
|
||||
endif
|
||||
|
||||
|
||||
CLEANFILES = \
|
||||
$(BUILTMAN_EN_SOURCES) \
|
||||
$(BUILT_SOURCES)
|
||||
|
||||
|
||||
EXTRA_DIST = \
|
||||
${articlesDOCBOOK_EN_IMAGES} \
|
||||
${articlesDOCBOOK_EN} \
|
||||
${booksDOCBOOK_EN_IMAGES} \
|
||||
${booksDOCBOOK_EN} \
|
||||
${lessonsDOCBOOK_EN_IMAGES} \
|
||||
${lessonsDOCBOOK_EN} \
|
||||
${lessonsDOCBOOK_ES_IMAGES} \
|
||||
${lessonsDOCBOOK_ES} \
|
||||
${man1DOCBOOK_EN} \
|
||||
${man3DOCBOOK_EN} \
|
||||
${man5DOCBOOK_EN} \
|
||||
${mannDOCBOOK_EN} \
|
||||
${mannINTRO_EN} \
|
||||
${specificationsDOCBOOK_EN} \
|
||||
README \
|
||||
articles/en/Makefile.am \
|
||||
articles/en/images/tire_fig12.svg \
|
||||
articles/en/images/tire_fig13.svg \
|
||||
books/README \
|
||||
books/en/Makefile.am \
|
||||
books/en/tutorial_series_authors.xml \
|
||||
fop.xconf.in \
|
||||
lessons/en/Makefile.am \
|
||||
lessons/es/Makefile.am \
|
||||
log4j.properties \
|
||||
resources \
|
||||
specifications/en/Makefile.am \
|
||||
system/README \
|
||||
system/man1/en/Makefile.am \
|
||||
system/mann/mged_cmd_template.xml \
|
||||
system/man3/en/Makefile.am \
|
||||
system/man5/en/Makefile.am \
|
||||
system/mann/en/Makefile.am
|
||||
|
||||
include $(top_srcdir)/misc/Makefile.defs
|
||||
+23
-188
@@ -1,15 +1,14 @@
|
||||
This directory holds the DocBook (DB) documentation for BRL-CAD. Over
|
||||
time, this should become the repository for all tutorials, man pages,
|
||||
and other non-autogenerated, formatted documentation for BRL-CAD.
|
||||
This directory holds the Docbook documentation for BRL-CAD - over time,
|
||||
this should become the repository for all tutorials, man pages, and other
|
||||
non-autogenerated, formatted documentation for BRL-CAD.
|
||||
|
||||
The xsl stylesheets for docbook are presently in the
|
||||
"resources/other/standard" directory.
|
||||
The xsl stylesheets for docbook are present in the resources directory.
|
||||
|
||||
The current structure is as follows:
|
||||
|
||||
articles/
|
||||
Individual articles on specific topics - oed and tire live here,
|
||||
as well as the articles that made up the appendices of Vol III.
|
||||
as well as the articles that made up the appendices of VolIII.
|
||||
|
||||
books/
|
||||
Either compilations of smaller documents into large works, or
|
||||
@@ -22,204 +21,40 @@ lessons/
|
||||
lessons that made up Volume II.
|
||||
|
||||
resources/
|
||||
The DocBook xsl files are contained within the "other"
|
||||
subdirectory. Also included there are various directories and
|
||||
files associated with DB validation, fonts, and hyphenation.
|
||||
The "brlcad" subdirectory contains files customized for
|
||||
BRL-CAD products including common files and images.
|
||||
The DocBook xsl files are contained within the
|
||||
"standard" subdirectory. Custom files will be organized under
|
||||
this directory in the future.
|
||||
|
||||
system/
|
||||
Documentation similar to traditional Unix "man" pages - focused
|
||||
documentation on specific parts of BRL-CAD. There is a template
|
||||
for authors of mged command man pages at:
|
||||
documentation on specific parts of BRL-CAD.
|
||||
|
||||
./system/mann/mged_cmd_template.xml
|
||||
English documents (the only language documentation is written in within
|
||||
svn as of Sept. 2008) are in en subdirectories. Other languages, when
|
||||
implemented, will use standard two character sub directories.
|
||||
|
||||
presentations/
|
||||
Copies of briefings (slides or slides converted to documents,
|
||||
e.g., "Introduction to Tcl/Tk."
|
||||
|
||||
|
||||
LANGUAGE CONSIDERATIONS
|
||||
-----------------------
|
||||
|
||||
English documents are in 'en' sub-directories. Other languages are
|
||||
found in standard two-character sub-directories. See, for example,
|
||||
the Spanish translations in 'lessons/es'. Currently, the following
|
||||
language codes may be found in various sub-directories:
|
||||
|
||||
* en - English
|
||||
* es - Spanish
|
||||
* hy - Armenian
|
||||
* it - Italian
|
||||
* ru - Russian
|
||||
|
||||
See <http://en.wikipedia.org/wiki/List_of_ISO_639-1_codes> for one
|
||||
listing of ISO language codes.
|
||||
|
||||
English DocBook source files are expected to be ASCII with xhtml
|
||||
unicode markup for non-ASCII symbols. Other language source files
|
||||
should be in UTF-8.
|
||||
|
||||
Notes on equation generation in svg, lists of common symbols and their
|
||||
unicode DB symbols, and other notes on DB authoring tips are found in
|
||||
the file 'README.DB_authors_notes'.
|
||||
|
||||
The text character code requirements may eventually be enforced by a
|
||||
pre-commit hook script.
|
||||
|
||||
CONVERTING MAN FORMAT TO DOCBOOK
|
||||
---------------------------------
|
||||
|
||||
The doclifter program (available in a Debian or Ubuntu distribution)
|
||||
can give a first-order conversion from the man page format (roff,
|
||||
nroff, troff, or groff) to DocBook xml.
|
||||
|
||||
DOCBOOK PROCESSING
|
||||
------------------
|
||||
|
||||
Currently there are three products generated from DB source:
|
||||
|
||||
* man pages
|
||||
|
||||
* html documents
|
||||
|
||||
* pdf documents
|
||||
|
||||
There are some external tools required in order to produce those
|
||||
documents:
|
||||
|
||||
For all DB documents (man, html, and pdf):
|
||||
|
||||
* xsltproc
|
||||
a program that comes with libxslt (see http://xmlsoft.org/XSLT/)
|
||||
|
||||
* saxon-he
|
||||
an Open Source java xslt processor (capable of using XSLT 2.0
|
||||
and the new DB XSLT 2.0 stylesheets released on 2011-08-25
|
||||
[not yet used or provided with BRL-CAD]) (see
|
||||
http://saxon.sourceforge.net/)
|
||||
|
||||
For pdf documents:
|
||||
|
||||
* fop
|
||||
a java program provided by the Apache Software Foundation; note
|
||||
that a minimum of version 1.0 is required to use the
|
||||
hyphenation binaries provided in the resources sub-directory
|
||||
(see http://xmlgraphics.apache.org/fop/). Also, version 1.0
|
||||
has some new font support features and we recommend using that
|
||||
version (or later) for DB processing.
|
||||
|
||||
* Java
|
||||
a working Java run-time environment
|
||||
|
||||
* scribus
|
||||
an Open Source page layout program; use to convert eps to svg
|
||||
(see http://www.scribus.net)
|
||||
|
||||
For checking the well-formedness of any xml document:
|
||||
|
||||
* xmllint
|
||||
a program that comes with libxml2 (see http://xmlsoft.org/)
|
||||
|
||||
For creating and editing svg equations:
|
||||
|
||||
* LibreOffice
|
||||
a free office suite whose text editor can be used to create
|
||||
and edit equations and export them to MathML (mml) files (see
|
||||
http://www.libreoffice.org/)
|
||||
|
||||
* Inkscape
|
||||
a powerful and free vector drawing editor (see
|
||||
http://inkscape.org)
|
||||
|
||||
* math2svg
|
||||
a program (from the SVGMath suite) to convert MathML xml
|
||||
format to SVG xml format (see
|
||||
http://http://grigoriev.ru/svgmath/ and
|
||||
http://sourceforge.net/projects/svgmath/)
|
||||
|
||||
Note that the output sometimes needs further editing either
|
||||
manually or by inkscape.
|
||||
|
||||
See this link for help in installing fop 1.0 and saxon-he on Ubuntu:
|
||||
|
||||
http://johnbokma.com/mexit/2011/07/04/
|
||||
|
||||
VALIDATION
|
||||
----------
|
||||
|
||||
It is possible to add a validation step to DocBook compilation by
|
||||
defining the CMake variable BRLCAD_EXTRADOCS_VALIDATE to ON.
|
||||
|
||||
By default, this will use xmllint to validate the xml files as
|
||||
they are built.
|
||||
|
||||
In order to use a different validation program the user must obtain some
|
||||
external tools that are not presently part of the BRL-CAD package:
|
||||
|
||||
For the 'msv' validation method (a recommended method):
|
||||
|
||||
* msv
|
||||
Oracle Multi-Schema XML Validator (MSV) (see http://msv.java.net/)
|
||||
|
||||
* Java
|
||||
a working Java run-time environment
|
||||
|
||||
For the 'nvdl' validation method:
|
||||
|
||||
* onvdl.jar
|
||||
a Java jar file with the oNVDL validation tool (see
|
||||
https://sourceforge.net/projects/onvdl/
|
||||
|
||||
* Java
|
||||
a working Java run-time environment
|
||||
|
||||
For the 'rnv' validation method:
|
||||
|
||||
* rnv
|
||||
http://sourceforge.net/projects/rnv/
|
||||
|
||||
* expat library
|
||||
present in most Linux/Unix distributions, see
|
||||
http://expat.sourceforge.net/
|
||||
|
||||
To use these tools, a <toolname>.cmake.in file must be present
|
||||
in the misc/CMake source directory. This file tells CMake how
|
||||
to run the tool in question. Examples for msv and rnv are already
|
||||
present - see misc/CMake/rnv.cmake.in and misc/CMake/msv.cmake.in
|
||||
|
||||
Once the correct file is present, configure CMake with options
|
||||
similar to the following (alter for your specific tool):
|
||||
|
||||
cmake .. -DBRLCAD_EXTRADOCS_VALIDATE=ON -DVALIDATE_EXECUTABLE=msv
|
||||
|
||||
|
||||
OTHER CONSIDERATIONS
|
||||
--------------------
|
||||
|
||||
These documents make extensive use of the XInclude modular
|
||||
documentation specification. Consequently, the contents of any one
|
||||
particular "document" may be scattered over many other documents.
|
||||
This design direction is intended to allow re-use of standard
|
||||
definitions and descriptions in multiple documents serving multiple
|
||||
purposes. When a definition is updated for one document,
|
||||
re-generation of other documents will incorporate the update as well
|
||||
without requiring redundant editing.
|
||||
These documents make extensive use of the XInclude modular documentation
|
||||
specification, and as a consequence the contents of any one particular
|
||||
"document" may be scattered over many other documents. This design
|
||||
direction is intended to allow re-use of standard definitions and
|
||||
descriptions in multiple documents serving multiple purposes. When
|
||||
a definition is updated for one document, re-generation of other documents
|
||||
will incorporate the update as well without requiring redundant editing.
|
||||
|
||||
Caution - the BRL-CAD build logic is not aware of the interlinking of
|
||||
various xml files using xinclude. This means that a change on one document
|
||||
may make other output files out of date, and this will not trigger a
|
||||
re-build of those files automatically.
|
||||
re-build of those file automatically.
|
||||
|
||||
Notes:
|
||||
|
||||
* When rendered to html output and placed on a server, there may arise
|
||||
a problem where the server supplies the page as ISO-8859-1 encoded
|
||||
despite them actually using UTF-8. To combat this problem in the
|
||||
case of the Apache web server, an .htaccess file in the directory
|
||||
case of the Apache web server, an .htaccess file in the directory
|
||||
with the line:
|
||||
|
||||
AddDefaultCharset UTF-8
|
||||
AddDefaultCharset UTF-8
|
||||
|
||||
should let Apache know to use UTF-8 encoding for these pages.
|
||||
|
||||
|
||||
@@ -1,275 +0,0 @@
|
||||
DOCBOOK CHARACTERS AND SYMBOLS
|
||||
------------------------------
|
||||
|
||||
Some special characters for DB inline equations:
|
||||
|
||||
LE ≤ less than or equal to
|
||||
GE ≥ greater than or equal to
|
||||
x × multiply
|
||||
div ÷ divide
|
||||
add + add
|
||||
pm ± plus or minus
|
||||
ne ≠ not equal to
|
||||
dot ∙ dot operator (multiply)
|
||||
pi π small Greek letter pi
|
||||
Pi Π capital Greek letter Pi
|
||||
|
||||
Dashes:
|
||||
|
||||
figure dash ‒
|
||||
en dash –
|
||||
em dash —
|
||||
quotation dash ―
|
||||
swung dash ⁓
|
||||
|
||||
Some unicode characters for spaces (see p. 330 in Bob Stayton's book):
|
||||
|
||||
  no-break space
|
||||
    en space, half the width of an em space
|
||||
    em space, usually equal to the type size of the font
|
||||
    1/3 em
|
||||
    1/4 em
|
||||
  1/6 em
|
||||
    width of a digit
|
||||
    width of narrow punctuation
|
||||
    1/5 em
|
||||
    thinner than thin space
|
||||
|
||||
Other symbols:
|
||||
|
||||
© copyright
|
||||
® registered sign
|
||||
° degree symbol
|
||||
℠ service mark
|
||||
™ trade mark
|
||||
|
||||
Note that the space character should butt against the adjacent
|
||||
characters.
|
||||
|
||||
SVG EQUATIONS
|
||||
-------------
|
||||
|
||||
To include fancier equations, do the following:
|
||||
|
||||
Use LibreOffice Math to write the equation. Save the file as X.mml
|
||||
where X is a suitable name.
|
||||
|
||||
Example mml file:
|
||||
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<math xmlns="http://www.w3.org/1998/Math/MathML">
|
||||
<semantics>
|
||||
<mrow>
|
||||
<mrow>
|
||||
<msub>
|
||||
<mi>P</mi>
|
||||
<mi>k</mi>
|
||||
</msub>
|
||||
</mrow>
|
||||
</mrow>
|
||||
<annotation encoding="StarMath 5.0">P_{k} = P_{{k}_{MAX}} left lbrace 1 -e^{[-k_{1}(x - x_{0})^{k_{2}}]} right rbrace </annotation>
|
||||
</semantics>
|
||||
</math>
|
||||
|
||||
Edit the file to remove the "semantics" element. Ensure you add the
|
||||
mml file to version control.
|
||||
|
||||
Use SVGMath to convert the file to a graphic:
|
||||
|
||||
math2svg -s -o X.svg X.mml
|
||||
|
||||
Or you can use the bash script "make-svg.sh" (requires editing to suit
|
||||
user preferences and paths) which creates the svg file in a
|
||||
user-defined subdirectory and uses xmllint to format it ready for
|
||||
further editing either with Inkscape or by hand.
|
||||
|
||||
Use Inkscape to view the svg file and edit it if necessary. Be sure
|
||||
to add the new file to version control in the text subdirectory.
|
||||
|
||||
Include the svg file in the desired place in DocBook source like this:
|
||||
|
||||
<equation id="X">
|
||||
<title>General closed-form damage function formula</title>
|
||||
<informalfigure>
|
||||
<mediaobject>
|
||||
<imageobject role='xhtml'>
|
||||
<!-- centering title taken care of in css -->
|
||||
<imagedata
|
||||
width='3in' scalefit='1'
|
||||
fileref="./X.svg"
|
||||
/>
|
||||
</imageobject>
|
||||
<imageobject role='fo'>
|
||||
<imagedata
|
||||
align='center'
|
||||
format="SVG"
|
||||
fileref="./X.svg"
|
||||
/>
|
||||
</imageobject>
|
||||
</mediaobject>
|
||||
</informalfigure>
|
||||
</equation>
|
||||
|
||||
|
||||
SVG AND PDF FONT PROBLEMS
|
||||
-------------------------
|
||||
|
||||
Note there can be font problems for pdf with complex equations. Querying the
|
||||
fop mailing list sheds light on the situation:
|
||||
|
||||
<quote>
|
||||
from: Vincent Hennebert vhennebert@gmail.com via xmlgraphics.apache.org
|
||||
sender-time: Sent at 05:07 (GMT+01:00). Current time there: 2:23 PM.
|
||||
reply-to: fop-users@xmlgraphics.apache.org
|
||||
to: fop-users@xmlgraphics.apache.org
|
||||
date: Tue, Apr 19, 2011 at 05:07
|
||||
subject: Re: Missing Font for SVG to PDF Output
|
||||
mailing list: <fop-users.xmlgraphics.apache.org>; mailed by xmlgraphics.apache.org
|
||||
...
|
||||
|
||||
Make sure that the family name you declare in fop.xconf matches the
|
||||
name under which the font is known on the system.
|
||||
|
||||
Let's take the font "Linux Libertine" an example. Java would know this
|
||||
font under that name. Since Batik uses the Java font system, it will
|
||||
also use that name and pass it on to FOP. So you must have a
|
||||
font-triplet in your fop.xconf that matches that name:
|
||||
|
||||
<font embed-url="libertine.ttf">
|
||||
<font-triplet name="Linux Libertine" style="normal" weight="normal"/>
|
||||
</font>
|
||||
|
||||
If you use something else, FOP will find no match for "LinuxLibertine"
|
||||
and will fall back to a default font.
|
||||
|
||||
You can use the
|
||||
java.awt.GraphicsEnvironment.getAvailableFontFamilyNames method to
|
||||
know under which names Java registers the fonts on your system. Of
|
||||
course, be sure to also use those names in the SVG file.
|
||||
</quote>
|
||||
|
||||
|
||||
MARKS FOR ITEMIZED LIST
|
||||
-----------------------
|
||||
|
||||
Itemized list symbols defined in the docbook/fo stylesheets that work with the
|
||||
current BRL-CAD environment:
|
||||
|
||||
<xsl:choose>
|
||||
<xsl:when test="$itemsymbol='none'"></xsl:when>
|
||||
<xsl:when test="$itemsymbol='disc'">•</xsl:when>
|
||||
<xsl:when test="$itemsymbol='bullet'">•</xsl:when>
|
||||
<xsl:when test="$itemsymbol='endash'">–</xsl:when>
|
||||
<xsl:when test="$itemsymbol='emdash'">—</xsl:when>
|
||||
|
||||
<xsl:when test="$itemsymbol='square'">■</xsl:when>
|
||||
<xsl:when test="$itemsymbol='box'">■</xsl:when>
|
||||
<xsl:when test="$itemsymbol='smallblacksquare'">▪</xsl:when>
|
||||
<xsl:when test="$itemsymbol='circle'">○</xsl:when>
|
||||
<xsl:when test="$itemsymbol='opencircle'">○</xsl:when>
|
||||
|
||||
<xsl:when test="$itemsymbol='whitesquare'">□</xsl:when>
|
||||
<xsl:when test="$itemsymbol='smallwhitesquare'">▫</xsl:when>
|
||||
<xsl:when test="$itemsymbol='round'">●</xsl:when>
|
||||
<xsl:when test="$itemsymbol='blackcircle'">●</xsl:when>
|
||||
<xsl:when test="$itemsymbol='whitebullet'">◦</xsl:when>
|
||||
|
||||
<xsl:when test="$itemsymbol='triangle'">‣</xsl:when>
|
||||
<xsl:when test="$itemsymbol='point'">›</xsl:when>
|
||||
<xsl:otherwise>●</xsl:otherwise><!-- bullet -->
|
||||
</xsl:choose>
|
||||
|
||||
The default marks for html nested itemized lists are:
|
||||
|
||||
disc
|
||||
circle
|
||||
square
|
||||
|
||||
and they appear as small marks in html. Note that html only
|
||||
recognizes those mark names so we accept those defaults and they look
|
||||
okay.
|
||||
|
||||
For pdf, the same mark names appear too large and we have customized
|
||||
the defaults marks as follows:
|
||||
|
||||
<xsl:template name="next.itemsymbol">
|
||||
<xsl:param name="itemsymbol" select="'default'"/>
|
||||
<xsl:choose>
|
||||
<!-- Change this list if you want to change the order of symbols -->
|
||||
<xsl:when test="$itemsymbol = 'bullet'">whitebullet</xsl:when>
|
||||
<xsl:when test="$itemsymbol = 'whitebullet'">smallblacksquare</xsl:when>
|
||||
<xsl:otherwise>bullet</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:template>
|
||||
|
||||
|
||||
For non-default pdf list markers modify the 'mark' attribute for the
|
||||
<itemizedlist>, e.g.,
|
||||
|
||||
<itemizedlist mark='bullet'> <!-- a small black dot -->
|
||||
...
|
||||
<itemizedlist mark='whitebullet'> <!-- a small white circle -->
|
||||
|
||||
|
||||
EPS AND OTHER GRAPHICS
|
||||
----------------------
|
||||
|
||||
eps and pdf are not handled well in fop currently.
|
||||
|
||||
Use png or tiff for html and svg for fop.
|
||||
|
||||
Use scribus (http://www.scribus.net) to convert eps to svg.
|
||||
|
||||
Use gimp (http://www.gimp.org) to scale or edit png images.
|
||||
|
||||
To center an image in html, use css:
|
||||
|
||||
div.mediaobject {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
A TEMPLATE FOR A FORMAL FIGURE AND INCLUDED IMAGES
|
||||
--------------------------------------------------
|
||||
|
||||
To better control images for html and pdf, use different attributes
|
||||
according to role in the DB source. Following is a template that
|
||||
gives the basic attributes to do that. Note the filerefs are the
|
||||
same, but, in this case, the image widths are specified differently.
|
||||
It sometimes it takes a bit of trial and error to get the right
|
||||
attributes and values. See Reference 2, p. 290, for much more detail.
|
||||
|
||||
<!-- ************************************ -->
|
||||
<figure>
|
||||
<title>???</title>
|
||||
<mediaobject>
|
||||
<imageobject role='html'>
|
||||
<imagedata
|
||||
align="center"
|
||||
contwidthwidth='4.5in' scalefit='1'
|
||||
fileref="./images/vbox/"
|
||||
/>
|
||||
</imageobject>
|
||||
<imageobject role='fo'>
|
||||
<imagedata
|
||||
align="center"
|
||||
width='4.5in' scalefit='1'
|
||||
fileref="./images/vbox/"
|
||||
/>
|
||||
</imageobject>
|
||||
<textobject>
|
||||
<phrase>a picture</phrase>
|
||||
</textobject>
|
||||
</mediaobject>
|
||||
</figure>
|
||||
|
||||
|
||||
REFERENCES
|
||||
----------
|
||||
|
||||
1. Norman Walsh, "DocBook 5: The Definitive Guide," May 2010, O'Reilly
|
||||
Media, Inc., Sebastopol, CA, ISBN: 978-0-596-80502-9.
|
||||
|
||||
2. Bob Stayton, "DocBook XSL: The Complete Guide," Fourth Edition,
|
||||
September 2007, Sagehill Enterprises, Santa Cruz, CA, ISBN:
|
||||
978-0-9741521-3-4.
|
||||
@@ -1,30 +1 @@
|
||||
# Style sheet for XSLT transformation to article HTML pages
|
||||
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)
|
||||
endif(BRLCAD_EXTRADOCS_HTML)
|
||||
|
||||
# Files for PDF products
|
||||
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)
|
||||
endif(BRLCAD_EXTRADOCS_PDF)
|
||||
|
||||
# For HTML and FO (FO is an intermediate file used in the
|
||||
# XML->PDF transformation) we use variables to hold the full
|
||||
# stylesheet path.
|
||||
set(XSL_XHTML_STYLESHEET "${CMAKE_CURRENT_BINARY_DIR}/../resources/brlcad/brlcad-article-xhtml-stylesheet.xsl")
|
||||
set(XSL_FO_STYLESHEET "${CMAKE_CURRENT_BINARY_DIR}/../resources/brlcad/brlcad-article-fo-stylesheet.xsl")
|
||||
|
||||
add_subdirectory(en)
|
||||
add_subdirectory(hy)
|
||||
add_subdirectory(it)
|
||||
add_subdirectory(ru)
|
||||
|
||||
# Local Variables:
|
||||
# tab-width: 8
|
||||
# mode: cmake
|
||||
# indent-tabs-mode: t
|
||||
# End:
|
||||
# ex: shiftwidth=2 tabstop=8
|
||||
ADD_SUBDIRECTORY(en)
|
||||
|
||||
@@ -1,120 +1,111 @@
|
||||
set(docbook_articles_EN
|
||||
TEMPLATE.xml
|
||||
about.xml
|
||||
build_pattern.xml
|
||||
build_region.xml
|
||||
ebm_primitive.xml
|
||||
mgedrc.xml
|
||||
nirt.xml
|
||||
oed.xml
|
||||
pipes.xml
|
||||
projection_shader.xml
|
||||
tire.xml
|
||||
)
|
||||
SET(docbook_articles_EN
|
||||
build_pattern.xml
|
||||
build_region.xml
|
||||
ebm_primitive.xml
|
||||
mgedrc.xml
|
||||
nirt.xml
|
||||
oed.xml
|
||||
pipes.xml
|
||||
projection_shader.xml
|
||||
tire.xml
|
||||
)
|
||||
|
||||
set(docbook_articles_EN_IMAGES
|
||||
images/build_pattern_fig01.png
|
||||
images/build_pattern_fig02.png
|
||||
images/build_pattern_fig03.png
|
||||
images/build_pattern_fig04.png
|
||||
images/build_pattern_fig05.png
|
||||
images/build_pattern_fig06.png
|
||||
images/build_pattern_fig07.png
|
||||
images/build_region_fig01.png
|
||||
images/build_region_fig02.png
|
||||
images/build_region_fig03.png
|
||||
images/build_region_fig04.png
|
||||
images/ebm_primitive_fig01.png
|
||||
images/ebm_primitive_fig02.png
|
||||
images/ebm_primitive_fig03.png
|
||||
images/mgedrc_fig01.png
|
||||
images/mgedrc_fig02.png
|
||||
images/mgedrc_fig03.png
|
||||
images/nirt_fig01.png
|
||||
images/nirt_fig02.png
|
||||
images/nirt_fig03.png
|
||||
images/nirt_fig04.png
|
||||
images/nirt_fig05.png
|
||||
images/nirt_fig06.png
|
||||
images/nirt_fig07.png
|
||||
images/nirt_fig08.png
|
||||
images/nirt_fig09.png
|
||||
images/nirt_fig10.png
|
||||
images/nirt_fig11.png
|
||||
images/nirt_fig12.png
|
||||
images/nirt_fig13.png
|
||||
images/nirt_fig14.png
|
||||
images/nirt_fig15.png
|
||||
images/nirt_fig16.png
|
||||
images/nirt_fig17.png
|
||||
images/nirt_fig18.png
|
||||
images/nirt_fig19.png
|
||||
images/nirt_fig20.png
|
||||
images/nirt_fig21.png
|
||||
images/nirt_fig22.png
|
||||
images/nirt_fig23.png
|
||||
images/nirt_fig24.png
|
||||
images/oed_fig01.png
|
||||
images/oed_fig02.png
|
||||
images/oed_fig03.png
|
||||
images/oed_fig04.png
|
||||
images/oed_fig05.png
|
||||
images/oed_fig06.png
|
||||
images/oed_fig07.png
|
||||
images/oed_fig08.png
|
||||
images/oed_fig09.png
|
||||
images/oed_fig10.png
|
||||
images/oed_fig11.png
|
||||
images/oed_fig12.png
|
||||
images/oed_fig13.png
|
||||
images/pipes_fig01.png
|
||||
images/pipes_fig02.png
|
||||
images/pipes_fig03.png
|
||||
images/pipes_fig04.png
|
||||
images/pipes_fig05.png
|
||||
images/pipes_fig06.png
|
||||
images/pipes_fig07.png
|
||||
images/pipes_fig08.png
|
||||
images/pipes_fig09.png
|
||||
images/pipes_fig10.png
|
||||
images/pipes_fig11.png
|
||||
images/pipes_fig12.png
|
||||
images/pipes_fig13.png
|
||||
images/projection_shader_fig01.png
|
||||
images/projection_shader_fig02.png
|
||||
images/projection_shader_fig03.png
|
||||
images/projection_shader_fig04.png
|
||||
images/projection_shader_fig05.png
|
||||
images/projection_shader_fig06.png
|
||||
images/projection_shader_fig07.png
|
||||
images/tire_fig01.png
|
||||
images/tire_fig02.png
|
||||
images/tire_fig03.png
|
||||
images/tire_fig04.png
|
||||
images/tire_fig05.png
|
||||
images/tire_fig06.png
|
||||
images/tire_fig07.png
|
||||
images/tire_fig08.png
|
||||
images/tire_fig09.png
|
||||
images/tire_fig10.png
|
||||
images/tire_fig11.png
|
||||
images/tire_fig12.png
|
||||
images/tire_fig13.png
|
||||
images/tire_fig14.png
|
||||
)
|
||||
ADD_DOC(docbook_articles_EN_IMAGES html/articles/en/images)
|
||||
SET(docbook_articles_EN_IMAGES
|
||||
images/build_pattern_fig01.png
|
||||
images/build_pattern_fig02.png
|
||||
images/build_pattern_fig03.png
|
||||
images/build_pattern_fig04.png
|
||||
images/build_pattern_fig05.png
|
||||
images/build_pattern_fig06.png
|
||||
images/build_pattern_fig07.png
|
||||
images/build_region_fig01.png
|
||||
images/build_region_fig02.png
|
||||
images/build_region_fig03.png
|
||||
images/build_region_fig04.png
|
||||
images/ebm_primitive_fig01.png
|
||||
images/ebm_primitive_fig02.png
|
||||
images/ebm_primitive_fig03.png
|
||||
images/mgedrc_fig01.png
|
||||
images/mgedrc_fig02.png
|
||||
images/mgedrc_fig03.png
|
||||
images/nirt_fig01.png
|
||||
images/nirt_fig02.png
|
||||
images/nirt_fig03.png
|
||||
images/nirt_fig04.png
|
||||
images/nirt_fig05.png
|
||||
images/nirt_fig06.png
|
||||
images/nirt_fig07.png
|
||||
images/nirt_fig08.png
|
||||
images/nirt_fig09.png
|
||||
images/nirt_fig10.png
|
||||
images/nirt_fig11.png
|
||||
images/nirt_fig12.png
|
||||
images/nirt_fig13.png
|
||||
images/nirt_fig14.png
|
||||
images/nirt_fig15.png
|
||||
images/nirt_fig16.png
|
||||
images/nirt_fig17.png
|
||||
images/nirt_fig18.png
|
||||
images/nirt_fig19.png
|
||||
images/nirt_fig20.png
|
||||
images/nirt_fig21.png
|
||||
images/nirt_fig22.png
|
||||
images/nirt_fig23.png
|
||||
images/nirt_fig24.png
|
||||
images/oed_fig01.png
|
||||
images/oed_fig02.png
|
||||
images/oed_fig03.png
|
||||
images/oed_fig04.png
|
||||
images/oed_fig05.png
|
||||
images/oed_fig06.png
|
||||
images/oed_fig07.png
|
||||
images/oed_fig08.png
|
||||
images/oed_fig09.png
|
||||
images/oed_fig10.png
|
||||
images/oed_fig11.png
|
||||
images/oed_fig12.png
|
||||
images/oed_fig13.png
|
||||
images/pipes_fig01.png
|
||||
images/pipes_fig02.png
|
||||
images/pipes_fig03.png
|
||||
images/pipes_fig04.png
|
||||
images/pipes_fig05.png
|
||||
images/pipes_fig06.png
|
||||
images/pipes_fig07.png
|
||||
images/pipes_fig08.png
|
||||
images/pipes_fig09.png
|
||||
images/pipes_fig10.png
|
||||
images/pipes_fig11.png
|
||||
images/pipes_fig12.png
|
||||
images/pipes_fig13.png
|
||||
images/projection_shader_fig01.png
|
||||
images/projection_shader_fig02.png
|
||||
images/projection_shader_fig03.png
|
||||
images/projection_shader_fig04.png
|
||||
images/projection_shader_fig05.png
|
||||
images/projection_shader_fig06.png
|
||||
images/projection_shader_fig07.png
|
||||
images/tire_fig01.png
|
||||
images/tire_fig02.png
|
||||
images/tire_fig03.png
|
||||
images/tire_fig04.png
|
||||
images/tire_fig05.png
|
||||
images/tire_fig06.png
|
||||
images/tire_fig07.png
|
||||
images/tire_fig08.png
|
||||
images/tire_fig09.png
|
||||
images/tire_fig10.png
|
||||
images/tire_fig11.png
|
||||
images/tire_fig12.png
|
||||
images/tire_fig13.png
|
||||
images/tire_fig14.png
|
||||
)
|
||||
|
||||
DOCBOOK_TO_HTML(article docbook_articles_EN html/articles/en docbook_articles_EN_IMAGES_cp)
|
||||
DOCBOOK_TO_HTML(article docbook_articles_EN html/articles/en)
|
||||
BRLCAD_ADDDATA(docbook_articles_EN_IMAGES html/articles/en/images)
|
||||
|
||||
if(BRLCAD_EXTRADOCS_PDF)
|
||||
DOCBOOK_TO_PDF(article docbook_articles_EN pdf/articles/en docbook_articles_EN_IMAGES_cp)
|
||||
endif(BRLCAD_EXTRADOCS_PDF)
|
||||
IF(BRLCAD-BUILD_EXTRADOCS_PDF)
|
||||
DOCBOOK_TO_PDF(article docbook_articles_EN pdf/articles/en)
|
||||
ENDIF(BRLCAD-BUILD_EXTRADOCS_PDF)
|
||||
|
||||
CMAKEFILES(images/tire_fig12.svg images/tire_fig13.svg)
|
||||
|
||||
# Local Variables:
|
||||
# tab-width: 8
|
||||
# mode: cmake
|
||||
# indent-tabs-mode: t
|
||||
# End:
|
||||
# ex: shiftwidth=2 tabstop=8
|
||||
|
||||
@@ -0,0 +1,120 @@
|
||||
articlesDOCBOOK_EN = \
|
||||
articles/en/build_pattern.xml \
|
||||
articles/en/build_region.xml \
|
||||
articles/en/ebm_primitive.xml \
|
||||
articles/en/mgedrc.xml \
|
||||
articles/en/nirt.xml \
|
||||
articles/en/oed.xml \
|
||||
articles/en/pipes.xml \
|
||||
articles/en/projection_shader.xml \
|
||||
articles/en/tire.xml
|
||||
|
||||
articlesDOCBOOK_EN_IMAGES = \
|
||||
articles/en/images/build_pattern_fig01.png \
|
||||
articles/en/images/build_pattern_fig02.png \
|
||||
articles/en/images/build_pattern_fig03.png \
|
||||
articles/en/images/build_pattern_fig04.png \
|
||||
articles/en/images/build_pattern_fig05.png \
|
||||
articles/en/images/build_pattern_fig06.png \
|
||||
articles/en/images/build_pattern_fig07.png \
|
||||
articles/en/images/build_region_fig01.png \
|
||||
articles/en/images/build_region_fig02.png \
|
||||
articles/en/images/build_region_fig03.png \
|
||||
articles/en/images/build_region_fig04.png \
|
||||
articles/en/images/ebm_primitive_fig01.png \
|
||||
articles/en/images/ebm_primitive_fig02.png \
|
||||
articles/en/images/ebm_primitive_fig03.png \
|
||||
articles/en/images/mgedrc_fig01.png \
|
||||
articles/en/images/mgedrc_fig02.png \
|
||||
articles/en/images/mgedrc_fig03.png \
|
||||
articles/en/images/nirt_fig01.png \
|
||||
articles/en/images/nirt_fig02.png \
|
||||
articles/en/images/nirt_fig03.png \
|
||||
articles/en/images/nirt_fig04.png \
|
||||
articles/en/images/nirt_fig05.png \
|
||||
articles/en/images/nirt_fig06.png \
|
||||
articles/en/images/nirt_fig07.png \
|
||||
articles/en/images/nirt_fig08.png \
|
||||
articles/en/images/nirt_fig09.png \
|
||||
articles/en/images/nirt_fig10.png \
|
||||
articles/en/images/nirt_fig11.png \
|
||||
articles/en/images/nirt_fig12.png \
|
||||
articles/en/images/nirt_fig13.png \
|
||||
articles/en/images/nirt_fig14.png \
|
||||
articles/en/images/nirt_fig15.png \
|
||||
articles/en/images/nirt_fig16.png \
|
||||
articles/en/images/nirt_fig17.png \
|
||||
articles/en/images/nirt_fig18.png \
|
||||
articles/en/images/nirt_fig19.png \
|
||||
articles/en/images/nirt_fig20.png \
|
||||
articles/en/images/nirt_fig21.png \
|
||||
articles/en/images/nirt_fig22.png \
|
||||
articles/en/images/nirt_fig23.png \
|
||||
articles/en/images/nirt_fig24.png \
|
||||
articles/en/images/oed_fig01.png \
|
||||
articles/en/images/oed_fig02.png \
|
||||
articles/en/images/oed_fig03.png \
|
||||
articles/en/images/oed_fig04.png \
|
||||
articles/en/images/oed_fig05.png \
|
||||
articles/en/images/oed_fig06.png \
|
||||
articles/en/images/oed_fig07.png \
|
||||
articles/en/images/oed_fig08.png \
|
||||
articles/en/images/oed_fig09.png \
|
||||
articles/en/images/oed_fig10.png \
|
||||
articles/en/images/oed_fig11.png \
|
||||
articles/en/images/oed_fig12.png \
|
||||
articles/en/images/oed_fig13.png \
|
||||
articles/en/images/pipes_fig01.png \
|
||||
articles/en/images/pipes_fig02.png \
|
||||
articles/en/images/pipes_fig03.png \
|
||||
articles/en/images/pipes_fig04.png \
|
||||
articles/en/images/pipes_fig05.png \
|
||||
articles/en/images/pipes_fig06.png \
|
||||
articles/en/images/pipes_fig07.png \
|
||||
articles/en/images/pipes_fig08.png \
|
||||
articles/en/images/pipes_fig09.png \
|
||||
articles/en/images/pipes_fig10.png \
|
||||
articles/en/images/pipes_fig11.png \
|
||||
articles/en/images/pipes_fig12.png \
|
||||
articles/en/images/pipes_fig13.png \
|
||||
articles/en/images/projection_shader_fig01.png \
|
||||
articles/en/images/projection_shader_fig02.png \
|
||||
articles/en/images/projection_shader_fig03.png \
|
||||
articles/en/images/projection_shader_fig04.png \
|
||||
articles/en/images/projection_shader_fig05.png \
|
||||
articles/en/images/projection_shader_fig06.png \
|
||||
articles/en/images/projection_shader_fig07.png \
|
||||
articles/en/images/tire_fig01.png \
|
||||
articles/en/images/tire_fig02.png \
|
||||
articles/en/images/tire_fig03.png \
|
||||
articles/en/images/tire_fig04.png \
|
||||
articles/en/images/tire_fig05.png \
|
||||
articles/en/images/tire_fig06.png \
|
||||
articles/en/images/tire_fig07.png \
|
||||
articles/en/images/tire_fig08.png \
|
||||
articles/en/images/tire_fig09.png \
|
||||
articles/en/images/tire_fig10.png \
|
||||
articles/en/images/tire_fig11.png \
|
||||
articles/en/images/tire_fig12.png \
|
||||
articles/en/images/tire_fig13.png \
|
||||
articles/en/images/tire_fig14.png
|
||||
|
||||
articlesDOCBOOK_ENhtmldir = $(BRLCAD_DATA)/html/articles/en
|
||||
articlesDOCBOOK_ENhtml_DATA = \
|
||||
$(BUILTARTICLES_ENHTML)
|
||||
|
||||
BUILTARTICLES_ENHTML = \
|
||||
${articlesDOCBOOK_EN:xml=html}
|
||||
|
||||
articlesDOCBOOK_ENhtmlimagesdir = $(BRLCAD_DATA)/html/articles/en/images
|
||||
articlesDOCBOOK_ENhtmlimages_DATA = \
|
||||
$(articlesDOCBOOK_EN_IMAGES)
|
||||
|
||||
if BUILD_PDF_DOCS
|
||||
|
||||
BUILTARTICLES_ENPDF = ${articlesDOCBOOK_EN:xml=pdf}
|
||||
|
||||
endif
|
||||
|
||||
articlesDOCBOOK_ENpdfdir = $(BRLCAD_DATA)/pdf/articles/en
|
||||
articlesDOCBOOK_ENpdf_DATA = $(BUILTARTICLES_ENPDF)
|
||||
@@ -1,160 +0,0 @@
|
||||
<article xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0">
|
||||
|
||||
<info>
|
||||
<title>Article Title</title>
|
||||
<author>
|
||||
<personname>
|
||||
<firstname>Firstname</firstname>
|
||||
<othername>Middlename</othername>
|
||||
<surname>Lastname</surname>
|
||||
</personname>
|
||||
<!-- optional e-mail address -->
|
||||
<affiliation>
|
||||
<orgname>BRL-CAD Open Source</orgname>
|
||||
<address>
|
||||
<email>devs@brlcad.org</email>
|
||||
</address>
|
||||
</affiliation>
|
||||
</author>
|
||||
</info>
|
||||
|
||||
<section xml:id="some-descriptive-tag">
|
||||
<!-- the xml:id tag is just something descriptive that you can
|
||||
reference if you wanted to use CSS to modify the layout. -->
|
||||
|
||||
<para>
|
||||
First paragraph goes here.
|
||||
</para>
|
||||
|
||||
<literallayout>
|
||||
<command>benchmark TIMEFRAME=1 run</command>
|
||||
</literallayout>
|
||||
|
||||
<note>
|
||||
<para>
|
||||
The preceding <application>benchmark</application> command
|
||||
example can get a lot more complex.
|
||||
</para>
|
||||
</note>
|
||||
|
||||
<para>
|
||||
When you run the <command>benchmark</command> with
|
||||
the <option>help</option> option, you might see this output:
|
||||
|
||||
<literallayout><computeroutput><prompt>sean@gcc1-power7 bin]$</prompt><command>benchmark</command> help
|
||||
Usage: ./benchmark [command(s)] [OPTION=value] [RT_OPTIONS]
|
||||
|
||||
Available commands:
|
||||
clean
|
||||
...
|
||||
</computeroutput></literallayout>
|
||||
</para>
|
||||
|
||||
<para>
|
||||
Another paragraph with embedded list is shown here. Each
|
||||
paragraph gets its own para and should be wrapped for
|
||||
readability and localized context diff comparisons.
|
||||
|
||||
<info><title>A list of items:</title></info>
|
||||
|
||||
<itemizedlist mark="bullet"><listitem><para>
|
||||
Bullet item 1.
|
||||
</para></listitem><listitem><para>
|
||||
Bullet item 2.
|
||||
</para></listitem></itemizedlist>
|
||||
</para>
|
||||
|
||||
</section>
|
||||
|
||||
<section xml:id="another-tag-for-main-body">
|
||||
<title>Breaking up the flow into sections</title>
|
||||
|
||||
<para>
|
||||
You can use sections to group sections of your document
|
||||
together, but they are not necessary.
|
||||
</para>
|
||||
|
||||
<figure>
|
||||
<info>
|
||||
<title>Example embedded image text.</title>
|
||||
</info>
|
||||
<mediaobject>
|
||||
<imageobject role="html">
|
||||
<!--
|
||||
NOTE: fileref will normally be something like
|
||||
"../../articles/en/images/nirt_fig02.png" NOT http: URL
|
||||
-->
|
||||
<imagedata align="center" fileref="http://brlcad.org/images/logo/BRL-CAD_256x256.png" format="PNG" width="64"/>
|
||||
</imageobject>
|
||||
<imageobject role="fo">
|
||||
<!--
|
||||
NOTE: fileref will normally be something like
|
||||
"../../articles/en/images/nirt_fig02.png" NOT http: URL
|
||||
-->
|
||||
<imagedata align="center" fileref="http://brlcad.org/images/logo/BRL-CAD_256x256.png" format="PNG" width="64"/>
|
||||
</imageobject>
|
||||
<caption>
|
||||
<para>
|
||||
Image caption text.
|
||||
</para>
|
||||
</caption>
|
||||
</mediaobject>
|
||||
</figure>
|
||||
|
||||
<para>
|
||||
Another image, but rendered inline
|
||||
<inlinemediaobject><imageobject role="html"><imagedata fileref="http://brlcad.org/images/logo/BRL-CAD_64x64.png" format="PNG" width="64"/></imageobject><imageobject role="fo"><imagedata fileref="http://brlcad.org/images/logo/BRL-CAD_64x64.png" format="PNG" width="64"/></imageobject></inlinemediaobject>
|
||||
with the paragraph text.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
More paragraphs...
|
||||
</para>
|
||||
|
||||
<informaltable>
|
||||
<tgroup cols="2">
|
||||
<thead>
|
||||
<row>
|
||||
<entry>Type</entry>
|
||||
<entry>Description</entry>
|
||||
</row>
|
||||
</thead>
|
||||
<tbody>
|
||||
<row>
|
||||
<entry>ell</entry>
|
||||
<entry>Generalized Ellipsoid</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>arb8</entry>
|
||||
<entry>Arbitrary Regular Polyhedron with up to 8 vertices</entry>
|
||||
</row>
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</informaltable>
|
||||
|
||||
<section>
|
||||
<caution>
|
||||
<para>
|
||||
There's a lot more you can do with Docbook/XML. Search the web for references and examples:
|
||||
</para>
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>
|
||||
<link xlink:href="http://www.docbook.org/tdg5/en/html/article.html">
|
||||
http://www.docbook.org/tdg5/en/html/article.html
|
||||
</link>
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
<link xlink:href="http://www.openoffice.org/xml/xmerge/docbook/UserGuide.html">
|
||||
http://www.openoffice.org/xml/xmerge/docbook/UserGuide.html
|
||||
</link>
|
||||
</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</caution>
|
||||
</section>
|
||||
|
||||
</section>
|
||||
</article>
|
||||
@@ -1,99 +0,0 @@
|
||||
<article xmlns="http://docbook.org/ns/docbook" version="5.0">
|
||||
|
||||
<info>
|
||||
<title>About BRL-CAD</title>
|
||||
|
||||
<author>
|
||||
<personname>
|
||||
<firstname>Christopher</firstname>
|
||||
<othername>Sean</othername>
|
||||
<surname>Morrison</surname>
|
||||
</personname>
|
||||
|
||||
<affiliation>
|
||||
<orgname>BRL-CAD Open Source</orgname>
|
||||
<address>
|
||||
<email>devs@brlcad.org</email>
|
||||
</address>
|
||||
</affiliation>
|
||||
</author>
|
||||
</info>
|
||||
|
||||
<section xml:id="article-body">
|
||||
|
||||
<para>
|
||||
BRL-CAD is a powerful cross-platform Open Source combinatorial
|
||||
Constructive Solid Geometry (CSG) solid modeling system that
|
||||
includes interactive 3D solid geometry editing, high-performance
|
||||
ray-tracing support for rendering and geometric analysis,
|
||||
network-distributed framebuffer support, image and
|
||||
signal-processing tools, path-tracing and photon mapping support
|
||||
for realistic image synthesis, a system performance analysis
|
||||
benchmark suite, an embedded scripting interface, and libraries
|
||||
for robust high-performance geometric representation and
|
||||
analysis.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
For more than 20 years, BRL-CAD has been the primary tri-service
|
||||
solid modeling CAD system used by the U.S. military to model
|
||||
weapons systems for vulnerability and lethality analyses. The
|
||||
solid modeling system is frequently used in a wide range of
|
||||
military, academic, and industrial applications including in the
|
||||
design and analysis of vehicles, mechanical parts, and
|
||||
architecture. The package has also been used in radiation dose
|
||||
planning, medical visualization, computer graphics education,
|
||||
CSG concepts and modeling education, and system performance
|
||||
benchmark testing among other purposes.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
BRL-CAD supports a great variety of geometric representations
|
||||
including an extensive set of traditional CSG primitive implicit
|
||||
solids such as boxes, ellipsoids, cones, and tori, as well as
|
||||
explicit solids made from closed collections of Uniform B-Spline
|
||||
Surfaces, Non-Uniform Rational B-Spline (NURBS) surfaces,
|
||||
n-Manifold Geometry (NMG), and purely faceted mesh geometry.
|
||||
All geometric objects may be combined using boolean
|
||||
set-theoretic CSG operations including union, intersection, and
|
||||
difference.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
BRL-CAD has been under active development with a portability
|
||||
heritage that includes systems such as a DEC VAX-11/780 running
|
||||
4.3 BSD; DECStations running ULTRIX; Silicon Graphics 3030, 4D
|
||||
"IRIS", O2, Onyx, and Origin systems running various versions of
|
||||
IRIX; Sun Microsystems Sun-3 and Sun-4 Sparcs running SunOS; the
|
||||
Cray 1, Cray X-MP, Cray Y-MP, and Cray 2 running UNICOS; DEC
|
||||
Alpha AXP running OSF/1; Apple Macintosh II running A/UX;
|
||||
iPSC/860 Hypercube running NX/2; the Alliant FX/8, FX/80, and
|
||||
FX/2800; Gould/Encore SEL PowerNode6000/9000 and NP1; NeXT
|
||||
workstations; IBM RS/6000; HPPA 9000/700 running HPUX;
|
||||
Ardent/Stardent; Encore Multi-Max; and much more.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
BRL-CAD is a collection of more than 400 tools, utilities, and
|
||||
applications comprising more than a million lines of source
|
||||
code. The package is intentionally designed to be extensively
|
||||
cross-platform and is actively developed on and maintained for
|
||||
many common operating system environments including BSD,
|
||||
Linux, Solaris, Mac OS X, and Windows among others. BRL-CAD is
|
||||
distributed in binary and source code form as free open source
|
||||
software (FOSS), provided under Open Source Initiative (OSI)
|
||||
approved license terms.
|
||||
</para>
|
||||
|
||||
<note>
|
||||
<para>
|
||||
Mike Muuss began the initial architecture and design of
|
||||
BRL-CAD back in 1979. Development as a unified package began
|
||||
in 1983. The first public release was made in 1984. BRL-CAD
|
||||
became an open source project on 21 December 2004.
|
||||
</para>
|
||||
</note>
|
||||
|
||||
</section>
|
||||
|
||||
</article>
|
||||
@@ -1,8 +1,10 @@
|
||||
<article xmlns="http://docbook.org/ns/docbook" xmlns:xi="http://www.w3.org/2001/XInclude" version="5.0">
|
||||
<!-- Converted by db4-upgrade version 1.0 -->
|
||||
|
||||
<article xmlns="http://docbook.org/ns/docbook" version="5.0">
|
||||
<info><title>Using the Build Pattern Tool</title>
|
||||
|
||||
|
||||
|
||||
<xi:include href="../../books/en/tutorial_series_authors.xml" xpointer="Intro_MGED_Tutorial_Series_III_authors"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="../../books/en/tutorial_series_authors.xml" xpointer="Intro_MGED_Tutorial_Series_III_authors"/>
|
||||
|
||||
<legalnotice>
|
||||
<para>Approved for public release; distribution is unlimited</para>
|
||||
@@ -10,7 +12,7 @@
|
||||
</info>
|
||||
|
||||
<section xml:id="build_pattern_generalinfo"><info><title>General Pattern Information</title></info>
|
||||
|
||||
|
||||
<para>
|
||||
As mentioned previously, the Build Pattern tool automates the process of
|
||||
making copies of existing geometry in rectangular, spherical, or
|
||||
@@ -27,7 +29,7 @@
|
||||
<para>
|
||||
There are many input fields. Some stand alone, and others belong to series
|
||||
that work together to provide the needed information for a specific
|
||||
option. Each series is denoted by a diamond-shaped check box. If the
|
||||
option. Each series is demarked by a diamond-shaped check box. If the
|
||||
diamond is highlighted red, then all fields in that series are required.
|
||||
All required fields must be filled in for the pattern tool to work
|
||||
properly. It is also important to note that all dimensions must be in
|
||||
@@ -41,7 +43,7 @@
|
||||
</section>
|
||||
|
||||
<section xml:id="build_pattern_names"><info><title>Pattern Names</title></info>
|
||||
|
||||
|
||||
<para>
|
||||
As shown in Figure E-1, the tool appends three numbers to all patterned
|
||||
objects (unless you are using the increment option for primitives, in
|
||||
@@ -57,7 +59,7 @@
|
||||
</section>
|
||||
|
||||
<section xml:id="build_pattern_fields"><info><title>Common Fields for all Patterns:</title></info>
|
||||
|
||||
|
||||
<para>
|
||||
There are several fields in the pattern tool GUI that are common to all
|
||||
types of patterns.
|
||||
@@ -74,44 +76,36 @@
|
||||
</para>
|
||||
|
||||
<figure><info><title>Example of pattern-generated assembly names.</title></info>
|
||||
|
||||
|
||||
<mediaobject>
|
||||
<imageobject role="html">
|
||||
<imagedata align="center" fileref="../../articles/en/images/build_pattern_fig01.png" format="PNG"/>
|
||||
</imageobject>
|
||||
<imageobject role="fo">
|
||||
<imageobject>
|
||||
<imagedata align="center" fileref="../../articles/en/images/build_pattern_fig01.png" format="PNG"/>
|
||||
</imageobject>
|
||||
</mediaobject>
|
||||
</figure>
|
||||
|
||||
|
||||
<para>
|
||||
The Increment field is only for use when duplicating to the primitive level.
|
||||
It is added to the leftmost number field of each primitive. To determine the
|
||||
increment, examine the primitives of the object(s) you wish to pattern and find
|
||||
the largest span. For example, to create a pattern to the primitive level with
|
||||
It is added to the leftmost number field of each primitive. To determine the
|
||||
increment, examine the primitives of the object(s) you wish to pattern and find
|
||||
the largest span. For example, to create a pattern to the primitive level with
|
||||
the following primitives (which may or may not be in regions or
|
||||
assemblies):
|
||||
|
||||
assemblies),
|
||||
<literallayout class="normal">
|
||||
part.s22 part.s22-1 part.s23 part.s24 part.s24+1 part.s24-1 part.s25,
|
||||
</literallayout>
|
||||
|
||||
one needs to determine the span. Note that the leftmost numbers in these
|
||||
primitives range from
|
||||
22–25. <!-- en dash symbol -->
|
||||
Thus, as shown in the following expression, the span is
|
||||
one needs to determine the span. Note that the leftmost numbers in these
|
||||
primitives range from 22–25. Thus, as shown in the following expression, the span is
|
||||
four (inclusively).
|
||||
|
||||
*******NEED FIGURE HERE*****
|
||||
|
||||
If we use an increment of four, we will get the following set of primitives.
|
||||
|
||||
<literallayout class="normal">
|
||||
part.s26 part.s26-1 part.s27 part.s28 part.s28+1 part.s28-1 part.s29
|
||||
</literallayout>
|
||||
|
||||
Although it is acceptable to use a greater increment, gaps in numbers may be
|
||||
|
||||
Although it is acceptable to use a greater increment, gaps in numbers may be
|
||||
troublesome if one is using this capability extensively.
|
||||
</para>
|
||||
|
||||
@@ -122,54 +116,52 @@ part.s26 part.s26-1 part.s27 part.s28 part.s28+1 part.s28-1 part.s29
|
||||
</section>
|
||||
|
||||
<section xml:id="build_pattern_stringsub"><info><title>String Substitution</title></info>
|
||||
|
||||
|
||||
<para>
|
||||
It is also possible to create a pattern in which a string of characters in
|
||||
each element in the object is changed (e.g., "l_" -> "r_"). This is useful
|
||||
for symmetry applications (e.g., left - right) or series (e.g., 1 - n).
|
||||
Each element of the object must have the source string so the user must be
|
||||
thorough and name each primitive, region, and assembly properly. Consider
|
||||
the following example:
|
||||
|
||||
<inlinemediaobject><imageobject role="html"><imagedata fileref="../../articles/en/images/build_pattern_fig07.png"/></imageobject><imageobject role="fo"><imagedata fileref="../../articles/en/images/build_pattern_fig07.png"/></imageobject></inlinemediaobject>
|
||||
the following example:
|
||||
<inlinemediaobject><imageobject><imagedata fileref="../../articles/en/images/build_pattern_fig07.png"/></imageobject></inlinemediaobject>
|
||||
</para>
|
||||
<para>
|
||||
Top-level duplications copy the patterned object and reference its entire
|
||||
Top-level duplications copy the patterned object and reference its entire
|
||||
structure with matrices, as follows:
|
||||
|
||||
<literallayout class="normal">
|
||||
/pattern group
|
||||
/COPIED assemblies [MATRICES]
|
||||
/assemblies
|
||||
/regions
|
||||
/primitives
|
||||
/assemblies
|
||||
/regions
|
||||
/primitives
|
||||
</literallayout>
|
||||
|
||||
|
||||
Region-level duplications copy all assembly and regions and reference from the
|
||||
region level down with matrices.
|
||||
|
||||
<literallayout class="normal">
|
||||
/pattern group
|
||||
/COPIED assemblies
|
||||
/COPIED regions [MATRICES]
|
||||
/COPIED regions [MATRICES]
|
||||
/primitives
|
||||
</literallayout>
|
||||
|
||||
Primitive-level duplications copy the entire tree structure to the primitive
|
||||
|
||||
Primitive-level duplications copy the entire tree structure to the primitive
|
||||
level without matrices using an increment on all primitives.
|
||||
|
||||
<literallayout class="normal">
|
||||
/pattern group
|
||||
/COPIED assemblies NO MATRICES
|
||||
/COPIED regions
|
||||
/COPIED primitives
|
||||
/COPIED regions
|
||||
/COPIED primitives
|
||||
</literallayout>
|
||||
</para>
|
||||
|
||||
|
||||
</section>
|
||||
|
||||
<section xml:id="build_pattern_recpatterns"><info><title>Rectangular Patterns</title></info>
|
||||
|
||||
|
||||
<para>
|
||||
The rectangular pattern GUI (shown in Figure E-2) is designed to
|
||||
facilitate one-, two-, or three-dimensional rectangular patterns. The
|
||||
@@ -183,21 +175,18 @@ part.s26 part.s26-1 part.s27 part.s28 part.s28+1 part.s28-1 part.s29
|
||||
</para>
|
||||
|
||||
<figure><info><title>The user interface for building rectangular patterns.</title></info>
|
||||
|
||||
|
||||
<mediaobject>
|
||||
<imageobject role="html">
|
||||
<imagedata align="center" fileref="../../articles/en/images/build_pattern_fig02.png" format="PNG"/>
|
||||
</imageobject>
|
||||
<imageobject role="fo">
|
||||
<imageobject>
|
||||
<imagedata align="center" fileref="../../articles/en/images/build_pattern_fig02.png" format="PNG"/>
|
||||
</imageobject>
|
||||
</mediaobject>
|
||||
</figure>
|
||||
|
||||
|
||||
</section>
|
||||
|
||||
<section xml:id="build_pattern_spherical"><info><title>Spherical Patterns</title></info>
|
||||
|
||||
|
||||
<para>
|
||||
The spherical pattern GUI (shown in Figure E-3) facilitates sphere-shaped
|
||||
patterns rotated around a center vertex using user-specified radii with
|
||||
@@ -240,12 +229,9 @@ part.s26 part.s26-1 part.s27 part.s28 part.s28+1 part.s28-1 part.s29
|
||||
</para>
|
||||
|
||||
<figure><info><title>The user interface for building spherical patterns.</title></info>
|
||||
|
||||
|
||||
<mediaobject>
|
||||
<imageobject role="html">
|
||||
<imagedata align="center" fileref="../../articles/en/images/build_pattern_fig03.png" format="PNG"/>
|
||||
</imageobject>
|
||||
<imageobject role="fo">
|
||||
<imageobject>
|
||||
<imagedata align="center" fileref="../../articles/en/images/build_pattern_fig03.png" format="PNG"/>
|
||||
</imageobject>
|
||||
</mediaobject>
|
||||
@@ -266,12 +252,9 @@ part.s26 part.s26-1 part.s27 part.s28 part.s28+1 part.s28-1 part.s29
|
||||
|
||||
|
||||
<figure><info><title>Examples of different spherical pattern orientations.</title></info>
|
||||
|
||||
|
||||
<mediaobject>
|
||||
<imageobject role="html">
|
||||
<imagedata align="center" fileref="../../articles/en/images/build_pattern_fig04.png" format="PNG"/>
|
||||
</imageobject>
|
||||
<imageobject role="fo">
|
||||
<imageobject>
|
||||
<imagedata align="center" fileref="../../articles/en/images/build_pattern_fig04.png" format="PNG"/>
|
||||
</imageobject>
|
||||
</mediaobject>
|
||||
@@ -279,12 +262,9 @@ part.s26 part.s26-1 part.s27 part.s28 part.s28+1 part.s28-1 part.s29
|
||||
|
||||
|
||||
<figure><info><title>Implementation of spherical patterns.</title></info>
|
||||
|
||||
|
||||
<mediaobject>
|
||||
<imageobject role="html">
|
||||
<imagedata align="center" fileref="../../articles/en/images/build_pattern_fig05.png" format="PNG"/>
|
||||
</imageobject>
|
||||
<imageobject role="fo">
|
||||
<imageobject>
|
||||
<imagedata align="center" fileref="../../articles/en/images/build_pattern_fig05.png" format="PNG"/>
|
||||
</imageobject>
|
||||
</mediaobject>
|
||||
@@ -293,7 +273,7 @@ part.s26 part.s26-1 part.s27 part.s28 part.s28+1 part.s28-1 part.s29
|
||||
</section>
|
||||
|
||||
<section xml:id="build_pattern_cylind"><info><title>Cylindrical Patterns</title></info>
|
||||
|
||||
|
||||
<para>
|
||||
The cylindrical pattern GUI (shown in Figure E-6) facilitates the creation
|
||||
of cylinder-shaped patterns with user-defined center, direction, height,
|
||||
@@ -307,12 +287,9 @@ part.s26 part.s26-1 part.s27 part.s28 part.s28+1 part.s28-1 part.s29
|
||||
</para>
|
||||
|
||||
<figure><info><title>The user interface for building cylindrical patterns.</title></info>
|
||||
|
||||
|
||||
<mediaobject>
|
||||
<imageobject role="html">
|
||||
<imagedata align="center" fileref="../../articles/en/images/build_pattern_fig06.png" format="PNG"/>
|
||||
</imageobject>
|
||||
<imageobject role="fo">
|
||||
<imageobject>
|
||||
<imagedata align="center" fileref="../../articles/en/images/build_pattern_fig06.png" format="PNG"/>
|
||||
</imageobject>
|
||||
</mediaobject>
|
||||
|
||||
@@ -1,8 +1,10 @@
|
||||
<article xmlns="http://docbook.org/ns/docbook" xmlns:xi="http://www.w3.org/2001/XInclude" version="5.0">
|
||||
<!-- Converted by db4-upgrade version 1.0 -->
|
||||
|
||||
<article xmlns="http://docbook.org/ns/docbook" version="5.0">
|
||||
<info><title>Using the build_region Command</title>
|
||||
|
||||
|
||||
|
||||
<xi:include href="../../books/en/tutorial_series_authors.xml" xpointer="Intro_MGED_Tutorial_Series_III_authors"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="../../books/en/tutorial_series_authors.xml" xpointer="Intro_MGED_Tutorial_Series_III_authors"/>
|
||||
|
||||
<legalnotice>
|
||||
<para>Approved for public release; distribution is unlimited</para>
|
||||
@@ -35,7 +37,7 @@
|
||||
</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
|
||||
|
||||
<para xml:id="build_region4">
|
||||
For example, let's say we want to build the four rounded corners of a
|
||||
"tub" region for a toy metal wagon assembly (see Figure F-1). We could
|
||||
@@ -45,12 +47,9 @@
|
||||
</para>
|
||||
|
||||
<figure xml:id="build_region5"><info><title>The rounded corners of a toy wagon.</title></info>
|
||||
|
||||
|
||||
<mediaobject>
|
||||
<imageobject role="html">
|
||||
<imagedata align="center" fileref="../../articles/en/images/build_region_fig01.png" format="PNG"/>
|
||||
</imageobject>
|
||||
<imageobject role="fo">
|
||||
<imageobject>
|
||||
<imagedata align="center" fileref="../../articles/en/images/build_region_fig01.png" format="PNG"/>
|
||||
</imageobject>
|
||||
</mediaobject>
|
||||
@@ -62,17 +61,14 @@
|
||||
named wgn.s2. To get a hollow quarter cylinder, we need to subtract a
|
||||
cylinder and intersect a bounding box (see Figure F-2). In order to relate
|
||||
the subtraction and intersecting primitives with wgn.s2, they will each
|
||||
share the same root name, wgn.s2. The subtraction primitive will be named
|
||||
share the same root name, wgn.s2. The subtraction primitive will be named
|
||||
wgn.s2-1, and the intersecting primitive will be named wgn.s2+1.
|
||||
</para>
|
||||
|
||||
|
||||
<figure xml:id="build_region7"><info><title>Arb8, cylinder, and two Boolean primitives.</title></info>
|
||||
|
||||
|
||||
<mediaobject>
|
||||
<imageobject role="html">
|
||||
<imagedata align="center" fileref="../../articles/en/images/build_region_fig02.png" format="PNG"/>
|
||||
</imageobject>
|
||||
<imageobject role="fo">
|
||||
<imageobject>
|
||||
<imagedata align="center" fileref="../../articles/en/images/build_region_fig02.png" format="PNG"/>
|
||||
</imageobject>
|
||||
</mediaobject>
|
||||
@@ -102,44 +98,38 @@ u wgn.s2 + wgn.s2+1 - wgn.s2-1
|
||||
|
||||
*****NEED IMAGE HERE*****
|
||||
</para>
|
||||
|
||||
|
||||
<figure xml:id="build_region9"><info><title>The region and the subtraction primitives.</title></info>
|
||||
|
||||
|
||||
<mediaobject>
|
||||
<imageobject role="html">
|
||||
<imagedata align="center" fileref="../../articles/en/images/build_region_fig03.png" format="PNG"/>
|
||||
</imageobject>
|
||||
<imageobject role="fo">
|
||||
<imageobject>
|
||||
<imagedata align="center" fileref="../../articles/en/images/build_region_fig03.png" format="PNG"/>
|
||||
</imageobject>
|
||||
</mediaobject>
|
||||
</figure>
|
||||
|
||||
|
||||
<para xml:id="build_region10">
|
||||
Note that the root name stays the same so we can maintain the
|
||||
relationship, and the second number (associated with the Boolean
|
||||
operation) is incremented sequentially.
|
||||
</para>
|
||||
|
||||
|
||||
<figure xml:id="build_region11"><info><title>Raytraced image with hole.</title></info>
|
||||
|
||||
|
||||
<mediaobject>
|
||||
<imageobject role="html">
|
||||
<imagedata align="center" fileref="../../articles/en/images/build_region_fig04.png" format="PNG"/>
|
||||
</imageobject>
|
||||
<imageobject role="fo">
|
||||
<imageobject>
|
||||
<imagedata align="center" fileref="../../articles/en/images/build_region_fig04.png" format="PNG"/>
|
||||
</imageobject>
|
||||
</mediaobject>
|
||||
</figure>
|
||||
|
||||
|
||||
<para xml:id="build_region12">
|
||||
Obviously, the overall success or failure of the build_region command
|
||||
depends on primitives being named properly. But if they are, the command
|
||||
can organize them in one automated step, creating complex regions in just
|
||||
a few keystrokes.
|
||||
</para>
|
||||
|
||||
|
||||
<para xml:id="build_region13">
|
||||
Another modeling benefit of the build_region tool is that it allows the
|
||||
user to quickly organize primitives. Assume, for example, that we have
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
<!-- Converted by db4-upgrade version 1.0 -->
|
||||
|
||||
<article xmlns="http://docbook.org/ns/docbook" version="5.0">
|
||||
<info><title>Using the Extruded Bitmap Primitive</title>
|
||||
|
||||
|
||||
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="../../books/en/tutorial_series_authors.xml" xpointer="Intro_MGED_Tutorial_Series_III_authors"/>
|
||||
|
||||
@@ -24,36 +26,27 @@
|
||||
</para>
|
||||
|
||||
<figure xml:id="ebm3"><info><title>Example of the .bw image used for ebm.</title></info>
|
||||
|
||||
|
||||
<mediaobject>
|
||||
<imageobject role="html">
|
||||
<imagedata align="center" fileref="../../articles/en/images/ebm_primitive_fig01.png" format="PNG"/>
|
||||
</imageobject>
|
||||
<imageobject role="fo">
|
||||
<imageobject>
|
||||
<imagedata align="center" fileref="../../articles/en/images/ebm_primitive_fig01.png" format="PNG"/>
|
||||
</imageobject>
|
||||
</mediaobject>
|
||||
</figure>
|
||||
|
||||
|
||||
<figure xml:id="ebm4"><info><title>Example of ebm.</title></info>
|
||||
|
||||
|
||||
<mediaobject>
|
||||
<imageobject role="html">
|
||||
<imagedata align="center" fileref="../../articles/en/images/ebm_primitive_fig02.png" format="PNG"/>
|
||||
</imageobject>
|
||||
<imageobject role="fo">
|
||||
<imageobject>
|
||||
<imagedata align="center" fileref="../../articles/en/images/ebm_primitive_fig02.png" format="PNG"/>
|
||||
</imageobject>
|
||||
</mediaobject>
|
||||
</figure>
|
||||
|
||||
|
||||
<figure xml:id="ebm5"><info><title>Example of the ebm with projection shader added.</title></info>
|
||||
|
||||
|
||||
<mediaobject>
|
||||
<imageobject role="html">
|
||||
<imagedata align="center" fileref="../../articles/en/images/ebm_primitive_fig03.png" format="PNG"/>
|
||||
</imageobject>
|
||||
<imageobject role="fo">
|
||||
<imageobject>
|
||||
<imagedata align="center" fileref="../../articles/en/images/ebm_primitive_fig03.png" format="PNG"/>
|
||||
</imageobject>
|
||||
</mediaobject>
|
||||
@@ -92,24 +85,24 @@
|
||||
</informaltable>
|
||||
|
||||
<note xml:id="ebm9"><info><title>Points to Remember About the ebm</title></info>
|
||||
|
||||
|
||||
<itemizedlist mark="bullet">
|
||||
<listitem>
|
||||
<para>
|
||||
The ebm cannot be created with the make, create, or inside
|
||||
The ebm cannot be created with the make, create, or inside
|
||||
commands.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
The desired width and height of the ebm are input as pixel
|
||||
values, but the extrusion distance can be expressed in any
|
||||
working units.
|
||||
The desired width and height of the ebm are input as pixel
|
||||
values, but the extrusion distance can be expressed in any
|
||||
working units.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
Extrusions are made in the +Z direction, although after an ebm is
|
||||
Extrusions are made in the +Z direction, although after an ebm is
|
||||
made, the shape can be rotated, translated, or scaled.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
@@ -1,8 +1,10 @@
|
||||
<article xmlns="http://docbook.org/ns/docbook" xmlns:xi="http://www.w3.org/2001/XInclude" version="5.0">
|
||||
<!-- Converted by db4-upgrade version 1.0 -->
|
||||
|
||||
<article xmlns="http://docbook.org/ns/docbook" version="5.0">
|
||||
<info><title>Setting Up a .mgedrc File</title>
|
||||
|
||||
|
||||
|
||||
<xi:include href="../../books/en/tutorial_series_authors.xml" xpointer="Intro_MGED_Tutorial_Series_III_authors"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="../../books/en/tutorial_series_authors.xml" xpointer="Intro_MGED_Tutorial_Series_III_authors"/>
|
||||
|
||||
<legalnotice>
|
||||
<para>Approved for public release; distribution is unlimited</para>
|
||||
@@ -42,8 +44,8 @@
|
||||
|
||||
<note xml:id="mgedrc4">
|
||||
<para>
|
||||
Remember that when creating/updating .mgedrc files, if any
|
||||
conflicting/repeated commands are found, BRL-CAD "obeys" the last
|
||||
Remember that when creating/updating .mgedrc files, if any
|
||||
conflicting/repeated commands are found, BRL-CAD "obeys" the last
|
||||
command listed.
|
||||
</para>
|
||||
</note>
|
||||
@@ -57,12 +59,9 @@
|
||||
|
||||
<figure xml:id="mgedrc6"><info><title>The two basic parts of the .mgedrc file: (1) information before header, and (2) information
|
||||
after header.</title></info>
|
||||
|
||||
|
||||
<mediaobject>
|
||||
<imageobject role="html">
|
||||
<imagedata align="center" fileref="../../articles/en/images/mgedrc_fig01.png" format="PNG"/>
|
||||
</imageobject>
|
||||
<imageobject role="fo">
|
||||
<imageobject>
|
||||
<imagedata align="center" fileref="../../articles/en/images/mgedrc_fig01.png" format="PNG"/>
|
||||
</imageobject>
|
||||
</mediaobject>
|
||||
@@ -70,7 +69,7 @@
|
||||
|
||||
<para xml:id="mgedrc7">
|
||||
Each command includes the following four basic components:
|
||||
|
||||
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>
|
||||
@@ -92,7 +91,7 @@
|
||||
the body (i.e., commands that MGED should execute).
|
||||
</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</itemizedlist>
|
||||
</para>
|
||||
|
||||
<para xml:id="mgedrc8">
|
||||
@@ -111,19 +110,19 @@
|
||||
in a window 256 pixels high and wide, with a background color of white,
|
||||
and with the ambient light set to 0.7, the following text would have to be
|
||||
typed:
|
||||
|
||||
|
||||
<literallayout class="normal">
|
||||
rt -s256 -C255/255/255 -A.7
|
||||
</literallayout>
|
||||
|
||||
|
||||
However, it is a simple matter to add a line to the user's .mgedrc file to
|
||||
automate the calling of this instruction. The user's line might be as
|
||||
follows:
|
||||
|
||||
|
||||
<literallayout class="normal">
|
||||
proc 256wa {} {rt -s256 -C255/255/255 -A.7}
|
||||
</literallayout>
|
||||
|
||||
|
||||
Diagrammed, this line breaks down as follows:
|
||||
<informaltable>
|
||||
<tgroup cols="4">
|
||||
@@ -148,7 +147,7 @@ proc 256wa {} {rt -s256 -C255/255/255 -A.7}
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</informaltable>
|
||||
|
||||
|
||||
Now, all the user has to type on the command line to execute a rendering with the previously
|
||||
listed options is the following procedure name:
|
||||
|
||||
@@ -168,14 +167,14 @@ proc 256wa {} {rt -s256 -C255/255/255 -A.7}
|
||||
The .mgedrc file can also be used to create shortcuts for other types of command line or GUI
|
||||
commands. For example, the syntax for creating a shortcut for accepting and rejecting edits
|
||||
from the command line might be as follows:
|
||||
|
||||
|
||||
<literallayout class="normal">
|
||||
proc acc {} {press accept}
|
||||
proc rej {} {press reject}
|
||||
</literallayout>
|
||||
|
||||
In addition, a possible shortcut for calling a standard viewing geometry might be as follows:
|
||||
|
||||
|
||||
<literallayout class="normal">
|
||||
proc 145 {} {ae 145 25}
|
||||
</literallayout>
|
||||
@@ -202,12 +201,9 @@ proc cps {oldprim newprim} {cp $oldprim $newprim; sed $newprim}
|
||||
</para>
|
||||
|
||||
<figure xml:id="mgedrc13"><info><title>Sample elements and functionality of a .mgedrc file.</title></info>
|
||||
|
||||
|
||||
<mediaobject>
|
||||
<imageobject role="html">
|
||||
<imagedata align="center" fileref="../../articles/en/images/mgedrc_fig02.png" format="PNG"/>
|
||||
</imageobject>
|
||||
<imageobject role="fo">
|
||||
<imageobject>
|
||||
<imagedata align="center" fileref="../../articles/en/images/mgedrc_fig02.png" format="PNG"/>
|
||||
</imageobject>
|
||||
</mediaobject>
|
||||
@@ -222,9 +218,7 @@ proc cps {oldprim newprim} {cp $oldprim $newprim; sed $newprim}
|
||||
<row>
|
||||
<entry>set mged_default</entry>
|
||||
<entry>(geom)</entry>
|
||||
<entry>475
|
||||
× <!-- multiply symbol -->
|
||||
250</entry>
|
||||
<entry>475 × 250</entry>
|
||||
<entry>+65 +80</entry>
|
||||
</row>
|
||||
<row>
|
||||
@@ -241,9 +235,7 @@ proc cps {oldprim newprim} {cp $oldprim $newprim; sed $newprim}
|
||||
|
||||
<para xml:id="mgedrc15">
|
||||
As illustrated in Figure D-3, to specify the window size, the user inputs
|
||||
width-by-height dimensions for each window (i.e., 475
|
||||
× <!-- multiply symbol -->
|
||||
250). To specify
|
||||
width-by-height dimensions for each window (i.e., 475 × 250). To specify
|
||||
the placement of the windows on the display, the user specifies offset
|
||||
distances (i.e., +65 +80) from the edges of the display (as measured in
|
||||
pixels). The first number defines the distance for the left/right
|
||||
@@ -257,12 +249,9 @@ proc cps {oldprim newprim} {cp $oldprim $newprim; sed $newprim}
|
||||
</para>
|
||||
|
||||
<figure xml:id="mgedrc16"><info><title>Sample window dimension input and positioning.</title></info>
|
||||
|
||||
|
||||
<mediaobject>
|
||||
<imageobject role="html">
|
||||
<imagedata align="center" fileref="../../articles/en/images/mgedrc_fig03.png" format="PNG"/>
|
||||
</imageobject>
|
||||
<imageobject role="fo">
|
||||
<imageobject>
|
||||
<imagedata align="center" fileref="../../articles/en/images/mgedrc_fig03.png" format="PNG"/>
|
||||
</imageobject>
|
||||
</mediaobject>
|
||||
|
||||
+414
-477
File diff suppressed because it is too large
Load Diff
+348
-436
File diff suppressed because it is too large
Load Diff
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user