Compare commits

...
631 Commits
Author SHA1 Message Date
Clifford Yapp 0830f9a775 key files from this branch are in libpc and misc/CMake in trunk - remove branch. (svn branch delete)
svn:revision:68287
svn:branch:gecode
svn:account:starseeker
2016-07-13 23:33:20 +00:00
Clifford Yapp 1ce0af8cfd Sync with trunk thru r68281
svn:revision:68282
svn:branch:gecode
svn:account:starseeker
2016-07-13 22:27:07 +00:00
Clifford Yapp fc00a226bb checkpoint.
svn:revision:68266
svn:branch:trunk
svn:account:starseeker
2016-07-13 18:51:04 +00:00
Clifford Yapp bdecd44f8b Update revision reference in README
svn:revision:68256
svn:branch:trunk
svn:account:starseeker
2016-07-12 16:14:11 +00:00
Clifford Yapp 3f144ccea7 Whoops - copied readme instead of LICENSE.txt - fix.
svn:revision:68255
svn:branch:trunk
svn:account:starseeker
2016-07-12 16:12:31 +00:00
Clifford Yapp 372e40450c Update astyle to r503 from svn
svn:revision:68254
svn:branch:trunk
svn:account:starseeker
2016-07-12 16:10:36 +00:00
Jonathan Engbert d53453aaff add 'const'
svn:revision:68252
svn:branch:trunk
svn:account:ejno
2016-07-12 14:04:43 +00:00
Clifford Yapp 1533c55bb7 random color option existed earlier in 3dm-g - has been preserved in the new setup, but not new.
svn:revision:68249
svn:branch:trunk
svn:account:starseeker
2016-07-11 20:29:04 +00:00
Jonathan Engbert fe8137e71c add NEWS for features that were not announced for previous releases
svn:revision:68248
svn:branch:trunk
svn:account:ejno
2016-07-11 13:45:13 +00:00
Christopher Sean Morrison ebc5f471f6 make sure status is initialized for the case where gui is enabled, but compiled without MAN_GUI (an there's an exit handler). llvm-detected.
svn:revision:68247
svn:branch:trunk
svn:account:brlcad
2016-07-11 03:28:51 +00:00
Clifford Yapp 8fedcb0c13 duh - BUILD_TYPE, not BUILD_DIR
svn:revision:68246
svn:branch:trunk
svn:account:starseeker
2016-07-10 17:18:27 +00:00
Clifford Yapp 8a527b153c Give this a try for 3dm-g building.
svn:revision:68245
svn:branch:trunk
svn:account:starseeker
2016-07-10 17:07:20 +00:00
Christopher Sean Morrison 7aa45470c7 openmesh licensing is now trivial to work with. consider for mesh processing.
svn:revision:68244
svn:branch:trunk
svn:account:brlcad
2016-07-10 02:29:09 +00:00
Christopher Sean Morrison 59db43fb4e check pixembed too per r64202
svn:revision:68243
svn:branch:trunk
svn:account:brlcad
2016-07-09 04:52:08 +00:00
Christopher Sean Morrison e36e27616d carl's commit in r65699 looked clearly wrong in the fseek, but unclear on quick review whether the yindex adjustment is correct or not. schedule bwcrop for testing, but deeming not release-critical.
svn:revision:68242
svn:branch:trunk
svn:account:brlcad
2016-07-09 04:50:18 +00:00
Christopher Sean Morrison 4d0f648c27 keith improved the performance of wireframes in both mged and archer, particularly when using display lists, where it was building the lists 5 times. now it only builds the lists as needed. main commit is 64326.
svn:revision:68241
svn:branch:trunk
svn:account:brlcad
2016-07-09 04:43:27 +00:00
Christopher Sean Morrison 239ebdfea6 nick improved the help string but also make saveview not dump out scripts pointing to a non-existent temp working database. now sometime valid, valid by default, instead of always inavlid (when run from archer).
svn:revision:68240
svn:branch:trunk
svn:account:brlcad
2016-07-09 04:38:29 +00:00
Christopher Sean Morrison 50e27a1164 need to refactor as it is a common problem category unaddressed.
svn:revision:68239
svn:branch:trunk
svn:account:brlcad
2016-07-09 04:34:10 +00:00
Christopher Sean Morrison 994003b577 support for joints was implemented during the 2014 summer offsite and aftwarwards by several hands. still in a preliminary dev state, but worth mentioning as it was substantial effort and is usable for limited editing purposes. more important to let community know this is an area of work
svn:revision:68238
svn:branch:trunk
svn:account:brlcad
2016-07-09 04:28:37 +00:00
Jonathan Engbert c31151e3bc update NEWS: names, layers, and random color support existed in the previous release although they have changed slightly; add item for mesh objects
svn:revision:68235
svn:branch:trunk
svn:account:ejno
2016-07-07 19:20:28 +00:00
Jonathan Engbert f6f82920be update TODO: the 61529 performance improvement only affected a 7.26 dev version; the texture import work was WIP and isn't yet merged into libgcv
svn:revision:68234
svn:branch:trunk
svn:account:ejno
2016-07-07 19:00:07 +00:00
Jonathan Engbert 622c08c5b7 fix
svn:revision:68233
svn:branch:trunk
svn:account:ejno
2016-07-05 19:05:34 +00:00
Jonathan Engbert 9b665d90c0 use std::vector constructor and std::copy() for performance and simplicity
svn:revision:68232
svn:branch:trunk
svn:account:ejno
2016-07-05 18:52:58 +00:00
Christopher Sean Morrison 712bf8e231 considerably expanded usage
svn:revision:68231
svn:branch:trunk
svn:account:brlcad
2016-07-04 04:46:21 +00:00
Christopher Sean Morrison bb76d91e7b need to announce the new doc
svn:revision:68230
svn:branch:trunk
svn:account:brlcad
2016-07-04 04:44:26 +00:00
Christopher Sean Morrison 067040dc3a most obsoletion actions are user-vis, even if announced however long ago. the deprecation is often user vis too, but punt that to a less ginormous release, trusting our review process.
svn:revision:68229
svn:branch:trunk
svn:account:brlcad
2016-07-04 04:42:30 +00:00
Christopher Sean Morrison 8a6a5c9c90 cliff did the final elimination of make_bb, replaced with bb command... need to cross-check other CHANGES obsoletions as most are user-vis.
svn:revision:68228
svn:branch:trunk
svn:account:brlcad
2016-07-04 04:40:51 +00:00
Christopher Sean Morrison 450a580bed 61529 may be user vis, maybe not. need to ask jon.
svn:revision:68227
svn:branch:trunk
svn:account:brlcad
2016-07-04 04:31:25 +00:00
Christopher Sean Morrison c9162722c1 61507 added support to 3dm-g for importing texture data too, but need to ask jon if it's working well enough.
svn:revision:68226
svn:branch:trunk
svn:account:brlcad
2016-07-04 04:29:23 +00:00
Christopher Sean Morrison 81a94faea1 jon also improved 3dm-g with support for importing layers, setting random colors on objects, and cleaning up object names on import.
svn:revision:68225
svn:branch:trunk
svn:account:brlcad
2016-07-04 04:26:06 +00:00
Christopher Sean Morrison 29aec44b57 jon added support for importing instance reference and instance definitions (thus improving hierarchy import support, already mentioned in another NEWS line, but more specifically importing a category of objects previously ignored
svn:revision:68224
svn:branch:trunk
svn:account:brlcad
2016-07-04 04:23:08 +00:00
Christopher Sean Morrison 907b00591c 61168 added a -param to search, needs NEWS mention (has docbook/man mention already)
svn:revision:68223
svn:branch:trunk
svn:account:brlcad
2016-07-04 04:18:07 +00:00
Christopher Sean Morrison f13dca80dd note the deprecation removals in 61110, cliff removed mged -n (same as -c) and renamed the gtools (gqa, gdiff, glint, gtransfer) without an underscore
svn:revision:68222
svn:branch:trunk
svn:account:brlcad
2016-07-04 04:16:04 +00:00
Christopher Sean Morrison 12b634f2ec don't ignore a null avs container argument. silently returning on a null avsp when given a non-null data to be added means we can't do what the caller asked. they probably have something seriously horked, so let it bomb on just that case.
svn:revision:68221
svn:branch:trunk
svn:account:brlcad
2016-07-04 04:08:32 +00:00
Christopher Sean Morrison d77f995f01 ditto contribution for yatharh agarwal (probably can combine news into one line)
svn:revision:68220
svn:branch:trunk
svn:account:brlcad
2016-07-04 03:40:59 +00:00
Christopher Sean Morrison f376845359 no mention of david wood in AUTHORS yet commit metnions him. need to verify.
svn:revision:68219
svn:branch:trunk
svn:account:brlcad
2016-07-04 03:38:57 +00:00
Christopher Sean Morrison 9f8116ce5e 58475 might need authors if user identified the problem with enough specificity that they essentially pinpointed the fix, otherwise doesn't need docs
svn:revision:68218
svn:branch:trunk
svn:account:brlcad
2016-07-04 03:24:48 +00:00
Jonathan Engbert 240fce0d40 call plugin_info() just once on plugin load
svn:revision:68217
svn:branch:trunk
svn:account:ejno
2016-07-01 14:30:37 +00:00
Clifford Yapp 05be376148 Untested as yet on Windows or with distcheck-full, but try to set up the run of 3dm-g with BRLCAD_ROOT set to the build directory so we don't attempt to pull in obsolete (or non-existing) GCV plugins during 3dm-g execution. This is a brute-force solution wrapping a script around the running of the executable - if we have to do this more generally we'll want one script with arguments instead of a per-target scripting setup. For now, go with the direct solution to try to alleviate the build problem many folks are having.
svn:revision:68216
svn:branch:trunk
svn:account:starseeker
2016-06-30 23:19:29 +00:00
Jonathan Engbert 06db87440b make the existing const cast of localsurf more visible
svn:revision:68215
svn:branch:trunk
svn:account:ejno
2016-06-30 19:38:57 +00:00
Jonathan Engbert f42fbedd4b add 'const'
svn:revision:68214
svn:branch:trunk
svn:account:ejno
2016-06-30 16:04:15 +00:00
Christopher Sean Morrison d2860bd18b nick says he probably tested it.
svn:revision:68213
svn:branch:trunk
svn:account:brlcad
2016-06-29 22:53:18 +00:00
Christopher Sean Morrison 6e75722c1f remove dead code
svn:revision:68212
svn:branch:trunk
svn:account:brlcad
2016-06-29 22:45:38 +00:00
Christopher Sean Morrison c9fc8682da need API to return actual color-in-context so override colors are reported and handled correctly
svn:revision:68211
svn:branch:trunk
svn:account:brlcad
2016-06-29 22:36:53 +00:00
Christopher Sean Morrison 68c6e60ac2 daniel fixed db_lookup bug, unquantified but real user-visible impact.
svn:revision:68210
svn:branch:trunk
svn:account:brlcad
2016-06-29 22:07:04 +00:00
Christopher Sean Morrison 6055995763 gen-registered-attributes-html should get integrated with the doc work
svn:revision:68209
svn:branch:trunk
svn:account:brlcad
2016-06-29 22:01:24 +00:00
Christopher Sean Morrison 062259d255 tom made changes in 58415 and a few other commits the propagated case insensitive attribute name handling. pretty major behavior change worthy of mention, but also a quick test to make sure it is indeed insensitive for any attributes or just ours
svn:revision:68208
svn:branch:trunk
svn:account:brlcad
2016-06-29 22:00:29 +00:00
Jonathan Engbert fa7fa22e1a add 'const'; ws
svn:revision:68207
svn:branch:trunk
svn:account:ejno
2016-06-29 21:54:21 +00:00
Christopher Sean Morrison 3bd6c4f7d2 update astyle needed
svn:revision:68206
svn:branch:trunk
svn:account:brlcad
2016-06-29 21:53:50 +00:00
Christopher Sean Morrison a458db1163 tom added a ton of detail in 58325 on timestamping and overall formatting cleanup
svn:revision:68205
svn:branch:trunk
svn:account:brlcad
2016-06-29 21:50:12 +00:00
Christopher Sean Morrison 9d5bdfbe13 fixed bug but dont know which, if it's news-item worthy, can go on any release after 7.24.0 as appropriate
svn:revision:68204
svn:branch:trunk
svn:account:brlcad
2016-06-29 21:44:42 +00:00
Christopher Sean Morrison 0672817434 screwy change in 58189, needs another pair of eyes
svn:revision:68203
svn:branch:trunk
svn:account:brlcad
2016-06-29 21:25:56 +00:00
Christopher Sean Morrison fadbd1d32a search docs improved
svn:revision:68202
svn:branch:trunk
svn:account:brlcad
2016-06-29 21:08:22 +00:00
Christopher Sean Morrison 2e5892c69f nick fixed archer flashing and improved window positioning
svn:revision:68201
svn:branch:trunk
svn:account:brlcad
2016-06-29 21:07:30 +00:00
Christopher Sean Morrison 9125fa75ef this needs a recheck to make sure it's correct changes, and a quick news entry if it's okay
svn:revision:68200
svn:branch:trunk
svn:account:brlcad
2016-06-29 21:03:45 +00:00
Christopher Sean Morrison c565913df5 convert to libbu memory management
svn:revision:68199
svn:branch:trunk
svn:account:brlcad
2016-06-29 20:40:24 +00:00
Jonathan Engbert 2dc99766b7 add 'const'
svn:revision:68198
svn:branch:trunk
svn:account:ejno
2016-06-29 20:38:37 +00:00
Jonathan Engbert 49d5d89da4 use 'const'
svn:revision:68197
svn:branch:trunk
svn:account:ejno
2016-06-29 19:14:08 +00:00
Clifford Yapp e06eaf3311 Added additional NEWS items.
svn:revision:68196
svn:branch:trunk
svn:account:starseeker
2016-06-28 20:40:26 +00:00
Clifford Yapp a18387b513 Hitesh converted a number of documents to DocBook and generally improved doc infrastructure.
svn:revision:68195
svn:branch:trunk
svn:account:starseeker
2016-06-28 20:39:43 +00:00
Clifford Yapp a96d52ebc1 nick fixed killtree doc errors (-a, not -r flag, options are no-arg flags) and made the manpage more concise - r64992
svn:revision:68194
svn:branch:trunk
svn:account:starseeker
2016-06-28 20:35:35 +00:00
Clifford Yapp d9742efbcd Nick fixed saveview help string - r65003
svn:revision:68193
svn:branch:trunk
svn:account:starseeker
2016-06-28 20:33:06 +00:00
Clifford Yapp c5f91563dd Kalpit Thakkar added centroid, volume and surface area reporting for rhc primitives to the analyze command r65262,r65282
svn:revision:68192
svn:branch:trunk
svn:account:starseeker
2016-06-28 20:30:48 +00:00
Clifford Yapp 9349eadc6f openscad importer code is very preliminary, currently a NO_INSTALL executable. Not yet user visible.
svn:revision:68191
svn:branch:trunk
svn:account:starseeker
2016-06-28 20:20:57 +00:00
Jonathan Engbert 665eb9d0e1 remove unused and unset member (vdot) and make some members 'const'
svn:revision:68190
svn:branch:trunk
svn:account:ejno
2016-06-28 17:13:48 +00:00
Jonathan Engbert 1edf8e3f58 fix typo
svn:revision:68189
svn:branch:trunk
svn:account:ejno
2016-06-28 15:39:37 +00:00
Christopher Sean Morrison c1b1e5bd60 hitesh has done a fair bit with docs including the php extradocs output and the 64727 conversions .. definitely warrants some mention
svn:revision:68188
svn:branch:trunk
svn:account:brlcad
2016-06-28 04:49:32 +00:00
Christopher Sean Morrison ccfbd4fecf couple more potential news candidates
svn:revision:68187
svn:branch:trunk
svn:account:brlcad
2016-06-28 04:44:41 +00:00
Christopher Sean Morrison 0334aa7f50 kalpit added rhc analyze support too, needs news
svn:revision:68186
svn:branch:trunk
svn:account:brlcad
2016-06-28 04:33:25 +00:00
Christopher Sean Morrison 1d1f3843ca eliminate dead code
svn:revision:68185
svn:branch:trunk
svn:account:brlcad
2016-06-28 04:31:52 +00:00
Christopher Sean Morrison c134368422 openscad .csg conversion support needs mention in NEWS
svn:revision:68184
svn:branch:trunk
svn:account:brlcad
2016-06-28 04:23:35 +00:00
Christopher Sean Morrison b8978097ed 65699 looks wrong.
svn:revision:68183
svn:branch:trunk
svn:account:brlcad
2016-06-28 03:40:32 +00:00
Christopher Sean Morrison 2d6b7acaf9 avoid acquiring+releasing a semaphore every pass through. we might print the message more than once under race, but that's okay. it won't print incessantly like before because of a multi-increment before test.
svn:revision:68182
svn:branch:trunk
svn:account:brlcad
2016-06-28 03:30:21 +00:00
Christopher Sean Morrison 226df593a8 incorporate notes from a brief brainstorming session on perceived strengths. need to whittle this down to salient marketing points.
svn:revision:68181
svn:branch:trunk
svn:account:brlcad
2016-06-28 02:17:11 +00:00
Jonathan Engbert c6605a30bf add 'const' to members that aren't modified
svn:revision:68180
svn:branch:trunk
svn:account:ejno
2016-06-27 21:53:31 +00:00
Jonathan Engbert 673702de38 make m_children/m_trims_above pointers for portability
svn:revision:68179
svn:branch:trunk
svn:account:ejno
2016-06-27 20:09:09 +00:00
Jonathan Engbert e699fdb2ad prefer !std::list::empty() (std::list::size() can be O(n) in C++03)
svn:revision:68178
svn:branch:trunk
svn:account:ejno
2016-06-27 18:56:43 +00:00
Jonathan Engbert 3783610317 remove unnecessary dynamic_casts
svn:revision:68177
svn:branch:trunk
svn:account:ejno
2016-06-27 17:38:59 +00:00
Jonathan Engbert c263f71ffd remove unnecessary dynamic_casts
svn:revision:68176
svn:branch:trunk
svn:account:ejno
2016-06-27 17:08:24 +00:00
Jonathan Engbert 1a901c22f3 initialize members
svn:revision:68175
svn:branch:trunk
svn:account:ejno
2016-06-27 16:57:56 +00:00
Jonathan Engbert 7cb6e2b28a erase() invalidates i
svn:revision:68174
svn:branch:trunk
svn:account:ejno
2016-06-27 15:55:29 +00:00
Jonathan Engbert 3e5aac862c make *m_children non-pointer member
svn:revision:68173
svn:branch:trunk
svn:account:ejno
2016-06-27 15:49:26 +00:00
Jonathan Engbert c5576934a2 make *m_children and *m_trims_above non-pointers; use T.empty() rather than T.size() == 0 (for some C++03 implementations (G++), size() can be O(n) on some containers)
svn:revision:68172
svn:branch:trunk
svn:account:ejno
2016-06-27 15:26:40 +00:00
Jonathan Engbert 28f4b9453b disable default copy/assignment because BBNode and BRNode own pointers
svn:revision:68171
svn:branch:trunk
svn:account:ejno
2016-06-27 14:52:15 +00:00
Clifford Yapp 5e0f4a8f16 user reported changed behavior in -d and -s options - need to fix.
svn:revision:68170
svn:branch:trunk
svn:account:starseeker
2016-06-24 20:40:08 +00:00
Clifford Yapp 0ceeb11730 Keep the pattern increment after the loop since we reference pattern, but don't do the assignment to c unless we uncomment the bu_log that uses it. (caught by Sean)
svn:revision:68168
svn:branch:trunk
svn:account:starseeker
2016-06-23 21:25:51 +00:00
Clifford Yapp 2e513dbac7 Not only option undocumented, but apparently command undocumented. Add a man page for the lt command as well as NEWS items.
svn:revision:68167
svn:branch:trunk
svn:account:starseeker
2016-06-23 20:54:39 +00:00
Clifford Yapp 405817da72 lt looks like it should fold into search, given more powerful printing options.
svn:revision:68166
svn:branch:trunk
svn:account:starseeker
2016-06-23 20:33:11 +00:00
Clifford Yapp 1a1965e467 We will want to replace dbfind objname with ls */objname rather than search - for that particular option, search is too slow on large models to be a reasonable replacement. dbfind, knowing it is only out to look one level deep in combs, can do its specific check much faster than search because it can limit the set of 'full paths' to check - search's more general filters preclude such special-case optimizations. Fortunately, the ls command and globbing should offer another way to get at what we want.
svn:revision:68165
svn:branch:trunk
svn:account:starseeker
2016-06-23 20:28:26 +00:00
Clifford Yapp 258e31a58c librtserver documented in CHANGES
svn:revision:68164
svn:branch:trunk
svn:account:starseeker
2016-06-23 20:11:31 +00:00
Clifford Yapp df301cb94a Note removal of librtserver/JNI in CHANGES, remove librtserver mention from HACKING.
svn:revision:68163
svn:branch:trunk
svn:account:starseeker
2016-06-23 20:10:48 +00:00
Clifford Yapp 166612edfa Hide db_expand_str_glob inside libged's ged_glob and have mged call ged_glob instead. Avoids introducing db_expand_str_glob as public API at all, which is good since it's not the final form we would want for a db_glob function.
svn:revision:68162
svn:branch:trunk
svn:account:starseeker
2016-06-23 19:29:38 +00:00
Christopher Sean Morrison 92f0490397 objects seem to be defaulting to black .. can't see them.
svn:revision:68161
svn:branch:trunk
svn:account:brlcad
2016-06-23 17:26:49 +00:00
Christopher Sean Morrison c1974a737a generalize to libged
svn:revision:68160
svn:branch:trunk
svn:account:brlcad
2016-06-23 17:01:57 +00:00
Christopher Sean Morrison 283ddd0124 consolidate the libged/command-related tasks into the libged section
svn:revision:68159
svn:branch:trunk
svn:account:brlcad
2016-06-23 16:42:40 +00:00
Jonathan Engbert a3ae403bdd fix calculation of minimum length
svn:revision:68158
svn:branch:trunk
svn:account:ejno
2016-06-23 15:14:20 +00:00
Christopher Sean Morrison 5f12868089 NEWS mention for lt too
svn:revision:68157
svn:branch:trunk
svn:account:brlcad
2016-06-23 06:40:48 +00:00
Christopher Sean Morrison faa45d6eec lt command has a new option
svn:revision:68156
svn:branch:trunk
svn:account:brlcad
2016-06-23 06:40:22 +00:00
Christopher Sean Morrison fea130bd42 settle new API, use db_glob everywhere for consistency instead of the verbose current version
svn:revision:68155
svn:branch:trunk
svn:account:brlcad
2016-06-23 06:37:51 +00:00
Christopher Sean Morrison d6cddc450c no sense deferring rm command work beyone 2 releases
svn:revision:68154
svn:branch:trunk
svn:account:brlcad
2016-06-23 06:34:16 +00:00
Christopher Sean Morrison ecd3ea9662 revert c66571 as it is already provided by bu_realloc. also has no existing callers and no actual code (making the additional coypright statement complexity unnecessary too).
svn:revision:68153
svn:branch:trunk
svn:account:brlcad
2016-06-23 06:32:35 +00:00
Christopher Sean Morrison fb01bb16fc couple more backlog items
svn:revision:68152
svn:branch:trunk
svn:account:brlcad
2016-06-23 06:29:36 +00:00
Christopher Sean Morrison 1d3ae20bc6 simplify for release by consolidating in leu of fixing the name inconsistency. still uses the same cmake test.
svn:revision:68151
svn:branch:trunk
svn:account:brlcad
2016-06-23 05:52:21 +00:00
Christopher Sean Morrison cbb2eb4e6a looks like gdlp entries are initized via BU_ALLOC, so they should be paired with BU_FREE (or bu_free).
svn:revision:68150
svn:branch:trunk
svn:account:brlcad
2016-06-23 05:40:23 +00:00
Christopher Sean Morrison 172d43d9f8 nick fixed the screengrab command so that it consistently flips images as needed for output as first quadrant images. reportedly (in r66939) only affects non-ogl platforms.
svn:revision:68149
svn:branch:trunk
svn:account:brlcad
2016-06-23 05:26:07 +00:00
Clifford Yapp 9b981c6cd7 As long as we're not actually using the timestamp feature, an older CMake works.
svn:revision:68147
svn:branch:trunk
svn:account:starseeker
2016-06-22 18:15:52 +00:00
Nicholas Reed a72faddebb mark sync revisions as merged
svn:revision:68146
svn:branch:trunk
svn:account:n_reed
2016-06-22 18:07:21 +00:00
Nicholas Reed c19321cf46 merge trunk revisions r68034 through r68142
svn:revision:68145
svn:branch:brep-debug
svn:account:n_reed
2016-06-22 18:02:07 +00:00
Nicholas Reed b4450076b7 merge trunk revisions r67953 through r68033
svn:revision:68144
svn:branch:brep-debug
svn:account:n_reed
2016-06-22 17:54:38 +00:00
Jonathan Engbert fb223ea49e add missing includes for STL headers
svn:revision:68142
svn:branch:trunk
svn:account:ejno
2016-06-22 15:31:23 +00:00
Christopher Sean Morrison 6eb43a570b typo
svn:revision:68141
svn:branch:trunk
svn:account:brlcad
2016-06-22 14:56:25 +00:00
Clifford Yapp f710ed8280 Add burst termlib interface to deprecation announcements.
svn:revision:68139
svn:branch:trunk
svn:account:starseeker
2016-06-22 14:52:52 +00:00
Robert Parker 2f0ca15ab1 Set wflag if mHideSubtractions has changed.
svn:revision:68136
svn:branch:trunk
svn:account:bob1961
2016-06-21 13:00:42 +00:00
Robert Parker 17e7f5b0d9 Added a preference for hiding subtracted geometry.
svn:revision:68135
svn:branch:trunk
svn:account:bob1961
2016-06-21 12:36:00 +00:00
Robert Parker af81ddb0ba Expose the option to hide subtracted geometry in cadwidgets::Ged
svn:revision:68134
svn:branch:trunk
svn:account:bob1961
2016-06-21 12:33:07 +00:00
Vasco Alexandre da Silva Costa 4f661f7caf apply sf patch #446 from Param Hanji which implements part evaluation in opencl (with some changes by me).
svn:revision:68133
svn:branch:trunk
svn:account:vasco_costa
2016-06-20 16:56:10 +00:00
Jonathan Engbert 80112e5502 remove unused variable
svn:revision:68131
svn:branch:trunk
svn:account:ejno
2016-06-17 15:20:04 +00:00
Jonathan Engbert 3e38af5386 fix
svn:revision:68130
svn:branch:trunk
svn:account:ejno
2016-06-17 15:11:21 +00:00
Jonathan Engbert 31aeaff339 create regions for solids that are not within regions
svn:revision:68129
svn:branch:trunk
svn:account:ejno
2016-06-17 15:10:30 +00:00
Jonathan Engbert 93b91dbac7 fix
svn:revision:68127
svn:branch:trunk
svn:account:ejno
2016-06-16 19:06:02 +00:00
Jonathan Engbert ebe5c81ec3 fix
svn:revision:68126
svn:branch:trunk
svn:account:ejno
2016-06-16 16:36:16 +00:00
Jonathan Engbert 102887558f add random colors option
svn:revision:68125
svn:branch:trunk
svn:account:ejno
2016-06-16 16:10:27 +00:00
Clifford Yapp 2c0ecfabe0 7.26.0 is now in the RELEASE branch for final preparation. Bump version numbers in trunk. Note that any updates to NEWS and ChangeLog in RELEASE (minimally, the actual release date in NEWS will need to be set) will need to be merged back into trunk to avoid subsequent conflicts.
svn:revision:68124
svn:branch:trunk
svn:account:starseeker
2016-06-16 15:06:03 +00:00
Clifford Yapp 6830814e38 Update ChangeLog
svn:revision:68122
svn:branch:trunk
svn:account:starseeker
2016-06-16 15:02:24 +00:00
Clifford Yapp 27dea8fb61 0 is a valid compile count, so do a string test instead to set the -1 error value.
svn:revision:68121
svn:branch:trunk
svn:account:starseeker
2016-06-16 14:57:02 +00:00
Clifford Yapp 7de391f3ff Update ChangeLog. M.
svn:revision:68119
svn:branch:trunk
svn:account:starseeker
2016-06-16 14:34:22 +00:00
Clifford Yapp 32a1700d27 Bump other version numbers to 7.26.0
svn:revision:68118
svn:branch:trunk
svn:account:starseeker
2016-06-16 14:27:56 +00:00
Clifford Yapp 86cd4c3330 Work by Jon Engbert has improved the comb hierarchy created from Rhino 3dm files during conversion to .g format.
svn:revision:68117
svn:branch:trunk
svn:account:starseeker
2016-06-16 14:22:38 +00:00
Clifford Yapp 6b8a7df404 Checked BRL-CAD releases as far back as 7.16.2 - the command in question returns "A view does not exist" consistently in all of them. Also, when in GUI mode, "make sph sph" does draw the sphere.
svn:revision:68116
svn:branch:trunk
svn:account:starseeker
2016-06-16 14:10:40 +00:00
Jonathan Engbert 15cf204489 name solids after their parent combs
svn:revision:68115
svn:branch:trunk
svn:account:ejno
2016-06-16 13:55:40 +00:00
Clifford Yapp 3a2ed6b69b Freecode went read-only back on 2014-06-18
svn:revision:68114
svn:branch:trunk
svn:account:starseeker
2016-06-15 22:06:57 +00:00
Clifford Yapp 5b878cbf4a investigate make drawing issue.
svn:revision:68113
svn:branch:trunk
svn:account:starseeker
2016-06-15 22:02:37 +00:00
Clifford Yapp 67a4c4d6f8 this is a behavior change, need to investigate.
svn:revision:68112
svn:branch:trunk
svn:account:starseeker
2016-06-15 22:01:10 +00:00
Clifford Yapp a13f10ceec need the draw command in the first mged test as well.
svn:revision:68110
svn:branch:trunk
svn:account:starseeker
2016-06-15 21:44:06 +00:00
Jonathan Engbert 2b05f56bd6 rename solids after parent combs (in progress)
svn:revision:68109
svn:branch:trunk
svn:account:ejno
2016-06-15 21:24:58 +00:00
Jonathan Engbert 29e01bbdcb preserve idefs/irefs with non-default names
svn:revision:68106
svn:branch:trunk
svn:account:ejno
2016-06-15 20:17:36 +00:00
Clifford Yapp 8058e6b44a compile, then commit...
svn:revision:68105
svn:branch:trunk
svn:account:starseeker
2016-06-15 14:53:00 +00:00
Clifford Yapp 2c8b455c9a Add a couple more checks before the BU_PUT calls.
svn:revision:68104
svn:branch:trunk
svn:account:starseeker
2016-06-15 14:43:41 +00:00
Clifford Yapp 83720bf53a Add null checks
svn:revision:68103
svn:branch:trunk
svn:account:starseeker
2016-06-15 14:36:20 +00:00
Clifford Yapp a482187a2f Clear 'value stored is never read' error from clang static analyzer
svn:revision:68102
svn:branch:trunk
svn:account:starseeker
2016-06-15 14:28:04 +00:00
Clifford Yapp bb11dd9b50 Hmm. Did they mean these merges are needed in trunk's mergeinfo?
svn:revision:68080
svn:branch:trunk
svn:account:starseeker
2016-06-14 20:49:54 +00:00
Jonathan Engbert 8bf376f214 revert
svn:revision:68078
svn:branch:trunk
svn:account:ejno
2016-06-14 20:40:36 +00:00
Jonathan Engbert 8ec8f3e6fe fix
svn:revision:68077
svn:branch:trunk
svn:account:ejno
2016-06-14 19:09:53 +00:00
Jonathan Engbert 5de1663827 revert
svn:revision:68076
svn:branch:trunk
svn:account:ejno
2016-06-14 18:30:47 +00:00
Jonathan Engbert 5d9ac0dfc2 rename regions after their contained shapes
svn:revision:68075
svn:branch:trunk
svn:account:ejno
2016-06-14 17:35:17 +00:00
Jonathan Engbert 5c5ee1e1c1 update comment
svn:revision:68074
svn:branch:trunk
svn:account:ejno
2016-06-14 13:33:13 +00:00
Jonathan Engbert 3d9f9aefcb rename solids after named idefs/irefs/layers
svn:revision:68073
svn:branch:trunk
svn:account:ejno
2016-06-14 13:30:45 +00:00
Christopher Sean Morrison c75a16bc6f itemize some of the non-coding things people can do to get involved
svn:revision:68072
svn:branch:trunk
svn:account:brlcad
2016-06-13 21:16:06 +00:00
Clifford Yapp 11ce4aee01 mismatched-tags error in clang
svn:revision:68071
svn:branch:trunk
svn:account:starseeker
2016-06-13 17:11:33 +00:00
Clifford Yapp 52b9c29464 Tweaks for building with MSVC
svn:revision:68070
svn:branch:trunk
svn:account:starseeker
2016-06-13 15:03:05 +00:00
Clifford Yapp 7ca23aaf97 Build fixes for linux gcc 4.4
svn:revision:68069
svn:branch:trunk
svn:account:starseeker
2016-06-13 13:47:36 +00:00
Jonathan Engbert a31745fd74 remove remaining child-node merging code
svn:revision:68068
svn:branch:trunk
svn:account:ejno
2016-06-10 20:08:22 +00:00
Jonathan Engbert 62e5a35f84 remove merging of child nodes
svn:revision:68067
svn:branch:trunk
svn:account:ejno
2016-06-10 19:24:58 +00:00
Jonathan Engbert 1bdce00f90 fix
svn:revision:68066
svn:branch:trunk
svn:account:ejno
2016-06-10 16:56:19 +00:00
Jonathan Engbert 05580a214f fix
svn:revision:68065
svn:branch:trunk
svn:account:ejno
2016-06-10 15:11:11 +00:00
Jonathan Engbert 4975b65f4b fix
svn:revision:68064
svn:branch:trunk
svn:account:ejno
2016-06-10 14:23:13 +00:00
Jonathan Engbert 11d16fbec3 fix
svn:revision:68063
svn:branch:trunk
svn:account:ejno
2016-06-10 13:40:53 +00:00
Jonathan Engbert 92eef6267a silence warning (test of unsigned < 0)
svn:revision:68062
svn:branch:trunk
svn:account:ejno
2016-06-10 12:54:43 +00:00
Jonathan Engbert 5909426c29 fix
svn:revision:68061
svn:branch:trunk
svn:account:ejno
2016-06-10 12:48:32 +00:00
Jonathan Engbert 225a2911a6 rename solids after their layers
svn:revision:68060
svn:branch:trunk
svn:account:ejno
2016-06-09 19:19:33 +00:00
Jonathan Engbert f371ebe40a add region flag where appropriate
svn:revision:68059
svn:branch:trunk
svn:account:ejno
2016-06-09 18:33:05 +00:00
Jonathan Engbert ac397cf0f1 simplify
svn:revision:68058
svn:branch:trunk
svn:account:ejno
2016-06-09 18:07:59 +00:00
Jonathan Engbert 35815d8abe allow user to specify preserved combs and attributes
svn:revision:68057
svn:branch:trunk
svn:account:ejno
2016-06-09 18:07:03 +00:00
Jonathan Engbert 3c753d7edc name root layer after input filename
svn:revision:68056
svn:branch:trunk
svn:account:ejno
2016-06-09 17:48:51 +00:00
Jonathan Engbert 4b523b47e8 preserve rhino layers
svn:revision:68055
svn:branch:trunk
svn:account:ejno
2016-06-09 17:12:37 +00:00
Jonathan Engbert 85f46e8b34 simplify
svn:revision:68054
svn:branch:trunk
svn:account:ejno
2016-06-09 15:19:57 +00:00
Jonathan Engbert 32a31c570e fix
svn:revision:68053
svn:branch:trunk
svn:account:ejno
2016-06-09 14:57:13 +00:00
Christopher Sean Morrison 0580e05ce2 this is a terribly large risky commit, but not really many good ways to chop it up. this converts all calls to the now-deprecated BU_PTBL_END to the type-safe and null-safe BU_PTBL_LEN macro. that consequently requires propagating a slew of size_t type changes. consequently found and fixed a bunch of 1-byte memory-overruns in the iges converter while converting types too. regression testing passes on mac.
svn:revision:68052
svn:branch:trunk
svn:account:brlcad
2016-06-09 14:50:55 +00:00
Jonathan Engbert c476bb6842 remove old comment
svn:revision:68051
svn:branch:trunk
svn:account:ejno
2016-06-09 14:48:05 +00:00
Jonathan Engbert d13888124e merge combs with compatible attributes
svn:revision:68050
svn:branch:trunk
svn:account:ejno
2016-06-09 14:45:53 +00:00
Nicholas Reed b1555c1065 wording/format
svn:revision:68049
svn:branch:brep-debug
svn:account:n_reed
2016-06-08 23:20:26 +00:00
Nicholas Reed 62386c7d21 reference bool-eval dev article in header comments of main sources
svn:revision:68048
svn:branch:brep-debug
svn:account:n_reed
2016-06-08 19:40:33 +00:00
Nicholas Reed 447b8fd1fd add introduction
svn:revision:68047
svn:branch:brep-debug
svn:account:n_reed
2016-06-08 19:27:15 +00:00
Jonathan Engbert 690ef36350 preserve colors/shaders
svn:revision:68046
svn:branch:trunk
svn:account:ejno
2016-06-07 14:55:40 +00:00
Christopher Sean Morrison ba332e4bb6 cliff fixed archer in r68020 so that archer will now run properly from a read-only or permission-constrained filesystem when opening a .g and it could not create the working-copy / backup file. tweak was to use tcllib to identify the system temp dir where we presumably have write permissions.
svn:revision:68045
svn:branch:trunk
svn:account:brlcad
2016-06-07 04:39:14 +00:00
Christopher Sean Morrison 8b43f5b937 tally looks to be at least 121 command line tools that are being deprecated with this release. CHANGES has the full list.
svn:revision:68044
svn:branch:trunk
svn:account:brlcad
2016-06-07 03:48:43 +00:00
Christopher Sean Morrison d0e4a641ad cliff made the wireframe drawing logic in libged respect a colors set on primitives (supporting the drawing of yellow datums, but separate user-visible change).
svn:revision:68043
svn:branch:trunk
svn:account:brlcad
2016-06-07 03:32:24 +00:00
Christopher Sean Morrison ece0f05ca8 pixdiff and pixcmp were updated in r67563 and r67562 to stop processing if the image file sizes are different. conceivably could report something, but it's currently undefined so less misleading to not report until something more formal can be sorted out. (fix credit)
svn:revision:68042
svn:branch:trunk
svn:account:brlcad
2016-06-07 03:24:08 +00:00
Christopher Sean Morrison 8d1e5696ac pixdiff and pixcmp were updated in r67563 and r67562 to stop processing if the image file sizes are different. conceivably could report something, but it's currently undefined so less misleading to not report until something more formal can be sorted out.
svn:revision:68041
svn:branch:trunk
svn:account:brlcad
2016-06-07 03:14:04 +00:00
Vasco Alexandre da Silva Costa e8039f6282 add necessary functions for single precision mode to opencl header.
svn:revision:68040
svn:branch:trunk
svn:account:vasco_costa
2016-06-05 12:39:37 +00:00
Vasco Alexandre da Silva Costa b8d9da0f14 apply sf patch #444 from Param Hanji which implements eto evaluation in opencl.
svn:revision:68039
svn:branch:trunk
svn:account:vasco_costa
2016-06-05 12:11:43 +00:00
Jonathan Engbert 01b7345440 work on rt_reduce_db(); collapses hierarchy but does not attempt to preserve attributes
svn:revision:68038
svn:branch:trunk
svn:account:ejno
2016-06-03 21:12:39 +00:00
Jonathan Engbert 934d27c6ea add rt_reduce_db() (in progress) for reducing a database hierarchy; use rt_reduce_db() in the rhino import filter
svn:revision:68037
svn:branch:trunk
svn:account:ejno
2016-06-02 18:06:32 +00:00
Jonathan Engbert 01941d267f set shaders for layers
svn:revision:68036
svn:branch:trunk
svn:account:ejno
2016-06-02 14:52:43 +00:00
Jonathan Engbert 75cf6ae3ae display selected options before conversion
svn:revision:68035
svn:branch:trunk
svn:account:ejno
2016-06-01 22:13:24 +00:00
Jonathan Engbert a1cfd4b19d adjust numbering
svn:revision:68034
svn:branch:trunk
svn:account:ejno
2016-06-01 21:35:15 +00:00
Jonathan Engbert 221916542b adjust numbering
svn:revision:68033
svn:branch:trunk
svn:account:ejno
2016-06-01 21:15:38 +00:00
Jonathan Engbert 680b0df858 implement flag for assigning random colors
svn:revision:68032
svn:branch:trunk
svn:account:ejno
2016-06-01 21:06:27 +00:00
Jonathan Engbert f29538b225 fix
svn:revision:68031
svn:branch:trunk
svn:account:ejno
2016-06-01 20:39:22 +00:00
Jonathan Engbert 939be6a35b import simplified hierarchy by default; add an option for importing the full hierarchy
svn:revision:68030
svn:branch:trunk
svn:account:ejno
2016-06-01 19:46:09 +00:00
Christopher Sean Morrison 2683bec99e adjusted progressive geometry display priorities and clarified pipeline tasks
svn:revision:68029
svn:branch:trunk
svn:account:brlcad
2016-06-01 19:34:28 +00:00
Christopher Sean Morrison dd5e0068cf update with timings and task decompositions from last week including new prep cache project separate from performant pipelining and renaming webulgation to website renovation.
svn:revision:68028
svn:branch:trunk
svn:account:brlcad
2016-06-01 17:36:13 +00:00
Jonathan Engbert 9548023441 inherit colors/shaders from parents again
svn:revision:68027
svn:branch:trunk
svn:account:ejno
2016-06-01 17:17:37 +00:00
Jonathan Engbert a300e63ee7 check if the ptbl is empty
svn:revision:68026
svn:branch:trunk
svn:account:ejno
2016-06-01 16:31:14 +00:00
Jonathan Engbert 4e0ea03ab1 remove empty combs
svn:revision:68025
svn:branch:trunk
svn:account:ejno
2016-06-01 16:23:20 +00:00
Jonathan Engbert d9c4b70f06 don't leave references to objects that weren't imported
svn:revision:68024
svn:branch:trunk
svn:account:ejno
2016-05-31 21:19:26 +00:00
Jonathan Engbert d18a7f49df don't create an unnecessary comb
svn:revision:68023
svn:branch:trunk
svn:account:ejno
2016-05-31 18:35:03 +00:00
Jonathan Engbert bb816bdf32 fix
svn:revision:68022
svn:branch:trunk
svn:account:ejno
2016-05-31 16:17:08 +00:00
Jonathan Engbert edf16c00aa create attributes specifying object types
svn:revision:68021
svn:branch:trunk
svn:account:ejno
2016-05-31 14:48:38 +00:00
Clifford Yapp be9df57bb8 Since we don't have Tcl 8.6 and its 'file tempfile' implementation, add tcllib's fileutil module to get access to ::fileutil::tempdir. Needs review/testing, but this should give us a reliably writable place to put file copies, and should avoid Archer refusing to start up when installed to a non-writable system location.
svn:revision:68020
svn:branch:trunk
svn:account:starseeker
2016-05-27 18:58:49 +00:00
Jonathan Engbert 0d8ecce829 indentation
svn:revision:68019
svn:branch:trunk
svn:account:ejno
2016-05-27 17:08:15 +00:00
Jonathan Engbert 3366facfa8 warn the user if the model hierarchy is not as expected for analysis
svn:revision:68018
svn:branch:trunk
svn:account:ejno
2016-05-27 14:49:45 +00:00
Christopher Sean Morrison f7d0707115 document the three global symbols and indicate where they are defined.
svn:revision:68017
svn:branch:trunk
svn:account:brlcad
2016-05-27 04:28:27 +00:00
Clifford Yapp 0642ec6a9b tighten the code a bit
svn:revision:68016
svn:branch:trunk
svn:account:starseeker
2016-05-27 00:27:17 +00:00
Clifford Yapp d896eaaa62 Erk. Don't snarf anything in the plugins directory - only go for files with the extension CMake says is for shared libraries on the current platform.
svn:revision:68015
svn:branch:trunk
svn:account:starseeker
2016-05-27 00:17:07 +00:00
Clifford Yapp 083490d046 Make a stab (untested) at reworking the plugin locations to be configurable to support Windows.
svn:revision:68014
svn:branch:trunk
svn:account:starseeker
2016-05-26 23:49:02 +00:00
Clifford Yapp f0192a155c The plugins are using GCV_EXPORT, so the BRLCAD_ADDLIB magic (which is based on the target name) isn't setting the correct export definitions. With this change bu_dlsym is no longer returning null, but it looks like putting the runtime and non-runtime outputs in the same build directory may be causing other problems.
svn:revision:68013
svn:branch:trunk
svn:account:starseeker
2016-05-26 23:35:38 +00:00
Clifford Yapp b697db98da datetime.c uses bu_log
svn:revision:68012
svn:branch:trunk
svn:account:starseeker
2016-05-26 23:23:31 +00:00
Clifford Yapp 270c4ee950 Work around gcc compiler complaint (looks like this issue: http://stackoverflow.com/a/31528674) by using solution from adrt.
svn:revision:68011
svn:branch:trunk
svn:account:starseeker
2016-05-26 22:41:05 +00:00
Clifford Yapp 25e35daa28 Working on getting plugin loading working on Windows (Cliff and Sean) - not there yet.
svn:revision:68010
svn:branch:trunk
svn:account:starseeker
2016-05-26 22:17:02 +00:00
Clifford Yapp 59f2fc1c1d Set program name for bu_brlcad_root et. al. lookups.
svn:revision:68009
svn:branch:trunk
svn:account:starseeker
2016-05-26 22:07:32 +00:00
Nicholas Reed 5ccf4659cd add image showing plot-curve endpoint decoration scheme
svn:revision:68008
svn:branch:brep-debug
svn:account:n_reed
2016-05-26 21:55:50 +00:00
Nicholas Reed 8184e8e602 add a screenshot showing output of lcurves subcommand
svn:revision:68007
svn:branch:brep-debug
svn:account:n_reed
2016-05-26 21:43:39 +00:00
Nicholas Reed cd62ba6e33 illustrate different projections of the same curve
svn:revision:68006
svn:branch:brep-debug
svn:account:n_reed
2016-05-26 21:20:35 +00:00
Nicholas Reed 11a21833b8 add an image visually depicting the evaluation algorithm at the highest level
svn:revision:68005
svn:branch:brep-debug
svn:account:n_reed
2016-05-26 21:07:14 +00:00
Clifford Yapp bc76a3d047 Everything needing to use libgcv needs to also have its plugins available. At the moment, the plugins depend on libgcv so this is not guaranteed by the libgcv linkage specification. One thought would be to make a 'libgcv_util' library that implements common functionality for all the plugins, and then a thinner top level libgcv that isn't directly used by the plugins. The latter can then set up build dependencies on the plugins, ensuring that a 'make libgcv' produces a gcv system that is fully ready to run.
svn:revision:68004
svn:branch:trunk
svn:account:starseeker
2016-05-26 20:40:12 +00:00
Clifford Yapp 11048da2af Ah, right - this is a situation where we have to pay attention to configuration specific properties.
svn:revision:68003
svn:branch:trunk
svn:account:starseeker
2016-05-26 20:23:07 +00:00
Clifford Yapp 873deab120 Just as we're making the install output dirs uniform, make the build output dirs uniform.
svn:revision:68002
svn:branch:trunk
svn:account:starseeker
2016-05-26 18:56:54 +00:00
Clifford Yapp 8cd9292884 Need GCV_EXPORT
svn:revision:68001
svn:branch:trunk
svn:account:starseeker
2016-05-26 18:37:06 +00:00
Christopher Sean Morrison 5e5727f80a start stubbing in highlights, nurbs up front but still a wip.
svn:revision:68000
svn:branch:trunk
svn:account:brlcad
2016-05-26 18:27:49 +00:00
Christopher Sean Morrison 0c0c03e204 bob fixed a bug in the edcodes command in r48741 where argc was being incremented without changing av. overread detected by coverity. would have made it hard to get help and probably caused memory corruption. (replace '#' with expected asterisk as bullet)
svn:revision:67999
svn:branch:trunk
svn:account:brlcad
2016-05-26 18:04:01 +00:00
Christopher Sean Morrison 47707e2873 note the addition of bot_merge to combine 2 bots together (reword to expand cmd)
svn:revision:67998
svn:branch:trunk
svn:account:brlcad
2016-05-26 18:02:41 +00:00
Christopher Sean Morrison ec5292df3d Fixed nirt's dest command to use the full supplied filename string instead of chopping off the last character - whitespace is also handled after the string as well as before (reword to expand cmd)
svn:revision:67997
svn:branch:trunk
svn:account:brlcad
2016-05-26 18:01:01 +00:00
Christopher Sean Morrison 73d8bc9e07 Make sure the attributes and comb are always on the same page, and that we don't miss color if someone works with rgb. (expanding name so it'll be easier to tabulate and group down the road, need to fix others after next PRB) (reword to expand cmd)
svn:revision:67996
svn:branch:trunk
svn:account:brlcad
2016-05-26 17:59:23 +00:00
Christopher Sean Morrison 7b67b22c4c Peter integrated a new algorithm into gdiam's code, used by the bb command for oriented bounding box generation. Commit r63804 (recommit to expand cmd)
svn:revision:67995
svn:branch:trunk
svn:account:brlcad
2016-05-26 17:56:28 +00:00
Christopher Sean Morrison 3054f35dcd Note that Daniel fixed a crashing case in rt_bot_adjust. (reword to expand cmd for readability)
svn:revision:67994
svn:branch:trunk
svn:account:brlcad
2016-05-26 17:54:43 +00:00
Christopher Sean Morrison 396e956182 changes made to the NMG lib directly affect the bigE command and patch-g converter as well as overall NMG processing robustness. now instead of bombing, it keeps going so running rt and other ops will complete (and not bring down the whole application).
svn:revision:67993
svn:branch:trunk
svn:account:brlcad
2016-05-26 17:51:01 +00:00
Christopher Sean Morrison 4c4e511514 got to break out of the loop or we get a really nasty stack smashing function pointer.
svn:revision:67992
svn:branch:trunk
svn:account:brlcad
2016-05-26 17:39:18 +00:00
Jonathan Engbert ee563d8bb7 fix windows build (static-function template parameter)
svn:revision:67991
svn:branch:trunk
svn:account:ejno
2016-05-26 17:36:07 +00:00
Christopher Sean Morrison 7c08bdedd0 make nmg_rt_segs_error actually be a function instead of a macro so we can break on it. rename as a non-public function.
svn:revision:67990
svn:branch:trunk
svn:account:brlcad
2016-05-26 17:32:35 +00:00
Christopher Sean Morrison 014bd2baa7 don't punish the user and take down the whole app just because we got something unexpected or bad nmg state. print a message saying it's our problem, probably caused by their problem (bad geometry).
svn:revision:67989
svn:branch:trunk
svn:account:brlcad
2016-05-26 17:20:55 +00:00
Christopher Sean Morrison 26d699a8bc this logic is quite complex. possibly not a proper fix, but we were looping infinitely over an edgeuse list when trying to close it when working with fuzing fewer than 3 edges. this successfull avoids infinite looping by removing the edge from our remaining edge list once we tried to process it. problem observed on patch-g with ch53 model.
svn:revision:67988
svn:branch:trunk
svn:account:brlcad
2016-05-26 17:03:37 +00:00
Jonathan Engbert d60e6d98cf fix shader import; import wireframe colors if the diffuse color isn't interesting
svn:revision:67987
svn:branch:trunk
svn:account:ejno
2016-05-26 16:59:13 +00:00
Jonathan Engbert e1f3a5927e notify of skipped objects in verbose mode
svn:revision:67986
svn:branch:trunk
svn:account:ejno
2016-05-26 16:19:02 +00:00
Clifford Yapp a7e871ad5d Jon fixed a problem preserving colors in certain situations with Rhino 3dm files.
svn:revision:67985
svn:branch:trunk
svn:account:starseeker
2016-05-26 15:28:38 +00:00
Jonathan Engbert b45a837c8e report invalid rhino models
svn:revision:67984
svn:branch:trunk
svn:account:ejno
2016-05-26 14:57:35 +00:00
Jonathan Engbert dd761d0251 ensure that bot is fully initialized
svn:revision:67983
svn:branch:trunk
svn:account:ejno
2016-05-26 14:35:16 +00:00
Jonathan Engbert f03a797314 HIDDEN
svn:revision:67982
svn:branch:trunk
svn:account:ejno
2016-05-26 14:29:48 +00:00
Jonathan Engbert 9faa1cf054 correct size of face normals array; simplify
svn:revision:67981
svn:branch:trunk
svn:account:ejno
2016-05-26 14:29:35 +00:00
Clifford Yapp 613e5159bb We need to fix brlcad-config, but it's not a release blocker - will try to fix, but bump down one notch to be clear about its status.
svn:revision:67980
svn:branch:trunk
svn:account:starseeker
2016-05-26 01:11:39 +00:00
Clifford Yapp db7ccc708e added libnetpbm to libicv/icv in r67174.
svn:revision:67979
svn:branch:trunk
svn:account:starseeker
2016-05-26 01:10:34 +00:00
Clifford Yapp 9b21f48742 Note that Daniel fixed a crashing case in rt_bot_adjust
svn:revision:67978
svn:branch:trunk
svn:account:starseeker
2016-05-26 01:07:00 +00:00
Clifford Yapp d5063e4a91 memory pools in libbu appear to be used only in the OpenCL pipeline at the moment. Add documentation of the -z option to the rt man page, noting that OpenCL support must be enabled at complilation time.
svn:revision:67977
svn:branch:trunk
svn:account:starseeker
2016-05-26 01:03:51 +00:00
Clifford Yapp 2c356e22ac Add descriptions for libbg and libbrep. Eventually they'll need man pages when their APIs settle down more...
svn:revision:67976
svn:branch:trunk
svn:account:starseeker
2016-05-26 00:57:48 +00:00
Clifford Yapp 36b843280e Add a regex for removing BU_FNMATCH_NOMATCH
svn:revision:67975
svn:branch:trunk
svn:account:starseeker
2016-05-26 00:46:02 +00:00
Clifford Yapp 51cc815e18 Opps - commit man page update, not just NEWS item...
svn:revision:67974
svn:branch:trunk
svn:account:starseeker
2016-05-26 00:43:46 +00:00
Clifford Yapp 3a4e14c6fd Commit r64700 updated BRL-CAD's bundled freetype library to version 2.5.5
svn:revision:67973
svn:branch:trunk
svn:account:starseeker
2016-05-26 00:41:38 +00:00
Clifford Yapp e90be9521b Commit r64699 updated BRL-CAD's bundled regex library to address CVE-2015-2305.
svn:revision:67972
svn:branch:trunk
svn:account:starseeker
2016-05-26 00:38:25 +00:00
Clifford Yapp bac7bcd86b This commit is to a test and the polygon triangulation routine it is testing is used by the brep csg conversion routines - not directly user visible.
svn:revision:67971
svn:branch:trunk
svn:account:starseeker
2016-05-26 00:35:55 +00:00
Clifford Yapp 4523f24a24 Document addition of csg option to the brep command, enabling experimental support for converting NURBS based B-Reps to CSG implicit boolean hierarchies.
svn:revision:67970
svn:branch:trunk
svn:account:starseeker
2016-05-26 00:34:50 +00:00
Clifford Yapp bde66077ed Peter integrated a new algorithm into gdiam's code, used by the bb command for oriented bounding box generation. Commit r63804
svn:revision:67969
svn:branch:trunk
svn:account:starseeker
2016-05-26 00:26:49 +00:00
Clifford Yapp b576994be8 Make a note in HACKING that developers should keep an eye on build health as indicated by testing status on CDash.
svn:revision:67968
svn:branch:trunk
svn:account:starseeker
2016-05-26 00:17:30 +00:00
Clifford Yapp fd3a00472c Peter ported the 'lc' command from Tcl to C - commit r63621
svn:revision:67967
svn:branch:trunk
svn:account:starseeker
2016-05-26 00:10:39 +00:00
Jonathan Engbert fb9b1a9e16 check for model references to invalid table indices
svn:revision:67966
svn:branch:trunk
svn:account:ejno
2016-05-25 17:47:50 +00:00
Jonathan Engbert 526a2da14f store UUIDs as attributes
svn:revision:67965
svn:branch:trunk
svn:account:ejno
2016-05-25 17:17:45 +00:00
Nicholas Reed ee752a2547 add render of original comb for context
svn:revision:67964
svn:branch:brep-debug
svn:account:n_reed
2016-05-25 16:29:40 +00:00
Jonathan Engbert 71d7311181 use sets rather than vectors
svn:revision:67963
svn:branch:trunk
svn:account:ejno
2016-05-25 13:54:15 +00:00
Jonathan Engbert 1245070f85 revert
svn:revision:67962
svn:branch:trunk
svn:account:ejno
2016-05-25 13:39:26 +00:00
Jonathan Engbert c337472d21 root layer uuid can be nil; also don't create an implicit root layer
svn:revision:67961
svn:branch:trunk
svn:account:ejno
2016-05-25 13:31:08 +00:00
Jonathan Engbert 739c6303c3 formatting
svn:revision:67960
svn:branch:trunk
svn:account:ejno
2016-05-24 21:35:33 +00:00
Nicholas Reed 261602ef3f add a couple figures to the debugging example
svn:revision:67959
svn:branch:brep-debug
svn:account:n_reed
2016-05-24 20:57:49 +00:00
Jonathan Engbert 4541da96b6 remove unused function
svn:revision:67958
svn:branch:trunk
svn:account:ejno
2016-05-24 20:42:06 +00:00
Jonathan Engbert 36cb12d025 use updated 3dm-g code
svn:revision:67957
svn:branch:trunk
svn:account:ejno
2016-05-24 20:30:50 +00:00
Jonathan Engbert 68194fef4a use updated 3dm-g code (preliminary file move commit) 2016-05-24 20:30:50 +00:00
Clifford Yapp c032076f46 If you accidently tell clone to copy 0 objects it crashed. Return RT_DIR_NULL instead.
svn:revision:67956
svn:branch:trunk
svn:account:starseeker
2016-05-24 18:54:23 +00:00
Robert Parker 169d7711ce Modify to_polygon_free() to check gpc_num_points before calling bu_free.
svn:revision:67955
svn:branch:trunk
svn:account:bob1961
2016-05-24 18:06:52 +00:00
Jonathan Engbert e2f00d33ff hidden
svn:revision:67954
svn:branch:trunk
svn:account:ejno
2016-05-24 17:21:35 +00:00
Nicholas Reed a84bd44fbe mark sync revisions as merged
svn:revision:67953
svn:branch:trunk
svn:account:n_reed
2016-05-24 16:39:08 +00:00
Nicholas Reed 8efa80c576 merge r67864 through r67949 changes from trunk
svn:revision:67952
svn:branch:brep-debug
svn:account:n_reed
2016-05-24 16:32:26 +00:00
Jonathan Engbert 6553f37f9c fix
svn:revision:67951
svn:branch:trunk
svn:account:ejno
2016-05-24 16:26:17 +00:00
Nicholas Reed e2c1c67688 merge r67749 through r67863 changes from trunk
svn:revision:67950
svn:branch:brep-debug
svn:account:n_reed
2016-05-24 16:11:46 +00:00
Jonathan Engbert caa31bd79d inherit parent shader and color
svn:revision:67949
svn:branch:trunk
svn:account:ejno
2016-05-24 15:40:33 +00:00
Jonathan Engbert f07aff411c import object shaders and colors
svn:revision:67948
svn:branch:trunk
svn:account:ejno
2016-05-24 15:21:26 +00:00
Jonathan Engbert a8c47342ef layer import
svn:revision:67947
svn:branch:trunk
svn:account:ejno
2016-05-24 14:03:22 +00:00
Robert Parker 55fe75a472 Added init_data_poly_cont_flag.
svn:revision:67946
svn:branch:trunk
svn:account:bob1961
2016-05-24 13:21:02 +00:00
Clifford Yapp b571702d11 Add link to public report that provides a bit more info about PDAM.
svn:revision:67945
svn:branch:trunk
svn:account:starseeker
2016-05-23 21:09:53 +00:00
Jonathan Engbert 6c6b100dc6 work on fixes and refactoring of the rhino/3dm importer
svn:revision:67944
svn:branch:trunk
svn:account:ejno
2016-05-23 20:37:54 +00:00
Jonathan Engbert 6d66d6760a check that the object is a halfspace
svn:revision:67943
svn:branch:trunk
svn:account:ejno
2016-05-23 20:33:34 +00:00
Jonathan Engbert 1a5c460e78 modify message
svn:revision:67942
svn:branch:trunk
svn:account:ejno
2016-05-23 20:32:26 +00:00
Jonathan Engbert 586e9099cc modify warning message
svn:revision:67941
svn:branch:trunk
svn:account:ejno
2016-05-23 20:32:01 +00:00
Christopher Sean Morrison c6943d9294 example output from a working version for reference.
svn:revision:67940
svn:branch:trunk
svn:account:brlcad
2016-05-19 21:52:49 +00:00
Christopher Sean Morrison 3ad1472d12 brlcad-config seems to be busted, navy needs it
svn:revision:67939
svn:branch:trunk
svn:account:brlcad
2016-05-19 21:48:06 +00:00
Clifford Yapp b3f6d063e3 draw -L option has NEWS item and is documented in the MGED draw command man page.
svn:revision:67938
svn:branch:trunk
svn:account:starseeker
2016-05-18 20:20:12 +00:00
Clifford Yapp c1d49db9ba Work on rm command was reverted for release.
svn:revision:67937
svn:branch:trunk
svn:account:starseeker
2016-05-18 20:15:42 +00:00
Clifford Yapp bbf93217a4 Note the addition of example NURBS B-Rep models to BRL-CAD's example .g files, obtained from the NIST MBE PMI project.
svn:revision:67936
svn:branch:trunk
svn:account:starseeker
2016-05-18 20:08:17 +00:00
Clifford Yapp 716952bfd4 Peter updated the brep command's manual page (r63756)
svn:revision:67935
svn:branch:trunk
svn:account:starseeker
2016-05-18 20:05:38 +00:00
Jordi Sayol 58a641095b update debian changelog
svn:revision:67934
svn:branch:trunk
svn:account:jordisayol
2016-05-18 19:44:20 +00:00
Clifford Yapp b1025eeb72 A quick source check seems to indicate that the bn_vec_ae() function is not currently used outside of its unit tests.
svn:revision:67933
svn:branch:trunk
svn:account:starseeker
2016-05-18 19:42:27 +00:00
Clifford Yapp 681c402935 libpng update in 63629 was trumped by subsequent upgrade to 1.6.20
svn:revision:67932
svn:branch:trunk
svn:account:starseeker
2016-05-18 19:39:12 +00:00
Clifford Yapp 7aaeb90e86 Added NEWS item for 63615. The man page for analyze is hopelessly out of date - it pertains strictly to ARB primitives. Needs a rewrite - if that's a release blocker we need a TODO item to do a rewrite.
svn:revision:67931
svn:branch:trunk
svn:account:starseeker
2016-05-18 19:34:45 +00:00
Clifford Yapp e42ef042af Note that peter-sa added centroid functions for sketchs and extrusions to the analyze command in commit r63615.
svn:revision:67930
svn:branch:trunk
svn:account:starseeker
2016-05-18 19:32:35 +00:00
Clifford Yapp f10c7eead4 Note Peter's GCI username
svn:revision:67929
svn:branch:trunk
svn:account:starseeker
2016-05-18 19:28:32 +00:00
Clifford Yapp f3420bd799 63509 and 63517 pertain to globbing support for attr - that support has a NEWS item and attr man page was updated to mention patterns instead of just object names.
svn:revision:67928
svn:branch:trunk
svn:account:starseeker
2016-05-18 19:01:14 +00:00
Clifford Yapp cdb6ce81ea 65307 got a NEWS item in 63537 and the list option is mentioned in the attr man page.
svn:revision:67927
svn:branch:trunk
svn:account:starseeker
2016-05-18 18:44:24 +00:00
Clifford Yapp 334e84a09c added docs for 63456
svn:revision:67926
svn:branch:trunk
svn:account:starseeker
2016-05-18 18:41:26 +00:00
Clifford Yapp 4c59c5594d Add g-ply man page, note that g-ply exporter from Rishub Jain was added r63456
svn:revision:67925
svn:branch:trunk
svn:account:starseeker
2016-05-18 18:37:35 +00:00
Clifford Yapp ae5f9a4d64 Note that the ply-g importer for the Stanford PLY format written by Rishub Jain was added in commit 63455
svn:revision:67924
svn:branch:trunk
svn:account:starseeker
2016-05-18 18:11:23 +00:00
Clifford Yapp 3a6e7584db Note that the ply-g importer for the Polygon File Format written by Rishub Jain was added in commit 63455
svn:revision:67923
svn:branch:trunk
svn:account:starseeker
2016-05-18 18:06:21 +00:00
Christopher Sean Morrison 0f2b6ff68d step one, get the generic preprocessor symbols out of libbu and into common.h
svn:revision:67922
svn:branch:trunk
svn:account:brlcad
2016-05-17 20:46:06 +00:00
Christopher Sean Morrison 5afe8dfddb here's a preliminary list of user-visible commit changes that didn't have a corresponding doc update near them. some may have been documented later, some require doc/docbook docs, some require a news line entry.
svn:revision:67921
svn:branch:trunk
svn:account:brlcad
2016-05-17 18:19:03 +00:00
Christopher Sean Morrison 8a4c8152a8 include common example use cases for the stringification/concat macros
svn:revision:67920
svn:branch:trunk
svn:account:brlcad
2016-05-17 07:48:40 +00:00
Christopher Sean Morrison 96916a522d stub in the canonical macros for wrapping common preprocessor string operations. these replace bu's, minimally impacting.
svn:revision:67919
svn:branch:trunk
svn:account:brlcad
2016-05-17 07:31:15 +00:00
Christopher Sean Morrison 839e2f4d49 cezar's last name has an l
svn:revision:67918
svn:branch:trunk
svn:account:brlcad
2016-05-17 06:52:43 +00:00
Clifford Yapp 79f154f8c8 Add the best available example (so far) of how to achieve dbfind-like output with search.
svn:revision:67917
svn:branch:trunk
svn:account:starseeker
2016-05-17 01:37:19 +00:00
Christopher Sean Morrison affa82e3f9 oops... those were my own notes, not release stoppers.
svn:revision:67916
svn:branch:trunk
svn:account:brlcad
2016-05-17 01:35:58 +00:00
Clifford Yapp cde33eb350 make array size match format string size
svn:revision:67915
svn:branch:trunk
svn:account:starseeker
2016-05-17 01:17:42 +00:00
Clifford Yapp 6840ae4980 Make sure we end up with long int for %ld (didn't do so on openbsd)
svn:revision:67914
svn:branch:trunk
svn:account:starseeker
2016-05-17 01:13:38 +00:00
Clifford Yapp 727126fdb0 make array size match format string size
svn:revision:67913
svn:branch:trunk
svn:account:starseeker
2016-05-17 01:09:06 +00:00
Clifford Yapp 120b194b41 make array size match format string size
svn:revision:67912
svn:branch:trunk
svn:account:starseeker
2016-05-17 01:07:49 +00:00
Clifford Yapp 9018fc554b array size too small
svn:revision:67911
svn:branch:trunk
svn:account:starseeker
2016-05-17 01:05:49 +00:00
Clifford Yapp 4685010094 make array size match format string size
svn:revision:67910
svn:branch:trunk
svn:account:starseeker
2016-05-17 01:03:24 +00:00
Clifford Yapp 283ee4f2ea make array size match format string size
svn:revision:67909
svn:branch:trunk
svn:account:starseeker
2016-05-17 01:00:28 +00:00
Clifford Yapp c28c8e6fa5 make array size match format string size
svn:revision:67908
svn:branch:trunk
svn:account:starseeker
2016-05-17 00:59:44 +00:00
Clifford Yapp cd3b600929 got qsort
svn:revision:67907
svn:branch:trunk
svn:account:starseeker
2016-05-17 00:55:32 +00:00
Clifford Yapp 97f79ba47f make array size match format string size
svn:revision:67906
svn:branch:trunk
svn:account:starseeker
2016-05-17 00:54:47 +00:00
Clifford Yapp e135143f6d make array size match format string size
svn:revision:67905
svn:branch:trunk
svn:account:starseeker
2016-05-17 00:53:04 +00:00
Clifford Yapp 0dac23b7f4 make array size match format string size
svn:revision:67904
svn:branch:trunk
svn:account:starseeker
2016-05-17 00:52:14 +00:00
Clifford Yapp 6eedd18fc1 qsort -> bu_sort was already in HACKING - add it to the regress-repository list and make appropriate tweaks. The glob.c file is not active yet and it will be a while before it is, so just remove it until we need it.
svn:revision:67903
svn:branch:trunk
svn:account:starseeker
2016-05-17 00:43:01 +00:00
Clifford Yapp e0747b0a44 bu_dir_list -> bu_file_list
svn:revision:67902
svn:branch:trunk
svn:account:starseeker
2016-05-17 00:25:10 +00:00
Clifford Yapp b401fb99ee Do some bu_*_argv -> bu_argv_* conversions. There are a couple others, but want to double check that they should be renamed - bu_vls_from_argv, for example, fits that regex but seems appropriately named...
svn:revision:67901
svn:branch:trunk
svn:account:starseeker
2016-05-17 00:21:27 +00:00
Christopher Sean Morrison c9071978ba boolweave unit tests....
svn:revision:67900
svn:branch:trunk
svn:account:brlcad
2016-05-16 21:04:09 +00:00
Clifford Yapp b68a7845e3 reorganize to clarify what's being deprecated are mged commands.
svn:revision:67899
svn:branch:trunk
svn:account:starseeker
2016-05-16 19:00:49 +00:00
Clifford Yapp a5bc20c8e6 deprecate pathlist
svn:revision:67898
svn:branch:trunk
svn:account:starseeker
2016-05-16 18:57:05 +00:00
Clifford Yapp df4d349841 I see em was called out earlier
svn:revision:67897
svn:branch:trunk
svn:account:starseeker
2016-05-16 18:53:55 +00:00
Clifford Yapp 8f2891cc22 typo
svn:revision:67896
svn:branch:trunk
svn:account:starseeker
2016-05-16 18:47:07 +00:00
Clifford Yapp d3ec77bada Make a note that dbfind should be replaced by ls */obj rather than search, due to performance reasons.
svn:revision:67895
svn:branch:trunk
svn:account:starseeker
2016-05-16 18:40:17 +00:00
Clifford Yapp ca9e2741b1 If we added an -above option to a flat search, MGED crashed. Initialize the full_paths ptbl to NULL in a flat search so the above function knows not to try to process it.
svn:revision:67894
svn:branch:trunk
svn:account:starseeker
2016-05-16 15:12:59 +00:00
Clifford Yapp 36f6b04410 nevermind - find man page appears to be actually for the dbfind command...
svn:revision:67893
svn:branch:trunk
svn:account:starseeker
2016-05-16 14:54:25 +00:00
Clifford Yapp c89f48c6be Also call out expand for deprecation - replaced by search. Fix docs while we're at it - using shell globbing, not regex.
svn:revision:67892
svn:branch:trunk
svn:account:starseeker
2016-05-16 14:43:35 +00:00
Clifford Yapp 7ae33f6603 list a couple of MGED commands for deprecation - find doesn't work on the MGED command prompt anyway, and the em command can be replaced by search.
svn:revision:67891
svn:branch:trunk
svn:account:starseeker
2016-05-16 14:33:18 +00:00
Clifford Yapp 12b2558d95 correct exmaples/descriptions for -above and -below.
svn:revision:67890
svn:branch:trunk
svn:account:starseeker
2016-05-16 14:14:57 +00:00
Clifford Yapp bb8645b3d5 Don't try to open a directory.
svn:revision:67889
svn:branch:trunk
svn:account:starseeker
2016-05-16 14:00:26 +00:00
Jordi Sayol 091beeed8a Set Archer as default GUI on Fedora/OpenSUSE
svn:revision:67888
svn:branch:trunk
svn:account:jordisayol
2016-05-15 12:23:54 +00:00
Jordi Sayol 880e01ab39 Set Archer as default GUI on Debian
svn:revision:67887
svn:branch:trunk
svn:account:jordisayol
2016-05-15 12:20:45 +00:00
Jordi Sayol 2f452feda1 update Fedora/OpenSUSE cmake build
svn:revision:67886
svn:branch:trunk
svn:account:jordisayol
2016-05-15 11:19:33 +00:00
Jordi Sayol 2b341094bd update Debian cmake build
svn:revision:67885
svn:branch:trunk
svn:account:jordisayol
2016-05-15 10:53:20 +00:00
Clifford Yapp 366c544ef3 add a note about appleseed with the opensubdiv/cycles todo notes
svn:revision:67884
svn:branch:trunk
svn:account:starseeker
2016-05-14 14:35:58 +00:00
Clifford Yapp b85a8dedf4 Note the CPPFLAGS bug in Kitware's tracker.
svn:revision:67883
svn:branch:trunk
svn:account:starseeker
2016-05-14 14:32:15 +00:00
Clifford Yapp 63a9e407a4 Note possibly helpful link
svn:revision:67882
svn:branch:trunk
svn:account:starseeker
2016-05-14 14:29:14 +00:00
Clifford Yapp 5671728e8b Add note about using clipper's logic as a clean-up preprocessing step for the poly2tri algorithm, since the poly2tri algorithm itself isn't robust to a variety of situations.
svn:revision:67881
svn:branch:trunk
svn:account:starseeker
2016-05-14 14:25:27 +00:00
Clifford Yapp c53b7592ec got a better place for these now - they'd go in libbg
svn:revision:67880
svn:branch:trunk
svn:account:starseeker
2016-05-14 14:22:03 +00:00
Clifford Yapp 32761cac81 Got the archer and isst batch scripts removed
svn:revision:67879
svn:branch:trunk
svn:account:starseeker
2016-05-14 13:52:55 +00:00
Nicholas Reed 5b2bd747a7 add images illustrating intersection event types
svn:revision:67878
svn:branch:brep-debug
svn:account:n_reed
2016-05-12 21:59:59 +00:00
Christopher Sean Morrison 40d222eca2 get some cache notes off paper
svn:revision:67877
svn:branch:trunk
svn:account:brlcad
2016-05-12 21:04:53 +00:00
Nicholas Reed d5f07e68b7 spelling
svn:revision:67876
svn:branch:brep-debug
svn:account:n_reed
2016-05-12 17:32:15 +00:00
Nicholas Reed 5e53148eb0 minor edits
svn:revision:67875
svn:branch:brep-debug
svn:account:n_reed
2016-05-12 17:22:54 +00:00
Christopher Sean Morrison 557063dd22 clean up parens
svn:revision:67874
svn:branch:trunk
svn:account:brlcad
2016-05-12 16:55:03 +00:00
Robert Parker ae2a224b1b Minor tweak to to_more_args_func (i.e. size_needed already accounts for null argument).
svn:revision:67873
svn:branch:trunk
svn:account:bob1961
2016-05-12 16:30:05 +00:00
Robert Parker 8519b6fd62 Dynamically allocated memory for av in to_more_args_func().
svn:revision:67872
svn:branch:trunk
svn:account:bob1961
2016-05-12 16:24:33 +00:00
Nicholas Reed cb8d3b8cb2 layout and wording changes
svn:revision:67871
svn:branch:brep-debug
svn:account:n_reed
2016-05-11 22:50:10 +00:00
Nicholas Reed 9b95229506 break up some long paragraphs
svn:revision:67870
svn:branch:brep-debug
svn:account:n_reed
2016-05-11 22:04:14 +00:00
Nicholas Reed 3de7fdc7e3 add short note on basic brep command usage
svn:revision:67869
svn:branch:brep-debug
svn:account:n_reed
2016-05-11 21:49:37 +00:00
Nicholas Reed 2e07221328 add a step-by-step example of debugging an evaluation problem with the aid of debug plotting
svn:revision:67868
svn:branch:brep-debug
svn:account:n_reed
2016-05-11 19:06:20 +00:00
Robert Parker 4657adc369 Modify ArcherCore::saveDb to set the modified time of mTargetCopy before saving to mTarget.
svn:revision:67867
svn:branch:trunk
svn:account:bob1961
2016-05-11 18:16:07 +00:00
Christopher Sean Morrison a4f7a0f8a7 BU_PTBL_END is unnecessary too and can be removed minimally impacting by replacing with the macro body in case it's being used as an lvalue (though BU_PTBL_LEN is better where it's an rvalue).
svn:revision:67866
svn:branch:trunk
svn:account:brlcad
2016-05-11 02:14:41 +00:00
Christopher Sean Morrison d101cf223c remove BU_PTBL_CLEAR_I as minimally impacting, deprecate three others
svn:revision:67865
svn:branch:trunk
svn:account:brlcad
2016-05-11 01:57:03 +00:00
Christopher Sean Morrison 559becc0c7 reduce unnecessary API: replace BU_PTBL_CLEAR_I with BU_PTBL_SET and deprecate the routines that directly manipulate the internal data structure
svn:revision:67864
svn:branch:trunk
svn:account:brlcad
2016-05-11 01:54:44 +00:00
Christopher Sean Morrison 8a3532090f some compilers, ither being clever or erroneous, are noticing the potential NULL back from the ternary operator and warning. stashing into a pointer first does the trick.
svn:revision:67863
svn:branch:trunk
svn:account:brlcad
2016-05-10 19:55:37 +00:00
Clifford Yapp 678ac4b4e0 associate Peter's commit name
svn:revision:67862
svn:branch:trunk
svn:account:starseeker
2016-05-10 16:20:46 +00:00
Clifford Yapp 55fdaf6b01 Associate Issac's commit name
svn:revision:67861
svn:branch:trunk
svn:account:starseeker
2016-05-10 16:18:42 +00:00
Clifford Yapp 3ec6e4e4b0 Add Doug's commit name
svn:revision:67860
svn:branch:trunk
svn:account:starseeker
2016-05-10 16:16:57 +00:00
Clifford Yapp 47864ddea0 Add commit name for D. Remenak
svn:revision:67859
svn:branch:trunk
svn:account:starseeker
2016-05-10 16:07:29 +00:00
Christopher Sean Morrison dde21caae8 make bu_ptbl_trunc take a size_t instead of an int for better intent-based comparison and warning-free compiles
svn:revision:67858
svn:branch:trunk
svn:account:brlcad
2016-05-10 15:18:46 +00:00
Clifford Yapp 6eb742ffed Use bu_strcmp to keep regress-repository happy
svn:revision:67857
svn:branch:trunk
svn:account:starseeker
2016-05-10 14:39:29 +00:00
Clifford Yapp 449d536543 Add a clamp flag to the other bn_encode functions for consistency.
svn:revision:67856
svn:branch:trunk
svn:account:starseeker
2016-05-10 12:42:43 +00:00
Christopher Sean Morrison 08ffe6c521 make bu_ptbl_trunc take a size_t instead of an int for better intent-based comparison and warning-free compiles
svn:revision:67855
svn:branch:trunk
svn:account:brlcad
2016-05-10 04:16:47 +00:00
Christopher Sean Morrison af24027ed3 eliminate the last instance where we were accessing ->end merely to expand the size for null pointers. instead, call bu_ptbl_trunc to set it.
svn:revision:67854
svn:branch:trunk
svn:account:brlcad
2016-05-10 04:14:29 +00:00
Christopher Sean Morrison 3449f97ad0 use bu_ptbl_trunc now that it will set the end marker to decrease or increase, but to some truncation at or under the initialized size.
svn:revision:67853
svn:branch:trunk
svn:account:brlcad
2016-05-10 04:09:20 +00:00
Christopher Sean Morrison 10773102bf allow truncating to any size less than the initialized allocation. this lets us to set a size in both directions.
svn:revision:67852
svn:branch:trunk
svn:account:brlcad
2016-05-10 04:07:45 +00:00
Christopher Sean Morrison ebc4b5274f revisit work back in r57743 and r57742 where we try to avoid ptbl crashes when referencing NULL, trying to give our bomb checks a chance to catch them more gracefully. since pointers could be data on the stack, we need to trick the compiler a bit to not warn about the test always being true (it's the ones that are not that we care more about). we do this by forcing a conversion to int first.
svn:revision:67851
svn:branch:trunk
svn:account:brlcad
2016-05-10 03:31:02 +00:00
Clifford Yapp c8a621ca42 See if we can provide a more accurate (i.e. non-clamping) option for matrix to string conversions. This still produces binary level differences in a g2asc asc2g cycle for combs with matricies, but the differences should be smaller.
svn:revision:67850
svn:branch:trunk
svn:account:starseeker
2016-05-09 20:08:54 +00:00
Clifford Yapp 6886a82f6b Use bu_sort instead of qsort
svn:revision:67849
svn:branch:trunk
svn:account:starseeker
2016-05-07 14:28:14 +00:00
Christopher Sean Morrison 17b6351666 update task and time estimates on the brl-cad distillation project
svn:revision:67848
svn:branch:trunk
svn:account:brlcad
2016-05-07 03:13:33 +00:00
Christopher Sean Morrison ee32a8657a sync up output, now the formats will be consistent cross-platform and format is correctly being reported on -e runs too.
svn:revision:67847
svn:branch:trunk
svn:account:brlcad
2016-05-07 00:38:21 +00:00
Christopher Sean Morrison 4b4dbfb0dd report 'default' even when a script isn't being used but -e is specified. also output the formats we found in alphabetical order now that bu_dir_list returns them in order.
svn:revision:67846
svn:branch:trunk
svn:account:brlcad
2016-05-07 00:37:18 +00:00
Christopher Sean Morrison 2ed71ed307 make bu_dir_list return a sorted list of matching files so callers don't have to. opendir+readdir does not guarantee any sort of ordering, but easily something we can guarantee.
svn:revision:67845
svn:branch:trunk
svn:account:brlcad
2016-05-07 00:36:01 +00:00
Clifford Yapp ab9dfd65c8 update expected nirt output in regression test
svn:revision:67844
svn:branch:trunk
svn:account:starseeker
2016-05-06 16:15:32 +00:00
Clifford Yapp c39dadbb5f Play fair - lower the expected number of WIN32 issues.
svn:revision:67843
svn:branch:trunk
svn:account:starseeker
2016-05-05 22:08:54 +00:00
Clifford Yapp c0630af769 more stdio removal (regress-repository++)
svn:revision:67842
svn:branch:trunk
svn:account:starseeker
2016-05-05 22:06:31 +00:00
Clifford Yapp 543033d12a don't need stdio with bio included (thanks Sean).
svn:revision:67841
svn:branch:trunk
svn:account:starseeker
2016-05-05 22:02:52 +00:00
Clifford Yapp c4d1e897bf Add misc tools deprecated messages.
svn:revision:67840
svn:branch:trunk
svn:account:starseeker
2016-05-05 21:48:36 +00:00
Clifford Yapp 06b1cc28e4 Few more includes for sleep
svn:revision:67839
svn:branch:trunk
svn:account:starseeker
2016-05-05 21:44:44 +00:00
Clifford Yapp c5ddd64ee6 Add deprecation warnings for infrared/shapefactor tools (went ahead and added a few notices for tools deprecated back in 7.24 in the same directory as well, for consistency.) Not adding one to ssampview.tcl since its source says it is sourced from the C file.
svn:revision:67838
svn:branch:trunk
svn:account:starseeker
2016-05-05 21:41:07 +00:00
Clifford Yapp 423c472f8e need sleep defined
svn:revision:67837
svn:branch:trunk
svn:account:starseeker
2016-05-05 20:40:48 +00:00
Nicholas Reed cc6751dea5 add a section with examples on how to advance a debugger to the correct evaluation point to investigate issues revealed by dplot
svn:revision:67836
svn:branch:brep-debug
svn:account:n_reed
2016-05-05 18:23:01 +00:00
Clifford Yapp d0a733e7b6 group sig tools into deprecated and non-deprecated
svn:revision:67835
svn:branch:trunk
svn:account:starseeker
2016-05-05 18:13:05 +00:00
Clifford Yapp 0171da00f7 whoops - double-asc is in util, don't forget it
svn:revision:67834
svn:branch:trunk
svn:account:starseeker
2016-05-05 13:36:19 +00:00
Clifford Yapp 9f9c2dfdf4 Add deprecation messages to the sig tools listed in CHANGES
svn:revision:67833
svn:branch:trunk
svn:account:starseeker
2016-05-05 13:35:05 +00:00
Christopher Sean Morrison badebb2cff no need to merge them when they're going away
svn:revision:67832
svn:branch:trunk
svn:account:brlcad
2016-05-05 01:52:07 +00:00
Clifford Yapp d66c10cd18 Add chan_mult and chan_permute to the anim tool deprecation list.
svn:revision:67831
svn:branch:trunk
svn:account:starseeker
2016-05-05 00:54:40 +00:00
Clifford Yapp 088d69f31e Add deprecation warnings for the video and animation tools
svn:revision:67830
svn:branch:trunk
svn:account:starseeker
2016-05-05 00:51:37 +00:00
Nicholas Reed e81b926b42 document how to plot evaluation curves not automatically recorded by dplot
svn:revision:67829
svn:branch:brep-debug
svn:account:n_reed
2016-05-04 19:14:55 +00:00
Nicholas Reed 5d2b2c130f add descriptions of remaining dplot subcommands
svn:revision:67828
svn:branch:brep-debug
svn:account:n_reed
2016-05-04 15:56:19 +00:00
Clifford Yapp 06c988273b Tell NSIS to go for the .exe files, not the bat files - MGED is the only bat launcher left.
svn:revision:67827
svn:branch:trunk
svn:account:starseeker
2016-05-04 13:54:33 +00:00
Clifford Yapp ba927b573c remove rtwizard.bat
svn:revision:67826
svn:branch:trunk
svn:account:starseeker
2016-05-04 13:45:56 +00:00
Christopher Sean Morrison b45d3b0ee5 nirt now reports the current output format setting, itemizes the available formats, and provides parenthetical help for what options pertain to output formatting. this was implemented in regards to prior mailing list discussion and ajem scr 1942 requesting gaps be reported (which is already one of the available output formats.
svn:revision:67825
svn:branch:trunk
svn:account:brlcad
2016-05-04 07:41:42 +00:00
Christopher Sean Morrison e1c620eb09 make nirt report the current output style as well as a listing of the available output formats, with hints on what command line options change the setting or give more info. this is implemented specifically in response to user requests (e.g., ajem scr 1942) where several people have asked to have gaps or exit hitpoints reported, which are features of the other output formats.
svn:revision:67824
svn:branch:trunk
svn:account:brlcad
2016-05-04 07:17:50 +00:00
Christopher Sean Morrison 8d42a37556 plug a tiny leak. we're done with the filename.
svn:revision:67823
svn:branch:trunk
svn:account:brlcad
2016-05-04 06:58:55 +00:00
Christopher Sean Morrison 625002976f consistent #including. # needs to be first char for portability.
svn:revision:67822
svn:branch:trunk
svn:account:brlcad
2016-05-03 21:44:10 +00:00
Clifford Yapp 458cb7ddae Call out the instances in public functions other than rt/solid.h that expose the struct solid type for deprecation.
svn:revision:67821
svn:branch:trunk
svn:account:starseeker
2016-05-03 13:17:51 +00:00
Nicholas Reed 0a89a7b419 add descriptions of the dplot isocsx subcommands
svn:revision:67820
svn:branch:brep-debug
svn:account:n_reed
2016-05-02 20:33:09 +00:00
Clifford Yapp 22a7610b9b add solid.h to the deprecation list - currently public API, should ultimately be managed by libdm backends. Currently exposed in libtclcad, mged and libged - some refactoring and command rework will be needed to hide it successfully, but the idea will be for applications to specify *what* they want drawn (probably via ascii paths or db_full_path entries) and have the dm manage *how* it is drawn. struct solid falls squarely into the 'how' category.
svn:revision:67819
svn:branch:trunk
svn:account:starseeker
2016-05-02 20:31:53 +00:00
Nicholas Reed bf245cfe0d add descriptions of dplot ssx subcommands
svn:revision:67818
svn:branch:brep-debug
svn:account:n_reed
2016-05-02 17:48:34 +00:00
Clifford Yapp be4c784217 Set VERSION as well as SOVERSION
svn:revision:67817
svn:branch:trunk
svn:account:starseeker
2016-05-01 20:42:05 +00:00
Clifford Yapp f47a1b6aa5 protect obj_util.h definitions - I think these are intended to allow wfobj to build stand-alone?
svn:revision:67816
svn:branch:trunk
svn:account:starseeker
2016-05-01 20:28:59 +00:00
Clifford Yapp 4c96da8d67 These headers are also problematic on OpenBSD.
svn:revision:67815
svn:branch:trunk
svn:account:starseeker
2016-05-01 16:16:27 +00:00
Clifford Yapp a0072cc4c7 For whatever reason, the aligned attribute appears to be trouble on OpenBSD (tdata allocated on stack is flagged as ignoring this attribute, which is enough to hault the build.) Until we sort out properly what to do, fall back to not using the aligned attribute on OpenBSD
svn:revision:67814
svn:branch:trunk
svn:account:starseeker
2016-05-01 16:11:43 +00:00
Clifford Yapp 4de47dc376 avoid conflict with signal definition in OpenBSD.
svn:revision:67813
svn:branch:trunk
svn:account:starseeker
2016-05-01 16:00:22 +00:00
Clifford Yapp d5610d2e46 Floating point exact comparison warnings being triggered.
svn:revision:67812
svn:branch:trunk
svn:account:starseeker
2016-05-01 15:59:33 +00:00
Clifford Yapp a9243bb35a OpenBSD actually defines __BEGIN_DECLS and __END_DECLS, so check before doing our own definition in common.h
svn:revision:67811
svn:branch:trunk
svn:account:starseeker
2016-05-01 15:38:02 +00:00
Clifford Yapp bb4d921ab5 OpenBSD defines off_t too
svn:revision:67810
svn:branch:trunk
svn:account:starseeker
2016-05-01 15:33:13 +00:00
Clifford Yapp 4300471f9b Add a note to look into Eigen's Map capability more carefully.
svn:revision:67809
svn:branch:trunk
svn:account:starseeker
2016-04-29 21:22:37 +00:00
Clifford Yapp d5ba2afbb6 Not going to fiddle with this right before release, but make a note to put together a 3D point set dimensionality degeneracy test for libbg as a preliminary step to implementing QuickHull.
svn:revision:67808
svn:branch:trunk
svn:account:starseeker
2016-04-29 20:22:04 +00:00
Clifford Yapp 374121bef6 Set the SOVERSION for freetype
svn:revision:67807
svn:branch:trunk
svn:account:starseeker
2016-04-29 03:32:26 +00:00
Clifford Yapp efeb827baf looks like mesa-libGL-devel is needed for OpenGL, at least on Fedora.
svn:revision:67806
svn:branch:trunk
svn:account:starseeker
2016-04-29 02:40:09 +00:00
Clifford Yapp e7baa4dc39 Quiet warning for release.
svn:revision:67805
svn:branch:trunk
svn:account:starseeker
2016-04-28 20:07:00 +00:00
Clifford Yapp 7c1c56db1a Don't try to manipulate a polyline if we didn't get one back form PolyLine_Approx. Fixes a case where trying to draw a wireframe on a NURBS object triggered a crash.
svn:revision:67804
svn:branch:trunk
svn:account:starseeker
2016-04-28 20:03:39 +00:00
Clifford Yapp a7a0ddd27d If we edit the tcl scripts, we need to re-run pkgIndex and tclIndex.
svn:revision:67803
svn:branch:trunk
svn:account:starseeker
2016-04-28 19:51:06 +00:00
Christopher Sean Morrison 91dd109ec6 add runtime deprecation warnings for the first three tool categories itemized in CHANGES as going away. 35 tools in total.
svn:revision:67802
svn:branch:trunk
svn:account:brlcad
2016-04-28 19:49:02 +00:00
Christopher Sean Morrison 04238bd94e expand cmap tools since it's just a couple. note that png_info needs incorporation (it's useful).
svn:revision:67801
svn:branch:trunk
svn:account:brlcad
2016-04-28 19:47:35 +00:00
Christopher Sean Morrison 3e63a1d9c2 rawbot doesn't need to go through deprecation. it's an undocumented proc-db.
svn:revision:67800
svn:branch:trunk
svn:account:brlcad
2016-04-28 19:34:14 +00:00
Clifford Yapp e3c3883ac0 Since 7.24.4, rtshot firing of single rays with -p -d specification has been fixed.
svn:revision:67799
svn:branch:trunk
svn:account:starseeker
2016-04-28 19:25:15 +00:00
Clifford Yapp ec96d5c62f Keith made fixes - one bug, one unexpected breakage that we'll want to revisit at some point (r67794)
svn:revision:67798
svn:branch:trunk
svn:account:starseeker
2016-04-28 18:47:54 +00:00
Clifford Yapp db3620f8e4 Didn't fix the issue on Window, not needed on Linux. Maybe we need Tk 8.6, but that's post 7.26.0...
svn:revision:67797
svn:branch:trunk
svn:account:starseeker
2016-04-28 18:44:50 +00:00
Nicholas Reed 5a3335859b add dplot command overview
svn:revision:67796
svn:branch:brep-debug
svn:account:n_reed
2016-04-28 18:07:16 +00:00
Clifford Yapp fda014d266 Try the mousewheel fix from Tcl TIP 171.
svn:revision:67795
svn:branch:trunk
svn:account:starseeker
2016-04-28 16:30:44 +00:00
Keith Boman 90b61b7de4 removed, reparameterization causing issues with original step tools samples originally, implemented to fix issue in GrabCADs winchester_mod_1873_20inch_asm.stp that had a large/small narrow width/height ratio
svn:revision:67794
svn:branch:trunk
svn:account:indianlarry
2016-04-28 15:48:02 +00:00
Keith Boman 88f537b267 Removed bad/unnecessary logic when setting min/max UV bounds based on face trims
svn:revision:67793
svn:branch:trunk
svn:account:indianlarry
2016-04-28 15:45:50 +00:00
Nicholas Reed 8271bdf523 start debugging section
svn:revision:67792
svn:branch:brep-debug
svn:account:n_reed
2016-04-28 13:58:20 +00:00
Clifford Yapp f2bbec3a7a For now, take BUILD_TYPES specific assignments of CHECK_C_FLAG and CHECK_CXX_FLAG results out of the picture. CMAKE_C_FLAGS apparently gets picked up by the check_c_source_runs tests, but the config specific vars do not. Rather than relying on CMAKE_C_FLAGS, we should be using the documented CMAKE_REQUIRED_FLAGS variable to define our testing environment - TODO. This also exposes a problem of how to store and use results specific to debug/release environment definitions in a single CMake configuration process, which is not well handled currently. Possible solutions include build time selection of different config.h files and forcing CMake to operate in one-config-per-cmake-run mode regardless of whether the build tool supports multiple configurations, but what the 'correct' solution is isn't clear to me yet.
svn:revision:67791
svn:branch:trunk
svn:account:starseeker
2016-04-27 14:12:30 +00:00
Clifford Yapp e77c0e5e2f Useful to know what we're missing, but this isn't the place to set these vars. Need to figure out somehow why they aren't set when this test is run...
svn:revision:67790
svn:branch:trunk
svn:account:starseeker
2016-04-27 13:08:48 +00:00
Christopher Sean Morrison 0f4371a8b0 slew of reversion cleanup to not print usage statements just because the programs run without any options. they all print usage with -h and most if not all will not print informative messages, particularly when writing out to a file.
svn:revision:67789
svn:branch:trunk
svn:account:brlcad
2016-04-27 00:21:00 +00:00
Christopher Sean Morrison ae51eca930 more messages to more clearly let the user know what is going on.
svn:revision:67788
svn:branch:trunk
svn:account:brlcad
2016-04-26 23:17:04 +00:00
Christopher Sean Morrison a38e5dfc0b more tricky case, but improve things while we're in here. wasn't actually using the user-specified object name, so make it do that. also was initializing a vls and doing nothing with it.
svn:revision:67787
svn:branch:trunk
svn:account:brlcad
2016-04-26 23:16:34 +00:00
Christopher Sean Morrison dae3c80823 this is better, tell the user what's going to happen when we know
svn:revision:67786
svn:branch:trunk
svn:account:brlcad
2016-04-26 23:00:57 +00:00
Christopher Sean Morrison 9f423d4a9f remove the various 'program continues running statements. while some that are preceeded by a usage statement may be confusing when the program doesn't exit, it's similarly redundant to tell them that the program is running when that is evident (by the program still running). maybe need to review these to see why they're printing usage instead of a more helpful message.
svn:revision:67785
svn:branch:trunk
svn:account:brlcad
2016-04-26 22:58:35 +00:00
Christopher Sean Morrison e97cc38f1b remove fbgammamod. atrocious usability and exceptionally dubious general utility. there are also other tools that help with gamma corrections, albeit not as flexbily as this.
svn:revision:67784
svn:branch:trunk
svn:account:brlcad
2016-04-26 22:40:12 +00:00
Christopher Sean Morrison 43161925a6 don't see a practical reason for combining two dsp data files into one outside of debugging purposes or adding noise/features that are probably better dealt with in image compositing software (as a 16-bits per channel image). if we do need this functionality again in the future, it probably belongs with the dsp command and needs to be documented.
svn:revision:67783
svn:branch:trunk
svn:account:brlcad
2016-04-26 22:35:43 +00:00
Christopher Sean Morrison e5c65d3a20 contours is a poor-mans surface point cloud / contour visualization, feeding points into the program an turning them into plot3 commands. there are better ways to do this now and with much richer geometry.
svn:revision:67782
svn:branch:trunk
svn:account:brlcad
2016-04-26 22:24:19 +00:00
Christopher Sean Morrison e79d22ebf8 fhor is undocumented and a framebuffer tool. looking it up, the 'floating horizon' algorithm discussed in fundamentals of computer graphics describes it as a hidden line / plotting method. as dealing with visualization of signals is a topic in itself and this is quite undocumented, it can go now.
svn:revision:67781
svn:branch:trunk
svn:account:brlcad
2016-04-26 22:19:49 +00:00
Christopher Sean Morrison b438560c71 rawbot listed twice
svn:revision:67780
svn:branch:trunk
svn:account:brlcad
2016-04-26 22:17:26 +00:00
Christopher Sean Morrison d3f21c7af9 separating out the converters, external tools and shape tools, this starts to look like an increasingly manageable list.
svn:revision:67779
svn:branch:trunk
svn:account:brlcad
2016-04-26 22:08:03 +00:00
Christopher Sean Morrison f0bc2b2618 note that two of these actually do have manual pages
svn:revision:67778
svn:branch:trunk
svn:account:brlcad
2016-04-26 21:50:35 +00:00
Christopher Sean Morrison 75ee72d5a0 take out proc-db tools now that they're not installed .. now it's a good list of things installed that needs to have a manual page written. 57 commands is still too many, though.
svn:revision:67777
svn:branch:trunk
svn:account:brlcad
2016-04-26 21:45:04 +00:00
Christopher Sean Morrison b58ec42de9 do not install ANY of the proc-db utilities because they do not come with documentation. they just create an unhelpful aura of complexity and cryptic inconsistent usability.
svn:revision:67776
svn:branch:trunk
svn:account:brlcad
2016-04-26 21:39:24 +00:00
Christopher Sean Morrison b91103d033 indent with a tab consistently
svn:revision:67775
svn:branch:trunk
svn:account:brlcad
2016-04-26 21:29:22 +00:00
Christopher Sean Morrison f7b509919c reviewed the list of undocumented commands and annotated those being scheduled for removal in here so we know which can be removed without warning. reviewing the list, researched dozens of additional commands and added many to the list for removal including the yuv image converters, texturescale, additional animation commands fbanim pixflip-fb chan_add, pixfields, pixfieldsep, and NOT all of the plot3 tools (only those that overlap with the overlay command). and probably a few more I'm missing on visual review.
svn:revision:67774
svn:branch:trunk
svn:account:brlcad
2016-04-26 21:28:30 +00:00
Nicholas Reed a9073a1152 balance parens in dplot usage string
svn:revision:67773
svn:branch:brep-debug
svn:account:n_reed
2016-04-26 21:24:05 +00:00
Christopher Sean Morrison 01fb77f087 remove 59 commands that are getting scheduled for removal or refactoring (see CHANGES)
svn:revision:67772
svn:branch:trunk
svn:account:brlcad
2016-04-26 21:20:59 +00:00
Christopher Sean Morrison bde5c65957 looks like the room proc-db is really old, one of the first, and it looks like it has created combs with an Obj entry that do not exist the whole time. As it's not an interesting proc to mature, is serving no debug purpose, and has incurred a cost, kill it.
svn:revision:67771
svn:branch:trunk
svn:account:brlcad
2016-04-26 21:04:33 +00:00
Christopher Sean Morrison a5b6857382 avoid using commas in names
svn:revision:67770
svn:branch:trunk
svn:account:brlcad
2016-04-26 21:02:35 +00:00
Nicholas Reed 42d8d404c6 reference the sources for the basic bool eval and intersection algorithms
svn:revision:67769
svn:branch:brep-debug
svn:account:n_reed
2016-04-26 20:47:40 +00:00
Christopher Sean Morrison 6ac3830bb2 terrain dumps out a dsp datafile, so it's prime candidate for src/shapes.
svn:revision:67768
svn:branch:trunk
svn:account:brlcad
2016-04-26 18:30:20 +00:00
Christopher Sean Morrison ee31d44111 add fbanim on principle. animation is out the window. also, tried to use it and couldn't get it to actually talk to an fbserv as documented.
svn:revision:67767
svn:branch:trunk
svn:account:brlcad
2016-04-26 17:56:33 +00:00
Christopher Sean Morrison 70c0c9f6d6 did not address geometry visualization in the archer projects so make sure we capture that need as well in a smaller project of its own.
svn:revision:67766
svn:branch:trunk
svn:account:brlcad
2016-04-26 17:52:55 +00:00
Christopher Sean Morrison 60eaf34cad don't skip fbcmrot. it's a colormap tool too.
svn:revision:67765
svn:branch:trunk
svn:account:brlcad
2016-04-26 17:35:10 +00:00
Clifford Yapp f49a7a9149 With clang 3.4.1 on *BSD, we need to make sure we have both the -pedantic and -std=gnu89 flags in addition to the Werror flag defined for the test (pedantic is what triggers the -Wc99-extensions flag). We evidently weren't getting the pedantic flag in the compile test, but do get it in the main build.
svn:revision:67764
svn:branch:trunk
svn:account:starseeker
2016-04-26 17:15:39 +00:00
Christopher Sean Morrison 9fc868b625 ws
svn:revision:67763
svn:branch:trunk
svn:account:brlcad
2016-04-26 16:30:34 +00:00
Clifford Yapp 14f74c127b Add notes in REMOVED that note the Tcl/Tk man pages and UtahRLE image tools are no longer installed by BRLL-CAD.
svn:revision:67762
svn:branch:trunk
svn:account:starseeker
2016-04-26 14:37:59 +00:00
Clifford Yapp af56cd0e29 per user request, let users know if the rcodes file didn't make any changes.
svn:revision:67761
svn:branch:trunk
svn:account:starseeker
2016-04-26 14:31:59 +00:00
Clifford Yapp 2bf99947e4 dbcp was actually deprecated a long time back - go ahead and yank it.
svn:revision:67760
svn:branch:trunk
svn:account:starseeker
2016-04-26 13:56:00 +00:00
Clifford Yapp c5133a6ad1 terrain needs more investigation.
svn:revision:67759
svn:branch:trunk
svn:account:starseeker
2016-04-26 13:50:03 +00:00
Clifford Yapp 8fe00edcec Original list of tools has been covered by new, more comprehensive listing (except png_info,which was moved into image tools.)
svn:revision:67758
svn:branch:trunk
svn:account:starseeker
2016-04-26 13:49:05 +00:00
Christopher Sean Morrison e32aea9524 this list still needs to be reconciled, but stub in our initial swath of tools we're removing to focus usability and complexity reduction
svn:revision:67757
svn:branch:trunk
svn:account:brlcad
2016-04-26 05:16:16 +00:00
Christopher Sean Morrison 4f97a4c4fa update the docs to reflect changing draw -M to draw -S for simpler wireframes
svn:revision:67756
svn:branch:trunk
svn:account:brlcad
2016-04-26 04:44:16 +00:00
Christopher Sean Morrison 75565a805a more/final duplication reduction -- do the comparison and let us know the answer.
svn:revision:67755
svn:branch:trunk
svn:account:brlcad
2016-04-26 04:33:48 +00:00
Christopher Sean Morrison 1c2b62a9ab still need to compile test on windows, but take steps to reduce much of the code duplication
svn:revision:67754
svn:branch:trunk
svn:account:brlcad
2016-04-26 04:16:45 +00:00
Christopher Sean Morrison 962d29fd43 don't leave loose ends, bu_same_fd() was using the same method as bu_same_file(), using stat to determine if two files are different. use a slight variation with _get_osfhandle() to test for it properly.
svn:revision:67753
svn:branch:trunk
svn:account:brlcad
2016-04-26 04:06:25 +00:00
Christopher Sean Morrison 4c975574c1 convert macro to do/while so it requires a semicolon, and ws
svn:revision:67752
svn:branch:trunk
svn:account:brlcad
2016-04-26 03:48:58 +00:00
Christopher Sean Morrison 64800da42b gang up -L with the previously undocumented -S option so we can consistently keep the capital letters implying negation (no subtractions) and represent a more generalized notion of drawing simplified wireframes. reword the -L option so that it can more generally apply to any object, though finding a good generalized metric may not be easy.
svn:revision:67751
svn:branch:trunk
svn:account:brlcad
2016-04-26 00:37:55 +00:00
Christopher Sean Morrison 4311dcb669 double-up the -S to imply drawing a 'simplified' wireframe instead of introducing a -M, which works for nmg-no-surfaces and no subtractions
svn:revision:67750
svn:branch:trunk
svn:account:brlcad
2016-04-26 00:13:10 +00:00
Nicholas Reed f72892e1d0 record sync revisions as merged
svn:revision:67749
svn:branch:trunk
svn:account:n_reed
2016-04-25 22:05:12 +00:00
Nicholas Reed 9c0be4c700 merge r67716 through r67745 changes from trunk
svn:revision:67748
svn:branch:brep-debug
svn:account:n_reed
2016-04-25 21:55:27 +00:00
Nicholas Reed f70e5afe02 merge r67608 through r67715 from trunk
svn:revision:67747
svn:branch:brep-debug
svn:account:n_reed
2016-04-25 21:40:27 +00:00
Nicholas Reed 6513dd74f3 merge r67508 through r67607 from trunk
svn:revision:67746
svn:branch:brep-debug
svn:account:n_reed
2016-04-25 20:39:09 +00:00
Christopher Sean Morrison ebefcda1b9 rt -b is the one that lets you specify specific xy pixel coordinates to reshoot a ray
svn:revision:67745
svn:branch:trunk
svn:account:brlcad
2016-04-25 20:15:28 +00:00
Clifford Yapp 2f0726378d Added -S option to brlman command to specify which man page section (1, 3, 5, n) to browse and list in the ToC panel.
svn:revision:67744
svn:branch:trunk
svn:account:starseeker
2016-04-25 19:28:02 +00:00
Clifford Yapp 87ae49ba68 Add the Tk_DeleteEventHandler call to osg while we're at it.
svn:revision:67743
svn:branch:trunk
svn:account:starseeker
2016-04-25 19:22:21 +00:00
Christopher Sean Morrison affb506f7b huge arrowheads are fixed, planes maybe have issue but were seen working when tested from linux
svn:revision:67742
svn:branch:trunk
svn:account:brlcad
2016-04-25 19:10:14 +00:00
Clifford Yapp e553e56021 Doesn't appear related to bu_hash - should be fixed with r67739
svn:revision:67741
svn:branch:trunk
svn:account:starseeker
2016-04-25 19:02:50 +00:00
Nicholas Reed fc4408e598 merge r67405 through r67507 changes from trunk
svn:revision:67740
svn:branch:brep-debug
svn:account:n_reed
2016-04-25 18:48:58 +00:00
Clifford Yapp 427549a277 pl->ap pointers are pointing to elements of ray_aps - free all at once with the final bu_free call. Don't free in loop, or we get a double-free crash.
svn:revision:67739
svn:branch:trunk
svn:account:starseeker
2016-04-25 18:41:12 +00:00
Clifford Yapp 4422e4d1b2 extensive work has now been done on rtwizard, with a lot more testing than it normally sees.
svn:revision:67738
svn:branch:trunk
svn:account:starseeker
2016-04-25 18:17:25 +00:00
Clifford Yapp 53805b7e1b dealt with burst
svn:revision:67737
svn:branch:trunk
svn:account:starseeker
2016-04-25 18:13:47 +00:00
Christopher Sean Morrison ce909cafe0 don't blindly try to spew to /dev/tty. also don't close stderr if we're not duping it.
svn:revision:67736
svn:branch:trunk
svn:account:brlcad
2016-04-25 18:12:50 +00:00
Christopher Sean Morrison 2dd232bab8 everyone that has worked on libicv should be included in the credits to the 'icv' tool since work is credtied in news when it finally gets exposed to users. means we need to remember lib devs, particularly Mohit Daga in this instance since he implemented most of the current underpinnings of icv.
svn:revision:67735
svn:branch:trunk
svn:account:brlcad
2016-04-25 17:40:17 +00:00
Christopher Sean Morrison 1c0b6ce9ba add mohitdaga alias as that's his commit name
svn:revision:67734
svn:branch:trunk
svn:account:brlcad
2016-04-25 17:34:03 +00:00
Christopher Sean Morrison ff635e7f56 per user request, cliff added a -m option to the lc command (in r67718) that reports regions that share a region ID number but do not share the same material ID or los values. (rewording to clarify what disjoint means, comment was 'Add -m option to lc to report region_id sets containing non-matching material_id and/or los values.'
svn:revision:67733
svn:branch:trunk
svn:account:brlcad
2016-04-25 17:28:37 +00:00
Christopher Sean Morrison 380d87e7e8 pull status out so we always return something (lintian)
svn:revision:67732
svn:branch:trunk
svn:account:brlcad
2016-04-25 17:18:11 +00:00
Christopher Sean Morrison 217ebcda1d deldoublesemi
svn:revision:67731
svn:branch:trunk
svn:account:brlcad
2016-04-25 17:08:57 +00:00
Clifford Yapp 17d70eb4b0 Getting a black screen when brining a wgl dm up from minimization. Until a better solution is found, set up an event filter that triggers buffer swapping to get a refresh of the screen.
svn:revision:67730
svn:branch:trunk
svn:account:starseeker
2016-04-25 16:37:48 +00:00
Clifford Yapp 821ced8843 Fix unit test target on Windows
svn:revision:67729
svn:branch:trunk
svn:account:starseeker
2016-04-25 14:59:17 +00:00
Christopher Sean Morrison cce614722e type-wise, lrint() is expected to return a long int, so we must make sure our macro ensures it since floor/ceil obviously do not.
svn:revision:67728
svn:branch:trunk
svn:account:brlcad
2016-04-25 14:07:45 +00:00
Clifford Yapp f93396bc94 Don't skip setting ignore on the last item in the table.
svn:revision:67727
svn:branch:trunk
svn:account:starseeker
2016-04-25 13:23:26 +00:00
Christopher Sean Morrison 5ae48a59fa credit Nick Gerstner for the burst and rtg3 mods that makes those tools now output 5-digit component IDs. looking at his patch notes, it looks like he actually made this change way back in 2011(\!). he also added some LOS clamping to rtg3, albeit without much detail as to why...
svn:revision:67726
svn:branch:trunk
svn:account:brlcad
2016-04-24 02:31:08 +00:00
Christopher Sean Morrison 1455c97593 cliff documented the -R draw command option that was added back in 2009 (by me, apparently without docs) for drawing without resizing the view.
svn:revision:67725
svn:branch:trunk
svn:account:brlcad
2016-04-24 02:15:14 +00:00
Christopher Sean Morrison f3a33d1c3a fit to column 70
svn:revision:67724
svn:branch:trunk
svn:account:brlcad
2016-04-24 01:44:32 +00:00
Clifford Yapp 77725a3d07 Add a TODO with some thoughts about dm/draw issues.
svn:revision:67723
svn:branch:trunk
svn:account:starseeker
2016-04-23 21:44:10 +00:00
Clifford Yapp 9b978c06a3 tweaks, ws
svn:revision:67722
svn:branch:trunk
svn:account:starseeker
2016-04-23 21:28:25 +00:00
Clifford Yapp 5e12fffd96 Document the -R option for draw, since we're using it in rtwizard now.
svn:revision:67721
svn:branch:trunk
svn:account:starseeker
2016-04-23 21:22:48 +00:00
Clifford Yapp f6900e02ff If debugging code for timing is enabled, need bu_gettime
svn:revision:67720
svn:branch:trunk
svn:account:starseeker
2016-04-23 14:55:31 +00:00
Clifford Yapp 368cfd814e Up rtg3 and burst output to 5 digits for component numbers
svn:revision:67719
svn:branch:trunk
svn:account:starseeker
2016-04-22 18:52:49 +00:00
Clifford Yapp 6015dc11f0 Add -m option to lc to report region_id sets containing non-matching material_id and/or los values.
svn:revision:67718
svn:branch:trunk
svn:account:starseeker
2016-04-22 18:41:31 +00:00
Clifford Yapp 3f11a86a6d ws
svn:revision:67717
svn:branch:trunk
svn:account:starseeker
2016-04-22 15:22:43 +00:00
Clifford Yapp 6ac26ee35c Add basic manual page and NEWS item for icv image conversion tool.
svn:revision:67716
svn:branch:trunk
svn:account:starseeker
2016-04-22 15:19:13 +00:00
Clifford Yapp be3c29c5d3 We now have a successful run of the burst tool in batch mode on Windows. The termlib interface has not and will not be ported, and not all features work even in batch mode, but shotline and burst text files have been successfully generated.
svn:revision:67715
svn:branch:trunk
svn:account:starseeker
2016-04-22 01:33:39 +00:00
Clifford Yapp 4754be8a06 error-file and color-file cause problems with the Release build on MSVC. If we comment those out, burst runs.
svn:revision:67714
svn:branch:trunk
svn:account:starseeker
2016-04-22 01:29:32 +00:00
Clifford Yapp 5ff1649566 Got burst to run. This example is almost certainly not minimal, but since it did work (on Linux) checkpoint it.
svn:revision:67713
svn:branch:trunk
svn:account:starseeker
2016-04-22 01:01:48 +00:00
Clifford Yapp 694508b3a3 ws
svn:revision:67712
svn:branch:trunk
svn:account:starseeker
2016-04-22 00:54:51 +00:00
Clifford Yapp c89cbe4ea2 Close enough. burst man1 page is now live. mm version will be in repo history if something was missed
svn:revision:67711
svn:branch:trunk
svn:account:starseeker
2016-04-22 00:52:13 +00:00
Clifford Yapp b9b8d17f04 Teach brlman a few more tricks. If we're viewing a man1 man page, the ToC list of man pages should also be the man1 pages (and so on for the other categories. Add a -S option to force graphical mode to list a particular section, and a help option.
svn:revision:67710
svn:branch:trunk
svn:account:starseeker
2016-04-21 15:55:04 +00:00
Robert Parker 3c7a737ef0 Commented out a bit of code in Archer::initDefaultBindings that was causing a performance issue while using the shift-grips.
svn:revision:67709
svn:branch:trunk
svn:account:bob1961
2016-04-21 14:19:12 +00:00
Robert Parker 04c4de70c6 Simplified ArcherCore::getTreeMembers
svn:revision:67708
svn:branch:trunk
svn:account:bob1961
2016-04-21 13:34:49 +00:00
Christopher Sean Morrison af5b78eac2 remove more non-committal bs. tell it like it is.
svn:revision:67707
svn:branch:trunk
svn:account:brlcad
2016-04-21 04:49:17 +00:00
Christopher Sean Morrison 0a87bf7413 own em or gttfo
svn:revision:67706
svn:branch:trunk
svn:account:brlcad
2016-04-21 04:41:40 +00:00
Christopher Sean Morrison abe611ab06 remove never-completed unused 'experimental' code.
svn:revision:67705
svn:branch:trunk
svn:account:brlcad
2016-04-21 04:37:04 +00:00
Christopher Sean Morrison 09239cf865 savekey is not experimental
svn:revision:67704
svn:branch:trunk
svn:account:brlcad
2016-04-21 04:29:11 +00:00
Christopher Sean Morrison b2e26ea92e ugh, cut the BS noncommittal disavowing. own it, finish it, or get rid of it.
svn:revision:67703
svn:branch:trunk
svn:account:brlcad
2016-04-21 04:25:42 +00:00
Christopher Sean Morrison d2f1d498b6 beyond experimental developments is no longer true
svn:revision:67702
svn:branch:trunk
svn:account:brlcad
2016-04-21 04:22:04 +00:00
Christopher Sean Morrison 3eb72137f5 stick with one convention, no need for space padding. also libbu/libbn were not removed, clarify that it's a dependency on tcl that went away.
svn:revision:67701
svn:branch:trunk
svn:account:brlcad
2016-04-21 04:11:35 +00:00
Christopher Sean Morrison 0f5d131dc3 remove the 'experimental', i.e., undocumented and never really used but incurred considerable maintenance cost over the years, pov command. the command was by carl nuzman (arl summer student) as a one-stop command for setting a view. lots of ways to create a conflicting specification and there are many (albeit multi-command) alternatives available for setting the view.
svn:revision:67700
svn:branch:trunk
svn:account:brlcad
2016-04-21 04:05:25 +00:00
Christopher Sean Morrison 82e705d16b things that go through deprecation are not necessarily obsolete, but they are removed.
svn:revision:67699
svn:branch:trunk
svn:account:brlcad
2016-04-21 04:01:40 +00:00
Christopher Sean Morrison 8c6ea7fa2a remove the undocumented and marked-as-experimental 'polybinout' command that looks an aweful lot like the poly command, but with custom binary data being written out from serialized structs. nor bob or I know of anyone that ever used the command.
svn:revision:67698
svn:branch:trunk
svn:account:brlcad
2016-04-21 03:42:15 +00:00
Christopher Sean Morrison a358795838 since there was a mention of pl in some docs, go ahead and inform users that pl went away. considered minimally impacting as plot command did the same thing without the errors pl had
svn:revision:67697
svn:branch:trunk
svn:account:brlcad
2016-04-21 03:18:18 +00:00
Christopher Sean Morrison af699c463c pl command was removed in favor of plot command, so don't mention it any more
svn:revision:67696
svn:branch:trunk
svn:account:brlcad
2016-04-21 03:07:42 +00:00
Clifford Yapp 3b60eb9365 use the var...
svn:revision:67695
svn:branch:trunk
svn:account:starseeker
2016-04-21 03:02:01 +00:00
Christopher Sean Morrison e74c7366a8 vdraw is also no longer experimental. even has a nicely detailed manpage.
svn:revision:67694
svn:branch:trunk
svn:account:brlcad
2016-04-21 03:00:58 +00:00
Christopher Sean Morrison 792a6c37af remove duplicate comment
svn:revision:67693
svn:branch:trunk
svn:account:brlcad
2016-04-21 03:00:29 +00:00
Christopher Sean Morrison 9964f2f2dd xpush is not experimental
svn:revision:67692
svn:branch:trunk
svn:account:brlcad
2016-04-21 02:56:49 +00:00
Clifford Yapp a8ac2f9739 reference other burst man pages
svn:revision:67691
svn:branch:trunk
svn:account:starseeker
2016-04-21 01:29:31 +00:00
Clifford Yapp 3c464f0669 Add man page for burst shotline file format
svn:revision:67690
svn:branch:trunk
svn:account:starseeker
2016-04-21 01:28:41 +00:00
Clifford Yapp 69291cf8fc Don't complain about differences between argv0 and bu_brlcad_root unless we actually know enough to do so.
svn:revision:67689
svn:branch:trunk
svn:account:starseeker
2016-04-21 01:10:19 +00:00
Clifford Yapp 25e7fcbf3c ws
svn:revision:67688
svn:branch:trunk
svn:account:starseeker
2016-04-21 00:57:03 +00:00
Clifford Yapp ca417bb8db Add in man page with table for burst_point_library file format.
svn:revision:67687
svn:branch:trunk
svn:account:starseeker
2016-04-21 00:55:44 +00:00
Clifford Yapp c9242fc497 Create the vars to satisfy the tcl scripts, even if we don't have argv.
svn:revision:67686
svn:branch:trunk
svn:account:starseeker
2016-04-21 00:15:26 +00:00
Clifford Yapp 46a76f58b4 Add color key tables
svn:revision:67685
svn:branch:trunk
svn:account:starseeker
2016-04-20 23:26:38 +00:00
Clifford Yapp 4d3f1315ac rough transfer of the majority of the text from the burst document. Still have several tables and a lot of reference and command notation to do, plus a general proofread to make sure the absence of the menu entry lines hasn't eliminated essential context.
svn:revision:67684
svn:branch:trunk
svn:account:starseeker
2016-04-20 21:03:01 +00:00
Clifford Yapp 27b438c248 Set up structure for more of the burst doc contents
svn:revision:67683
svn:branch:trunk
svn:account:starseeker
2016-04-20 20:35:50 +00:00
Clifford Yapp ff93f04f95 check args before processing
svn:revision:67682
svn:branch:trunk
svn:account:starseeker
2016-04-20 20:34:31 +00:00
Nicholas Reed d619e79c6e fix typo from r67151's bu hash api conversion causing null dereference
svn:revision:67681
svn:branch:trunk
svn:account:n_reed
2016-04-20 19:39:05 +00:00
Clifford Yapp d54322c61e don't need to duplicate argv array any longer.
svn:revision:67680
svn:branch:trunk
svn:account:starseeker
2016-04-20 19:33:05 +00:00
Christopher Sean Morrison ca7bae5400 move discussions with users onto the end of the alpha process so we have a better handle on what beta tasks are needed for final release. this makes both projects fit the time criteria without worrying about interdependencies.
svn:revision:67679
svn:branch:trunk
svn:account:brlcad
2016-04-20 18:02:59 +00:00
Christopher Sean Morrison 569522dc78 Massive rewickering of the archer deployment project. After meeting and applying time estimates, the project was beyond the defined scope at 25+ weeks of effort. Faced with either identifying dependencies and resources or defering/separating into multiple projects, the latter path was taken. Now deployment spans two projects with the first being a completion of ALPHA tasks and the latter a completion of essential BETA tasks.
svn:revision:67678
svn:branch:trunk
svn:account:brlcad
2016-04-20 17:57:29 +00:00
Christopher Sean Morrison ac6dd1e640 savekey is not experimental. has a manpage and was migrated to libged
svn:revision:67677
svn:branch:trunk
svn:account:brlcad
2016-04-20 17:10:06 +00:00
Christopher Sean Morrison 582f55fb25 remove the experimental and undocumented 'pl' command that was never finished. while it attempted a novel approach, attaching to mged to directly get the wireframe from the DM, the plot it produced was ever so slightly invalid and it included the faceplate (maybe a feature, but unexpected) and it was mangled.
svn:revision:67676
svn:branch:trunk
svn:account:brlcad
2016-04-20 17:07:05 +00:00
Christopher Sean Morrison bd85be8b38 with the cmake build placing build targets into the bin dir, finding them is greatly simplified. so we don't need to be aware of the source tree. as regression tests are (by definition) testing user tools, everything being tested should be in the bin dir. probably not necessary to even keep bench in the list, but leaving it alone for now.
svn:revision:67675
svn:branch:trunk
svn:account:brlcad
2016-04-20 17:01:14 +00:00
Clifford Yapp 8167512b78 If we're going to do this, do it right. Start migrating the burst command documentation into the man page.
svn:revision:67674
svn:branch:trunk
svn:account:starseeker
2016-04-20 16:43:54 +00:00
Christopher Sean Morrison c09cb482e8 the regress-quote regression test isn't really a regression test as it's entire purpose seems to be to run a single libbu unit test. this is unnecessary as unit tests are their own testing category and there's no regression behavior being distinctly evaluated here different from the unit testing.
svn:revision:67673
svn:branch:trunk
svn:account:brlcad
2016-04-20 16:20:01 +00:00
Christopher Sean Morrison e87c011e87 test_quote was renamed to test_bu_escape, and is not located where ensearch() knew to look.
svn:revision:67672
svn:branch:trunk
svn:account:brlcad
2016-04-20 16:16:20 +00:00
Clifford Yapp c1db362436 tags in comments
svn:revision:67671
svn:branch:trunk
svn:account:starseeker
2016-04-20 14:23:32 +00:00
Clifford Yapp b1533b93c7 tag commands and options
svn:revision:67670
svn:branch:trunk
svn:account:starseeker
2016-04-20 14:20:17 +00:00
Clifford Yapp 5e302a3d2d Add the burst command table from the old report
svn:revision:67669
svn:branch:trunk
svn:account:starseeker
2016-04-20 14:02:00 +00:00
Christopher Sean Morrison c9e7c891d4 cliff reworked datum wireframes addressing a user request to distinguish them from regular geometry by drawing them in yellow. also fixed a bug in the datum wireframes causing the line arrowheads to get stretched.
svn:revision:67668
svn:branch:trunk
svn:account:brlcad
2016-04-20 03:22:47 +00:00
Clifford Yapp fedce40734 Scale both the normal line and the plane square based on the user specified length of the datum normal vector. This allows the user to define datum planes that are visible on the scale they need (an example is the m35 component, where a unit plane is not visible when the whole truck is drawn...)
svn:revision:67667
svn:branch:trunk
svn:account:starseeker
2016-04-20 02:35:02 +00:00
Christopher Sean Morrison b795708e67 burst now has an initial manual page
svn:revision:67666
svn:branch:trunk
svn:account:brlcad
2016-04-20 02:04:47 +00:00
Clifford Yapp d17ad7fc35 Stub in the start of a burst man page.
svn:revision:67665
svn:branch:trunk
svn:account:starseeker
2016-04-20 00:17:57 +00:00
Clifford Yapp 11e86aa43b Set default initial color of yellow for datum objects.
svn:revision:67664
svn:branch:trunk
svn:account:starseeker
2016-04-19 21:50:10 +00:00
Clifford Yapp 1cf91d8c37 respect color attribute on individual solids for drawing wireframes.
svn:revision:67663
svn:branch:trunk
svn:account:starseeker
2016-04-19 21:40:52 +00:00
Clifford Yapp 226647486d Make a stab at reworking how datum lines and planes are redrawn
svn:revision:67662
svn:branch:trunk
svn:account:starseeker
2016-04-19 19:02:22 +00:00
Christopher Sean Morrison d894c54d25 need to implement quasi-random unbiased iterative spherical ray sampling.
svn:revision:67661
svn:branch:trunk
svn:account:brlcad
2016-04-19 18:36:13 +00:00
Clifford Yapp 31ccc15142 We need to verify that the burst tool is working.
svn:revision:67660
svn:branch:trunk
svn:account:starseeker
2016-04-19 17:52:30 +00:00
Clifford Yapp cd08f49318 comment so having 1 here instead of ac doesn't look like a typo.
svn:revision:67659
svn:branch:trunk
svn:account:starseeker
2016-04-19 17:23:53 +00:00
Clifford Yapp 076c139375 Don't pass all the command line args on to tcl (we're handling them here, and they appear to be able to mess with subsequent Tcl processing depending on which args are passed.)
svn:revision:67658
svn:branch:trunk
svn:account:starseeker
2016-04-19 14:46:38 +00:00
Clifford Yapp eca605b07f As near as I can tell, rtg3 looks OK. Runs both with and without the -c "set ray_data_file=..." setting.
svn:revision:67657
svn:branch:trunk
svn:account:starseeker
2016-04-19 14:28:34 +00:00
Clifford Yapp 6a3845e234 Sync with trunk thru r67628
svn:revision:67629
svn:branch:gecode
svn:account:starseeker
2016-04-12 20:25:25 +00:00
Nicholas Reed f30b31538d add note on memory allocation
svn:revision:67443
svn:branch:brep-debug
svn:account:n_reed
2016-03-22 17:51:43 +00:00
Nicholas Reed f6ffcf1769 fix docbook macro path
svn:revision:67442
svn:branch:brep-debug
svn:account:n_reed
2016-03-22 17:14:30 +00:00
Clifford Yapp 735d5b771b Sync with trunk up to r66992 (part 3)
svn:revision:66997
svn:branch:gecode
svn:account:starseeker
2016-02-01 22:42:23 +00:00
Clifford Yapp 63138217b0 Sync with trunk up to r66992 (part 2)
svn:revision:66995
svn:branch:gecode
svn:account:starseeker
2016-02-01 22:22:13 +00:00
Clifford Yapp 3fc4a6b002 Sync with trunk up to r66992 (part 1)
svn:revision:66994
svn:branch:gecode
svn:account:starseeker
2016-02-01 22:12:16 +00:00
Clifford Yapp 7597ed5c32 Sync with trunk up to r66436
svn:revision:66438
svn:branch:gecode
svn:account:starseeker
2015-10-15 19:09:48 +00:00
Clifford Yapp 8a3772a563 Sync with trunk up to r66383
svn:revision:66384
svn:branch:gecode
svn:account:starseeker
2015-10-02 15:59:24 +00:00
Clifford Yapp 4bec8c4978 Sync with trunk thru r65797
svn:revision:65798
svn:branch:gecode
svn:account:starseeker
2015-08-02 20:28:28 +00:00
Clifford Yapp ba0fb75ef6 Update to r65492
svn:revision:65493
svn:branch:gecode
svn:account:starseeker
2015-06-29 17:19:27 +00:00
Clifford Yapp f94e664234 Sync with trunk thru r65283
svn:revision:65284
svn:branch:gecode
svn:account:starseeker
2015-06-12 20:05:42 +00:00
Clifford Yapp 685cd2a125 Sync to r64234
svn:revision:64237
svn:branch:gecode
svn:account:starseeker
2015-02-19 21:37:26 +00:00
Clifford Yapp 6b4777119c sync with trunk to 63243
svn:revision:63245
svn:branch:gecode
svn:account:starseeker
2014-10-31 14:25:11 +00:00
Clifford Yapp d7a6082d02 Update gecode to version 4.3.0
svn:revision:63026
svn:branch:gecode
svn:account:starseeker
2014-09-25 16:50:51 +00:00
Clifford Yapp 73a885eb64 Sync gecode with trunk up to -r62968
svn:revision:62969
svn:branch:gecode
svn:account:starseeker
2014-09-24 19:33:15 +00:00
Clifford Yapp 4178370307 Sync with trunk up to r62641
svn:revision:62642
svn:branch:gecode
svn:account:starseeker
2014-09-10 17:27:26 +00:00
Clifford Yapp 6ed0824d8c Sync with trunk up to r62631
svn:revision:62635
svn:branch:gecode
svn:account:starseeker
2014-09-10 15:48:39 +00:00
Clifford Yapp 6e21822be0 Sync with trunk up to r62573
svn:revision:62574
svn:branch:gecode
svn:account:starseeker
2014-09-08 15:15:30 +00:00
Clifford Yapp 665ef5d1a0 Sync with trunk up to r62473
svn:revision:62474
svn:branch:gecode
svn:account:starseeker
2014-09-02 13:13:11 +00:00
Clifford Yapp feb21dc425 Sync with trunk up to r62451
svn:revision:62452
svn:branch:gecode
svn:account:starseeker
2014-08-29 15:34:09 +00:00
Clifford Yapp 4ef7b84876 Sync through r62428
svn:revision:62433
svn:branch:gecode
svn:account:starseeker
2014-08-27 19:24:16 +00:00
Clifford Yapp fd7469ea47 Sync through trunk r62360
svn:revision:62365
svn:branch:gecode
svn:account:starseeker
2014-08-21 22:24:29 +00:00
Clifford Yapp 185be6c10e Sync through trunk r62159
svn:revision:62160
svn:branch:gecode
svn:account:starseeker
2014-08-15 13:17:46 +00:00
Clifford Yapp 40b4cfee0e Sync through trunk r62129
svn:revision:62130
svn:branch:gecode
svn:account:starseeker
2014-08-13 19:07:11 +00:00
Clifford Yapp 730e8e0080 Sync through trunk r62100
svn:revision:62101
svn:branch:gecode
svn:account:starseeker
2014-08-12 18:42:46 +00:00
Clifford Yapp e5f3a95985 Sync through trunk r62062
svn:revision:62063
svn:branch:gecode
svn:account:starseeker
2014-08-11 13:36:20 +00:00
Clifford Yapp d6cde9df03 Sync through trunk r62021
svn:revision:62022
svn:branch:gecode
svn:account:starseeker
2014-08-06 20:04:45 +00:00
Clifford Yapp a7cff1900c Sync through trunk r61988
svn:revision:61989
svn:branch:gecode
svn:account:starseeker
2014-07-31 18:58:05 +00:00
Clifford Yapp b7569cc417 Sync through trunk r61966
svn:revision:61970
svn:branch:gecode
svn:account:starseeker
2014-07-29 14:05:27 +00:00
Clifford Yapp d817c9f9d2 Sync through trunk r61952
svn:revision:61955
svn:branch:gecode
svn:account:starseeker
2014-07-28 13:08:08 +00:00
Clifford Yapp 893b083e76 gecode DFS solver's next doesn't have a reset? need to figure out if there is a right way to do multiple iterations over a solution set. If not, need to build our own copy of the results for post-processing, rather than running the solver twice.
svn:revision:61922
svn:branch:gecode
svn:account:starseeker
2014-07-24 20:56:48 +00:00
Clifford Yapp 2b600af618 Have the gecode example spit out in commands.
svn:revision:61862
svn:branch:gecode
svn:account:starseeker
2014-07-21 21:55:38 +00:00
Clifford Yapp c814183dc1 Add some notes about the promising minizinc 2.0 library
svn:revision:61842
svn:branch:gecode
svn:account:starseeker
2014-07-18 23:07:09 +00:00
Clifford Yapp 021ff3274f Add notes about minizinc/flatzinc
svn:revision:61836
svn:branch:gecode
svn:account:starseeker
2014-07-18 16:20:18 +00:00
Clifford Yapp 60a259b41e Looks like we can just use -1 without naming it.
svn:revision:61835
svn:branch:gecode
svn:account:starseeker
2014-07-18 15:29:50 +00:00
Clifford Yapp 5461ce1a24 Add a (very) basic example of specifying constraints via flatzinc (http://www.minizinc.org/specifications.html) using the perpendicularity test with length equality constraint. This is interesting as a tool-independent language - we might be able to teach librt primitives (for example) to generate flatzinc specifications for their constraints using tolerance settings as inputs to flatzinc templates, and then pass those in to libpc (which would make use of gecode's flatzinc support initially, but could in principle use any tool that speaks flatzinc or for which a flatzinc translator could be built.)
svn:revision:61834
svn:branch:gecode
svn:account:starseeker
2014-07-18 15:28:03 +00:00
Clifford Yapp 437c3e5c7f Sync through trunk r61819
svn:revision:61824
svn:branch:gecode
svn:account:starseeker
2014-07-17 21:24:40 +00:00
Clifford Yapp 5fe05c461d Stash an example of custom domain constraint addition to gecode from http://www.gecode.org/pipermail/users/2008-November/001991.html - doesn't work with modern Gecode, but may provide some hints for tying custom constraints (like 'on a spline curve') into a gecode constraint solve.
svn:revision:61784
svn:branch:gecode
svn:account:starseeker
2014-07-16 18:01:53 +00:00
Clifford Yapp f28a5524d3 Add pnt on line segment constraint setup - successfully generates a set of points on a segment.
svn:revision:61775
svn:branch:gecode
svn:account:starseeker
2014-07-16 14:17:57 +00:00
Clifford Yapp 57670f4332 add comment
svn:revision:61770
svn:branch:gecode
svn:account:starseeker
2014-07-16 13:05:49 +00:00
Clifford Yapp 6f84ebb3fa Make the gecode solver class generic, and package the constraints associated with particular types of restrictions into functions.
svn:revision:61769
svn:branch:gecode
svn:account:starseeker
2014-07-16 12:59:00 +00:00
Clifford Yapp 13f5ec173a Might as well be consistent with the Gecode namespace
svn:revision:61763
svn:branch:gecode
svn:account:starseeker
2014-07-16 00:15:17 +00:00
Clifford Yapp 87485c5f44 Add a stab at using gecode to test for perpendicular vectors. (Integer only, thus far.)
svn:revision:61755
svn:branch:gecode
svn:account:starseeker
2014-07-15 20:55:37 +00:00
Clifford Yapp d5dcaf6507 Switch from using namespace to explicitly specifying Gecode
svn:revision:61749
svn:branch:gecode
svn:account:starseeker
2014-07-15 20:07:38 +00:00
Clifford Yapp b084927113 Use IntVar names
svn:revision:61745
svn:branch:gecode
svn:account:starseeker
2014-07-15 18:57:24 +00:00
Clifford Yapp b704346c1e Try to do one of the old libpc solver tests with gecode.
svn:revision:61744
svn:branch:gecode
svn:account:starseeker
2014-07-15 18:43:17 +00:00
Clifford Yapp e4d7350117 Try to make EqSolve a bit more generic
svn:revision:61743
svn:branch:gecode
svn:account:starseeker
2014-07-15 18:31:04 +00:00
Clifford Yapp 25b3929e7e Fix gecode example building.
svn:revision:61742
svn:branch:gecode
svn:account:starseeker
2014-07-15 18:26:41 +00:00
Clifford Yapp a0b0f77b53 Add all the constraints in main.
svn:revision:61741
svn:branch:gecode
svn:account:starseeker
2014-07-15 18:10:32 +00:00
Clifford Yapp aacb2d37ea Sync to trunk r61739
svn:revision:61740
svn:branch:gecode
svn:account:starseeker
2014-07-15 16:04:28 +00:00
Clifford Yapp cfe5c331ca Add the constraints in main, instead of the class definition. This is closer to what a dynamic creation of a space from geometry parameters will look like.
svn:revision:61737
svn:branch:gecode
svn:account:starseeker
2014-07-15 15:34:19 +00:00
Clifford Yapp 32718907b6 Sync through trunk r61669
svn:revision:61670
svn:branch:gecode
svn:account:starseeker
2014-07-11 19:23:55 +00:00
Clifford Yapp 291f158e23 Sync through trunk r61609
svn:revision:61611
svn:branch:gecode
svn:account:starseeker
2014-07-07 17:01:50 +00:00
Clifford Yapp 27c61cea20 Sync through trunk r61598
svn:revision:61600
svn:branch:gecode
svn:account:starseeker
2014-07-07 13:09:45 +00:00
Clifford Yapp e31cd5fcff Sync through trunk r61587
svn:revision:61589
svn:branch:gecode
svn:account:starseeker
2014-07-03 21:46:57 +00:00
Clifford Yapp 0256af67a3 Sync through trunk r61560
svn:revision:61562
svn:branch:gecode
svn:account:starseeker
2014-07-03 00:00:20 +00:00
Clifford Yapp ef1b7458b0 Sync through trunk r61519
svn:revision:61522
svn:branch:gecode
svn:account:starseeker
2014-07-02 13:35:54 +00:00
Clifford Yapp fd8bb66896 Sync through trunk r61517
svn:revision:61521
svn:branch:gecode
svn:account:starseeker
2014-07-02 13:33:13 +00:00
Clifford Yapp 393f423dd5 Sync through trunk r61391
svn:revision:61392
svn:branch:gecode
svn:account:starseeker
2014-06-25 16:29:15 +00:00
Clifford Yapp 7f1c8325f4 Add a basic gecode example, with an eye towards morphing it into something that can do the libpc solver test examples.
svn:revision:61384
svn:branch:gecode
svn:account:starseeker
2014-06-25 13:44:18 +00:00
Clifford Yapp d15cca258e Need the Makefile.in file
svn:revision:61381
svn:branch:gecode
svn:account:starseeker
2014-06-25 04:02:48 +00:00
Clifford Yapp 2510e84cf8 Er, right, the file itself might help...
svn:revision:61380
svn:branch:gecode
svn:account:starseeker
2014-06-24 20:12:34 +00:00
Clifford Yapp b78c4878df Add cartesian heart example from gecode to test functionality of gecode build.
svn:revision:61378
svn:branch:gecode
svn:account:starseeker
2014-06-24 20:07:19 +00:00
Clifford Yapp a5e70e4d6b Don't update config.hpp unless something has actually changed. Without this protection, gecode is rebuilt every time CMake is run.
svn:revision:61376
svn:branch:gecode
svn:account:starseeker
2014-06-24 20:00:33 +00:00
Clifford Yapp be9631385b Build system needs some more work, but get gecode building as a functioning subbuild of BRL-CAD in src/other.
svn:revision:61368
svn:branch:gecode
svn:account:starseeker
2014-06-24 16:22:32 +00:00
Clifford Yapp 912f76d3ee Remove boost from gecode branch. Once we convert libpc to something else, we should be able to remove boost completely from src/other.
svn:revision:61366
svn:branch:gecode
svn:account:starseeker
2014-06-24 15:16:01 +00:00
Clifford Yapp 10c2389c5d Make a branch for exploring gecode as a libpc backend instead of boost.
svn:revision:61363
svn:branch:gecode
svn:account:starseeker
2014-06-24 15:02:01 +00:00
1416 changed files with 258270 additions and 21787 deletions
-3
View File
@@ -1,3 +0,0 @@
/bin
/lib
/build
+10 -4
View File
@@ -481,6 +481,7 @@ nicknames mjgillich mgillich
U.S. Army Research Laboratory
Howard, Doug
nicknames dhoward
SURVICE Engineering, Inc.
2006 April
@@ -536,7 +537,7 @@ nicknames homovulgaris, madant
Open Source (GSoC)
Saunders, Benjamin
nicknames Ralith
nicknames Ralith, ralith
2008 July
Open Source
@@ -576,6 +577,10 @@ Jain, Sachin
2011 April
Open Source
Gerstner, Nick
2011 May
SURVICE Engineering, Inc.
Easterbrook, Zach
nicknames lainiwakurax
2011 July
@@ -706,12 +711,12 @@ nicknames avneetkhalsa
Open Source (GSoC)
Daga, Mohit
nicknames zero_level
nicknames zero_level, mohitdaga
2013 June
Open Source (GSoC)
Kamga, Isaac
nicknames Izak
nicknames Izak, iiizzzaaakkk
2013 July
Open Source (GSoC)
@@ -740,6 +745,7 @@ Schulte, Johannes
Open Source (GCI)
Amidon, Peter
nicknames peter-sa, Andromeda Galaxy
2013 November
Open Source (GCI)
@@ -945,7 +951,7 @@ Thomas, Balbir
Open Source
Remenak, Daniel T.
nicknames DTRemenak, Erroneous
nicknames DTRemenak, Erroneous, dtremenak
2005 July
California Institute of Technology
Open Source
+153 -60
View File
@@ -77,7 +77,7 @@ and with @DEPRECATED in source code comments. Where users are not
adversely affected, a run-time DEPRECATION statement may be printed.
Whenever published functionality is finally removed, move its entry
from the DEPRECATED section below to the OBSOLETE section for the
from the DEPRECATED section below to the REMOVED section for the
version in which it was removed. Make sure the entry retains a
reference to the version in which the item was marked as deprecated.
@@ -112,32 +112,80 @@ calls that can be updated must be updated at that time.
The items listed below are interfaces that are deprecated. They are
categorized by the release in which the change was made. If the
change involved a removal of a command or function, both the original
and new names should be listed for reference.
and new names should be listed for reference. If an item is marked
with a "'" (single quote), that means it was not documented and may be
removed at any time.
7.26
----
ray tracing tools
lgt : functionally replaced by nirt
rtcell', rtfrac', rtpp, rtrad', rtrange, rtray, rtregis, rtsil'
Removed as part of distillation effort [deprecated 7.26]
converter tools
cy-g, euclid-g, euclid_format', euclid_unformat', g-euclid,
g-euclid1', g-tankill, intaval-g.py, viewpoint-g : obsolete formats
plot3-X, plot3-hpgl, plot3-tek : obsolete interface, see overlay command
plot3debug, xyz-plot3 : see plot3-asc,asc-plot3
bot-bldxf', bot_shell-vtk, g-nmg, nmg-bot, nmg-rib, nmg-sgp',
poly-bot, rt_bot_faces, : primitive-specific converters
Removed as part of distillation effort [deprecated 7.26]
image tools
cmap-fb, fb-cmap, fbcmrot : colormap support obsolete
fbed, cell-fb : outside scope
fbscanplot, polar-fb, pp-fb, bw-imp, pixinfo.sh : obsolete
png_info : incorporating into icv
pixpaste : outside scope, license
alias-pix' : incorporating into icv
asc2pix' : incorporating into icv
pix-yuv', yuv-pix' : obsolete non-standard format
texturescale : obsolete implementation
Removed as part of distillation effort [deprecated 7.26]
video & animation tools
anim_*', fbanim, chan_add', chan_mult, chan_permute,
pixflip-fb' : outside scope
pixfields', pixfieldsep' : outside scope
orbit.sh, rtwalk, scriptsort, script-tab', tabinterp, tabsup,
azel, bary
Removed as part of distillation effort [deprecated 7.26]
signal analysis tools
a-d', d-a', bw-a', i-a', u-a' : incorporating into cv
d-a', d-bw', d-f', d-i', d-u' : incorporating into cv
a-d', bw-d', c-d', f-d', i-d', u-d' : incorporating into cv
f-d', f-i', d-f', i-f', u-f', u-bw' : incorporating into cv
d2-c', double-asc' : incorporating into cv
Removed as part of distillation effort [deprecated 7.26]
infrared & shapefactor tools
all_sf', if-X, ifdisp, pictx, showterm, firpass, secpass, shapefact
ssamp-bw, ssampview', ssampview.tcl'
Removed as part of distillation effort [deprecated 7.26]
misc tools
fix_polysolids' : obsolete primitive
remapid : superseded by reid+remat
buffer : unnecesary network/stream buffering tool
hex : superseded by hexdump
Removed as part of distillation effort [deprecated 7.26]
include/bu/ptbl.h
BU_PTBL_BASEADDR, BU_PTBL_LASTADDR, BU_PTBL_END
Removed as private implementation detail [deprecated 7.26
include/bu/hash.h
bu_hash_tbl_find, bu_set_hash_value, bu_get_hash_value, bu_get_hash_key,
bu_hash_tbl_add, bu_hash_tbl_print, bu_hash_tbl_free, bu_hash_tbl_first,
bu_hash_tbl_next, bu_hash_tbl_traverse, public structs bu_hash_entry and
bu_hash_tbl will be made private.
Replaced with new API [deprecated 7.26]
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]
bu_hash_tbl_add, bu_hash_tbl_print, bu_hash_tbl_free, bu_hash_tbl_first,
bu_hash_tbl_next, bu_hash_tbl_traverse, public structs bu_hash_entry and
bu_hash_tbl will be made private.
Replaced with new API [deprecated 7.26]
include/bu/cmd.h
remove struct bu_cmdhist and struct bu_cmdhist_obj [deprecated 7.26]
BU_CMDHIST_NULL, BU_CMDHIST_OBJ_NULL, bu_cmdhist_histor, bu_cmdhist_add,
bu_cmdhist_curr, bu_cmdhist_nest, bu_cmdhist_prev [deprecated 7.26]
fb-rle, rle-fb, bw-rle, pix-rle, rle-pix
All tools focused specifically on the RLE image format. [deprecated 7.26]
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
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
@@ -147,31 +195,48 @@ include/raytrace.h
tcl_list_to_fastf_array *_tcl_*, removal of all tcl-specific
API functions [deprecated 7.26]
db_regexp_match_all() -> db_ls() [deprecated 7.26]
include/rt/solid.h
shouldn't be public API - this level of detail belongs inside the display
manager [deprecated 7.26]
include/ged/defines.h
remove struct ged_drawable - shouldn't be public API [deprecated 7.26]
remove freesolid from struct ged - exposes struct solid [deprecated 7.26]
include/ged/view.h
remove current forms of dl_erasePathFromDisplay and invent_solid - they
expose the struct solid type [deprecated 7.26]
include/tclcad.h
tclcad_bn_mat_print tclcad_rt_parse_ray tclcad_rt_pr_cutter
tclcad_rt_pr_hit tclcad_rt_rt tclcad_rt_import_from_path, removal of all
tcl-specific API functions [deprecated 7.26]
tcl-specific API functions [deprecated 7.26]
pixcut, pixpaste
copyright cleanup [deprecated 7.26]
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]
mged
kill, killtree, killall, killrefs - replaced with rm command [deprecated 7.26]
rm comb obj1 obj2 comb1 ... -> new behavior: remove objects and empty combs from .g
original functionality replaced with rm comb/obj* comb/comb1 ... syntax [deprecated 7.26]
expand -> replaced by search -name <pattern> (previous docs indicating matching of
expand was regex were wrong - uses bu_fnmatch.) [deprecated 7.26]
pathlist, paths -> replaced by search [deprecated 7.26]
burst
remove termlib-based interactive menu interface [deprecated 7.26]
7.24
----
fbed, pp-fb
removes termcap use, no known users [deprecated 7.24]
removes termcap use, no known users [deprecated 7.24]
include/raytrace librt
db_full_path_list_add(), db_free_full_path_list() [deprecated 7.24]
db_search_formplan(), db_search_freeplan(), db_search_full_paths() [deprecated 7.24]
db_search_unique_objects(), struct db_full_path_list [deprecated 7.24]
db_full_path_list_add(), db_free_full_path_list() [deprecated 7.24]
db_search_formplan(), db_search_freeplan(), db_search_full_paths() [deprecated 7.24]
db_search_unique_objects(), struct db_full_path_list [deprecated 7.24]
src/irprep
all_sf, firpass, ir-X, irdisp, pictx, secpass, shapefact, showterm [deprecated 7.24]
all_sf, firpass, ir-X, irdisp, pictx, secpass, shapefact, showterm [deprecated 7.24]
include/raytrace.h librt
RT_DBHASH and RT_DBNHASH [deprecated 7.24]
RT_DBHASH and RT_DBNHASH [deprecated 7.24]
7.22
----
@@ -180,9 +245,9 @@ include/raytrace.h librt
RT_GET_TREE -> BU_GET [deprecation 7.22]
RT_FREE_TREE -> BU_PUT [deprecation 7.22]
include/bu.h
bu_parse_mm() [deprecated 7.22]
bu_parse_mm() [deprecated 7.22]
librtserver
becoming stand-alone project, removes optional java dependency [deprecated 7.22]
becoming stand-alone project, removes optional java dependency [deprecated 7.22]
mged
em, e_muves, l_muves, lm, read_muves, and t_muves MUVES-specific commands [deprecated 7.22]
@@ -222,8 +287,6 @@ db.h
rt_fastf_float() -> ntohf() [deprecated 7.18]
rt_mat_dbmat() -> htonf() [deprecated 7.18]
rt_dbmat_mat() -> ntohf() [deprecated 7.18]
dbcp
dbcp -> dd [deprecated 7.18]
mged
?(*) -> ? -(*) [deprecated 7.18]
apropos(*) -> apropos -(*) [deprecated 7.18]
@@ -292,27 +355,42 @@ include/raytrace.h
struct hit.hit_normal -> RT_HIT_NORMAL [deprecated pre-7.0]
************
* OBSOLETE *
************
***********
* REMOVED *
***********
Below are the interfaces that have followed deprecation policy and are
now no longer a part of BRL-CAD.
Below are the interfaces that have followed deprecation policy or were
deemed minimally impacting and, regardless, are now no longer a part
of BRL-CAD.
7.26.0
------
dbcp
dbcp -> dd [deprecated 7.18]
pov (mged)
removed, undocumented command with many alternatives [minimally impacting]
polybinout (mged)
removed, undocumented command, use plot [minimally impacting]
pl (mged)
removed, use plot [minimally impacting]
conf.h
removed - replaced with common.h [deprecated 7.0]
libbu, libbn
no longer utilize or require Tcl [7.26 architecture change]
UtahRLE image tools
no longer installed by default with BRL-CAD - not used directly by
BRL-CAD tools [minimally impacting]
Tcl in libbu and libbn
no longer utilize or require Tcl [dependency eliminated]
Tcl/Tk man pages
no longer installed by default with BRL-CAD when the bundled Tcl/Tk is used
to build [minimally impacting]
include/dg.h
implementation detail no longer being exposed, use libged [deprecated 7.22]
implementation detail no longer being exposed, use libged [deprecated 7.22]
autogen.sh && configure
GNU Autotools build system -> CMake build system [deprecated 7.20]
Dunn camera and Canon printer tools
dunncolor [ deprecated 7.16 ]
dunnsnap [ deprecated 7.16 ]
canonize [ deprecated 7.16 ]
dunncolor [deprecated 7.16]
dunnsnap [deprecated 7.16]
canonize [deprecated 7.16]
genptr_t/GENPTR_NULL
genptr_t -> void* [deprecated 7.16]
include/bu.h
@@ -344,7 +422,7 @@ mged
-n option -> -c option [deprecated 7.14]
per_line [deprecated 7.14]
SGI-specific tools
pl-sgi -> pl-fb [ deprecated 7.16 ]
pl-sgi -> pl-fb [deprecated 7.16]
src/gtools
g_[toolname] -> g[toolname] [deprecated 7.14]
src/librt/cmd.c
@@ -361,6 +439,9 @@ pixread.sh
obsolete hardware [deprecated 7.16]
sgisnap.sh
obsolete hardware [deprecated 7.16]
librtserver and Java Native Interface (JNI) bindings
removed, unused and undocumented, modern approach would be to
use a tool such as swig to generate bindings [minimally impacting]
7.24.2
------
@@ -994,23 +1075,23 @@ s/bu_count_path(.*)\);/bu_dir_list\1, NULL);/g
made bu_dir_list() return the number of entries [7.21]
s/bu_strcmpm\((.*),([^,]*)\)/bu_strcmp(\1)/g
no use for label parameter, convert to bu_strcmp() [7.21]
bu_set_realtime() [deprecated 7.22]
bu_set_realtime() [deprecated 7.22]
7.24
----
s/bu_set_realtime\([[:space:]]\);//g
didn't do anything [7.23]
didn't do anything [7.23]
s/.*bu_cpulimit_[sg]et\([[:space:]]\);//g
didn't do anything [7.23]
didn't do anything [7.23]
s/rt_g\./RTG\./g
renamed rt_g global to RTG so it doesn't match the struct name [7.24]
renamed rt_g global to RTG so it doesn't match the struct name [7.24]
s/rt_functab\[/OBJ\[/g
renamed rt_functab global to OBJ so it doesn't match the struct name [7.24]
renamed rt_functab global to OBJ so it doesn't match the struct name [7.24]
s/redraw_vlist/draw/g
removed redraw_vlist mged command, just call draw or refresh [7.24]
removed redraw_vlist mged command, just call draw or refresh [7.24]
s/RT_BADNUM/INVALID/g
s/RT_BADVAL/VINVALID/g
moved RT_BADNUM and RT_BADVEC to vmath.h as INVALID and VINVALID [7.24]
moved RT_BADNUM and RT_BADVEC to vmath.h as INVALID and VINVALID [7.24]
s/bu_create_hash_tbl/bu_hash_tbl_create/g
s/bu_find_hash_entry/bu_hash_tbl_find/g
s/bu_hash_add_entry/bu_hash_tbl_add/g
@@ -1019,7 +1100,7 @@ s/bu_hash_tbl_pr/bu_hash_tbl_print/g
s/dm_applicationfocus\([[:space:]]*\);//g
only useful in older os x versions, users can now do the same thing via XQuartz preferences [7.24]
s/bu_vls_trunc2/bu_vls_trunc/g
removed duplicitous function in favor of more general version [7.24]
removed duplicitous function in favor of more general version [7.24]
s/bn_pi/M_PI/g
s/bn_twopi/M_2PI/g
s/bn_halfpi/M_PI_2/g
@@ -1031,34 +1112,34 @@ 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 [7.24]
s/(#[[:space:]]*include[[:space:]]+["<])vfont-if\.h/\1bu\/vfont.h/g
s/(#[[:space:]]*include[[:space:]]+["<])cmd\.h/\1bu\/cmd.h/g
s/(#[[:space:]]*include[[:space:]]+["<])hist\.h/\1bu\/hist.h/g
s/(#[[:space:]]*include[[:space:]]+["<])magic\.h/\1bu\/magic.h/g
library-specific public headers moved into a subdir [7.24]
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]
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]
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]
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]
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]
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]
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
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]
@@ -1107,13 +1188,25 @@ 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]
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]
rename with consistent prefixes [7.25]
s/(#[[:space:]]*include[[:space:]]+["<])obj\.h/\1dm\/bview.h/g
s/GED_VIEW_OBJ_NULL/VIEW_OBJ_NULL/g
move view_obj to dm/bview.h [7.25]
s/BU_PTBL_CLEAR_I\((.*)\)/BU_PTBL_SET(\1, (long*)0)/g
replace BU_PTBL_CLEAR_I into the BU_PTBL_SET command [7.25]
s/BU_PTBL_END\(([^\)]*)\)/(\1)->end/g
replace BU_PTBL_END with direct ptbl peek or BU_PTBL_LEN [7.25]
s/bu_free_argv/bu_argv_free/g
s/bu_dup_argv/bu_argv_dup/g
s/bu_dupinsert_argv/bu_argv_dupinsert/g
bu_*_argv -> bu_argv_* [7.25]
s/bu_dir_list/bu_file_list/g
bu_dir_list -> bu_file_list [7.25]
s/BU_FNMATCH_NOMATCH/1/g
don't use an explicit define for the non-matching case [7.25]
+16 -16
View File
@@ -525,12 +525,12 @@ if(NOT BRLCAD_IS_SUBBUILD)
add_custom_target(unit
COMMAND ${CMAKE_COMMAND} -E echo "\"**********************************************************************\""
COMMAND ${CMAKE_COMMAND} -E echo "NOTE: The \"unit\" a.k.a. \"BRL-CAD Unit Testing\" target runs the"
COMMAND ${CMAKE_COMMAND} -E echo " subset of BRL-CAD's API unit tests that are expected to work (i.e.,"
COMMAND ${CMAKE_COMMAND} -E echo " tests not currently under development). All dependencies required"
COMMAND ${CMAKE_COMMAND} -E echo "NOTE: The \\\"unit\\\" a.k.a. \\\"BRL-CAD Unit Testing\\\" target runs the"
COMMAND ${CMAKE_COMMAND} -E echo " subset of BRL-CAD\\'s API unit tests that are expected to work \\(i.e.,"
COMMAND ${CMAKE_COMMAND} -E echo " tests not currently under development\\). All dependencies required"
COMMAND ${CMAKE_COMMAND} -E echo " by the tests are compiled automatically."
COMMAND ${CMAKE_COMMAND} -E echo "\"**********************************************************************\""
COMMAND ${CMAKE_CTEST_COMMAND} -C $CONFIG -LE \"Regression|NOT_WORKING\" -E \"^regress-|NOTE\" ${JFLAG}
COMMAND ${CMAKE_CTEST_COMMAND} -C ${CONFIG} -LE \"Regression|NOT_WORKING\" -E \"^regress-|NOTE\" ${JFLAG}
)
set_target_properties(unit PROPERTIES FOLDER "BRL-CAD Validation Testing")
@@ -1522,7 +1522,7 @@ CHECK_CXX_FLAG(ftemplate-depth-128)
# may still output SSE instructions (e.g., for cross-compiling).
# CHECK_C_FLAG(msse)
# CHECK_C_FLAG(msse2)
CHECK_C_FLAG(msse3 BUILD_TYPES Debug)
# CHECK_C_FLAG(msse3)
# Check for c90 support with gnu extensions if we're not building for
# a release so we get more broad portability testing. Since the
@@ -1531,8 +1531,7 @@ CHECK_C_FLAG(msse3 BUILD_TYPES Debug)
# a strictly standard compliant build, use the c** options instead
# of the gnu variations
if(ENABLE_STRICT_COMPILER_STANDARD_COMPLIANCE)
CHECK_C_FLAG("std=c99" BUILD_TYPES Debug)
CHECK_C_FLAG("std=c99" BUILD_TYPES Release VARS C99_FLAG)
CHECK_C_FLAG("std=c99")
# we need to define some things as "empty" to avoid false positives
# for bu_* functions using varargs and print specifiers
CHECK_C_FLAG("D_BU_ATTR_PRINTF12=''")
@@ -1541,8 +1540,7 @@ if(ENABLE_STRICT_COMPILER_STANDARD_COMPLIANCE)
# a hack to temp work around signal() handling in interrupt.c
CHECK_C_FLAG("DC99_POSIX_USE_BSD")
#=== C++
CHECK_CXX_FLAG("std=c++03" BUILD_TYPES Debug)
CHECK_CXX_FLAG("std=c++03" BUILD_TYPES Release VARS CXX03_FLAG)
CHECK_CXX_FLAG("std=c++03")
# for bu_* functions using varargs and print specifiers
CHECK_CXX_FLAG("D_BU_ATTR_PRINTF12=''")
CHECK_CXX_FLAG("D_BU_ATTR_PRINTF23=''")
@@ -1550,15 +1548,17 @@ if(ENABLE_STRICT_COMPILER_STANDARD_COMPLIANCE)
# a hack to temp work around signal() handling in interrupt.c
CHECK_CXX_FLAG("DC99_POSIX_USE_BSD")
else()
CHECK_C_FLAG("std=gnu89" BUILD_TYPES Debug)
CHECK_C_FLAG("std=gnu99" BUILD_TYPES Release VARS C99_FLAG)
CHECK_CXX_FLAG("std=gnu++98" BUILD_TYPES Debug)
CHECK_CXX_FLAG("std=gnu++98" BUILD_TYPES Release VARS CXX03_FLAG)
if("${CMAKE_BUILD_TYPE}" STREQUAL "Release")
CHECK_C_FLAG("std=gnu99")
else("${CMAKE_BUILD_TYPE}" STREQUAL "Release")
CHECK_C_FLAG("std=gnu89")
endif("${CMAKE_BUILD_TYPE}" STREQUAL "Release")
CHECK_CXX_FLAG("std=gnu++98")
endif()
# TODO - should be using this with MSVC, but it breaks the BUILD_SLEEP
# try_compile below with errors that appear to be coming from Windows
# headers??
# CHECK_C_FLAG("Za" BUILD_TYPES ALL)
# CHECK_C_FLAG("Za")
# What POSIX do we want to target, initially? See
# http://www.gnu.org/software/libc/manual/html_node/Feature-Test-Macros.html
@@ -2586,9 +2586,9 @@ endif(NOT BRLCAD_COMPILE_HOST)
if(NOT BRLCAD_COMPILE_USER)
set(BRLCAD_COMPILE_USER "\"user_unknown\"")
endif(NOT BRLCAD_COMPILE_USER)
if(NOT BRLCAD_COMPILE_COUNT)
if("${BRLCAD_COMPILE_COUNT}" STREQUAL "")
set(BRLCAD_COMPILE_COUNT -1)
endif(NOT BRLCAD_COMPILE_COUNT)
endif("${BRLCAD_COMPILE_COUNT}" STREQUAL "")
CONFIG_H_APPEND(BRLCAD "#define BRLCAD_COMPILE_DATE ${BRLCAD_COMPILE_DATE}\n")
CONFIG_H_APPEND(BRLCAD "#define BRLCAD_COMPILE_HOST ${BRLCAD_COMPILE_HOST}\n")
+41827 -11203
View File
File diff suppressed because it is too large Load Diff
+24 -21
View File
@@ -247,12 +247,22 @@ for memory allocation, threading, string handling, argument support,
linked lists, and more.
Depends on: (threading) (malloc)
libbg: The BRL-CAD Geometry library implements generic algorithms
widely used in computational geometry, such as convex hull and
triangle/triangle intersection calculations.
Depends on: libbn libbu
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
libbrep: The BRL-CAD Boundary Representation library implements
routines needed for the manipulation and analysis of Non-Uniform
Rational BSpline based boundary representations.
Depends on: libbg libbn libbu OpenNURBS
libcursor: The cursor library is a lightweight cursor manipulation
library similar to curses but with less overhead.
Depends on: termlib
@@ -294,14 +304,6 @@ messages across stream connections. The library supports a
client-server communication model.
Depends on: libbu
librtserver: The ray-trace server library is a thin interface over
librt that simplifies the process of applying individual ray
intersection tests against a given set of geometry. The library
supports communication with a BRL-CAD geometry repository and
multithreaded ray dispatch.
Depends on: librt libbn libbu libtcl
Includes dependent libraries as part of this library
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
@@ -422,14 +424,15 @@ compiler conformance with the ANSI C standard (c89).
There is currently no C++ interface to the core BRL-CAD libraries.
There are a few tools and enhancements to libraries that are
implemented in C++ (the new BREP object type in librt, for example),
but there are presently no C++ bindings available beyond experimental
developments. While C++ as an implementation language of new tools
and new library interfaces is not prohibited, the mixing of C++
semantics and C++ code (including simple // style comments) in the
existing C files is not allowed. As new interfaces are developed, new
contributors become involved, and C++ code integration becomes more
prevalent, the contributor guidelines will become reinforced with more
details.
and C++ is used underneath quite a number of libraries, but there is
presently no public C++ API in use outside of OpenNURBS.
While C++ as an implementation language of new tools and new library
interfaces is not prohibited, the mixing of C++ semantics and C++ code
(including simple // style comments) in the existing C files is not
allowed. As new interfaces are developed, new contributors become
involved, and C++ code integration becomes more prevalent, the
contributor guidelines will become reinforced with more details.
CODING STYLE & STANDARDS
@@ -872,6 +875,10 @@ Note that changes to publicly documented tools and library APIs must
adhere to BRL-CAD's change policy. This means changes to any tests
may require thoughtful deployment. See the CHANGES file for details.
These tests are run nightly on BRL-CAD's server to catch problems
quickly - developers should be aware of the status of BRL-CAD's tests
as seen at http://brlcad.org/CDash
To add new regression tests, look at regress/weight.sh for an
integration test example and src/libbu/tests/bu_vls_vprintf.c for an
API unit test example. See their corresponding CMakeLists.txt build
@@ -1268,7 +1275,7 @@ Release steps are as follows:
# Manually check rt, mged, and archer.
bin/rt # should report usage with correct library versions
bin/mged -c test.g "make sph sph ; rt" # pops up a sphere
bin/mged -c test.g "make sph sph ; draw sph ; rt" # pops up a sphere
bin/mged # displays gui, run: opendb test.g ; draw sph ; rt
bin/archer # displays gui, run: opendb test.g ; draw sph ; rt
@@ -1466,10 +1473,6 @@ audience. Always notify the following when a release is made:
BRL-CAD SourceForge NEWS (authorized can submit)
https://sourceforge.net/p/brlcad/news/new
Freshmeat (anyone can submit update)
http://freecode.com/projects/BRL-CAD/
short summary without news details (sentence format)
BRL-CAD on Facebook (authorized can submit)
http://www.facebook.com/pages/BRL-CAD/387112738872
short summary without news details (sentence format)
+10
View File
@@ -732,6 +732,16 @@ first for a system version if BRLCAD_BUNDLED_LIBS is also AUTO.
Aliases: ENABLE_SCL, ENABLE_STEP, ENABLE_STEP_CLASS_LIBRARIES
--- BRLCAD_GECODE ---
Option for enabling and disabling compilation of the Gecode Constraint
Solving 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_GECODE
--- BRLCAD_VDS ---
Option for enabling and disabling compilation of the libvds triangle
+75 -9
View File
@@ -9,13 +9,59 @@ first and are grouped by release. Each release also includes optional
descriptive text that emphasizes or further describes significant
changes made. See document footer for additional details.
----------------------------------------------------------------------
--- 2014-XX-XX Release 7.26.XX ---
--- 2016-07-XX Release 7.26.2 ---
----------------------------------------------------------------------
* added -M draw cmd option to skip subtraction solids - Cliff Yapp
* added -L draw cmd option to draw bboxes for large bots - Cliff Yapp
----------------------------------------------------------------------
--- 2016-06-XX Release 7.26.0 ---
----------------------------------------------------------------------
This major release update of BRL-CAD culminates several years of
development efforts to provide robust boundary representation (BREP)
NURBS import and ray tracing support. Our NURBS capability gets us a
step closer to full hybrid representation modeling, supporting
seamless transitioning and mixing of boundary representation geometry
(e.g., NURBS or polygonal meshes) with implicit representation
geometry (e.g., primitives with CSG).
* added manual page for lt comb child listing command - Cliff Yapp
* added lt -c option for specifying separation character - Bob Parker
* mass-deprecation of 121 command-line utilities - BRL-CAD Developers
* improved hierarchy preservation in 3dm-g importer - Jon Engbert
* fixed upside down 'screengrab' images on some platforms - Nick Reed
* updated wireframe drawing to respect primitive colors - Cliff Yapp
* updated pixdiff & pixcmp to only compare same sizes - Cliff Yapp
* fixed running archer from read-only filesystems - Cliff Yapp
* fixed patch-g tool and E command infinite loop bug - Sean Morrison
* improved NMG ray tracing fault tolerance - Sean Morrison
* added 3dm-g support for layers and names - Keith Bowman
* fixed color/shader preservation issue with 3dm-g importer - Jon Engbert
* added 3dm-g support for mesh objects - Jon Engbert
* added csg implicit hierarchy conversion to brep command - Cliff Yapp
* fixed crash in clone when told to make zero copies - Cliff Yapp
* fixed crash in search when using -above option - Cliff Yapp
* extended nirt to list current and available formats - Sean Morrison
* fixed NURBS wireframe drawing crash - Cliff Yapp
* fixed firing of single rays using the rtshot tool - Sean Morrision
* improved rcodes command feedback in the no changes case - Cliff Yapp
* added brlman -S option to specify man page section - Cliff Yapp
* modified rtg3 to avoid outputting excessive LOS - Nick Gerstner
* extended burst and rtg3 to output 5 digit ID numbers - Nick Gerstner
* improved draw command manual page documenation - Cliff Yapp
* added lc -m option to report multi-material/los regions - Cliff Yapp
* added new 'icv' image conversion tool w/ pix, bw, dpix, png, ppm
- Mohit Daga, Cliff Yapp, Sean Morrison, Erik Greenwald
* ported 'burst' tool (batch mode only) to Windows - Cliff Yapp
* removed mged pl command, use plot command instead - Sean Morrison
* improved datum wireframes (yellow) and fixed arrowheads - Cliff Yapp
* added initial manual page for 'burst' ray dispatch tool - Cliff Yapp
* improved wireframe display list performance - Keith Bowman
* added draw -S for simplied wireframes, no subtractions - Cliff Yapp
* added draw -L# to draw bounding boxes for large objects - Cliff Yapp
* added 3dm-g instance reference and definition import - Jon Engbert
* 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
@@ -24,8 +70,10 @@ changes made. See document footer for additional details.
* 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 libnetpbm for ppm image format support in icv - Cliff Yapp
* added new algorithm to bot_decimate (via -f option) - Jon Engbert
* fixed benchmark bug running from paths with spaces - Sean Morrison
* fixed adjust command crash when working with BoTs - Daniel Roßberg
* 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
@@ -36,25 +84,36 @@ changes made. See document footer for additional details.
- Jon Engbert, Vasco Costa
* improved point cloud plot visualization - Sean Morrison
* fixed program freezing bug in MGED grouper command - Bob Parker
* added 'rhc' reporting to analyze command - Kalpit Thakkar
* 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 saveview usage help string and running from archer - Nick Reed
* fixed and improved killtree man page - Nick Reed
* fixed composition bugs in pixmatte and pixmerge - Carl Moore
* fixed definition of "light year" in unit conversions - Cliff Yapp
* modernized documents and improved infrastructure - Hitesh Sofat
* 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 freetype to version 2.5.5 - Cliff Yapp
* updated libregex to apply a fix for CVE-2015-2305 - Cliff Yapp
* upgraded libpng to version 1.6.20 - Cliff Yapp
* added command window option for pasting tree view paths - Nick Reed
* improved robustness of bb command oriented box option - Peter Amidon
* added example NURBS B-Rep geometry files from NIST - Cliff Yapp
* 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
* improved performance of lc command - Peter Amidon
* updated manual page for MGED's brep command - Peter Amidon
* new manual page for the g-dot exporter - Shardul Chiplunkar
* added sketch centroid support the analyze command - Peter Amidon
* 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
@@ -65,6 +124,9 @@ changes made. See document footer for additional details.
* 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
* renamed 'make_bb' mged command name to 'bb' - Cliff Yapp
* added g-ply exporter for Stanford PLY geometry format - Rishub Jain
* added ply-g importer for Stanford PLY geometry format - Rishub Jain
* 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
@@ -74,6 +136,8 @@ changes made. See document footer for additional details.
* support non-.g file import in Archer's file open dialog - Cliff Yapp
* added brep support to g2asc and asc2g - Cliff Yapp
* fixed a CPU affinity locking bug on Linux platforms - Sean Morrison
* renamed g_diff/g_lint/g_qa/g_transfer sans underscore - Cliff Yapp
* removed mged -n option, use mged -c for classic mode - Cliff Yapp
* fixed mged -c crash running view-modifying commands - Sean Morrison
* improved kill, killall, killtree documentation - Sean Morrison
* added killtree -f force flag to kill unconditionally - Sean Morrison
@@ -83,7 +147,7 @@ changes made. See document footer for additional details.
- Wu Jianbang, Nick Reed, Cliff Yapp
* improved step-g assembly hierarchy import support - Keith Bowman
* fixed rtweight when using the -G grid spacing option - Sean Morrison
* fixed memory leaks in a number of pix utilities - Cezar Elnazi
* fixed memory leaks in a number of pix utilities - Cezar Elnazli
* 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
@@ -95,6 +159,8 @@ changes made. See document footer for additional details.
* 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
* initial support for rigging joints and constrained articulation
- Nick Reed, Keith Bowman, Cliff Yapp, Sean Morrison
* 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
@@ -375,7 +441,7 @@ received corrections and improvements. The introductory article
* "About BRL-CAD" article translation to Armenian - Karen Mgebrova
* "About BRL-CAD" article translation to Italian
- Unknown Contributor, Tom Browder
* improved handling of rgb/color attributes by adjust cmd - Cliff Yapp
* improved 'adjust' command rgb/color attribute handling - Cliff Yapp
* added initial support for step-g import of assemblies - Keith Bowman
* added a basic SWIG spec file - Erik Greenwald
* fixed referenced object highlighting in archer treeview - Bob Parker
@@ -406,7 +472,7 @@ received corrections and improvements. The introductory article
* improved tessellation of pipe bends for conversion - Richard Weiss
* fixed keypoint vertex bug when editing extrude objects - Nick Reed
* fixed eto error converting hyp objects with asc2g tool - Nick Reed
# fixed mged bug processing edcodes command arguments - Bob Parker
* fixed mged bug processing edcodes command arguments - Bob Parker
* various improvements to NMG polygonal mesh processing robustness
- Nick Reed, Sean Morrison, Richard Weiss
* improved bad face handling within the obj-g importer - Nick Reed
@@ -1117,7 +1183,7 @@ invalid geometry is now more robust.
* added new -c character option to the loop command - Dawn Thomas
* tire now checks for files instead of overwriting - Cliff Yapp
* add new nirt formatting options, -L listing option - C. Yapp
* fixed nirt's dest cmd's handling of file name string - Cliff Yapp
* fixed nirt 'dest' command file name string handling - Cliff Yapp
* modified mged nirt command to include air in results - Bob Parker
@@ -1709,7 +1775,7 @@ The rtarea command was added to MGED as well, along with rtweight.
* added a -noleaf option to the mged pathlist command - Bob Parker
* fixed potential infinite loop bug in BoT primitive - Bob Parker
* no longer install tclsh/wish, use btclsh/bwish - Sean Morrison
* added bot_merge mged cmd (combine 2 bots into 1) - Lee Butler
* added 'bot_merge' mged command (combine 2 bots into 1) - Lee Butler
----------------------------------------------------------------------
--- 2005-06-07 Release 7.2.6 ---
+1 -1
View File
@@ -1,5 +1,5 @@
BRL-CAD
Release 7.26.0
Release 7.26.2
http://brlcad.org/
BRL-CAD is a powerful cross-platform open source combinatorial
+305 -296
View File
@@ -18,32 +18,57 @@ tasks as they are completed.
THESE TASKS SHOULD HAPPEN BEFORE THE NEXT RELEASE
-------------------------------------------------
* sync tgc/rec shot() behavior, sort results for proper normal.
inspect t62 grazing with r653,r735 (tgc on an arb8) looking at ae0,0
and z=1524 (was hit/overlap, now misses).
* quick check of CHANGES to make sure user-vis obsoletions are in NEWS
* fix regressions in step-g
* fix regressions in lc -d and -s options
* figure out why the following is crashing:
* regressed behavior in mged and archer: they seem to be defaulting
objects to black instead of white/gray. wireframes and default
black-background rendering make newly created objects practically
invisible.
bin/rtshot -R 1 -p 0 0 0 -d 1 0 0 share/db/havoc.g havoc
is it related to using bu_hash in some fashion? This test worked
as of r65575
* quick rtg3 with -c option. was failing when run without -c "set
ray_data_file=..." with this: "RTG3: Invalid argument" and "Cannot
open ray data output file"
* rtwizard command line ghost image specification isn't working
reliably
* drawing datums far from origin result in huge arrowheads
* check these commits for documentation:
58415 - NEWS, attributes are now case-insensitive (test: any or just standard ones?)
58147 - NEWS, improved search command documentation examples
58146 - NEWS, improved archer initialization, removed startup flashing
58145 - NEWS, minor but technically user visible and potentially significant if the assumptions made are incorrect (improved tire command usage statement)
58254 - NEWS, fixed bug you say? what bug?
58325 - NEWS, improved v5 specification formatting, added timestamp proposal
64637 - NEWS, almost certainly fixed mysterious errors during dbconcat and db_opens with duplicate names found
58475 - AUTHORS if user identified the fix (not just the bug), NEWS if g-step considered published
58594, 58608 - AUTHORS for mged tutorial fixes (doc or code contrib section), NEWS if user-vis
61168 - NEWS, new param option to search
64314 - NEWS, announce the new doc
63132 - NEWS, expanded rtedge usage
THESE TASKS SHOULD HAPPEN WITHIN TWO RELEASE ITERATIONS
-------------------------------------------------------
* update astyle
* integrate gen-registered-attributes-html output into website
* brlcad-config build helper script is not working (not reporting
-llibs, reporting semicolon list for 'brlcad' lib). Example working output:
$ /usr/brlcad/rel-7.18.0/bin/brlcad-config brlcad
-L/usr/brlcad/rel-7.18.0/lib -m64 -L/usr/local/lib64 -L/usr/local/lib -pipe -fno-strict-aliasing -fno-common -fexceptions -ggdb3 -D_FORTIFY_SOURCE=2 -O3 -w -L/usr/brlcad/rel-7.18.0/lib -lbrlcad -lged -lwdb -lrt -lbn -lbu -ltcl8.5 -ldl -lm -lpng14 -lz -lc -lpthread -lregex -lsysv -lopenNURBS -lanalyze
$ /usr/brlcad/rel-7.18.0/bin/brlcad-config rt
-L/usr/brlcad/rel-7.18.0/lib -m64 -L/usr/local/lib64 -L/usr/local/lib -pipe -fno-strict-aliasing -fno-common -fexceptions -ggdb3 -D_FORTIFY_SOURCE=2 -O3 -w -L/usr/brlcad/rel-7.18.0/lib -lrt -lbn -lbu -ltcl8.5 -ldl -lm -lpng14 -lz -lc -lpthread -lregex -lsysv -lopenNURBS
* bu_*_argv -> bu_argv_*
* obsd stack crashers
* rt moss.g facetize rt bot bug
* invoke graphical with console, play nicely
* sync tgc/rec shot() behavior, sort results for proper normal.
inspect t62 grazing with r653,r735 (tgc on an arb8) looking at ae0,0
and z=1524 (was hit/overlap, now misses).
* reinstate 'stat' and search -size, see r67636 through r67646
* turn on Bullet code (simulate command) unconditionally
@@ -69,39 +94,56 @@ THESE TASKS SHOULD HAPPEN WITHIN TWO RELEASE ITERATIONS
THESE ARE UNSCHEDULED BACKLOG TASKS
-----------------------------------
* evaluate OpenMesh (http://www.openmesh.org) and OpenFlipper
(http://www.openflipper.org) for smoothing, decimation, and
additional GCV conversion formats.
* GCT decimation assumes no edge is shared by two triangles except
once in the reversed order (AB, BA). Needs basic check to avoid
failures/crashing.
* V&V bwcrop, pixembed are behaving correctly, as documented
* need routine that returns a color given a path, similar to
rt_comb_get_color() but full path so that inheritance is taken into
account and colors set correctly.
* implement unit tests for bu dirent / stat API
* OpenCL for enhanced performance boolweave sorting
* create boolweave+boolfinal unit tests to validate weaving behavior
and performance.
* convert src/util/terrain.c to src/shapes/terrain.c writing out the
datafile to a binunif along with a referencing dsp. perhaps add
command line option to skip .g to retain prior datafile capability.
need to review command line options to simplify complexity and
control randomization better.
* implement quasi-random unbiased iterative spherical ray sampling.
requires devising an algorithm whereby we obtain a set of points on
a sphere with rays randomly going through those points, so we sample
the volume evenly. we need to be able to add additional sets of
points/rays (incrementally or step-wise) in order to evaluate
convergence and estimate error. this feature is useful for checking
overlaps, surface area, volume, and moments of inertia.
* get_eyemodel returns an eye_pt entry, but feeding the results to
archer's eye_pt command results in get_eyemodel returning a different
eye_pt, even when the units are all in mm. is this expected?
intuitively, I would expected feeding the results of get_eyemodel to
eye_pt to result in no change, modulo unit conversions.
* teach pixdiff, rt, and other tools that can/should support the
capability to read/write (as appropriate) pixel index values and
reproduce the ray fired to create that pixel. rt's -j option can
specify a sub-rectangle, but the key point (whatever the details of
implementation) is to be able to easily identify and reproduce the
ray that produces a given pixel when debugging. For example,
pixdiff's -l option will report differing pixels by index - rt
should support those index specifications as an input option.
Another possibility would be to have rt support accepting an input
image as a "control" image and generating a file with nirt or rtshot
commands for each pixel that reports different from the control.
* make rt -b accept a pixel index in addition to x,y pixel coordinates
* pull work on rm command out of history (commit r67394 reverted it)
and take it to a production ready stage.
* Extract bounding box code from both autoview.c and get_autoview.c
into a general bounding rpp function in librt and use accordingly
(particularly in libged). Should combine autoview.c with
get_autoview.c (perhaps as a flag) and utilize the general function
in lots of places (e.g., the ged_arb() function).
* teach pixdiff and other tools that can/should support the capability
to read/write (as appropriate) pixel index values or x,y coordinates
and reproduce the ray fired to create that pixel. currently does -l
index but not xy coordinates.
* make mged work without a batch script
* make archer work without a batch script
* make isst work without a batch script
* Need to rethink libbu hash API - ideally should be much simpler and
expose much less to the user.
@@ -168,9 +210,6 @@ THESE ARE UNSCHEDULED BACKLOG TASKS
fixes some concerns but breaks if an application changes its notion of
the current working directory after initialization, for example.
* make the idents command not list subtracted objects by default,
optionally list everything
* start making use of the CMakePushCheckState macros - we are doing
this manually in several places
@@ -250,12 +289,6 @@ THESE ARE UNSCHEDULED BACKLOG TASKS
* import CTRI material information in fast4-g as per-face data.
* improve performance of these commands that seem to have exponential
cost: bot_split, killtree
* translate lc command to libged (discovered in Feb. 2015 to have already
been done -- need information regarding when this was done and committed).
* Integrate ADRT into Archer as a visualization mode.
* Document a GUI feature list (prioritized).
@@ -281,13 +314,6 @@ THESE ARE UNSCHEDULED BACKLOG TASKS
propagated up into separate region hits. the prior is probably
easier and less error-prone.
* BoT mesh editing command. Subtasks:
- enumerate functions desirable
- catalog features of other mesh manipulation tools
- investigate mesh editing libraries and/or relying on NMG editing
- bind GUI editing to the BoT mesh editing command
* establish the Basic Application Runtime (BAR), only consisting of
libbu and libbn, as a stand-alone self-contained project. provide
an API that supports most C/C++ application development and
@@ -311,16 +337,6 @@ THESE ARE UNSCHEDULED BACKLOG TASKS
functions until it provides some clear advantage (e.g., portability,
performance, and/or maintainability).
* object error heuristic. implement a function/command to report how
big of an error a given geometry object has. the intent is to help
prioritize geometry modeling errors based on their spatial impact.
this is particularly relevant for nurbs/brep and nmg geometry where
there may be solidity gaps in the topology that need to be sealed or
dangling faces/surfaces of different sizes. this is meant to be a
relative heuristic applicable across all geometry, not necessary an
exact measure. this may make more sense added as an output option
to glint or as a warning category for a geometry debugger.
* create a joint articulation (manually is good, automatic is better)
for the tin woodsman so he can move his arms, legs, neck, and head.
@@ -365,17 +381,6 @@ THESE ARE UNSCHEDULED BACKLOG TASKS
* investigate INFINITY spatial partitioning issue.
* implement a region anointment feature where the user can turn an
assembly into a region and change all lower or higher regions into
combinations. basically consolidate or distribute region flags.
this is partially covered by the 'comb' command but it tries hard to
ensure geometry isn't left in a broken state. needs to be a way to
do the simple consolidate/distribute operation regardless of
resulting state.
* update search depth options (above + below) to make sure the logic
supports depth=0 / above=0 / below=0 meaning the current node.
* kill material_head static global in src/librt/mater.c
* add an mk_extrude() routine to libwdb.
@@ -384,6 +389,7 @@ THESE ARE UNSCHEDULED BACKLOG TASKS
other options supplied at the command line and in environment
variables. See whether we can pass a variable into CMAKE_C_FLAGS
that will allow specification of build flags at make time.
Relevant link: https://cmake.org/Bug/view.php?id=12928
* investigate the possibility of allowing functions to define
their own custom filters for some version of the db_search API.
@@ -393,9 +399,6 @@ THESE ARE UNSCHEDULED BACKLOG TASKS
as the functions satisfy the API templates used by the db_plan
structures, wouldn't custom functions work?
* merge get_eyemodel's functionality as a "view eyemodel"
sub-command in MGED/Archer.
* document gqa centroid and moments of inertia options
* add support for custom and random views to gqa. provide an option
@@ -555,10 +558,16 @@ THESE ARE UNSCHEDULED BACKLOG TASKS
* decouple libwdb from librt, particularly the headers and relevant
structures that cross over to both such as the rtgeom.h types.
* Translate the poly2tri routines into libbn C code
* Translate logic from clipper polygon clipping library
(http://www.angusj.com/delphi/clipper.php) into libbg and use it
as a pre-processing step for poly2tri's algorithm along the lines
of what bitfighter did: https://github.com/raptor/clip2tri
Some useful notes here: http://stackoverflow.com/a/16115775
* Translate the poly2tri routines into libbg C code
* Implement Shamos-Hoey test for checking whether a polygon is simple
in libbn: http://geomalgorithms.com/a09-_intersect-3.html
in libbg: http://geomalgorithms.com/a09-_intersect-3.html
* figure out what in f_matpick (or possibly some other related function)
is causing ipathpos to get incremented to a number larger than the
@@ -567,24 +576,6 @@ THESE ARE UNSCHEDULED BACKLOG TASKS
* change _mged_ command prefix to a simple '.' prefix to hide/protect
the built-in commands.
* the 'comb' command both updates and creates combinations. this is a
problem because it's not possible to infer an intended result from
the command string alone. it should either append to an existing
combination and fail if it doesn't exist (with flag to create) OR it
should create a combination and fail if there is an existing
combination (with flag to append).
* Update the comb "region lift" capability to handle automatic duplication
and substitution of the duplicate into the tree of combs who can't have
their definitions changed without impacting other geometry in the .g file.
* change 'mirror' command offset to be prior to mirror instead of
after, so that you can mirror intuitively over a specified point
along a given axis.
* add option to 'mirror' command to delete the source object. support
specification of a plane as the view plane, 3 points, XY, YZ, XZ.
* refactor rt_mirror (src/librt/primitives/mirror.c) into the functab
* refactor rt_functab accessors to go through an api call or calls so
@@ -617,6 +608,9 @@ THESE ARE UNSCHEDULED BACKLOG TASKS
* investigate integrating Pixar's OpenSubdiv for subdivision surfaces:
http://graphics.pixar.com/opensubdiv/
* investigate the possibility of using Appleseed (http://appleseedhq.net/)
to perform visual image rendering using librt shotline data for input.
* the scale structure in bn_cmd_noise_slice (bn_tcl.c) was never
initialized. it looks like somebody has planned to extend the
function but never carried out
@@ -646,10 +640,6 @@ THESE ARE UNSCHEDULED BACKLOG TASKS
as API instead of expecting callers to use RT_DBNHASH and
RT_DBHASH() manually. consider using bu_hash or other container.
* rename chan_add, chan_mult, chan_permute and look into possibly
merging them into one tool in the util directory. similar to the
'join' command, but arguably easier to use.
* temp colors and temp matrices during ray tracing, rt, rtwizard.
need a command-line and mged method to override parameters.
@@ -672,11 +662,6 @@ THESE ARE UNSCHEDULED BACKLOG TASKS
* convert teapot to use nurbs surfaces instead of bspline
* add an option to the bb command for calculating a bounding box that
encompasses subtracted objects and trimmed surfaces and default to
calculating a tight-fitting fbounding box once we have a robust path
from geom->NURBS+CSG->NURBS.
* create a FASTGEN sample geometry with all entities defined and a
corresponding regression test to make sure outputs don't change.
@@ -764,39 +749,14 @@ THESE ARE UNSCHEDULED BACKLOG TASKS
* Mac OS X mouse input binding problem seems to be back with rotations
stalling during interactive use.
* killall command reports db_lookup failures if the target object
doesn't exist (maybe we only care about refs). should keep quiet.
* pixdiff reports bytes, but reports incorrect (off-by-one) bytes for
.bw input files. cause is due to tool assuming input is rgb triplets
(even though output is bytes, wtf?). should probably report pixels
and/or have a -b option for handling byte/bw input.
* the new "exists" command is a beautiful corollary to the unix 'test'
command. make the usage match, remove options that make no sense
after you've replaced instances of 'file' with 'object', and add
options specific to testing geometry (like whether two objects
overlap, whether an object's volume is greater than some value or
equal to zero, whether two objects are actually the same object
(geometrically), etc.).
* investigate why epa primitive is so sensitive to coarse absolute
value changes (run csgbrep, tol abs=1, facetize and get 321k poly)
* implement a new "simulate" command for applying physics deformations
to geometry. Each timestep (default steps==1) would get recorded as
new geometry unless updating the existing is requested. Usage might
be something like this:
simulate [-k] [-g|-G] [-f x y z N] <time> [steps]
Examples:
simulate 10.5 # simulate 10.5s of time (default gravity)
simulate 3 10 # simulate 30s of time, 10s per timestep
simulate -f 0 0 -1.0 9.807 3.0 # earth's gravity for 3s
simulate -k 1.0 # simulate 1s of gravity, overwriting original
simulate -G -f 1 2 3 .4 5 # no gravity, custom force, 5s
* implement http network transfer tool for crash reports and benchmark
analyses (via libfetch)
@@ -819,8 +779,6 @@ THESE ARE UNSCHEDULED BACKLOG TASKS
framebuffer is enabled and the window is resized. initialize and
refresh the new memory and zap the framebuffer.
* merge sed and oed commands
* make the right-hand path to oed optional
* deprecate dbcp and merge functionality (and improved
@@ -831,8 +789,6 @@ THESE ARE UNSCHEDULED BACKLOG TASKS
* update g-xxx_facets to use libgcv
* make sure 'preview' works, particularly the 'tree' subcommand.
* make nreed's new bot cleanup interface update interactively without
resorting to calls to Tcl_DoOneEvent() down in librt.
@@ -845,9 +801,6 @@ THESE ARE UNSCHEDULED BACKLOG TASKS
* investigate OpenEXR (BSD licensed HDE image format)
* add support for a custom unit conversion factor to the units command
(e.g. 'units 9.3120223' or 'units metertons 9.3120223')
* usage statistics. similar to the eclipse Usage Data Collector, keep
track of which BRL-CAD command-line commands and MGED/libged
commands are run. Give the user the option of uploading those
@@ -888,10 +841,6 @@ THESE ARE UNSCHEDULED BACKLOG TASKS
obtain a bu_log()-style callback function returned from a
logger registration function.
* deprecate dbfind - ensure functionality is fully captured by the
search command, make it report a deprecation statement on use and
utilize search under the hood.
* investigate impact of using lookup tables for root solving.
implement lookup tables for a range of linear, quadratic, cubic, and
quartic polynomial coefficients. compare performance to root
@@ -933,9 +882,6 @@ THESE ARE UNSCHEDULED BACKLOG TASKS
intersected with them) since, while bad practice, are valid
geometrically.
* implement some sort of archive/backup command in mged in order to
save the currently open database out to a file.
* make sure there are no getenv() non-NULL assumptions within the
code. might want to see if there's a pattern of variables being
checked such that a libbu interface would be warranted (e.g.,
@@ -983,15 +929,6 @@ THESE ARE UNSCHEDULED BACKLOG TASKS
* refactor mged's signal handling to make it possible to safely
interrupt long-running commands
* add a -color option to all mged commands that draw geometry (B, eid,
and E come to mind)
* have mged record a timestamped command history by default
* implement -exec support for 'search' command
* implement -param support for 'search' command
* readd support for vrml v1 to g-vrml so that users can select whether
they want v2 (default) or previous v1 output format via a
command-line switch. see http://brlcad.svn.sf.net/viewvc/brlcad/brlcad/trunk/conv/g-vrml.c?view=diff&pathrev=22798&r1=16900&r2=16901
@@ -1015,8 +952,6 @@ THESE ARE UNSCHEDULED BACKLOG TASKS
* calculate radii of gyration in 'analyze' and/or gqa output
* implement 'analyze' command option to write output to a file
* implement make, ted, edsol, mirror, and analyze for revolve
primitive. implement tess() too.
@@ -1031,13 +966,6 @@ THESE ARE UNSCHEDULED BACKLOG TASKS
* give bot-bldxf the axe (reconcile and merge with bot_dump)
* implement mged object name globbing similar to tclsh's globbing
(i.e. via a globbing command and quoting globs that use []). testing
shows db_glob doesn't seem to behave correctly, at least not like
glob. hook globbing into all commands so glob_compat_mode
statefulness can go away. a db_glob expression that doesn't match
anything should not return the expression.
* come up with a new tool that automatically generates "inside"
regions for a given model as a way to automatically model air.
particularly useful for bot models where the inside air compartment
@@ -1172,8 +1100,6 @@ THESE ARE UNSCHEDULED BACKLOG TASKS
* libfb + font rendering (perhaps through libbn's plot interface) for
a posix terminal.
* OpenCL for enhanced performance boolweave sorting
* getexecname, "/proc/self/cmdline", program_invocation_short_name.
separate out into new file.
@@ -1214,15 +1140,6 @@ THESE ARE UNSCHEDULED BACKLOG TASKS
combinations of these primitives, provided their continuity at the
ends ensures continuity all along "seams" - something to consider.
* incorporate some variety of spatial partitioning into the facetize
command (may involve just rewriting it) to try and realize MUCH
faster tessellation of CSG geometry. Current routines are doing a
lot of unnecessary work that tends to result in explosive completion
times for worst-case scenarios - try to get closer to the "only do
the work we need to" ideal. Once a new idea is proven in that
command, it should be made into a libgcv routine and
converters/other commands retargeted to use it.
* look into embedding both rgb[3] and complex[n] data types in a union
to allow unification of libmultispectral and liboptical APIs to a
single more general liboptical. Need to be careful about
@@ -1363,6 +1280,16 @@ LIBGED
* See src/libged/TODO for new command and subcommand ideas.
* the lt [-c] obj command looks like it should be replaceable with
a search command (search obj -depth 1) and a more powerful -print
option that can do things like mimic tcl style output and create
lists with user specified character separation. Enhance search
to do more powerful printing, then make lt an alias to a search
call.
* pull work on rm command out of history (commit r67394 reverted it)
and take it to a production ready stage.
* libged needs to support "temporary" objects that are in-memory only
and will disappear when the ged instance is destroyed, yet is
otherwise considered real objects in a given database. this
@@ -1404,6 +1331,153 @@ LIBGED
common code in src/libanalyze (there may be more candidates around
the tree)
* Extract bounding box code from both autoview.c and get_autoview.c
into a general bounding rpp function in librt and use accordingly
(particularly in libged). Should combine autoview.c with
get_autoview.c (perhaps as a flag) and utilize the general function
in lots of places (e.g., the ged_arb() function).
* Explore possibility of expanding dm command to accept object names
as a way of tweaking display manager specific properties (wireframe
vs solid drawing, shading on normals, etc.) that are currently
controlled only via the draw command. Many of the undocumented (or
poorly documented) draw options are very specific and there are many
more possible similar options that aren't defined. Initial thought
is to allow passing "dm" subcommands to draw (maybe --dm key=val or
some such) and using the dm command to offer display type aware
hooks (for example, solid drawing isn't a valid option in text mode
display, so options about how to shade normals don't make much
sense. On the other hand, a full scene graph could have many
per-object display options the user (or application) would want to
tweak on a per object basis, e.g. dm obj.r transparency 0.3. Hard
wiring draw options isn't going to be flexible or user friendly;
need something similar to the new dm ability to supply dm-backend
specific options to the user.
* use the globbing work needed for proper rm support to enhance the
ls command. dbfind's behavior can be emulated by search, but the
speed of dbfind is not practical in search due to the potential
generality of search's filters. search would have to pre-process
its plan and prove it needed to examine only a subset of the full
hierarchy in advance. ls */objname is a better match for what
dbfind is actually doing, and if need be we could add a
--print-parent option or some such to precisely mimic dbfind's
output.
* make the idents command not list subtracted objects by default,
optionally list everything
* improve performance of these commands that seem to have exponential
cost: bot_split, killtree
* translate lc command to libged (discovered in Feb. 2015 to have already
been done -- need information regarding when this was done and committed).
* BoT mesh editing command. Subtasks:
- enumerate functions desirable
- catalog features of other mesh manipulation tools
- investigate mesh editing libraries and/or relying on NMG editing
- bind GUI editing to the BoT mesh editing command
* object error heuristic. implement a function/command to report how
big of an error a given geometry object has. the intent is to help
prioritize geometry modeling errors based on their spatial impact.
this is particularly relevant for nurbs/brep and nmg geometry where
there may be solidity gaps in the topology that need to be sealed or
dangling faces/surfaces of different sizes. this is meant to be a
relative heuristic applicable across all geometry, not necessary an
exact measure. this may make more sense added as an output option
to glint or as a warning category for a geometry debugger.
* implement a region anointment feature where the user can turn an
assembly into a region and change all lower or higher regions into
combinations. basically consolidate or distribute region flags.
this is partially covered by the 'comb' command but it tries hard to
ensure geometry isn't left in a broken state. needs to be a way to
do the simple consolidate/distribute operation regardless of
resulting state.
* update search depth options (above + below) to make sure the logic
supports depth=0 / above=0 / below=0 meaning the current node.
* the 'comb' command both updates and creates combinations. this is a
problem because it's not possible to infer an intended result from
the command string alone. it should either append to an existing
combination and fail if it doesn't exist (with flag to create) OR it
should create a combination and fail if there is an existing
combination (with flag to append).
* Update the comb "region lift" capability to handle automatic duplication
and substitution of the duplicate into the tree of combs who can't have
their definitions changed without impacting other geometry in the .g file.
* change 'mirror' command offset to be prior to mirror instead of
after, so that you can mirror intuitively over a specified point
along a given axis.
* add option to 'mirror' command to delete the source object. support
specification of a plane as the view plane, 3 points, XY, YZ, XZ.
* add an option to the bb command for calculating a bounding box that
encompasses subtracted objects and trimmed surfaces and default to
calculating a tight-fitting fbounding box once we have a robust path
from geom->NURBS+CSG->NURBS.
* killall command reports db_lookup failures if the target object
doesn't exist (maybe we only care about refs). should keep quiet.
* the new "exists" command is a beautiful corollary to the unix 'test'
command. make the usage match, remove options that make no sense
after you've replaced instances of 'file' with 'object', and add
options specific to testing geometry (like whether two objects
overlap, whether an object's volume is greater than some value or
equal to zero, whether two objects are actually the same object
(geometrically), etc.).
* replace sed and oed commands: functionality provided by new 'edit'
command, but requires testing (unit tests) to make sure it's working
correctly.
* make sure 'preview' works, particularly the 'tree' subcommand.
* add support for a custom unit conversion factor to the units command
(e.g. 'units 9.3120223' or 'units metertons 9.3120223')
* deprecate dbfind - ensure functionality is fully captured by the
search and ls commands, make it report a deprecation statement on
use and utilize ls under the hood.
* implement some sort of archive/backup command in mged in order to
save the currently open database out to a file.
* add a -color option to all mged commands that draw geometry (B, eid,
and E come to mind)
* have mged record a timestamped command history by default
* implement -exec support for 'search' command
* implement -param support for 'search' command
* implement 'analyze' command option to write output to a file
* implement mged object name globbing similar to tclsh's globbing
(i.e. via a globbing command and quoting globs that use []). testing
shows db_glob doesn't seem to behave correctly, at least not like
glob. hook globbing into all commands so glob_compat_mode
statefulness can go away. a db_glob expression that doesn't match
anything should not return the expression.
* incorporate some variety of spatial partitioning into the facetize
command (may involve just rewriting it) to try and realize MUCH
faster tessellation of CSG geometry. Current routines are doing a
lot of unnecessary work that tends to result in explosive completion
times for worst-case scenarios - try to get closer to the "only do
the work we need to" ideal. Once a new idea is proven in that
command, it should be made into a libgcv routine and
converters/other commands retargeted to use it.
SHADED DISPLAYS
---------------
@@ -1626,6 +1700,13 @@ NEW OBJECTS
view (i.e., a grid of primary rays), and 3) rtgl point samples
(which is a variant of 2 but potentially view independent).
Considerations:
fast dictionary with expiration by time? (eviction during writes)
cache rate read/write / sec > 10k @ 500bytes
remain fast with millions of entries
immediate retrieval (consistency)
provide for concurrent access (concurrency), perhaps via sharding (N locks)
* alias objects. this is an object handle in a geometry database that
refers to another geometry database object. in effect, it
encapsulates the idea of a symbolic reference for database objects.
@@ -2188,152 +2269,81 @@ DOCUMENTATION
* add missing manual pages (tbrowder2 generated list 2013-08):
3dm-g
a-d
alias-pix
all_sf
anim_cascade
anim_fly
anim_hardtrack
anim_keyread
anim_lookat
anim_offset
anim_orient
archer
asc2pix
bolt
bombardier
bot-bldxf
brep_cube
brep_simple
brepintersect
breplicator
brickwall
brlman
burst
bw-a
bw-d
bwish
c-d
chan_add
check-express
clutter
contours
csgbrep
d-a
d-bw
d-f
d-i
d-u
d2-c
damdf
dauto
dauto2
dconv
ddisp
dem-g
dfft
dmod
double-asc
dpeak
dsel
dsp_add
dstats
dwin
euclid_format
euclid_unformat
f-d
f-i
fbgammamod
fence
fhor
fix_polysolids
g-dot
g-euclid1
g-jack
g-off
g-step
g-voxel
gastank
globe
handle
human
i-a
i-d
i-f
ihist
imod
isst
istats
jack-g
kurt
lens
lowp
masonry
menger
metaball
mkbuilding
molecule
nmg-sgp
nmgmodel
off-g
pdb-g
perplex
picket_fence
pipe
pix-spm
pix-yuv
pix2g
pix3filter
pixcount
pixelswap
pixembed
pixfields
pixfieldsep
pixflip-fb
pixpaste
plot3-dm
plot3stat
pyramid
raw-g
rawbot
re2c
ringworld
room
rtcell
rtfrac
rtrad
rtsil
rtsrv
script-tab
shp-g
sketch
smod
sphflake
spm-fb
ssampview
step-g
surfaceintersec
tea
tea_nmg
texturescale
tgf-g
torii
ttcp
tube
u-a
u-bw
u-d
u-f
umod
ustats
vegetation
wavy
* these are matured shape tools that get installed with simple
usability but should still have basic docs and better names. plan
to absorb them into ged as external plugins, but they'll still need
docs:
bolt
fence
gastank
handle
human
picket_fence
window
window_frame
wire
xyz-plot3
yuv-pix
* misc / 3rd party tools we control / bundle, but need docs if anyone
else is to use them or contribute:
perplex
re2c
* needs his own repo:
ttcp
* need to revisit utility of spherical mapping, used by sh_spm and
sh_points, used for environment mapping (e.g., stars):
pix-spm
spm-fb
* these eventually get put into gcv (hopefully not needing docs):
3dm-g
dem-g
g-dot
g-jack
g-off
g-step
g-voxel
jack-g
off-g
raw-g
shp-g
step-g
tgf-g
* DocBook: create a DB index.xml to generate a doc listing (with
hot links) for the html and pdf collection
@@ -2358,9 +2368,8 @@ DOCUMENTATION
CMake supports other generators, wouldn't hurt to detail how to
trigger builds in them (MSVC is partially covered, make sure to
coverage is complete - others include Eclipse, XCode once we get the
kinks ironed out there, CodeBlocks. New experimental ninja build
tool and its (also experimental) CMake support are promising -
if/when CMake support goes mainstream, document that too.)
kinks ironed out there, CodeBlocks. Ninja build tool and its
CMake support are worth documenting too.
* all of the rt* tracers share common code and common options, but do
not share common documentation. refactor documentation to use
Vendored
+4
View File
@@ -202,6 +202,10 @@ do
shift;;
--disable-step-class-libraries) options="$options -DBRLCAD_SC=SYSTEM";
shift;;
--enable-gecode) options="$options -DBRLCAD_GECODE=BUNDLED";
shift;;
--disable-gecode) options="$options -DBRLCAD_GECODE=SYSTEM";
shift;;
--enable-vds) options="$options -DBRLCAD_VDS=BUNDLED";
shift;;
--disable-vds) options="$options -DBRLCAD_VDS=SYSTEM";
+30 -2
View File
@@ -33,13 +33,41 @@ macro(ADD_NIST_STEP_TARGET step_model folder)
DISTCLEAN(${log_file})
endmacro(ADD_NIST_STEP_TARGET step_model folder)
# Get our root path
if(CMAKE_CONFIGURATION_TYPES)
set(bin_root "${CMAKE_BINARY_DIR}/${CMAKE_CFG_INTDIR}")
else(CMAKE_CONFIGURATION_TYPES)
set(bin_root "${CMAKE_BINARY_DIR}")
endif(CMAKE_CONFIGURATION_TYPES)
# The general pattern of the BRL-CAD build is to use CMAKE_CFG_INTDIR when
# multi-configuration builds complicate the location of binaries. In this
# case, however, we are using a generated script with a different mechanism
# for handling this situation, and we need to update the executable paths
# accordingly if they are configuration dependent.
if(CMAKE_CONFIGURATION_TYPES)
string(REPLACE "${CMAKE_CFG_INTDIR}" "\${BUILD_TYPE}" rbin_root "${bin_root}")
else(CMAKE_CONFIGURATION_TYPES)
set(rbin_root "${bin_root}")
endif(CMAKE_CONFIGURATION_TYPES)
# Use the CMake executable to figure out if we need an extension
get_filename_component(EXE_EXT "${CMAKE_COMMAND}" EXT)
macro(ADD_NIST_3DM_TARGET rhino_model folder)
set(CMD_EXEC ${rbin_root}/${BIN_DIR}/3dm-g${EXE_EXT})
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(output_file ${rbin_root}/${DATA_DIR}/db/${rhino_model_root}.g)
set(log_file ${CMAKE_CURRENT_BINARY_DIR}/${rhino_model_root}.log)
set(STDOUT_LOG "${log_file}")
set(STDERR_LOG "${log_file}")
set(CMD_ARGS "-o \"${output_file}\" \"${CMAKE_CURRENT_SOURCE_DIR}/${rhino_model}\"")
configure_file(${BRLCAD_CMAKE_DIR}/builddir_cmd.cmake.in ${CMAKE_CURRENT_BINARY_DIR}/3dm-g.cmake @ONLY)
set(output_file ${bin_root}/${DATA_DIR}/db/${rhino_model_root}.g)
add_custom_command(
OUTPUT ${output_file}
COMMAND 3dm-g -o ${output_file} ${CMAKE_CURRENT_SOURCE_DIR}/${rhino_model} > ${log_file} 2>&1
COMMAND ${CMAKE_COMMAND} -P ${CMAKE_CURRENT_BINARY_DIR}/3dm-g.cmake
DEPENDS 3dm-g ${CMAKE_CURRENT_SOURCE_DIR}/${rhino_model}
)
add_custom_target(${rhino_model_root}.g ALL DEPENDS ${output_file})
-1
View File
@@ -225,7 +225,6 @@ CMAKEFILES(
README.OSCON-2014
STARTERS
STRATEGY
burst
csv_to_comgeom.txt
implicit_constraints.txt
pad_file.xml.in
+11
View File
@@ -29,6 +29,17 @@ familiar with the project.
* Implement one of the items listed on the request for enhancements tracker
--
There are lots of possible non-coding tasks:
* Write documentation
* Improve the website
* Offer to help with art and design
* Engage in discussions
* Write design docs
* Update roadmap
* Answer questions, be helpful
* Give a presentation on some topic
---
There may be more tasks and ideas available in the Tasks section of
+1 -1
View File
@@ -98,7 +98,7 @@ libXext-devel
libXi-devel
freetype-devel
fontconfig-devel
mesa-libGL-devel
To determine what particular version of Redhat or Fedora you are
using, check these files:
+202 -138
View File
@@ -65,172 +65,201 @@ bolster those areas, and identifies specific actionable objectives.
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
** PROJECT: Deploy Archer/MGED Beta (14)
*** interactivity / blocking indicators - ALPHA (3)
**** TODO multithreaded command execution (2)
**** TODO interface busy indicator (1)
*** command cleanup - ALPHA (3)
**** TODO inventory + mapping + time (1)
**** TODO design UI / commands (2)
**** TODO sit with users to discuss command migration (0)
*** feature parity - ALPHA (2)
**** TODO review/finish edit keypointing (oed parity) (1)
**** TODO GUI matrix editing (1)
*** 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
*** announcements + migration plan - BETA+ (4)
**** TODO write + publish strategy map and migration plan (1)
**** TODO preliminary discussion with users, discuss tcl scripts (0)
**** TODO archer manual page (1)
**** TODO install basic version of new website (1)
**** TODO sit down review with users (1)
*** searchable docs - ALPHA (2)
**** TODO command line searching of doc content, apropos (2)
** PROJECT: Concentration
** PROJECT: Deploy Merged Archer/MGED Final (16)
*** revisit scope (vision, mission)
**** TODO communicate intent and updates
**** TODO develop high-level project roadmap
**** TODO connect features to markets
*** usability parity - BETA (4)
**** TODO classic console mode (1)
**** TODO map from old to new, publish summary (1)
**** TODO reverse .g tempfile backup, edit live (1)
**** TODO graphical query ray (1)
*** 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
*** undo - BETA (2)
**** TODO implement libbu filesystem info (1)
**** TODO re-enable undo with fs awareness (1)
*** unify docs
**** TODO convert/integrate/kill html+troff docs
**** TODO consolidate docs, one guide per interface
**** TODO stub new docs where missing
*** bug reporting / feedback / metrics - BETA (3)
**** TODO reliable backtrace (1)
**** TODO hook/enable bombardier (1)
**** TODO track metrics (archer commands, tips, docs) (1)
*** QA acceptance - BETA (3)
**** TODO define acceptance tasks (1)
**** TODO run regression w/ archer (1)
**** TODO make wiki procedural web scripts work (1)
*** announcements + migration plan - BETA+ (3)
**** TODO review + update tutorials and docs (2)
**** TODO create + give presentation (1)
*** searchable docs - FINAL (1)
**** TODO web publishing + searching of docs (1)
** PROJECT: Webulgation
** PROJECT: Distilling BRL-CAD (11)
FIXME these need to be sorted and ranked
*** revisit scope (vision, mission) (3)
**** TODO communicate intent and updates (1)
**** TODO develop high-level project roadmap (1)
**** TODO connect features to markets (1)
*** publish docbook docs
**** TODO instantiate / set up sofat's doc interface
**** TODO design pdf stylesheet
**** TODO integrate docs onto website (html+pdf)
*** develop command roadmap (4)
**** TODO inventory of command-line commands, decide keep/refactor/kill (1)
**** TODO communicate command-line changes (0)
**** TODO develop command categorization (1)
**** TODO take inventory of ged commands, decide keep/refactor/kill (1)
**** TODO communicate ged command changes (0)
**** TODO assess and mitigate deployment risks (1)
*** 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)
*** integrate docs (4)
**** TODO plan what to do with html+troff docs (0)
**** TODO stub new docs where missing (1)
**** TODO consolidate docs, one guide per interface (2)
**** TODO kill obsolete docs (0)
**** TODO migrate e-mail and release notes to web (1)
** PROJECT: Deploy GCV
** PROJECT: Website Renovation (10)
*** 3dm "round-tripping"
**** TODO integrate existing importer
**** TODO NURBS export support
**** TODO document entity support
*** improve website usability (1)
**** TODO set up platform-detected downloads on main page (0)
**** TODO publish project vitality/stats (openhub integration) (0)
**** TODO restore search interface (1)
*** 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
*** publish docbook docs (3)
**** TODO instantiate / set up sofat's doc interface (1)
**** TODO design pdf stylesheet (1)
**** TODO integrate docs onto website (html+pdf) (1)
*** CLI usability
**** TODO design usage / synopsis
**** TODO provide logging/debugging interface
*** publish use cases (3)
**** TODO post 3+ customer profiles (1)
**** TODO post top-10 feature highlights (1)
**** TODO identify alternatives and their highlight mappings (1)
**** TODO post comparison table with 2+ alternatives (0)
*** 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
*** set up developer corner (3)
**** TODO ensure buildbot is setup and running handsfree (1)
**** TODO update buildbot stylesheet to fit theme (0)
**** TODO post nightly builds (0)
**** TODO set up cron job to maintain CI and doc updates (1)
**** TODO announce dev corner to brlcad-devel/brlcad-news (0)
**** TODO buildbot <-> cdash/lcov/coverity/gccfarm/swamp integration (1)
** PROJECT: Deploy GCV (9)
** PROJECT: Performant Pipeline
*** bundled ray dispatch
**** TODO define ray bundling API
**** TODO audit librt API for performance
**** TODO convert RT to new bundled API
*** 3dm "round-tripping" (2)
**** TODO integrate existing importer (0)
**** TODO NURBS export support (1)
**** TODO document entity support (1)
*** 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)
*** documentation (3)
**** TODO convert jon's write-up to docbook (0)
**** TODO integrate jon's plugin examples (1)
**** TODO write and publish plugin API policy (1)
**** TODO write and publish GCV feature profile on website (1)
*** CLI usability (2)
**** TODO design usage / synopsis (1)
**** TODO provide logging/debugging interface (0)
**** TODO integrate bot_dump into gcv (1)
*** robust deployment (2)
**** TODO convert tlib via automated testing (1)
**** TODO automate extraction of sources from checkout (0)
**** TODO integrate gcv into mged/archer (0)
**** TODO troubleshoot JASP export memory issue (1)
** PROJECT: Performant Pipeline (15)
*** coherent Boolean evaluation (3)
**** TODO preliminary OpenCL conversion (1)
**** TODO eliminate branching (1)
**** TODO V&V with specific test cases (1)
*** audit ray dispatching (3)
**** TODO define ray bundling API (1)
**** TODO audit librt ray API, consolidate (1)
*** implement bundled ray dispatch (2)
**** TODO integrate Costa's GSoC work (1)
**** TODO propagate bundle through spatial partition (1)
**** TODO convert rt* to new bundled API (1)
*** on-demand NURBS tree-build (4)
**** TODO formulate a design / approach (1)
**** TODO dynamic tree build with minimal malloc (2)
**** TODO profile and validate results (1)
*** coherent NURBS evaluation (1)
**** TODO review 2006 paper (0)
**** TODO convert openNURBS surface evaluation to OpenCL (1)
*** performant raytrace image display (2)
**** TODO optimize libdb/libfb to remove bottleneck (1)
**** TODO update archer for interactive tracing display (1)
** PROJECT: Raytrace Prep Caching (10)
*** implement LIBBU data caching (3)
**** TODO document libbu data caching API (1)
**** TODO create data caching test cases (1)
**** TODO implement libbu data caching (1)
*** implment LIBRT object caching (4)
**** TODO serialize BoT prep data to cache (1)
**** TODO serialize NURBS prep data to cache (1)
**** TODO serialize tess/plot data to cache (2)
*** update tools to utilize the cache (3)
**** TODO update rt* to use prep cache (1)
**** TODO update mged/archer to use tess/plot cache (1)
**** 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
** PROJECT: Progressive Geometry Display (11)
*** coherent NURBS evaluation
**** TODO review 2006 paper
**** TODO convert openNURBS surface evaluation to OpenCL
*** asynchronous geometry display (4)
**** TODO modify display loop to run in separate thread (2)
**** TODO update draw command to dispatch (2)
*** performant raytrace image display
**** TODO optimize libdb/libfb to remove bottleneck
**** TODO update archer for interactive tracing display
*** ray trace display manager (4)
**** TODO review rtgl code (1)
**** TODO design incremental loading architecture (1)
**** TODO implement incremental ray tracing (2)
** PROJECT: Merge Archer/MGED
*** do more good stuff
*** point cloud hashing (3)
**** TODO design LoD point cloud storage approach (1)
**** TODO calculate LoD point cloud utility metric (1)
**** TODO implement LoD point cloud loading (3)
** TEMPLATE: Project Title
@@ -254,6 +283,41 @@ bolster those areas, and identifies specific actionable objectives.
0 for tasks less than 2 days.
* Strategic Strengths
** project
*** open source
*** cross-platform
*** free software
*** 30-years of development
*** massive investment
*** extensive API
*** extensive documentation
** code
*** extensively modular
*** scalability
*** embeddable
*** efficient workflow
*** flexible workflow
*** DoD-accreddited
*** integrated into MUVES, AJEM, COVART
** modeling
*** hybrid representation system
*** wide variety of supported entities
*** csg, nurbs, triangles, volumes, point clouds
*** scriptable geometry
*** procedural geometry
*** geometry conversion
*** geometry editing
** analysis
*** geometry v&v
*** geometry preparation
*** joint articulation system
*** physics simulation system
*** ray tracing performance
*** analytic ray tracing
*** solid ray tracing
*** geometry visualization
# Local Variables:
# mode: org
# End:
-30
View File
@@ -1,30 +0,0 @@
tbl() {
case $# in
0) rsh vmb.brl.mil 'PATH=/usr/5bin:$PATH export PATH; tbl';;
*) cat $1 | rsh vmb.brl.mil 'PATH=/usr/5bin:$PATH export PATH; tbl';;
esac;
}
typeset()
{
case $# in
0)
rsh vmb.brl.mil 'PATH=/usr/5bin:$PATH export PATH; troff -mm -Ti300 | dimp -t | ipr -J -Pim124';;
*) cat $1 |
rsh vmb.brl.mil 'PATH=/usr/5bin:$PATH export PATH; troff -mm -Ti300 | dimp -t | ipr -J -Pim124';;
esac;
}
laser()
{
OPTS=
case $# in
0) ;;
*) case $1 in
-h) OPTS=$1; shift;;
esac
case $# in
1) FILE=$1;;
esac;;
esac
pix-bw -ntsc ${FILE} | bw-imp ${OPTS} | rsh vmb.brl.mil 'PATH=/usr/5bin:$PATH export PATH; ipr -J -Pim124'
unset OPTS FILE;
}
-11
View File
@@ -1,11 +0,0 @@
#!/bin/sh
#OPTS='-V'
OPTS='-b'
groff $OPTS -mm -Tps burst.mm > burst.ps
ps2pdf burst.ps
#groff $OPTS -mm
#groff -mm -Thtml burst.mm > burst.html
-22
View File
@@ -1,22 +0,0 @@
#!/bin/sh
tables="\
bpl \
cmap \
commands \
fb \
hmkeys \
ids \
overlap \
plot \
screen \
scrollmenu \
shotlines \
submenu \
topmenu\
"
for table in $tables ; do
tbl $table.tbl > $table.mm
done
-27
View File
@@ -1,27 +0,0 @@
# these macros (mm files) are generated by tclsh script "Make-tables.sh"
TABLE_MM := bpl.mm
TABLE_MM += cmap.mm
TABLE_MM += commands.mm
TABLE_MM += fb.mm
TABLE_MM += hmkeys.mm
TABLE_MM += ids.mm
TABLE_MM += overlap.mm
TABLE_MM += plot.mm
TABLE_MM += screen.mm
TABLE_MM += scrollmenu.mm
TABLE_MM += shotlines.mm
TABLE_MM += submenu.mm
TABLE_MM += topmenu.mm
PRODS := burst.ps burst.pdf burst.html
docs:
@echo "Making burst tables for groff..."
./Make-tables.sh
@echo "Making burst docs..."
./Make-docs.sh
clean: distclean
distclean:
-rm $(TABLE_MM) $(PRODS) *~ t tt
-64
View File
@@ -1,64 +0,0 @@
Documentation for the BRL-CAD program 'burst'.
Debian requires packages groff and groff-base.
The original source file ('burst.mm') has been modified slightly to
ensure correct handling by Eric Raymond's doclifter
(http://www.catb.org/~esr/doclifter/). From an e-mail from Eric:
from: Eric S. Raymond <esr@thyrsus.com>
reply-to: esr@thyrsus.com
to: Tom Browder <tom.browder@gmail.com>
date: Tue, Aug 20, 2013 at 8:48 AM
subject: Re: doclifter (master) failing on troff mm source
mailed-by: thyrsus.com
<quote>
Tom Browder <tom.browder@gmail.com>:
> I have checked all macros and they are valid mm macros so I can't
> figure out why doclifter is failing. I can send you the whole source
> zipped if you're interested.
What you sent is sufficient. The problem is that your mm file
contains none of the three trigger macros doclifter is looking for as
a way to recognize that it's dealing with mm - .MT, .SA, or .COVER.
The relevant table looks like this:
# This is how we autodetect the right macro set:
interpreter_dispatch = {
"pp": MeInterpreter,
"Dt": MdocInterpreter,
"Dd": MdocInterpreter,
"Nm": MdocInterpreter,
"AU": MsInterpreter,
"NH": MsInterpreter,
"TH": ManInterpreter,
"MT": MmInterpreter,
"SA": MmInterpreter,
"COVER": MmInterpreter,
# Extension macro sets
"supplemental macros used in Tcl/Tk": TkManInterpreter,
"BS": TkManInterpreter,
"the F register is turned on": Pod2ManInterpreter,
"ZN": XManInterpreter,
"Pn": XManInterpreter,
"ny0": XManInterpreter,
"reStructuredText": reStructuredTextInterpreter,
"reStructeredText": reStructuredTextInterpreter,
"DocBook XSL Stylesheets" : DocBookInterpreter,
"pdfdest" : FoojzsInterpreter,
"H0": ASTInterpreter,
# These are all of the supported Mwww tags
"URL": MwwwInterpreter,
"FTP": MwwwInterpreter,
"MTO": MwwwInterpreter,
"PIMG": MwwwInterpreter,
"IMG": MwwwInterpreter,
"TAG": MwwwInterpreter,
}
Inserting a dummy .MT 0 call should fix your problem.
</quote>
-15
View File
@@ -1,15 +0,0 @@
.TL
``burst''; Air Force Vulnerability Analyses from BRL-CAD Models
.AF "U. S. A. Ballistic Research Laboratory"
.ds ZZ Aberdeen Proving Ground
.AU "Gary S.\& Moss" GSM ZZ
.AS
.so introduction.mm
'\"The presentation will not dwell on the details of usage as much as the paper
'\"but will focus on the available features of the \*(b) program
'\"as well as its flexibility in supporting analyses of varied threat
'\"mechanisms on \*(m) targets.
.AE
.MT 4
.rm ZZ
.SA 1
-37
View File
@@ -1,37 +0,0 @@
.TS
allbox,center,tab(@);
lb lb lb
_ _ _
l l l.
record description@field format@field description
run header@'1'@record number 1
@1x,f9.4@attack azimuth (degrees)
@1x,f8.4@attack elevation (degrees)
@1x,f5.2@burst distance
@1x,f10.2@projected area associated with burst point
@1x,6a@units (mm,cm,inches,feet,meters)
@1x,f9.6@ray solid angle (steradians)
shotline header@'2'@record number 2
@1x,f8.3@Y' coordinate of shotline
@1x,f8.3@Z' coordinate of shotline
shotline intersections@'3'@record number 3
@1x,f8.2@X' coordinate of component intersection
@1x,f8.2@line-of-sight thickness of component
@1x,i4@component code number
@1x,i2@space code
@1x,f7.3@sine of fallback angle of exit normal
@1x,f7.2@rotation angle of exit normal (degrees)
@1x,f7.3@cosine of obliquity angle at entry
@1x,a1@burst flag ('1' for yes, '0' for no)
burst ray header@'4'@record number 4
@1x,f8.3@azimuth angle WRT shotline (radians)
@1x,f8.3@sine of elevation angle WRT shotline
@1x,i6@sequential ray number for this burst point
burst ray intersections@'5'@record number 5
@1x,f10.3@distance to first contact with component
@1x,f9.3@line-of-sight thickness of component
@1x,f9.3@normal thickness of component
@1x,i4@space code
@1x,i4@component code number
@1x,f6.3@cosine of obliquity angle at entry
.TE
-995
View File
@@ -1,995 +0,0 @@
.\" ASI Note: PP was changed to P in this file; CS was commented out
.\" Note the following line was added per Eric Raymond's advice for
.\" use by doclifter:
.MT 0
.PH ""
.PF "''\\\\nP''"
.so defs.mm
.so abstract.mm
.so macros.mm
.H 1 "User Interface"
.H 2 "Program Invocation"
In the examples below,
the `$' symbol represents the \*(U)
shell prompt.
The general usage for the \*(b) program is as follows:
.Ex "burst [-b]\fR"
.P
When \*(b) is used in the default mode,
a full-screen, interactive, menu-driven interface is provided:
.Ex burst
In the interactive mode,
commands are formatted by the menu system (see \fBHierarchical Menus\fR).
The optional
.I -b\^
argument will suppress the full-screen terminal display in favor of a
batch-oriented interface;
when coupled with \*(U) file redirection and background processing,
the user can submit the job and go on to other tasks.
.Ex "burst \|\-b \|< \|input_file \|&"
The user will typically want to redirect any diagnostics to a log file
(see \fBError Log\fR).
In either batch or interactive mode,
the program will read commands (see \fBCommand Input\fR) from the standard
input until an end of file is encountered.
In batch mode,
the program will exit after the last command is processed,
but when run interactively the menu system will take over after the last
command.
The user must \fIquit\fR the program by exiting the top-level menu
(see Table 2).
It is recommended that the reader begin by running the \*(b)
program interactively.
The hierarchical menu system generates key word commands for the user by
prompting him to make choices or enter values without prior knowledge of
the commands and their syntax.
As commands are generated,
they are printed in the scrolling region so that the user can learn
the syntax of the alternative mode of input without affecting his productivity.
The more advanced user can circumvent the menu system by using a
text editor to prepare input files.
.sp
.H 2 "Command Input"
All commands to \*(b) are composed of one or more words connected by hyphens
and each command may require one or more arguments that must be separated by
either spaces or tabs.
A line that begins with the `#' symbol is considered a comment and will be
ignored.
Each command must be on a separate line and may be supplied to the \*(b)
program's standard input (i.e. using \*(U)
.Ud sh 1
file redirection) or can be generated from the hierarchical menus.
In Table 1 below is a brief description of these commands; \fIflag\fR
arguments have \fIyes\fR or \fIno\fR values, an \fIangle\fR is expressed in
degrees as a floating-point quantity,
\fIdistances\fR and coordinates such as \fIX, Y, Z, left, right\fR, etc.
are also floating-point numbers,
and \fIcount\fR represents an integer.
Square brackets delimit optional arguments.
For a detailed description of each command,
refer to sections 2 through 7.
.DF
.sp
.TB "Key Word Commands"
.so commands.mm
.sp
.DE
.H 2 "Screen Layout"
In interactive mode,
the screen is divided into sections of one or more rows (lines) of text.
.DF
.so screen.mm
.FG "Screen Layout"
.sp
.DE
The top line,
referred to as line 1,
is reserved for
CPU
usage statistics.
Starting on line 2,
the hierarchical menu region spans 12 lines of the screen.
Below the menu region is a line used for user input related errors and
help messages that are generated by typing an `h' (see Table 2).
Below that is a line used to prompt the user for input and to inform him
of ongoing processing.
The next line contains the program name and version number,
and is intended as a divider between the scrolling window below it and the
non-scrolling portion of the screen.
Once ray tracing has begun,
grid index ranges will appear inside square brackets to the right of the
version number.
The first number is the current horizontal index,
and this is separated by a colon from the right-most index for the grid.
After the comma,
is the current vertical index,
followed by the top-most index for the grid.
As ray tracing commences,
the current grid indices will reflect the current shotline being calculated
as the grid is traversed in a left-to-right,
bottom-to-top fashion.
The scrolling window region takes up the remainder of the screen for the
display of processed commands and processing-related errors (i.e. from the
ray tracer).
Figure 1 shows what the various sections of the screen are used for,
however in practice,
the status information,
help message,
and prompt would not be displayed concurrently.
The screen-oriented interface is terminal independent;
it doesn't use graphics per se
but uses the terminal capabilities information database to control the
manipulation of text characters.
.sp
.H 2 "Hierarchical Menus"
Table 2 shows the key strokes used to manipulate the menus.
.DF
.sp
.TB "Hierarchical Menu Commands"
.so hmkeys.mm
.sp
.DE
The top-level menu looks like Figure 2.
.DF
.so topmenu.mm
.FG "Top-Level Hierarchical Menu"
.sp
.DE
Note that the \fIcurrent\fR entry will be highlighted.
The `v' symbols at the bottom corners of the menu show that
there are more entries below.
Attempting to move the cursor past the bottom entry will cause the
menu to scroll upwards as illustrated in Figure 3.
.DF
.so scrollmenu.mm
.FG "Scrolled Menu"
.sp
.DE
Note the `^' symbols at the top corners of the menu.
These signify that there are now hidden entries above that can be
scrolled down by advancing the cursor upwards past the top visible
entry.
If no scrolling is possible,
that is,
if no further entries exist,
a `+' symbol will mark the corner of the menu.
If a menu item is selected that has a sub-menu,
the sub-menu will be drawn to the right of its parent menu as shown
in Figure 4.
.DF
.so submenu.mm
.FG "Sub-Menu Display"
.sp
.DE
The menu system \fIremembers\fR the last item selected in a given
menu;
entering a menu that has been used before will cause
the \fIcurrent\fR item to be the same as it was when that menu was last exited.
If a menu has never been used,
the top item will initially be \fIcurrent\fR.
.H 2 "Scrolling Region"
When running the \*(b) program interactively,
all diagnostic output is, by default, printed in a scrolling text window
at the bottom of the display.
If the batch option (\fI\-b\fR) is used,
these diagnostics will be printed on the standard error output of the
program.
If there is enough output the user may find it difficult
to read it all before it scrolls out of sight.
Also, the user may wish to save these diagnostics for later reference;
overlap diagnostics from the ray tracer are useful in fixing errors in
the geometry of the target description.
The \*(b) program has a command called
.Co error-file
that will divert this output to a file (see \fBError Log\fR).
Figure 5 shows three such overlap diagnostics.
.DS
.sp
.so overlap.mm
.FG "Overlap Diagnostics"
.sp
.DE
The full path name of both regions is printed, the zero enclosed in double
curly brackets is intended to discriminate between \fIinstances\fR\*F.
.FS
An \fIinstance\fR is a type of group in the \*(m) data base that has
a \fIprototype\fR object as a member.
Several \fIinstances\fR may reference the same \fIprototype\fR
yet have different transformation matrices.
Although these objects represent distinct geometric entities,
they share the same path name,
therefore the additional discriminant is necessary.
.FE
Theoretically,
\fIisol\fR and \fIosol\fR are the names of the starting and ending solids
associated with the boolean operations on the overlapping partition.
In practice,
these solid names are typically not helpful in diagnosing the problem,
but the region names should be sufficient.
The \fIdepth\fR is the line-of-sight thickness of the overlapping partition
in millimeters.
In parentheses,
are printed the target coordinates of the intersection of the ray
with the overlap.
The \fIx-2\fR and \fIy1\fR reveal that the grid indices of the shotline are
\fI-2, 1\fR; this means that the shotline was 2 cells to the left,
and one cell above the grid origin.
If \fIlvl\fR (meaning ray tracing recursion level) is \fIzero\fR,
then the overlap resulted from a shotline,
but if it is \fIone\fR,
it could represent either a burst ray intersection or a probe to
calculate the normal thickness of a component intersected by the shotline.
The real purpose of the ray is stated last.
.H 1 "Executing a Run"
.Cs "/execute"
The \*(b) program is designed to allow many options to be configured before
any outputs are calculated.
Unless otherwise stated in the individual command descriptions in this report,
a given command will nullify any previous occurrence of the same directive
until an
.Co execute
command is given.
For instance, the command
.Co "target-file"
\ \fItank1\fR followed by
.Co "target-file"
\ \fItank2\fR will nullify the reference to \fItank1\fR.
Once the input parameters are specified,
the
.Co execute
command will start a \fIrun\fR.
Many \fIruns\fR may occur during an instance of the \*(b) program.
One such instance is referred to as a \fIsession\fR.
Below are descriptions of commands for configuring the behavior of the
\*(b) program.
.Ce
.H 1 "User Preferences"
.H 2 "Units of Measure"
.Cs /units
The
.Co units
command will set the linear units for input and output.
This command should be used before any scalar quantities such as coordinates,
distances,
or sizes are input.
The units may be changed to accommodate input files of differing units,
but the output from a particular run will reflect whatever the units were
set to when the
.Co execute
command was given.
One argument is expected out of the following list and must be spelled
correctly:
\fImillimeters\fR,
\fIcentimeters\fR,
\fImeters\fR,
\fIinches\fR and \fIfeet\fR.
The default units are \fImillimeters\fR.
Angles are always expressed in degrees, not radians.
.Ce
.H 2 "Region Overlap Reporting"
.Cs "/preferences/report-overlaps"
It is considered an error if two \fIregions\fR in an \*(m) file occupy
the same space; we call this an \fIoverlap\fR.
The ray tracing library (\*(l)) will report \fIoverlapping regions\fR that are
intersected by shotlines or burst rays to the \*(b) application and
the program will,
by default,
print out any that have a line of sight thickness of at least 0.25 millimeters
(see \fBError Log\fR).
Although a target may only have several \fIoverlaps\fR,
an error will be reported for each ray that intersects one of them,
so the messages will typically be repetitious.
Although these diagnostics are important for fixing problems in the geometric
description of the target,
the user may wish to proceed with a production run and the printing of these
errors can slow the execution time considerably.
A \fIyes\fR or \fIno\fR argument to this command will turn the diagnostics
on or off.
Regardless of whether or not individual \fIoverlaps\fR are reported,
the total number detected will be logged.
.Ce
.H 1 "Shotlining Options"
.Cs /shotlines
\fIShotlining\fR is a technique whereby lines are described in the target
coordinate system and information is requested about the geometry that
intersects those lines in 3-space.
This technique is useful for analysis programs that must simulate
threat/target interactions,
and therefore must sample the geometry along the threat path.
Typically the lines are specified discretely,
by a point and a direction,
or a \fIgrid\fR of lines is generated that is
oriented perpendicular to the direction of attack.
A \fIgrid\fR is rectangular,
but is subdivided along its height and width uniformly resulting in square
cells.
\fIGridding\fR techniques include passing a line called a \fIshotline\fR through
the center of each cell,
or alternatively,
\fIdithering\fR each shotline's position within its respective cell's
boundaries (see \fBDithering Shotlines\fR).
.Ce
.H 2 "Attack Direction"
.Cs "/shotlines/attack-direction"
The orientation of shotlines with respect to the coordinate system of the
target are described by \fIazimuth\fR and \fIelevation\fR angles.
These angles must be specified in degrees as floating-point numbers
(see \fBGridding\fR).
.Ce
.H 2 "Gridding"
.Cs "/shotlines/shotline location"
The user is faced with several choices for generating shotlines;
full-target envelope, partial envelopes, or discrete shots.
No matter what shotlining method is used,
a grid always exists as a frame of reference for specifying 2-dimensional
coordinates in the plane normal to the direction of attack.
This 2-dimensional coordinate system is a projection of the shotline
coordinate system (also referred to as the \fIprimed\fR coordinate system).
For the simple case of a zero azimuth, zero elevation attack,
the
.Ax \*(x) \*(y) \*(z)
in the shotline coordinate system coincide
with the
.Ax \*(X) \*(Y) \*(Z)
of the target coordinate system and the shotline direction is parallel to
the \*(x)\*(A) and headed toward decreasing coordinates.
Other orientations are described by rotating the
.Ax \*(x) \*(y) \*(z)
to keep the shotline direction always down the \*(x)\*(A).
This transformation involves two rotations;
first a rotation of the \fIprimed\fR coordinate system about the coincident
\*(Z) and \*(z)\*(a) by the specified azimuthal angle,
followed by a rotation about the new \*(y)\*(A) by the specified elevation
angle.
Since the grid is a 2-d projection of the shotline coordinate system,
it has no \*(X) coordinate;
if the user's viewpoint is from the direction of attack,
the \*(y)\*(A) can be thought of as horizontal with increasing coordinates
to the right,
and the \*(z)\*(A) as vertical and increasing in the upward direction.
.Ce
.Cs "/shotlines/shotline location/envelope"
An \fIenvelope\fR refers to a grid that is dimensioned such that its
rectangular area,
projected normal to the grid,
will cover optionally all or part of the target.
.Ce
.Cs "/shotlines/shotline location/envelope/enclose-target"
This option will generate a grid that is guaranteed to cover the entire
target.
Since the \*(m) modeler uses combinatorial solid geometry,
the dimensions of the target are not known,
therefore a worst case bounding rectangular parallel piped (RPP)
is the only information available to the program and
the grid may be larger than necessary.
In addition,
depending on the attack aspect,
the presented area of some targets may not fill up a rectangular grid well.
This should not be a problem since ray tracing outside the target
boundaries is cheap, but if desired,
the grid can be trimmed down with the partial envelope option described
below.
The grid origin is always aligned with the target origin.
.Ce
.Cs "/shotlines/shotline location/envelope/enclose-portion"
This option allows the user to generate a \fIsub-grid\fR by specifying the
distances from the grid origin to the \fIsub-grid's\fR left, right, top,
and bottom boundaries.
.Ce
.H 2 "Cell Size"
.Cs "/shotlines/cell-size"
The dimensions of a grid cell are input as floating-point values that
represent the distances between the centers of adjacent cells.
\fICell size\fR also expresses the projected area of influence
associated with a shotline or burst ray.
Therefore,
\fIcell size\fR must be specified even when a grid will not be generated,
such as with discrete shot or discrete burst point selection
(see \fBInput Discrete Shots\fR and \fBInput Discrete Burst Points\fR).
.Ce
.H 2 "Dithering Shotlines"
.Cs "/shotlines/dither-cells"
When gridding,
shotlines normally pass through the center of each cell,
however,
they may be also be \fIdithered\fR.
If the user chooses the latter,
2 random numbers are selected for each
cell that are used to offset the shotline in both parametric
directions of the grid plane,
but within the respective cell's boundaries.
.Ce
.H 2 "Input Discrete Shots"
.Cs "/shotlines/shotline location/discrete shots"
The following options describe different ways to input explicit shot locations
as an alternative to generating a grid.
.Ce
.Cs "/shotlines/shotline location/discrete shots/target coordinate system"
If the user wants to fire at a known point on the target,
he may wish to describe the shotline location in target coordinates.
When coupled with the attack direction,
each 3-dimensional coordinate uniquely specifies a shotline.
.Ce
.Cs "/shotlines/shotline location/discrete shots/target coordinate system/input-3d-shot"
This option allows the user to type in a single shot location as an
\*(X), \*(Y), and \*(Z) coordinate.
When the
.Co execute
command is given,
that one shot will be run.
No queueing of shots occurs in this mode;
the last set of coordinates entered will be used.
.Ce
.Cs "/shotlines/shotline location/discrete shots/target coordinate system/read-3d-shot-file"
A number of shots can be input from a file;
this option will,
after submission of an
.Co execute
directive,
loop through every set of target coordinates in the named file.
The file should contain three floating-point numbers on each line separated by
white space (blanks or tabs).
.Ce
.Cs "/shotlines/shotline location/discrete shots/shotline coordinate system"
Another way to describe a shot location is in the shotline coordinate
system.
Since the \*(x) location of the shot is irrelevant (the shotline is
parallel to the \*(x)\*(A)) a shot may be specified as a
\*(y) and \*(z) coordinate.
These coordinates can also be referred to as horizontal and vertical grid
offsets.
.Ce
.Cs "/shotlines/shotline location/discrete shots/shotline coordinate system/input-2d-shot"
This option allows the user to type in a single shot location as a
\*(y), and \*(z) coordinate.
When the
.Co execute
command is given,
that one shot will be run.
No queueing of shots occurs in this mode,
the last set of grid offsets entered will be used.
.Ce
.Cs "/shotlines/shotline location/discrete shots/shotline coordinate system/read-2d-shot-file"
A number of shots can be input from a file;
this option will,
after submission of an
.Co execute
directive,
loop through every set of grid offsets in the named file.
The file should contain three floating-point numbers on each line separated by
white space (blanks or tabs).
.Ce
.H 1 "Bursting Options"
.Cs "/burst points"
\fIBursting\fR is a technique for sampling a target's geometry with the use
of ray tracing.
As opposed to \fIshotlining\fR involving parallel rays,
\fIbursting\fR employs a distribution of rays that emanate from a single
point.
The \*(b) program generates rays that approximate a uniform distribution
over a user-specified solid angle (see \fBSampling Cone Half Angle\fR)
and having a density (see \fBNumber of Sampling Rays\fR) that is also under
control of the user.
The user also has a choice between several mechanisms for setting up
burst point locations depending on the particular threat he is attempting
to emulate.
.Ce
.H 2 "Method of Locating Burst Point"
.Cs "/burst points/bursting method"
Depending on threat type,
burst points may be located using two basic techniques.
The first technique is simply to input the burst point coordinates.
This method can be used to compare vulnerability analysis results with
empirical results from the firing range or combat field.
The second technique available to the user is to burst along a shotline.
This option is used more for predicting the burst point location based
on target geometry,
given certain parameters that describe the target/threat interactions.
.Ce
.H 3 "Input Discrete Burst Points"
.Cs "/burst points/bursting method/burst point coordinates"
The input of explicit burst point coordinates can be accomplished
either by typing them in one at a time or by reading a file
of target \*(X), \*(Y), and \*(Z) coordinates.
.Ce
.Cs "/burst points/bursting method/burst point coordinates/burst-coordinates"
This option allows the user to type in a single burst point location as an
\*(X), \*(Y), and \*(Z) coordinate.
When the
.Co execute
command is given,
that one burst point will be run.
No queueing of burst points occurs in this mode,
the last set of coordinates entered will be used.
.Ce
.Cs "/burst points/bursting method/burst point coordinates/read-burst-file"
A number of burst points can be input from a file;
this option will,
after submission of an
.Co execute
directive,
loop through every set of target coordinates in the named file.
The file should contain three numbers on each line separated by
white space (blanks or tabs).
.Ce
.H 3 "Burst on Contact"
.Cs "/burst points/bursting method/burst point coordinates/shotline-burst"
The
.Co shotline-burst
directive can be given a \fIyes\fR or \fIno\fR argument to either enable
or disable this method of generating burst points.
When a \fIyes\fR argument is given,
a second \fIyes\fR or \fIno\fR argument is also required
(see \fBBurst on Armor\fR).
Bursting along a shotline can be done different ways depending on the
combination of several options.
The location of the burst point is based on the triggering
mechanism that is selected with the \fIburst distance\fR parameter.
.Ce
.H 4 "Burst on Armor"
.sp
If the \fIburst distance\fR parameter is set to a negative or zero value,
then interior burst points will be generated (see \fBBurst Distance\fR).
This method of bursting requires the input of \fIburst armor\fR idents and,
by default, \fIburst air\fR idents are also required.
If the user does not want to require that certain air be present to trigger
a burst point,
the
.Co shotline-burst
command has a second argument.
When this second argument is set to \fIno\fR,
bursting will occur as long as
\fIburst armor\fR is followed by any air or void (empty space),
and the \fIburst air\fR file is not required.
For more information see \fBBurst Armor File\fR and \fBBurst Air File\fR.
.Ce
.H 4 "Ground Plane Bursting"
.Cs "/burst points/bursting method/burst point coordinates/ground-plane"
Ground plane bursting is a vehicle for evaluating the effect of
fragmenting warheads on light-armored vehicles when they strike the ground
in close proximity to the target.
The
.Co ground-plane
command is only relevant when bursting along a shotline is selected.
The ground is modeled as a rectangle lying in a plane parallel
to the target \fIX-Y\fR plane with edges parallel to the \*(X) and \*(Y)
axes.
The grid will be enlarged to include the ground plane;
it is important for efficiency to limit the size of the ground plane to
match the range of the fragments that may be generated by the particular
threat being modeled.
When enabling this option,
the
.Co ground-plane
command is given a \fIyes\fR argument
followed by the height of the target above the ground,
and the distances that the ground rectangle extends out positive \*(X),
negative \*(X),
positive \*(Y),
and negative \*(Y) axes.
.Ce
.H 2 "Bursting Parameters"
.Cs "/burst points/bursting parameters"
The following parameters influence both the triggering mechanism for burst
points,
as well as the characteristics of the cone of rays generated from each
point.
.Ce
.H 3 "Burst Distance"
.Cs "/burst points/bursting parameters/burst-distance"
The \fIburst distance\fR parameter is modeled after the \fBBDIST\fR parameter
used by the Air Force's \*(G)\*F code.
.FS
The Air Force currently uses \*(G) to produce burst point libraries
for \*(P) from \*(F) descriptions.
.FE
The role of this parameter is overloaded,
however it was retained to aid \*(G) users in transitioning to the \*(b)
program.
If it is zero or negative,
then \fIinterior bursting\fR is enabled,
otherwise,
if it is greater than zero, \fIexterior bursting\fR will occur,
subject to certain conditions (see below).
The magnitude of this parameter is used to offset the burst point location
along the shotline relative to the geometry that triggered the burst.
.Ce
.H 4 "Interior Bursting"
.sp
\fIBurst armor\fR refers to a component whose ident code is found in
the list input by the
.Co burst-armor-file
command.
Similarly,
\fIburst air\fR refers to a component whose ident code is found in the
list input by the
.Co burst-air-file
directive.
If \fIinterior bursting\fR is enabled
and a \fIburst armor\fR component is encountered along a shotline
that is immediately followed by \fIburst air\fR,
then a burst point will be located the absolute value of \fIburst distance\fR
beyond the exit of the shotline from the component.
This means that if \fIburst distance\fR is zero,
the burst point will lie at the \fIburst armor/air\fR interface,
and if it's -5.5,
the burst point will lie 5.5 units inside the air compartment from the
back surface of the armor.
.Ce
.H 4 "Exterior Bursting"
.sp
If \fIburst distance\fR is greater than zero,
the first component encountered along the shotline will trigger a
burst point,
regardless of its ident code,
that will be located \fIburst distance\fR
in front of the shotline \fIentry\fR point.
This technique simulates the behavior of a fragmenting munition with
a \fIstandoff\fR fuzing such that detonation is triggered before
the collision of the warhead with the target.
The \fIburst distance\fR is set to imitate the built in \fIstandoff\fR
of the warhead.
When employing \fIexterior bursting\fR methods,
\fIburst armor\fR and \fIburst air\fR are not used.
.sp
.H 3 "Sampling Cone Half Angle"
.Cs "/burst points/bursting parameters/cone-half-angle"
To limit the solid angle within which burst rays will be generated,
the user may specify a \fIcone half angle\fR.
This angle represents the degrees (in floating point) from the \fIaxis\fR of
the cone to its limiting surface.
The default value for the \fIcone half angle\fR is 45 degrees.
.Ce
.H 3 "Deflected Sampling Cone"
.Cs "/burst points/bursting parameters/deflect-spall-cone"
The spall cone axis is,
by default,
aligned with the shotline.
In reality,
the center of mass of the spall cloud would be between the shotline direction
and the exit normal of the shotline from the spalling component.
By aligning the spall cone axis with a vector halfway between the shotline
and the exit normal,
a narrower cone half angle can be used and still sample within the solid
angle of interest.
This technique can therefore be used to cut down on the number of rays
calculated without lowering the sampling density.
The
.Co deflect-spall-cone
command takes a \fIyes\fR or \fIno\fR argument about whether or not
to divert the cone axis.
.Ce
.H 3 "Number of Sampling Rays"
.Cs "/burst points/bursting parameters/max-spall-rays"
The sampling ray density within the spall cone is controlled by specifying
the maximum number of rays desired.
Due to the uniform distribution algorithm employed,
the number of rays calculated will be slightly less.
.Ce
.H 3 "Maximum Barriers"
.Cs "/burst points/bursting parameters/max-barriers"
For munitions known to have limited penetration capability,
the user may set a limit on the number of burst ray intersections reported.
The effect of setting this parameter is to reduce the size of the
burst point library (see \fBBurst Point Library\fR) by limiting the
number of components that will be reported per burst ray.
By default,
up to 100 components are reported,
as it is not expected that this number will be reached under normal
circumstances.
.Ce
.H 1 "Input File Options"
.H 2 "Target-Related Input Files"
.Cs "/target files"
This group of commands is for specification of target-specific input files.
.Ce
.H 3 "Target Data Base File"
.Cs "/target files/target-file"
The input of the target's \*(m) file is accomplished with this command.
Note that only one data base may be read in during a given \fIsession\fR.
If the user wishes to change the target once the
.Co execute
command has been given,
he must exit the \*(b) program and start a new \fIsession\fR.
.Ce
.Cs "/target files/target-objects"
After specifying the \*(m) file,
the user must list all of the objects in the \*(m) hierarchy that he
wishes to be included in his analysis.
The objects must be listed as arguments to one
.Co target-objects
command with spaces or tabs as separators.
Note that only one list of objects may be loaded per \fIsession\fR,
however,
they do not get loaded until the
.Co execute
command is given.
.Ce
.H 3 "Ident List Input Files"
.sp
\fIIdents\fR refer to the \fIregion ident\fR code from the \*(m) file.
Lists of \fIidents\fR may be specified singly or as ranges.
Individual \fIidents\fR must appear as one per line,
but ranges are specified by two numbers on a line that are
separated by one or more of the following characters: comma, hyphen, colon,
semicolon, space, or tab.
Figure 6 shows an example of such a file.
.DS
.sp
.so ids.mm
.FG "Ident List File Format"
.sp
.DE
.Ce
.H 4 "Burst-Armor and Burst-Air Ident Files"
.sp
.Cs "/target files/burst-armor-file"
.Cs "/target files/burst-air-file"
When interior burst points are to be generated along a shotline
(see \fBInterior Bursting\fR) a file of \fIburst armor\fR idents and
\fIburst air\fR idents must be input.
If a shotline intersects a component whose \fIident\fR has been input
as a \fIburst armor\fR and it is immediately followed by \fIburst air\fR
a burst point will be triggered.
.Ce
.H 4 "Critical Component Idents"
.Cs "/target files/critical-comp-file"
Whether interior or exterior bursting is being employed,
information about components hit by burst rays will only be output
for rays that hit \fIcritical components\fR.
The file name containing a list of \fIcritical component\fR idents must
therefore be input by this command if burst points are to be generated.
.Ce
.H 3 "Color Mapping Input File"
.Cs "/target files/color-file"
This command allows users to assign colors to component idents for graphics
options,
in particular,
the
.Co image-file
and
.Co plot-file
commands.
The format of this file is 5 numbers per line separated by blanks or tabs.
The first number is the low end of an ident range and the second number is
the high end of the range (both numbers are inclusive).
This range is mapped to the color specified by the last 3 numbers on the
line that are red, green, and blue components of the color (values for
these components must be between 0 and 255 inclusive).
Figure 7 shows an example of such a file.
.DS
.sp
.so cmap.mm
.FG "Color Mapping File Format"
.sp
.DE
.Ce
.H 2 "Project-Related Input Files"
.H 3 "Reading Session Files"
.Cs "/project files/read-input-file"
This command reads an \fIinput\fR file of commands.
These files can be generated manually by using a text editor or
saved from a \fIsession\fR file with the
.Co write-input-file
command.
See the section called \fBCommand Input\fR for the format of this
file.
.Ce
.H 3 "Shotline and Burst Point Input Files"
.sp
For an explanation of commands for reading in files of shotline or burst
point coordinates,
see the sections called \fBInput Discrete Shots\fR and
\fBInput Discrete Burst Points\fR.
.Ce
.H 1 "Output File Options"
.Cs "/project files"
The following commands will turn on optional output.
By default,
no output is produced except error logging (see \fBError Log\fR),
unless an output file is specified with the appropriate command.
Any combination of output options may be specified for a particular run.
Note that specifying an output file will cause an existing file with that
name to be truncated to zero length.
Therefore,
only one such command should be entered per \fIsession\fR for a particular file
name.
Multiple runs during a \fIsession\fR will append to the same files if
intervening commands to change the output file name are not given,
except for the graphics files as explained below.
Note that there is no way to append to a file created by a previous
\fIsession\fR of the \*(b) program,
but these files may be concatenated after the fact by using the
\*(U)
.Ud cat 1
utility.
.Ce
.H 2 "Burst Point Library File"
.Cs "/project files/burst-file"
This command will open the named file for creating a burst point library.
If the file exists,
it will be truncated by this command.
\fBAppendix A\fR describes the format for these files.
.Ce
.H 2 "Shotline File"
.Cs "/project files/shotline-file"
This command will open the named file for creating a shotline file.
If the file exists,
it will be truncated by this command.
\fBAppendix B\fR describes the format for these files.
.Ce
.H 2 "\*(U) Plot File"
.Cs "/project files/plot-file"
This command generates a \*(U) plot file,
using \*(B) extensions to the standard format.
This option is useful for examining the shotline and burst ray information
graphically as a three-dimensional vector plot.
Due to constraints inherent in the \*(U) plot format,
these plots must be displayed as a post-process step by using
a \*(B) plotting utility such as \fBpl-sgi\fR or \fBpl-fb\fR.
Because some of these display programs do not support multiple plots
per file,
the file name should be changed between runs.
Table 3 describes the color mapping associated with these plots.
.DF
.sp
.TB "Color Key for \s-1UNIX\s0 \*(Tm Plots"
.so plot.mm
.sp
.DE
.P
If the user has specified a color mapping file with the
.Co color-file
command,
then those colors will be used rather than the above colors for
all shotline/ray intersections.
.Ce
.H 2 "Frame Buffer Image"
.Cs "/project files/image-file"
This option will generate a color image that provides the user with
immediate feedback about a run.
The grid is displayed graphically and each cell location is dynamically
color coded to show its current status.
Table 4 describes the color mapping associated with the grid.
.DF
.sp
.TB "Color Key for Frame Buffer Image"
.so fb.mm
.sp
.DE
.P
In addition to the above cell colors, hits on critical components by burst
rays are depicted as a colored pixel projected into grid
space from the intersection point where the ray enters the component.
Colors for the components are mapped from ident numbers according to the
table specified by the user with the
.Co "/target files/color-file"
directive and shaded using a lighting model illuminated from the viewing
direction.
.H 2 "Grid File"
.Cs "/project files/grid-file"
This command will store each shotline coordinate generated during the run
as grid offsets.
These files can later be read in to replicate a previous run's grid or discrete
shots by using the
.Co read-2d-shot-file
command.
This capability is especially useful when \fIdithered\fR shotlines have been
used and it is desired that the same shotlines be used in another run.
Note that the shotline intersection information is not saved,
just the grid offsets for each shotline.
.Ce
.H 2 "Script File"
.Cs "/project files/write-input-file"
During a \fIsession\fR,
all commands are saved in a temporary file.
The
.Co write-input-file
command will create a \fIsnapshot\fR of this \fIsession\fR file,
that can later be used to recreate the current \fIsession\fR
up to the point when the file was written.
The \fIsession\fR or \fIinput\fR files
can later be used in one of two ways: either read in with the
.Co read-input-file
command,
or supplied on the standard input of the \*(b) program.
Note that the
.Co write-input-file
and
.Co read-input-file
commands will not be included in the \fIinput\fR files,
but the commands read in by the latter \fIwill\fR.
.Ce
.H 2 "Error Log"
.Cs "/project files/error-file"
This command is useful to save errors in a log file and prevent copious
ray tracer diagnostics from scrolling by on the screen.
This option is especially useful if using the batch mode of execution
so that the terminal is not tied up by program output.
If no error log is specified,
diagnostic messages will appear in the scrolling window or,
if in batch mode,
on the \*(b) program's standard error output.
.Ce
.H 2 "Histogram File"
.Cs "/project files/histogram-file"
This command generates a frequency histogram to the named file.
The file format is simply one number per line; each number is a count
of critical components hit by an individual burst ray.
This file can easily be post-processed to display a histogram,
for instance,
how many rays hit zero, one, two, three, etc. components.
.Ce
.H 1 Conclusion
There is a large, and rapidly growing, collection of highly detailed \*(m)
models due to the widespread use of the highly portable \*(B) package.
The \*(b) program gives the \*(F) community the option of analyzing \*(m)
models.
This, along with the \*(F) to \*(m) translator will permit an easy transition
of the Air Force to the \*(B) system.
Then,
productivity in the target description arena,
that has long been a bottleneck to the vulnerability and lethality analyst,
will increase dramatically.
Another benefit will be increased accuracy of results due to the superior
detail and accuracy afforded by a true combinatorial solid geometry modeler.
.H 1 Acknowledgments
The author would like to thank Leonard E. Bruenning, Jr. of Sverdrup
Technology, Inc. for his thorough, concise and well-illustrated
documentation\*F of the requirements to be met by the \*(b) program
and for his courteous and professional manner in fielding related questions.
.FS
Leonard E. Bruenning,
"Interface Control Document for BURST Ray Generator Computer Program",
\fBTechnical Report\fR,
prepared for: Department of the Air Force,
Armament Division,
Eglin AFB,
FL 32542-5000,
14 December 1988.
.FE
.H 1 Appendices
Both burst point library files and shotline files are composed
of single-line records.
Each line begins with a digit that identifies the type of record it represents.
Both file formats are composed of one or more \fIruns\fR that begin with a
\fIrun header\fR.
Each shotline that intersects the target will result in a
\fIshotline header\fR that is followed by one or
more \fIshotline intersection\fR records.
These record types exist for both file formats,
but they do not contain the same information.
Burst point library files have two additional record types,
\fIburst ray headers\fR and \fIburst ray intersections\fR.
If a burst point occurs along a shotline,
the \fIburst ray header\fR will immediately follow that shotline's last
intersection record.
Each \fIburst ray header\fR records will be immediately followed by
\fIburst ray intersection\fR records,
one for each ray that strikes a \fIcritical component\fR.
.bp
.H 2 "Appendix A: Burst Point Library File Format"
Below is a description of the format of the burst point library files that
are generated if the
.Co burst-file
command is used.
.DS
.so bpl.mm
.DE
.bp
.H 2 "Appendix B: Shotline File Format"
Below is a description of the format of the shotline files that are
generated if the
.Co shotline-file
command is used.
.DS
.so shotlines.mm
.DE
.de TX
.ce
TABLE OF CONTENTS \" define header for TOC page
..
.de TY \" suppress default TOC header
..
.TC
.\" .CS
-12
View File
@@ -1,12 +0,0 @@
.TS
center,box;
l.
4001 4003 255 255 0 # Fuel
4050 4050 255 255 0 # Fuel
8000 8001 255 100 255 # Ammo
100 165 150 255 100 # Hull armor
610 619 220 150 100 # Commander
720 729 220 150 100 # Gunner
830 839 220 150 100 # Loader
940 949 220 150 100 # Driver
.TE
-55
View File
@@ -1,55 +0,0 @@
.so defs.mm
.ps -2
.vs -2
.TS
center,allbox,tab(@);
cb cb cb
_ _ _
cb ci c.
COMMAND@ARGUMENTS@DESCRIPTION
attack-direction@azim_angle elev_angle@specify azimuth and elevation of attack relative to target
burst-air-file@file@input burst air idents from \fIfile\fR
burst-armor-file@file@input burst armor idents from \fIfile\fR
burst-coordinates@X Y Z@input single burst point location in target coordinates
burst-distance@distance@offset burst point along shotline (see \fBBurst Distance\fR)
burst-file@file@output burst point library to \fIfile\fR
cell-size@distance@specify shotline separation (equidistant horizontal and vertical)
color-file@file@input ident to color mapping from \fIfile\fR (for graphics)
cone-half-angle@angle@specify limiting angle for spall ray generation
critical-comp-file@file@input critical component idents from \fIfile\fR
deflect-spall-cone@flag@deflect axis of spall cone half way towards exit normal
dither-cells@flag@if \fIyes\fR, randomly offset shotline within grid cell
enclose-target@@generate rectangular grid of shotlines for full target envelope
enclose-portion@left right bottom top@T{
generate partial envelope by specifying grid boundaries
T}
error-file@file@divert all diagnostics to \fIfile\fR
execute@@initiate a run (no output produced without this command)
grid-file@file@save shotline locations (Y' Z') in \fIfile\fR
ground-plane@flag [Z +X -X +Y -Y]@T{
if \fIyes\fR, burst on ground (see \fBGround Plane Bursting\fR).
T}
histogram-file@file@write hit frequency histogram to \fIfile\fR
image-file@file@generate frame buffer image on specified \fIfile\fR or device
input-2d-shot@Y' Z'@input single shotline location as grid offsets
input-3d-shot@X Y Z@input single shotline location in target coordinates
max-barriers@count@specify the maximum number of components to report along spall ray
max-spall-rays@count@specify the desired number of spall rays generated per burst point
plot-file@file@generate \*(U) plot in \fIfile\fR
read-2d-shot-file@file@read shot locations from \fIfile\fR as grid offsets (see \fBinput-2d-shot\fR)
read-3d-shot-file@file@read shot locations from \fIfile\fR in target coords. (see \fBinput-3d-shot\fR)
read-burst-file@file@read burst point locations from \fIfile\fR (see \fBburst-coordinates\fR)
read-input-file@file@read key word commands from \fIfile\fR
report-overlaps@flag@if \fIyes\fR, log overlap diagnostics
shotline-burst@flag [flag]@T{
if \fIyes\fR, generate burst points along shotlines (see \fBBurst on Contact\fR).
T}
shotline-file@file@output shot line data to \fIfile\fR
target-file@file@read \*(m) data base from \fIfile\fR
target-objects@object0 [object1 object2 ...]@list objects from \*(m) data base to interrogate
units@name@linear units (\fIinches,feet,millimeters,centimeters,meters\fR)
write-input-file@file@save script of commands in \fIfile\fR
#@@any line beginning with the `\fB#\fR' character is a comment
.TE
.ps +2
.vs +2
-21
View File
@@ -1,21 +0,0 @@
.ds A) \fI axis\fR
.ds a) \fI axes\fR
.ds B) \fB\s-1BRL-CAD\s0\fR
.ds b) \fBburst\fR
.ds f) \fBlibfb\fR
.ds F) \fB\s-1FASTGEN\s0\fR
.ds G) \fB\s-1PGEN\s0\fR
.ds l) \fBlibrt\fR
.ds m) \fBmged\fR
.ds p) \fBlibplot3\fR
.ds P) \fB\s-1PDAM\s0\fR
.ds S) \fB\s-1SHOTGEN\s0\fR
.ds U) \s-1UNIX\s0 \*(Tm
.ds X) \fIX\fR
.ds Y) \fIY\fR
.ds Z) \fIZ\fR
.ds x) \fIX'\fR
.ds y) \fIY'\fR
.ds z) \fIZ'\fR
.ds HF 3 3 3 3 3 3 3
.ds HP +2 +2 +2 +2 +2 +2 +2
-15
View File
@@ -1,15 +0,0 @@
.TS
center,allbox,tab(@);
cb cb cb cb cb
_ _ _ _ _
lb ci ci ci l.
COLOR@R@G@B@REPRESENTATION
red@255@0@0@axis of grid
black@0@0@0@grid cell boundaries
blue@150@100@255@outside of grid
lt grey@200@200@200@shot missed target
white@255@255@255@shot hit target
lt green@200@255@200@burst occurred but hit no critical components
pink@255@200@200@burst occurred and hit some critical components
purple@255@0@255@a ground burst occurred
.TE
-12
View File
@@ -1,12 +0,0 @@
.TS
center,allbox;
cb cb
_ _
ci c.
KEY FUNCTION
u or ^P move cursor to item above the current item
d or ^N move cursor to item below the current item
h or ? print help message about the current item
q exit the current menu without making a selection
space select the current item
.TE
-11
View File
@@ -1,11 +0,0 @@
.TS
center,box;
l.
600-999
1011
4002-4050
8000
9001
9004
9005
.TE
-53
View File
@@ -1,53 +0,0 @@
A joint-services sponsored program is currently establishing a Ballistic
Research Laboratory-Computer Aided Design (\*(B))
modeling capability at Eglin Air Force Base, Florida.
Currently, the Air Force uses \*(F) to model target geometries using
polygonal facets, two-dimensional plates, and some solid primitives.
They also maintain compatibility with \*(S), a precursor to \*(F).
These modelers are cumbersome to use by today's standards and the resultant
descriptions,
while taking an extremely long time to build,
fall far short of the accuracy and information content of true
combinatorial solid geometry models such as produced by
the \fBM\fRultiple-device \fBG\fRraphics \fBED\fRitor (\*(m)),
the \*(B) modeler.
Along with this capability comes several key requirements,
one of which will be addressed in this paper;
an interface to Eglin AFB's Point Burst Damage Assessment Model (\*(P))
from \*(B) solid models.
.P
The \*(b) program enables the user to direct ray tracing
of the \*(m) models to prepare inputs to the
\*(P) code in the form of shotline files and burst point library files.
The program is capable of supporting analyses of varied threat
mechanisms on \*(m) targets.
The shotline and burst point library files are written in
.SM ASCII
and are supplemented with both shaded, color images
and 3-d vector plots using the \*(B) frame buffer (\*(f)) and extended
\*(U)
.FS \*(Tm
UNIX is a registered trademark of AT&T.
.FE
plot (\*(p)) libraries for portability to virtually all hardware
platforms running the \*(U) operating system.
The terminal-independent user interface employs hierarchical menus
coupled with optional graphics displays facilitating ease of use and
maximizing information feed back to the operator while permitting full
featured use from any video terminal or window system.
The menu-driven interface is coupled with an interpreter that
accepts key word commands for batch input if the user wishes to
detach the job to run unattended.
These key word command files can either be prepared automatically from
the user-selected parameters orchestrated by the menu system,
typed in by hand with an editor,
or perhaps generated from another process in a pipeline configuration.
.P
This paper is intended to serve a dual function,
both as a technical memorandum,
and as a user manual.
Hopefully,
not only will it help one appreciate why \*(b) was developed in the first place
but will help readers decide whether they need to acquire it,
and if so,
how to use it.
-28
View File
@@ -1,28 +0,0 @@
'\" define macro for program usage examples
.de Ex
.sp
.in +0.5i
\fI$\ \\$1\fR
.in -0.5i
.sp
..
'\" define macro for naming coordinate axes
.de Ax
\\$1, \\$2, and \\$3\fI axes\fR
..
'\" define macro for naming commands
.de Co
\fB\\$1\fR
..
'\" define macros for command descriptions.
.de Cs \" Start command description.
.br
\s-1\fB[menu reference:\\$1]\fR\s0
.P
..
.de Ce \" End command description.
.sp
..
.de Ud
.BI \\$1 (\\$2)\^
..
-48
View File
@@ -1,48 +0,0 @@
.so defs.mm
.H 1 Introduction
.H 1 "User Interface"
.H 2 "Program Invocation"
.H 2 "Command Input"
.H 2 "Screen Layout"
.H 2 "Hierarchical Menus"
.H 2 "Scrolling Region"
.H 1 "Shotlining Options"
.H 2 "Attack Direction"
.H 2 "Cell Size"
.H 2 "Dithering"
.H 2 "Gridding"
.H 3 "Envelope"
.H 4 "Enclose target"
.H 4 "Enclose portion of target"
.H 3 "Input shot coordinates"
.H 4 "Target coordinate system"
.H 5 "Type in 3-D coordinates"
.H 5 "Read file of 3-D coordinates"
.H 4 "Shotline coordinate system"
.H 5 "Type in 2-D coordinates"
.H 5 "Read file of 2-D coordinates"
.H 1 "Bursting Options"
.H 2 "Method of Locating Burst Point"
.H 3 "Input burst point coordinates"
.H 4 "Type in 3-D coordinates"
.H 4 "Read file of 3-D coordinates"
.H 3 "Burst on contact"
.H 4 "Ground plane bursting"
.H 4 "Burst on armor"
.H 2 "Bursting Parameters"
.H 3 "Burst distance"
.H 3 "Sampling cone half angle"
.H 3 "Deflected sampling cone"
.H 3 "Number of sampling rays"
.H 3 "Maximum barriers"
.H 1 "Output Options"
.H 2 "UNIX Plot File"
.H 2 "Frame Buffer Image"
.H 2 "Burst Point Library"
.H 2 "Shotline File"
.H 2 "Grid File"
.H 2 "Script File"
.H 2 "Error Log"
.H 1 Conclusion
-18
View File
@@ -1,18 +0,0 @@
.TS
center,box,tab(@);
l.
OVERLAP:
reg=/component/turret/tur.ext/tur.armor/tur.bot{{0}} isol=s2,
reg=/component/hull/hull.ext/hull.armor/r1.top{{0}} osol=ss4,
depth 544.21mm at (-471.784,812.8,0) x-2 y1 lvl0 purpose=shotline
_
OVERLAP:
reg=/component/turret/tur.ext/tur.ring{{0}} isol=ss2,
reg=/component/turret/tur.ext/tur.armor/tur.bot{{0}} osol=s2,
depth 25.39mm at (-418.907,812.8,0) x-2 y1 lvl1 purpose=normal thickness
_
OVERLAP:
reg=/component/turret/tur.ext/tur.ring{{0}} isol=ss2,
reg=/component/turret/tur.ext/tur.armor/tur.bot{{0}} osol=s2,
depth 52.88mm at (-418.907,-812.8,0) x-2 y1 lvl1 purpose=spall ray
.TE
-13
View File
@@ -1,13 +0,0 @@
.TS
center,allbox,tab(@);
cb cb cb cb cb
_ _ _ _ _
lb ci ci ci l.
COLOR@R@G@B@REPRESENTATION
yellow@255@255@0@grid cell centers
red@255@0@0@burst cone
blue@0@0@255@default component intersection
lt blue@100@100@255@default outside air intersection
lt green@100@255@100@default inside air intersection
purple@255@0@255@default critical component intersection
.TE
-10
View File
@@ -1,10 +0,0 @@
#!/bin/sh
MASTER=burst
#MASTER=debug
doclifter -h hints.txt -x -vvvv $MASTER.mm #2>t
STATUS=$?
echo "doclifter return value for '$MASTER' was '$STATUS'"
-54
View File
@@ -1,54 +0,0 @@
.TS
center,box,tab(@);
c0 l s s s.
@0.97 user + 1.21 sys in 6 elapsed secs (16.1667%)
.T&
c0 c c c c
c0 | c | c | c | c
c0 | c | c | c | c
c0 | c | _ | c | c
c0 | c | c | c | c
c0 | c | c | c | c
c0 | c | c _ c
c0 | c | c c c .
@_@_@_@
@units@bursting method@burst-distance
@project files@\fBbursting parameters\fR@\fBcone-half-angle\fR
@target files@@deflect-spall-cone
@shotlines@@max-spall-rays
@\fBburst points\fR@@max-barriers
@comment
@execute
@preferences
@_@
.sp 2
.T&
c0 lb s s c
c0 lb s s c
c0 l s s s .
@degrees from spall cone axis to limit burst rays
@Cone angle ? (degrees)[45.000000]
@___BURST (2.2)_______________________________________________
.T&
c0 l l.
@error-file@tfiles/ktank.log
@plot-file@tfiles/ktank.plot
@image-file@/dev/sgi
@units@inches
@shotline-file@tfiles/ktank.shotlines
@burst-file@tfiles/ktank.burst
@burst-air-file@tfiles/ktank,air.ids
@burst-armor-file@tfiles/ktank,armor.ids
@critical-comp-file@tfiles/ktank,crit.ids
@color-file@tfiles/ktank,colors
@burst-distance@0
@cell-size@16
@attack-direction@0 0
@max-spall-rays@50
@cone-half-angle@45
@target-file@/vld/moss/g/ktank.g
@target-objects@component
@report-overlaps@no
@shotline-burst@yes yes
@#ground-plane@yes 66 200 200 200 200
.TE
-12
View File
@@ -1,12 +0,0 @@
.TS
center;
c c c.
\d\s+6\s+4^\s-4\s-6\u _ \d\s+6\s+4^\s-4\s-6\u
| target files |
| shotlines |
| burst points |
| comment |
| \fBexecute\fR |
| preferences |
\s+2+\s0 _ \s+2+\s0
.TE
-29
View File
@@ -1,29 +0,0 @@
.TS
center,allbox,tab(@);
lb lb lb
_ _ _
l l l.
record description@field format@field description
run header@'1'@record number 1
@1x,f9.4@attack azimuth in degrees
@1x,f8.4@attack elevation in degrees
@1x,f7.2@shotline separation
@1x,f7.2@maximum Y' coordinate of target
@1x,f7.2@minimum Y' coordinate of target
@1x,f7.2@maximum Z' coordinate of target
@1x,f7.2@minimum Z' coordinate of target
@1x,6a@units (\fImm,cm,inches,feet,meters\fR)
shotline header@'2'@record number 2
@1x,f8.3@Y' coordinate of shotline
@1x,f8.3@Z' coordinate of shotline
shotline intersections@'3'@record number 3
@1x,f8.2@X' coordinate of intersection
@1x,f7.3@sine of fallback angle of exit normal
@1x,f7.2@rotation angle of exit normal in degrees
@1x,i4@component code number
@1x,f8.2@normal thickness of component
@1x,f8.2@line-of-sight thickness of component
@1x,i2@space code following component
@1x,f7.2@obliquity angle at entry to component in degrees
@1x,f7.2@obliquity angle at exit from component in degrees
.TE
-12
View File
@@ -1,12 +0,0 @@
.TS
center,tab(@);
c c c c c.
\s+2+\s0@_@\s+2+\s0@_@\s+2+\s0
|@units@|@\fBtarget-file\fR@|
|@project files@|@target-objects@|
|@\fBtarget files\fR@|@burst-air-file@|
|@shotlines@|@burst-armor-file@|
|@burst points@|@critical-comp-file@|
|@comment@|@color-file@|
\s+2v\s0@_@\s+2+\s0@_@\s+2+\s0
.TE
-10
View File
@@ -1,10 +0,0 @@
.ce
\fB``burst''; Air Force Vulnerability Analyses from BRL-CAD Models\fR
.ce
"\fIGary S. Moss"
.sp
.ce 4
"\fRBRL-CAD Open Source"
.sp
.ce
"moss@vmb.brl.mil"
-12
View File
@@ -1,12 +0,0 @@
.TS
center;
c c c.
\s+2+\s0 _ \s+2+\s0
| \fBunits\fR |
| project files |
| target files |
| shotlines |
| burst points |
| comment |
\s+2v\s0 _ \s+2v\s0
.TE
+3 -93
View File
@@ -5465,20 +5465,11 @@ x delete character
<entry>
<link linkend="permute">permute</link>
</entry>
<entry>
<link linkend="pl">pl</link>
</entry>
<entry>
<link linkend="plot">plot</link>
</entry>
<entry>
<link linkend="polybinout">polybinout</link>
</entry>
</row>
<row>
<entry>
<link linkend="pov">pov</link>
</entry>
<entry>
<link linkend="prcolor">prcolor</link>
</entry>
@@ -11731,12 +11722,12 @@ foo.r_xpand/R
</listitem>
<listitem>
<para>
extrude – experimental.
extrude
</para>
</listitem>
<listitem>
<para>
sketch – experimental.
sketch
</para>
</listitem>
</itemizedlist>
@@ -12690,53 +12681,6 @@ foo.r_xpand/R
<para>
<emphasis role="strong"></emphasis>
</para>
<variablelist xml:id="pl">
<varlistentry>
<term>
pl [<emphasis>-float</emphasis>] [<emphasis>-zclip</emphasis>]
[<emphasis>-2d</emphasis>] [<emphasis>-grid</emphasis>]
<emphasis>out_file</emphasis> | <quote>|</quote> filter
</term>
<listitem>
<para>
The <quote>pl</quote> command creates a UNIX plot of the
current MGED display. If an <emphasis>output_file</emphasis>
is specified, the plot is stored in that file. If a
<emphasis>filter</emphasis> is specified, the output is sent
to that <emphasis>filter</emphasis>. The
<emphasis>-float</emphasis> option requests a plot file with
real numbers rather than integers. The
<emphasis>-zclip</emphasis> option requests that the plot be
clipped to the viewing cube in the Z-direction. The
<emphasis>-2d</emphasis> option requests a two-dimensional
plot (the default is 3D). The <emphasis>-grid</emphasis>
option is intended to include a grid in the plot, but is
currently not implemented. This command uses the
<emphasis>dm-plot</emphasis> display manager. The
<link linkend="plot">plot</link> command performs the same
function, but does not use the <emphasis>dm-plot</emphasis>
display manager.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
Examples:
</term>
<listitem>
<para>
mged&gt; pl -float | pldebug
</para>
</listitem>
</varlistentry>
</variablelist>
<para>
– Create a UNIX plot of the current MGED display and pipe the
results to the <emphasis>pldebug</emphasis> command.
</para>
<para>
<emphasis role="strong"></emphasis>
</para>
<variablelist xml:id="plot">
<varlistentry>
<term>
@@ -12758,11 +12702,7 @@ foo.r_xpand/R
<emphasis>-2d</emphasis> option requests a two-dimensional
plot (the default is 3D). The <emphasis>-grid</emphasis>
option is intended to include a grid in the plot, but is
currently not implemented. This command does not use the
<emphasis>dm-plot</emphasis> display manager. The
<link linkend="pl">pl</link> command performs the same
function, but does use the <emphasis>dm-plot</emphasis>
display manager.
currently not implemented.
</para>
</listitem>
</varlistentry>
@@ -12784,36 +12724,6 @@ foo.r_xpand/R
<para>
<emphasis role="strong"></emphasis>
</para>
<variablelist>
<varlistentry>
<term xml:id="polybinout">
polybinout file
</term>
<listitem>
<para>
Store vlist polygons into polygon file (experimental).
</para>
</listitem>
</varlistentry>
</variablelist>
<para>
<emphasis role="strong"></emphasis>
</para>
<variablelist>
<varlistentry>
<term xml:id="pov">
pov args
</term>
<listitem>
<para>
Set the point-of-view (experimental).
</para>
</listitem>
</varlistentry>
</variablelist>
<para>
<emphasis role="strong"></emphasis>
</para>
<variablelist xml:id="prcolor">
<varlistentry>
<term>
@@ -904,7 +904,7 @@ Engineering Company, 2002):</para>
<para><option>-R refset_name</option> - specifies a desired reference set (which Unigraphics uses to provide additional control over assembly components), overriding the reference set specified in the Unigraphics model.</para>
</listitem>
<listitem>
<para><option>-f</option> - facetizes all the geometry. If this option is not specified, the converter will attempt to create CSG equivalent geometry wherever possible. (Note that this option is experimental.)</para>
<para><option>-f</option> - facetizes all the geometry. If this option is not specified, the converter will attempt to create CSG equivalent geometry wherever possible.</para>
</listitem>
<listitem>
<para><option>-s</option> - lists all features that were attempted to convert to CSG. (This option and the <option>-f</option> option are mutually exclusive.)</para>
+3
View File
@@ -18,6 +18,7 @@ set(man1_EN
brlcad-config.xml
brlcad.xml
buffer.xml
burst.xml
bw-fb.xml
bw-imp.xml
bw-pix.xml
@@ -93,6 +94,7 @@ set(man1_EN
g-nff.xml
g-nmg.xml
g-obj.xml
g-ply.xml
g-raw.xml
g-shell-rect.xml
g-step.xml
@@ -113,6 +115,7 @@ set(man1_EN
gqa.xml
halftone.xml
hex.xml
icv.xml
iges-g.xml
imgdims.xml
ir-X.xml
File diff suppressed because it is too large Load Diff
+143
View File
@@ -0,0 +1,143 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<refentry xmlns='http://docbook.org/ns/docbook' version='5.0' xml:lang='en' xml:id='gstl1'>
<refmeta>
<refentrytitle>G-PLY
</refentrytitle>
<manvolnum>1</manvolnum>
<refmiscinfo class='source'>BRL-CAD</refmiscinfo>
<refmiscinfo class='software'>BRL-CAD</refmiscinfo>
<refmiscinfo class='manual'>User Commands</refmiscinfo>
</refmeta>
<refnamediv>
<refname>g-ply</refname>
<refpurpose> Stanford PLY exporter (BRL-CAD to PLY)</refpurpose>
</refnamediv>
<!-- body begins here -->
<refsynopsisdiv xml:id='synopsis'>
<cmdsynopsis>
<command>g-ply</command>
<arg choice='opt'>-v</arg>
<arg choice='opt'>-xX <replaceable>lvl</replaceable></arg>
<arg choice='opt'>-a <replaceable>abs_tess_tol</replaceable></arg>
<arg choice='opt'>-r <replaceable>rel_tess_tol</replaceable></arg>
<arg choice='opt'>-n <replaceable>norm_tess_tol</replaceable></arg>
<arg choice='opt'>-t <replaceable>type</replaceable></arg>
<arg choice='opt'>-s</arg>
<arg choice='opt'>-D <replaceable>dist_calc_tol</replaceable></arg>
<arg choice='plain'>-o <replaceable>output_file_name</replaceable></arg>
<arg choice='plain'><replaceable>database.g</replaceable></arg>
<arg choice='plain' rep='repeat'><replaceable>object(s)</replaceable></arg>
</cmdsynopsis>
</refsynopsisdiv>
<refsect1 xml:id='description'><title>DESCRIPTION</title>
<para>
<command>g-ply</command> converts the specified<emphasis remap='I'>object(s)</emphasis>
from a BRL-CAD <emphasis remap='I'>database.g</emphasis> file to the
<emphasis remap='I'>Stanfort PLY</emphasis> file format.
</para>
<para>The following options are recognized.</para>
<variablelist remap='TP'>
<varlistentry>
<term><option>-o filename</option></term>
<listitem><para>Specify output file name.</para></listitem>
</varlistentry>
<varlistentry>
<term><option>-s</option></term>
<listitem>
<para>
Write out one object per file, instead of merging individual objects into a single ply file.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>-t</option> type (asc: ascii), (le: little endian), (be: big endian)</term>
<listitem>
<para>
Specify the type of PLY file to write.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>-D#</option></term>
<listitem>
<para>Specify a calculational distance tolerance (mm). Any two vertices that are
less than this distance apart will be treated as the same vertex.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>-a#</option></term>
<listitem><para>Specify the absolute tesselation tolerance.</para></listitem>
</varlistentry>
<varlistentry>
<term><option>-r#</option></term>
<listitem><para>Specify the relative tesselation tolerance.</para></listitem>
</varlistentry>
<varlistentry>
<term><option>-n#</option></term>
<listitem><para>Specify the surface-normal tesselation tolerance.</para></listitem>
</varlistentry>
<varlistentry>
<term><option>-x#</option></term>
<listitem><para>Specify an RT debug flag.</para></listitem>
</varlistentry>
<varlistentry>
<term><option>-X#</option></term>
<listitem><para>Specify an NMG debug flag.</para></listitem>
</varlistentry>
<varlistentry>
<term><option>-v</option></term>
<listitem><para>Enable verbose output.</para></listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1 xml:id='example'>
<title>EXAMPLE</title>
<synopsis>
$ g-ply -o <emphasis remap='I'>sample.ply sample.g sample_object</emphasis>
</synopsis>
</refsect1>
<refsect1 xml:id='diagnostics'>
<title>DIAGNOSTICS</title>
<para>Error messages are intended to be self-explanatory.</para>
</refsect1>
<refsect1 xml:id='author'>
<title>AUTHOR</title>
<para>BRL-CAD Team</para>
</refsect1>
<refsect1 xml:id='copyright'>
<title>COPYRIGHT</title>
<para>
This software is Copyright (c) 2003-2016 by the United States
Government as represented by U.S. Army Research Laboratory.
</para>
</refsect1>
<refsect1 xml:id='bug_reports'>
<title>BUG REPORTS</title>
<para>
Reports of bugs or problems should be submitted via electronic
mail to &lt;devs@brlcad.org&gt;.
</para>
</refsect1>
</refentry>
+187
View File
@@ -0,0 +1,187 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<refentry xmlns='http://docbook.org/ns/docbook' version='5.0' xml:lang='en' xml:id='icv1'>
<refmeta>
<refentrytitle>ICV</refentrytitle>
<manvolnum>1</manvolnum>
<refmiscinfo class='source'>BRL-CAD</refmiscinfo>
<refmiscinfo class='manual'>BRL-CAD</refmiscinfo>
</refmeta>
<refnamediv>
<refname>icv</refname>
<refpurpose>Convert images to and from various formats</refpurpose>
</refnamediv>
<refsynopsisdiv xml:id='synopsis'>
<cmdsynopsis>
<command>icv</command>
<arg choice='opt'>-h</arg>
<arg choice='opt'>-i <replaceable>file</replaceable></arg>
<arg choice='opt'>--input-format <replaceable>fmt</replaceable></arg>
<arg choice='opt'>-o <replaceable>file</replaceable></arg>
<arg choice='opt'>--output-format <replaceable>fmt</replaceable></arg>
<arg choice='opt'>-w <replaceable>width</replaceable></arg>
<arg choice='opt'><replaceable>input_file</replaceable></arg>
<arg choice='opt'><replaceable>output_file</replaceable></arg>
</cmdsynopsis>
</refsynopsisdiv>
<refsection xml:id='description'>
<title>DESCRIPTION</title>
<para>
<command>icv</command> is a tool to convert images to and from a variety of
image formats. Currently support formats include:
<table>
<title>Supported ICV Image Formats</title>
<tgroup cols="2">
<thead>
<row>
<entry>Format</entry>
<entry>Extension</entry>
</row>
</thead>
<tbody>
<row>
<entry>PIX - pixel sequence of R/G/B values stored as unsigned chars.</entry>
<entry>pix</entry>
</row>
<row>
<entry>Double PIX - double precision pixel sequence</entry>
<entry>dpix</entry>
</row>
<row>
<entry>Portable Network Graphics</entry>
<entry>png</entry>
</row>
<row>
<entry>PPM - "lowest common denominator" Netbpm color iamge format</entry>
<entry>ppm</entry>
</row>
<row>
<entry>BW - black and white image data</entry>
<entry>bw</entry>
</row>
<row>
<entry>(TODO) Utah Raster Toolkit Run-Length Encoded (RLE)</entry>
<entry>rle</entry>
</row>
</tbody>
</tgroup>
</table>
</para>
</refsection>
<refsection xml:id='options'>
<title>OPTIONS</title>
<para>
File types will be deduced unless explicitly specfied with the <option>input-format</option>
and/or <option>output-format</option> options.
For file types like PIX that do not encode dimensional information, <command>icv</command>
will attempt to guess the image size based on various assumptions (a square image, known sizes
for image displays, paper sizes at various dots-per-inch, etc.). If the users does know
the correct image width and height, they may be specified with the <option>w</option> and
<option>n</option> options.
</para>
<variablelist remap='TP'>
<varlistentry>
<term><option>-h</option>, <option>--help</option></term>
<listitem>
<para>
Print help and exit.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>-i</option> <replaceable>file</replaceable>, <option>--input</option> <replaceable>file</replaceable></term>
<listitem>
<para>
Specify an input file. If none is specified, the first non-option-related argument will be used as the input file name.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>-o</option> <replaceable>file</replaceable>, <option>--output</option> <replaceable>file</replaceable></term>
<listitem>
<para>
Specify an input file. If none is specified, the second non-option-related argument will be used as the output file name.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>-w</option> <replaceable>#</replaceable>, <option>--width</option> <replaceable>#</replaceable></term>
<listitem>
<para>
Specify the width of the input image. Useful for file types such as PIX that do not encode explicit size information.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>-n</option> <replaceable>#</replaceable>, <option>--height</option> <replaceable>#</replaceable></term>
<listitem>
<para>
Specify the height of the input image. Useful for file types such as PIX that do not encode explicit size information.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>--input-format</option> <replaceable>fmt</replaceable></term>
<listitem>
<para>
Explicitly specify input file format.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>--output-format</option> <replaceable>fmt</replaceable></term>
<listitem>
<para>
Explicitly specify output file format.
</para>
</listitem>
</varlistentry>
</variablelist>
</refsection>
<refsection xml:id='example'>
<title>EXAMPLE</title>
<literallayout remap='RS'>
icv -w 1024 -n 512 tank.pix tank.png
</literallayout>
</refsection>
<refsection xml:id='see_also'>
<title>SEE ALSO</title>
<para>
<citerefentry><refentrytitle>pix</refentrytitle><manvolnum>5</manvolnum></citerefentry>
<citerefentry><refentrytitle>bw</refentrytitle><manvolnum>5</manvolnum></citerefentry>
</para>
</refsection>
<refsection xml:id='author'>
<title>AUTHOR</title>
<para>
Clifford Yapp
</para>
</refsection>
<refsection xml:id='copyright'>
<title>COPYRIGHT</title>
<para>
This software is Copyright (c) 1989-2016 by the United States
Government as represented by U.S. Army Research Laboratory.
</para>
</refsection>
<refsection xml:id='bug_reports'>
<title>BUG REPORTS</title>
<para>
Reports of bugs or problems should be submitted via electronic
mail to &lt;devs@brlcad.org&gt;.
</para>
</refsection>
</refentry>
+7
View File
@@ -365,6 +365,13 @@
</listitem>
</varlistentry>
<varlistentry>
<term><option>-z</option></term>
<listitem>
<para>Enables OpenCL accelerated raytracing (OpenCL must be enabled at compilation time for this option to be present.)</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>-A #</option></term>
<listitem>
+1 -2
View File
@@ -348,8 +348,7 @@ as a region.
"matname" is either a NULL pointer, or a pointer to a string
containing the material property name.
"matparm" is either a NULL pointer, or a pointer to a string
containing the material property parameter information,
which is material-specific (and still experimental).
containing the material property parameter information specific to that material.
Color is passed as an array of three unsigned chars in "rgb".
Color "inherit" is a boolean, and if true, the color and material
properties will be passed from upper-level objects to lower-level
+2
View File
@@ -22,6 +22,8 @@ set_target_properties(attr_std_list_xml PROPERTIES FOLDER "DocBook")
set(man5_EN
dsp.xml
${CMAKE_CURRENT_BINARY_DIR}/attributes.xml
burst_point_library.xml
burst_shotline_files.xml
bw.xml
cmap.xml
pix.xml
@@ -0,0 +1,251 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<refentry xmlns='http://docbook.org/ns/docbook' version='5.0' xml:lang='en' xml:id='burst_point_library'>
<refmeta>
<refentrytitle>Burst Point Library File Format</refentrytitle>
<manvolnum>5</manvolnum>
<refmiscinfo class='source'>BRL-CAD</refmiscinfo>
<refmiscinfo class='manual'>BRL-CAD</refmiscinfo>
</refmeta>
<refnamediv>
<refname>burst_point_library</refname>
<refpurpose>Data output by the <command>burst-file</command> command from the burst tool.</refpurpose>
</refnamediv>
<refsection xml:id='format'>
<title>FORMAT</title>
<para>
Burst point library files are composed of single-line records. Each line begins with a
digit that identifies the type of record it represents. The file is composed of one or more runs that
begin with a run header. Each shotline that intersects the target will result in a shotline header that is
followed by one or more shotline intersection records. If a burst point occurs along a shotline, the burst ray header will
immediately follow that shotline's last intersection record. Each burst ray header records will be
immediately followed by burst ray intersection records, one for each ray that strikes a critical component.
<table>
<title>Burst Point Library File Format</title>
<tgroup cols="3">
<thead>
<row>
<entry>Record Description</entry>
<entry>Field Format</entry>
<entry>Field Description</entry>
</row>
</thead>
<tbody>
<row>
<entry>run header</entry>
<entry>'1'</entry>
<entry>record number 1</entry>
</row>
<row>
<entry></entry>
<entry>1x,f9.4</entry>
<entry>attack azimuth (degrees)</entry>
</row>
<row>
<entry></entry>
<entry>1x,f8.4</entry>
<entry>attack elevation (degrees)</entry>
</row>
<row>
<entry></entry>
<entry>1x,f5.2</entry>
<entry>burst distance</entry>
</row>
<row>
<entry></entry>
<entry>1x,f10.2</entry>
<entry>projected area associated with burst point</entry>
</row>
<row>
<entry></entry>
<entry>1x,6a</entry>
<entry>units (mm,cm,inches,feet,meters)</entry>
</row>
<row>
<entry></entry>
<entry>1x,f9.6</entry>
<entry>ray solid angle (steradians)</entry>
</row>
<row>
<entry>shotline header</entry>
<entry>'2'</entry>
<entry>record number 2</entry>
</row>
<row>
<entry></entry>
<entry>1x,f8.3</entry>
<entry>Y' coordinate of shotline</entry>
</row>
<row>
<entry></entry>
<entry>1x,f8.3</entry>
<entry>Z' coordinate of shotline</entry>
</row>
<row>
<entry>shotline intersections</entry>
<entry>'3'</entry>
<entry>record number 3</entry>
</row>
<row>
<entry></entry>
<entry>1x,f8.2</entry>
<entry>X' coordinate of component intersection</entry>
</row>
<row>
<entry></entry>
<entry>1x,f8.2</entry>
<entry>line-of-sight thickness of component</entry>
</row>
<row>
<entry></entry>
<entry>1x,i4</entry>
<entry>component code number</entry>
</row>
<row>
<entry></entry>
<entry>1x,i2</entry>
<entry>space code</entry>
</row>
<row>
<entry></entry>
<entry>1x,f7.3</entry>
<entry>sine of fallback angle of exit normal</entry>
</row>
<row>
<entry></entry>
<entry>1x,f7.2</entry>
<entry>rotation angle of exit normal (degrees)</entry>
</row>
<row>
<entry></entry>
<entry>1x,f7.3</entry>
<entry>cosine of obliquity angle at entry</entry>
</row>
<row>
<entry></entry>
<entry>1x,a1</entry>
<entry>burst flag ('1' for yes, '0' for no)</entry>
</row>
<row>
<entry>burst ray header</entry>
<entry>'4'</entry>
<entry>record number 4</entry>
</row>
<row>
<entry></entry>
<entry>1x,f8.3</entry>
<entry>azimuth angle WRT shotline (radians)</entry>
</row>
<row>
<entry></entry>
<entry>1x,f8.3</entry>
<entry>sine of elevation angle WRT shotline</entry>
</row>
<row>
<entry></entry>
<entry>1x,i6</entry>
<entry>sequential ray number for this burst point</entry>
</row>
<row>
<entry>burst ray intersections</entry>
<entry>'5'</entry>
<entry>record number 5</entry>
</row>
<row>
<entry></entry>
<entry>1x,f10.3</entry>
<entry>distance to first contact with component</entry>
</row>
<row>
<entry></entry>
<entry>1x,f9.3</entry>
<entry>line-of-sight thickness of component</entry>
</row>
<row>
<entry></entry>
<entry>1x,f9.3</entry>
<entry>normal thickness of component</entry>
</row>
<row>
<entry></entry>
<entry>1x,i4</entry>
<entry>space code</entry>
</row>
<row>
<entry></entry>
<entry>ix,i4</entry>
<entry>component code number</entry>
</row>
<row>
<entry></entry>
<entry>ix,f6.3</entry>
<entry>cosine of obliquity angle at entry</entry>
</row>
</tbody>
</tgroup>
</table>
</para>
</refsection>
<refsection xml:id='see_also'>
<title>SEE ALSO</title>
<para>
<citerefentry><refentrytitle>burst</refentrytitle><manvolnum>1</manvolnum></citerefentry>
</para>
</refsection>
<refsection xml:id='author'>
<title>AUTHOR</title>
<para>BRL-CAD Team</para>
</refsection>
<refsection xml:id='copyright'>
<title>COPYRIGHT</title>
<para>
This software is Copyright (c) 1989-2016 by the United States
Government as represented by U.S. Army Research Laboratory.
</para>
</refsection>
<refsection xml:id='bug_reports'>
<title>BUG REPORTS</title>
<para>
Reports of bugs or problems should be submitted via electronic
mail to &lt;devs@brlcad.org&gt;.
</para>
</refsection>
</refentry>
@@ -0,0 +1,198 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<refentry xmlns='http://docbook.org/ns/docbook' version='5.0' xml:lang='en' xml:id='burst_shotline_5'>
<refmeta>
<refentrytitle>Burst Shotline File Format</refentrytitle>
<manvolnum>5</manvolnum>
<refmiscinfo class='source'>BRL-CAD</refmiscinfo>
<refmiscinfo class='manual'>BRL-CAD</refmiscinfo>
</refmeta>
<refnamediv>
<refname>burst_shotline_files</refname>
<refpurpose>Data output by the <command>shotline-file</command> command from the burst tool.</refpurpose>
</refnamediv>
<refsection xml:id='format'>
<title>FORMAT</title>
<para>
Burst shotline files are composed of single-line records. Each line begins with a
digit that identifies the type of record it represents. The file is composed of one or more runs that
begin with a run header. Each shotline that intersects the target will result in a shotline header that is
followed by one or more shotline intersection records.
<table>
<title>Shotline File Format</title>
<tgroup cols="3">
<thead>
<row>
<entry>Record Description</entry>
<entry>Field Format</entry>
<entry>Field Description</entry>
</row>
</thead>
<tbody>
<row>
<entry>run header</entry>
<entry>'1'</entry>
<entry>record number 1</entry>
</row>
<row>
<entry></entry>
<entry>1x,f9.4</entry>
<entry>attack azimuth (degrees)</entry>
</row>
<row>
<entry></entry>
<entry>1x,f8.4</entry>
<entry>attack elevation (degrees)</entry>
</row>
<row>
<entry></entry>
<entry>1x,f7.2</entry>
<entry>shotline separation</entry>
</row>
<row>
<entry></entry>
<entry>1x,f7.2</entry>
<entry>maximum Y' coordinate of target</entry>
</row>
<row>
<entry></entry>
<entry>1x,f7.2</entry>
<entry>minimum Y' coordinate of target</entry>
</row>
<row>
<entry></entry>
<entry>1x,f7.2</entry>
<entry>maximum Z' coordinate of target</entry>
</row>
<row>
<entry></entry>
<entry>1x,f7.2</entry>
<entry>minimum Z' coordinate of target</entry>
</row>
<row>
<entry></entry>
<entry>1x,6a</entry>
<entry>units (mm,cm,inches,feet,meters)</entry>
</row>
<row>
<entry>shotline header</entry>
<entry>'2'</entry>
<entry>record number 2</entry>
</row>
<row>
<entry></entry>
<entry>1x,f8.3</entry>
<entry>Y' coordinate of shotline</entry>
</row>
<row>
<entry></entry>
<entry>1x,f8.3</entry>
<entry>Z' coordinate of shotline</entry>
</row>
<row>
<entry>shotline intersections</entry>
<entry>'3'</entry>
<entry>record number 3</entry>
</row>
<row>
<entry></entry>
<entry>1x,f8.2</entry>
<entry>X' coordinate of component intersection</entry>
</row>
<row>
<entry></entry>
<entry>1x,f7.3</entry>
<entry>sine of fallback angle of exit normal</entry>
</row>
<row>
<entry></entry>
<entry>1x,f7.2</entry>
<entry>rotation angle of exit normal in degrees</entry>
</row>
<row>
<entry></entry>
<entry>1x,i4</entry>
<entry>component code number</entry>
</row>
<row>
<entry></entry>
<entry>1x,f8.2</entry>
<entry>normal thickness of component</entry>
</row>
<row>
<entry></entry>
<entry>1x,f8.2</entry>
<entry>line-of-sight thickness of component</entry>
</row>
<row>
<entry></entry>
<entry>1x,i2</entry>
<entry>space code following component</entry>
</row>
<row>
<entry></entry>
<entry>1x,f7.2</entry>
<entry>obliquity angle at entry to component in degrees</entry>
</row>
<row>
<entry></entry>
<entry>1x,f7.2</entry>
<entry>obliquity angle at exit from component in degrees</entry>
</row>
</tbody>
</tgroup>
</table>
</para>
</refsection>
<refsection xml:id='see_also'>
<title>SEE ALSO</title>
<para>
<citerefentry><refentrytitle>burst</refentrytitle><manvolnum>1</manvolnum></citerefentry>
</para>
</refsection>
<refsection xml:id='author'>
<title>AUTHOR</title>
<para>BRL-CAD Team</para>
</refsection>
<refsection xml:id='copyright'>
<title>COPYRIGHT</title>
<para>
This software is Copyright (c) 1989-2016 by the United States
Government as represented by U.S. Army Research Laboratory.
</para>
</refsection>
<refsection xml:id='bug_reports'>
<title>BUG REPORTS</title>
<para>
Reports of bugs or problems should be submitted via electronic
mail to &lt;devs@brlcad.org&gt;.
</para>
</refsection>
</refentry>
+1
View File
@@ -130,6 +130,7 @@ set(mann_EN
loadtk.xml
lookat.xml
ls.xml
lt.xml
make.xml
make_pnts.xml
mater.xml
+12 -5
View File
@@ -1,13 +1,20 @@
<article xmlns="http://docbook.org/ns/docbook" version="5.0">
<title>MGED Commands - Manual Pages</title>
<title>BRL-CAD Manual Pages</title>
<para>
This is MGED's help system for commands available at the MGED
prompt. To bring up the manual page for a specific command
select it from the list to the left of this welcome message.
</para>
This is BRL-CAD's tool for viewing manual pages for commands. To bring up
the manual page for a specific command select it from the list to the
left of this welcome message.
</para>
<para>
By default, the list will itemize GED commands if the man viewer is
launched from MGED or Archer, and command line commands if the brlman
program is run directly from the command line. To specify a specific
section of manual pages to list with brlman, use the -S option on the
command line to specify 1, 3, 5 or n (with n being GED commands.)
</para>
<para>
These manual pages are written in Docbook format and displayed
as HTML.
+15
View File
@@ -683,6 +683,21 @@
</listitem>
</varlistentry>
</variablelist>
<variablelist>
<cmdsynopsis>
<command>csg</command>
</cmdsynopsis>
<varlistentry>
<term></term>
<listitem>
<para>
Take the specified B-Rep and attempt to generate a CSG
implicit boolean tree that will define the same solid
shape.
</para>
</listitem>
</varlistentry>
</variablelist>
</refsection>
<refsection xml:id='examples'>
+126 -103
View File
@@ -1,134 +1,157 @@
<refentry xmlns="http://docbook.org/ns/docbook" version="5.0" xml:id="draw">
<refmeta>
<refentrytitle>DRAW</refentrytitle>
<manvolnum>nged</manvolnum>
<refmiscinfo class="source">BRL-CAD</refmiscinfo>
<refmiscinfo class="manual">BRL-CAD User Commands</refmiscinfo>
</refmeta>
<refmeta>
<refentrytitle>DRAW</refentrytitle>
<manvolnum>nged</manvolnum>
<refmiscinfo class="source">BRL-CAD</refmiscinfo>
<refmiscinfo class="manual">BRL-CAD User Commands</refmiscinfo>
</refmeta>
<refnamediv xml:id="name">
<refname>draw</refname>
<refpurpose>Adds <emphasis>objects</emphasis>&gt; to the display list so that they will appear on the
<emphasis>MGED</emphasis> display. The <command>e</command> command is a synonym for <command>draw</command>.
</refpurpose>
</refnamediv>
<refnamediv xml:id="name">
<refname>draw</refname>
<refpurpose>Adds <emphasis>objects</emphasis>&gt; to the display list so that they will appear on the
<emphasis>MGED</emphasis> display. The <command>e</command> command is a synonym for <command>draw</command>.
</refpurpose>
</refnamediv>
<!-- body begins here -->
<refsynopsisdiv xml:id="synopsis">
<cmdsynopsis sepchar=" ">
<command>draw</command>
<!-- body begins here -->
<refsynopsisdiv xml:id="synopsis">
<cmdsynopsis sepchar=" ">
<command>draw</command>
<arg choice="opt" rep="norepeat">-A <replaceable>attribute name/value pairs</replaceable></arg>
<arg choice="opt" rep="norepeat">-s</arg>
<arg choice="opt" rep="norepeat">-A -o<replaceable>attribute name/value pairs</replaceable></arg>
<arg choice="opt" rep="norepeat">-C#/#/#</arg>
<arg choice="opt" rep="norepeat">-L #</arg>
<arg choice="opt" rep="norepeat"><replaceable>-m1</replaceable></arg>
<arg choice="req" rep="norepeat"><replaceable>objects</replaceable></arg>
<arg choice="opt" rep="norepeat">-A <replaceable>attribute name/value pairs</replaceable></arg>
<arg choice="opt" rep="norepeat">-s</arg>
<arg choice="opt" rep="norepeat">-A -o<replaceable>attribute name/value pairs</replaceable></arg>
<arg choice="opt" rep="norepeat">-C#/#/#</arg>
<arg choice="opt" rep="norepeat">-L #</arg>
<arg choice="opt" rep="norepeat">-R</arg>
<arg choice="opt" rep="norepeat">-S</arg>
<arg choice="opt" rep="norepeat"><replaceable>-m1</replaceable></arg>
<arg choice="req" rep="norepeat"><replaceable>objects</replaceable></arg>
</cmdsynopsis>
</refsynopsisdiv>
</cmdsynopsis>
</refsynopsisdiv>
<refsection xml:id="description"><title>DESCRIPTION</title>
<refsection xml:id="description"><title>DESCRIPTION</title>
<para>Adds <emphasis>objects</emphasis>&gt; to the display list so that they will appear on the MGED display. The <command>e</command> command is a synonym for draw.
<para>
Adds <emphasis>objects</emphasis> to the display list so that they will appear on the
MGED display. The <command>e</command> command is a synonym for draw.
</para>
<itemizedlist mark="bullet">
<listitem>
<para>
<itemizedlist mark="bullet">
<listitem>
<para>
The <emphasis>-C</emphasis> option provides the user a way to specify a color that overrides all other
color specifications including combination colors and region-id-based colors.
</para>
</listitem>
<listitem>
<para>
</para>
</listitem>
<listitem>
<para>
The <emphasis>-s</emphasis> option specifies that subtracted and intersected objects should be drawn
with shape lines rather than dot-dash lines.
</para>
</listitem>
<listitem>
<para>
</para>
</listitem>
<listitem>
<para>
The <emphasis>-A</emphasis> option specifies that the arguments provided to this command are attribute
name/value pairs, and only objects having the specified attributes and values are
to be displayed. The default (without <emphasis>-o</emphasis>) is that only objects having all the
specified attribute name/value pairs will be displayed.
</para>
</listitem>
<listitem>
<para>
The <emphasis>-m1</emphasis> option will display BOTs shaded if the display manager is OpenGL and the
zbuffer and lighting is enabled. To enable these settings, from the MGED GUI, choose
"Modes/Display Manager/OpenGL", "Misc/Z-buffer" and "Misc/Lighting". If the zbuffer and lighting is
already enabled, toggle them off then back on to ensure they are enabled.
</para>
</listitem>
<listitem>
<para>
</para>
</listitem>
<listitem>
<para>
The <emphasis>-m1</emphasis> option will display BOTs shaded if the display manager is OpenGL and the
zbuffer and lighting is enabled. To enable these settings, from the MGED GUI, choose
"Modes/Display Manager/OpenGL", "Misc/Z-buffer" and "Misc/Lighting". If the zbuffer and lighting is
already enabled, toggle them off then back on to ensure they are enabled.
</para>
</listitem>
<listitem>
<para>
The <emphasis>-L</emphasis> option allows the user to specify a face count. BoT primitives with more
faces than the user set threshold will be represented in wireframe drawing by their bounding boxes rather
than the full BoT wireframe.
</para>
</listitem>
<listitem>
<para>
The <emphasis>-M</emphasis> option tells draw to be "minimalist" by skipping subtraction objects when drawing.
This is useful in situations where an object has many large objects subtracted from it but those objects have
relatively minimal impact on the shape - this results in the wireframe bearing little resemablance to the
evaluated shape.
</para>
</listitem>
</para>
</listitem>
<listitem>
<para>
The <emphasis>-R</emphasis> option tells draw to not change the view size when drawing new objects.
Without this flag, <command>draw</command> will automatically size the view to make the new object(s)
visible when the view was previously empty.
</para>
</listitem>
<listitem>
<para>
The <emphasis>-S</emphasis> option tells draw to be
"simplified" by skipping subtraction objects when drawing, not
drawing NMG interior surfaces, and potentially more. Skipping
subtractions is useful in situations where an object has many
large objects subtracted from it but those objects have
relatively minimal impact on the shape. This results in the
default wireframe bearing little resemablance to the evaluated
shape.
</para>
</listitem>
</itemizedlist>
</refsection>
<refsection xml:id="examples"><title>EXAMPLES</title>
</itemizedlist>
</refsection>
<para>The following examples show the use of the <command>draw</command> command to draw particular objects,
to specify color, to draw with shape lines rather than dot-dash lines, and to limit the objects to be drawn
to those having specific attribute names and value pairs.
</para>
<example><title>Draw specific objects in the <emphasis>MGED</emphasis> display.</title>
<variablelist>
<varlistentry>
<term><prompt>mged&gt;</prompt> <userinput>draw object1 object2</userinput></term>
<listitem>
<para><emphasis>Object1</emphasis> and <emphasis>object2</emphasis> are drawn in the <emphasis>MGED</emphasis> display.
</para>
</listitem>
</varlistentry>
</variablelist>
</example>
<example><title>Specify the color used to draw the object.</title>
<refsection xml:id="examples">
<title>EXAMPLES</title>
<para>
<prompt>mged&gt;</prompt><userinput>draw -C 255/255/255 object2</userinput>
The following examples show the use of the <command>draw</command> command to draw
particular objects,
to specify color, to draw with shape lines rather than dot-dash lines, and to limit the objects to be drawn
to those having specific attribute names and value pairs.
</para>
<para>Object2 is drawn in white.
</para>
</example>
<example><title>Limit the objects to be drawn to those having specific attribute names and value pairs.
</title>
<example>
<title>Draw specific objects in the <emphasis>MGED</emphasis> display.</title>
<variablelist>
<varlistentry>
<term><prompt>mged&gt;</prompt> <userinput>draw object1 object2</userinput></term>
<listitem>
<para><emphasis>Object1</emphasis> and <emphasis>object2</emphasis> are drawn in the <emphasis>MGED</emphasis> display.
</para>
</listitem>
</varlistentry>
</variablelist>
</example>
<example>
<title>Specify the color used to draw the object.</title>
<para>
<prompt>mged&gt;</prompt><userinput>draw -C 255/255/255 object2</userinput>
</para>
<para>Object2 is drawn in white.
</para>
</example>
<example>
<title>Limit the objects to be drawn to those having specific attribute names and value pairs.</title>
<para>
<prompt>mged&gt;</prompt><userinput>draw -A -o Comment {First comment} Comment {Second comment}</userinput>
</para>
<para>
Objects having a Comment attribute with a value of either "First comment" or "Second comment" are drawn.
</para>
</example>
</refsection>
<refsection xml:id="author">
<title>AUTHOR</title>
<para>BRL-CAD Team</para>
</refsection>
<refsection xml:id="bug_reports">
<title>BUG REPORTS</title>
<para>
<prompt>mged&gt;</prompt><userinput>draw -A -o Comment {First comment} Comment {Second comment}</userinput>
Reports of bugs or problems should be submitted via electronic
mail to &lt;devs@brlcad.org&gt;, or via the "cadbug.sh" script.
</para>
<para>Objects having a Comment attribute with a value of either "First comment" or "Second comment" are drawn.
</para>
</example>
</refsection>
<refsection xml:id="author"><title>AUTHOR</title><para>BRL-CAD Team</para></refsection>
<refsection xml:id="bug_reports"><title>BUG REPORTS</title>
<para>
Reports of bugs or problems should be submitted via electronic
mail to &lt;devs@brlcad.org&gt;, or via the "cadbug.sh" script.
</para>
</refsection>
</refsection>
</refentry>
+3 -3
View File
@@ -9,7 +9,7 @@
<refnamediv xml:id="name">
<refname>expand</refname>
<refpurpose>Performs matching of the <emphasis>regular_expression</emphasis> with the names
<refpurpose>Performs matching of the <emphasis>shell globbing pattern</emphasis> with the names
of all the objects in the database. It returns all those that successfully match.
</refpurpose>
</refnamediv>
@@ -19,14 +19,14 @@ of all the objects in the database. It returns all those that successfully match
<cmdsynopsis sepchar=" ">
<command>expand</command>
<arg choice="req" rep="norepeat"><replaceable>regular_expression</replaceable></arg>
<arg choice="req" rep="norepeat"><replaceable>globbing_expression</replaceable></arg>
</cmdsynopsis>
</refsynopsisdiv>
<refsection xml:id="description"><title>DESCRIPTION</title>
<para>Performs matching of the <emphasis>regular_expression</emphasis> with the names
<para>Performs matching of the <emphasis>globbing_expression</emphasis> with the names
of all the objects in the database. It returns all those that successfully match.
</para>
</refsection>
+13
View File
@@ -19,6 +19,7 @@
<command>lc</command>
<group choice="opt" rep="norepeat">
<arg choice="plain" rep="norepeat">-d</arg>
<arg choice="plain" rep="norepeat">-m</arg>
<arg choice="plain" rep="norepeat">-s</arg>
</group>
<arg choice="opt" rep="norepeat">-r</arg>
@@ -69,6 +70,18 @@
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>-m</option></term>
<listitem>
<para>
Specifies to list only regions with shared 'region_id' values where one
or more of the objects in the set of objects defined by shared 'region_id'
value reports a different 'material_id' and/or 'los'. Essentially, this
allows users to quickly find and resolve inconsistent 'material_id' and
'los' settings within a 'region_id' group.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>-r</option></term>
<listitem>
+63
View File
@@ -0,0 +1,63 @@
<refentry xmlns="http://docbook.org/ns/docbook" version="5.0" xml:id="lt">
<refmeta>
<refentrytitle>LT</refentrytitle>
<manvolnum>nged</manvolnum>
<refmiscinfo class="source">BRL-CAD</refmiscinfo>
<refmiscinfo class="manual">BRL-CAD User Commands</refmiscinfo>
</refmeta>
<refnamediv xml:id="name">
<refname>lt</refname>
<refpurpose>Generates a list of the child objects of a combination.</refpurpose>
</refnamediv>
<!-- body begins here -->
<refsynopsisdiv xml:id="synopsis">
<cmdsynopsis sepchar=" ">
<command>lt</command>
<arg choice="opt" rep="norepeat"><replaceable>char</replaceable></arg>
</cmdsynopsis>
</refsynopsisdiv>
<refsection xml:id="description"><title>DESCRIPTION</title>
<para>
The <command>lt</command> command generates a list of the children found
in a combination object specified by the user. By default it will print
a curly bracket bound set of objects and their boolean flags. If the <option>-c</option>
option is specified, it will instead use the character supplied to the <option>-c</option>
option as the separator in the list of objects. In the latter mode the
boolean flags will not be printed.
</para>
</refsection>
<refsection xml:id="examples"><title>EXAMPLES</title>
<example><title>Tcl Output</title>
<literallayout class="normal">
mged&gt; lt component
{u bed} {u frame} {u cab} {u suspension} {u misc} {u power.train}
</literallayout>
</example>
<example><title>CSV Output</title>
<literallayout class="normal">
mged&gt; lt -c , component
bed,frame,cab,suspension,misc,power.train
</literallayout>
</example>
</refsection>
<refsection xml:id="author"><title>AUTHOR</title>
<para>BRL-CAD Team</para>
</refsection>
<refsection xml:id="bug_reports"><title>BUG REPORTS</title>
<para>
Reports of bugs or problems should be submitted via electronic
mail to &lt;devs@brlcad.org&gt;, or via the "cadbug.sh" script.
</para>
</refsection>
</refentry>
+23 -14
View File
@@ -550,14 +550,10 @@
<listitem>
<para>
The below operator applies the expression to every
object above the current full path to that object,
and returns TRUE if one or more of them satisfies
the expression. E.g., searching with -below -name
s\* on /component/region.r/start_comb.c/prim1.s
would return TRUE for /component and
/component/region.r as start_comb.c is below both of
them, but would return FALSE for any deeper objects
(i.e., prim1.s in this example).
object below the matching object in the tree
hierarchy. E.g. searching with -below -name start\*
on /component/region.r/start_comb.c/prim1.s would
return prim1.s, as the object below start_comb.c
</para>
<para>
Optionally, inequality and equality constraints on
@@ -581,12 +577,14 @@
<listitem>
<para>
The above operator applies the expression to every
object below the current object in the tree
hierarchy. It finds objects that are above a given
expression. In effect, it does a "mini-search" up
the tree using the current object path as a starting
point and returns TRUE if the expression is
satisfied by one or more objects in the sub-tree.
object above the current full path to that object,
and returns TRUE if one or more of them satisfies
the expression. E.g., searching with -above -name
s\* on /component/region.r/start_comb.c/prim1.s
would return TRUE for /component and
/component/region.r as start_comb.c is below both of
them, but would return FALSE for any deeper objects
(i.e., prim1.s in this example).
</para>
<para>
Optionally, inequality and equality constraints on
@@ -850,6 +848,17 @@
</para>
</example>
<example><title>Find All Combs Containing At Least One of Two Objects (dbfind)</title>
<para>
<userinput>search |. ( -depth 0 -above=1 -name obj1 ) -or ( -depth 0 -above=1 -name obj2 ) </userinput>
</para>
<para>
Prints all combs immediately above either obj1 or obj2. This more or less mimics the results of
the dbfind command, although it will be somewhat slower (noticably so on large databases.)
</para>
</example>
<example><title>Finding all Plate-Mode BoT Objects</title>
<para>
-3
View File
@@ -129,9 +129,6 @@ on the command line.
to view coordinates with perspective.
</DD>
<P>
<DT><I>viewName</I> <A NAME="pov"><B>pov</B></A></DT>
<DD>Set the point of view (experimental).</DD>
<P>
<DT><I>viewName</I> <A NAME="rmat"><B>rmat</B></A> [<I>matrix</I>]</DT>
<DD>Set/get the rotation matrix.</DD>
<P>
+1 -26
View File
@@ -307,15 +307,9 @@
<TD WIDTH="19%" VALIGN="MIDDLE">
<FONT SIZE=2><P></FONT><A HREF="#permute"><FONT SIZE=2>permute</FONT></A></TD>
<TD WIDTH="20%" VALIGN="MIDDLE">
<FONT SIZE=2><P></FONT><A HREF="#pl"><FONT SIZE=2>pl</FONT></A></TD>
<TD WIDTH="22%" VALIGN="MIDDLE">
<FONT SIZE=2><P></FONT><A HREF="#plot"><FONT SIZE=2>plot</FONT></A></TD>
<TD WIDTH="21%" VALIGN="MIDDLE">
<FONT SIZE=2><P></FONT><A HREF="#polybinout"><FONT SIZE=2>polybinout</FONT></A></TD>
</TR>
<TR><TD WIDTH="18%" VALIGN="MIDDLE">
<FONT SIZE=2><P></FONT><A HREF="#pov"><FONT SIZE=2>pov</FONT></A></TD>
<TD WIDTH="19%" VALIGN="MIDDLE">
<TR><TD WIDTH="19%" VALIGN="MIDDLE">
<FONT SIZE=2><P></FONT><A HREF="#prcolor"><FONT SIZE=2>prcolor</FONT></A></TD>
<TD WIDTH="20%" VALIGN="MIDDLE">
<FONT SIZE=2><P></FONT><A HREF="#prefix"><FONT SIZE=2>prefix</FONT></A></TD>
@@ -2385,16 +2379,6 @@ foo.r_xpand/R
</B><FONT SIZE=2><P>-- Rearrange the vertices of the currently edited <I>ARB</I> such that vertex #3 becomes vertex #1, vertex #2 remains #2, and vertex #1 becomes #3. </P></DIR>
<P><HR ALIGN="RIGHT"></P>
</FONT><B><DL>
<DT><A NAME="pl"></A>pl</B> [<I>-float</I>] [<I>-zclip</I>] [<I>-2d</I>] [<I>-grid</I>] <I>out_file</I> | &quot;|&quot; <I>filter</DT>
</I><DD>The &quot;pl&quot; command creates a UNIX plot of the current MGED display. If an <I>output_file</I> is specified, the plot is stored in that file. If a <I>filter</I> is specified, the output is sent to that <I>filter</I>. The <I>-float</I> option requests a plot file with real numbers rather than integers. The <I>-zclip</I> option requests that the plot be clipped to the viewing cube in the Z-direction. The <I>-2d</I> option requests a two-dimensional plot (the default is 3D). The <I>-grid</I> option is intended to include a grid in the plot, but is currently not implemented. This command uses the <I>dm-plot</I> display manager. The <A HREF="#plot">plot</A> command performs the same function, but does not use the <I>dm-plot</I> display manager.</DD>
<FONT SIZE=4><DT>Examples:</DT>
</FONT><TT><DD>mged&gt;</TT> <B>pl -float | pldebug</DD>
</DL><DIR>
</B><FONT SIZE=2><P>-- Create a UNIX plot of the current MGED display and pipe the results to the <I>pldebug</I> command.</P></DIR>
<P><HR ALIGN="RIGHT"></P>
</FONT><B><DL>
<DT><A NAME="plot"></A>plot</B> [<I>-float</I>] [<I>-zclip</I>] [<I>-2d</I>] [<I>-grid</I>] <I>out_file</I> | &quot;|&quot; <I>filter</DT>
@@ -2405,15 +2389,6 @@ foo.r_xpand/R
</B><FONT SIZE=2><P>-- Create a UNIX plot of the current MGED display and pipe the results to the <I>pldebug</I> command. </P></DIR>
<P><HR ALIGN="RIGHT"></P>
</FONT><B><DL>
<DT><A NAME="polybinout"></A>polybinout</B> <I>file</DT>
</I><DD>Store vlist polygons into polygon file (experimental).</DD>
</DL>
<FONT SIZE=2><P><HR ALIGN="RIGHT"></P>
</FONT><B><DL>
<DT><A NAME="pov"></A>pov</B> <I>args</DT>
</I><DD>Set the point-of-view (experimental).</DD>
</DL>
<FONT SIZE=2><P><HR ALIGN="RIGHT"></P>
</FONT><B><DL>
-2
View File
@@ -1,4 +1,2 @@
joint
polybinout
pov
solids_on_ray
-2
View File
@@ -3827,7 +3827,6 @@
*** [[file:../src/libged/comb_std.c][comb_std.c]]
*** [[file:../src/libged/mater.c][mater.c]]
*** [[file:../src/libged/prcolor.c][prcolor.c]]
*** [[file:../src/libged/pov.c][pov.c]]
*** [[file:../src/libged/inside.c][inside.c]]
*** [[file:../src/libged/rot.c][rot.c]]
*** [[file:../src/libged/bot_face_sort.c][bot_face_sort.c]]
@@ -4097,7 +4096,6 @@
*** [[file:../src/libged/nmg_mm.c][nmg_mm.c]]
*** [[file:../src/libged/red.c][red.c]]
*** [[file:../src/libged/nmg_kill_f.c][nmg_kill_f.c]]
*** [[file:../src/libged/polybinout.c][polybinout.c]]
*** [[file:../src/libged/zoom][zoom]]
**** [[file:../src/libged/zoom/zoom.c][zoom.c]]
*** [[file:../src/libged/pmodel2view.c][pmodel2view.c]]
+4 -4
View File
@@ -57,13 +57,13 @@ BN_EXPORT extern int bn_decode_vect(vect_t v,
BN_EXPORT extern int bn_decode_hvect(hvect_t v,
const char *str);
BN_EXPORT extern void bn_encode_mat(struct bu_vls *vp,
const mat_t m);
const mat_t m, int clamp);
BN_EXPORT extern void bn_encode_quat(struct bu_vls *vp,
const quat_t q);
const quat_t q, int clamp);
BN_EXPORT extern void bn_encode_vect(struct bu_vls *vp,
const vect_t v);
const vect_t v, int clamp);
BN_EXPORT extern void bn_encode_hvect(struct bu_vls *vp,
const hvect_t v);
const hvect_t v, int clamp);
__END_DECLS
+93 -110
View File
@@ -67,41 +67,27 @@ extern "C++" {
*/
class BREP_EXPORT BBNode {
public:
BBNode();
BBNode(const ON_BoundingBox &node);
BBNode(CurveTree *ct);
BBNode(CurveTree *ct, const ON_BoundingBox &node);
BBNode(CurveTree *ct,
explicit BBNode(const ON_BoundingBox &node, const CurveTree *ct = NULL);
BBNode(const CurveTree *ct,
const ON_BoundingBox &node,
const ON_BrepFace *face,
const ON_Interval &u,
const ON_Interval &v,
bool checkTrim = false,
bool trimmed = false);
bool checkTrim,
bool trimmed);
~BBNode();
/** List of all children of a given node */
std::vector<BBNode *> *m_children;
/** Curve Tree associated with the parent Surface Tree */
CurveTree *m_ctree;
/** Bounding Box */
ON_BoundingBox m_node;
/** Test if this node is a leaf node in the hierarchy */
bool isLeaf();
bool isLeaf() const;
/** Return all leaves below this node that are leaf nodes */
void getLeaves(std::list<BBNode *> &out_leaves);
void getLeaves(std::list<const BBNode *> &out_leaves) const;
/** Functions to add and remove child nodes from this node. */
void addChild(const ON_BoundingBox &child);
void addChild(BBNode *child);
void removeChild(BBNode *child);
/** Report the depth of this node in the hierarchy */
int depth();
int depth() const;
/** Get 2 points defining a bounding box
*
@@ -119,8 +105,28 @@ extern "C++" {
* min
* @endverbatim
*/
void GetBBox(float *min, float *max);
void GetBBox(double *min, double *max);
void GetBBox(float *min, float *max) const;
void GetBBox(double *min, double *max) const;
/** Test whether a ray intersects the 3D bounding volume of the
* node - if so, and node is not a leaf node, query children. If
* leaf node, and intersects, add to list.
*/
bool intersectsHierarchy(const ON_Ray &ray, std::list<const BBNode *> &results) const;
ON_2dPoint getClosestPointEstimate(const ON_3dPoint &pt) const;
ON_2dPoint getClosestPointEstimate(const ON_3dPoint &pt, ON_Interval &u, ON_Interval &v) const;
int getLeavesBoundingPoint(const ON_3dPoint &pt, std::list<const BBNode *> &out) const;
bool isTrimmed(const ON_2dPoint &uv, const BRNode **closest, double &closesttrim, double within_distance_tol) const;
void BuildBBox();
bool prepTrims();
/** List of all children of a given node */
std::vector<BBNode *> * const m_children;
/** Bounding Box */
ON_BoundingBox m_node;
/** Surface Information */
const ON_BrepFace *m_face;
@@ -139,91 +145,43 @@ extern "C++" {
/* Normal at the m_estimate point */
ON_3dVector m_normal;
/** Test whether a ray intersects the 3D bounding volume of the
* node - if so, and node is not a leaf node, query children. If
* leaf node, and intersects, add to list.
*/
bool intersectedBy(ON_Ray &ray, double *tnear = NULL, double *tfar = NULL);
bool intersectsHierarchy(ON_Ray &ray, std::list<BBNode *> &results);
private:
BBNode(const BBNode &source);
BBNode &operator=(const BBNode &source);
void removeChild(BBNode *child);
bool intersectedBy(const ON_Ray &ray, double *tnear = NULL, double *tfar = NULL) const;
/** Report if a given uv point is within the uv boundaries defined
* by a node.
*/
bool containsUV(const ON_2dPoint &uv);
bool containsUV(const ON_2dPoint &uv) const;
ON_2dPoint getClosestPointEstimate(const ON_3dPoint &pt);
ON_2dPoint getClosestPointEstimate(const ON_3dPoint &pt, ON_Interval &u, ON_Interval &v);
int getLeavesBoundingPoint(const ON_3dPoint &pt, std::list<BBNode *> &out);
bool isTrimmed(const ON_2dPoint &uv, BRNode **closest, double &closesttrim, double within_distance_tol) const;
bool doTrimming() const;
void getTrimsAbove(const ON_2dPoint &uv, std::list<const BRNode *> &out_leaves) const;
void getTrimsAbove(const ON_2dPoint &uv, std::list<BRNode *> &out_leaves) const;
void BuildBBox();
bool prepTrims();
const BBNode *closer(const ON_3dPoint &pt, const BBNode *left, const BBNode *right) const;
private:
BBNode *closer(const ON_3dPoint &pt, BBNode *left, BBNode *right);
std::list<BRNode *> *m_trims_above;
/** Curve Tree associated with the parent Surface Tree */
const CurveTree * const m_ctree;
std::list<const BRNode *> * const m_trims_above;
};
inline
BBNode::BBNode()
: m_ctree(NULL), m_face(NULL), m_checkTrim(true), m_trimmed(false)
{
m_children = new std::vector<BBNode *>();
m_trims_above = new std::list<BRNode *>();
}
inline
BBNode::BBNode(const ON_BoundingBox &node)
: m_ctree(NULL), m_node(node), m_face(NULL), m_checkTrim(true), m_trimmed(false)
{
for (int i = 0; i < 3; i++) {
double d = m_node.m_max[i] - m_node.m_min[i];
if (ON_NearZero(d, ON_ZERO_TOLERANCE)) {
m_node.m_min[i] -= 0.001;
m_node.m_max[i] += 0.001;
}
}
m_children = new std::vector<BBNode *>();
m_trims_above = new std::list<BRNode *>();
}
inline
BBNode::BBNode(CurveTree *ct)
: m_ctree(ct), m_face(NULL), m_checkTrim(true), m_trimmed(false)
{
m_children = new std::vector<BBNode *>();
m_trims_above = new std::list<BRNode *>();
}
inline
BBNode::BBNode(CurveTree *ct, const ON_BoundingBox &node)
: m_ctree(ct), m_node(node), m_face(NULL), m_checkTrim(true), m_trimmed(false)
{
for (int i = 0; i < 3; i++) {
double d = m_node.m_max[i] - m_node.m_min[i];
if (ON_NearZero(d, ON_ZERO_TOLERANCE)) {
m_node.m_min[i] -= 0.001;
m_node.m_max[i] += 0.001;
}
}
m_children = new std::vector<BBNode *>();
m_trims_above = new std::list<BRNode *>();
}
inline
_BU_ATTR_ALWAYS_INLINE
BBNode::BBNode(
CurveTree *ct,
const ON_BoundingBox &node,
const ON_BrepFace *face,
const ON_Interval &u,
const ON_Interval &v,
bool checkTrim /* = false */,
bool trimmed /* = false */)
: m_ctree(ct), m_node(node), m_face(face), m_u(u), m_v(v),
m_checkTrim(checkTrim), m_trimmed(trimmed)
BBNode::BBNode(const ON_BoundingBox &node, const CurveTree *ct) :
m_children(new std::vector<BBNode *>),
m_node(node),
m_face(NULL),
m_u(),
m_v(),
m_checkTrim(true),
m_trimmed(false),
m_estimate(),
m_normal(),
m_ctree(ct),
m_trims_above(new std::list<const BRNode *>)
{
for (int i = 0; i < 3; i++) {
double d = m_node.m_max[i] - m_node.m_min[i];
@@ -232,15 +190,38 @@ extern "C++" {
m_node.m_max[i] += 0.001;
}
}
m_children = new std::vector<BBNode *>();
m_trims_above = new std::list<BRNode *>();
}
inline void
BBNode::addChild(const ON_BoundingBox &child)
{
m_children->push_back(new BBNode(child));
inline
_BU_ATTR_ALWAYS_INLINE
BBNode::BBNode(
const CurveTree *ct,
const ON_BoundingBox &node,
const ON_BrepFace *face,
const ON_Interval &u,
const ON_Interval &v,
bool checkTrim,
bool trimmed):
m_children(new std::vector<BBNode *>),
m_node(node),
m_face(face),
m_u(u),
m_v(v),
m_checkTrim(checkTrim),
m_trimmed(trimmed),
m_estimate(),
m_normal(),
m_ctree(ct),
m_trims_above(new std::list<const BRNode *>)
{
for (int i = 0; i < 3; i++) {
double d = m_node.m_max[i] - m_node.m_min[i];
if (ON_NearZero(d, ON_ZERO_TOLERANCE)) {
m_node.m_min[i] -= 0.001;
m_node.m_max[i] += 0.001;
}
}
}
inline void
BBNode::addChild(BBNode *child)
@@ -254,25 +235,27 @@ extern "C++" {
BBNode::removeChild(BBNode *child)
{
std::vector<BBNode *>::iterator i;
for (i = m_children->begin(); i < m_children->end(); ++i) {
for (i = m_children->begin(); i != m_children->end();) {
if (*i == child) {
delete *i;
m_children->erase(i);
i = m_children->erase(i);
} else {
++i;
}
}
}
inline bool
BBNode::isLeaf()
BBNode::isLeaf() const
{
if (m_children->size() == 0) {
if (m_children->empty()) {
return true;
}
return false;
}
inline void
BBNode::GetBBox(float *min, float *max)
BBNode::GetBBox(float *min, float *max) const
{
min[0] = m_node.m_min[0];
min[1] = m_node.m_min[1];
@@ -283,7 +266,7 @@ extern "C++" {
}
inline void
BBNode::GetBBox(double *min, double *max)
BBNode::GetBBox(double *min, double *max) const
{
min[0] = m_node.m_min[0];
min[1] = m_node.m_min[1];
@@ -294,7 +277,7 @@ extern "C++" {
}
inline bool
BBNode::intersectedBy(ON_Ray &ray, double *tnear_opt /* = NULL */, double *tfar_opt /* = NULL */)
BBNode::intersectedBy(const ON_Ray &ray, double *tnear_opt /* = NULL */, double *tfar_opt /* = NULL */) const
{
double tnear = -DBL_MAX;
double tfar = DBL_MAX;
+104 -92
View File
@@ -53,37 +53,25 @@ extern "C++" {
*/
class BREP_EXPORT BRNode {
public:
BRNode();
BRNode(const ON_BoundingBox &node);
explicit BRNode(const ON_BoundingBox &node);
BRNode(const ON_Curve *curve,
int m_adj_face_index,
int adj_face_index,
const ON_BoundingBox &node,
const ON_BrepFace *face,
const ON_Interval &t,
bool innerTrim = false,
bool checkTrim = true,
bool trimmed = false);
bool innerTrim,
bool checkTrim,
bool trimmed);
~BRNode();
/** List of all children of a given node */
std::vector<BRNode *> *m_children;
/** Bounding Box */
ON_BoundingBox m_node;
/** Node management functions */
void addChild(const ON_BoundingBox &child);
void addChild(BRNode *child);
void removeChild(BRNode *child);
/** Test if this node is a leaf node (i.e. m_children is empty) */
bool isLeaf();
/** Return a list of all nodes below this node that are leaf nodes */
void getLeaves(std::list<BRNode *> &out_leaves);
void getLeaves(std::list<const BRNode *> &out_leaves) const;
/** Report the depth of this node in the hierarchy */
int depth();
int depth() const;
/**
* Get 2 points defining bounding box:
@@ -99,51 +87,63 @@ extern "C++" {
*/
void GetBBox(fastf_t *min, fastf_t *max) const;
/** Surface Information */
const ON_BrepFace *m_face;
ON_Interval m_u;
ON_Interval m_v;
bool isTrimmed(const ON_2dPoint &uv, double &trimdist) const;
/** Trim Curve Information */
const ON_Curve *m_trim;
ON_Interval m_t;
int m_adj_face_index;
/** Trimming Flags */
bool m_checkTrim;
bool m_trimmed;
bool m_XIncreasing;
bool m_Horizontal;
bool m_Vertical;
bool m_innerTrim;
ON_3dPoint m_estimate;
ON_2dPoint getClosestPointEstimate(const ON_3dPoint &pt);
ON_2dPoint getClosestPointEstimate(const ON_3dPoint &pt, ON_Interval &u, ON_Interval &v);
fastf_t getLinearEstimateOfV(fastf_t u);
ON_2dPoint getClosestPointEstimate(const ON_3dPoint &pt) const;
ON_2dPoint getClosestPointEstimate(const ON_3dPoint &pt, ON_Interval &u, ON_Interval &v) const;
fastf_t getCurveEstimateOfV(fastf_t u, fastf_t tol) const;
fastf_t getCurveEstimateOfU(fastf_t v, fastf_t tol) const;
bool isTrimmed(const ON_2dPoint &uv, double &trimdist) const;
bool doTrimming() const;
/** Bounding Box */
ON_BoundingBox m_node;
/** Surface Information */
ON_Interval m_v;
/** Trim Curve Information */
int m_adj_face_index;
/** Trimming Flags */
bool m_XIncreasing;
bool m_Horizontal;
bool m_Vertical;
const bool m_innerTrim;
private:
BRNode *closer(const ON_3dPoint &pt, BRNode *left, BRNode *right);
BRNode(const BRNode &source);
BRNode &operator=(const BRNode &source);
void removeChild(BRNode *child);
/** Test if this node is a leaf node (i.e. m_children is empty) */
bool isLeaf() const;
bool doTrimming() const;
fastf_t getLinearEstimateOfV(fastf_t u) const;
const BRNode *closer(const ON_3dPoint &pt, const BRNode *left, const BRNode *right) const;
/** List of all children of a given node */
std::vector<const BRNode *> * const m_children;
const ON_BrepFace * const m_face;
ON_Interval m_u;
const ON_Curve * const m_trim;
ON_Interval m_t;
const bool m_checkTrim;
const bool m_trimmed;
const ON_3dPoint m_estimate;
fastf_t m_slope;
fastf_t m_vdot;
fastf_t m_bb_diag;
ON_3dPoint m_start;
ON_3dPoint m_end;
};
inline
BRNode::BRNode()
{
m_start = ON_3dPoint::UnsetPoint;
m_end = ON_3dPoint::UnsetPoint;
m_children = new std::vector<BRNode *>();
}
inline
_BU_ATTR_ALWAYS_INLINE
BRNode::BRNode(
@@ -152,15 +152,29 @@ extern "C++" {
const ON_BoundingBox &node,
const ON_BrepFace *face,
const ON_Interval &t,
bool innerTrim /* = false */,
bool checkTrim /* = true */,
bool trimmed /* = false */)
: m_node(node), m_face(face), m_trim(curve), m_t(t),
m_adj_face_index(adj_face_index), m_checkTrim(checkTrim),
m_trimmed(trimmed), m_innerTrim(innerTrim), m_slope(0.0), m_vdot(0.0)
bool innerTrim,
bool checkTrim,
bool trimmed) :
m_node(node),
m_v(),
m_adj_face_index(adj_face_index),
m_XIncreasing(false),
m_Horizontal(false),
m_Vertical(false),
m_innerTrim(innerTrim),
m_children(new std::vector<const BRNode *>),
m_face(face),
m_u(),
m_trim(curve),
m_t(t),
m_checkTrim(checkTrim),
m_trimmed(trimmed),
m_estimate(),
m_slope(0.0),
m_bb_diag(0.0),
m_start(curve->PointAt(m_t[0])),
m_end(curve->PointAt(m_t[1]))
{
m_start = curve->PointAt(m_t[0]);
m_end = curve->PointAt(m_t[1]);
/* check for vertical segments they can be removed from trims
* above (can't tell direction and don't need
*/
@@ -209,28 +223,31 @@ extern "C++" {
m_slope = (m_end[Y] - m_start[Y]) / (m_end[X] - m_start[X]);
}
m_bb_diag = DIST_PT_PT(m_start, m_end);
m_children = new std::vector<BRNode *>();
}
inline
_BU_ATTR_ALWAYS_INLINE
BRNode::BRNode(const ON_BoundingBox &node)
: m_node(node)
{
m_adj_face_index = -99;
m_checkTrim = true;
m_trimmed = false;
m_Horizontal = false;
m_Vertical = false;
m_XIncreasing = false;
m_innerTrim = false;
m_bb_diag = 0.0;
m_slope = 0.0;
m_vdot = 0.0;
m_face = NULL;
m_trim = NULL;
m_start = ON_3dPoint::UnsetPoint;
m_end = ON_3dPoint::UnsetPoint;
BRNode::BRNode(const ON_BoundingBox &node) :
m_node(node),
m_v(),
m_adj_face_index(-99),
m_XIncreasing(false),
m_Horizontal(false),
m_Vertical(false),
m_innerTrim(false),
m_children(new std::vector<const BRNode *>),
m_face(NULL),
m_u(),
m_trim(NULL),
m_t(),
m_checkTrim(true),
m_trimmed(false),
m_estimate(),
m_slope(0.0),
m_bb_diag(0.0),
m_start(ON_3dPoint::UnsetPoint),
m_end(ON_3dPoint::UnsetPoint)
{
for (int i = 0; i < 3; i++) {
double d = m_node.m_max[i] - m_node.m_min[i];
if (NEAR_ZERO(d, ON_ZERO_TOLERANCE)) {
@@ -240,13 +257,6 @@ extern "C++" {
}
m_start = m_node.m_min;
m_end = m_node.m_max;
m_children = new std::vector<BRNode *>();
}
inline void
BRNode::addChild(const ON_BoundingBox &child)
{
m_children->push_back(new BRNode(child));
}
inline void
@@ -260,19 +270,21 @@ extern "C++" {
inline void
BRNode::removeChild(BRNode *child)
{
std::vector<BRNode *>::iterator i;
for (i = m_children->begin(); i < m_children->end(); ++i) {
std::vector<const BRNode *>::iterator i;
for (i = m_children->begin(); i != m_children->end();) {
if (*i == child) {
delete *i;
m_children->erase(i);
i = m_children->erase(i);
} else {
++i;
}
}
}
inline bool
BRNode::isLeaf()
BRNode::isLeaf() const
{
if (m_children->size() == 0) {
if (m_children->empty()) {
return true;
}
return false;
@@ -298,8 +310,8 @@ extern "C++" {
return m_checkTrim;
}
extern bool sortX(BRNode *first, BRNode *second);
extern bool sortY(BRNode *first, BRNode *second);
extern bool sortX(const BRNode *first, const BRNode *second);
extern bool sortY(const BRNode *first, const BRNode *second);
} /* namespace brlcad */
+27 -22
View File
@@ -46,39 +46,44 @@ extern "C++" {
*/
class BREP_EXPORT CurveTree {
public:
CurveTree(const ON_BrepFace *face);
explicit CurveTree(const ON_BrepFace *face);
~CurveTree();
BRNode *getRootNode() const;
/**
* Return just the leaves of the surface tree
*/
void getLeaves(std::list<const BRNode *> &out_leaves) const;
void getLeavesAbove(std::list<const BRNode *> &out_leaves, const ON_Interval &u, const ON_Interval &v) const;
void getLeavesAbove(std::list<const BRNode *> &out_leaves, const ON_2dPoint &pt, fastf_t tol) const;
void getLeavesRight(std::list<const BRNode *> &out_leaves, const ON_2dPoint &pt, fastf_t tol) const;
private:
CurveTree(const CurveTree &source);
CurveTree &operator=(const CurveTree &source);
const BRNode *getRootNode() const;
/**
* Calculate, using the surface bounding volume hierarchy, a uv
* estimate for the closest point on the surface to the point in
* 3-space.
*/
ON_2dPoint getClosestPointEstimate(const ON_3dPoint &pt);
ON_2dPoint getClosestPointEstimate(const ON_3dPoint &pt, ON_Interval &u, ON_Interval &v);
ON_2dPoint getClosestPointEstimate(const ON_3dPoint &pt) const;
ON_2dPoint getClosestPointEstimate(const ON_3dPoint &pt, ON_Interval &u, ON_Interval &v) const;
/**
* Return just the leaves of the surface tree
*/
void getLeaves(std::list<BRNode *> &out_leaves);
void getLeavesAbove(std::list<BRNode *> &out_leaves, const ON_Interval &u, const ON_Interval &v);
void getLeavesAbove(std::list<BRNode *> &out_leaves, const ON_2dPoint &pt, fastf_t tol);
void getLeavesRight(std::list<BRNode *> &out_leaves, const ON_Interval &u, const ON_Interval &v);
void getLeavesRight(std::list<BRNode *> &out_leaves, const ON_2dPoint &pt, fastf_t tol);
int depth();
void getLeavesRight(std::list<const BRNode *> &out_leaves, const ON_Interval &u, const ON_Interval &v) const;
private:
bool getHVTangents(const ON_Curve *curve, ON_Interval &t, std::list<fastf_t> &list);
bool isLinear(const ON_Curve *curve, double min, double max);
BRNode *subdivideCurve(const ON_Curve *curve, int adj_face_index, double min, double max, bool innerTrim, int depth);
BRNode *curveBBox(const ON_Curve *curve, int adj_face_index, ON_Interval &t, bool leaf, bool innerTrim, const ON_BoundingBox &bb);
BRNode *initialLoopBBox();
int depth() const;
const ON_BrepFace *m_face;
BRNode *m_root;
std::list<BRNode *> *m_sortedX;
bool getHVTangents(const ON_Curve *curve, const ON_Interval &t, std::list<fastf_t> &list) const;
bool isLinear(const ON_Curve *curve, double min, double max) const;
BRNode *subdivideCurve(const ON_Curve *curve, int adj_face_index, double min, double max, bool innerTrim, int depth) const;
BRNode *curveBBox(const ON_Curve *curve, int adj_face_index, const ON_Interval &t, bool isLeaf, bool innerTrim, const ON_BoundingBox &bb) const;
BRNode *initialLoopBBox() const;
const ON_BrepFace * const m_face;
BRNode * const m_root;
std::list<const BRNode *> * const m_sortedX;
};
+3 -3
View File
@@ -145,9 +145,9 @@ __BEGIN_DECLS
return true;
}
BREP_EXPORT void brep_get_plane_ray(ON_Ray &r, plane_ray &pr);
BREP_EXPORT void brep_r(const ON_Surface *surf, plane_ray &pr, pt2d_t uv, ON_3dPoint &pt, ON_3dVector &su, ON_3dVector &sv, pt2d_t R);
BREP_EXPORT void brep_newton_iterate(plane_ray &pr, pt2d_t R, ON_3dVector &su, ON_3dVector &sv, pt2d_t uv, pt2d_t out_uv);
BREP_EXPORT void brep_get_plane_ray(const ON_Ray &r, plane_ray &pr);
BREP_EXPORT void brep_r(const ON_Surface* surf, const plane_ray& pr, pt2d_t uv, ON_3dPoint& pt, ON_3dVector& su, ON_3dVector& sv, pt2d_t R);
BREP_EXPORT void brep_newton_iterate(const plane_ray& pr, pt2d_t R, const ON_3dVector& su, const ON_3dVector& sv, pt2d_t uv, pt2d_t out_uv);
BREP_EXPORT void utah_ray_planes(const ON_Ray &r, ON_3dVector &p1, double &p1d, ON_3dVector &p2, double &p2d);
__END_DECLS
+20 -20
View File
@@ -54,16 +54,10 @@ extern "C++" {
* SurfaceTree declaration
*/
class BREP_EXPORT SurfaceTree {
private:
bool m_removeTrimmed;
public:
SurfaceTree();
SurfaceTree(const ON_BrepFace *face, bool removeTrimmed = true, int depthLimit = BREP_MAX_FT_DEPTH, double within_distance_tol = BREP_EDGE_MISS_TOLERANCE);
explicit SurfaceTree(const ON_BrepFace *face, bool removeTrimmed = true, int depthLimit = BREP_MAX_FT_DEPTH, double within_distance_tol = BREP_EDGE_MISS_TOLERANCE);
~SurfaceTree();
CurveTree *ctree;
BBNode *getRootNode() const;
/**
@@ -71,32 +65,38 @@ extern "C++" {
* estimate for the closest point on the surface to the point in
* 3-space.
*/
ON_2dPoint getClosestPointEstimate(const ON_3dPoint &pt);
ON_2dPoint getClosestPointEstimate(const ON_3dPoint &pt, ON_Interval &u, ON_Interval &v);
ON_2dPoint getClosestPointEstimate(const ON_3dPoint &pt) const;
ON_2dPoint getClosestPointEstimate(const ON_3dPoint &pt, ON_Interval &u, ON_Interval &v) const;
/**
* Return surface
*/
const ON_Surface *getSurface();
const ON_Surface *getSurface() const;
int getSurfacePoint(const ON_3dPoint &pt, ON_2dPoint &uv, const ON_3dPoint &from, double tolerance = BREP_SAME_POINT_TOLERANCE) const;
/**
* Return just the leaves of the surface tree
*/
void getLeaves(std::list<BBNode *> &out_leaves);
int depth();
void getLeaves(std::list<const BBNode *> &out_leaves) const;
const CurveTree *m_ctree;
private:
bool isFlat(ON_Plane frames[]);
bool isStraight(ON_Plane frames[]);
bool isFlatU(ON_Plane frames[]);
bool isFlatV(ON_Plane frames[]);
BBNode *subdivideSurface(const ON_Surface *localsurf, const ON_Interval &u, const ON_Interval &v, ON_Plane frames[], int depth, int depthLimit, int prev_knot, double within_distance_tol);
BBNode *surfaceBBox(const ON_Surface *localsurf, bool leaf, ON_Plane frames[], const ON_Interval &u, const ON_Interval &v, double within_distance_tol);
SurfaceTree(const SurfaceTree &source);
SurfaceTree &operator=(const SurfaceTree &source);
const ON_BrepFace *m_face;
int depth() const;
bool isFlat(const ON_Plane frames[9]) const;
bool isStraight(const ON_Plane frames[9]) const;
bool isFlatU(const ON_Plane frames[9]) const;
bool isFlatV(const ON_Plane frames[9]) const;
BBNode *subdivideSurface(const ON_Surface *localsurf, const ON_Interval &u, const ON_Interval &v, ON_Plane frames[9], int depth, int depthLimit, int prev_knot, double within_distance_tol) const;
BBNode *surfaceBBox(const ON_Surface *localsurf, bool leaf, const ON_Plane frames[9], const ON_Interval &u, const ON_Interval &v, double within_distance_tol) const;
const bool m_removeTrimmed;
const ON_BrepFace * const m_face;
BBNode *m_root;
std::queue<ON_Plane *> *f_queue;
std::queue<ON_Plane *> * const m_f_queue;
};
} /* namespace brlcad */
+4 -24
View File
@@ -98,19 +98,6 @@
#endif /* PATH_SEPARATOR */
/**
* @def BU_FLSTR
*
* Macro for getting a concatenated string of the current file and
* line number. Produces something of the form: "filename.c"":""1234"
*/
#define bu_cpp_str(s) # s
#define bu_cpp_xstr(s) bu_cpp_str(s)
#define bu_cpp_glue(a, b) a ## b
#define bu_cpp_xglue(a, b) bu_cpp_glue(a, b)
#define BU_FLSTR __FILE__ ":" bu_cpp_xstr(__LINE__)
/**
* shorthand declaration of a printf-style functions
*/
@@ -133,22 +120,15 @@
/**
* shorthand declaration of a function that doesn't return
*/
#ifdef HAVE_NORETURN_ATTRIBUTE
#if defined(HAVE_NORETURN_ATTRIBUTE) && defined(HAVE_ANALYZER_NORETURN_ATTRIBUTE)
/* clang static analyzer is needing an additional flag set */
# define _BU_ATTR_NORETURN __attribute__((__noreturn__)) __attribute__((analyzer_noreturn))
#elif defined(HAVE_NORETURN_ATTRIBUTE)
# define _BU_ATTR_NORETURN __attribute__((__noreturn__))
#else
# define _BU_ATTR_NORETURN
#endif
/* For the moment, we need to specially flag some functions
* for clang. It's not clear if we will always need to do
* this, but for now this suppresses a lot of noise in the
* reports */
#ifdef HAVE_ANALYZER_NORETURN_ATTRIBUTE
# define _BU_ATTR_ANALYZE_NORETURN __attribute__((analyzer_noreturn))
#else
# define _BU_ATTR_ANALYZE_NORETURN
#endif
/**
* shorthand declaration of a function that should always be inline
*/
+7 -6
View File
@@ -133,7 +133,7 @@ BU_EXPORT extern int bu_file_delete(const char *path);
* 'matches' array, and followed by a terminating NULL entry.
*
* If '*matches' is NULL, the caller is expected to free the matches
* array with bu_free_argv() If '*matches' is non-NULL (i.e., string
* array with bu_argv_free() If '*matches' is non-NULL (i.e., string
* array is already allocated or on the stack), the caller is expected
* to ensure adequate entries are allocated and call bu_free_array()
* to clean up. If 'matches' is NULL, no entries will be allocated or
@@ -219,13 +219,14 @@ BU_EXPORT extern int bu_file_mime_int(const char *str);
/**
* Returns the number of directory entries for a given path matching
* an optional glob pattern. If the caller provides a pointer to an
* argv-style 'files' array, this function will allocate the array
* with dynamically allocated strings for any matching file(s).
* argv-style 'files' array, this function will dynamically allocate
* an array of strings, filled with the sorted listing of matching
* file(s).
*
* It is the caller's responsibility to free a non-NULL 'files' array
* with bu_free_argv().
* It is the caller's responsibility to free a non-NULL array with
* bu_argv_free().
*/
BU_EXPORT extern size_t bu_dir_list(const char *path, const char *pattern, char ***files);
BU_EXPORT extern size_t bu_file_list(const char *path, const char *pattern, char ***files);
/**
* Call canonicalization routines to both expand and validate
+7
View File
@@ -46,6 +46,7 @@ __BEGIN_DECLS
typedef struct bu_hash_entry bu_hash_entry;
typedef struct bu_hash_tbl bu_hash_tbl;
/**
* Create and initialize a hash table. The input is the number of desired hash
* bins. This number will be rounded up to the nearest power of two, or a
@@ -53,6 +54,7 @@ typedef struct bu_hash_tbl bu_hash_tbl;
*/
BU_EXPORT extern bu_hash_tbl *bu_hash_create(unsigned long tbl_size);
/**
* Free all the memory associated with the specified hash table.
*
@@ -61,6 +63,7 @@ BU_EXPORT extern bu_hash_tbl *bu_hash_create(unsigned long tbl_size);
*/
BU_EXPORT extern void bu_hash_destroy(bu_hash_tbl *t);
/**
* Get the value stored in the hash table entry corresponding to the provided key
*
@@ -74,6 +77,7 @@ BU_EXPORT extern void bu_hash_destroy(bu_hash_tbl *t);
*/
BU_EXPORT extern void *bu_hash_get(const bu_hash_tbl *t, const uint8_t *key, size_t key_len);
/**
* Set the value stored in the hash table entry corresponding to the provided
* key to val, or if no entry corresponding to the provided key exists create a
@@ -99,6 +103,7 @@ BU_EXPORT extern void *bu_hash_get(const bu_hash_tbl *t, const uint8_t *key, siz
*/
BU_EXPORT extern int bu_hash_set(bu_hash_tbl *t, const uint8_t *key, size_t key_len, void *val);
/**
* Remove the hash table entry associated with key from the table.
*
@@ -108,6 +113,7 @@ BU_EXPORT extern int bu_hash_set(bu_hash_tbl *t, const uint8_t *key, size_t key_
*/
BU_EXPORT extern void bu_hash_rm(bu_hash_tbl *t, const uint8_t *key, size_t key_len);
/**
* Supports iteration of all the contents in a hash table.
*
@@ -131,6 +137,7 @@ BU_EXPORT extern void bu_hash_rm(bu_hash_tbl *t, const uint8_t *key, size_t key_
*/
BU_EXPORT extern bu_hash_entry *bu_hash_next(bu_hash_tbl *t, bu_hash_entry *p);
/**
* Supports iteration of all the contents in a hash table.
*
+2 -2
View File
@@ -177,7 +177,7 @@ BU_EXPORT extern void bu_bomb_add_hook(bu_hook_t func, void *clientdata);
* This routine should never return unless there is a BU_SETJUMP()
* handler registered.
*/
BU_EXPORT extern void bu_bomb(const char *str)_BU_ATTR_ANALYZE_NORETURN _BU_ATTR_NORETURN;
BU_EXPORT extern void bu_bomb(const char *str) _BU_ATTR_NORETURN;
/**
* Semi-graceful termination of the application that doesn't cause a
@@ -191,7 +191,7 @@ BU_EXPORT extern void bu_bomb(const char *str)_BU_ATTR_ANALYZE_NORETURN _BU_ATTR
*
* This routine should never return.
*/
BU_EXPORT extern void bu_exit(int status, const char *fmt, ...) _BU_ATTR_ANALYZE_NORETURN _BU_ATTR_NORETURN _BU_ATTR_PRINTF23;
BU_EXPORT extern void bu_exit(int status, const char *fmt, ...) _BU_ATTR_NORETURN _BU_ATTR_PRINTF23;
/**
* @brief
+1 -1
View File
@@ -247,7 +247,7 @@ __BEGIN_DECLS
/**
* Support routine for BU_CKMAG macro.
*/
BU_EXPORT extern void bu_badmagic(const uint32_t *ptr, uint32_t magic, const char *str, const char *file, int line) _BU_ATTR_ANALYZE_NORETURN;
BU_EXPORT extern void bu_badmagic(const uint32_t *ptr, uint32_t magic, const char *str, const char *file, int line) _BU_ATTR_NORETURN;
/** @brief Routines involved with handling "magic numbers" used to identify various in-memory data structures. */
+4 -13
View File
@@ -84,15 +84,6 @@ BU_EXPORT extern void *bu_realloc(void *ptr,
size_t siz,
const char *str);
/**
* overflow checking version of realloc for arrays, based on OpenBSD's
* reallocarray.
*/
BU_EXPORT extern void *bu_reallocarray(void *optr,
size_t nmemb,
size_t size,
const char *str);
/**
* Print map of memory currently in use.
*/
@@ -222,7 +213,7 @@ BU_EXPORT extern int bu_shmget(int *shmid, char **shared_memory, int key, size_t
#if 0
#define BU_GET(_ptr, _type) _ptr = (_type *)bu_heap_get(sizeof(_type))
#else
#define BU_GET(_ptr, _type) _ptr = (_type *)bu_calloc(1, sizeof(_type), #_type " (BU_GET) " BU_FLSTR)
#define BU_GET(_ptr, _type) _ptr = (_type *)bu_calloc(1, sizeof(_type), #_type " (BU_GET) " CPP_FILELINE)
#endif
/**
@@ -236,7 +227,7 @@ BU_EXPORT extern int bu_shmget(int *shmid, char **shared_memory, int key, size_t
#if 0
#define BU_PUT(_ptr, _type) *(uint8_t *)(_type *)(_ptr) = /*zap*/ 0; bu_heap_put(_ptr, sizeof(_type)); _ptr = NULL
#else
#define BU_PUT(_ptr, _type) do { *(uint8_t *)(_type *)(_ptr) = /*zap*/ 0; bu_free(_ptr, #_type " (BU_PUT) " BU_FLSTR); _ptr = NULL; } while (0)
#define BU_PUT(_ptr, _type) do { *(uint8_t *)(_type *)(_ptr) = /*zap*/ 0; bu_free(_ptr, #_type " (BU_PUT) " CPP_FILELINE); _ptr = NULL; } while (0)
#endif
/**
@@ -244,13 +235,13 @@ BU_EXPORT extern int bu_shmget(int *shmid, char **shared_memory, int key, size_t
* Not intended for performance-critical code. Release memory
* acquired with bu_free() or BU_FREE() to dealloc and set NULL.
*/
#define BU_ALLOC(_ptr, _type) _ptr = (_type *)bu_calloc(1, sizeof(_type), #_type " (BU_ALLOC) " BU_FLSTR)
#define BU_ALLOC(_ptr, _type) _ptr = (_type *)bu_calloc(1, sizeof(_type), #_type " (BU_ALLOC) " CPP_FILELINE)
/**
* Convenience macro for deallocating a single structure allocated on
* the heap (with bu_malloc(), bu_calloc(), BU_ALLOC()).
*/
#define BU_FREE(_ptr, _type) do { bu_free(_ptr, #_type " (BU_FREE) " BU_FLSTR); _ptr = (_type *)NULL; } while (0)
#define BU_FREE(_ptr, _type) do { bu_free(_ptr, #_type " (BU_FREE) " CPP_FILELINE); _ptr = (_type *)NULL; } while (0)
/** @} */
+1 -1
View File
@@ -176,7 +176,7 @@ BU_EXPORT extern int bu_path_component(struct bu_vls *component,
* Given a path string, separate the path elements into a dynamically
* allocated argv array with the path separators removed. It is the
* caller's responsibility to free the array that is returned as well
* as all elements in the array using bu_free_argv() or manually
* as all elements in the array using bu_argv_free() or manually
* calling bu_free().
*/
BU_EXPORT extern char **bu_argv_from_path(const char *path, int *ac);
+12 -10
View File
@@ -93,14 +93,17 @@ typedef struct bu_ptbl bu_ptbl_t;
/*
* For those routines that have to "peek" into the ptbl a little bit.
*/
#define BU_PTBL_BASEADDR(ptbl) ((ptbl)->buffer)
#define BU_PTBL_LASTADDR(ptbl) ((ptbl)->buffer + (ptbl)->end - 1)
#define BU_PTBL_END(ptbl) ((ptbl)->end)
#define BU_PTBL_LEN(ptbl) ((size_t)(ptbl)->end)
#define BU_PTBL_GET(ptbl, i) ((ptbl)->buffer[(i)])
#define BU_PTBL_LEN(ptbl) (((uintptr_t)(ptbl) != (uintptr_t)NULL)?(size_t)(ptbl)->end:0)
#define BU_PTBL_TEST(ptbl) (((uintptr_t)(ptbl) != (uintptr_t)NULL)?(ptbl)->l.magic == BU_PTBL_MAGIC:0)
#define BU_PTBL_GET(ptbl, i) ((ptbl)->buffer[(i)])
#define BU_PTBL_SET(ptbl, i, val) ((ptbl)->buffer[(i)] = (long*)(val))
#define BU_PTBL_TEST(ptbl) ((ptbl)->l.magic == BU_PTBL_MAGIC)
#define BU_PTBL_CLEAR_I(_ptbl, _i) ((_ptbl)->buffer[(_i)] = (long *)0)
/** DEPRECATED */
#define BU_PTBL_END(ptbl) ((ptbl)->end)
/** DEPRECATED */
#define BU_PTBL_BASEADDR(ptbl) (((uintptr_t)(ptbl) != (uintptr_t)NULL)?(ptbl)->buffer:NULL)
/** DEPRECATED */
#define BU_PTBL_LASTADDR(ptbl) (((uintptr_t)(ptbl) != (uintptr_t)NULL)?(ptbl)->buffer + (ptbl)->end - 1:NULL)
/**
* A handy way to visit all the elements of the table is:
@@ -227,10 +230,9 @@ BU_EXPORT extern void bu_pr_ptbl(const char *title,
int verbose);
/**
* truncate a bu_ptbl
* truncate a bu_ptbl to the specified size.
*/
BU_EXPORT extern void bu_ptbl_trunc(struct bu_ptbl *tbl,
int end);
BU_EXPORT extern void bu_ptbl_trunc(struct bu_ptbl *tbl, size_t end);
/** @} */
+8 -8
View File
@@ -44,7 +44,7 @@ __BEGIN_DECLS
* file name and line number of any erroneous callers.
*/
BU_EXPORT extern size_t bu_strlcatm(char *dst, const char *src, size_t size, const char *label);
#define bu_strlcat(dst, src, size) bu_strlcatm(dst, src, size, BU_FLSTR)
#define bu_strlcat(dst, src, size) bu_strlcatm(dst, src, size, CPP_FILELINE)
/**
* copies one string into another, returning the length of the dst
@@ -54,7 +54,7 @@ BU_EXPORT extern size_t bu_strlcatm(char *dst, const char *src, size_t size, con
* file name and line number of any erroneous callers.
*/
BU_EXPORT extern size_t bu_strlcpym(char *dst, const char *src, size_t size, const char *label);
#define bu_strlcpy(dst, src, size) bu_strlcpym(dst, src, size, BU_FLSTR)
#define bu_strlcpy(dst, src, size) bu_strlcpym(dst, src, size, CPP_FILELINE)
/**
* Given a string, allocate enough memory to hold it using
@@ -65,7 +65,7 @@ BU_EXPORT extern size_t bu_strlcpym(char *dst, const char *src, size_t size, con
* number that can be used when bu debugging is enabled.
*/
BU_EXPORT extern char *bu_strdupm(const char *cp, const char *label);
#define bu_strdup(s) bu_strdupm(s, BU_FLSTR)
#define bu_strdup(s) bu_strdupm(s, CPP_FILELINE)
/**
* Compares two strings for equality. It performs the comparison more
@@ -304,10 +304,10 @@ BU_EXPORT extern int bu_argv_from_tcl_list(const char *list_str,
/**
* Deallocate all strings in a given argv array and the array itself
*
* This call presumes the array has been allocated with bu_dup_argv()
* This call presumes the array has been allocated with bu_argv_dup()
* or bu_argv_from_path().
*/
BU_EXPORT extern void bu_free_argv(size_t argc, char *argv[]);
BU_EXPORT extern void bu_argv_free(size_t argc, char *argv[]);
/**
* free up to argc elements of memory allocated to an array without
@@ -321,9 +321,9 @@ BU_EXPORT extern void bu_free_array(size_t argc, char *argv[], const char *str);
* Duplicate an argv array by duplicating all strings and the array
* itself. It is the caller's responsibility to free the array
* returned including all elements in the array by calling bu_free()
* or bu_free_argv().
* or bu_argv_free().
*/
BU_EXPORT extern char **bu_dup_argv(size_t argc, const char *argv[]);
BU_EXPORT extern char **bu_argv_dup(size_t argc, const char *argv[]);
/**
* Combine two argv arrays into one new (duplicated) argv array.
@@ -335,7 +335,7 @@ BU_EXPORT extern char **bu_dup_argv(size_t argc, const char *argv[]);
* the insert argument is the position where the insertArgv array
* elements will be merged with the specified argv array.
*/
BU_EXPORT extern char **bu_dupinsert_argv(int insert, size_t insertArgc, const char *insertArgv[], size_t argc, const char *argv[]);
BU_EXPORT extern char **bu_argv_dupinsert(int insert, size_t insertArgc, const char *insertArgv[], size_t argc, const char *argv[]);
__END_DECLS
+1 -1
View File
@@ -50,7 +50,7 @@ bu_uuid_create(uint8_t uuid[STATIC_ARRAY(16)], size_t nbytes, uint8_t *bytes);
/**
* This is a convenience UUID comparison routine compatible with
* stdlib sorting functions (e.g., qsort()). The function expects
* stdlib sorting functions (e.g., bu_sort()). The function expects
* both left and right UUIDs to be uint8_t[16] arrays.
*
* Returns:
+65 -8
View File
@@ -59,7 +59,7 @@
/* make sure lrint() is provided */
# if !defined(__cplusplus) && !defined(HAVE_LRINT) && defined(HAVE_WORKING_LRINT_MACRO)
# define lrint(_x) (((_x) < 0.0) ? ceil((_x)-0.5) : floor((_x)+0.5))
# define lrint(_x) (((_x) < 0.0) ? (long int)ceil((_x)-0.5) : (long int)floor((_x)+0.5))
# define HAVE_LRINT 1
# elif !defined(__cplusplus) && defined(HAVE_LRINT) && !defined(HAVE_DECL_LRINT)
long int lrint(double x);
@@ -69,12 +69,14 @@ long int lrint(double x);
#endif /* BRLCADBUILD & HAVE_CONFIG_H */
/* provide declaration markers for header externals */
#ifdef __cplusplus
# define __BEGIN_DECLS extern "C" { /**< if C++, set to extern "C" { */
# define __END_DECLS } /**< if C++, set to } */
#else
# define __BEGIN_DECLS /**< if C++, set to extern "C" { */
# define __END_DECLS /**< if C++, set to } */
#ifndef __BEGIN_DECLS
# ifdef __cplusplus
# define __BEGIN_DECLS extern "C" { /**< if C++, set to extern "C" { */
# define __END_DECLS } /**< if C++, set to } */
# else
# define __BEGIN_DECLS /**< if C++, set to extern "C" { */
# define __END_DECLS /**< if C++, set to } */
# endif
#endif
/**
@@ -311,7 +313,7 @@ typedef ptrdiff_t ssize_t;
* have to add it for them
*/
#if defined(_MSC_VER) && defined(__STDC__)
#include <tchar.h>
# include <tchar.h>
/* MSVC++ misses this. */
typedef _TCHAR TCHAR;
#endif
@@ -392,6 +394,61 @@ typedef ptrdiff_t ssize_t;
#define EXTERNVARINIT
#endif
/**
* Provide canonical preprocessor stringification.
*
* #define abc 123
* CPP_STR(abc) => "abc"
*/
#ifndef CPP_STR
# define CPP_STR(x) # x
#endif
/**
* Provide canonical preprocessor expanded stringification.
*
* #define abc 123
* CPP_XSTR(abc) => "123"
*/
#ifndef CPP_XSTR
# define CPP_XSTR(x) CPP_STR(x)
#endif
/**
* Provide canonical preprocessor concatenation.
*
* #define abc 123
* CPP_GLUE(abc, 123) => abc123
* CPP_STR(CPP_GLUE(abc, 123)) => "CPP_GLUE(abc, 123)"
* CPP_XSTR(CPP_GLUE(abc, 123)) => "abc123"
* #define abc123 "xyz"
* CPP_GLUE(abc, 123) => abc123 => "xyz"
*/
#ifndef CPP_GLUE
# define CPP_GLUE(a, b) a ## b
#endif
/**
* Provide canonical preprocessor expanded concatenation.
*
* #define abc 123
* CPP_XGLUE(abc, 123) => 123123
* CPP_STR(CPP_XGLUE(abc, 123)) => "CPP_XGLUE(abc, 123)"
* CPP_XSTR(CPP_XGLUE(abc, 123)) => "123123"
*/
#ifndef CPP_XGLUE
# define CPP_XGLUE(a, b) CPP_GLUE
#endif
/**
* Provide the current filename and linenumber as a static
* preprocessor string in "file"":""line" format (e.g., "file:123").
*/
#ifndef CPP_FILELINE
# define CPP_FILELINE __FILE__ ":" CPP_XSTR(__LINE__)
#endif
#endif /* COMMON_H */
/** @} */
+1 -1
View File
@@ -1 +1 @@
25
26
+1 -1
View File
@@ -1 +1 @@
0
1
+3 -1
View File
@@ -118,7 +118,8 @@ struct gcv_opts
/**
* Assign default option values.
*/
void gcv_opts_default(struct gcv_opts *gcv_options);
GCV_EXPORT void
gcv_opts_default(struct gcv_opts *gcv_options);
/**
@@ -182,6 +183,7 @@ struct gcv_plugin {
*/
GCV_EXPORT const struct bu_ptbl *gcv_list_filters(void);
GCV_EXPORT const struct gcv_plugin *gcv_plugin_info();
/**
* Perform a filtering operation on a gcv_context.
+1 -1
View File
@@ -59,7 +59,7 @@ GED_EXPORT extern int ged_rtwizard(struct ged *gedp, int argc, const char *argv[
GED_EXPORT extern int ged_preview(struct ged *gedp, int argc, const char *argv[]);
/**
* Save keyframe in file (experimental)
* Save keyframe in file
*/
GED_EXPORT extern int ged_savekey(struct ged *gedp, int argc, const char *argv[]);
-16
View File
@@ -70,17 +70,6 @@ GED_EXPORT extern void dl_erasePathFromDisplay(struct bu_list *hdlp,
int allow_split,
struct solid *freesolid);
GED_EXPORT extern struct display_list *dl_addToDisplay(struct bu_list *hdlp, struct db_i *dbip, const char *name);
/* When finalized, this stuff belongs in a header file of its own */
struct polygon_header {
uint32_t magic; /* magic number */
int ident; /* identification number */
int interior; /* >0 => interior loop, gives ident # of exterior loop */
vect_t normal; /* surface normal */
unsigned char color[3]; /* Color from containing region */
int npts; /* number of points */
};
#define POLYGON_HEADER_MAGIC 0x8623bad2
GED_EXPORT extern void dl_polybinout(struct bu_list *hdlp, struct polygon_header *ph, FILE *fp);
GED_EXPORT extern int invent_solid(struct bu_list *hdlp, struct db_i *dbip, void (*callback_create)(struct solid *), void (*callback_free)(unsigned int, int), char *name, struct bu_list *vhead, long int rgb, int copy, fastf_t transparency, int dmode, struct solid *freesolid, int csoltab);
@@ -121,11 +110,6 @@ GED_EXPORT extern int ged_plot(struct ged *gedp, int argc, const char *argv[]);
GED_EXPORT extern int ged_png(struct ged *gedp, int argc, const char *argv[]);
GED_EXPORT extern int ged_screen_grab(struct ged *gedp, int argc, const char *argv[]);
/**
* Write out polygons (binary) of the currently displayed geometry.
*/
GED_EXPORT extern int ged_polybinout(struct ged *gedp, int argc, const char *argv[]);
/**
* Create a postscript file of the view.
*/
-5
View File
@@ -161,11 +161,6 @@ GED_EXPORT extern int ged_pmat(struct ged *gedp, int argc, const char *argv[]);
*/
GED_EXPORT extern int ged_pmodel2view(struct ged *gedp, int argc, const char *argv[]);
/**
* Set point of view
*/
GED_EXPORT extern int ged_pov(struct ged *gedp, int argc, const char *argv[]);
/**
* Get/set the view orientation using a quaternion
*/
-19
View File
@@ -68,25 +68,6 @@ struct shadework {
fastf_t sw_frametime; /**< @brief frame time delta off 1st frame */
fastf_t sw_pixeltime; /**< @brief pixel time delta off 1st pixel of 1st frame */
struct seg * sw_segs; /**< @brief segs which made partition */
/*
* The following is experimental. DO NOT USE
*/
#define SW_SET_TRANSMIT 0x01
#define SW_SET_REFLECT 0x02
#define SW_SET_REFRAC_INDEX 0x04
#define SW_SET_EXTINCTION 0x10
#define SW_SET_AMBIENT 0x20
#define SW_SET_EMISSION 0x40
int sw_phong_set_vector;
fastf_t sw_phong_transmit;
fastf_t sw_phong_reflect;
fastf_t sw_phong_ri;
fastf_t sw_phong_extinction;
fastf_t sw_phong_ambient;
fastf_t sw_phong_emission;
/*
* End of experimental
*/
};
__BEGIN_DECLS
+4 -1
View File
@@ -67,7 +67,10 @@ RT_EXPORT extern int rt_comb_describe(struct bu_vls *str,
/**
* fills in rgb with the color for a given comb combination
*
* returns truthfully if a color could be got
* returns truthfully if a color could be got. note that this routine
* will not (and cannot) handle the color inherit/override flag as
* that is set on some higher-level parent combination.
*
*/
RT_EXPORT extern int rt_comb_get_color(unsigned char rgb[3], const struct rt_comb_internal *comb);
-7
View File
@@ -177,13 +177,6 @@ RT_EXPORT extern int rt_obj_params(struct pc_pc_set *ps, const struct rt_db_inte
*/
RT_EXPORT extern int rt_obj_mirror(struct rt_db_internal *ip, const plane_t *plane);
/**
* reduce an object into some form of simpler representation
*/
RT_EXPORT extern void rt_obj_reduce(struct rt_db_internal *dest, const struct rt_db_internal *ip, fastf_t reduction_level, unsigned flags);
#define RT_OBJ_REDUCE_PRESERVE_VOLUME 0x1
__END_DECLS
#endif /* RTFUNC_H */
+12
View File
@@ -69,6 +69,18 @@ rt_generate_mesh(int **faces, int *num_faces, point_t **points, int *num_pnts,
RT_EXPORT extern void rt_generic_make(const struct rt_functab *ftp, struct rt_db_internal *intern);
/**
* reduce an object into some form of simpler representation
*/
RT_EXPORT extern void rt_reduce_obj(struct rt_db_internal *dest, const struct rt_db_internal *ip, fastf_t reduction_level, unsigned flags);
#define RT_REDUCE_OBJ_PRESERVE_VOLUME 0x1
/**
* reduce the database hierarchy
*/
RT_EXPORT extern void rt_reduce_db(struct db_i *db, size_t num_preserved_attributes, const char * const * preserved_attributes, const struct bu_ptbl *preserved_combs_dirs);
__END_DECLS
#endif /* RT_MISC_H */
+8 -8
View File
@@ -109,18 +109,18 @@ struct hitmiss {
case NMG_RT_MISS_MAGIC: \
break; \
case NMG_MISS_LIST: \
bu_log(BU_FLSTR ": struct hitmiss has NMG_MISS_LIST magic #\n"); \
bu_log(CPP_FILELINE ": struct hitmiss has NMG_MISS_LIST magic #\n"); \
bu_bomb("NMG_CK_HITMISS: going down in flames\n"); \
case NMG_HIT_LIST: \
bu_log(BU_FLSTR ": struct hitmiss has NMG_MISS_LIST magic #\n"); \
bu_log(CPP_FILELINE ": struct hitmiss has NMG_MISS_LIST magic #\n"); \
bu_bomb("NMG_CK_HITMISS: going down in flames\n"); \
default: \
bu_log(BU_FLSTR ": bad struct hitmiss magic: %u:(0x%08x)\n", \
bu_log(CPP_FILELINE ": bad struct hitmiss magic: %u:(0x%08x)\n", \
hm->l.magic, hm->l.magic); \
bu_bomb("NMG_CK_HITMISS: going down in flames\n"); \
}\
if (!hm->hit.hit_private) { \
bu_log(BU_FLSTR ": NULL hit_private in hitmiss struct\n"); \
bu_log(CPP_FILELINE ": NULL hit_private in hitmiss struct\n"); \
bu_bomb("NMG_CK_HITMISS: going down in flames\n"); \
} \
}
@@ -261,7 +261,7 @@ struct nmg_inter_struct {
struct bu_ptbl *l2; /**< @brief intersection between planes */
fastf_t *mag1; /**< @brief Distances along intersection line */
fastf_t *mag2; /**< @brief for each vertexuse in l1 and l2. */
int mag_len; /**< @brief Array size of mag1 and mag2 */
size_t mag_len; /**< @brief Array size of mag1 and mag2 */
struct shell *s1;
struct shell *s2;
struct faceuse *fu1; /**< @brief null if l1 comes from a wire */
@@ -274,7 +274,7 @@ struct nmg_inter_struct {
point_t pt2d; /**< @brief 2D projection of isect line */
vect_t dir2d;
fastf_t *vert2d; /**< @brief Array of 2d vertex projections [index] */
int maxindex; /**< @brief size of vert2d[] */
size_t maxindex; /**< @brief size of vert2d[] */
mat_t proj; /**< @brief Matrix to project onto XY plane */
const uint32_t *twod; /**< @brief ptr to face/edge of 2d projection */
};
@@ -685,8 +685,8 @@ RT_EXPORT extern void nmg_ck_fu(const struct shell *s,
const char *str);
RT_EXPORT extern int nmg_ck_eg_verts(const struct edge_g_lseg *eg,
const struct bn_tol *tol);
RT_EXPORT extern int nmg_ck_geometry(const struct model *m,
const struct bn_tol *tol);
RT_EXPORT extern size_t nmg_ck_geometry(const struct model *m,
const struct bn_tol *tol);
RT_EXPORT extern int nmg_ck_face_worthless_edges(const struct faceuse *fu);
RT_EXPORT extern void nmg_ck_lueu(const struct loopuse *lu, const char *s);
RT_EXPORT extern int nmg_check_radial(const struct edgeuse *eu, const struct bn_tol *tol);
-29
View File
@@ -154,35 +154,6 @@ RT_EXPORT extern size_t db_ls(const struct db_i *dbip,
globbing rules (default) */
/* db_glob.c */
/* These are general globbing flags. */
#define DB_GLOB_HIDDEN 0x1 /**< @brief include hidden objects in results */
#define DB_GLOB_NON_GEOM 0x2 /**< @brief include non-geometry objects in results */
#define DB_GLOB_SKIP_FIRST 0x4 /**< @brief do not expand the first item */
/**
* db_glob takes a string and expands wildcard patterns in the string by
* matching object names in the database instance dbip according to globbing
* rules (see bu_fnmatch).
*
* The caller is responsible for providing a non-null vls destination buffer.
*
* Returns -
* number of dbip objects added to string
* expanded string in dest bu_vls
*
* TODO - use flags for skip first, do/don't expand hidden, etc.
*
* Note - deliberately did not name this fuction db_glob - probably want a more
* powerful globbing API than just strings for more general usage...
*/
RT_EXPORT int
db_expand_str_glob(struct bu_vls *dest, const char *input, struct db_i *dbip, int skip_first);
/***************************************************************
* DEPRECATED - all structures and functions below this notice
* are replaced by functionality above. Remove after 7.27.0
+100
View File
@@ -0,0 +1,100 @@
# F I N D G E C O D E . C M A K E
# BRL-CAD
#
# Copyright (c) 2011-2014 United States Government as represented by
# the U.S. Army Research Laboratory.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
#
# 1. Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
#
# 2. Redistributions in binary form must reproduce the above
# copyright notice, this list of conditions and the following
# disclaimer in the documentation and/or other materials provided
# with the distribution.
#
# 3. The name of the author may not be used to endorse or promote
# products derived from this software without specific prior written
# permission.
#
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
# OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
# GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#
###
# - Find Gecode constraint programming libraries
#
# The following variables are set:
#
# GECODE_INCLUDE_DIR
# GECODE_LIBRARIES
find_path(GECODE_INCLUDE_DIR gecode/search.hh)
find_library(GECODE_SUPPORT_LIB NAMES gecodesupport)
find_library(GECODE_KERNEL_LIB NAMES gecodekernel)
find_library(GECODE_SEARCH_LIB NAMES gecodesearch)
find_library(GECODE_INT_LIB NAMES gecodeint)
find_library(GECODE_SET_LIB NAMES gecodeset)
find_library(GECODE_FLOAT_LIB NAMES gecodefloat)
find_library(GECODE_MINIMODEL_LIB NAMES gecodeminimodel)
find_library(GECODE_DRIVER_LIB NAMES gecodedriver)
find_library(GECODE_FLATZINC_LIB NAMES gecodeflatzinc)
set(GECODE_LIBRARIES
${GECODE_SUPPORT_LIB}
${GECODE_KERNEL_LIB}
${GECODE_SEARCH_LIB}
${GECODE_INT_LIB}
${GECODE_SET_LIB}
${GECODE_FLOAT_LIB}
${GECODE_MINIMODEL_LIB}
${GECODE_DRIVER_LIB}
${GECODE_FLATZINC_LIB}
)
set(GECODE_LIBRARIES "${GECODE_LIBRARIES}" CACHE STRING "Gecode libraries")
include(FindPackageHandleStandardArgs)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(GECODE DEFAULT_MSG
GECODE_SUPPORT_LIB
GECODE_KERNEL_LIB
GECODE_SEARCH_LIB
GECODE_INT_LIB
GECODE_SET_LIB
GECODE_FLOAT_LIB
GECODE_MINIMODEL_LIB
GECODE_DRIVER_LIB
GECODE_FLATZINC_LIB
)
mark_as_advanced(
GECODE_SUPPORT_LIB
GECODE_KERNEL_LIB
GECODE_SEARCH_LIB
GECODE_INT_LIB
GECODE_SET_LIB
GECODE_FLOAT_LIB
GECODE_MINIMODEL_LIB
GECODE_DRIVER_LIB
GECODE_FLATZINC_LIB
)
# Local Variables:
# tab-width: 8
# mode: cmake
# indent-tabs-mode: t
# End:
# ex: shiftwidth=2 tabstop=8
+3 -3
View File
@@ -660,7 +660,7 @@ Function installdesktopicons
SetOutPath $INSTDIR
CreateShortCut "$DESKTOP\Archer.lnk" "$INSTDIR\bin\archer.exe" "" "$INSTDIR\@CPACK_DATA_DIR@\icons\archer.ico" 0
CreateShortCut "$DESKTOP\MGED.lnk" "$INSTDIR\bin\mged.bat" "" "$INSTDIR\@CPACK_DATA_DIR@\icons\brlcad.ico" 0
CreateShortCut "$DESKTOP\RtWizard.lnk" "$INSTDIR\bin\rtwizard.bat" "" "$INSTDIR\@CPACK_DATA_DIR@\icons\brlcad.ico" 0
CreateShortCut "$DESKTOP\RtWizard.lnk" "$INSTDIR\bin\rtwizard.exe" "" "$INSTDIR\@CPACK_DATA_DIR@\icons\brlcad.ico" 0
FunctionEnd
Section "-Core installation"
@@ -721,9 +721,9 @@ Section "-Core installation"
CreateDirectory "$SMPROGRAMS\$STARTMENU_FOLDER"
@CPACK_NSIS_CREATE_ICONS@
@CPACK_NSIS_CREATE_ICONS_EXTRA@
CreateShortCut "$SMPROGRAMS\$STARTMENU_FOLDER\Archer.lnk" "$INSTDIR\bin\archer.bat" "" "$INSTDIR\@CPACK_DATA_DIR@\icons\archer.ico" 0
CreateShortCut "$SMPROGRAMS\$STARTMENU_FOLDER\Archer.lnk" "$INSTDIR\bin\archer.exe" "" "$INSTDIR\@CPACK_DATA_DIR@\icons\archer.ico" 0
CreateShortCut "$SMPROGRAMS\$STARTMENU_FOLDER\MGED.lnk" "$INSTDIR\bin\mged.bat" "" "$INSTDIR\@CPACK_DATA_DIR@\icons\brlcad.ico" 0
CreateShortCut "$SMPROGRAMS\$STARTMENU_FOLDER\RtWizard.lnk" "$INSTDIR\bin\rtwizard.bat" "" "$INSTDIR\@CPACK_DATA_DIR@\icons\brlcad.ico" 0
CreateShortCut "$SMPROGRAMS\$STARTMENU_FOLDER\RtWizard.lnk" "$INSTDIR\bin\rtwizard.exe" "" "$INSTDIR\@CPACK_DATA_DIR@\icons\brlcad.ico" 0
CreateDirectory "$SMPROGRAMS\$STARTMENU_FOLDER\Manuals"
CreateShortCut "$SMPROGRAMS\$STARTMENU_FOLDER\Manuals\BRL-CAD.lnk" "$INSTDIR\@CPACK_DATA_DIR@\html\manuals\index.html" "" "$INSTDIR\brlcad.ico" 0
+263
View File
@@ -0,0 +1,263 @@
# A U T O H E A D E R . C M A K E
#
# BRL-CAD
#
# Copyright (c) 2011-2016 United States Government as represented by the U.S.
# Army Research Laboratory.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
#
# 1. Redistributions of source code must retain the above copyright notice,
# this list of conditions and the following disclaimer.
#
# 2. Redistributions in binary form must reproduce the above copyright notice,
# this list of conditions and the following disclaimer in the documentation
# and/or other materials provided with the distribution.
#
# 3. The name of the author may not be used to endorse or promote products
# derived from this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
# The purpose of this logic is to scan a set of C/C++ source files to identify
# all of the variables the CMake configure process may need to set.
# The global property C_DEFINE_VARS will hold the list of defined variables
# found.
# A user can suppress consideration of definitions that match one or a set of
# patterns by appending those patterns to the C_DEFINE_SKIPVARS global
# property. There are some "standard" patterns that are automatically skipped
# - tests matching the "header guard" pattern are skipped, as are defines
# matching the "EXPORT" and "IMPORT" substrings, operating system and compiler
# identifiers, and various other flags that do not typically need user-defined
# configure stage testing.
set_property(GLOBAL APPEND PROPERTY C_DEFINE_SKIPVARS ".*EXPORT.*")
set_property(GLOBAL APPEND PROPERTY C_DEFINE_SKIPVARS ".*IMPORT.*")
function(autoheader_ignore_define def)
set_property(GLOBAL APPEND PROPERTY C_DEFINE_SKIPVARS ".*[ (\t]+${def}[ )\t$]*.*")
endfunction(autoheader_ignore_define)
function(autoheader_ignore_defines deflist)
foreach(def ${${deflist}})
autoheader_ignore_define(${def})
endforeach(def ${${deflist}})
endfunction(autoheader_ignore_defines)
# OS flags. For performance, put most common
# comparisons first (that'll typicall be
# Windows related tests)
set(OS_FLAGS
WIN32
_WIN32
_WIN64
WIN32_LEAN_AND_MEAN
__WIN32__
__APPLE__
BSD
CRAY1
CRAY2
FREEBSD
MSDOS
SUNOS
SYSV
_WINSOCKAPI_
__CYGWIN__
__DOS__
__FreeBSD__
__MSDOS__
__NT__
__OS2__
__OpenBSD__
__alpha
__alpha__
__apollo
__convex__NATIVE
__hpux
__i386__
__ia64__
__linux__
__sgi
__sp3__ # what is this? context indicates it is a platform...
__sparc64__
__x86_64__
_sun
convex_NATIVE
eta10
ibm
linux
mips
sgi
sun
vax
)
# Compiler flags - again, group common tests at front.
set(COMPILER_FLAGS
__STDC__
_MSC_VER
__GNUC__
__GLIBC_MINOR__
__GLIBC__
!GCC_PREREQ
GCC_PREREQ
ICC_PREREQ
_CRAYC
__APPLE_CC__
__BORLANDC__
__clang__
__DECC
__INTEL_COMPILER
__MINGW32__
__STDC_VERSION__
__SUNPRO_C
__SUNPRO_CC
__TURBOC__
__USE_GNU
__WATCOMC__
__WATCOM_INT64__
__WATCOM__
)
# Language flags
set(LANG_FLAGS
__cplusplus
__OBJC__
)
# macros with define guards
set(MACRO_FLAGS
UNUSED
LIKELY
UNLIKELY
DEPRECATED
)
autoheader_ignore_defines(OS_FLAGS)
autoheader_ignore_defines(COMPILER_FLAGS)
autoheader_ignore_defines(LANG_FLAGS)
autoheader_ignore_defines(MACRO_FLAGS)
#get_property(C_DEFINE_SKIPVARS GLOBAL PROPERTY C_DEFINE_SKIPVARS)
#message("C_DEFINE_SKIPVARS: ${C_DEFINE_SKIPVARS}")
# Given a file and relative directory, construct the expected
# header guard ifdef string
macro(header_guard rdir fname ovar)
string(REPLACE "${rdir}/" "" stage1 ${fname})
string(REPLACE "/" "_" stage2 ${stage1})
string(REPLACE "." "_" stage3 ${stage2})
string(TOUPPER "${stage3}" stage4)
set(${ovar} ${stage4})
endmacro(header_guard)
# Given an atom from a line (i.e. one conditional if the original line had
# and/or branches, or the original line if there were no and/or branches),
# extract the compile flag
macro(compile_def_flag atom ovar)
string(REGEX REPLACE "^[ \t]*#*.*[!]*(ifdef|defined|elseif defined)[ \t]*[(]*" "" stage1 "${atom}")
string(REGEX REPLACE "[/][*].*[*][/]" "" stage2 "${stage1}")
string(REGEX REPLACE "[)][ \t]*" "" stage3 "${stage2}")
string(REGEX REPLACE "[ \t]+$" "" stage4 "${stage3}")
string(REGEX REPLACE "^[ \t]+" "" stage5 "${stage4}")
set(${ovar} ${stage5})
endmacro(compile_def_flag)
function(autoheader_scan seed_dir)
set(scan_files)
set(extensions c h cxx cpp hxx hpp)
get_property(C_DEFINE_SKIPVARS GLOBAL PROPERTY C_DEFINE_SKIPVARS)
foreach(exten ${extensions})
set(sfiles)
file(GLOB_RECURSE sfiles "${seed_dir}/*.${exten}")
set(scan_files ${scan_files} ${sfiles})
endforeach(exten ${extensions})
#message("found files: ${scan_files}")
set(unique_keys)
foreach(sf ${scan_files})
header_guard("${seed_dir}" "${sf}" hg)
set(SKIP_LIST ".*[ \t]+${hg}[ \t]*" ${C_DEFINE_SKIPVARS})
file(STRINGS ${sf} SRC_LINES REGEX "^[ \t]*#.*(ifdef|defined[(]).+")
set(def_list)
foreach(line ${SRC_LINES})
#message("line: ${line}")
set(lset ${line})
string(REPLACE "&&" ";" lset "${lset}")
string(REPLACE "||" ";" lset "${lset}")
foreach(l ${lset})
#message(" atom: ${l}")
set(skip_line 0)
foreach(sk ${SKIP_LIST})
if(NOT skip_line)
#message("testing ${l} vs ${sk}")
if("${l}" MATCHES "${sk}")
#message("matched ${l} vs ${sk} - skipping")
set(skip_line 1)
endif("${l}" MATCHES "${sk}")
endif(NOT skip_line)
endforeach(sk ${SKIP_LIST})
if(NOT skip_line)
set(def_list ${def_list} ${l})
endif(NOT skip_line)
endforeach(l ${lset})
endforeach(line ${SRC_LINES})
if(def_list)
#message("file ${sf} def lines:")
foreach(l ${def_list})
set(dflag)
compile_def_flag(${l} dflag)
#message(" line: ${l}")
#message(" extracted: ${dflag}")
set(unique_keys ${unique_keys} ${dflag})
endforeach(l ${def_list})
endif(def_list)
endforeach(sf ${scan_files})
list(REMOVE_DUPLICATES unique_keys)
foreach(k ${unique_keys})
set_property(GLOBAL APPEND PROPERTY C_DEFINE_VARS "${k}")
endforeach(k ${unique_keys})
get_property(C_DEFINE_VARS GLOBAL PROPERTY C_DEFINE_VARS)
list(REMOVE_DUPLICATES C_DEFINE_VARS)
list(SORT C_DEFINE_VARS)
set_property(GLOBAL PROPERTY C_DEFINE_VARS "${C_DEFINE_VARS}")
endfunction(autoheader_scan)
# For testing convenience, the following will exercise the
# logic in cmake -P script mode. Should be removed if/when
# this goes "live" in the real build.
set(LOCAL_SKIP DIRENT_ BRLCADBUILD BRLCAD_ DM_ FB_ NO_BOMBING_MACROS USE_BINARY_ATTRIBUTES
IF_WGL IF_X IF_QT IF_OGL NO_DEBUG_CHECKING USE_OPENCL)
autoheader_ignore_defines(LOCAL_SKIP)
set_property(GLOBAL APPEND PROPERTY C_DEFINE_SKIPVARS ".*IMPORT.*")
autoheader_scan(${CMAKE_CURRENT_SOURCE_DIR}/include)
autoheader_scan(${CMAKE_CURRENT_SOURCE_DIR}/src/libbu)
get_property(C_DEFINE_VARS GLOBAL PROPERTY C_DEFINE_VARS)
message("keys:")
foreach(k ${C_DEFINE_VARS})
message(" ${k}")
endforeach(k ${def_list})
# Local Variables:
# tab-width: 8
# mode: cmake
# indent-tabs-mode: t
# End:
# ex: shiftwidth=2 tabstop=8
+78
View File
@@ -0,0 +1,78 @@
# B U I L D _ C M D . C M A K E . I N
# BRL-CAD
#
# Copyright (c) 2012-2016 United States Government as represented by
# the U.S. Army Research Laboratory.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
#
# 1. Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
#
# 2. Redistributions in binary form must reproduce the above
# copyright notice, this list of conditions and the following
# disclaimer in the documentation and/or other materials provided
# with the distribution.
#
# 3. The name of the author may not be used to endorse or promote
# products derived from this software without specific prior written
# permission.
#
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
# OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
# GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#
###
# We need to be able to force libbu to use the build directory
# versions of plugins during build, in case there's already
# something in the install directory.
set(ENV{BRLCAD_ROOT} "@CMAKE_BINARY_DIR@")
# Set BUILD_TYPE in case it is needed
if(EXISTS "@CMAKE_BINARY_DIR@/CMakeTmp/CURRENT_PATH/Release")
set(BUILD_TYPE Release)
elseif(EXISTS "@CMAKE_BINARY_DIR@/CMakeTmp/CURRENT_PATH/Debug")
set(BUILD_TYPE Debug)
else(EXISTS "@CMAKE_BINARY_DIR@/CMakeTmp/CURRENT_PATH/Release")
set(BUILD_TYPE)
endif(EXISTS "@CMAKE_BINARY_DIR@/CMakeTmp/CURRENT_PATH/Release")
# Run Command
set(CMD_EXEC "@CMD_EXEC@")
set(CMD_ARGS @CMD_ARGS@)
execute_process(COMMAND "${CMD_EXEC}" ${CMD_ARGS}
RESULT_VARIABLE CMDRESULT OUTPUT_VARIABLE CMDOUT ERROR_VARIABLE CMDERR)
# If we're supposed to put the output in log files, do that.
set(STDOUT_LOG "@STDOUT_LOG@")
set(STDERR_LOG "@STDERR_LOG@")
if(STDOUT_LOG)
file(APPEND "${STDOUT_LOG}" "${CMDOUT}")
endif(STDOUT_LOG)
if(STDERR_LOG)
file(APPEND "${STDERR_LOG}" "${CMDERR}")
endif(STDERR_LOG)
if(CMDRESULT)
message(FATAL_ERROR "${CMD_EXEC} failure: ${CMDRESULT}\n${CMDOUT}\n${CMDERR}")
endif(CMDRESULT)
# Local Variables:
# tab-width: 8
# mode: cmake
# indent-tabs-mode: t
# End:
# ex: shiftwidth=2 tabstop=8
+1 -1
View File
@@ -2,7 +2,7 @@
file="/usr/share/applications/mimeapps.list"
section="Added Associations"
app="mged.desktop;archer.desktop;rtwizard.desktop;"
app="archer.desktop;mged.desktop;rtwizard.desktop;"
key_v4="application/brlcad-v4=$app"
key_v5="application/brlcad-v5=$app"
+6
View File
@@ -1,3 +1,9 @@
brlcad (7.26.0-0) unstable; urgency=low
* update brlcad version
-- Jordi Sayol <g.sayol@yahoo.es> Wed, 18 May 2016 21:40:10 +0200
brlcad (7.24.2-0) unstable; urgency=low
* update brlcad version

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