Compare commits

..
Author SHA1 Message Date
Clifford Yapp a3dcc30da3 Framebuffer API is (hopefully) close enough for now, so shifting focus to libdm (svn branch delete)
svn:revision:62127
svn:branch:framebuffer-experiment
svn:account:starseeker
2014-08-13 18:27:27 +00:00
7020 changed files with 218465 additions and 1350319 deletions
-1
View File
@@ -1,3 +1,2 @@
/bin
/lib
/build
+4 -86
View File
@@ -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, Artwork, and Website Contributors
* Documentation and Website Contributors
* Code Contributors
* Special Thanks
@@ -268,8 +268,8 @@ Weaver, Stephanie 'Rain' **
ARL Student Hire / Bridgewater College
DOCUMENTATION, ARTWORK, AND WEBSITE CONTRIBUTORS
------------------------------------------------
DOCUMENTATION AND WEBSITE CONTRIBUTORS
--------------------------------------
Weaver, Earl P.
1980
@@ -334,25 +334,6 @@ Perez, Alex
2012 November
Open Source (GCI)
Tannous, Marc
2014 December
Open Source (GCI)
Chiplunkar, Shardul
nicknames microchip, shardulc
2014 December
Open Source (GCI)
Juvekar, Mandar
nicknames mandarj
2014 December
Open Source (GCI)
Sofat, Hitesh
nicknames sofat
2015 June
Open Source (GSoC)
CODE CONTRIBUTIONS
------------------
@@ -482,7 +463,6 @@ U.S. Army Research Laboratory
Howard, Doug
SURVICE Engineering, Inc.
2006 April
Silva, Prasad Prometheus
nicknames prasad_silva
@@ -723,13 +703,12 @@ Open Source (GSoC)
Huff, Emory
nicknames hknoll
2013 July
ARL Student Hire
U.S. Army Research Laboratory (SEAP)
Engbert, Jonathan
nicknames ejno
2013 July
Open Source
ARL Student Hire / University of Maryland, Baltimore County
Andrew
2013 November
@@ -768,52 +747,6 @@ Roberts, Mitchell
2014 July
ARL Student Hire
Bayes, Matthew
nicknames klinger4077
2014 July
ARL Student Hire / University of Maryland College Park
Mirea, Ștefan-Gabriel
2014 October
Open Source
Krishna
2015 January
Open Source (GCI)
Konrad, Djimeli
2015 February
Open Source
Alexandre da Silva Costa, Vasco
nicknames vasco_costa
2015 April
Open Source (GSoC)
Thakkar, Kalpit
nicknames dracarys983
2015 May
Open Source (GSoC)
Ilinca, Andrei
nicknames andrei_il
2015 June
Open Source (GSoC)
Sofat, Hitesh
nicknames sofat
2015 June
Open Source (GSoC)
Hollister, Brad
nicknames bhollister
2015 July
Open Source (GSoC)
Hanji, Param
2016 March
Open Source (GSoC)
SPECIAL THANKS
--------------
@@ -1105,21 +1038,6 @@ nicknames dhyams
2014 February
Open Source
Reddy, Raj
nicknames raj12lnm
2014 May
Open Source
Malhotra, Shivoam
nicknames shiv05
2015 March
Open Source
Chepkwony, Benson
nicknames bchepkwny
2015 December
Open Source
CORPORATE AND ORGANIZATION SUPPORT
----------------------------------
+16 -38
View File
@@ -15,47 +15,20 @@ on-going issues.
Recent Bugs
-----------
* rtedge's overlay mode appears to be generating different results on
Windows and Linux for the m35 steering wheel (rtwizard rendering
mode D.)
* count_non_union_ops() in g-iges crashes with simple conversion case
* pixdiff on Windows is reporting no differences with a pair of files
that pixcmp can see differences in.
* fblabel seems quite busted, at least talking to a /dev/X fbserv, in
that it only draws the first character and eventually displays
rem_read() failures when run in -d debug mode.
* rtedge doesn't refresh a /dev/X fbserv (presumably double-buffered)
after doing an overlay render. it does draw, though, as confirmed
by a forced fb-fb refresh.
* pixborder doesn't account for an edge case where the right edge of
an image is expected to be colored (except for one pixel on the top
edge). Example:
pixborder -b "255 0 0" -t "255 255 255" < pix/moss.pix | pix-fb
* report that attempting to change units on a read-only file in MGED
will not change the units in the file but changes them in MGED,
resulting in problems with nirt missing geometry it shouldn't miss.
* typing 'comb -f -r assembly_name' shuts down mged with the error:
ERROR: bad pointer 0000000000B4CA50: s/b bu_external(x768dbbd0), was bu_vls(x89333bbb), file ..\..\..\brlcad_src\src\libbu\parse.c, line 2443"
And on the mged command line:
rt_db_cvt_to_external5 expecting non-NULL name parameter
wdb_export((null)): solid export failure
* report of mged command history not working with the down arrow key
in 7.25.0 (on Windows, unknown on other platforms). Up arrow works
fine.
* wgl framebuffer is not lingering on windows (regardless of using
wgll or default) when it should
* 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.
@@ -113,6 +86,11 @@ Recent Bugs
* 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
@@ -146,8 +124,8 @@ Recent Bugs
* 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 concatting
* 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.
* infinite loop in rt_find_backing_dist() raytracing a BoT (without
+21 -144
View File
@@ -8,7 +8,7 @@ include developer application programming interface (API) calls as
well as user application command-line interface (CLI) and graphical
user interface (GUI) behaviors. Changes are characterized as:
1) those affecting a new interface,
1) changing a new interface,
2) being minimally impacting, or
3) requiring adherence to deprecation policy.
@@ -23,11 +23,10 @@ NEW INTERFACE
-------------
Changes to interfaces that have been recently introduced are often
subject to further change and should not yet be relied upon by
application developers or users until they stabilize. They are
allowed to change from release to release and are not subject to
change policy restrictions until they have been included in at least
TWO releases without any change.
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
@@ -36,21 +35,20 @@ MINIMALLY IMPACTING
If a change to an interface has a suitable and completely equivalent
alternative, the change is deemed to be "minimally impacting" and can
be made during any release. Examples of such changes include renaming
an interface, reordering parameters, adding optional parameters,
adding additional parameters for previously implicit behavior, and
removing unused parameters.
an interface, reordering parameters, adding additional parameters for
previously implicit behavior, and removing unused parameters.
Generally, the impact can usually be considered minimally impacting if
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 manual intervention is required.
to update calling code, and no change is imposed on the user.
DEPRECATION POLICY
------------------
If a change will intentionally alter, replace, or remove functionality
that has been documented and published in at least TWO releases, it
must first be announced as DEPRECATED. Otherwise, changes to
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.
@@ -117,51 +115,18 @@ and new names should be listed for reference.
7.26
----
include/bu/hash.h
bu_hash_tbl_find, bu_set_hash_value, bu_get_hash_value, bu_get_hash_key,
bu_hash_tbl_add, bu_hash_tbl_print, bu_hash_tbl_free, bu_hash_tbl_first,
bu_hash_tbl_next, bu_hash_tbl_traverse, public structs bu_hash_entry and
bu_hash_tbl will be made private.
Replaced with new API [deprecated 7.26]
rtrad, bot_shell-vtk, rt_bot_faces, g-nmg, nmg-bot, nmg-rib, nmg-sgp, plot3-hpgl,
plot3-tk, plot3-X, fix_polysolids, terrain, pixinfo.sh, png_info, dbcp, buffer,
hex, bw-d, c-d, d-bw, d-f, d-i, d-u, f-d, f-i, i-d, -if, u-bw, u-d, u-f
remove obsolete commands [deprecated 7.26]
include/bu/cmd.h
remove struct bu_cmdhist and struct bu_cmdhist_obj [deprecated 7.26]
BU_CMDHIST_NULL, BU_CMDHIST_OBJ_NULL, bu_cmdhist_histor, bu_cmdhist_add,
bu_cmdhist_curr, bu_cmdhist_nest, bu_cmdhist_prev [deprecated 7.26]
fb-rle, rle-fb, bw-rle, pix-rle, rle-pix
All tools focused specifically on the RLE image format. [deprecated 7.26]
nirt
-T - use LIBRT_BOT_MINTIE environment variable instead [deprecated 7.26]
all global variables
global variables are no longer considered published public API [deprecated 7.26]
bn_mat_identity -> MAT_INIT_IDN or MAT_IDN() or NULL
include/bn.h
tp_setup, no longer needs to be public API [deprecated 7.26]
include/raytrace.h
curve_to_tcl_list
db_full_path_appendresult tcl_obj_to_int_array
tcl_obj_to_fastf_array tcl_list_to_int_array
tcl_list_to_fastf_array *_tcl_*, removal of all tcl-specific
API functions [deprecated 7.26]
db_regexp_match_all() -> db_ls() [deprecated 7.26]
include/tclcad.h
tclcad_bn_mat_print tclcad_rt_parse_ray tclcad_rt_pr_cutter
tclcad_rt_pr_hit tclcad_rt_rt tclcad_rt_import_from_path, removal of all
tcl-specific API functions [deprecated 7.26]
pixcut, pixpaste
copyright cleanup [deprecated 7.26]
librt, fast4-g
removal of CLINE entity support [deprecated 7.26]
kill, killtree, killall, killrefs
replaced with rm command [deprecated 7.26]
rm comb obj1 obj2 comb1 ... -> new behavior: remove objects and empty combs from .g
original functionality replaced with rm comb/obj* comb/comb1 ... syntax [deprecated 7.26]
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
@@ -301,12 +266,6 @@ now no longer a part of BRL-CAD.
7.26.0
------
conf.h
removed - replaced with common.h [deprecated 7.0]
libbu, libbn
no longer utilize or require Tcl [7.26 architecture change]
include/dg.h
implementation detail no longer being exposed, use libged [deprecated 7.22]
autogen.sh && configure
GNU Autotools build system -> CMake build system [deprecated 7.20]
Dunn camera and Canon printer tools
@@ -335,7 +294,6 @@ include/vmath.h
VSCALE_2D -> V2SCALE [deprecated 7.14]
VJOIN1_2D -> V2JOIN1 [deprecated 7.14]
liborle
include/orle.h
remove liborle and the tools using it, fb-orle, orle-fb, orle-pix and
pix-orle [deprecated 7.20]
mged
@@ -536,8 +494,6 @@ may need adjustment (particularly quoting of '(', ')', and '|'
characters) for other environments. Most expressions will apply with:
perl -0777 -pi -e 'EXPRESSION' FILE
To apply them to an entire SVN checkout, the following pattern is useful:
find . -type f -not -path "*.svn/*" -regex '.*\(c\|cpp\|cxx\|h\|hpp\)$' -exec perl -0777 -pi -e 'EXPRESSION' {} \;
6.0 (sed lines)
---
@@ -1016,10 +972,10 @@ s/bu_find_hash_entry/bu_hash_tbl_find/g
s/bu_hash_add_entry/bu_hash_tbl_add/g
s/bu_hash_tbl_pr/bu_hash_tbl_print/g
renamed for better consistency in hash table API and with other libbu API [7.24]
s/dm_applicationfocus\([[:space:]]*\);//g
only useful in older os x versions, users can now do the same thing via XQuartz preferences [7.24]
s/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 [7.24]
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
@@ -1031,89 +987,10 @@ s/bn_inv255/(1.0 \/ 255.0)/g
s/bn_degtorad/DEG2RAD/g
s/bn_radtodeg/RAD2DEG/g
s/bn_sin_scale/(BN_SINTABSIZE \/ M_2PI)/g
eliminated a number of libbn globals in favor of existing constants [7.24]
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:]]+["<])hist\.h/\1bu\/hist.h/g
s/(#[[:space:]]*include[[:space:]]+["<])magic\.h/\1bu\/magic.h/g
library-specific public headers moved into a subdir [7.24]
s/([^_])([nh]to[hn][fd])/\1bu_cv_\2/g
ntohf, ntohd, htonf, htond renamed with bu_cv_ prefix [7.24]
7.26
----
s/bu_kill_parallel\([[:space:]]*\);//g
didn't do anything unless called from forked process, use bu_terminate() [7.25]
s/bu_jmpbuf/bu_jmpbuf[0]/g
s/bu_setjmp_valid/bu_setjmp_valid[0]/g
can replace 0 with bu_parallel_id() to get thread-safe jumping [7.25]
s/bu_semaphore_reinit/bu_semaphore_init/g
no longer need to manually reinitialize (or initialize) semaphores [7.25]
s/(#[[:space:]]*include[[:space:]]+["<])fbio\.h/\1bu\/fb.h/g
fbio.h is now part of fb.h [7.25]
s/UNION/'u'/g
s/SUBTRACT/'-'/g
s/INTERSECT/'+'/g
old db.h db4 preprocessor symbols removed, use char or DB_OP_* [7.25]
s/(#[[:space:]]*include[[:space:]]+["<])bselect\.h/\1bsocket.h/g
s/(#[[:space:]]*include[[:space:]]+["<])bin\.h/\1bnetwork.h/g
rename bselect.h and bin.h public headers to be more declaratively named [7.25]
s/db5_enc_len[(.*)]/DB5_ENC_LEN(\1)/g
replaced db5_enc_len[] global array with DB5_ENC_LEN() macro [7.25]
s/db_normalize/bu_normalize/g
move the path normalization routine to libbu [7.25]
s/(#[[:space:]]*include[[:space:]]+["<])bot\.h/\1rt\/primitives\/bot.h/g
consolidate bot header contents [7.25]
s/(#[[:space:]]*include[[:space:]]+["<])anim\.h/\1bn\/anim.h/g
consolidate anim header contents [7.25]
s/(#[[:space:]]*include[[:space:]]+["<])plot3\.h/\1bn.h/g
plot3 implementation is in libbn, move header and replace plot3.h with bn.h [7.25]
s/(#[[:space:]]*include[[:space:]]+["<])vectfont\.h/#define LAST -128\n\1bn\/vectfont.h/g
consolidate vectfont.h files [7.25]
s/(#[[:space:]]*include[[:space:]]+["<])spm\.h/\1bn\/spm.h/g
move spm.h into bn subheader directory [7.25]
s/(#[[:space:]]*include[[:space:]]+["<])dvec\.h/\1bn\/dvec.h/g
s/(#[[:space:]]*include[[:space:]]+["<])vector_fpu\.h/\1bn\/vector_fpu.h/g
s/(#[[:space:]]*include[[:space:]]+["<])vector_x86\.h/\1bn\/vector_x86.h/g
move dvec.h and friends into bn subheader directory [7.25]
s/(#[[:space:]]*include[[:space:]]+["<])db\.h/\1rt\/db4.h/g
move db.h to rt/db4.h [7.25]
s/(#[[:space:]]*include[[:space:]]+["<])db5\.h/\1rt\/db5.h/g
move db5.h to rt/db5.h [7.25]
s/(#[[:space:]]*include[[:space:]]+["<])mater\.h/\1raytrace.h/g
merge mater.h with rt/mater.h [7.25]
s/(#[[:space:]]*include[[:space:]]+["<])nurb\.h/#include "raytrace.h"\n\1rt\/nurb.h/g
move nurb.h to rt/nurb.h [7.25]
s/(#[[:space:]]*include[[:space:]]+["<])rtfunc\.h/#include "raytrace.h"\n\1rt\/func.h/g
move rtfunc.h to rt/func.h [7.25]
s/(#[[:space:]]*include[[:space:]]+["<])tol\.h/#include "bn.h"\n#include "raytrace.h"\n\1rt\/tol.h/g
consolidate tol.h and rt/tol.h [7.25]
s/(#[[:space:]]*include[[:space:]]+["<])tie\.h/\1rt\/tie.h/g
move tie.h to rt/tie.h [7.25]
s/(#[[:space:]]*include[[:space:]]+["<])solid\.h/#include "raytrace.h"\n\1rt\/solid.h/g
move solid.h to rt/solid.h [7.25]
s/(#[[:space:]]*include[[:space:]]+["<])shadework\.h/\1optical\/shadework.h/g
move shadework.h to optical/shadework.h [7.25]
s/(#[[:space:]]*include[[:space:]]+["<])shadefuncs\.h/\1optical.h/g
move shadefuncs.h to optical/shadefuncs.h [7.25]
s/(#[[:space:]]*include[[:space:]]+["<])light\.h/#include "bn.h"\n#include "raytrace.h"\n\1optical\/light.h/g
move light.h to optical/light.h [7.25]
s/(#[[:space:]]*include[[:space:]]+["<])plastic\.h/\1optical\/plastic.h/g
move plastic.h to optical/plastic.h [7.25]
s/(#[[:space:]]*include[[:space:]]+["<])rtgeom\.h/\1rt\/geom.h/g
move rtgeom.h to rt/geom.h [7.25]
s/rt_vlist_get_cmd_description/bn_vlist_get_cmd_description/g
s/rt_ck_vlist/bn_ck_vlist/g
s/rt_vlist_export/bn_vlist_export/g
s/rt_vlblock_free/bn_vlblock_free/g
s/rt_vlblock_find/bn_vlblock_find/g
move vlist functions from librt to libbn [7.25]
s/([[:space:],\(,"])bn_tcl/\1tclcad_bn/g
s/([[:space:],\(,"])rt_tcl_rt/\1tclcad_rt/g
s/([[:space:],\(,"])rt_tcl/\1tclcad_rt/g
tcl library registrations moved to libtclcad [7.25]
s/rt_grow_boolstack/rt_bool_growstack/g
rename with consistent prefixes [7.25]
s/(#[[:space:]]*include[[:space:]]+["<])obj\.h/\1dm\/bview.h/g
s/GED_VIEW_OBJ_NULL/VIEW_OBJ_NULL/g
move view_obj to dm/bview.h [7.25]
+1300 -540
View File
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -101,7 +101,7 @@ arranged. This includes an implicit assignment of copyright for any
and all contributions being made. The following notice should be
prominent in the BRL-CAD sources:
Copyright (c) 1984-2016 United States Government as represented by
Copyright (c) 1984-2014 United States Government as represented by
the U.S. Army Research Laboratory.
Contact
-15
View File
@@ -1,15 +0,0 @@
## This file should be placed in the root directory of your project.
## Then modify the CMakeLists.txt file in the root directory of your
## project to incorporate the testing dashboard.
##
## # The following are required to submit to the CDash dashboard:
## ENABLE_TESTING()
## INCLUDE(CTest)
set(CTEST_PROJECT_NAME "BRL-CAD")
set(CTEST_NIGHTLY_START_TIME "06:00:00 UTC")
set(CTEST_DROP_METHOD "http")
set(CTEST_DROP_SITE "brlcad.org")
set(CTEST_DROP_LOCATION "/CDash/submit.php?project=BRL-CAD")
set(CTEST_DROP_SITE_CDASH TRUE)
+19 -10
View File
@@ -240,18 +240,18 @@ accuracy-oriented ray intersection, geometric analysis, and geometry
representation library that supports a wide variety of geometric
forms. Geometry can be grouped into combinations and regions using
CSG boolean operations.
Depends on: libbn libbu libregex libm (openNURBS)
Depends on: libbn libbu libtcl libregex libm (openNURBS)
libbu: The BRL-CAD Utility library contains a wide variety of routines
for memory allocation, threading, string handling, argument support,
linked lists, and more.
Depends on: (threading) (malloc)
Depends on: libtcl (threading) (malloc)
libbn: The BRL-CAD Numerics library provides many floating-point math
manipulation routines for vector and matrix math, a polynomial
equation solver, noise functions, random number generators, complex
number support, and more as well.
Depends on: libbu libm
Depends on: libbu libtcl libm
libcursor: The cursor library is a lightweight cursor manipulation
library similar to curses but with less overhead.
@@ -288,6 +288,11 @@ models, as well as various visual effects such as texturing, marble,
wood graining, air, gravel, grass, clouds, fire, and more.
Depends on: librt libbn libbu libtcl
liborle: The "old" run-length encoding library that will decode and
encode University of Utah Raster Toolkit format Run-Length Encoded
data.
Depends on nothing
libpkg: The "Package" library is a network communications library that
supports multiplexing and demultiplexing synchronous and asynchronous
messages across stream connections. The library supports a
@@ -302,6 +307,11 @@ multithreaded ray dispatch.
Depends on: librt libbn libbu libtcl
Includes dependent libraries as part of this library
libsysv: The System 5 compatibility library exists to support legacy
systems that lack functionality required by BRL-CAD. This library is
deprecated and should generally not be used for new development.
Depends on nothing
libtclcad: The Tcl-CAD library is a thin interface that assists in the
binding of an image to a Tk graphics context.
Depends on: libbn libbu libfb libtcl libtk
@@ -577,7 +587,6 @@ variables should be utilized instead of the standard C facility:
bu_optind instead of optind
bu_optopt instead of optopt
bu_optarg instead of optarg
bu_strdup() instead of strdup()
bu_strlcat() instead of strcat(), strncat(), and strlcat()
bu_strlcpy() instead of strcpy(), strncpy(), and strlcpy()
bu_strcmp() and BU_STR_EQUAL() instead of strcmp()
@@ -972,11 +981,11 @@ granted after a contributor demonstrates strong competency with our
developer guidelines and an existing developer with commit access
vouches for the new developer.
If you would like to have commit access, do not ask for it. Getting
involved with the other contributors and making patches will result in
automatic consideration for commit access. That said, the following
steps represent a minimum that needs to occur in order for commit
access to be granted:
If you would like to have commit access, there is no need to ask.
Getting involved with the other contributors and making patches will
result in automatic consideration for commit access. That said, the
following steps represent a minimum that needs to occur in order for
commit access to be granted:
1) Read this file completely.
@@ -986,7 +995,7 @@ access to be granted:
4) Create a SourceForge account, submit at least two patches that
demonstrate competency with our coding style, apply flawlessly, and
provide some significant improvement.
provide some signficant improvement.
5) Get to know the other developers. One of them will need to vouch
for your commit access.
+12 -73
View File
@@ -347,6 +347,18 @@ respectively.
CONFIGURATION OPTIONS
---------------------
--- BRLCAD_BUNDLED_LIBS ---
Enables compilation of all 3rd party sources that are provided within a BRL-CAD
source distribution. If used this option sets all other 3rd party library
build flags to ON by default. However, that setting can be overridden by
manually setting individual variables. Default is "AUTO" - 3rd party sources
are compiled only if they are not detected as being available and functioning
as expected.
Aliases: ENABLE_ALL
--- BRLCAD_ENABLE_OPENGL ---
Enable support for OpenGL based Display Managers in BRL-CAD.
@@ -438,18 +450,6 @@ permissions).
Aliases: ENABLE_DOCS, ENABLE_EXTRA_DOCS, ENABLE_DOCBOOK
--- BRLCAD_BUNDLED_LIBS ---
Enables compilation of all 3rd party sources that are provided within a BRL-CAD
source distribution. If used this option sets all other 3rd party library
build flags to ON by default. However, that setting can be overridden by
manually setting individual variables. Default is "AUTO" - 3rd party sources
are compiled only if they are not detected as being available and functioning
as expected.
Aliases: ENABLE_ALL
--- BRLCAD_LEMON ---
Option for enabling and disabling compilation of the lemon parser
@@ -536,26 +536,6 @@ first for a system version if BRLCAD_BUNDLED_LIBS is also AUTO.
Aliases: ENABLE_ZLIB, ENABLE_LIBZ
--- BRLCAD_TINYCTHREAD ---
Option for enabling and disabling compilation of the tinycthread library
provided with BRL-CAD's source distribution. Default is AUTO,
responsive to the toplevel BRLCAD_BUNDLED_LIBS option and testing
first for a system version if BRLCAD_BUNDLED_LIBS is also AUTO.
Aliases: ENABLE_TINYCTHREAD
--- BRLCAD_FREETYPE ---
Option for enabling and disabling compilation of the FreeType
libraries provided with BRL-CAD's source code. Default is AUTO, responsive to
the toplevel BRLCAD_BUNDLED_LIBS option and testing first for a system
version if BRLCAD_BUNDLED_LIBS is also AUTO.
Aliases: ENABLE_FREETYPE
--- BRLCAD_TERMLIB ---
Option for enabling and disabling compilation of the termlib library
@@ -568,16 +548,6 @@ disabled. Windows does not support the termlib API.)
Aliases: ENABLE_TERMLIB
--- BRLCAD_NETPBM ---
Option for enabling and disabling compilation of the netpbm library
provided with BRL-CAD's source code. Default is AUTO, responsive to
the toplevel BRLCAD_BUNDLED_LIBS option and testing first for a system
version if BRLCAD_BUNDLED_LIBS is also AUTO.
Aliases: ENABLE_NETPBM
--- BRLCAD_PNG ---
Option for enabling and disabling compilation of the Portable Network
@@ -712,16 +682,6 @@ version if BRLCAD_BUNDLED_LIBS is also AUTO.
Aliases: ENABLE_OPENNURBS
--- BRLCAD_SPR ---
Option for enabling and disabling compilation of the PoissonRecon library
provided with BRL-CAD's source code. Default is AUTO, responsive to
the toplevel BRLCAD_BUNDLED_LIBS option and testing first for a system
version if BRLCAD_BUNDLED_LIBS is also AUTO.
Aliases: ENABLE_SPR
--- BRLCAD_SC ---
Option for enabling and disabling compilation of the NIST Step Class
@@ -743,16 +703,6 @@ AUTO.
Aliases: ENABLE_VDS
--- BRLCAD_OSG ---
Option for enabling and disabling compilation of the OpenSceneGraph
libraries provided with BRL-CAD's source code. Default is AUTO, responsive to
the toplevel BRLCAD_BUNDLED_LIBS option and testing first for a system
version if BRLCAD_BUNDLED_LIBS is also AUTO.
Aliases: ENABLE_OPENSCENEGRAPH
--- BRLCAD_GDIAM ---
Option for enabling and disabling compilation of the libgdiam approximate
@@ -764,17 +714,6 @@ AUTO.
Aliases: ENABLE_GDIAM
--- BRLCAD_BULLET ---
Option for enabling and disabling compilation of the Bullet Realtime
Physics Simulation Libraries provided with BRL-CAD's source
distribution. Default is AUTO, responsive to the toplevel
BRLCAD_BUNDLED_LIBS option and testing first for a system version
if BRLCAD_BUNDLED_LIBS is also AUTO.
Aliases: ENABLE_BULLET
*** Note - Do not add or edit configuration option descriptions and alias
lists in this file - those entries are auto-generated from information in
+3 -65
View File
@@ -14,60 +14,6 @@ changes made. See document footer for additional details.
--- 2014-XX-XX Release 7.26.XX ---
----------------------------------------------------------------------
* added -M draw cmd option to skip subtraction solids - Cliff Yapp
* added -L draw cmd option to draw bboxes for large bots - Cliff Yapp
* minor rtwizard graphical user interface reorganization - Cliff Yapp
* ported 'brlman' manual page viewer with GUI to Windows - Cliff Yapp
* added gdiff -h help command-line option - Cliff Yapp
* added facetize -m marching cubes option - Erik Greenwald
* removed -I interactive option from rt/rtedge/remrt - Sean Morrison
* improved pix-bw intensity averaging to closest integer - Cliff Yapp
* removed pix-bw3 & bw3-pix tools, see pix-bw & bw-pix - Cliff Yapp
* fixed pix-ppm to write out all image data - Sean Morrision
* added new algorithm to bot_decimate (via -f option) - Jon Engbert
* fixed benchmark bug running from paths with spaces - Sean Morrison
* removed support for RLE v1 and v2 ('orle') image format - Cliff Yapp
* fixed datum type 'in' command unit conversion bug - Cliff Yapp
* fixed rpatch / patch-g line handling on Windows - Daniel Roßberg
* added 'arb8' surface area value to analyze command - Kalpit Thakkar
* added 'part' centroid reporting to analyze command - Brad Hollister
* added new pixcrop utility for cropping pix images - Carl Moore
* preliminary OpenCL-accelerated coherent ray tracing pipeline
- Jon Engbert, Vasco Costa
* improved point cloud plot visualization - Sean Morrison
* fixed program freezing bug in MGED grouper command - Bob Parker
* improved help option consistency across numerous tools - Carl Moore
* added prefatory FASTGEN4 geometry export support - Jon Engbert
* improved option parsing and output options for gencolor - Carl Moore
* fixed composition bugs in pixmatte and pixmerge - Carl Moore
* fixed definition of "light year" in unit conversions - Cliff Yapp
* added mirroring support for hrt primitive objects - Isaac Kamga
* ported the mged Overlap Tool to Windows - Sean Morrison
* improved NURBS prep performance for UV-remapped surfaces - Nick Reed
* fixed dbconcat -c crash when color table does not exist - Nick Reed
* swapped meanings of search's -above/-below options - Sean Morrison
* upgraded libpng to version 1.6.20 - Cliff Yapp
* added command window option for pasting tree view paths - Nick Reed
* removed "high resolution" options from all commands - Carl Moore
* improved performance of archer loading large BoT models - Nick Reed
* added evaluated shaded drawing preference mode and menu - Nick Reed
* extensive improvements to NURBS Boolean evaluation - Nick Reed
* added 'bot chull' for creating convex hull envelopes - Cliff Yapp
* new manual page for the g-voxel exporter - Mandarj
* new manual page for the g-dot exporter - Shardul Chiplunkar
* new Think. Invent. Create. splash screen for archer - Marc Tannous
* improved pix-bw to support dual output streams - Carl Moore
* added list option to attr command - Cliff Yapp
* added globbing support to attr command - Cliff Yapp
* added lc -0 option to return objects in tree order - Sean Morrison
* fixed crash in iges-g importer due to parsing error - Ștefan Mirea
* fixed corrupt output generated by iges-g importer - Ștefan Mirea
* gqa respects LIBRT_BOT_MINTIE environment variable - Ștefan Mirea
* improved behavior of mged's draw command - Ștefan Mirea
* fixed handling of extra whitespace in nirt commands - Ștefan Mirea
* fixed texture mapping crash with bad image dimensions - Ștefan Mirea
* fixed g2asc and asc2g handling of dsp primitive - Cliff Yapp
* rewrote gdiff with improved output & reporting options - Cliff Yapp
* 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
@@ -86,7 +32,7 @@ changes made. See document footer for additional details.
* 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
* 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
@@ -94,19 +40,11 @@ changes made. See document footer for additional details.
* 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
* 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
* implemented new 'hrt' heart-shaped primitive object - Isaac Kamga
----------------------------------------------------------------------
--- 2015-08-31 Release 7.24.4 ---
----------------------------------------------------------------------
* initial support for datum points, lines, and planes - Sean Morrison
----------------------------------------------------------------------
@@ -136,7 +74,7 @@ improved geometry interchange with other CAD systems.
* 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
* 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
+222 -608
View File
File diff suppressed because it is too large Load Diff
+22 -37
View File
@@ -6,55 +6,40 @@ add_definitions(
-DHAVE_CONFIG_H
-DBRLCADBUILD
-DCONSOLE
)
)
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})
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})
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)
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")
CMAKEFILES(lgt.sh run.sh try.sh viewdiff.sh)
if(SH_EXEC)
# CTest enabled short run of the benchmark suite
add_test(NAME benchmark COMMAND ${SH_EXEC} "${CMAKE_BINARY_DIR}/bin/benchmark" run TIMEFRAME=1)
set_tests_properties(benchmark PROPERTIES LABELS "Benchmark")
add_custom_target(benchmark-check
COMMAND ${CMAKE_CTEST_COMMAND} -L Benchmark --output-on-failure
DEPENDS rt pixcmp BENCHMARK_PIX_cp PIX_LOG_cp
)
add_dependencies(benchmark-check bldg391.g m35.g moss.g sphflake.g star.g world.g)
if(TARGET check)
add_dependencies(check benchmark-check)
endif(TARGET check)
# Full run of the benchmark suite
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
)
add_dependencies(benchmark bldg391.g m35.g moss.g sphflake.g star.g world.g)
# benchmark cleanup targets
add_custom_target(benchmark-clean
${SH_EXEC} ${CMAKE_BINARY_DIR}/bin/benchmark clean
)
add_custom_target(benchmark-clobber
${SH_EXEC} ${CMAKE_BINARY_DIR}/bin/benchmark clobber
)
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
)
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
${SH_EXEC} ${CMAKE_BINARY_DIR}/bin/benchmark clobber
)
endif(SH_EXEC)
# Local Variables:
+1 -1
View File
@@ -2,7 +2,7 @@
# L G T . S H
# BRL-CAD
#
# Copyright (c) 2004-2016 United States Government as represented by
# Copyright (c) 2004-2014 United States Government as represented by
# the U.S. Army Research Laboratory.
#
# Redistribution and use in source and binary forms, with or without
+5 -15
View File
@@ -1,7 +1,7 @@
/* P I X C M P . C
* BRL-CAD
*
* Copyright (c) 2004-2016 United States Government as represented by
* Copyright (c) 2004-2014 United States Government as represented by
* the U.S. Army Research Laboratory.
*
* This program is free software; you can redistribute it and/or
@@ -31,15 +31,13 @@
#include <stdlib.h>
#include <string.h>
#ifdef HAVE_SYS_STAT_H
# include <sys/stat.h>
#ifdef HAVE_UNISTD_H
# include <unistd.h>
#endif
#include "bio.h"
#include "bu/getopt.h"
#include "bu/log.h"
#include "bu/file.h"
#include "bu/str.h"
#include "bu.h"
/* exit codes for argument processing errors */
#define OPTS_ERROR 127
@@ -120,7 +118,6 @@ main(int argc, char *argv[])
{
FILE *f1 = NULL;
FILE *f2 = NULL;
struct stat sf1, sf2;
long matching = 0;
long off1 = 0;
@@ -202,13 +199,6 @@ main(int argc, char *argv[])
exit(FILE_ERROR);
}
stat(argv[0], &sf1);
stat(argv[1], &sf2);
if (sf1.st_size != sf2.st_size) {
bu_exit(FILE_ERROR, "Different file sizes found: %s(%d) and %s(%d). Cannot perform pixcmp.\n", argv[0], sf1.st_size, argv[1], sf2.st_size);
}
if (!print_bytes) {
f1_skip *= 3;
f2_skip *= 3;
+98 -94
View File
@@ -2,7 +2,7 @@
# R U N . S H
# BRL-CAD
#
# Copyright (c) 2004-2016 United States Government as represented by
# Copyright (c) 2004-2014 United States Government as represented by
# the U.S. Army Research Laboratory.
#
# Redistribution and use in source and binary forms, with or without
@@ -51,7 +51,7 @@
export PATH || (echo "This isn't sh."; sh $0 $*; kill $$)
# save the precious args
ARGS="$@"
ARGS="$*"
NAME_OF_THIS="`basename \"$0\"`"
PATH_TO_THIS="`dirname \"$0\"`"
THIS="$PATH_TO_THIS/$NAME_OF_THIS"
@@ -159,59 +159,66 @@ booleanize ( ) {
}
# any unrecognized args are assumed to be RT args (e.g., -P4)
RTARGS=""
# process the argument list for commands
while test $# -gt 0 ; do
arg="$1"
shift
NEWARGS=""
for arg in $ARGS ; do
case "x$arg" in
x*[cC][lL][eE][aA][nN])
CLEAN=1
shift
;;
x*[cC][lL][oO][bB][bB][eE][rR])
CLEAN=1
CLOBBER=1
shift
;;
x*[hH])
HELP=1
shift
;;
x*[hH][eE][lL][pP])
HELP=1
shift
;;
x*[iI][nN][sS][tT][rR][uU][cC][tT]*)
INSTRUCTIONS=1
shift
;;
x*[sS][tT][aA][rR][tT])
shift
;;
x*[qQ][uU][iI][eE][tT])
QUIET=1
shift
;;
x*[vV][eE][rR][bB][oO][sS][eE])
VERBOSE=1
shift
;;
x*[rR][uU][nN])
RUN=1
shift
;;
x*=*)
VAR=`echo $arg | sed 's/=.*//g'`
if test ! "x$VAR" = "x" ; then
VAL=`echo $arg | sed 's/.*=//g'`
CMD="$VAR=\"$VAL\""
CMD="$VAR=$VAL"
eval $CMD
export $VAR
fi
shift
;;
x*)
echo "WARNING: Passing unknown option [$arg] to RT"
RTARGS="$RTARGS $arg"
echo "WARNING: Passing unknown option [$1] to RT"
NEWARGS="$NEWARGS $arg"
;;
esac
done
# reload post-shifting
ARGS="$NEWARGS"
# validate and clean up options (all default to 0)
booleanize CLOBBER HELP INSTRUCTIONS QUIET VERBOSE RUN
@@ -424,13 +431,13 @@ $ECHO
########################
look_for ( ) {
# utility function to search for a certain filesystem object in a
# list of paths.
look_for_type="$1" ; shift
look_for_label="$1" ; shift
look_for_var="$1" ; shift
look_for_dirs="$*"
if test "x$look_for_label" != "x" ; then
$VERBOSE_ECHO "Looking for $look_for_label"
@@ -438,11 +445,11 @@ look_for ( ) {
# get the value of the variable
look_for_var_var="echo \"\$$look_for_var\""
look_for_var_val="`eval \"${look_for_var_var}\"`"
look_for_var_val="`eval ${look_for_var_var}`"
if test "x${look_for_var_val}" = "x" ; then
for look_for_dir in "$@" ; do
shift
for look_for_dir in $look_for_dirs ; do
opts="-r"
case "x$look_for_type" in
xfile)
@@ -453,10 +460,10 @@ look_for ( ) {
opts="-d -x"
;;
xexe*)
opts="$opts -f -x"
opts="$opts -f -r -x"
;;
xscr*)
opts="$opts -f -x"
opts="$opts -f -r -x"
;;
esac
look_for_failed=no
@@ -484,61 +491,61 @@ look_for ( ) {
}
look_for executable "the BRL-CAD raytracer" RT \
"${PATH_TO_THIS}/rt" \
"${PATH_TO_THIS}/../bin/rt" \
"${PATH_TO_THIS}/../src/rt/rt" \
"${PATH_TO_THIS}/src/rt/rt" \
${PATH_TO_THIS}/rt \
${PATH_TO_THIS}/../bin/rt \
${PATH_TO_THIS}/../src/rt/rt \
${PATH_TO_THIS}/src/rt/rt \
./rt \
../brlcadInstall/bin/rt.exe \
../src/rt/rt
look_for file "a benchmark geometry directory" DB \
"${PATH_TO_THIS}/../share/brlcad/*.*.*/db/moss.g" \
"${PATH_TO_THIS}/share/brlcad/*.*.*/db/moss.g" \
"${PATH_TO_THIS}/../share/brlcad/db/moss.g" \
"${PATH_TO_THIS}/share/brlcad/db/moss.g" \
"${PATH_TO_THIS}/../share/db/moss.g" \
"${PATH_TO_THIS}/share/db/moss.g" \
"${PATH_TO_THIS}/../db/moss.g" \
"${PATH_TO_THIS}/db/moss.g" \
${PATH_TO_THIS}/../share/brlcad/*.*.*/db/moss.g \
${PATH_TO_THIS}/share/brlcad/*.*.*/db/moss.g \
${PATH_TO_THIS}/../share/brlcad/db/moss.g \
${PATH_TO_THIS}/share/brlcad/db/moss.g \
${PATH_TO_THIS}/../share/db/moss.g \
${PATH_TO_THIS}/share/db/moss.g \
${PATH_TO_THIS}/../db/moss.g \
${PATH_TO_THIS}/db/moss.g \
./db/moss.g \
../brlcadInstall/share/brlcad/*.*.*/db/moss.g \
../db/moss.g
DB="`echo $DB | sed 's,/moss.g$,,'`"
DB=`echo $DB | sed 's,/moss.g$,,'`
look_for directory "a benchmark reference image directory" PIX \
"${PATH_TO_THIS}/../share/brlcad/*.*.*/pix" \
"${PATH_TO_THIS}/share/brlcad/*.*.*/pix" \
"${PATH_TO_THIS}/../share/brlcad/pix" \
"${PATH_TO_THIS}/share/brlcad/pix" \
"${PATH_TO_THIS}/../share/pix" \
"${PATH_TO_THIS}/share/pix" \
"${PATH_TO_THIS}/ref" \
${PATH_TO_THIS}/../share/brlcad/*.*.*/pix \
${PATH_TO_THIS}/share/brlcad/*.*.*/pix \
${PATH_TO_THIS}/../share/brlcad/pix \
${PATH_TO_THIS}/share/brlcad/pix \
${PATH_TO_THIS}/../share/pix \
${PATH_TO_THIS}/share/pix \
${PATH_TO_THIS}/ref \
./ref
look_for directory "a benchmark reference log directory" LOG \
"$PIX" \
"${PATH_TO_THIS}/../share/brlcad/*.*.*/pix" \
"${PATH_TO_THIS}/share/brlcad/*.*.*/pix" \
"${PATH_TO_THIS}/../share/brlcad/pix" \
"${PATH_TO_THIS}/share/brlcad/pix" \
"${PATH_TO_THIS}/../share/pix" \
"${PATH_TO_THIS}/share/pix" \
"${PATH_TO_THIS}/ref" \
$PIX \
${PATH_TO_THIS}/../share/brlcad/*.*.*/pix \
${PATH_TO_THIS}/share/brlcad/*.*.*/pix \
${PATH_TO_THIS}/../share/brlcad/pix \
${PATH_TO_THIS}/share/brlcad/pix \
${PATH_TO_THIS}/../share/pix \
${PATH_TO_THIS}/share/pix \
${PATH_TO_THIS}/ref \
./ref
look_for executable "a pixel comparison utility" CMP \
"${PATH_TO_THIS}/pixcmp" \
"${PATH_TO_THIS}/../bin/pixcmp" \
"${PATH_TO_THIS}/../bench/pixcmp" \
${PATH_TO_THIS}/pixcmp \
${PATH_TO_THIS}/../bin/pixcmp \
${PATH_TO_THIS}/../bench/pixcmp \
../brlcadInstall/bin/pixcmp.exe \
./pixcmp
look_for script "a time elapsed utility" ELP \
"${PATH_TO_THIS}/elapsed.sh" \
"${PATH_TO_THIS}/../bin/elapsed.sh" \
"${PATH_TO_THIS}/sh/elapsed.sh" \
"${PATH_TO_THIS}/../sh/elapsed.sh" \
${PATH_TO_THIS}/elapsed.sh \
${PATH_TO_THIS}/../bin/elapsed.sh \
${PATH_TO_THIS}/sh/elapsed.sh \
${PATH_TO_THIS}/../sh/elapsed.sh \
./elapsed.sh
@@ -585,12 +592,9 @@ else
fi
# more sanity checks, make sure the binaries and scripts run
eval \"$RT\" -s1 -F/dev/debug \"${DB}/moss.g\" LIGHT > /dev/null 2>&1
$RT -s1 -F/dev/debug ${DB}/moss.g LIGHT > /dev/null 2>&1
ret=$?
if test ! "x${ret}" = "x0" ; then
$ECHO
$ECHO "Running \"$RT\":"
"$RT"
$ECHO
$ECHO "ERROR: RT does not seem to work as expected"
exit 2
@@ -599,7 +603,7 @@ fi
# create a temporary file named "null", fopen("/dev/null") does not work on
# windows (using cygwin), so punt.
> null
eval \"$CMP\" null null >/dev/null 2>&1
$CMP null null >/dev/null 2>&1
rm -f null
ret=$?
@@ -608,7 +612,7 @@ if test ! "x${ret}" = "x0" ; then
$ECHO "ERROR: CMP does not seem to work as expected"
exit 2
fi
eval \"$ELP\" 0 > /dev/null 2>&1
$ELP 0 > /dev/null 2>&1
if test ! "x${ret}" = "x0" ; then
$ECHO
$ECHO "ERROR: ELP does not seem to work as expected"
@@ -676,12 +680,12 @@ if test "x`expr 1 - 1 2>/dev/null`" = "x0" ; then
if test $mintime -lt 1 ; then
mintime=0 # zero is okay
fi
$ECHO "Minimum run time is `\"$ELP\" $mintime`"
$ECHO "Minimum run time is `$ELP $mintime`"
maxtime="`expr 6 \* $MAXTIME`"
if test $maxtime -lt 1 ; then
maxtime=1 # zero would be misleading
fi
$ECHO "Maximum run time is `\"$ELP\" $maxtime`"
$ECHO "Maximum run time is `$ELP $maxtime`"
estimate="`expr 3 \* $mintime`"
if test $estimate -lt 1 ; then
estimate=1 # zero would be misleading
@@ -689,7 +693,7 @@ if test "x`expr 1 - 1 2>/dev/null`" = "x0" ; then
if test $estimate -gt $maxtime ; then
estimate="$maxtime"
fi
$ECHO "Estimated time is `eval \\\"$ELP\\\" $estimate`"
$ECHO "Estimated time is `$ELP $estimate`"
$ECHO
else
$ECHO "WARNING: expr is unavailable, unable to compute statistics"
@@ -719,9 +723,9 @@ run ( ) {
$VERBOSE_ECHO "DEBUG: Running $RT -B -M -s512 -H${run_hypersample} -J0 ${run_args} -o ${run_geomname}.pix ${DB}/${run_geomname}.g ${run_geometry}"
eval \"$RT\" -B -M -s512 -H${run_hypersample} -J0 ${run_args} \
$RT -B -M -s512 -H${run_hypersample} -J0 ${run_args} \
-o ${run_geomname}.pix \
\"${DB}/${run_geomname}.g\" ${run_geometry} 1>&2 <<EOF
${DB}/${run_geomname}.g ${run_geometry} 1>&2 <<EOF
$run_view
EOF
retval=$?
@@ -995,7 +999,7 @@ EOF
# compute how long we took, rounding up to at least one
# second to prevent division by zero.
bench_elapsed="`eval \\\"$ELP\\\" --seconds $bench_frame_start_time`"
bench_elapsed="`$ELP --seconds $bench_frame_start_time`"
if test "x$bench_elapsed" = "x" ; then
bench_elapsed=1
fi
@@ -1063,7 +1067,7 @@ EOF
fi
# see if we need to break out early
bench_overall_elapsed="`eval \\\"$ELP\\\" --seconds $bench_start_time`"
bench_overall_elapsed="`$ELP --seconds $bench_start_time`"
if test $bench_overall_elapsed -ge $MAXTIME ; then
break;
fi
@@ -1101,7 +1105,7 @@ EOF
break
fi
bench_overall_elapsed="`eval \\\"$ELP\\\" --seconds $bench_start_time`"
bench_overall_elapsed="`$ELP --seconds $bench_start_time`"
# undo the hypersample increase back one step
bench_hypersample="`expr \( \( $bench_hypersample + 1 \) / 2 \) - 1`"
@@ -1122,7 +1126,7 @@ EOF
ls -la *.pix*
fi
$VERBOSE_ECHO "DEBUG: $CMP $PIX/${bench_testname}.pix ${bench_testname}.pix"
cmp_result="`eval \\\"${CMP}\\\" \\\"${PIX}/${bench_testname}.pix\\\" ${bench_testname}.pix 2>&1`"
cmp_result="`${CMP} ${PIX}/${bench_testname}.pix ${bench_testname}.pix 2>&1`"
ret=$?
$ECHO "$cmp_result"
@@ -1177,8 +1181,8 @@ perf ( ) {
perf_ref_files=""
perf_cur_files=""
for perf_test in $perf_tests ; do
perf_ref_log="${LOG}/${perf_test}.log"
perf_cur_log="${perf_test}.log"
perf_ref_log=${LOG}/${perf_test}.log
perf_cur_log=${perf_test}.log
for perf_log in "$perf_cur_log" "$perf_ref_log" ; do
if test ! "x$perf_log" = "x" ; then
if test ! -f "$perf_log" ; then
@@ -1186,7 +1190,7 @@ perf ( ) {
fi
fi
done
perf_ref_files="$perf_ref_files \"$perf_ref_log\""
perf_ref_files="$perf_ref_files $perf_ref_log"
perf_cur_files="$perf_cur_files $perf_cur_log"
done
@@ -1196,8 +1200,8 @@ perf ( ) {
#
# FIXME: should really iterate one file at a time so we don't
# just zero-pad at the end
perf_VGRREF="`eval grep RTFM $perf_ref_files | sed -n -e 's/^.*= *//' -e 's/ rays.*//p' | tr '\012' '\011' `"
perf_CURVALS="`eval grep RTFM $perf_cur_files | sed -n -e 's/^.*= *//' -e 's/ rays.*//p' | tr '\012' '\011' `"
perf_VGRREF=`grep RTFM $perf_ref_files | sed -n -e 's/^.*= *//' -e 's/ rays.*//p' | tr '\012' '\011' `
perf_CURVALS=`grep RTFM $perf_cur_files | sed -n -e 's/^.*= *//' -e 's/ rays.*//p' | tr '\012' '\011' `
# if there were no reference values, we cannot compute timings
if test "x$perf_VGRREF" = "x" ; then
@@ -1292,7 +1296,7 @@ $ECHO "Running the BRL-CAD Benchmark tests... please wait ..."
$ECHO
ret=0
bench moss all.g $RTARGS << EOF
bench moss all.g $ARGS << EOF
viewsize 1.572026215e+02;
eye_pt 6.379990387e+01 3.271768951e+01 3.366661453e+01;
viewrot -5.735764503e-01 8.191520572e-01 0.000000000e+00 0.000000000e+00
@@ -1302,7 +1306,7 @@ viewrot -5.735764503e-01 8.191520572e-01 0.000000000e+00 0.000000000e+00
EOF
ret=`expr $ret + $?`
bench world all.g $RTARGS << EOF
bench world all.g $ARGS << EOF
viewsize 1.572026215e+02;
eye_pt 6.379990387e+01 3.271768951e+01 3.366661453e+01;
viewrot -5.735764503e-01 8.191520572e-01 0.000000000e+00 0.000000000e+00
@@ -1312,7 +1316,7 @@ viewrot -5.735764503e-01 8.191520572e-01 0.000000000e+00 0.000000000e+00
EOF
ret=`expr $ret + $?`
bench star all $RTARGS << EOF
bench star all $ARGS << EOF
viewsize 2.500000000e+05;
eye_pt 2.102677960e+05 8.455500000e+04 2.934714650e+04;
viewrot -6.733560560e-01 6.130643360e-01 4.132114880e-01 0.000000000e+00
@@ -1322,7 +1326,7 @@ viewrot -6.733560560e-01 6.130643360e-01 4.132114880e-01 0.000000000e+00
EOF
ret=`expr $ret + $?`
bench bldg391 all.g $RTARGS << EOF
bench bldg391 all.g $ARGS << EOF
viewsize 1.800000000e+03;
eye_pt 6.345012207e+02 8.633251343e+02 8.310771484e+02;
viewrot -5.735764503e-01 8.191520572e-01 0.000000000e+00 0.000000000e+00
@@ -1332,7 +1336,7 @@ viewrot -5.735764503e-01 8.191520572e-01 0.000000000e+00 0.000000000e+00
EOF
ret=`expr $ret + $?`
bench m35 all.g $RTARGS <<EOF
bench m35 all.g $ARGS <<EOF
viewsize 6.787387985e+03;
eye_pt 3.974533127e+03 1.503320754e+03 2.874633221e+03;
viewrot -5.527838919e-01 8.332423558e-01 1.171090926e-02 0.000000000e+00
@@ -1342,7 +1346,7 @@ viewrot -5.527838919e-01 8.332423558e-01 1.171090926e-02 0.000000000e+00
EOF
ret=`expr $ret + $?`
bench sphflake scene.r $RTARGS <<EOF
bench sphflake scene.r $ARGS <<EOF
viewsize 2.556283261452611e+04;
orientation 4.406810841785839e-01 4.005093234738861e-01 5.226451688385938e-01 6.101102288499644e-01;
eye_pt 2.418500583758302e+04 -3.328563644344796e+03 8.489926952850350e+03;
@@ -1352,7 +1356,7 @@ ret=`expr $ret + $?`
$ECHO
$ECHO "... Done."
$ECHO
$ECHO "Total testing time elapsed: `eval \\\"$ELP\\\" $start`"
$ECHO "Total testing time elapsed: `$ELP $start`"
# see if we fail
if test ! "x$ret" = "x0" ; then
@@ -1361,7 +1365,7 @@ if test ! "x$ret" = "x0" ; then
$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"
$ECHO "compiler has strict aliasing disabled, compilation is optimized, and you have"
$ECHO "compiler has strict aliasing disabled, compilation is unoptimized, and you have"
$ECHO "installed BRL-CAD (some platforms require this). If you still get a failure,"
$ECHO "please report your configuration information to benchmark@brlcad.org"
$ECHO
@@ -1376,8 +1380,8 @@ fi
# compute and output results #
##############################
performance="`perf 'moss world star bldg391 m35 sphflake' $RTARGS 2>&1`"
performance="`perf 'moss world star bldg391 m35 sphflake' $ARGS`"
if test $? = 0 ; then
cat >> summary <<EOF
$performance
@@ -1493,7 +1497,7 @@ else
blankit=no
# BSD+
look_for executable "a sysctl command" SYSCTL_CMD `echo "$PATH" | tr ":" "\n" | tr " " "\ " | sed 's/$/\/sysctl/g'`
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)"
preQUIET="$QUIET"
@@ -1508,7 +1512,7 @@ else
fi
# Solaris
look_for executable "a prtdiag command" PRTDIAG_CMD `echo "$PATH" | tr ":" "\n" | tr " " "\ " | sed 's/$/\/prtdiag/g'`
look_for executable "a prtdiag command" PRTDIAG_CMD `echo "$PATH" | tr ":" "\n" | sed 's/$/\/prtdiag/g'`
if test ! "x$PRTDIAG_CMD" = "x" ; then
$ECHO "Collecting system diagnostics information (via $PRTDIAG_CMD)"
preQUIET="$QUIET"
@@ -1521,7 +1525,7 @@ else
fi
# AIX
look_for executable "a prtconf command" PRTCONF_CMD `echo "$PATH" | tr ":" "\n" | tr " " "\ " | sed 's/$/\/prtconf/g'`
look_for executable "a prtconf command" PRTCONF_CMD `echo "$PATH" | tr ":" "\n" | sed 's/$/\/prtconf/g'`
if test ! "x$PRTCONF_CMD" = "x" ; then
$ECHO "Collecting system configuration information (via $PRTCONF_CMD)"
preQUIET="$QUIET"
@@ -1534,7 +1538,7 @@ else
fi
# SGI
look_for executable "an hinv command" HINV_CMD `echo "$PATH" | tr ":" "\n" | tr " " "\ " | sed 's/$/\/hinv/g'`
look_for executable "an hinv command" HINV_CMD `echo "$PATH" | tr ":" "\n" | sed 's/$/\/hinv/g'`
if test ! "x$HINV_CMD" = "x" ; then
$ECHO "Collecting system configuration information (via $HINV_CMD)"
preQUIET="$QUIET"
@@ -1560,7 +1564,7 @@ else
fi
# Linux+
look_for executable "an lscpu command" LSCPU_CMD `echo "$PATH" | tr ":" "\n" | tr " " "\ " | sed 's/$/\/lscpu/g'`
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"
@@ -1579,12 +1583,12 @@ fi
# tell about the benchmark document
look_for file "" BENCHMARK_TR \
"${PATH_TO_THIS}/../share/brlcad/*.*.*/doc/benchmark.tr" \
"${PATH_TO_THIS}/share/brlcad/*.*.*/doc/benchmark.tr" \
"${PATH_TO_THIS}/share/brlcad/doc/benchmark.tr" \
"${PATH_TO_THIS}/share/doc/benchmark.tr" \
"${PATH_TO_THIS}/doc/benchmark.tr" \
"${PATH_TO_THIS}/../doc/benchmark.tr" \
${PATH_TO_THIS}/../share/brlcad/*.*.*/doc/benchmark.tr \
${PATH_TO_THIS}/share/brlcad/*.*.*/doc/benchmark.tr \
${PATH_TO_THIS}/share/brlcad/doc/benchmark.tr \
${PATH_TO_THIS}/share/doc/benchmark.tr \
${PATH_TO_THIS}/doc/benchmark.tr \
${PATH_TO_THIS}/../doc/benchmark.tr \
./benchmark.tr
$ECHO "Read the benchmark.tr document for more details on the BRL-CAD Benchmark."
+1 -1
View File
@@ -2,7 +2,7 @@
# T R Y . S H
# BRL-CAD
#
# Copyright (c) 2004-2016 United States Government as represented by
# Copyright (c) 2004-2014 United States Government as represented by
# the U.S. Army Research Laboratory.
#
# Redistribution and use in source and binary forms, with or without
+1 -1
View File
@@ -2,7 +2,7 @@
# V I E W D I F F . S H
# BRL-CAD
#
# Copyright (c) 2004-2016 United States Government as represented by
# Copyright (c) 2004-2014 United States Government as represented by
# the U.S. Army Research Laboratory.
#
# Redistribution and use in source and binary forms, with or without
Vendored
+4 -28
View File
@@ -10,6 +10,10 @@ 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";
@@ -86,10 +90,6 @@ do
shift;;
--disable-docbook) options="$options -DBRLCAD_EXTRADOCS=OFF";
shift;;
--enable-all) options="$options -DBRLCAD_BUNDLED_LIBS=ON";
shift;;
--disable-all) options="$options -DBRLCAD_BUNDLED_LIBS=OFF";
shift;;
--enable-lemon) options="$options -DBRLCAD_LEMON=BUNDLED";
shift;;
--disable-lemon) options="$options -DBRLCAD_LEMON=SYSTEM";
@@ -126,22 +126,10 @@ do
shift;;
--disable-libz) options="$options -DBRLCAD_ZLIB=SYSTEM";
shift;;
--enable-tinycthread) options="$options -DBRLCAD_TINYCTHREAD=BUNDLED";
shift;;
--disable-tinycthread) options="$options -DBRLCAD_TINYCTHREAD=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-netpbm) options="$options -DBRLCAD_NETPBM=BUNDLED";
shift;;
--disable-netpbm) options="$options -DBRLCAD_NETPBM=SYSTEM";
shift;;
--enable-png) options="$options -DBRLCAD_PNG=BUNDLED";
shift;;
--disable-png) options="$options -DBRLCAD_PNG=SYSTEM";
@@ -186,10 +174,6 @@ do
shift;;
--disable-opennurbs) options="$options -DBRLCAD_OPENNURBS=SYSTEM";
shift;;
--enable-spr) options="$options -DBRLCAD_SPR=BUNDLED";
shift;;
--disable-spr) options="$options -DBRLCAD_SPR=SYSTEM";
shift;;
--enable-scl) options="$options -DBRLCAD_SC=BUNDLED";
shift;;
--disable-scl) options="$options -DBRLCAD_SC=SYSTEM";
@@ -206,18 +190,10 @@ do
shift;;
--disable-vds) options="$options -DBRLCAD_VDS=SYSTEM";
shift;;
--enable-openscenegraph) options="$options -DBRLCAD_OSG=BUNDLED";
shift;;
--disable-openscenegraph) options="$options -DBRLCAD_OSG=SYSTEM";
shift;;
--enable-gdiam) options="$options -DBRLCAD_GDIAM=BUNDLED";
shift;;
--disable-gdiam) options="$options -DBRLCAD_GDIAM=SYSTEM";
shift;;
--enable-bullet) options="$options -DBRLCAD_BULLET=BUNDLED";
shift;;
--disable-bullet) options="$options -DBRLCAD_BULLET=SYSTEM";
shift;;
--prefix=*) inputstr=$1;
options="$options -DCMAKE_INSTALL_PREFIX=${inputstr#--prefix=}";
shift;;
+4 -8
View File
@@ -41,8 +41,8 @@ macro(ADD_G_TARGET g_model folder)
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}"
COMMAND asc2g ${CMAKE_CURRENT_SOURCE_DIR}/${g_model} ${output_file}
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}")
@@ -66,16 +66,12 @@ 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")
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")
file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/${DATA_DIR}/db)
endif(CMAKE_CONFIGURATION_TYPES)
add_subdirectory(comgeom)
add_subdirectory(nist)
add_subdirectory(faa)
foreach(g_input ${G_BENCHMARK_MODELS})
ADD_G_TARGET(${g_input} "BRL-CAD Geometry Models/Benchmark")
endforeach(g_input ${G_BENCHMARK_MODELS})
File diff suppressed because it is too large Load Diff
Binary file not shown.
-46
View File
@@ -1,46 +0,0 @@
set(COMGEOM_V5_MODELS
ADA073408.comgeom
)
macro(ADD_COMGEOM_V5_G_TARGET comgeom_model folder)
string(REGEX REPLACE "([0-9a-z]*).comgeom" "\\1" comgeom_model_root "${comgeom_model}")
set(output_file ${bin_root}/${DATA_DIR}/db/${comgeom_model_root}.g)
set(log_file ${CMAKE_CURRENT_BINARY_DIR}/${comgeom_model_root}.log)
add_custom_command(
OUTPUT ${output_file}
COMMAND ${CMAKE_COMMAND} -E remove ${output_file}
COMMAND comgeom-g -v 5 ${CMAKE_CURRENT_SOURCE_DIR}/${comgeom_model} ${output_file} > ${log_file} 2>&1
DEPENDS comgeom-g ${CMAKE_CURRENT_SOURCE_DIR}/${comgeom_model}
)
add_custom_target(${comgeom_model_root}.g ALL DEPENDS ${output_file})
set_target_properties(${comgeom_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}")
set(LOG_FILES "${LOG_FILES};${log_file}")
DISTCLEAN(${log_file})
endmacro(ADD_COMGEOM_V5_G_TARGET comgeom_model folder)
foreach(comgeom_input ${COMGEOM_V5_MODELS})
ADD_COMGEOM_V5_G_TARGET(${comgeom_input} "BRL-CAD Geometry Models/Sample")
endforeach(comgeom_input ${COMGEOM_V5_MODELS})
CMAKEFILES(${COMGEOM_V5_MODELS})
set_property(DIRECTORY APPEND PROPERTY ADDITIONAL_MAKE_CLEAN_FILES "${BUILT_MODELS}")
set_property(DIRECTORY APPEND PROPERTY ADDITIONAL_MAKE_CLEAN_FILES "${LOG_FILES}")
CMAKEFILES(
README_ADA073408
ADA073408_inputs.tar.gz
)
# Local Variables:
# tab-width: 8
# mode: cmake
# indent-tabs-mode: t
# End:
# ex: shiftwidth=2 tabstop=8
-17
View File
@@ -1,17 +0,0 @@
Model ADA073408.comgeom is a transcription of the model documented in
the 1979 public release report:
A Combinatorial Geometry Computer Description of the MEP-021A Generator Set
http://www.dtic.mil/docs/citations/ADA073408
A series of Google GCI tasks worked to transcribe the ASCII COMGEOM
description from the original report to text, and post-processed it
into a form that the comgeom-g importer can handle:
http://www.google-melange.com/gci/task/view/google/gci2013/5597236545191936
http://www.google-melange.com/gci/task/view/google/gci2014/5293529710460928
http://www.google-melange.com/gci/task/view/google/gci2014/5792678377684992
The file ADA073408_inputs.tar.gz contains the original transcribed
files and the script used to create the comgeom file.
+1 -1
View File
@@ -2,7 +2,7 @@
# C U B E . R T
# BRL-CAD
#
# Copyright (c) 2004-2016 United States Government as represented by
# Copyright (c) 2004-2014 United States Government as represented by
# the U.S. Army Research Laboratory.
#
# Redistribution and use in source and binary forms, with or without
+9 -11
View File
@@ -2,7 +2,7 @@
/* D B . P H P
* BRL-CAD
*
* Copyright (c) 2004-2016 United States Government as represented by
* Copyright (c) 2004-2014 United States Government as represented by
* the U.S. Army Research Laboratory.
*
* This library is free software; you can redistribute it and/or
@@ -275,14 +275,12 @@ if ($physicalFile) {
debug("END http request");
?>
<!--
Local Variables:
tab-width: 8
mode: php
c-basic-offset: 4
indent-tabs-mode: t
End:
ex: shiftwidth=4 tabstop=8
-->
# Local Variables: ***
# mode: C ***
# tab-width: 8 ***
# c-basic-offset: 2 ***
# indent-tabs-mode: t ***
# End: ***
# ex: shiftwidth=2 tabstop=8
?>
-856
View File
@@ -1,856 +0,0 @@
$COMMENT Generic Business Jet Rotor Burst Model
$COMMENT Todd Horelica
$COMMENT 28 Jan 2000
$COMMENT
$COMMENT The generic aircraft models were developed in support of the Federal
$COMMENT Aviation Administration's Aircraft Catastrophic Failure Prevention
$COMMENT Program. The models are used to demonstrate the Uncontained Engine
$COMMENT Debris Damage Assessment Model (UEDDAM) tool which evaluates the risk
$COMMENT to the aircraft from uncontained engine failures. This analysis
$COMMENT supports certification to Title 14 Code of Federal Regulations,
$COMMENT Part 25.903. The models are for demonstration purposes and do not
$COMMENT depict actual aircraft and /or Aircraft systems in service. The models
$COMMENT are available for public release.
$COMMENT
$COMMENT Note: Right and left are with respect to looking forward from the tail;
$COMMENT i.e. the pilot's perspective
$COMMENT123456781234567812345678123456781234567812345678123456781234567812345678
$COMMENT
$NAME 0 1 Right Engine Nacelle
SECTION 0 1 1 1
GRID 1 -375.96 -64.08 145.47
GRID 2 -491.31 -64.08 145.47
CCONE1 1 8 1 2 0.04 19.010000001
10000001 19.0 1 1
$NAME 0 11 Left Engine Nacelle
SECTION 0 11 1 1
GRID 3 -375.96 64.08 145.47
GRID 4 -491.31 64.08 145.47
CCONE1 2 8 3 4 0.04 19.010000002
10000002 19.0 1 1
$COMMENT123456781234567812345678123456781234567812345678123456781234567812345678
$COMMENT Pylons
$NAME 0 2 Left Pylon
SECTION 0 2 1 5
GRID 5 -392.28 45.24 142.98
GRID 6 -392.17 32.83 139.44
GRID 7 -494.47 45.24 142.98
GRID 8 -505.76 25.48 137.36
GRID 9 -392.28 46.75 137.69
GRID 10 -392.17 34.33 134.15
GRID 11 -494.47 46.75 137.69
GRID 12 -505.76 26.99 132.07
CQUAD 51 8 5 9 11 7 0.032 1
CQUAD 52 8 5 6 10 9 0.032 1
CQUAD 53 8 6 8 12 10 0.032 1
CQUAD 54 8 7 8 12 11 0.032 1
CQUAD 55 8 5 6 8 7 0.032 1
CQUAD 56 8 9 10 12 11 0.032 1
$COMMENT123456781234567812345678123456781234567812345678123456781234567812345678
$NAME 0 3 Right Pylon
SECTION 0 3 1 5
GRID 13 -392.28 -45.24 142.98
GRID 14 -392.17 -32.83 139.44
GRID 15 -494.47 -45.24 142.98
GRID 16 -505.76 -25.48 137.36
GRID 17 -392.28 -46.75 137.69
GRID 18 -392.17 -34.33 134.15
GRID 19 -494.47 -46.75 137.69
GRID 20 -505.76 -26.99 132.07
CQUAD 61 8 13 17 19 15 0.032 1
CQUAD 62 8 13 14 18 17 0.032 1
CQUAD 63 8 14 16 20 18 0.032 1
CQUAD 64 8 15 16 20 19 0.032 1
CQUAD 65 8 13 14 16 15 0.032 1
CQUAD 66 8 17 18 20 19 0.032 1
$COMMENT123456781234567812345678123456781234567812345678123456781234567812345678
$NAME 0 4 Aft Fuselage
SECTION 0 4 1 1
GRID 21 -373.75 -0.00 127.25
GRID 22 -512.50 -0.00 127.25
CCONE1 3 8 21 22 0.032 36.2510000003
10000003 26.96 1 1
$COMMENT123456781234567812345678123456781234567812345678123456781234567812345678
$NAME 0 101 Fairing
SECTION 0 101 1 1
GRID 223 -512.50 -0.00 100.27
GRID 224 -373.75 33.49 75.73
GRID 225 -373.75 -33.49 75.73
GRID 226 -373.75 33.49 127.25
GRID 227 -373.75 -33.49 127.25
CQUAD 87 8 224 225 227 226 0.032 1
CTRI 88 8 223 224 226 0.032 1
CTRI 89 8 223 224 225 0.032 1
CTRI 90 8 223 225 227 0.032 1
$COMMENT123456781234567812345678123456781234567812345678123456781234567812345678
$COMMENT Rotors
$NAME 1 1 Right Engine Fan
SECTION 1 1 2
GRID 294 -408.33 -64.08 145.47
GRID 295 -411.58 -64.08 145.47
CCONE2 1 7 294 295 13.609C90
C90 13.609 0 0
$COMMENT123456781234567812345678123456781234567812345678123456781234567812345678
$NAME 1 2 Right LPC1
SECTION 1 2 2
GRID 296 -416.62 -64.08 145.47
GRID 297 -418.62 -64.08 145.47
CCONE2 2 4 296 297 8.543C905
C905 8.543 0 0
$COMMENT123456781234567812345678123456781234567812345678123456781234567812345678
$NAME 1 3 Right HPC1
SECTION 1 3 2
GRID 298 -427.25 -64.08 145.47
GRID 299 -429.00 -64.08 145.47
CCONE2 3 4 298 299 5.09C91
C91 5.09 0 0
$COMMENT123456781234567812345678123456781234567812345678123456781234567812345678
$NAME 1 4 Right HPC2
SECTION 1 4 2
GRID 300 -431.36 -64.08 145.47
GRID 301 -432.61 -64.08 145.47
CCONE2 4 4 300 301 4.898C92
C92 4.898 0 0
$COMMENT123456781234567812345678123456781234567812345678123456781234567812345678
$NAME 1 5 Right HPC3
SECTION 1 5 2
GRID 302 -436.69 -64.08 145.47
GRID 303 -439.69 -64.08 145.47
CCONE2 5 4 302 303 6.644C93
C93 6.644 0 0
$COMMENT123456781234567812345678123456781234567812345678123456781234567812345678
$NAME 1 6 Right HPT1
SECTION 1 6 2
GRID 304 -443.53 -64.08 145.47
GRID 305 -445.28 -64.08 145.47
CCONE2 6 4 304 305 5.784C94
C94 5.784 0 0
$COMMENT123456781234567812345678123456781234567812345678123456781234567812345678
$NAME 1 7 Right LPT1
SECTION 1 7 2
GRID 306 -447.46 -64.08 145.47
GRID 307 -448.21 -64.08 145.47
CCONE2 7 4 306 307 7.286C95
C95 7.286 0 0
$COMMENT123456781234567812345678123456781234567812345678123456781234567812345678
$NAME 1 8 Right LPT2
SECTION 1 8 2
GRID 308 -450.10 -64.08 145.47
GRID 309 -450.98 -64.08 145.47
CCONE2 8 4 308 309 8.63C96
C96 8.63 0 0
$COMMENT123456781234567812345678123456781234567812345678123456781234567812345678
$NAME 1 9 Right LPT3
SECTION 1 9 2
GRID 310 -453.05 -64.08 145.47
GRID 311 -454.05 -64.08 145.47
CCONE2 9 4 310 311 8.985C97
C97 8.985 0 0
$COMMENT123456781234567812345678123456781234567812345678123456781234567812345678
$NAME 1 21 Right Engine Case
SECTION 1 21 1
GRID 332 -407.83 -64.08 145.47
GRID 333 -454.55 -64.08 145.47
CCONE1 21 4 332 333 0.1 14.109C332
C332 14.109 1 1
$COMMENT123456781234567812345678123456781234567812345678123456781234567812345678
$NAME 1 11 Left Engine Fan
SECTION 1 11 2
GRID 312 -408.33 64.08 145.47
GRID 313 -411.58 64.08 145.47
CCONE2 10 7 312 313 13.609C98
C98 13.609 0 0
$COMMENT123456781234567812345678123456781234567812345678123456781234567812345678
$NAME 1 12 Left LPC2
SECTION 1 12 2
GRID 314 -416.62 64.08 145.47
GRID 315 -418.62 64.08 145.47
CCONE2 19 4 314 315 8.543C985
C985 8.543 0 0
$COMMENT123456781234567812345678123456781234567812345678123456781234567812345678
$NAME 1 13 Left HPC1
SECTION 1 13 2
GRID 316 -427.25 64.08 145.47
GRID 317 -429.00 64.08 145.47
CCONE2 11 4 316 317 5.09C99
C99 5.09 0 0
$COMMENT123456781234567812345678123456781234567812345678123456781234567812345678
$NAME 1 14 Left HPC2
SECTION 1 14 2
GRID 318 -431.36 64.08 145.47
GRID 319 -432.61 64.08 145.47
CCONE2 12 4 318 319 4.898C100
C100 4.898 0 0
$COMMENT123456781234567812345678123456781234567812345678123456781234567812345678
$NAME 1 15 Left HPC3
SECTION 1 15 2
GRID 320 -436.69 64.08 145.47
GRID 321 -439.69 64.08 145.47
CCONE2 13 4 320 321 6.644C101
C101 6.644 0 0
$COMMENT123456781234567812345678123456781234567812345678123456781234567812345678
$NAME 1 16 Left HPT1
SECTION 1 16 2
GRID 322 -443.53 64.08 145.47
GRID 323 -445.28 64.08 145.47
CCONE2 14 4 322 323 5.784C102
C102 5.784 0 0
$COMMENT123456781234567812345678123456781234567812345678123456781234567812345678
$NAME 1 17 Left LPT1
SECTION 1 17 2
GRID 324 -447.46 64.08 145.47
GRID 325 -448.21 64.08 145.47
CCONE2 15 4 324 325 7.286C103
C103 7.286 0 0
$COMMENT123456781234567812345678123456781234567812345678123456781234567812345678
$NAME 1 18 Left LPT2
SECTION 1 18 2
GRID 326 -450.10 64.08 145.47
GRID 327 -450.98 64.08 145.47
CCONE2 16 4 326 327 8.63C104
C104 8.63 0 0
$COMMENT123456781234567812345678123456781234567812345678123456781234567812345678
$NAME 1 19 Left LPT3
SECTION 1 19 2
GRID 328 -453.05 64.08 145.47
GRID 329 -454.05 64.08 145.47
CCONE2 17 4 328 329 8.985C105
C105 8.985 0 0
$COMMENT123456781234567812345678123456781234567812345678123456781234567812345678
$NAME 1 22 Left Engine Case
SECTION 1 22 1
GRID 334 -407.83 64.08 145.47
GRID 335 -454.55 64.08 145.47
CCONE1 22 4 334 335 0.1 14.109C333
C333 14.109 1 1
$COMMENT123456781234567812345678123456781234567812345678123456781234567812345678
$COMMENT Control Cables
$NAME 3 1 Elevator Control Cables
SECTION 3 1 1
GRID 256 -373.75 13.97 90.17
GRID 257 -446.98 -2.25 95.25
GRID 258 -512.50 -1.03 104.95
GRID 259 -373.75 6.07 88.65
GRID 260 -446.96 -2.70 95.40
GRID 261 -512.50 -1.63 105.02
CLINE 1 4 256 257 0.063 0.063
CLINE 2 4 257 258 0.063 0.063
CLINE 3 4 259 260 0.063 0.063
CLINE 4 4 260 261 0.063 0.063
$COMMENT123456781234567812345678123456781234567812345678123456781234567812345678
$NAME 3 2 Elevator Trim Cables
SECTION 3 2 1
GRID 262 -373.75 -26.11 99.49
GRID 263 -388.77 -26.11 99.49
GRID 264 -385.59 -5.80 160.33
GRID 265 -512.50 -5.80 150.95
GRID 266 -375.75 -25.70 99.35
GRID 267 -388.78 -25.70 99.35
GRID 268 -385.59 -5.80 159.88
GRID 269 -512.50 -5.80 150.50
CLINE 5 4 262 263 0.063 0.063
CLINE 6 4 263 264 0.063 0.063
CLINE 7 4 264 265 0.063 0.063
CLINE 8 4 266 267 0.063 0.063
CLINE 9 4 267 268 0.063 0.063
CLINE 10 4 268 269 0.063 0.063
$COMMENT123456781234567812345678123456781234567812345678123456781234567812345678
$NAME 3 101 Rudder-Upper
SECTION 3 101 1
GRID 270 -373.75 -3.72 90.59
GRID 271 -384.74 -3.78 90.59
GRID 272 -391.84 -5.80 158.00
GRID 273 -512.50 -5.80 149.08
GRID 274 -373.75 -9.62 91.68
GRID 275 -383.88 -9.54 91.68
GRID 276 -392.62 -7.04 157.94
GRID 277 -512.50 -7.04 149.08
CLINE 11 4 270 271 0.063 0.063
CLINE 12 4 271 272 0.063 0.063
CLINE 13 4 272 273 0.063 0.063
CLINE 14 4 274 275 0.063 0.063
CLINE 15 4 275 276 0.063 0.063
CLINE 16 4 276 277 0.063 0.063
$COMMENT123456781234567812345678123456781234567812345678123456781234567812345678
$NAME 3 102 Rudder-Lower
SECTION 3 102 1
GRID 278 -373.75 -3.85 89.54
GRID 279 -448.81 -3.15 95.48
GRID 280 -512.50 -5.55 106.78
GRID 281 -373.75 -11.73 90.18
GRID 282 -448.78 -3.68 95.40
GRID 283 -512.50 -6.18 107.18
CLINE 17 4 278 279 0.063 0.063
CLINE 18 4 279 280 0.063 0.063
CLINE 19 4 281 282 0.063 0.063
CLINE 20 4 282 283 0.063 0.063
$COMMENT123456781234567812345678123456781234567812345678123456781234567812345678
$NAME 3 103 Rudder Trim
SECTION 3 103 1
GRID 284 -375.75 25.28 99.20
GRID 285 -388.78 25.28 99.20
GRID 286 -385.54 5.55 159.17
GRID 287 -406.34 -5.80 157.47
GRID 288 -512.50 -5.80 149.62
GRID 289 -373.75 26.53 99.63
GRID 290 -388.76 26.53 99.63
GRID 291 -385.75 5.95 159.27
GRID 292 -406.37 -5.80 157.91
GRID 293 -512.50 -5.80 150.06
CLINE 21 4 284 285 0.063 0.063
CLINE 22 4 285 286 0.063 0.063
CLINE 23 4 286 287 0.063 0.063
CLINE 24 4 287 288 0.063 0.063
CLINE 25 4 289 290 0.063 0.063
CLINE 26 4 290 291 0.063 0.063
CLINE 27 4 291 292 0.063 0.063
CLINE 28 4 292 293 0.063 0.063
$COMMENT123456781234567812345678123456781234567812345678123456781234567812345678
$COMMENT Fuel Lines
$NAME 4 1 Fuel Supply Line (Right Side)
SECTION 4 1 1 1
GRID 23 -378.88 -23.20 99.85
GRID 24 -380.84 -28.57 144.05
GRID 25 -428.13 -21.15 144.62
GRID 26 -428.85 -24.92 136.29
GRID 27 -427.79 -45.94 140.51
CLINE 1 12 23 24 0.035 0.5
CLINE 2 12 24 25 0.035 0.5
CLINE 3 12 25 26 0.035 0.5
CLINE 4 12 26 27 0.035 0.5
$COMMENT123456781234567812345678123456781234567812345678123456781234567812345678
$NAME 4 2 Fuel Supply Line (Left Side)
SECTION 4 2 1 1
GRID 28 -378.88 23.20 99.85
GRID 29 -380.84 28.57 144.05
GRID 30 -428.13 21.15 144.62
GRID 31 -428.85 24.92 136.29
GRID 32 -427.79 45.94 140.51
CLINE 5 12 28 29 0.035 0.5
CLINE 6 12 29 30 0.035 0.5
CLINE 7 12 30 31 0.035 0.5
CLINE 8 12 31 32 0.035 0.5
$COMMENT123456781234567812345678123456781234567812345678123456781234567812345678
$NAME 4 3 Fuel Motive Flow Line (Right Side)
SECTION 4 3 1 1
GRID 33 -378.82 -21.40 98.41
GRID 34 -380.84 -26.92 143.90
GRID 35 -428.20 -19.50 144.48
GRID 36 -428.89 -24.34 133.86
GRID 37 -427.77 -46.57 138.33
CLINE 9 12 33 34 0.035 0.25
CLINE 10 12 34 35 0.035 0.25
CLINE 11 12 35 36 0.035 0.25
CLINE 12 12 36 37 0.035 0.25
$COMMENT123456781234567812345678123456781234567812345678123456781234567812345678
$NAME 4 4 Fuel Motive Flow Line (Left Side)
SECTION 4 4 1 1
GRID 38 -378.82 21.40 98.41
GRID 39 -380.84 26.92 143.90
GRID 40 -428.20 19.50 144.48
GRID 41 -428.89 24.34 133.86
GRID 42 -427.77 46.57 138.33
CLINE 13 12 38 39 0.035 0.25
CLINE 14 12 39 40 0.035 0.25
CLINE 15 12 40 41 0.035 0.25
CLINE 16 12 41 42 0.035 0.25
$COMMENT123456781234567812345678123456781234567812345678123456781234567812345678
$COMMENT Structure
$NAME 7 1 Left Forward Engine Beam (1st 2 outboard; 2nd 2 inboard)
SECTION 7 1 1 1
GRID 43 -421.50 45.35 142.87
GRID 44 -421.50 46.64 137.80
GRID 45 -421.50 31.04 138.79
GRID 46 -421.50 32.33 133.72
$COMMENT Forward Engine Beam, Back Side (1st 2 outboard; 2nd 2 inboard)
GRID 47 -424.50 45.35 142.87
GRID 48 -424.50 46.64 137.80
GRID 49 -424.50 30.85 138.74
GRID 50 -424.50 32.13 133.67
CQUAD 1 8 49 45 43 47 0.190 1
CQUAD 2 8 49 47 48 50 0.100 1
CQUAD 3 8 44 46 50 48 0.190 1
CQUAD 4 8 44 46 45 43 0.100 1
$COMMENT123456781234567812345678123456781234567812345678123456781234567812345678
$NAME 7 2 Forward Beam through fuselage
SECTION 7 2 1 1
GRID 45 -421.50 31.04 138.79
GRID 46 -421.50 32.33 133.72
GRID 61 -421.50 -31.04 138.79
GRID 62 -421.50 -32.33 133.72
GRID 49 -424.50 30.85 138.74
GRID 50 -424.50 32.13 133.67
GRID 65 -424.50 -30.85 138.74
GRID 66 -424.50 -32.13 133.67
CQUAD 17 8 45 46 62 61 0.100 1
CQUAD 18 8 49 50 66 65 0.100 1
CQUAD 19 8 45 49 65 61 0.190 1
CQUAD 20 8 46 50 66 62 0.190 1
$COMMENT123456781234567812345678123456781234567812345678123456781234567812345678
$NAME 7 3 Right Forward Engine Beam (1st 2 outboard; 2nd 2 inboard)
SECTION 7 3 1 1
GRID 59 -421.50 -45.35 142.87
GRID 60 -421.50 -46.64 137.80
GRID 61 -421.50 -31.04 138.79
GRID 62 -421.50 -32.33 133.72
$COMMENT Forward Engine Beam, Back Side (1st 2 outboard; 2nd 2 inboard)
GRID 63 -424.50 -45.35 142.87
GRID 64 -424.50 -46.64 137.80
GRID 65 -424.50 -30.85 138.74
GRID 66 -424.50 -32.13 133.67
CQUAD 9 8 65 61 59 63 0.190 1
CQUAD 10 8 65 63 64 66 0.100 1
CQUAD 11 8 60 62 66 64 0.190 1
CQUAD 12 8 60 62 61 59 0.100 1
$COMMENT123456781234567812345678123456781234567812345678123456781234567812345678
$NAME 7 11 Left Aft Engine Beam (1st 2 outboard; 2nd 2 inboard)
SECTION 7 11 1 1
GRID 51 -460.50 45.14 142.88
GRID 52 -460.50 46.68 137.76
GRID 53 -460.50 28.51 138.09
GRID 54 -460.50 29.85 132.97
$COMMENT Left Aft Engine Beam Back Side (1st 2 outboard; 2nd 2 inboard)
GRID 55 -462.50 45.14 142.88
GRID 56 -462.50 46.68 137.76
GRID 57 -462.50 28.38 138.05
GRID 58 -462.50 29.72 132.93
CQUAD 5 8 57 53 51 55 0.160 1
CQUAD 6 8 57 55 56 58 0.064 1
CQUAD 7 8 52 54 58 56 0.100 1
CQUAD 8 8 52 54 53 51 0.064 1
$COMMENT123456781234567812345678123456781234567812345678123456781234567812345678
$NAME 7 12 Aft Engine Beam through fuselage
SECTION 7 12 1 1
GRID 53 -460.50 28.51 138.09
GRID 54 -460.50 29.85 132.97
GRID 57 -462.50 28.38 138.05
GRID 58 -462.50 29.72 132.93
GRID 69 -460.50 -28.51 138.09
GRID 70 -460.50 -29.85 132.97
GRID 73 -462.50 -28.38 138.05
GRID 74 -462.50 -29.72 132.93
CQUAD 21 8 53 54 70 69 0.064 1
CQUAD 22 8 57 58 74 73 0.064 1
CQUAD 23 8 53 57 73 69 0.160 1
CQUAD 24 8 54 58 74 70 0.100 1
$COMMENT123456781234567812345678123456781234567812345678123456781234567812345678
$NAME 7 13 Right Aft Engine Beam (1st 2 outboard; 2nd 2 inboard)
SECTION 7 13 1 1
GRID 67 -460.50 -45.14 142.88
GRID 68 -460.50 -46.68 137.76
GRID 69 -460.50 -28.51 138.09
GRID 70 -460.50 -29.85 132.97
$COMMENT Aft Engine Beam Back Side (1st 2 outboard; 2nd 2 inboard)
GRID 71 -462.50 -45.14 142.88
GRID 72 -462.50 -46.68 137.76
GRID 73 -462.50 -28.38 138.05
GRID 74 -462.50 -29.72 132.93
CQUAD 13 8 73 69 67 71 0.160 1
CQUAD 16 8 68 70 69 67 0.064 1
CQUAD 14 8 73 71 72 74 0.064 1
CQUAD 15 8 68 70 74 72 0.100 1
$COMMENT123456781234567812345678123456781234567812345678123456781234567812345678
$Frames
$COMMENT The number in parenthesis () is the actual location relative to the origin.
$COMMENT The other numbers are the numbers provided by the original source.
$NAME 7 51 Frame at FS 389.5
SECTION 7 51 1 1
GRID 75 -389.50 -0.00 127.25
GRID 76 -390.25 -0.00 127.25
CCONE1 5 8 75 76 0.032 35.163C1
C1 35.113 1 1
$COMMENT123456781234567812345678123456781234567812345678123456781234567812345678
$NAME 7 52 Frame at FS 405.5
SECTION 7 52 1 1
GRID 77 -405.50 -0.00 127.25
GRID 78 -406.25 -0.00 127.25
CCONE1 6 8 77 78 0.032 34.092C2
C2 34.042 1 1
$COMMENT123456781234567812345678123456781234567812345678123456781234567812345678
$NAME 7 53 Frame at FS 479.5
SECTION 7 53 1 1
GRID 79 -479.50 -0.00 127.25
GRID 80 -480.25 -0.00 127.25
CCONE1 7 8 79 80 0.032 29.138C3
C3 29.087 1 1
$COMMENT123456781234567812345678123456781234567812345678123456781234567812345678
$NAME 7 54 Frame at FS 496.5
SECTION 7 54 1 1
GRID 81 -496.50 -0.00 127.25
GRID 82 -497.25 -0.00 127.25
CCONE1 8 8 81 82 0.032 28.00C4
C4 27.95 1 1
$COMMENT123456781234567812345678123456781234567812345678123456781234567812345678
$NAME 7 55 Frame at FS 512.5
SECTION 7 55 1 1
GRID 83 -512.50 -0.00 127.25
GRID 84 -513.25 -0.00 127.25
CCONE1 9 8 83 84 0.032 26.928C5
C5 26.846 1 1
$COMMENT123456781234567812345678123456781234567812345678123456781234567812345678
$COMMENT Engine Beam Frames
$NAME 7 61 Frame at FS 420.75
SECTION 7 61 1 1
GRID 85 -420.75 -0.00 127.25
GRID 86 -421.50 -0.00 127.25
CCONE1 10 8 85 86 0.032 33.07C6
C6 33.021 1 1
$COMMENT123456781234567812345678123456781234567812345678123456781234567812345678
$NAME 7 62 Frame at FS 424.5
SECTION 7 62 1 1
GRID 87 -424.50 -0.00 127.25
GRID 88 -425.25 -0.00 127.25
CCONE1 11 8 87 88 0.032 32.82C7
C7 32.77 1 1
$COMMENT123456781234567812345678123456781234567812345678123456781234567812345678
$NAME 7 63 Frame at FS 459.75
SECTION 7 63 1 1
GRID 89 -459.75 -0.00 127.25
GRID 90 -460.50 -0.00 127.25
CCONE1 12 8 89 90 0.032 30.46C8
C8 30.41 1 1
$COMMENT123456781234567812345678123456781234567812345678123456781234567812345678
$NAME 7 64 Frame at FS 462.5
SECTION 7 64 1 1
GRID 91 -462.50 -0.00 127.25
GRID 92 -463.25 -0.00 127.25
CCONE1 13 8 91 92 0.032 30.28C9
C9 30.23 1 1
$COMMENT123456781234567812345678123456781234567812345678123456781234567812345678
$NAME 7 65 Frame at FS 442.5
$COMMENT (Missing frame--goes between the two engine beam frames)
SECTION 7 65 1 1
GRID 93 -442.50 -0.00 127.25
GRID 94 -443.25 -0.00 127.25
CCONE1 14 8 93 94 0.032 31.615C10
C10 31.565 1 1
$COMMENT123456781234567812345678123456781234567812345678123456781234567812345678
$COMMENT Stringers
$NAME 7 101 Stringer 1
SECTION 7 101 1 1
GRID 95 -373.75 0.75 91.13
GRID 96 -373.75 -0.75 91.13
GRID 97 -512.50 0.75 100.42
GRID 98 -512.50 -0.75 100.42
CQUAD 15 13 95 96 98 97 0.045 1
$COMMENT123456781234567812345678123456781234567812345678123456781234567812345678
$NAME 7 102 Stringer 2
SECTION 7 102 1 1
GRID 99 -373.75 0.75 163.38
GRID 100 -373.75 -0.75 163.38
GRID 101 -512.50 0.75 154.09
GRID 102 -512.50 -0.75 154.09
CQUAD 16 13 99 100 102 101 0.045 1
$COMMENT123456781234567812345678123456781234567812345678123456781234567812345678
$NAME 7 103 Stringer 3
SECTION 7 103 1 1
GRID 103 -373.75 6.00 162.51
GRID 104 -373.75 7.49 162.24
GRID 105 -512.50 4.25 153.47
GRID 106 -512.50 5.72 153.17
CQUAD 17 13 103 104 106 105 0.045 1
$COMMENT123456781234567812345678123456781234567812345678123456781234567812345678
$NAME 7 104 Stringer 4
SECTION 7 104 1 1
GRID 107 -373.75 -6.00 162.51
GRID 108 -373.75 -7.49 162.24
GRID 109 -512.50 -4.25 153.47
GRID 110 -512.50 -5.72 153.17
CQUAD 18 13 107 108 110 109 0.045 1
$COMMENT123456781234567812345678123456781234567812345678123456781234567812345678
$NAME 7 105 Stringer 5
SECTION 7 105 1 1
GRID 111 -373.75 12.78 160.63
GRID 112 -373.75 14.11 160.05
GRID 113 -512.50 9.22 152.04
GRID 114 -512.50 10.61 151.47
CQUAD 19 13 111 112 114 113 0.045 1
$COMMENT123456781234567812345678123456781234567812345678123456781234567812345678
$NAME 7 106 Stringer 6
SECTION 7 106 1 1
GRID 115 -373.75 -12.78 160.63
GRID 116 -373.75 -14.11 160.05
GRID 117 -512.50 -9.22 152.04
GRID 118 -512.50 -10.61 151.47
CQUAD 20 13 115 116 118 117 0.045 1
$COMMENT123456781234567812345678123456781234567812345678123456781234567812345678
$NAME 7 107 Stringer 7
SECTION 7 107 1 1
GRID 119 -373.75 19.11 157.41
GRID 120 -373.75 20.36 156.57
GRID 121 -512.50 13.95 149.68
GRID 122 -512.50 15.20 148.85
CQUAD 21 13 119 120 122 121 0.045 1
$COMMENT123456781234567812345678123456781234567812345678123456781234567812345678
$NAME 7 108 Stringer 8
SECTION 7 108 1 1
GRID 123 -373.75 -19.12 157.41
GRID 124 -373.75 -20.36 156.57
GRID 125 -512.50 -13.95 149.68
GRID 126 -512.50 -15.20 148.85
CQUAD 22 13 123 124 126 125 0.045 1
$COMMENT123456781234567812345678123456781234567812345678123456781234567812345678
$NAME 7 109 Stringer 9
SECTION 7 109 1 1
GRID 127 -373.75 24.70 153.01
GRID 128 -373.75 25.76 151.95
GRID 129 -512.50 18.13 146.44
GRID 130 -512.50 19.19 145.38
CQUAD 23 13 127 128 130 129 0.045 1
$COMMENT123456781234567812345678123456781234567812345678123456781234567812345678
$NAME 7 110 Stringer 10
SECTION 7 110 1 1
GRID 131 -373.75 -24.70 153.01
GRID 132 -373.75 -25.76 151.95
GRID 133 -512.75 -18.13 146.44
GRID 134 -512.75 -19.19 145.38
CQUAD 24 13 131 132 134 133 0.045 1
$COMMENT123456781234567812345678123456781234567812345678123456781234567812345678
$NAME 7 111 Stringer 11
SECTION 7 111 1 1
GRID 135 -373.75 29.32 147.61
GRID 136 -373.75 30.16 146.37
GRID 137 -512.50 21.60 142.45
GRID 138 -512.50 22.43 141.20
CQUAD 25 13 135 136 138 137 0.045 1
$COMMENT123456781234567812345678123456781234567812345678123456781234567812345678
$NAME 7 112 Stringer 12
SECTION 7 112 1 1
GRID 139 -373.75 -29.32 147.61
GRID 140 -373.75 -30.16 146.37
GRID 141 -512.50 -21.60 142.45
GRID 142 -512.50 -22.43 141.20
CQUAD 26 13 139 140 142 141 0.045 1
$COMMENT123456781234567812345678123456781234567812345678123456781234567812345678
$NAME 7 113 Stringer 13
SECTION 7 113 1 1
GRID 143 -373.75 32.80 141.41
GRID 144 -373.75 33.38 140.03
GRID 145 -512.50 24.22 137.86
GRID 146 -512.50 24.79 136.47
CQUAD 27 13 143 144 146 145 0.045 1
$COMMENT123456781234567812345678123456781234567812345678123456781234567812345678
$NAME 7 114 Stringer 14
SECTION 7 114 1 1
GRID 147 -373.75 -32.80 141.41
GRID 148 -373.75 -33.38 140.03
GRID 149 -512.50 -24.22 137.86
GRID 150 -512.50 -24.80 136.47
CQUAD 28 13 147 148 150 149 0.045 1
$COMMENT123456781234567812345678123456781234567812345678123456781234567812345678
$NAME 7 115 Stringer 15
SECTION 7 115 1 1
GRID 151 -373.75 35.01 134.66
GRID 152 -373.75 35.30 133.19
GRID 153 -512.50 25.90 132.85
GRID 154 -512.50 26.19 131.37
CQUAD 29 13 151 152 154 153 0.045 1
$COMMENT123456781234567812345678123456781234567812345678123456781234567812345678
$NAME 7 116 Stringer 16
SECTION 7 116 1 1
GRID 155 -373.75 -35.01 134.66
GRID 156 -373.75 -35.30 133.19
GRID 157 -512.50 -25.90 132.85
GRID 158 -512.50 -26.19 131.37
CQUAD 30 13 155 156 158 157 0.045 1
$COMMENT123456781234567812345678123456781234567812345678123456781234567812345678
$NAME 7 117 Stringer 17
SECTION 7 117 1 1
GRID 159 -373.75 35.85 127.60
GRID 160 -373.75 35.85 126.10
GRID 161 -512.50 26.56 127.60
GRID 162 -512.50 26.56 126.10
CQUAD 31 13 159 160 162 161 0.045 1
$COMMENT123456781234567812345678123456781234567812345678123456781234567812345678
$NAME 7 118 Stringer 18
SECTION 7 118 1 1
GRID 163 -373.75 -35.85 127.60
GRID 164 -373.75 -35.85 126.10
GRID 165 -512.50 -26.56 127.60
GRID 166 -512.50 -26.56 126.10
CQUAD 32 13 163 164 166 165 0.045 1
$COMMENT123456781234567812345678123456781234567812345678123456781234567812345678
$NAME 7 119 Stringer 19
SECTION 7 119 1 1
GRID 167 -373.75 35.30 121.31
GRID 168 -373.75 35.01 119.84
GRID 169 -512.50 26.19 123.13
GRID 170 -512.50 25.90 121.65
CQUAD 33 13 167 168 170 169 0.045 1
$COMMENT123456781234567812345678123456781234567812345678123456781234567812345678
$NAME 7 120 Stringer 20
SECTION 7 120 1 1
GRID 171 -373.75 -35.30 121.31
GRID 172 -373.75 -35.01 119.84
GRID 173 -512.50 -26.19 123.13
GRID 174 -512.50 -25.90 121.65
CQUAD 34 13 171 172 174 173 0.045 1
$COMMENT123456781234567812345678123456781234567812345678123456781234567812345678
$NAME 7 121 Stringer 21
SECTION 7 121 1 1
GRID 171 -373.75 -35.30 121.31
GRID 172 -373.75 -35.01 119.84
GRID 173 -512.50 -26.19 123.13
GRID 174 -512.50 -25.90 121.65
CQUAD 34 13 171 172 174 173 0.045 1
$COMMENT123456781234567812345678123456781234567812345678123456781234567812345678
$NAME 7 122 Stringer 22
SECTION 7 122 1 1
GRID 175 -373.75 33.38 114.47
GRID 176 -373.75 32.80 113.08
GRID 177 -512.50 24.79 118.03
GRID 178 -512.50 24.22 116.64
CQUAD 35 13 175 176 178 177 0.045 1
$COMMENT123456781234567812345678123456781234567812345678123456781234567812345678
$NAME 7 123 Stringer 23
SECTION 7 123 1 1
GRID 179 -373.75 -33.38 114.47
GRID 180 -373.75 -32.80 113.08
GRID 181 -512.50 -24.80 118.03
GRID 182 -512.50 -24.22 116.64
CQUAD 36 13 179 180 182 181 0.045 1
$COMMENT123456781234567812345678123456781234567812345678123456781234567812345678
$NAME 7 124 Stringer 24
SECTION 7 124 1 1
GRID 183 -373.75 30.16 108.14
GRID 184 -373.75 29.32 106.89
GRID 185 -512.50 22.43 113.30
GRID 186 -512.50 21.60 112.05
CQUAD 37 13 183 184 186 185 0.045 1
$COMMENT123456781234567812345678123456781234567812345678123456781234567812345678
$NAME 7 125 Stringer 25
SECTION 7 125 1 1
GRID 187 -373.75 -30.16 108.14
GRID 188 -373.75 -29.32 106.89
GRID 189 -512.50 -22.43 113.30
GRID 190 -512.50 -21.60 112.05
CQUAD 38 13 187 188 190 189 0.045 1
$COMMENT123456781234567812345678123456781234567812345678123456781234567812345678
$NAME 7 126 Stringer 26
SECTION 7 126 1 1
GRID 191 -373.75 25.76 102.55
GRID 192 -373.75 24.70 101.49
GRID 193 -512.50 19.19 109.12
GRID 194 -512.50 18.13 108.06
CQUAD 39 13 191 192 194 193 0.045 1
$COMMENT123456781234567812345678123456781234567812345678123456781234567812345678
$NAME 7 127 Stringer 27
SECTION 7 127 1 1
GRID 195 -373.75 -25.76 102.55
GRID 196 -373.75 -24.70 101.49
GRID 197 -512.50 -19.19 109.12
GRID 198 -512.50 -18.13 108.06
CQUAD 40 13 195 196 198 197 0.045 1
$COMMENT123456781234567812345678123456781234567812345678123456781234567812345678
$NAME 7 128 Stringer 28
SECTION 7 128 1 1
GRID 199 -373.75 20.36 97.93
GRID 200 -373.75 19.11 97.09
GRID 201 -512.50 15.20 105.65
GRID 202 -512.50 13.95 104.82
CQUAD 41 13 199 200 202 201 0.045 1
$COMMENT123456781234567812345678123456781234567812345678123456781234567812345678
$NAME 7 129 Stringer 29
SECTION 7 129 1 1
GRID 203 -373.75 -20.36 97.93
GRID 204 -373.75 -19.12 97.09
GRID 205 -512.50 -15.20 105.65
GRID 206 -512.50 -13.95 104.82
CQUAD 42 13 203 204 206 205 0.045 1
$COMMENT123456781234567812345678123456781234567812345678123456781234567812345678
$NAME 7 130 Stringer 30
SECTION 7 130 1 1
GRID 207 -373.75 14.16 94.45
GRID 208 -373.75 12.78 93.87
GRID 209 -512.50 10.61 103.03
GRID 210 -512.50 9.22 102.46
CQUAD 43 13 207 208 210 209 0.045 1
$COMMENT123456781234567812345678123456781234567812345678123456781234567812345678
$NAME 7 131 Stringer 31
SECTION 7 131 1 1
GRID 211 -373.75 -14.17 94.45
GRID 212 -373.75 -12.78 93.87
GRID 213 -512.50 -10.61 103.03
GRID 214 -512.50 -9.22 102.46
CQUAD 44 13 211 212 214 213 0.045 1
$COMMENT123456781234567812345678123456781234567812345678123456781234567812345678
$NAME 7 132 Stringer 32
SECTION 7 132 1 1
GRID 215 -373.75 7.41 92.24
GRID 216 -373.75 5.94 91.95
GRID 217 -512.50 5.59 101.35
GRID 218 -512.50 4.13 101.06
CQUAD 45 13 215 216 218 217 0.045 1
$COMMENT123456781234567812345678123456781234567812345678123456781234567812345678
$NAME 7 133 Stringer 33
SECTION 7 133 1 1
GRID 219 -373.75 -7.41 92.24
GRID 220 -373.75 -5.94 91.95
GRID 221 -512.50 -5.59 101.35
GRID 222 -512.50 -4.13 101.06
CQUAD 46 13 219 220 222 221 0.045 1
$COMMENT123456781234567812345678123456781234567812345678123456781234567812345678
$NAME 7 201 Fairing Structure 1
SECTION 7 201 1 1
GRID 228 -389.50 29.69 78.52
GRID 229 -389.50 -29.69 78.52
GRID 230 -389.50 29.69 108.35
GRID 231 -389.50 -29.69 108.35
CQUAD 11 8 228 229 231 230 0.032 1
$COMMENT123456781234567812345678123456781234567812345678123456781234567812345678
$NAME 7 202 Fairing Structure 2
SECTION 7 202 1 1
GRID 232 -405.50 25.83 81.35
GRID 233 -405.50 -25.83 81.35
GRID 234 -405.50 25.83 104.95
GRID 235 -405.50 -25.83 104.95
CQUAD 12 8 232 233 235 234 0.032 1
$COMMENT123456781234567812345678123456781234567812345678123456781234567812345678
$NAME 7 203 Fairing Structure 3
SECTION 7 203 1 1
GRID 236 -423.00 21.61 84.44
GRID 237 -423.00 -21.61 84.44
GRID 238 -423.00 21.61 102.37
GRID 239 -423.00 -21.61 102.37
CQUAD 13 8 236 237 239 238 0.032 1
$COMMENT123456781234567812345678123456781234567812345678123456781234567812345678
$NAME 7 204 Fairing Structure 4
SECTION 7 204 1 1
GRID 240 -442.50 16.90 87.89
GRID 241 -442.50 -16.90 87.89
GRID 242 -442.50 16.90 100.49
GRID 243 -442.50 -16.90 100.49
CQUAD 14 8 240 241 243 242 0.032 1
$COMMENT123456781234567812345678123456781234567812345678123456781234567812345678
$NAME 7 205 Fairing Structure 5
SECTION 7 205 1 1
GRID 244 -461.50 12.31 91.25
GRID 245 -461.50 -12.31 91.25
GRID 246 -461.50 12.31 99.48
GRID 247 -461.50 -12.31 99.48
CQUAD 15 8 244 245 247 246 0.032 1
$COMMENT123456781234567812345678123456781234567812345678123456781234567812345678
$NAME 7 206 Fairing Structure 6
SECTION 7 206 1 1
GRID 248 -479.50 7.97 94.43
GRID 249 -479.50 -7.97 94.43
GRID 250 -479.50 7.97 99.19
GRID 251 -479.50 -7.97 99.19
CQUAD 16 8 248 249 251 250 0.032 1
$COMMENT123456781234567812345678123456781234567812345678123456781234567812345678
$NAME 7 207 Fairing Structure 7
SECTION 7 207 1 1
GRID 252 -496.50 3.86 97.44
GRID 253 -496.50 -3.86 97.44
GRID 254 -496.50 3.86 99.49
GRID 255 -496.50 -3.86 99.49
CQUAD 17 8 252 253 255 254 0.032 1
$COMMENT123456781234567812345678123456781234567812345678123456781234567812345678
$NAME 7 501 Pressure Bulkhead
SECTION 7 501 2
GRID 330 -373.25 -0.00 127.25
GRID 331 -373.75 -0.00 127.25
CCONE2 18 8 330 331 36.25C106
C106 36.25 0 0
$COMMENT123456781234567812345678123456781234567812345678123456781234567812345678
ENDDATA
-44
View File
@@ -1,44 +0,0 @@
set(FAA_SAMPLE_MODELS
Business_Jet.fg4
Generic_Twin.fg4
)
macro(ADD_FAA_G_TARGET faa_model folder)
string(REGEX REPLACE "([0-9a-z]*).fg4" "\\1" faa_model_root "${faa_model}")
set(output_file ${bin_root}/${DATA_DIR}/db/${faa_model_root}.g)
set(log_file ${CMAKE_CURRENT_BINARY_DIR}/${faa_model_root}.log)
add_custom_command(
OUTPUT ${output_file}
COMMAND fast4-g ${CMAKE_CURRENT_SOURCE_DIR}/${faa_model} ${output_file} > ${log_file} 2>&1
DEPENDS fast4-g ${CMAKE_CURRENT_SOURCE_DIR}/${faa_model}
)
add_custom_target(${faa_model_root}.g ALL DEPENDS ${output_file})
set_target_properties(${faa_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}")
set(LOG_FILES "${LOG_FILES};${log_file}")
DISTCLEAN(${log_file})
endmacro(ADD_FAA_G_TARGET faa_model folder)
foreach(faa_input ${FAA_SAMPLE_MODELS})
ADD_FAA_G_TARGET(${faa_input} "BRL-CAD Geometry Models/Sample")
endforeach(faa_input ${FAA_SAMPLE_MODELS})
CMAKEFILES(
${FAA_SAMPLE_MODELS}
README
)
set_property(DIRECTORY APPEND PROPERTY ADDITIONAL_MAKE_CLEAN_FILES "${BUILT_MODELS}")
set_property(DIRECTORY APPEND PROPERTY ADDITIONAL_MAKE_CLEAN_FILES "${LOG_FILES}")
# Local Variables:
# tab-width: 8
# mode: cmake
# indent-tabs-mode: t
# End:
# ex: shiftwidth=2 tabstop=8
File diff suppressed because it is too large Load Diff
-8
View File
@@ -1,8 +0,0 @@
For example images of these models, see the report:
Uncontained Engine Debris Analysis Using the Uncontained
Engine Debris Damage Assessment Model
DOT/FAA/AR-04/16
Office of Aviation Research
Washington, D.C. 20591
http://www.tc.faa.gov/its/worldpac/techrpt/AR04-16.pdf
-83
View File
@@ -1,83 +0,0 @@
set(NIST_SAMPLE_STEP_MODELS
NIST_MBE_PMI_1.stp
NIST_MBE_PMI_2.stp
NIST_MBE_PMI_3.stp
NIST_MBE_PMI_4.stp
NIST_MBE_PMI_5.stp
NIST_MBE_PMI_6.stp
NIST_MBE_PMI_11.stp
)
set(NIST_SAMPLE_3DM_MODELS
NIST_MBE_PMI_7-10.3dm
)
macro(ADD_NIST_STEP_TARGET step_model folder)
string(REGEX REPLACE "([0-9a-z]*).stp" "\\1" step_model_root "${step_model}")
set(output_file ${bin_root}/${DATA_DIR}/db/${step_model_root}.g)
set(log_file ${CMAKE_CURRENT_BINARY_DIR}/${step_model_root}.log)
add_custom_command(
OUTPUT ${output_file}
COMMAND step-g -O ${output_file} ${CMAKE_CURRENT_SOURCE_DIR}/${step_model} > ${log_file} 2>&1
DEPENDS step-g ${CMAKE_CURRENT_SOURCE_DIR}/${step_model}
)
add_custom_target(${step_model_root}.g ALL DEPENDS ${output_file})
set_target_properties(${step_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}")
set(LOG_FILES "${LOG_FILES};${log_file}")
DISTCLEAN(${log_file})
endmacro(ADD_NIST_STEP_TARGET step_model folder)
macro(ADD_NIST_3DM_TARGET rhino_model folder)
string(REGEX REPLACE "([0-9a-z]*).3dm" "\\1" rhino_model_root "${rhino_model}")
set(output_file ${bin_root}/${DATA_DIR}/db/${rhino_model_root}.g)
set(log_file ${CMAKE_CURRENT_BINARY_DIR}/${rhino_model_root}.log)
add_custom_command(
OUTPUT ${output_file}
COMMAND 3dm-g -o ${output_file} ${CMAKE_CURRENT_SOURCE_DIR}/${rhino_model} > ${log_file} 2>&1
DEPENDS 3dm-g ${CMAKE_CURRENT_SOURCE_DIR}/${rhino_model}
)
add_custom_target(${rhino_model_root}.g ALL DEPENDS ${output_file})
set_target_properties(${rhino_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}")
set(LOG_FILES "${LOG_FILES};${log_file}")
DISTCLEAN(${log_file})
endmacro(ADD_NIST_3DM_TARGET rhino_model folder)
foreach(step_input ${NIST_SAMPLE_STEP_MODELS})
ADD_NIST_STEP_TARGET(${step_input} "BRL-CAD Geometry Models/Sample")
endforeach(step_input ${NIST_SAMPLE_STEP_MODELS})
CMAKEFILES(${NIST_SAMPLE_STEP_MODELS})
foreach(rhino_input ${NIST_SAMPLE_3DM_MODELS})
ADD_NIST_3DM_TARGET(${rhino_input} "BRL-CAD Geometry Models/Sample")
endforeach(rhino_input ${NIST_SAMPLE_3DM_MODELS})
CMAKEFILES(${NIST_SAMPLE_3DM_MODELS})
set_property(DIRECTORY APPEND PROPERTY ADDITIONAL_MAKE_CLEAN_FILES "${BUILT_MODELS}")
set_property(DIRECTORY APPEND PROPERTY ADDITIONAL_MAKE_CLEAN_FILES "${LOG_FILES}")
CMAKEFILES(
README
pdf
)
# Local Variables:
# tab-width: 8
# mode: cmake
# indent-tabs-mode: t
# End:
# ex: shiftwidth=2 tabstop=8
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
Binary file not shown.
-37
View File
@@ -1,37 +0,0 @@
December 2014:
The files in this directory are conversions of the NIST MBE PMI test models
into the AP203 file format. These conversions are also in the public domain.
Originals are from http://www.nist.gov/el/msid/infotest/mbe-pmi-validation.cfm
Models 7 through 10 have been assembled into a single file, guided by the example
PDF provided with the original NIST data set.
MBE PMI Validation and Conformance Testing Models
NIST has created a Test System to measure conformance of Computer-Aided Design
(CAD) to American Society of Mechanical Engineers (ASME) standards for Product
and Manufacturing Information (PMI), specifically geometric dimensioning and
tolerancing (GD&T) information.
As part of this Test System, CAD Models were prepared.
For problems or questions about the MBE PMI CAD Models, contact: Robert Lipman
Dataset 1 First Release: December 2013
Dataset 1 Update Release: December 2014 (Note: Dataset 1 files currently in
BRL-CAD repo are based off of the
2013 version.)
Dataset 2 First Release: June 2015
These files were developed at the National Institute of Standards and
Technology by employees of the Federal Government in the course of their
official duties. Pursuant to Title 17 Section 105 of the United States Code
these files are not subject to copyright protection and are in the public
domain. These files are an experimental system. NIST assumes no responsibility
whatsoever for their use by other parties, and makes no guarantees, expressed
or implied, about their quality, reliability, or any other characteristic.
Any mention of commercial products is for information only; it does not imply
recommendation or endorsement by NIST.
BIN
View File
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
Binary file not shown.
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
+13 -196
View File
@@ -2,6 +2,9 @@
%
% This file contains bibliographic information pertaining to BRL-CAD.
%
% To be added:
% http://www.arl.army.mil/arlreports/2001/ARL-TR-2396.pdf
%
%%%
@@ -55,7 +58,6 @@
number = {V5S10A04},
pages = {pp. 1-12},
address = {Aberdeen Proving Ground, Maryland 21005-5066},
note = {Reprinted by ARL in 2013 as ARL-RP-429.}
owner = {cyapp},
timestamp = {2008.02.05}
}
@@ -348,9 +350,8 @@
pages = {pp. 1-5},
address = {Aberdeen Proving Ground, Maryland 21005-5066},
month = {November},
note = {Reprinted by ARL in 2013 as ARL-RP-428.}
owner = {morrison},
timestamp = {2015.11.19}
owner = {cyapp},
timestamp = {2008.02.05}
}
@INCOLLECTION{Stiller88a,
@@ -639,20 +640,6 @@
timestamp = {2008.02.05}
}
@PROCEEDING{doi:10.1117/12.960423,
author = {Jones, J. and Gonda, T.},
title = {A Thermal Model Preprocessor For Graphics And Material Database Generation},
journal = {Proc. SPIE},
volume = {1098},
number = {},
pages = {42-54},
abstract = {The process of developing a physical description of a target for thermal models is a time consuming and tedious task. The problem is one of data collection, data manipulation, and data storage. Information on targets can come from many sources and therefore could be in any form (2-D drawings, 3-D wireframe or solid model representations, etc.). TACOM has developed a preprocessor that decreases the time involved in creating a faceted target representation. This program allows the user to create the graphics for the vehicle and to assign the material properties to the graphics. The vehicle description file is then automatically generated by the preprocessor. By containing all the information in one database, the modeling process is made more accurate and data tracing can be done easily. A bridge to convert other graphics packages (such as BRL-CAD) to a faceted representation is being developed. When the bridge is finished, this preprocessor will be used to manipulate the converted data.},
year = {1989},
doi = {10.1117/12.960423},
URL = { http://dx.doi.org/10.1117/12.960423},
eprint = {}
}
@INCOLLECTION{Deitz90b,
author = {Deitz, Paul H.},
title = {High-Resolution, Item-Level Weapons Modeling},
@@ -884,9 +871,8 @@ eprint = {}
number = {V1S03A00},
pages = {pp. 1-9},
address = {Aberdeen Proving Ground, Maryland 21005-5066},
note = {Reprinted by ARL in 2013 as ARL-RP-432.}
owner = {morrison},
timestamp = {2015.11.19}
owner = {cyapp},
timestamp = {2008.02.05}
}
@INPROCEEDINGS{Eberius91a,
@@ -1639,19 +1625,6 @@ eprint = {}
timestamp = {2010.02.23}
}
@TECHREPORT{Kunkel01,
author = {Kunkel, Robert W., Jr. and Anderson, John R.},
title = {Conversion Process of a Ballistic Research Laboratory Computer-Aided Design (BRL-CAD) Model to a Panelized Surface Model (PSM)},
institution = {United States Army, Army Research Laboratory, Survivability/Lethality Analysis Directorate},
year = {2001},
month = {February},
number = {ARL-TR-2396},
address = {Army Research Laboratory, Aberdeen Proving Ground, MD 21005-5068},
note = {Approved for Public Release; Distribution is Unlimited.},
owner = {morrison},
timestamp = {2015.11.19}
}
@INPROCEEDINGS{Keyser02a,
author = {Keyser, John and Culver, Tim and Foskey, Mark and Krishnan, Shankar
and Manocha, Dinesh},
@@ -1811,7 +1784,8 @@ eprint = {}
author = {Tabary, Joachim and Hugonnard, Patrick and Mathy, Francoise},
title = {SINDBAD : a realistic multi-purpose and scalable X-ray simulation
tool for NDT applications},
booktitle = {Proceedings DIR 2007 - International Symposium on Digital industrial Radiology and Computed Tomography},
booktitle = {Proceedings DIR 2007 - International Symposium on Digital industrial
Radiology and Computed Tomography},
year = {2007},
month = {June},
note = {http://www.ndt.net/article/dir2007/papers/s4.pdf},
@@ -1819,23 +1793,11 @@ eprint = {}
timestamp = {2008.02.08}
}
@TECHREPORT{Mallory07,
author = {Mallory, Timothy},
title = {A 3-D Scanning Technique for Determining Fragment Shape Factor},
institution = {United States Army, Army Research Laboratory, Survivability/Lethality Analysis Directorate},
year = {2007},
month = {July},
number = {ARL-TR-4183},
address = {Army Research Laboratory, Aberdeen Proving Ground, MD 21005-5068},
note = {Distribution authorized to the Department of Defense and U.S. DOD contractors only; critical technology (July 2007). Other requests for this document shall be referred to Director, U.S. Army Research Laboratory, ATTN: AMSRD-ARL-SL-BM, Aberdeen Proving Ground, MD 21005-5068.},
owner = {morrison},
timestamp = {2015.12.16}
}
@TECHREPORT{Yapp09a,
author = {Yapp, Clifford},
title = {Interactive Raytracing: The nirt Command},
institution = {United States Army, Army Research Laboratory, Survivability/Lethality Analysis Directorate},
institution = {United States Army, Army Research Laboratory, Survivability/Lethality
Analysis Directorate},
year = {2009},
month = {April},
number = {ARL-CR-624},
@@ -1848,7 +1810,8 @@ eprint = {}
@TECHREPORT{Yapp09b,
author = {Yapp, Clifford},
title = {Vehicle Tire and Wheel Creation in BRL-CAD},
institution = {United States Army, Army Research Laboratory, Survivability/Lethality Analysis Directorate},
institution = {United States Army, Army Research Laboratory, Survivability/Lethality
Analysis Directorate},
year = {2009},
month = {April},
number = {ARL-CR-625},
@@ -1887,152 +1850,6 @@ eprint = {}
timestamp = {2010.02.23}
}
@TECHREPORT{Yapp12,
author = {Yapp, Clifford},
title = {Generating Coils in BRL-CAD},
institution = {United States Army, Army Research Laboratory, Survivability/Lethality Analysis Directorate},
year = {2012},
month = {April},
number = {ARL-CR-691},
address = {Army Research Laboratory, Aberdeen Proving Ground, MD 21005-5068},
note = {Approved for Public Release, distribution unlimited. Available online: http://www.arl.army.mil/arlreports/2012/ARL-CR-691.pdf},
owner = {morrison},
timestamp = {2015.11.19}
}
@TECHREPORT{Muuss13,
author = {Muuss, Michael John},
title = {RT \& REMRT Shared Memory Parallel and Network Distributed Ray-Tracing Programs},
institution = {United States Army, Army Research Laboratory},
year = {2013},
month = {April},
number = {ARL-RP-429},
address = {Army Research Laboratory, Aberdeen Proving Ground, MD 21005-5068},
note = {Approved for Public Release, distribution unlimited. Available online: http://www.arl.army.mil/arlreports/2013/ARL-RP-429.pdf},
owner = {morrison},
timestamp = {2015.11.19}
note = {This is a reprint from the Fourth USENIX Computer Graphics Workshop, Cambridge, MA, 9 Oct 1987.}
}
@TECHREPORT{Stay13,
author = {Stay, Paul R.},
title = {The Definition and Ray-Tracing of B-Spline Objects in a Combinatorial Solid Geometric Modeling System},
institution = {United States Army, Army Research Laboratory},
year = {2013},
month = {April},
number = {ARL-RP-428},
address = {Army Research Laboratory, Aberdeen Proving Ground, MD 21005-5068},
note = {Approved for Public Release, distribution unlimited. Available online: http://www.arl.army.mil/arlreports/2013/ARL-RP-428.pdf},
owner = {morrison},
timestamp = {2015.11.19}
note = {This is a reprint from the Fourth USENIX Computer Graphics Workshop, Cambridge, MA, 9 Oct 1987.}
}
@TECHREPORT{Dykstra13,
author = {Dykstra, Phillip C.},
title = {The BRL-CAD Package - An Overview},
institution = {United States Army, Army Research Laboratory},
year = {2013},
month = {April},
number = {ARL-RP-432},
address = {Army Research Laboratory, Aberdeen Proving Ground, MD 21005-5068},
note = {Approved for Public Release, distribution unlimited. Available online: http://www.arl.army.mil/arlreports/2013/ARL-RP-432.pdf},
owner = {morrison},
timestamp = {2015.11.19}
note = {This is a reprint from the Fourth USENIX Computer Graphics Workshop, Cambridge, MA, 9 Oct 1987.}
}
@TECHREPORT{Yapp13,
author = {Yapp, Clifford W.},
title = {The BRL-CAD CMake Build System - An Overview},
institution = {United States Army, Army Research Laboratory, Survivability/Lethality Analysis Directorate},
year = {2013},
month = {June},
number = {ARL-TR-6475},
address = {Army Research Laboratory, Aberdeen Proving Ground, MD 21005-5068},
note = {Approved for Public Release, distribution unlimited. Available online: http://www.arl.army.mil/arlreports/2013/ARL-TR-6475.pdf},
owner = {morrison},
timestamp = {2015.11.19}
}
@TECHREPORT{Ranawake15,
author = {Ranawake, Charith},
title = {The Verification and Validation of the Ray-tracing of Bag of Triangles (BoTs)},
institution = {United States Army, Army Research Laboratory, Survivability/Lethality Analysis Directorate},
year = {2015},
month = {February},
number = {ARL-CR-0761},
address = {Army Research Laboratory, Aberdeen Proving Ground, MD 21005-5068},
note = {Approved for Public Release, distribution unlimited. Available online: http://www.arl.army.mil/arlreports/2015/ARL-CR-0761.pdf},
owner = {morrison},
timestamp = {2015.11.19}
}
@TECHREPORT{Jain15,
author = {Jain, Rishub},
title = {Converting Between PLY and Ballistic Research Laboratory Computer-Aided Design (BRL-CAD) Formats},
institution = {United States Army, Army Research Laboratory, Survivability/Lethality Analysis Directorate},
year = {2015},
month = {February},
number = {ARL-CR-0760},
address = {Army Research Laboratory, Aberdeen Proving Ground, MD 21005-5068},
note = {Approved for Public Release, distribution unlimited.. Available online: http://www.arl.army.mil/arlreports/2015/ARL-CR-0760.pdf},
owner = {morrison},
timestamp = {2015.11.19}
}
@TECHREPORT{Roberts15,
author = {Roberts, Mitchell},
title = {Comprehensive BRL-CAD Primitive Database},
institution = {United States Army, Army Research Laboratory, Survivability/Lethality Analysis Directorate},
year = {2015},
month = {March},
number = {ARL-CR-0764},
address = {Army Research Laboratory, Aberdeen Proving Ground, MD 21005-5068},
note = {Approved for Public Release, distribution unlimited. Available online: http://www.arl.army.mil/arlreports/2015/ARL-CR-0764.pdf},
owner = {morrison},
timestamp = {2015.11.19}
}
@TECHREPORT{Nichols15,
author = {Nichols, Steven J.},
title = {Uniform Tests of File Converters Using Unit Cubes},
institution = {United States Army, Army Research Laboratory, Survivability/Lethality Analysis Directorate},
year = {2015},
month = {March},
number = {ARL-CR-0770},
address = {Army Research Laboratory, Aberdeen Proving Ground, MD 21005-5068},
note = {Approved for Public Release, distribution unlimited. Available online: http://www.arl.army.mil/arlreports/2015/ARL-CR-0770.pdf},
owner = {morrison},
timestamp = {2015.11.19}
}
@TECHREPORT{Butler15,
author = {Butler, Lee A. and Yapp, Clifford},
title = {Adaptive Geometry Shader Tessellation for Massive Geometry Display},
institution = {United States Army, Army Research Laboratory, Survivability/Lethality Analysis Directorate},
year = {2015},
month = {March},
number = {ARL-SR-0312},
address = {Army Research Laboratory, Aberdeen Proving Ground, MD 21005-5068},
note = {Approved for Public Release, distribution unlimited. Available online: http://www.arl.army.mil/arlreports/2015/ARL-SR-0312.pdf},
owner = {morrison},
timestamp = {2015.11.19}
}
@TECHREPORT{Yapp15,
author = {Yapp, Clifford},
title = {An Investigation into Conversion from Non-Uniform Rational B-Spline Boundary Representation Geometry to Constructive Solid Geometry},
institution = {United States Army, Army Research Laboratory, Survivability/Lethality Analysis Directorate},
year = {2015},
month = {December},
number = {ARL-SR-0347},
address = {Army Research Laboratory, Aberdeen Proving Ground, MD 21005-5068},
note = {Approved for Public Release, distribution unlimited. Available online: http://www.arl.army.mil/arlreports/2015/ARL-SR-0347.pdf},
owner = {morrison},
timestamp = {2015.12.01}
}
@comment{jabref-meta: selector_journal:}
@comment{jabref-meta: selector_author:}
+2 -6
View File
@@ -27,10 +27,8 @@ set(documentation_DATA
benchmark.tr
brep.txt
BRL-CAD.bib
code_review.txt
cvs.txt
description.txt
editors.txt
ged.tr
history.txt
hypot.txt
@@ -218,18 +216,16 @@ set(documentation_mged_old_DATA
)
ADD_DOC(documentation_mged_old_DATA mged_old)
configure_file(pad_file.xml.in "${CMAKE_CURRENT_BINARY_DIR}/pad_file.xml" @ONLY)
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 ${DOC_DIR})
CMAKEFILES(
README.OSCON-2014
STARTERS
STRATEGY
burst
csv_to_comgeom.txt
implicit_constraints.txt
pad_file.xml.in
trunk_hierarchy.org
)
# Local Variables:
+1 -1
View File
@@ -56,7 +56,7 @@ Following the build instructions in the INSTALL file. 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.8 or newer)
cmake (2.8.3 or newer)
All three of those have implicit dependencies on other packages.
+1 -8
View File
@@ -85,13 +85,6 @@ 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.
OpenSceneGraph and OSX
----------------------
For 32bit OSX builds of an X11+OpenSceneGraph BRL-CAD:
cmake .. -DBRLCAD_BUNDLED_LIBS=BUNDLED -DBRLCAD_ENABLE_OSG=ON
-DBRLCAD_REGEX=SYSTEM -DBRLCAD_WORD_SIZE=32BIT -DOSG_WINDOWING_SYSTEM=X11
Tips
----
@@ -104,6 +97,6 @@ uname -a
Bugs
----
The only known bugs specific to Mac OS X are limitations of Tk or the
X11 event handler that are generally outside of BRL-CAD's domain.
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.
+2 -24
View File
@@ -3,17 +3,14 @@ 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 2013 and CMake
2.8.12+) are recommended. If generating an installer, the Nullsoft
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.
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.
Visual Studio
-------------
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
@@ -46,22 +43,3 @@ 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.
MINGW (WORK IN PROGRESS - THIS DOES NOT YET WORK!!!)
-----
After installing the MINGW system, set up as follows:
set path=%path%;"C:\Program Files (x86)\CMake\bin"
set path=%path%;C:\MinGW\bin
now make a build directory, and run CMake:
cmake ..\brlcad -G "MinGW Makefiles" -DBRLCAD_BUNDLED_LIBS=BUNDLED
mingw32-make
Note that you don't want to do this from an msys prompt that has
sh in the path. (ConEmu can make using the standard Windows command
prompt a bit more tolerable: http://conemu.github.io)
-259
View File
@@ -1,259 +0,0 @@
# -*- mode: org; coding: utf-8; -*- #
# This is an Emacs org-mode file. Keybindings: http://orgmode.org/orgcard.txt
# +TAGS: { UX : U u } { Complex : C c }
# +TAGS: { Comms : P p } { Market : M m }
BRL-CAD Development Strategy
This is a living document that defines and aims to help maintain a
consistent develpment strategy for addressing BRL-CAD requirements.
It recognizes areas of strategic importance, outlines projects to
bolster those areas, and identifies specific actionable objectives.
* Strategic Areas
This section itemizes areas of strategic importance which coincide
closely with areas of categoric deficiency. For each area, we
outline general activities that could strengthen them. From these
areas, we conceive strategic projects and their associated tasks.
** AREA 1: UX :UX:
*** deploying Archer/MGED -cns :p:C:
*** UI simplification -s :C:
*** undo / fault tolerance -n
*** prototype Qt -c :p:
*** UI design / clarification -j :P:C:
*** interaction / integration -j :M:
*** editing constraints, snapping, reuse existing coordinates
*** bug reporting / feature requests :P:
*** portability :p:
** AREA 2: Complexity :Complex:
*** command / tool reduction -cjns :U:
*** API code reduce / simplification / modularity -cjs :U:
*** searchability / info -n :U:p:
*** discoverability / documentation (UP) :U:P:
*** UI design / clarity (UP)
*** restructure of file hierarchy
*** continuous integration
** AREA 3: Communications :Comms:
*** website -cjns :C:
*** doc integration, website -cjns :C:
*** new content (audience / customer profiles), website :C:
*** comms (meeting / promoting our successes / PRB / announcements) :U:C:M:
*** CRM / IRC :U:C:
*** leverage existing capability
** AREA 4: Marketability :Market:
FIXME: these need to be sorted and ranked
*** conversion: import, processing, export -s :P:U:
*** geometry analysis performance (interactive ray tracing / opencl) :U:
*** 3D printing / polygonal export / gcode -s :P:U:
*** industrial design: blueprinting, dimensioning, annotations :P:U:
*** geometry preparation (killing overlaps, hierarchy, V&V) :U:C:
*** visuals: advanced rendering, animation, simulation :P:U:
* Strategic Projects
This section itemizes projects conceived to address BRL-CAD's
principal strategic areas. Each project focuses on one or more
strategic areas devising measurable tasks that support the
particular objective.
** PROJECT: Deploy Archer
*** command cleanup - ALPHA+
**** TODO inventory + mapping + time
**** TODO design UI / commands
**** TODO QA acceptance from users
**** TODO announce / share / sit with users
*** interactivity / blocking indicators - ALPHA
**** TODO multithreaded command execution
**** TODO interface busy indicator
**** TODO drawing indicator
*** feature parity - ALPHA
**** TODO classic console mode
**** TODO review/finish edit keypointing (oed parity)
**** TODO summarize features
**** TODO create mapping from old to new
**** TODO GUI matrix editing
**** TODO reverse tempfile
**** TODO query ray control GUI
*** undo - BETA
**** TODO implement libbu filesystem info
**** TODO re-enable undo with fs awareness
*** bug reporting / feedback / metrics - BETA
**** TODO reliable backtrace
**** TODO hook/enable bombardier
**** TODO in-app feedback dialog
**** TODO track metrics (archer commands, tips, docs)
*** QA acceptance - BETA
**** TODO run regression w/ archer
**** TODO sit down reviews (discuss scripts)
**** TODO define acceptance tasks
**** TODO run with procedural web scripts
*** announcements + migration plan - BETA+
**** TODO write + publish strategy map
**** TODO write + publish migration plan
**** TODO review + update tutorials (docs)
**** TODO create + give presentation
**** TODO install new website (basic version)
**** TODO discussion with core stakeholders
*** searchable docs - FINAL
**** TODO command line searching of doc content
**** TODO apropos reading from docbook
**** TODO web publishing + searching of docs
** PROJECT: Concentration
*** revisit scope (vision, mission)
**** TODO communicate intent and updates
**** TODO develop high-level project roadmap
**** TODO connect features to markets
*** develop command roadmap
**** TODO inventory of command-line commands, decide keep/refactor/kill
**** TODO communicate command-line changes
**** TODO take inventory of ged commands, decide keep/refactor/kill
**** TODO communicate ged command changes
**** TODO assess and mitigate deployment risks
*** unify docs
**** TODO convert/integrate/kill html+troff docs
**** TODO consolidate docs, one guide per interface
**** TODO stub new docs where missing
** PROJECT: Webulgation
FIXME these need to be sorted and ranked
*** publish docbook docs
**** TODO instantiate / set up sofat's doc interface
**** TODO design pdf stylesheet
**** TODO integrate docs onto website (html+pdf)
*** online doc editing
**** TODO review sofat edit interface
**** TODO apply website theme to edit interface
*** publish use cases
**** TODO post 3+ customer profiles
**** TODO post top-10 feature highlights
**** TODO identify alternatives and their highlight mappings
**** TODO post comparison table with 2+ alternatives
*** set up developer corner
**** TODO publish doxygen output to website
**** TODO update doxygen stylesheet to fit theme
**** TODO ensure buildbot is setup and running handsfree
**** TODO update buildbot stylesheet to fit theme
**** TODO post nightly builds
**** TODO set up cron job to maintain CI and doc updates
**** TODO announce dev corner to brlcad-devel/brlcad-news
*** improve website usability
**** TODO set up platform-detected downloads on main page
**** TODO publish project vitality/stats (ohloh integration)
** PROJECT: Deploy GCV
*** 3dm "round-tripping"
**** TODO integrate existing importer
**** TODO NURBS export support
**** TODO document entity support
*** documentation
**** TODO convert jon's write-up to docbook
**** TODO integrate jon's plugin examples
**** TODO write and publish plugin API policy
**** TODO write and publish GCV feature profile on website
*** CLI usability
**** TODO design usage / synopsis
**** TODO provide logging/debugging interface
*** robust deployment
**** TODO convert tlib via automated testing
**** TODO automate extraction of sources from checkout
**** TODO integrate gcv into mged/archer
**** TODO troubleshoot JASP export memory issue
**** TODO integrate bot_dump into gcv
** PROJECT: Performant Pipeline
*** bundled ray dispatch
**** TODO define ray bundling API
**** TODO audit librt API for performance
**** TODO convert RT to new bundled API
*** raytrace prep caching
**** TODO implement libbu data caching API (3)
**** TODO implement librt object prep caching (5)
**** TODO update tools to utilize the prep cache (1+2)
**** TODO document the prep cache interface (1)
*** on-demand NURBS tree-building
**** TODO dynamic tree build with minimal malloc
**** TODO profile and validate results
**** TODO formulate a design / approach
*** coherent Boolean evaluation
**** TODO OpenCL conversion
**** TODO handle bundles of ray, eliminate branching
**** TODO review and integrate Costa's GSoC work
**** TODO V&V with specific test cases
*** coherent NURBS evaluation
**** TODO review 2006 paper
**** TODO convert openNURBS surface evaluation to OpenCL
*** performant raytrace image display
**** TODO optimize libdb/libfb to remove bottleneck
**** TODO update archer for interactive tracing display
** PROJECT: Merge Archer/MGED
*** do more good stuff
** TEMPLATE: Project Title
Here is an example project that summarizes the taxonomy and
structure of a strategic project. A project should be scoped to
less than 4 months of full-time uninterrupted effort. A project
must have at least 1 objective.
*** objective
Objectives should be simple with identifiable completion criteria.
An objective should be achievable in 4 weeks or less with larger
objectives divided into separate smaller chunks. Each objective
must have at least 1 task.
**** TODO task
A task is actionable work that should take someone 4 weeks or
less of full-time uninterrupted effort, estimated in weeks, with
0 for tasks less than 2 days.
# Local Variables:
# mode: org
# End:
-48
View File
@@ -1,48 +0,0 @@
BRL-CAD Code Review
===================
...what to look for during a review...
Legal:
* proper copyright statement and compatible license?
* any indication contribution disagrees with copyright assignment?
* if incorporating 3rd party code, prefer bsd/mit-style options
Architecture:
* proper location in hierarchy?
* proper file name(s)?
* is a dependency being introduced?
* is a cyclic dependency being introduced?
* are any global variables being introduced?
Design:
* is public API minimized?
* is a platform symbol being used?
* does the change reduce or violate modularity?
* is the approach being taken reasonable?
* is the code easy to understand?
Testing:
* compiles cleanly?
* are warnings handled cleanly?
* any blatant logic errors?
* are all data inputs checked properly, sanitized?
* if fixing a bug more than once, is there a test?
* is a unit test warranted?
* are there major robustness issues?
Documentation:
* if publicly visible, is NEWS updated?
* if public API changed, is CHANGES updated?
* if public API introduced, does every symbol have a comment?
* if interface changed, are man page or other docs updated?
* are numeric constants documented?
* is suspicious, complex, risky code commented?
Code:
* conforms with style and coding standards?
* proper indentation, formatting, whitespace?
* are symbol names consistent?
* is duplication being introduced, refactoring warranted?
* is there undocumented dead / commented-out code?
* can any code be replaced with library calls?
+27 -5
View File
@@ -11,16 +11,13 @@ string(REPLACE " " "%20" DOCBOOK_BINARY_DIR "${CMAKE_BINARY_DIR}")
string(REPLACE " " "%20" DOCBOOK_SOURCE_DIR "${CMAKE_SOURCE_DIR}")
# Common stylesheets for all DocBook sources
if(BRLCAD_EXTRADOCS_HTML OR BRLCAD_EXTRADOCS_PDF OR BRLCAD_EXTRADOCS_MAN OR BRLCAD_EXTRADOCS_PHP OR BRLCAD_EXTRADOCS_PPT)
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)
# Wordpress
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/resources/brlcad/wordpress.xsl.in
${CMAKE_CURRENT_BINARY_DIR}/resources/brlcad/wordpress.xsl)
endif(BRLCAD_EXTRADOCS_HTML OR BRLCAD_EXTRADOCS_PDF OR BRLCAD_EXTRADOCS_MAN OR BRLCAD_EXTRADOCS_PHP OR BRLCAD_EXTRADOCS_PPT)
endif(BRLCAD_EXTRADOCS_HTML OR BRLCAD_EXTRADOCS_PDF OR BRLCAD_EXTRADOCS_MAN)
# Files for PDF products
if(BRLCAD_EXTRADOCS_PDF)
@@ -50,6 +47,31 @@ 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)
+1 -7
View File
@@ -4,11 +4,6 @@ if(BRLCAD_EXTRADOCS_HTML)
${CMAKE_CURRENT_BINARY_DIR}/../resources/brlcad/brlcad-article-xhtml-stylesheet.xsl)
endif(BRLCAD_EXTRADOCS_HTML)
if(BRLCAD_EXTRADOCS_PHP)
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/../resources/brlcad/brlcad-article-xhtml-stylesheet.xsl.in
${CMAKE_CURRENT_BINARY_DIR}/../resources/brlcad/brlcad-article-xhtml-stylesheet.xsl)
endif(BRLCAD_EXTRADOCS_PHP)
# Files for PDF products
if(BRLCAD_EXTRADOCS_PDF)
# Style sheet for XSLT transformation to PDF
@@ -19,8 +14,7 @@ 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_PHP_STYLESHEET "${CMAKE_CURRENT_BINARY_DIR}/../resources/brlcad/wordpress.xsl")
set(XSL_HTML_STYLESHEET "${CMAKE_CURRENT_BINARY_DIR}/../resources/brlcad/brlcad-article-xhtml-stylesheet.xsl")
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)
+8 -59
View File
@@ -1,26 +1,18 @@
set(articles_EN
set(docbook_articles_EN
TEMPLATE.xml
about.xml
animation_tutorial.xml
build_pattern.xml
build_region.xml
camo_shader.xml
ebm_primitive.xml
gcv.xml
ged.xml
mgedrc.xml
nirt.xml
oed.xml
pipes.xml
projection_shader.xml
tire.xml
mged.xml
main_menu.xml
)
set(articles_EN_IMAGES
images/Lee_tux.gif
images/animtbl.gif
set(docbook_articles_EN_IMAGES
images/build_pattern_fig01.png
images/build_pattern_fig02.png
images/build_pattern_fig03.png
@@ -32,26 +24,12 @@ set(articles_EN_IMAGES
images/build_region_fig02.png
images/build_region_fig03.png
images/build_region_fig04.png
images/dagtbl.gif
images/ebm_primitive_fig01.png
images/ebm_primitive_fig02.png
images/ebm_primitive_fig03.png
images/ell.mpg
images/ell_sm.gif
images/ell_ssm.gif
images/equation.gif
images/film.gif
images/fn.gif
images/gcv_architecture.png
images/gcv_unsupported_tessellation.png
images/gcv_using_gdiff.png
images/matrix.gif
images/mgedrc_fig01.png
images/mgedrc_fig02.png
images/mgedrc_fig03.png
images/moss.mpg
images/moss_sm.gif
images/moss_ssm.gif
images/nirt_fig01.png
images/nirt_fig02.png
images/nirt_fig03.png
@@ -123,43 +101,14 @@ set(articles_EN_IMAGES
images/tire_fig12.png
images/tire_fig13.png
images/tire_fig14.png
images/trans.gif
images/transboth.gif
images/transboth_sm.gif
images/v_eqn1.gif
images/v_eqn2.gif
images/azel.jpg
images/az_el.gif
images/az_el.jpg
images/az_el_sm.gif
images/base.gif
images/base.jpg
images/bool.gif
images/coord-axes.gif
images/cup_and_mug.gif
images/cup_and_mug_small.gif
images/cup_out+in.gif
images/cup_outside.gif
images/cup_w_handle.gif
images/faceplate.gif
images/faceplate_menu.gif
images/faceplate_menu_sm.gif
images/faceplate_sm.gif
images/fillet.gif
images/fillet.jpg
images/handle.gif
images/handle.jpg
images/mug_camo.gif
images/mug_camo.jpg
images/mug_green.gif
images/mug_green.jpg
images/prims.gif
images/rim.gif
images/rim.jpg
)
ADD_DOC(articles_EN_IMAGES html/articles/en/images)
ADD_DOC(docbook_articles_EN_IMAGES html/articles/en/images)
ADD_DOCBOOK("HTML;PHP;PDF" articles_EN articles/en articles_EN_IMAGES_cp)
DOCBOOK_TO_HTML(article docbook_articles_EN html/articles/en docbook_articles_EN_IMAGES_cp)
if(BRLCAD_EXTRADOCS_PDF)
DOCBOOK_TO_PDF(article docbook_articles_EN pdf/articles/en docbook_articles_EN_IMAGES_cp)
endif(BRLCAD_EXTRADOCS_PDF)
CMAKEFILES(images/tire_fig12.svg images/tire_fig13.svg)
+3 -3
View File
@@ -84,14 +84,14 @@
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_gear_logo_w_name_256.png" format="PNG" width="256"/>
<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_gear_logo_w_name_256.png" format="PNG" width="256"/>
<imagedata align="center" fileref="http://brlcad.org/images/logo/BRL-CAD_256x256.png" format="PNG" width="64"/>
</imageobject>
<caption>
<para>
@@ -103,7 +103,7 @@
<para>
Another image, but rendered inline
<inlinemediaobject><imageobject role="html"><imagedata fileref="http://brlcad.org/images/logo/BRL-CAD_gear_logo_64x64.png" format="PNG" width="64"/></imageobject><imageobject role="fo"><imagedata fileref="http://brlcad.org/images/logo/BRL-CAD_gear_logo_64x64.png" format="PNG" width="64"/></imageobject></inlinemediaobject>
<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>
File diff suppressed because it is too large Load Diff
-144
View File
@@ -1,144 +0,0 @@
<article xmlns="http://docbook.org/ns/docbook" version="5.0">
<info>
<title>Camouflage shader</title>
</info>
<section xml:id="Introduction">
<title>Introduction</title>
<para>The "camo" shader creates a pseudo-random tri-color camouflage pattern on the object using a fractal noise pattern. This is a procedural shader based upon a fractal noise function known as fractional brownian motion or fBm.
</para>
<para>
The fractal noise function produces a pseudo- random number in the range [-1.0 ... 1.0] from the 3-space coordinates of a point in the bounding volume of the region. This noise value is used to determine the color of the object at the given location.
</para>
<para>
<table frame='all'>
<title>Table 1</title>
<tgroup cols='2' align='left' colsep='1' rowsep='1'>
<thead>
<row>
<entry>Noise Value</entry>
<entry>Object Color</entry>
</row>
</thead>
<tbody>
<row>
<entry>nv &#60; thresh1 </entry> <entry>color 1</entry>
</row>
<row>
<entry>nv &#60; thresh1
and nv &#60; thresh2</entry>
<entry>color 2</entry>
</row>
<row>
<entry>nv > thresh2</entry>
<entry>color 3</entry>
</row>
</tbody>
</tgroup>
</table>
</para>
<para>
The fractal pattern has infinite resolution. As a result, the borders of the color splashes never become pixelated, no mater how close the eyepoint is to the surface.
</para>
<para>
<table frame='all'>
<title>Table 2</title>
<tgroup cols='3' align='left' colsep='1' rowsep='1'>
<colspec colname='c1' />
<colspec colname='c2' />
<colspec colname='c3' />
<colspec colnum='3' colname='c3'/>
<spanspec spanname='hspan' namest='c1' nameend='c3' align='center'/>
<thead>
<row>
<entry>parameter</entry>
<entry>Abbreviation</entry>
<entry>Default Value</entry>
</row>
<row>
<entry spanname='hspan'>Noise Parameters</entry>
</row>
</thead>
<tbody>
<row>
<entry>lacunarity</entry>
<entry>l</entry>
<entry>2.1753974</entry>
</row>
<row>
<entry>H</entry>
<entry>H</entry>
<entry>1.0</entry>
</row>
<row>
<entry>octaves</entry>
<entry>o</entry>
<entry>4.0</entry>
</row>
<row>
<entry>size</entry>
<entry>s</entry>
<entry>1.0</entry>
</row>
<row>
<entry>vscale</entry>
<entry>v</entry>
<entry>1.0/1.0/1.0</entry>
</row>
<row>
<entry>delta</entry>
<entry>d</entry>
<entry>1000/1000/1000</entry>
</row>
<row>
<entry spanname='hspan'><emphasis role='bold'>Shader Specific Parameters</emphasis></entry>
</row>
<row>
<entry>thresh1</entry>
<entry>t1</entry>
<entry>-0.25</entry>
</row>
<row>
<entry>thresh2</entry>
<entry>t2</entry>
<entry>0.25</entry>
</row>
<row>
<entry>color1</entry>
<entry>c1</entry>
<entry>97/74/41</entry>
</row>
<row>
<entry>color2</entry>
<entry>c2</entry>
<entry>26/77/10</entry>
</row>
<row>
<entry>color3</entry>
<entry>c3</entry>
<entry>38/38/38</entry>
</row>
</tbody>
</tgroup>
</table>
</para>
<para><emphasis role='bold'>Lacunarity</emphasis></para>
<para>The grid on which the noise function is built is scaled by this value for each successive octave of noise which will be combined to produce the final result.</para>
<para><emphasis role='bold'>Octaves</emphasis></para>
<para>The number of times the noise grid will be scaled and recombined to produce the final noise function</para>
<para><emphasis role='bold'>Size, Vscale</emphasis></para>
<para>If <emphasis role='bold'>size</emphasis> is set it is used as a scalar which defines the size of the noise grid on the object. So if t2=0.5 and size=5mm then splotches of color3 would tend to be no larger than 5-10mm. If non-uniform scaling is required, Vscale can specify the grid size in X, Y and Z.</para>
<para><emphasis role='bold'>Delta</emphasis></para>
<para>This specifies a translation in noise space for the origin of region space. Since the origin of noise space is reflected 8 ways, it is undesirable to have that portion of noise space overlap with region space.</para>
</section>
<section xml:id="Limitations">
<title>Limitations</title>
<para>Because of the continuous nature of the fractal noise space, it is impossible to get a splash of color1 directly adjacent to a splash of color3. </para>
</section>
</article>
-767
View File
@@ -1,767 +0,0 @@
<article xmlns="http://docbook.org/ns/docbook" version="5.0">
<info>
<title>The Geometry Conversion Library</title>
<author>
<personname>
<firstname>Jon</firstname>
<surname>Engbert</surname>
</personname>
<affiliation>
<orgname>BRL-CAD Open Source</orgname>
</affiliation>
</author>
</info>
<section>
<title>Introduction</title>
<para>
The Geometry Conversion Library (GCV or libgcv) provides a unified API for geometry conversion capabilities under a plugin-based architecture.
</para>
<para>
The GCV public API is declared in C headers located within <literal>include/gcv/</literal>. The single <literal>include/gcv.h</literal> header includes the entire GCV public API.
</para>
</section>
<section>
<title>Architecture</title>
<para>
The Geometry Conversion Library consists of a stream-based API for geometry conversion and associated operations. Input and output are provided by "reader" and "writer" converters (provided by plugins). Intermediate operations are provided by "filters". Readers and writers are types of filters that provide input and output support for model formats, while basic filters apply transformations to models and geometry.
</para>
<para>
Geometry is stored in an in-memory BRL-CAD database (<code>struct db_i</code> in <literal>include/rt/db_instance.h</literal>) during the intermediate steps of conversion. For writer filters, this database is marked read-only and its geometry should not be modified. All names within a BRL-CAD database must be unique.
</para>
<figure>
<title>GCV architecture</title>
<mediaobject>
<imageobject>
<imagedata fileref="../../articles/en/images/gcv_architecture.png"/>
</imageobject>
</mediaobject>
</figure>
</section>
<section>
<title>Building GCV</title>
<para>
GCV can be built in a similar manner as other BRL-CAD libraries. After configuring with CMake, building the <literal>libgcv</literal> target will produce a dynamic library. For Unix-based systems, the procedure should be similar to the following:
<screen>
$ cd brlcad
$ mkdir build
$ cd build
$ cmake ..
$ make libgcv
</screen>
</para>
<para>
Plugins can be built under <literal>gcv_<replaceable>plugin_name</replaceable></literal> targets, or collectively under the <literal>gcv_plugins</literal> target.
</para>
<para>
The command-line utility can be built under the <literal>gcv</literal> target. At this time, the <literal>gcv</literal> program is not installed automatically; the binary will be placed into <literal>build/src/conv/gcv/</literal>.
</para>
</section>
<section>
<title>Example: Using GCV in an application</title>
<para>
The following code illustrates a basic use of GCV from within an application. Note that there may be multiple filters providing import/export capabilities for a given format; the below code simply selects the first matching filter encountered.
</para>
<example>
<title>gcv_app.c</title>
<para>
TODO: embedded code
</para>
</example>
</section>
<section>
<title>GCV Public API</title>
<para>
The public API for interacting with GCV filter plugins is summarized below.
</para>
<table frame='none'>
<title>GCV public filter API</title>
<tgroup cols='2' align='left'>
<tbody>
<row>
<entry><code>struct gcv_context</code></entry>
<entry>Stores the conversion state. Plugins may store messages in the <code>bu_avs_t</code> member <code>messages</code>.</entry>
</row>
<row>
<entry><code>gcv_context_init()</code></entry>
<entry>Initialize a <code>struct gcv_context</code>. Creates an in-memory <code>struct db_i</code> for conversion data.</entry>
</row>
<row>
<entry><code>gcv_context_destroy()</code></entry>
<entry>Frees memory associated with a <code>struct gcv_context</code>.</entry>
</row>
<row>
<entry><code>struct gcv_filter</code></entry>
<entry>Stores characteristics of a filter.</entry>
</row>
<row>
<entry><code>struct gcv_opts</code></entry>
<entry>Store generic options applying to all filters.</entry>
</row>
<row>
<entry><code>gcv_opts_default()</code></entry>
<entry>Initialize a <code>struct gcv_opts</code> with default values.</entry>
</row>
<row>
<entry><code>gcv_list_filters()</code></entry>
<entry>Returns a pointer to a <code>const struct bu_ptbl</code> containing all registered filters as <code>const struct gcv_filter</code> pointers.</entry>
</row>
<row>
<entry><code>gcv_execute()</code></entry>
<entry>Perform a filter operation on a <code>struct gcv_context</code>. Returns <code>1</code> on success and <code>0</code> on failure. If <code>gcv_options</code> is <code>NULL</code>, the defaults will be used as set by <code>gcv_opts_default()</code>. The parameters <code>argc</code> and <code>argv</code> are used for option parsing as specified by the struct gcv_filter.</entry>
</row>
</tbody>
</tgroup>
</table>
</section>
<section>
<title>The Internal Plugin API</title>
<para>
The GCV plugin API is declared in <code>include/gcv/api.h</code>. Plugins provide an externally-visible <code>const struct gcv_plugin</code> defining their filters, which are described by <code>struct gcv_filter</code>.
</para>
<table frame='none'>
<title>The gcv_filter struct</title>
<tgroup cols='2' align='left'>
<tbody>
<row>
<entry><code>name</code></entry>
<entry>Specifies a unique name for the filter, allowing it to be identified by application code.</entry>
</row>
<row>
<entry><code>filter_type</code></entry>
<entry>Specifies the type of filter.</entry>
</row>
<row>
<entry><code>create_opts_fn</code></entry>
<entry>Optional pointer to a function that allocates and initializes <code>struct bu_opt_desc</code> data and an opaque pointer for storing the option data. If non-<code>NULL</code>, <code>free_opts_fn</code> must also be specified. This member is private for use by libgcv and the associated plugin.
</entry>
</row>
<row>
<entry><code>free_opts_fn</code></entry>
<entry>Optional pointer to a function that frees any opaque pointer allocated by <code>create_opts_fn</code>. This member is private for use by libgcv and the associated plugin.</entry>
</row>
<row>
<entry><code>filter_fn</code></entry>
<entry>Pointer to a function which performs the filter operation. The <code>db_i</code> passed to a writer function within a <code>gcv_context</code> is marked read-only (the pointer is to a non-<code>const</code> struct due to in-memory data that may be modified). Filters of type <code>GCV_FILTER_FILTER</code> receive a <code>NULL</code> value for <code>target</code>. Must return <code>1</code> on success and <code>0</code> on failure. This member is private for use by libgcv and the associated plugin.
</entry>
</row>
</tbody>
</tgroup>
</table>
<para>
As shown in the above table, filters may initialize data structures for processing command-line style option strings via <code>bu_opt</code>. Please refer to <code>include/bu/opt.h</code> for full documentation on the <code>bu_opt</code> API.
</para>
<section>
<title>Utility Functions</title>
<para>
In addition to availability of the rest of the BRL-CAD API, the Geometry Conversion Library provides a number of utility functions that may be useful during plugin development.
</para>
<table frame='none'>
<title>GCV utility functions</title>
<tgroup cols='2' align='left'>
<tbody>
<row>
<entry><code>gcv_bot_is_solid()</code>, <code>gcv_bot_is_closed()</code>, <code>gcv_bot_is_orientable()</code></entry>
<entry>Performs topological tests for determining whether a given triangular mesh is a manifold, orientable, closed fan satisfying requisite conditions for object solidity. <code>gcv_bot_is_solid()</code> is equivalent to <code>gcv_bot_is_closed &amp;&amp; gcv_bot_is_orientable()</code></entry>
</row>
<row>
<entry><code>gcv_facetize()</code></entry>
<entry>Produces a triangular mesh tessellation of the object at the given database path using the specified tolerances. Note that if the object at the given path is a combination, a single mesh will be produced from all objects within its tree, and so calling gcv_facetize() on a tree unnecessarily high in the hierarchy and containing many objects is more likely to fail during Boolean evaluation.
</entry>
</row>
</tbody>
</tgroup>
</table>
<para>
There are also many relevant functions provided by the BRL-CAD API, including a new mesh decimation function.
</para>
<table frame='none'>
<title>BRL-CAD mesh decimation API</title>
<tgroup cols='2' align='left'>
<tbody>
<row>
<entry><code>rt_bot_decimate_gct()</code></entry>
<entry>Fast implementation of an iterative mesh decimation algorithm.</entry>
</row>
</tbody>
</tgroup>
</table>
</section>
</section>
<section>
<title>Developing a Minimal Plugin</title>
<section>
<title>Basic Code</title>
<para>
The following steps will implement a minimal plugin providing a reader filter.
</para>
<orderedlist>
<listitem>
<para>
Add the following line to <literal>misc/mime_cad.types</literal>. This file is used to generate <literal>include/bu/mime.h</literal>:
</para>
<programlisting>
model/foo bar
</programlisting>
<para>
This will associate the file extension <literal>.bar</literal> with a new <code>BU_MIME_MODEL_FOO</code> value of <code>bu_mime_model_t</code>.
</para>
</listitem>
<listitem>
<para>
Create the following file at <literal>src/libgcv/plugins/foo/CMakeLists.txt</literal>:
</para>
<example>
<title>CMakeLists.txt</title>
<programlisting>
LIBGCV_ADD_PLUGIN(foo "foo_read.c" "librt;libbu")
</programlisting>
</example>
</listitem>
<listitem>
<para>
Create the following file at <literal>src/libgcv/plugins/foo/foo_read.c</literal>:
</para>
<example>
<title>foo_read.c</title>
<para>
TODO: embedded code
</para>
</example>
</listitem>
</orderedlist>
</section>
<section>
<title>Traversing the Database</title>
<para>
BRL-CAD provides the <code>db_walk_tree()</code> function for traversing the database in hierarchical order. You can specify your own visitor callbacks as documented in <literal>include/rt/tree.h</literal>, or use the region-end functions provided by GCV (<literal>include/gcv/util.h</literal>) to tessellate geometry at the region level.
</para>
<table frame='none'>
<title>GCV region-end tessellation callbacks</title>
<tgroup cols='2' align='left'>
<tbody>
<row>
<entry><code>gcv_region_end()</code></entry>
<entry>Apply Boolean evaluation to region-level tessellated meshes using the default NMG Boolean evaluator, replacing each region-level node and its subtree of tessellated leaf meshes with a single BoT structure that is then passed to the specified callback. The <code>client_data</code> pointer should point to a <code>struct gcv_region_end_data</code>. The individual leaf nodes must already be tessellated into BoTs. This can be done by specifying a <code>leaf_func</code> such as <code>nmg_booltree_leaf_tess()</code>. In the case of failure, an error message is emitted via <code>bu_log()</code> and the callback is not invoked. Any use of <code>bu_bomb()</code> produced by the callback is trapped and an error message is displayed while continuing the tree walk.</entry>
</row>
<row>
<entry><code>gcv_bottess_region_end()</code></entry>
<entry>Boolean evaluator roughly based on UnBBoolean's j3dbool (and associated papers). Does not take a callback.</entry>
</row>
<row>
<entry><code>gcv_region_end_mc()</code></entry>
<entry>Experimental variant of <code>gcv_region_end()</code> based on the marching-cubes algorithm. Tessellates leaves internally and does not require a <code>leaf_func</code>.
</entry>
</row>
</tbody>
</tgroup>
</table>
<para>
The following example implements a filter that tessellates all geometry into BoT mesh objects and counts the total number of faces.
</para>
<example>
<title>tessellation_statistics.c</title>
<para>
TODO: embedded code
</para>
</example>
</section>
<section>
<title>Converting Unsupported Entities</title>
<para>
Although BRL-CAD supports a wide array of common geometric primitives, you may encounter objects that can't be directly imported or exported into an analogous entity. In these cases, conversion filters usually tessellate the incompatible geometry (typically during export) or convert it into an approximation or a composite of several other primitives (often during import).
</para>
<figure>
<title>Tessellation of incompatible entities</title>
<mediaobject>
<imageobject>
<imagedata fileref="../../articles/en/images/gcv_unsupported_tessellation.png"/>
</imageobject>
</mediaobject>
</figure>
</section>
<section>
<title>Comparing Geometry</title>
<para>
When developing a filter, it is often useful to be able to compare different models during testing. This capability is provided by the <literal>gdiff</literal> tool. There are two versions of <literal>gdiff</literal>: the standalone command-line version and the <literal>gdiff</literal> provided within the MGED interface.
</para>
<para>
The command-line <literal>gdiff</literal> quickly produces a textual summary for a two- or three- way diff of several BRL-CAD databases. Documentation for this utility is available under <code>brlman gdiff</code>.
</para>
<para>
The <literal>gdiff</literal> command available within the MGED interface provides a different capability. It uses BRL-CAD's ray tracer to produce a visual display of the differences between two objects within the same database. To compare geometry from separate databases, you can first merge the databases using the <literal>dbconcat</literal> command from within MGED. See <code>brlman dbconcat</code> for full documentation.
</para>
<table frame='none'>
<title>Usage of MGED's gdiff utility</title>
<tgroup cols='2' align='left'>
<thead>
<row>
<entry>Usage:</entry>
<entry><code>gdiff [OPTION]... obj1 obj2</code></entry>
</row>
</thead>
<tbody>
<row>
<entry><literal>--tol=#</literal>, <literal>-t#</literal></entry>
<entry>Tolerance in millimeters.</entry>
</row>
<row>
<entry><literal>--ray-diff</literal>, <literal>-R</literal></entry>
<entry>Test for differences with raytracing.</entry>
</row>
<row>
<entry><literal>--view-left</literal>, <literal>-l</literal></entry>
<entry>Visualize volumes added only by left object.</entry>
</row>
<row>
<entry><literal>--view-both</literal>, <literal>-b</literal></entry>
<entry>Visualize volumes common to both objects.</entry>
</row>
<row>
<entry><literal>--view-right</literal>, <literal>-r</literal></entry>
<entry>Visualize volumes added only by right object.</entry>
</row>
<row>
<entry><literal>--grazing</literal>, <literal>-G</literal></entry>
<entry>Report differences in grazing hits (raytracing mode).</entry>
</row>
</tbody>
</tgroup>
</table>
<figure>
<title>Using MGED's gdiff utility</title>
<mediaobject>
<imageobject>
<imagedata fileref="../../articles/en/images/gcv_using_gdiff.png"/>
</imageobject>
</mediaobject>
</figure>
</section>
<section>
<title>Creating Unit Tests</title>
<para>
BRL-CAD provides a library of standard models that may be used for unit tests, located under <literal>$BRLCAD_ROOT/share/db/</literal> (note that these files are generated during the build process). Unit tests can be integrated into the build system using the <code>add_test</code> CMake command.
</para>
</section>
</section>
<section>
<title>Example: Extending an Application</title>
<para>
The following example will leverage the filter in the above plugin example, <literal>tessellation_statistics.c</literal>, to implement a function that counts the number of faces in a model after tessellation.
</para>
<example>
<title>gcv_embedded.c</title>
<para>
TODO: embedded code
</para>
</example>
</section>
<section>
<title>The GCV Frontend</title>
<para>
GCV includes a command-line front-end utility, <literal>gcv</literal>, implemented in <literal>src/conv/gcv/gcv.c</literal>. Full documentation is available under <code>brlman gcv</code> and <code>gcv --help</code>.
</para>
<example>
<title>Basic usage of the gcv utility</title>
<screen>
$ <userinput>gcv --input=a.stl --output=b.fg4</userinput>
Input file format: BU_MIME_MODEL_STL
Output file format: BU_MIME_MODEL_VND_FASTGEN
Input file path: a.stl
Output file path: b.fg4
Converting Part: all_cpu_cpw6_cw_cpubox_cpubox.a
Using solid name: s.all_cpu_cpw6_cw_cpubox_cpubox.a
Making region (all_cpu_cpw6_cw_cpubox_cpubox.a)
...
</screen>
</example>
<example>
<title>Generic options</title>
<screen>
$ <userinput>gcv --input=a.fg4 --output=b.vrml --input-and-output-opts --verbosity=1 --output-only-opts --objects=comp_0001.r</userinput>
</screen>
</example>
<example>
<title>Filter-specific options</title>
<screen>
$ <userinput>gcv --input=a.fg4 --output=b.obj --input-only-opts --colors=a.fg4.colors --output-only-opts --vertex-normals</userinput>
</screen>
</example>
<example>
<title>Specifying conversion formats</title>
<screen>
$ <userinput>gcv --input=infile.txt --output=outfile.obj --input-format=stl</userinput>
</screen>
</example>
</section>
<section>
<title>Conversion Filters</title>
<para>
GCV currently contains support for import and export into five model formats, detailed below.
</para>
<table frame='none'>
<title>Conversion formats supported by GCV</title>
<tgroup cols='2' align='left'>
<thead>
<row>
<entry>Format</entry>
<entry>File Extension</entry>
</row>
</thead>
<tbody>
<row>
<entry>BRL-CAD</entry>
<entry><literal>.g</literal></entry>
</row>
<row>
<entry>FASTGEN4</entry>
<entry><literal>.fg4</literal></entry>
</row>
<row>
<entry>WaveFront Object</entry>
<entry><literal>.obj</literal></entry>
</row>
<row>
<entry>StereoLithography</entry>
<entry><literal>.stl</literal></entry>
</row>
<row>
<entry>Virtual Reality Modeling Language</entry>
<entry><literal>.vrml</literal></entry>
</row>
</tbody>
</tgroup>
</table>
<section>
<title>Common Conversion Options</title>
<para>
The <code>gcv_opts</code> struct stores generic options applying to many filters, detailed below. Not all options may be applicable to or respected by every filter.
</para>
<table frame='none'>
<title>Conversion formats supported by GCV</title>
<tgroup cols='2' align='left'>
<tbody>
<row>
<entry><code>debug_mode</code></entry>
<entry>Print debugging info if set to <code>1</code>. Default is <code>0</code>.</entry>
</row>
<row>
<entry><code>verbosity_level</code></entry>
<entry>Verbosity level. The default, level <code>0</code>, is "quiet" (only error messages are produced).</entry>
</row>
<row>
<entry><code>scale_factor</code></entry>
<entry>Specify the scale factor to be applied during import or export, as units per mm. Default is <code>1.0</code>.</entry>
</row>
<row>
<entry><code>calculational_tolerance</code></entry>
<entry>Calculational tolerance. Defaults to the RT defaults. If you use a non-default value, you should set the ray tracer tolerance to match it when using the resulting model.</entry>
</row>
<row>
<entry><code>tessellation_tolerance</code></entry>
<entry>
Tessellation tolerance. The default value is:
<para>
<literal>abs = 0.0</literal>
</para>
<para>
<literal>rel = 1.0e-2</literal>
</para>
<para>
<literal>norm = 0.0</literal>
</para>
</entry>
</row>
<row>
<entry><code>tessellation_algorithm</code></entry>
<entry>Specify use of either the default, marching-cubes, or bottess-based tessellation algorithm.</entry>
</row>
<row>
<entry><code>max_cpus</code></entry>
<entry>Maximum number of processors to utilize where possible. Default is <code>0</code>, specifying the maximum available during execution.</entry>
</row>
<row>
<entry><code>num_objects</code></entry>
<entry>Number of objects to convert. If <code>0</code> (the default), all top-level objects will be converted.</entry>
</row>
<row>
<entry><code>object_names</code></entry>
<entry>Names of objects to convert (must have <code>num_objects</code> elements). Default is <code>NULL</code>.</entry>
</row>
<row>
<entry><code>default_name</code></entry>
<entry>Name assigned to objects without names. Defaults to "<code>unnamed</code>".</entry>
</row>
<row>
<entry><code>bu_debug_flag</code></entry>
<entry>Debug flag for libbu (see <code>include/bu/debug.h</code>), applied via bitwise-OR with the original value. The original debug flag will be restored after conversion. Defaults to <code>0</code>.</entry>
</row>
<row>
<entry><code>rt_debug_flag</code></entry>
<entry>Debug flag for librt (see <code>include/rt/debug.h</code>), applied via bitwise-OR with the original value. The original debug flag will be restored after conversion. Defaults to <code>0</code>.</entry>
</row>
<row>
<entry><code>nmg_debug_flag</code></entry>
<entry>Debug flag for libnmg (see <code>include/nmg.h</code>), applied via bitwise-OR with the original value. The original debug flag will be restored after conversion. Defaults to <code>0</code>.</entry>
</row>
</tbody>
</tgroup>
</table>
<example>
<title>Using struct gcv_opts</title>
<programlisting>
static int
apply_filter_with_options(struct gcv_context *context, const struct gcv_filter *filter, const char *target)
{
struct gcv_opts options;
const char *argv[] = { "--colors=colors.dat", "--continue" };
const size_t argc = sizeof(argv) / sizeof(argv[0]);
gcv_opts_default(&amp;options);
options->debug_mode = 1;
return gcv_execute(context, filter, &amp;options, argc, argv, target);
}
</programlisting>
</example>
</section>
<section>
<title>FASTGEN4 Reader</title>
<table frame='none'>
<title>FASTGEN4 reader options</title>
<tgroup cols='2' align='left'>
<tbody>
<row>
<entry><literal>--colors=<replaceable>path</replaceable></literal></entry>
<entry>Path to a file specifying component colors.</entry>
</row>
<row>
<entry><literal>--muves=<replaceable>path</replaceable></literal></entry>
<entry>Create a MUVES input file containing any CHGCOMP and CBACKING components.</entry>
</row>
<row>
<entry><literal>--plot=<replaceable>path</replaceable></literal></entry>
<entry>Create a libplot3 plot file of all CTRI and CQUAD elements processed.</entry>
</row>
<row>
<entry><literal>--sections=<replaceable>list</replaceable></literal></entry>
<entry>Process only a list ("<literal>3001, 4082, 5347</literal>") or a range ("<literal>2315 - 3527</literal>") of section IDs.</entry>
</row>
</tbody>
</tgroup>
</table>
</section>
<section>
<title>FASTGEN4 Writer</title>
<para>
At this time, the FASTGEN4 writer plugin does not make use of any filter-specific options.
</para>
</section>
<section>
<title>OBJ Reader</title>
<table frame='none'>
<title>OBJ reader options</title>
<tgroup cols='2' align='left'>
<tbody>
<row>
<entry><literal>--continue</literal></entry>
<entry>Continue processing on nmg-bomb. Conversion will fall back to native BoT mode if a fatal error occurs when using the nmg or BoT-via-nmg modes.</entry>
</row>
<row>
<entry><literal>--fuse-vertices</literal></entry>
<entry>Fuse vertices that are near enough to be considered identical. Can make the solidity detection more reliable, but may significantly increase processing time during the conversion.</entry>
</row>
<row>
<entry><literal>--grouping=<replaceable>mode</replaceable></literal></entry>
<entry>
Select which OBJ face grouping is used to create BRL-CAD primitives.
<para>
<literal>group</literal> = group (default)
</para>
<para>
<literal>material</literal> = material
</para>
<para>
<literal>none</literal> = none
</para>
<para>
<literal>object</literal> = object
</para>
<para>
<literal>texture</literal> = texture
</para>
</entry>
</row>
<row>
<entry><literal>--conversion-mode=<replaceable>mode</replaceable></literal></entry>
<entry>
Select the conversion mode.
<para>
<literal>bot</literal> = native BoT (default)
</para>
<para>
<literal>nmg</literal> = NMG
</para>
<para>
<literal>nmgbot</literal> = BoT via NMG
</para>
</entry>
</row>
<row>
<entry><literal>--bot-plate-thickness=<replaceable>thickness</replaceable></literal></entry>
<entry>Thickness (mm) used when a BoT is not a closed volume and it's converted as a plate or plate-nocos BoT.</entry>
</row>
<row>
<entry><literal>--bot-ignore-normals</literal></entry>
<entry>Ignore the normals defined in the input file when using native BoT conversion mode.</entry>
</row>
<row>
<entry><literal>--bot-open-type=<replaceable>type</replaceable></literal></entry>
<entry>
Select the type used for BoTs that aren't closed volumes.
<para>
<literal>surface</literal> = surface (default)
</para>
<para>
<literal>plate</literal> = plate
</para>
<para>
<literal>nocos</literal> = plate-nocos
</para>
</entry>
</row>
<row>
<entry><literal>--bot-plot</literal></entry>
<entry>Creates a plot/overlay (<literal>.plot3</literal>) file of open edges for BoTs that aren't closed volumes. <literal><replaceable>bot_name</replaceable>.plot3</literal> will be created in the current directory and will overwrite any existing file with the same name.</entry>
</row>
<row>
<entry><literal>--bot-orientation=<replaceable>mode</replaceable></literal></entry>
<entry>
Select the BoT orientation mode.
<para>
<literal>unoriented</literal> = unoriented (default)
</para>
<para>
<literal>ccw</literal> = counterclockwise
</para>
<para>
<literal>cw</literal> = clockwise
</para>
</entry>
</row>
</tbody>
</tgroup>
</table>
</section>
<section>
<title>OBJ Writer</title>
<table frame='none'>
<title>OBJ writer options</title>
<tgroup cols='2' align='left'>
<tbody>
<row>
<entry><literal>--vertex-normals</literal></entry>
<entry>Output vertex normals.</entry>
</row>
<row>
<entry><literal>--usemtl</literal></entry>
<entry>Place <literal>usemtl</literal> statements in the output file. These statements are fictional (they do not refer to any material database). The materials named provide information about the material codes assigned to the objects in the BRL-CAD database. The material names will be of the form "<literal><replaceable>aircode</replaceable>_<replaceable>los</replaceable>_<replaceable>material</replaceable></literal>", where <replaceable>aircode</replaceable> is the code number for the air represented by that region, if it does represent air; otherwise, this will be <literal>0</literal>. The <replaceable>los</replaceable> is the Line Of Sight thickness (<literal>0</literal> to <literal>100</literal>) assigned to the region, and <replaceable>material</replaceable> is the material code number assigned.
</entry>
</row>
</tbody>
</tgroup>
</table>
</section>
<section>
<title>STL Reader</title>
<table frame='none'>
<title>STL reader options</title>
<tgroup cols='2' align='left'>
<tbody>
<row>
<entry><literal>--binary</literal></entry>
<entry>Specify that the input file is in binary STL format (the default assumes ASCII).</entry>
</row>
<row>
<entry><literal>--starting-ident=<replaceable>number</replaceable></literal></entry>
<entry>Specify the starting ident for the regions created. The default is <literal>1000</literal>. This number will be incremented for each region, unless <literal>--constant-ident</literal> is specified.</entry>
</row>
<row>
<entry><literal>--constant-ident</literal></entry>
<entry>Specify that the starting ident should remain constant.</entry>
</row>
<row>
<entry><literal>--material=<replaceable>code</replaceable></literal></entry>
<entry>Specify the material code that will be assigned to all created regions (the default is <literal>1</literal>).</entry>
</row>
</tbody>
</tgroup>
</table>
</section>
<section>
<title>STL Writer</title>
<table frame='none'>
<title>STL writer options</title>
<tgroup cols='2' align='left'>
<tbody>
<row>
<entry><literal>--binary</literal></entry>
<entry>Write output as a binary STL file. The default is ASCII. In the case of ASCII output, the region name is specified on the "solid" line of the STL file. In the case of binary output, all the regions are output as a single STL part.</entry>
</row>
<row>
<entry><literal>--output-dir</literal></entry>
<entry>Specify that the output path should be a directory. Each region converted is written to a separate file. File names are constructed from the full path names of each region (the path from the specified object to the region). Any "<literal>/</literal>" characters in the path name are replaced by "<literal>@</literal>" characters and "<literal>.</literal>" and white space are replaced by "<literal>_</literal>" characters.
</entry>
</row>
</tbody>
</tgroup>
</table>
</section>
<section>
<title>VRML Reader</title>
<para>
At this time, the VRML reader plugin does not make use of any filter-specific options.
</para>
</section>
<section>
<title>VRML Writer</title>
<table frame='none'>
<title>VRML writer options</title>
<tgroup cols='2' align='left'>
<tbody>
<row>
<entry><literal>--bot-dump</literal></entry>
<entry>BoT dump. Mutually exclusive with <literal>--evaluate-all</literal>.</entry>
</row>
<row>
<entry><literal>--evaluate-all</literal></entry>
<entry>Evaluate all, CSG and BoTs. Mutually exclusive with <literal>--bot-dump</literal>.</entry>
</row>
</tbody>
</tgroup>
</table>
</section>
</section>
</article>
File diff suppressed because it is too large Load Diff
Binary file not shown.

Before

Width:  |  Height:  |  Size: 145 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 67 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.
Binary file not shown.

Before

Width:  |  Height:  |  Size: 48 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 363 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 58 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 190 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 581 B

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