Compare commits

..
703 Commits
Author SHA1 Message Date
Clifford Yapp e5403a286d Changes merged, delete brep-debug (svn branch delete)
svn:revision:77232
svn:branch:brep-debug
svn:account:starseeker
2020-09-25 16:52:15 +00:00
Clifford Yapp 4198b5d007 Add libged symbol for libtclcad's use of ged_dplot
svn:revision:77229
svn:branch:brep-debug
svn:account:starseeker
2020-09-25 16:29:19 +00:00
Clifford Yapp 827c71210e Port the dplot logic from tclcad_obj.c to the new setup.
svn:revision:77228
svn:branch:brep-debug
svn:account:starseeker
2020-09-25 16:28:34 +00:00
Clifford Yapp 24a06afaf6 dplot command needs to make the transition to the new ged command structure.
svn:revision:77227
svn:branch:brep-debug
svn:account:starseeker
2020-09-25 15:57:21 +00:00
Clifford Yapp 3536c92db7 Move bool development guide
svn:revision:77226
svn:branch:brep-debug
svn:account:starseeker
2020-09-25 15:35:15 +00:00
Clifford Yapp 25bcf35115 Move bool development guide (preliminary file move commit) 2020-09-25 15:35:15 +00:00
Clifford Yapp 4cbc21b73a Merge trunk r76151 through r77224
svn:revision:77225
svn:branch:brep-debug
svn:account:starseeker
2020-09-25 14:49:43 +00:00
Clifford Yapp abe3f08bb6 Merge analyze command rework from branch, add doc update and NEWS items. Immediate functionality is to use geometric inside/outside testing to peform boolean ops on point clouds and generate new point sets, but should be implemented in such a way as to allow for expansion of additional capabilities.
svn:revision:77222
svn:branch:trunk
svn:account:starseeker
2020-09-25 13:41:24 +00:00
Clifford Yapp 51e94328ff Merge from trunk r76942 through r77219
svn:revision:77221
svn:branch:analyze_cmd
svn:account:starseeker
2020-09-25 12:41:33 +00:00
Clifford Yapp 0130d99d32 Switch MSVC back to a Ninja build.
svn:revision:77219
svn:branch:trunk
svn:account:starseeker
2020-09-25 01:10:32 +00:00
Clifford Yapp ab130d7882 Since even serial building isn't guaranteeing stable outcomes, go ahead and re-enable parallel.
svn:revision:77218
svn:branch:trunk
svn:account:starseeker
2020-09-24 21:20:54 +00:00
Clifford Yapp b933702ac2 fix CMake syntax
svn:revision:77217
svn:branch:trunk
svn:account:starseeker
2020-09-24 20:55:45 +00:00
Clifford Yapp 4b017f4003 This is a workaround, but if the build fails once try it a few more times before giving up. Since a fair number of the failures seen so far are intermittent, multiple attemps may succeed instead of generating false negatives. Switch execute_process to one call per action - per CMake docs that's the way to do sequential execution.
svn:revision:77216
svn:branch:trunk
svn:account:starseeker
2020-09-24 20:50:13 +00:00
Clifford Yapp 2d2d6c8afa Try to do a more minimal build to generate smaller artifacts. Eventually will need a series of stages for this smaller/frequent -> full/infrequent, but right now we're testing pretty frequently...
svn:revision:77215
svn:branch:trunk
svn:account:starseeker
2020-09-24 19:31:43 +00:00
Clifford Yapp c9b772ee84 Another (potentially) useful note.
svn:revision:77214
svn:branch:trunk
svn:account:starseeker
2020-09-24 19:25:16 +00:00
Clifford Yapp 4d2249c81e Add the ability to optionally disable building the components needing STEPcode.
svn:revision:77213
svn:branch:trunk
svn:account:starseeker
2020-09-24 16:40:19 +00:00
Clifford Yapp 9bb26b2102 Make sure we're building gdal before enabling this regression test
svn:revision:77212
svn:branch:trunk
svn:account:starseeker
2020-09-24 16:16:45 +00:00
Clifford Yapp 3ff33239b9 Adjust targets for BRL-CAD rather than the test setup.
svn:revision:77211
svn:branch:trunk
svn:account:starseeker
2020-09-24 16:12:25 +00:00
Clifford Yapp eb17eda081 Get selected BRL-CAD binary packages as artifacts from the build. Really will beg for an aggressive policy to clear out older versions, since an active commit day may produce a *lot* of large package files and there's a size cap.
svn:revision:77210
svn:branch:trunk
svn:account:starseeker
2020-09-24 16:09:43 +00:00
Clifford Yapp 7d29c3e701 Not quite sure where this should go, but want to capture info about how to go about debugging runtime behavior on github runners by making small test repositories with the binary build and using github actions.
svn:revision:77209
svn:branch:trunk
svn:account:starseeker
2020-09-24 12:18:25 +00:00
Clifford Yapp 4d1bcb8db5 Make a note to investigate cleanup logic for artifacts
svn:revision:77208
svn:branch:trunk
svn:account:starseeker
2020-09-24 12:04:24 +00:00
Clifford Yapp b749b685b2 Test to see if this is what Jenkins/BSD is unhappy about with the benchmark changes.
svn:revision:77207
svn:branch:trunk
svn:account:starseeker
2020-09-24 11:44:38 +00:00
Christopher Sean Morrison 830619553b eliminate usage of /dev/null throughout the benchmark as it's not necessary if we restructure things a bit. output is simply caputured and ignored/logged as desired. also do a little better reporting on the logfile.
svn:revision:77206
svn:branch:trunk
svn:account:brlcad
2020-09-24 06:43:37 +00:00
Clifford Yapp 14f1f3f31a Looks like the real issue is we can't build parallel safely - the runner I/O doesn't complete reliably when we do. Re-enable Ninja, but do it single threaded.
svn:revision:77205
svn:branch:trunk
svn:account:starseeker
2020-09-23 22:31:52 +00:00
Clifford Yapp c41c01bfb9 fix command name
svn:revision:77204
svn:branch:trunk
svn:account:starseeker
2020-09-23 22:30:50 +00:00
Christopher Sean Morrison 3d4b95532d try the inverse, detecting if NUL appears to work as a special device.
svn:revision:77203
svn:branch:trunk
svn:account:brlcad
2020-09-23 21:31:46 +00:00
Christopher Sean Morrison fd64bf5bad msys path conversion appears to be making test -e /dev/null succeed as well. lets try to tell msys to just cut it out, no conversions.
svn:revision:77202
svn:branch:trunk
svn:account:brlcad
2020-09-23 20:32:12 +00:00
Clifford Yapp 84159389e7 See if we get fewer intermittent build failures on the VMs with default tools instead of Ninja
svn:revision:77201
svn:branch:trunk
svn:account:starseeker
2020-09-23 17:59:23 +00:00
Clifford Yapp 58ad069612 Update checkout to v2
svn:revision:77200
svn:branch:trunk
svn:account:starseeker
2020-09-23 14:54:39 +00:00
Clifford Yapp 6bdaa84a89 Add a NEWS item for new MGED stat command. Purpose is to support structured reporting of .g object information.
svn:revision:77199
svn:branch:trunk
svn:account:starseeker
2020-09-23 12:48:37 +00:00
Clifford Yapp 4afc77883f Use std::set to build up the unique set of directory pointers.
svn:revision:77198
svn:branch:trunk
svn:account:starseeker
2020-09-23 12:38:50 +00:00
Clifford Yapp bb8590df4f If the search filters rule out all possible outputs, we know the answer already.
svn:revision:77197
svn:branch:trunk
svn:account:starseeker
2020-09-23 03:42:58 +00:00
Christopher Sean Morrison d51b1cfb89 don't try to assert something unused...
svn:revision:77196
svn:branch:trunk
svn:account:brlcad
2020-09-23 03:07:04 +00:00
Clifford Yapp 6373fcc722 Incorrect - revert
svn:revision:77195
svn:branch:trunk
svn:account:starseeker
2020-09-23 02:52:58 +00:00
Clifford Yapp 761f101951 Windows #define of stat doesn't work in this file.
svn:revision:77194
svn:branch:trunk
svn:account:starseeker
2020-09-23 02:40:32 +00:00
Clifford Yapp b2cf42f47c Don't want to overwrite a terminating NULL, so avoid the last byte when calling strlcpy.
svn:revision:77193
svn:branch:trunk
svn:account:starseeker
2020-09-23 02:17:41 +00:00
Clifford Yapp 6d781ae70c fix regress-licenses
svn:revision:77192
svn:branch:trunk
svn:account:starseeker
2020-09-22 14:02:59 +00:00
Clifford Yapp c49d1d697e Fixes for regress-repository - not sure if the bu_strlcat replacements are correctly using sz yet - our usage isn't exercising that code.
svn:revision:77191
svn:branch:trunk
svn:account:starseeker
2020-09-22 13:57:23 +00:00
Clifford Yapp f1a4b20a32 Far enough along now to be interesting. Implement a tabular stat command for reporting database object info, using https://github.com/seleznevae/libfort for table printing. Can specify columns and sorting, as well as applying search filters to focus output. Not sure this is a keeper, but checkpoint so progress is recorded.
svn:revision:77190
svn:branch:trunk
svn:account:starseeker
2020-09-22 02:51:00 +00:00
Clifford Yapp 7d5462dce8 Whoops, grabbed too many files in previous commit.
svn:revision:77189
svn:branch:trunk
svn:account:starseeker
2020-09-21 23:39:03 +00:00
Clifford Yapp 0c2667ad75 Checkpoint
svn:revision:77188
svn:branch:trunk
svn:account:starseeker
2020-09-21 23:37:41 +00:00
Christopher Sean Morrison cad2545bc6 missing delimiter on some older releases, shorten one that wa stoo long
svn:revision:77186
svn:branch:trunk
svn:account:brlcad
2020-09-21 03:27:42 +00:00
Clifford Yapp 09b034afd1 Note default branch rename step.
svn:revision:77185
svn:branch:trunk
svn:account:starseeker
2020-09-19 21:59:16 +00:00
Clifford Yapp 4981dcd247 trim code code we're not using - this will probably go in a different direction.
svn:revision:77184
svn:branch:trunk
svn:account:starseeker
2020-09-19 14:20:59 +00:00
Clifford Yapp cafc3eed44 Replace hardcoded ged command listings with ged_exec
svn:revision:77183
svn:branch:trunk
svn:account:starseeker
2020-09-19 13:57:12 +00:00
Clifford Yapp 01441ddedd fix regress-licenses
svn:revision:77182
svn:branch:trunk
svn:account:starseeker
2020-09-19 02:22:22 +00:00
Clifford Yapp dedf967ed9 Don't call show() here - this is what's causing the "Negative sizes (-1,-1) are not possible" messages.
svn:revision:77181
svn:branch:trunk
svn:account:starseeker
2020-09-19 02:17:44 +00:00
Clifford Yapp 4fb5d489e0 Remove glm from qged subdir.
svn:revision:77180
svn:branch:trunk
svn:account:starseeker
2020-09-19 02:02:30 +00:00
Clifford Yapp a0c447bc80 Backport switch from glm to internal Qt math types from arbalest
svn:revision:77179
svn:branch:trunk
svn:account:starseeker
2020-09-19 02:00:53 +00:00
Clifford Yapp eec76b3f08 Not falling through here means we're missing most of the highlighting.
svn:revision:77178
svn:branch:trunk
svn:account:starseeker
2020-09-19 01:20:09 +00:00
Clifford Yapp 274fa798c1 We're getting multiple populations of the tree children. Probably means we need to revisit the whole cadtreemodel design, but for now just don't populate if we've already done so.
svn:revision:77177
svn:branch:trunk
svn:account:starseeker
2020-09-19 01:02:12 +00:00
Clifford Yapp 3dc198874f Jot down a note about a possibly interesting bit of code for future use...
svn:revision:77176
svn:branch:trunk
svn:account:starseeker
2020-09-18 23:57:38 +00:00
Clifford Yapp 8098b001fa Correct the gdiff man page examples for the new verbosity options.
svn:revision:77175
svn:branch:trunk
svn:account:starseeker
2020-09-18 19:59:19 +00:00
Clifford Yapp d594e144e7 Copy/paste error for help message of gdiff's -F option.
svn:revision:77174
svn:branch:trunk
svn:account:starseeker
2020-09-18 14:17:29 +00:00
Clifford Yapp b0649b5370 Sean found the Pty-Qt widget, of definite interest here.
svn:revision:77173
svn:branch:trunk
svn:account:starseeker
2020-09-18 13:18:23 +00:00
Clifford Yapp a2d9462fa5 These probably belong in ged/commands.h
svn:revision:77172
svn:branch:trunk
svn:account:starseeker
2020-09-17 19:53:56 +00:00
Clifford Yapp 1540762f7d Checkpoint an experiment to use Damerau–Levenshtein edit distance lookup to suggest corrections to potentially mistyped ged commands.
svn:revision:77171
svn:branch:trunk
svn:account:starseeker
2020-09-17 19:43:34 +00:00
Christopher Sean Morrison bea8449ba7 looks like mged -c graphical attach modes (at least using the initial prompt) got released broken. fixed the bomb by checking for an empty arg condition.
svn:revision:77170
svn:branch:trunk
svn:account:brlcad
2020-09-17 13:29:57 +00:00
Christopher Sean Morrison f839539e7b validate args before proceeding
svn:revision:77169
svn:branch:trunk
svn:account:brlcad
2020-09-17 13:23:34 +00:00
Christopher Sean Morrison 5d929065e4 prevent overflow condition if caller passes a -1 or other negative/invalid value. encountered during dm option processing.
svn:revision:77168
svn:branch:trunk
svn:account:brlcad
2020-09-17 13:19:52 +00:00
Christopher Sean Morrison f48723cf3a with eric murray's help, isolated the bug where the graphics window filepath fails to update after opening a .g file. bug was due to spaces in the filename. quoting the filename fixed the title and it now displays correctly even if there are newlines.
svn:revision:77167
svn:branch:trunk
svn:account:brlcad
2020-09-17 03:18:42 +00:00
Christopher Sean Morrison a5399f923b fixed the titlebar bug when opening a filename with spaces
svn:revision:77166
svn:branch:trunk
svn:account:brlcad
2020-09-17 03:13:46 +00:00
Christopher Sean Morrison 45165c4a3d make sure we quote the filename in case it has spaces so the window title bar gets updated appropriately. this fixes a user-reported bug
svn:revision:77165
svn:branch:trunk
svn:account:brlcad
2020-09-17 03:11:47 +00:00
Christopher Sean Morrison 31faa7c5c0 accept sf patch 555 (Add linefeed to output log file of CREO-BRL converter) from Red Carrera (redcarrera) that adds a newline to the output, for improved readability.
svn:revision:77164
svn:branch:trunk
svn:account:brlcad
2020-09-15 20:22:26 +00:00
Clifford Yapp f1d54e1d8f Looks like we may need a separate push for tags
svn:revision:77163
svn:branch:trunk
svn:account:starseeker
2020-09-15 19:53:22 +00:00
Christopher Sean Morrison 6a973ff683 spaces cause the title bar problem
svn:revision:77162
svn:branch:trunk
svn:account:brlcad
2020-09-14 21:16:10 +00:00
Clifford Yapp e344f614ce This should be an "ALL" custom target, so a build always stages the bin/benchmark script whether anything requrires it or not.
svn:revision:77161
svn:branch:trunk
svn:account:starseeker
2020-09-14 17:03:40 +00:00
Clifford Yapp ed8ee0c482 Note required package for rpm building
svn:revision:77160
svn:branch:trunk
svn:account:starseeker
2020-09-14 13:43:41 +00:00
Clifford Yapp 435458a808 Our minimum version may be newer than this, but for sure it's not gcc 3...
svn:revision:77159
svn:branch:trunk
svn:account:starseeker
2020-09-14 13:42:03 +00:00
Clifford Yapp 288d5d66c9 Stash useful note on what to do about CentOS in VirtualBox if networking isn't set up by default.
svn:revision:77158
svn:branch:trunk
svn:account:starseeker
2020-09-14 13:36:18 +00:00
Clifford Yapp e4fa8b76fb Stage the version numbers for the next release.
svn:revision:77157
svn:branch:trunk
svn:account:starseeker
2020-09-14 13:00:25 +00:00
Clifford Yapp ae0cb6a17c Pull in file updates from RELEASE
svn:revision:77156
svn:branch:trunk
svn:account:starseeker
2020-09-14 12:58:25 +00:00
Clifford Yapp 61bb7f6a40 bump to next development revision after tagging the 7.32.0 release
svn:revision:77155
svn:branch:trunk
svn:account:starseeker
2020-09-14 12:40:26 +00:00
Clifford Yapp 51fc0b0808 The gcv API changes aren't in RELEASE - adjust ChangeLog.
svn:revision:77151
svn:branch:RELEASE
svn:account:starseeker
2020-09-14 12:12:11 +00:00
Clifford Yapp 569eb6791e Add instructions for older CentOS vanilla image - should be representative of what to do generally if one is on a Redhat based image that has a too-old default toolset.
svn:revision:77150
svn:branch:trunk
svn:account:starseeker
2020-09-14 11:31:09 +00:00
Clifford Yapp 2da7ac68cd Grab one other trunk file that slipped through the cracks.
svn:revision:77149
svn:branch:RELEASE
svn:account:starseeker
2020-09-14 10:25:28 +00:00
Clifford Yapp 03f1277aba distclean line from RELEASE
svn:revision:77148
svn:branch:trunk
svn:account:starseeker
2020-09-14 10:22:25 +00:00
Clifford Yapp 64929a3200 Hmm - missed the deletion of README.other in the merges.
svn:revision:77147
svn:branch:RELEASE
svn:account:starseeker
2020-09-14 10:18:18 +00:00
Clifford Yapp a49269facb Update ChangeLog. It's been a while since we've done a full sync from trunk, so this is the trunk log back to Dec. 2019. (Commit r74972 entry is hand added here and doesn't list all files, as the svn2cl.sh script can't handle it.)
svn:revision:77146
svn:branch:RELEASE
svn:account:starseeker
2020-09-14 10:08:28 +00:00
Clifford Yapp 34b97a29c9 Update version numbers, spelling/wording in release note, set release date.
svn:revision:77145
svn:branch:RELEASE
svn:account:starseeker
2020-09-14 09:52:48 +00:00
Clifford Yapp 36f3abc02e Merge from trunk - r77133 through r77143
svn:revision:77144
svn:branch:RELEASE
svn:account:starseeker
2020-09-14 09:46:29 +00:00
Christopher Sean Morrison 03ead520f3 include a brief summary writeup of highlights
svn:revision:77143
svn:branch:trunk
svn:account:brlcad
2020-09-14 08:45:52 +00:00
Christopher Sean Morrison 730f44162e document the util fixes in addition to the fb fixes for Windows.
looks nominally like confirmed binary input mode fix dpix-pix,
bwshrink, halftone, pixshrink, sun-pix, as well as the plot and brep
plot commands.  also possibly fixed by marking input as binary includes bw-a,
bw-png, bw-ps, bwscale, mac-pix, pix-ppm, pix-ps, pix3filter,
pixbgstrip, pixborder, pixembed, pixfilter, pixhalf, pixrot, pixscale,
plot3-ps, ap-pix, bwcrop, bwhisteq, bwstat, pixcrop, pixdiff, pixhist,
pixhist3d-plot3, pixhist3d, pixstat, plot3-asc, plot3stat, asc-plot3, bombardier, bw-pix, bwcrop, bwdif, pix-ppm, pix3filer, pixblend, pixclump, pixcount, pixcrop, pixdiff, pixinterp2x, pixmerge, pixmorph, pixuntile, plot3-dm, plot3rot

svn:revision:77142
svn:branch:trunk
svn:account:brlcad
2020-09-14 07:20:57 +00:00
Christopher Sean Morrison a1a9c4847b cliff added asc v4/v5 import/export support to gcv, circa r76277 and commits forward.
svn:revision:77141
svn:branch:trunk
svn:account:brlcad
2020-09-14 05:08:43 +00:00
Christopher Sean Morrison 260e750d09 note that cline is intentionally not included
svn:revision:77140
svn:branch:trunk
svn:account:brlcad
2020-09-14 04:47:16 +00:00
Christopher Sean Morrison 291a0d75ab cliff added asc v4/v5 import support to gcv, circa r76277.
svn:revision:77139
svn:branch:trunk
svn:account:brlcad
2020-09-14 04:31:09 +00:00
Christopher Sean Morrison 1e899fdc04 there's an article, but need a gcv manual page
svn:revision:77138
svn:branch:trunk
svn:account:brlcad
2020-09-14 04:25:51 +00:00
Clifford Yapp 081b2e58d4 Just directly alter the problematic names in the openNURBS headers, so we don't have to try and work around it in ours.
svn:revision:77137
svn:branch:trunk
svn:account:starseeker
2020-09-14 03:31:11 +00:00
Clifford Yapp b18d64f9f0 Technically user visible - document man page update for remrt in r76897
svn:revision:77136
svn:branch:trunk
svn:account:starseeker
2020-09-14 00:57:56 +00:00
Clifford Yapp 78b66b117c Mention alphanum search output sorting in man page.
svn:revision:77135
svn:branch:trunk
svn:account:starseeker
2020-09-13 21:11:59 +00:00
Clifford Yapp 6d3de77b4b Pull RELEASE-only changes back into trunk, r77106 through r77132
svn:revision:77134
svn:branch:trunk
svn:account:starseeker
2020-09-13 17:29:04 +00:00
Clifford Yapp 95abf7a100 Merge from trunk r76963 through r77132, sans libgcv/gcv changes.
svn:revision:77133
svn:branch:RELEASE
svn:account:starseeker
2020-09-13 17:25:19 +00:00
Clifford Yapp 2ad3c3f7f9 Update the silent NSIS template to match the main version.
svn:revision:77132
svn:branch:trunk
svn:account:starseeker
2020-09-13 17:24:05 +00:00
Clifford Yapp d6ead7d047 At least for now, back out the cwd manipulation - looking into addressing this in the NSIS installer instead, which won't have the potentially broad impact this does.
svn:revision:77131
svn:branch:RELEASE
svn:account:starseeker
2020-09-13 16:20:37 +00:00
Clifford Yapp 3c462a5dfa See if we can manipulate the startup directory of the shortcuts via NSIS
svn:revision:77130
svn:branch:trunk
svn:account:starseeker
2020-09-13 15:58:34 +00:00
Clifford Yapp aae0fb71ca The 'nburst' refactor of the burst code is available. Mostly a general cleanup of the code, which was previously in an early coding style quite different from most of BRL-CAD. Although primarily intended for batch processing, it also provides a new command line interactive mode that replaces the early terminal menu system removed in 7.30.2.
svn:revision:77129
svn:branch:trunk
svn:account:starseeker
2020-09-13 15:47:13 +00:00
Clifford Yapp 82765de6eb overlay and screengrab commands gained -F options that let them interact with the framebuffer, rather than the display manager scene. Useful for capturing and updating the contents of the embedded MGED framebuffer.
svn:revision:77128
svn:branch:trunk
svn:account:starseeker
2020-09-13 15:27:40 +00:00
Clifford Yapp 5d524a878d bolt man page was added to MGED's category, but we still have the command line tool as well.
svn:revision:77127
svn:branch:trunk
svn:account:starseeker
2020-09-13 14:47:05 +00:00
Clifford Yapp 852f545d4d whichair and whichid can now also search subsets of .g file using the --root specifier, in addition to the standard search of all objects.
svn:revision:77126
svn:branch:trunk
svn:account:starseeker
2020-09-13 14:37:31 +00:00
Clifford Yapp 806e791a4c Update whichair man page for new capabilities.
svn:revision:77125
svn:branch:trunk
svn:account:starseeker
2020-09-13 14:34:09 +00:00
Clifford Yapp ea5d155b0c Added a new 'bot set' command to match 'bot get' - only supports mode and orientation right now, but these should eventually be expanded to other bot operations.
svn:revision:77124
svn:branch:trunk
svn:account:starseeker
2020-09-13 14:04:59 +00:00
Clifford Yapp 7e1875abc6 We're now returning semantically meaningful strings for bot mode and orientation with the low level 'bot get' command - users don't know how to interpret the raw numbers.
svn:revision:77123
svn:branch:trunk
svn:account:starseeker
2020-09-13 14:03:20 +00:00
Clifford Yapp 97e5046796 Circa r75774, added an extrude subcommand to the GED bot command for making ARB6 volumes based on BoT triangles. This is a simple extrude operation - it can't guarantee 'smooth' alignment between individual ARB6 extrusions at adjacent faces.
svn:revision:77122
svn:branch:trunk
svn:account:starseeker
2020-09-13 13:56:22 +00:00
Christopher Sean Morrison 592b9e68bb remove the subdir
svn:revision:77121
svn:branch:trunk
svn:account:brlcad
2020-09-13 06:37:21 +00:00
Christopher Sean Morrison e073a6a694 IRIX was retired in 2013 and we subsequently no longer compile there due to c++11. AIX is still quite active (particularly on HPC) but our README commentary is entirely obsolete.
svn:revision:77120
svn:branch:trunk
svn:account:brlcad
2020-09-13 06:36:32 +00:00
Christopher Sean Morrison 1c07f950d8 remove the notes for a 2014 oscon presentation. exists in history and is inconsistent (i.e., confusing) with the platform READMEs
svn:revision:77119
svn:branch:trunk
svn:account:brlcad
2020-09-13 06:31:35 +00:00
Christopher Sean Morrison ab8fb7fbf0 moving platform-specific README's together. platforms should be presented equitably or can result in a dismissive perspective harmful in the long term. best practice and project ethos has always been to handle cross-platform variants on valid footing.
svn:revision:77118
svn:branch:trunk
svn:account:brlcad
2020-09-13 06:29:24 +00:00
Christopher Sean Morrison de85d76bc4 whichid and whichair commands now let one specify a range of IDs. the changes were prototyped by nick in a script, and more recently adopted into libged by cliff
svn:revision:77117
svn:branch:trunk
svn:account:brlcad
2020-09-13 06:05:48 +00:00
Clifford Yapp 9f94126766 Turn off debug printing for RtImage.tcl
svn:revision:77116
svn:branch:RELEASE
svn:account:starseeker
2020-09-13 00:41:55 +00:00
Clifford Yapp a3e593ed4e Don't make a failure here fatal - just warn.
svn:revision:77115
svn:branch:RELEASE
svn:account:starseeker
2020-09-13 00:32:36 +00:00
Clifford Yapp d66c1c2ca8 Do the working directory check for Archer and MGED as well.
svn:revision:77114
svn:branch:RELEASE
svn:account:starseeker
2020-09-13 00:27:23 +00:00
Clifford Yapp fc64d05f3a See if we can get rtwizard's working dir out of the binary directory if it's set there - if that's a read-only location we get some nasty side effects like duplicate dirbuild objects in the tree.
svn:revision:77113
svn:branch:RELEASE
svn:account:starseeker
2020-09-13 00:09:36 +00:00
Clifford Yapp fd9adc6d66 Workaround for struct parsing failures on GhostBSD
Was getting 'Structure inconsistency detected parsing 'width'' bombs
on one of the GhostBSD optimized distcheck configs with rtedge.  gdb
session shows us simply entering the parse_struct_lookup function,
starting to iterate over the structures loop, skipping the loc
calculation completely, and jumping right to the loc==NULL test. In
this case loc has a value of NULL rather than a garbage value, so we
bomb out.

Assigning the (base + sdp->sp_offset) calculation result as an
initialization to loc also results in loc == NULL, as does printing
the calculation's numerical value in a bu_log, but when run
interactively in the gdb session the same expression evaluates
non-zero.

Work around this by checking for a NULL base, and in that case use the
sdp->sp_offset value without attempting to add the NULL base to it.
Still not clear why some compile settings appear to be producing
different behaviors evaluating this expression, but on GhostBSD at
least this seems to avoid the issue and let the regression tests
succeed...

svn:revision:77112
svn:branch:RELEASE
svn:account:starseeker
2020-09-12 19:08:22 +00:00
Clifford Yapp 7092bec8dd Whoops - protect both calls, not just Tcl_Close
svn:revision:77111
svn:branch:RELEASE
svn:account:starseeker
2020-09-12 16:47:48 +00:00
Clifford Yapp 6b64273e33 Cherrypick r77109 - null check before Tcl_Close
svn:revision:77110
svn:branch:RELEASE
svn:account:starseeker
2020-09-12 16:36:25 +00:00
Clifford Yapp 2499417d75 Check for null before calling Tcl_Close
svn:revision:77109
svn:branch:trunk
svn:account:starseeker
2020-09-12 16:34:57 +00:00
Clifford Yapp cb9bb57929 Whoops - just the conditional path inclusion, not both...
svn:revision:77108
svn:branch:RELEASE
svn:account:starseeker
2020-09-12 03:35:44 +00:00
Clifford Yapp 936e64b98d On HaikuOS we can actually have an unset TK_INCLUDE_PATH - check in those build files that use it.
svn:revision:77107
svn:branch:RELEASE
svn:account:starseeker
2020-09-12 03:28:03 +00:00
Clifford Yapp 24622ea534 Pull test fix from trunk.
svn:revision:77106
svn:branch:RELEASE
svn:account:starseeker
2020-09-11 19:15:21 +00:00
Christopher Sean Morrison 71c52c026c /dev/null is a special device and -f is only for regular files, so we really just want to check for existence here.
svn:revision:77105
svn:branch:trunk
svn:account:brlcad
2020-09-11 19:05:03 +00:00
Clifford Yapp 4658fd9e64 List top level file for cleaning
svn:revision:77104
svn:branch:RELEASE
svn:account:starseeker
2020-09-11 18:58:14 +00:00
Clifford Yapp 03bdbcc8ec The 'test -f /dev/null' test is failing when run inside of CTest on linux, resulting in an NUL file being created that isn't discleaned. Use the OSTYPE var to check for MSYS sh.exe.
svn:revision:77103
svn:branch:RELEASE
svn:account:starseeker
2020-09-11 18:14:56 +00:00
Clifford Yapp 658fa011b3 List CMakeLists.txt file
svn:revision:77102
svn:branch:RELEASE
svn:account:starseeker
2020-09-11 16:15:44 +00:00
Clifford Yapp 64029526a9 Merge from trunk: r76955 through r76962
svn:revision:77101
svn:branch:RELEASE
svn:account:starseeker
2020-09-11 16:04:24 +00:00
Clifford Yapp c4fbe5d511 Actually, we probably want to use the context mime type on filters.
svn:revision:77100
svn:branch:trunk
svn:account:starseeker
2020-09-10 15:20:06 +00:00
Clifford Yapp 2639333671 Attempt to generalize the GCV plugin typing system beyond just models.
svn:revision:77099
svn:branch:trunk
svn:account:starseeker
2020-09-10 14:28:59 +00:00
Christopher Sean Morrison be2611ca97 clarify some of the icv_image_size() parameters.
svn:revision:77098
svn:branch:trunk
svn:account:brlcad
2020-09-10 04:20:56 +00:00
Clifford Yapp 9fb67bd6bd Merge from trunk: r77078 through r77096
svn:revision:77097
svn:branch:RELEASE
svn:account:starseeker
2020-09-10 02:08:29 +00:00
Christopher Sean Morrison a6cc7d3278 search issue was fixed in r77076. it's all good.
svn:revision:77096
svn:branch:trunk
svn:account:brlcad
2020-09-10 00:41:59 +00:00
Clifford Yapp dd43f0d356 One of the unit tests for bu_file failed on the Mac github runner using the system realpath. Might be the test isn't valid, but we're right before release - just put back the internal version for now.
svn:revision:77095
svn:branch:trunk
svn:account:starseeker
2020-09-09 22:50:57 +00:00
Christopher Sean Morrison a21e165d06 search -exec appears to be completely non-functional. I'm getting no output. Build from a couple month back appears to be working, so maybe related to process/channel/io changes.
svn:revision:77094
svn:branch:trunk
svn:account:brlcad
2020-09-09 20:33:35 +00:00
Christopher Sean Morrison 1c026e8e34 elaborate thoughts on an object-awar gsort/tables/filter command.
svn:revision:77093
svn:branch:trunk
svn:account:brlcad
2020-09-09 20:32:12 +00:00
Christopher Sean Morrison f50fb8b232 applied sf patch 554 (Added libicv man page in doc/docbook/system/man3/) from Sumagna Das
svn:revision:77092
svn:branch:trunk
svn:account:brlcad
2020-09-09 13:23:22 +00:00
Christopher Sean Morrison f9ebeed397 fix ws indent
svn:revision:77091
svn:branch:trunk
svn:account:brlcad
2020-09-09 13:18:21 +00:00
Christopher Sean Morrison d53706c272 support /dev/null and the NUL special file construct on Windows (for git bash and msys2-based scripting environments)
svn:revision:77090
svn:branch:trunk
svn:account:brlcad
2020-09-09 03:55:11 +00:00
Christopher Sean Morrison 764daebad7 turn off path conversion in msys2 and in git's customized msys-based shell. likely getting /dev/null conversion for free, so fix for that is next
svn:revision:77089
svn:branch:trunk
svn:account:brlcad
2020-09-09 03:41:33 +00:00
Clifford Yapp 74052e46aa This came up again... forward port and enable the most basic of the search command size filters from r67646. This is just the dp->d_len object size filter, but it pairs with the ls options that can report size - with this in place, we can use ls -lS to get an overall report of object sizes and then search with -size and other filters to identify large or small subsets based on type. Particular use case was trying to find a large plate mode bot in the FAA Generic_Twin.g example: ls -lS to get an idea of size distributions and then search -type plate -size >50000 to find larger examples. Would be nice to be able to specify sorting the search output on size at some point as well...
svn:revision:77088
svn:branch:trunk
svn:account:starseeker
2020-09-08 20:38:51 +00:00
Clifford Yapp 90e3a7e068 Note a quirk of bot -V visualizations that needs attention at some point.
svn:revision:77086
svn:branch:trunk
svn:account:starseeker
2020-09-08 20:27:03 +00:00
Christopher Sean Morrison bced8ab8cb note the mged startup path issues, discussed with a few users. need to investigate and document the current behavior for command-line, double-click, drag-n-drop file opening, GUI menu opening, and GUI CLI opening.
svn:revision:77085
svn:branch:trunk
svn:account:brlcad
2020-09-08 19:29:31 +00:00
Christopher Sean Morrison 826e107ecd looks like we missed documenting a gci contribution from jeffrey liu that added support for reading EBM data from binunif database objects (previously only supported files)
svn:revision:77083
svn:branch:trunk
svn:account:brlcad
2020-09-08 17:46:02 +00:00
Christopher Sean Morrison 4a4041c354 retroactively document all of ali haydar's summer 2019 work on annotations. not included, but it's worth noting that his changes were realized through additional effort and mentoring by daniel roßberg.
svn:revision:77082
svn:branch:trunk
svn:account:brlcad
2020-09-08 17:40:58 +00:00
Christopher Sean Morrison 7f7a28e041 rishabh has been working all summer on the opencl pipeline in brl-cad with several more primitives converted including hyp and a bug, with untested/unfinished work on pipe, vol, arbn, and cline.
svn:revision:77081
svn:branch:trunk
svn:account:brlcad
2020-09-08 17:30:49 +00:00
Christopher Sean Morrison 8159c7bf7a daniel actually applied patches from ali haydar affecting display of annotations on windows.
svn:revision:77080
svn:branch:trunk
svn:account:brlcad
2020-09-08 17:28:44 +00:00
Christopher Sean Morrison b2d45fb553 credit 2020 gsoc student rishab suthar with his openCL gpgpu pipeline contributions
svn:revision:77079
svn:branch:trunk
svn:account:brlcad
2020-09-08 17:27:44 +00:00
Clifford Yapp e05d18c952 Merge from trunk: r77067 through r77077
svn:revision:77078
svn:branch:RELEASE
svn:account:starseeker
2020-09-08 16:46:19 +00:00
Clifford Yapp ee0cb62f33 Teach bot GED command to set orientation and mode, and report user-understandable strings for get in those cases rather than the raw number.
svn:revision:77077
svn:branch:trunk
svn:account:starseeker
2020-09-08 16:41:21 +00:00
Clifford Yapp 98c35b6131 Whoops - need to set the interp callbacks here as well.
svn:revision:77076
svn:branch:trunk
svn:account:starseeker
2020-09-08 16:38:30 +00:00
Christopher Sean Morrison d662d6fbb0 credit sumagna das for his work implementing the beginnings of a new gcv plugin (png-to-vol).
svn:revision:77075
svn:branch:trunk
svn:account:brlcad
2020-09-08 16:22:11 +00:00
Clifford Yapp 22ce3b9e67 Need separate channels for in/out/err (MGED on Windows was crashing trying to close due to callbacks for both stdout and stderr channel closing.)
svn:revision:77074
svn:branch:trunk
svn:account:starseeker
2020-09-08 15:29:25 +00:00
Clifford Yapp f232ad9c28 Add header and footer (caught by regress-licenses)
svn:revision:77073
svn:branch:trunk
svn:account:starseeker
2020-09-06 14:33:29 +00:00
Christopher Sean Morrison 634fba4aac add a bit more debugging to understand what's going on, if any are being called
svn:revision:77072
svn:branch:trunk
svn:account:brlcad
2020-09-06 06:26:12 +00:00
Christopher Sean Morrison 3ec75fed74 vol plugin needs to export gcv_plugin_info as a callable function
svn:revision:77071
svn:branch:trunk
svn:account:brlcad
2020-09-06 06:15:21 +00:00
Christopher Sean Morrison 039610eadc don't crash if we can't determine the unit type in the gdal plugin. still can't handle png and bombs out, but at least aborts slightly more gracefully.
svn:revision:77070
svn:branch:trunk
svn:account:brlcad
2020-09-06 06:14:13 +00:00
Christopher Sean Morrison 9db1493f75 apply zulip patch from Sumagna Das that stubs in an initial vol-from-png plugin. not yet functional, but compiles and exposes a few other issues in libgcv.
svn:revision:77069
svn:branch:trunk
svn:account:brlcad
2020-09-06 05:50:07 +00:00
Christopher Sean Morrison cf9ff54128 fit comments and separate if expression from the true block for consistent readability
svn:revision:77068
svn:branch:trunk
svn:account:brlcad
2020-09-06 05:48:11 +00:00
Clifford Yapp 5cccfb483a Merge from trunk: r77032 through r77066
svn:revision:77067
svn:branch:RELEASE
svn:account:starseeker
2020-09-04 21:05:55 +00:00
Clifford Yapp 3f1f4abc44 Unused string
svn:revision:77066
svn:branch:trunk
svn:account:starseeker
2020-09-04 20:52:45 +00:00
Christopher Sean Morrison 374f9165fa per the usage, the caller can say 'No' and still provide the remaining 4 region args, it just won't do anything with them. don't make it a fatal condition if that happens, just continue, since the caller (as is the case in mged) may just be a script that passes defaults. avoids the caller needing to conditionalize. undoing the error avoids a failure editing non-region combs via the combination editor in mged.
svn:revision:77065
svn:branch:trunk
svn:account:brlcad
2020-09-04 20:08:34 +00:00
Clifford Yapp 03617e02eb OK, not a new issue - calling reopen with a read-only database is what's doing this.
svn:revision:77064
svn:branch:trunk
svn:account:starseeker
2020-09-04 18:35:13 +00:00
Clifford Yapp d3d7f90a38 It's that the database is read-only, not that it's on Windows.
svn:revision:77063
svn:branch:trunk
svn:account:starseeker
2020-09-04 15:43:22 +00:00
Clifford Yapp e4d1bd1ea3 See if this lets us use system realpath. If so, we may be able to yank the bsd fallback implementation.
svn:revision:77062
svn:branch:trunk
svn:account:starseeker
2020-09-04 15:41:39 +00:00
Clifford Yapp eb5d4b5568 More uniformly define MAXPATHLEN across the code.
Tcl defines MAXPATHLEN, and there was a potential for different
definitions between their headers and ours.  Not certain, but that is
one possible source of the strange realpath crash observed on Linux
but not reproducible in isolation - if code with one definition of
MAXPATHLEN created a buffer and then fed it to a library compiled using
a different definition, those different assumptions are a source of
possible trouble.  I think that's what was happening with the whoami.c
code after I switched it to using MAXPATHLEN.  Previously that code
called realpath directly rather than bu_file_realpath.  After the
MAXPATHLEN switch, those raw realpath calls triggered a segfault on
Linux - most likely due to a non-PATH_MAX definition of MAXPATHLEN
previously being defaulted to by the bu/defines.h definition.

Move the MAXPATHLEN definition to common.h, which is always included
before tcl.h in our code, and add a couple definitions from the Tcl
headers to use as fallbacks.  Would be nice if there is some way to
systematically check for this kind of issue...

svn:revision:77061
svn:branch:trunk
svn:account:starseeker
2020-09-04 15:30:34 +00:00
Clifford Yapp d31f38d3ed realpath -> bu_file_realpath
svn:revision:77060
svn:branch:trunk
svn:account:starseeker
2020-09-04 14:08:38 +00:00
Clifford Yapp 84e5b7e434 PATH_MAX->MAXPATHLEN
svn:revision:77059
svn:branch:trunk
svn:account:starseeker
2020-09-04 13:46:49 +00:00
Clifford Yapp 1cff8a1416 WiX .msi is getting more useful - add some notes to README.Windows.
svn:revision:77058
svn:branch:trunk
svn:account:starseeker
2020-09-04 13:39:03 +00:00
Christopher Sean Morrison ae49e8dd29 update file header filenames. use ./ relative header path to denote local include files.
svn:revision:77057
svn:branch:trunk
svn:account:brlcad
2020-09-04 05:55:04 +00:00
Christopher Sean Morrison f7d884db0c rename most tclcad files to consistently not use a filename prefix. updating contents separately.
svn:revision:77056
svn:branch:trunk
svn:account:brlcad
2020-09-04 05:35:29 +00:00
Christopher Sean Morrison d97fdd0119 go ahead and put the snippets into code/endcode blocks to make their callout more explicit and obvious.
svn:revision:77055
svn:branch:trunk
svn:account:brlcad
2020-09-04 04:34:13 +00:00
Christopher Sean Morrison b340b07f23 doxygen / comment cleanup
svn:revision:77054
svn:branch:trunk
svn:account:brlcad
2020-09-04 04:14:46 +00:00
Christopher Sean Morrison 9b6a0f0069 convert define and enum comments for doxygen
svn:revision:77053
svn:branch:trunk
svn:account:brlcad
2020-09-04 04:13:26 +00:00
Christopher Sean Morrison 2a99e5ee8a document the struct elements where already documented
svn:revision:77052
svn:branch:trunk
svn:account:brlcad
2020-09-04 04:09:09 +00:00
Christopher Sean Morrison 22007c42ec put the cond/endcond doxygen markers in doxy blocks
svn:revision:77051
svn:branch:trunk
svn:account:brlcad
2020-09-04 04:01:16 +00:00
Clifford Yapp 7652add335 Only on Windows, getting db_dircheck reports of duplicate objects on rtwizard startup.
svn:revision:77050
svn:branch:trunk
svn:account:starseeker
2020-09-04 03:06:26 +00:00
Clifford Yapp 5c1cf853e4 Typo
svn:revision:77049
svn:branch:trunk
svn:account:starseeker
2020-09-04 01:57:12 +00:00
Clifford Yapp e20d146111 If I'm understanding this correctly, the WiX msi installer relies on the application to provide the icon, unlike NSIS. Do what wish.exe does and try specifying rc files that identify the icons.
svn:revision:77048
svn:branch:trunk
svn:account:starseeker
2020-09-04 01:43:55 +00:00
Clifford Yapp a8bf0a12cd Note potentially relevant WiX example in CMake itself.
svn:revision:77047
svn:branch:trunk
svn:account:starseeker
2020-09-03 22:42:36 +00:00
Clifford Yapp a05b0d33b7 Shouldn't hardcode 'bin' string
svn:revision:77046
svn:branch:trunk
svn:account:starseeker
2020-09-03 22:08:52 +00:00
Clifford Yapp c68066bf5f Try setting the CPACK install properties.
svn:revision:77045
svn:branch:trunk
svn:account:starseeker
2020-09-03 22:06:51 +00:00
Clifford Yapp 246e6ad68d CPACK_START_MENU_SHORTCUTS may let us get the menu set up without a custom template.
svn:revision:77044
svn:branch:trunk
svn:account:starseeker
2020-09-03 21:49:28 +00:00
Clifford Yapp e0d141e156 correct filename
svn:revision:77043
svn:branch:trunk
svn:account:starseeker
2020-09-03 19:49:58 +00:00
Clifford Yapp 93e805ec31 Tweak WiX images.
svn:revision:77042
svn:branch:trunk
svn:account:starseeker
2020-09-03 19:12:54 +00:00
Clifford Yapp 68f3357fe5 Remove debug message
svn:revision:77041
svn:branch:trunk
svn:account:starseeker
2020-09-03 17:46:14 +00:00
Clifford Yapp fc1926d11c See if we can point to the CMake standard built-in template and get the same installer as leaving the template unset.
svn:revision:77040
svn:branch:trunk
svn:account:starseeker
2020-09-03 17:36:11 +00:00
Clifford Yapp 6e0a6fa91b Adjust path hunting for WiX
svn:revision:77039
svn:branch:trunk
svn:account:starseeker
2020-09-03 17:22:47 +00:00
Clifford Yapp 43476a2c26 Untested as yet, but see if we can key CPack setup on Windows off of what installer generators we have available.
svn:revision:77038
svn:branch:trunk
svn:account:starseeker
2020-09-03 17:09:04 +00:00
Clifford Yapp b59c27ce4c Toss in a quick utility to try and detect headers in source hierarchies that aren't #included by any of the local files.
svn:revision:77037
svn:branch:trunk
svn:account:starseeker
2020-09-03 13:52:11 +00:00
Clifford Yapp cd5ae91c05 Missing CMakeLists.txt file
svn:revision:77036
svn:branch:trunk
svn:account:starseeker
2020-09-03 13:47:38 +00:00
Christopher Sean Morrison 71b1f7a3c6 move gcv's only unit test into a subdir like our other libs.
svn:revision:77035
svn:branch:trunk
svn:account:brlcad
2020-09-03 07:13:01 +00:00
Christopher Sean Morrison 54947587f8 move gcv's only unit test into a subdir like our other libs. (preliminary file move commit) 2020-09-03 07:13:01 +00:00
Christopher Sean Morrison 153488c48f oof, probably shouldn't assume it's a model mime type.
svn:revision:77034
svn:branch:trunk
svn:account:brlcad
2020-09-03 07:04:04 +00:00
Clifford Yapp fe77151e69 Note user report that the WiX msi installer has an ability to install silently. Need to explore what it would take to match features with the NSIS .exe installer.
svn:revision:77033
svn:branch:trunk
svn:account:starseeker
2020-09-02 18:08:50 +00:00
Clifford Yapp 274d4cc2a1 Merge from trunk: r77015 through r77031
svn:revision:77032
svn:branch:RELEASE
svn:account:starseeker
2020-09-01 20:26:40 +00:00
Clifford Yapp 617e2e8f21 Clear the remainder of the doxygen warnings
svn:revision:77031
svn:branch:trunk
svn:account:starseeker
2020-09-01 19:30:05 +00:00
Clifford Yapp 633680cb32 Clear some more doxygen warnings
svn:revision:77030
svn:branch:trunk
svn:account:starseeker
2020-09-01 19:17:05 +00:00
Clifford Yapp e140e5f723 Adjust comment for doxygen
svn:revision:77029
svn:branch:trunk
svn:account:starseeker
2020-09-01 19:09:33 +00:00
Clifford Yapp cc26d42870 Tell doxygen not to worry about these includes
svn:revision:77028
svn:branch:trunk
svn:account:starseeker
2020-09-01 19:05:57 +00:00
Clifford Yapp c4b14ef938 Add group for bu/process.h
svn:revision:77027
svn:branch:trunk
svn:account:starseeker
2020-09-01 18:45:28 +00:00
Clifford Yapp 846678c5ac Increase DOT_GRAPH_MAX_NODES to avoid warnings about too many notes.
svn:revision:77026
svn:branch:trunk
svn:account:starseeker
2020-09-01 18:36:20 +00:00
Clifford Yapp 2b9a0a03b4 Indent for doxygen
svn:revision:77025
svn:branch:trunk
svn:account:starseeker
2020-09-01 18:28:32 +00:00
Christopher Sean Morrison ae8f5dd64c delete extra doxygen closure
svn:revision:77024
svn:branch:trunk
svn:account:brlcad
2020-09-01 18:04:55 +00:00
Christopher Sean Morrison f6f1a09da7 ditto, use addtogroup instead of ingroup for consistency.
svn:revision:77023
svn:branch:trunk
svn:account:brlcad
2020-09-01 18:01:03 +00:00
Christopher Sean Morrison 369cd00dcf use addtogroup instead of ingroup, consistent with the rest and fixes an unbalanced grouping error.
svn:revision:77022
svn:branch:trunk
svn:account:brlcad
2020-09-01 17:59:55 +00:00
Christopher Sean Morrison a929ce348e missing @ sign
svn:revision:77021
svn:branch:trunk
svn:account:brlcad
2020-09-01 17:51:57 +00:00
Clifford Yapp 9a9cbf6004 Per discussion with Sean, most of these don't qualify as needing the deprecation process.
svn:revision:77020
svn:branch:trunk
svn:account:starseeker
2020-09-01 17:47:48 +00:00
Christopher Sean Morrison 2191fe3623 PERL_PATH and MSCGEN_PATH are deprecated, so remove them. we weren't using them anyways.
svn:revision:77019
svn:branch:trunk
svn:account:brlcad
2020-09-01 17:47:31 +00:00
Clifford Yapp 89fe174a67 This is looking quite tricky - did some experiments in swrast branch, but no quick fix popping out so far - bump down.
svn:revision:77018
svn:branch:trunk
svn:account:starseeker
2020-09-01 17:42:44 +00:00
Clifford Yapp 957c26014c List some of the more obscure MGED menu entries for deprecation.
svn:revision:77017
svn:branch:trunk
svn:account:starseeker
2020-09-01 15:20:57 +00:00
Clifford Yapp 3f5b4dda53 Merge from trunk: r76994 through r77014
svn:revision:77016
svn:branch:RELEASE
svn:account:starseeker
2020-09-01 14:52:39 +00:00
Clifford Yapp 92a7163087 Merge from trunk: r76980 through r76991
svn:revision:77015
svn:branch:RELEASE
svn:account:starseeker
2020-09-01 14:44:36 +00:00
Clifford Yapp 943f9edfe9 More doxygen adjustments
svn:revision:77014
svn:branch:trunk
svn:account:starseeker
2020-09-01 13:49:46 +00:00
Clifford Yapp 7b6afed752 Organize libbg doxygen comments
svn:revision:77013
svn:branch:trunk
svn:account:starseeker
2020-09-01 13:27:07 +00:00
Clifford Yapp 7e5de9d7d9 Categorize for doxygen
svn:revision:77012
svn:branch:trunk
svn:account:starseeker
2020-09-01 12:59:39 +00:00
Clifford Yapp 17a618a3b8 Add some doxygen adjustments.
svn:revision:77011
svn:branch:trunk
svn:account:starseeker
2020-09-01 12:41:57 +00:00
Christopher Sean Morrison 472ec8ae94 note that our bundld libpng and zlib libraries now compile with API prefixes so as not to clash with system versions. the libraries are also installed with a _brl suffix to avoid accidentally matching a system library.
svn:revision:77010
svn:branch:trunk
svn:account:brlcad
2020-09-01 07:21:39 +00:00
Christopher Sean Morrison aabd9ab2ec oof, document the biggest change in this release, tcl/tk is upgraded
svn:revision:77009
svn:branch:trunk
svn:account:brlcad
2020-09-01 06:55:01 +00:00
Christopher Sean Morrison 852fba1492 posthumously document when the mged.bat script was killed
svn:revision:77008
svn:branch:trunk
svn:account:brlcad
2020-09-01 06:51:57 +00:00
Christopher Sean Morrison 7c73576eeb improved nurbs ray tracing performance back in r74817 by eliminating unnecessary computation. chould be minimally or not evident in production builds, but likely evident as no warnings were issued
svn:revision:77007
svn:branch:trunk
svn:account:brlcad
2020-09-01 06:23:26 +00:00
Christopher Sean Morrison 09ec35ffa0 stray n
svn:revision:77006
svn:branch:trunk
svn:account:brlcad
2020-09-01 06:01:11 +00:00
Christopher Sean Morrison 5f091ba78d document the util fixes in addition to the fb fixes for Windows. look nominally like dpix-pix, bwshrink, halftone, pixshrink as well as the plot and brep plot commands
svn:revision:77005
svn:branch:trunk
svn:account:brlcad
2020-09-01 06:00:40 +00:00
Christopher Sean Morrison 961569453f vdeck should handle windows text files now
svn:revision:77004
svn:branch:trunk
svn:account:brlcad
2020-09-01 05:52:27 +00:00
Christopher Sean Morrison 4c7669c302 dm command is published, so documenting the change. sports a new type subcommand (replaces set dmtype
svn:revision:77003
svn:branch:trunk
svn:account:brlcad
2020-09-01 05:36:54 +00:00
Christopher Sean Morrison ac1a123ee6 document the three subcommands to dm. bad usage as synopsis is indeterminant, and can't be resolved because all three are different.
svn:revision:77002
svn:branch:trunk
svn:account:brlcad
2020-09-01 05:35:41 +00:00
Christopher Sean Morrison 610339ea5b cliff removed the Display Manager menu options and associated options for switching display managers
svn:revision:77001
svn:branch:trunk
svn:account:brlcad
2020-09-01 05:14:55 +00:00
Christopher Sean Morrison 49db60d494 unwrap
svn:revision:76994
svn:branch:trunk
svn:account:brlcad
2020-08-31 08:06:33 +00:00
Christopher Sean Morrison 5f5249c6d8 document the claim on db5_diradd's previously unused clientdata. if it's set to one, the object will now be flagged as inmem.
svn:revision:76993
svn:branch:trunk
svn:account:brlcad
2020-08-31 08:00:21 +00:00
Christopher Sean Morrison 047dd7f643 unclear and undocumented why db_lookup is explicitly turning off the inmem flag, so leave a note to investigate.
svn:revision:76992
svn:branch:trunk
svn:account:brlcad
2020-08-31 07:57:28 +00:00
Christopher Sean Morrison 21a2644aa9 rtweight now reports just once on the first material ID with no density file entry, and doesn't report on those unset.
svn:revision:76991
svn:branch:trunk
svn:account:brlcad
2020-08-31 05:18:06 +00:00
Christopher Sean Morrison d52ac128a3 the libs exist. conversion is ongoing and non-specific
svn:revision:76990
svn:branch:trunk
svn:account:brlcad
2020-08-30 18:41:47 +00:00
Christopher Sean Morrison 020844a020 adapting weights for modern times, modes for pix-bw
svn:revision:76989
svn:branch:trunk
svn:account:brlcad
2020-08-30 18:40:46 +00:00
Christopher Sean Morrison 00136fe7e9 document the weights for all the options including the new conversion modes
svn:revision:76988
svn:branch:trunk
svn:account:brlcad
2020-08-30 18:39:17 +00:00
Christopher Sean Morrison cd4b741a66 use more precision to more closely match the standard for ntsc. add additional conversion modes for hdtv, hdr, and the default simple averaging as an explicit mode. no consideration of linear vs non-linear.
svn:revision:76987
svn:branch:trunk
svn:account:brlcad
2020-08-30 18:38:46 +00:00
Clifford Yapp 12bb3de984 Note possible resources for qged console widget improvements.
svn:revision:76981
svn:branch:trunk
svn:account:starseeker
2020-08-27 20:56:40 +00:00
Clifford Yapp aafb0192e9 Merge from trunk: r76975 through r76979
svn:revision:76980
svn:branch:RELEASE
svn:account:starseeker
2020-08-27 18:21:43 +00:00
Clifford Yapp 69585ef2ba Looks like the Creo plugin needs our local versions of these headers on Windows to build. See if we can override the suppression of the 3rd party header installs in the specific cases where it is necessary.
svn:revision:76979
svn:branch:trunk
svn:account:starseeker
2020-08-27 15:43:33 +00:00
Clifford Yapp 85f6a36983 Couple more naming adjustments for 3rd party libs
svn:revision:76978
svn:branch:trunk
svn:account:starseeker
2020-08-27 14:50:09 +00:00
Clifford Yapp eac0ada72a fix comment
svn:revision:76977
svn:branch:trunk
svn:account:starseeker
2020-08-27 14:44:09 +00:00
Clifford Yapp eaba70e3cd Looks like not all versions use MDIR - look for it, but try to proceed even if it isn't found.
svn:revision:76976
svn:branch:trunk
svn:account:starseeker
2020-08-27 13:54:33 +00:00
Clifford Yapp 8d7557f148 The adjustments to the src/other build logic have changed the lib names - quick stab at updating them, but need to test.
svn:revision:76975
svn:branch:trunk
svn:account:starseeker
2020-08-27 12:25:03 +00:00
Clifford Yapp 495a0fa47c Experiment is in swrast branch.
svn:revision:76974
svn:branch:trunk
svn:account:starseeker
2020-08-27 12:17:55 +00:00
Clifford Yapp 3c0ac6bc8c Whoops - disable, then commit
svn:revision:76971
svn:branch:trunk
svn:account:starseeker
2020-08-26 23:54:04 +00:00
Clifford Yapp 74143d72f5 Experiment with hooking a cut down version of https://github.com/zauonlok/renderer into the tcl_img demo code playing the role of the 'dm' viewer. Using one of the demo scenes, not any sort of CAD code, but better than random noise for visual inspection purposes.
svn:revision:76970
svn:branch:trunk
svn:account:starseeker
2020-08-26 23:32:10 +00:00
Christopher Sean Morrison 189ddbd4c3 created a lighting environment manually too many times. need a studio box routine. note some other models that we be grand to have as well.
svn:revision:76969
svn:branch:trunk
svn:account:brlcad
2020-08-26 22:04:22 +00:00
Clifford Yapp 2237b2aa35 Merge from trunk: r76963 through r76967
svn:revision:76968
svn:branch:RELEASE
svn:account:starseeker
2020-08-26 16:43:49 +00:00
Clifford Yapp 73d7fd8dbd Print an indicator of what the next DM/FB update will be.
svn:revision:76967
svn:branch:trunk
svn:account:starseeker
2020-08-26 15:55:14 +00:00
Clifford Yapp 61ca896b63 Spoke too soon - embedded framebuffer is still an issue.
svn:revision:76966
svn:branch:trunk
svn:account:starseeker
2020-08-26 15:13:17 +00:00
Clifford Yapp 88a7b70e24 Set the dm dirty flag when we're not using the DMP global as well
svn:revision:76965
svn:branch:trunk
svn:account:starseeker
2020-08-26 14:48:55 +00:00
Clifford Yapp 37d3a47dba Need to set the dm dirty flag here. Unfortunately, it looks like we were getting away with the X dm embedding in Tk by not having the embedded framebuffer come up - with this enabled we're back to crashing when we try to do an embedded X24 framebuffer in the main MGED Tk window.
svn:revision:76964
svn:branch:trunk
svn:account:starseeker
2020-08-26 14:37:05 +00:00
Clifford Yapp 23d4e354f2 Need to clear out an old GEDP before creating a new one.
svn:revision:76963
svn:branch:trunk
svn:account:starseeker
2020-08-26 14:09:33 +00:00
Daniel Rossberg f25c39ebab don't want to duplicate db5_diradd() and db5_diradd_handler() because of setting a single flag - used the free client_data parameter instead
maybe there is a better posibility to detect an inmem directory handle which I don't know

svn:revision:76962
svn:branch:trunk
svn:account:d_rossberg
2020-08-26 13:11:27 +00:00
Clifford Yapp b5c562d39b Remove note in trunk branch as well.
svn:revision:76961
svn:branch:trunk
svn:account:starseeker
2020-08-26 13:10:10 +00:00
Clifford Yapp ae4ef01250 This issue has been addressed - removed non-working dmtype command, improved update triggering via the "dirty" flag in MGED.
svn:revision:76960
svn:branch:RELEASE
svn:account:starseeker
2020-08-26 12:40:32 +00:00
Clifford Yapp 1090941e88 Merge from trunk r76861 through 76954
svn:revision:76959
svn:branch:RELEASE
svn:account:starseeker
2020-08-26 12:21:02 +00:00
Clifford Yapp a327a0b00e Use Ninja where we can.
svn:revision:76958
svn:branch:trunk
svn:account:starseeker
2020-08-26 12:12:42 +00:00
Daniel Rossberg dc70156784 reverted a bit from previous commit
looks like it breaked at least the asc2g

svn:revision:76957
svn:branch:trunk
svn:account:d_rossberg
2020-08-26 11:54:36 +00:00
Daniel Rossberg 90b92ad637 functions to read the binary database data (as it is contained in a .g file) from RAM into an in-memory database instance
the main function to use is rt_dirbuild_inmem()
very early alpha status, but can be tested

svn:revision:76955
svn:branch:trunk
svn:account:d_rossberg
2020-08-26 10:54:40 +00:00
Clifford Yapp 9a02610bb6 Fix copyright regex
svn:revision:76954
svn:branch:trunk
svn:account:starseeker
2020-08-26 03:06:49 +00:00
Clifford Yapp 110d1a0273 Latest qtads defines a concept of a central widget, which matches what we need for the central display of an Archer style interface.
svn:revision:76953
svn:branch:trunk
svn:account:starseeker
2020-08-26 01:27:15 +00:00
Clifford Yapp e3cde2a014 Update qtads with latest upstream changes.
svn:revision:76952
svn:branch:trunk
svn:account:starseeker
2020-08-26 01:18:07 +00:00
Christopher Sean Morrison 746184357d initialize the window's background color in case it's defaulting to nothing (i.e., transparent). seems to matter on direct visuals with an alpha with latest X11.
svn:revision:76951
svn:branch:trunk
svn:account:brlcad
2020-08-25 22:37:45 +00:00
Clifford Yapp 8eb62b788b Definitely user visible - fix transparent window selection problem with some Linux desktop environments for DM and FB windows.
svn:revision:76950
svn:branch:trunk
svn:account:starseeker
2020-08-25 20:59:13 +00:00
Clifford Yapp aae1615fad Fix transparent display and framebuffer windows.
Some configurations of Linux desktops (including default Gnome setups
on Ubuntu and Redhat) have started using transparency by default. This
has resulted in an odd semi-transparent window for default ogl display
manger and framebuffer windows.

Fix this by adding a filter the X11 visual choosing functions that
rejects any window reporting an alpha mask.  With this filter the
selection returns opaque windows and restores the expected rendering
appearance.

svn:revision:76949
svn:branch:trunk
svn:account:starseeker
2020-08-25 20:58:11 +00:00
Clifford Yapp c4f719e6c3 Fix regress-licenses
svn:revision:76948
svn:branch:trunk
svn:account:starseeker
2020-08-25 18:44:56 +00:00
Clifford Yapp edd8d9dad1 Remove the dmtype menu items, help entry
svn:revision:76947
svn:branch:trunk
svn:account:starseeker
2020-08-25 18:39:22 +00:00
Clifford Yapp e204b783d4 Checkpoint some work on the repocheck tool.
brlcad.org's BSD is suddenly producing segfaults with the repocheck
tool, which aren't reproduced on Linux.  Debugging, it looks as if
the bu_mapped_file strings aren't being accepted by the C++ string
and strstr routines.  The most likely cause is non-NULL termination
of the bu_mapped_file buffer character arrays (which aren't guaranteed).
Using the std::string constructor we can supply buflen from the mapped
file to explicitly manage the content length, but strstr doesn't have
such an option.  The speedup from the strstr preliminary check is
considerable, but what strnstr implementations do exist are fairly
platform specific.  Instead, took a stab at creating a fast, portable
"bu_strnstr" by altering OpenBSD's strstr implementation to accept a
length limit.  For now, just adding in with the repocheck since this
is experimental, but it may be that this is a concern more generally
with strstr operations on bu_mapped_files, and if so it may belong
in libbu proper...

svn:revision:76946
svn:branch:trunk
svn:account:starseeker
2020-08-25 17:37:57 +00:00
Clifford Yapp 12e152a35d When constructing the string, use the explicit buflen from the mapped file.
svn:revision:76945
svn:branch:trunk
svn:account:starseeker
2020-08-25 16:10:26 +00:00
Clifford Yapp 078960161d Runtime display manager type switching with dmtype never worked all that well, and currently doesn't work at all. Move the type reporting function (dmtype with no args reported the currently running dm type) to a subcommand of the dm command where it should have been in the first place (dmtype -> dm type). Remove the runtime dm type setting - to change MGED display manager types, alter the mged_default(dm_type) property in .mgedrc
svn:revision:76944
svn:branch:trunk
svn:account:starseeker
2020-08-25 15:41:33 +00:00
Clifford Yapp 45ceb70bdb Merge from trunk r76940 through r76942
svn:revision:76943
svn:branch:analyze_cmd
svn:account:starseeker
2020-08-25 14:29:18 +00:00
Clifford Yapp daa4c3023e Tag the dm as dirty when update_views is set as well.
svn:revision:76942
svn:branch:trunk
svn:account:starseeker
2020-08-25 14:27:38 +00:00
Clifford Yapp 1a8d545908 Quote pathname
svn:revision:76941
svn:branch:trunk
svn:account:starseeker
2020-08-25 13:43:02 +00:00
Clifford Yapp 0795bcb01e Merge from trunk - r76836 through r76939
svn:revision:76940
svn:branch:analyze_cmd
svn:account:starseeker
2020-08-25 13:03:57 +00:00
Clifford Yapp 4360644591 List files for distclean
svn:revision:76939
svn:branch:trunk
svn:account:starseeker
2020-08-25 12:51:00 +00:00
Clifford Yapp fbe895409c uncomment
svn:revision:76938
svn:branch:trunk
svn:account:starseeker
2020-08-25 12:27:04 +00:00
Clifford Yapp 29a46d43ca couple more dm sets for the dirty flag
svn:revision:76937
svn:branch:trunk
svn:account:starseeker
2020-08-25 11:57:36 +00:00
Clifford Yapp 12559fb96d Needs more testing, but adjusting the setting of the dirty flags gives saner behavior with the classic X libdm backend. Still can't embed the X dm backend in Tk with 8.6 - that seems to be a different category of failure - but this allows the X dm to function in classic mode. Checkpointing a state that shows progress.
svn:revision:76936
svn:branch:trunk
svn:account:starseeker
2020-08-25 03:03:02 +00:00
Clifford Yapp f07e65e762 Switch MGED's display set from using bu_list to using a bu_ptbl.
svn:revision:76935
svn:branch:trunk
svn:account:starseeker
2020-08-25 02:29:42 +00:00
Christopher Sean Morrison b67b98ab74 It's always been a bit strange to me that one can't just put a matrix over any object (comb or primitive). Probably a carryover from comgeom days, but one we really should rectify in v6.
svn:revision:76934
svn:branch:trunk
svn:account:brlcad
2020-08-25 01:51:25 +00:00
Clifford Yapp 8e0843d861 dmlp->m_dmp
svn:revision:76933
svn:branch:trunk
svn:account:starseeker
2020-08-24 22:22:51 +00:00
Clifford Yapp 87c6279375 dml_->dm_
svn:revision:76932
svn:branch:trunk
svn:account:starseeker
2020-08-24 22:21:14 +00:00
Clifford Yapp e662206c41 curr_dm_list -> mged_curr_dm
svn:revision:76931
svn:branch:trunk
svn:account:starseeker
2020-08-24 22:15:43 +00:00
Clifford Yapp 6d3e3c4ecd Rename dm_list container to better reflect what it is - an mged superset of struct dm
svn:revision:76930
svn:branch:trunk
svn:account:starseeker
2020-08-24 22:11:09 +00:00
Clifford Yapp 2c2e991462 rename
svn:revision:76929
svn:branch:trunk
svn:account:starseeker
2020-08-24 22:04:25 +00:00
Clifford Yapp 4a1b21736e Make it a little easier to grep for the MGED dirty flag. The attached X dm seems to be hot spinning (refreshing continually when nothing has changed, maxing one CPU core), need to figure out why...
svn:revision:76928
svn:branch:trunk
svn:account:starseeker
2020-08-24 22:00:51 +00:00
Clifford Yapp 07b597765e Note these functions will always fall back to 'nu'
svn:revision:76927
svn:branch:trunk
svn:account:starseeker
2020-08-24 21:05:56 +00:00
Clifford Yapp 18ae5dc8fc Check mvars and vparse returns once, up front, before use
svn:revision:76926
svn:branch:trunk
svn:account:starseeker
2020-08-24 20:53:20 +00:00
Clifford Yapp 7496eb3ddc System Tcl/Tk doesn't like calling Tk_DeleteGenericHandler in classic mode with a non-Tk dm like txt. Only do Tk event handler logic if the dm we open reports it is graphical.
svn:revision:76925
svn:branch:trunk
svn:account:starseeker
2020-08-24 18:30:50 +00:00
Clifford Yapp cdad7bab53 Protect a couple more pointer returning dm functions with magic checks.
svn:revision:76924
svn:branch:trunk
svn:account:starseeker
2020-08-24 18:22:08 +00:00
Clifford Yapp 604c8551e0 Don't actually use dm_get_vp - remove
svn:revision:76923
svn:branch:trunk
svn:account:starseeker
2020-08-24 15:45:57 +00:00
Clifford Yapp 51a9154641 Adjust several dm functions to never return NULL.
svn:revision:76922
svn:branch:trunk
svn:account:starseeker
2020-08-24 15:40:35 +00:00
Clifford Yapp bada1ae84c Add a BU_CKMAG check to ensure vls returning function calls can never return NULL.
svn:revision:76921
svn:branch:trunk
svn:account:starseeker
2020-08-24 15:30:50 +00:00
Clifford Yapp e63767f0d9 libdm initialization should vls init this, not the app
svn:revision:76920
svn:branch:trunk
svn:account:starseeker
2020-08-24 15:30:02 +00:00
Clifford Yapp f16fc63541 Few more get_pathname adjustments
svn:revision:76919
svn:branch:trunk
svn:account:starseeker
2020-08-24 15:07:40 +00:00
Clifford Yapp 542c86cc1c Fix dm pointer validation target, check result.
svn:revision:76918
svn:branch:trunk
svn:account:starseeker
2020-08-24 13:49:57 +00:00
Christopher Sean Morrison 8cac9a0df6 checking null is unnecessary/redundant with BU_STR_EQUIV() as it handles them (they're equivalent to an empty string) so there's no risk of crashing.
svn:revision:76917
svn:branch:trunk
svn:account:brlcad
2020-08-24 13:40:30 +00:00
Clifford Yapp d002304da1 Variety of dm NULL checks, local vars to improve readability.
svn:revision:76916
svn:branch:trunk
svn:account:starseeker
2020-08-24 13:39:45 +00:00
Clifford Yapp ef8c3643c9 Check dm_get_pathname result in to_is_viewable
svn:revision:76915
svn:branch:trunk
svn:account:starseeker
2020-08-24 13:17:57 +00:00
Clifford Yapp 31f11b8e75 More adjustments to dm_get_pathname calls
svn:revision:76914
svn:branch:trunk
svn:account:starseeker
2020-08-24 13:17:35 +00:00
Clifford Yapp 2af03db628 Set local struct bu_vls * var to dm_get_pathname output - improve readability, check for NULL and zero length.
svn:revision:76913
svn:branch:trunk
svn:account:starseeker
2020-08-24 13:11:04 +00:00
Clifford Yapp 6d2a840d21 Start going through Sean's list of dm functions - check their behavior in the calling code if NULL is returned. Ways to go yet...
svn:revision:76912
svn:branch:trunk
svn:account:starseeker
2020-08-24 12:49:07 +00:00
Christopher Sean Morrison 9d2587487d per todo, improve rtweight docs explaining that it reports the geometric centroid of objects
svn:revision:76911
svn:branch:trunk
svn:account:brlcad
2020-08-24 05:46:41 +00:00
Christopher Sean Morrison b063fd1bf1 put a header line on the rtweight density table output.
svn:revision:76910
svn:branch:trunk
svn:account:brlcad
2020-08-24 04:59:59 +00:00
Christopher Sean Morrison 0a4c552be1 explain what set_factor was doing, had wrong comment, and renamed for future clarity.
svn:revision:76909
svn:branch:trunk
svn:account:brlcad
2020-08-24 03:42:52 +00:00
Clifford Yapp d59a5c7f42 Report the TCP port, which is what the user is most likely to actually need when setting up a remrt run.
svn:revision:76908
svn:branch:trunk
svn:account:starseeker
2020-08-23 17:48:46 +00:00
Christopher Sean Morrison c4dcdc34ec consolidate the embedded bu_vls strings to encourage initializing/releasing together.
svn:revision:76907
svn:branch:trunk
svn:account:brlcad
2020-08-23 16:44:34 +00:00
Christopher Sean Morrison 9c819878a1 protect against null dereferencing
svn:revision:76906
svn:branch:trunk
svn:account:brlcad
2020-08-23 16:18:37 +00:00
Christopher Sean Morrison 2c85224cc6 should manually initialize all embedded structs on creation, particularly vls so the magic is set correctly
svn:revision:76905
svn:branch:trunk
svn:account:brlcad
2020-08-23 16:15:00 +00:00
Christopher Sean Morrison 21a1ca6e4a eliminate the preprocessor indirection, check for null dereferencing
svn:revision:76904
svn:branch:trunk
svn:account:brlcad
2020-08-23 16:13:18 +00:00
Christopher Sean Morrison f9a9878153 make sure we're not dereferencing null
svn:revision:76903
svn:branch:trunk
svn:account:brlcad
2020-08-23 16:12:28 +00:00
Christopher Sean Morrison 0b9bc9cc4b ws consistency cleanup
svn:revision:76902
svn:branch:trunk
svn:account:brlcad
2020-08-23 16:10:28 +00:00
Christopher Sean Morrison d05078ac98 simplify and make sure we're not printing a null pointer. seems unlikely logic is correctly / gracefully handling there being no dm.
svn:revision:76901
svn:branch:trunk
svn:account:brlcad
2020-08-23 16:09:08 +00:00
Christopher Sean Morrison f60b5ca15e trigger an anything greater than our capacity for safety, not just the full value.
svn:revision:76900
svn:branch:trunk
svn:account:brlcad
2020-08-23 13:35:34 +00:00
Christopher Sean Morrison 152b8908b8 init more, remove some continuations.
svn:revision:76899
svn:branch:trunk
svn:account:brlcad
2020-08-23 05:50:34 +00:00
Christopher Sean Morrison 9ad179d73e fbclear -c appears to hang indefinitely. don't know when it broke.
svn:revision:76898
svn:branch:trunk
svn:account:brlcad
2020-08-23 03:49:50 +00:00
Clifford Yapp 741c846f62 Attempt to add a start-to-finish example of a Hellow World remrt usage.
svn:revision:76897
svn:branch:trunk
svn:account:starseeker
2020-08-23 02:12:47 +00:00
Clifford Yapp 0647e25528 Note support for help options added to g2asc and asc2dsp
svn:revision:76896
svn:branch:trunk
svn:account:starseeker
2020-08-23 00:42:39 +00:00
Clifford Yapp 9afac44b7e Check implementation, not wrapping pointer
svn:revision:76895
svn:branch:trunk
svn:account:starseeker
2020-08-22 23:49:24 +00:00
Clifford Yapp 37b53fd095 Don't special case in fb_open, just add the built-in fb interfaces to the map.
svn:revision:76894
svn:branch:trunk
svn:account:starseeker
2020-08-22 22:23:10 +00:00
Clifford Yapp ca127c0c36 Handle help options in debug2c so it won't write spurious -? file in usage.sh execution.
svn:revision:76893
svn:branch:trunk
svn:account:starseeker
2020-08-22 16:17:52 +00:00
Clifford Yapp b8f72eabe2 IIF we're doing one process at a time, check for -? files
svn:revision:76892
svn:branch:trunk
svn:account:starseeker
2020-08-22 16:14:01 +00:00
Clifford Yapp 292201841a Spotted a couple of programs in usage.sh output that are treating '-h' and '-?' as filenames and creating a '-?' ouput file. Add basic option handling so they interpret -h and -? as help requests.
svn:revision:76891
svn:branch:trunk
svn:account:starseeker
2020-08-22 16:03:27 +00:00
Clifford Yapp a4fa580abe The bare '-' character may be used to denote arguments for programs (for example, to use stdin or stdout in lieu of a file) - update bu_opt to recognize that the isolated '-' char isn't an option. (Note - need to think about whether the "--" string is in the same category... probably...
svn:revision:76890
svn:branch:trunk
svn:account:starseeker
2020-08-22 15:53:17 +00:00
Clifford Yapp de64063c78 The 'old' test doesn't run - input file reports invalid characters - but the new one does run. Rather than completely turn off the test, run the conversion that does work.
svn:revision:76889
svn:branch:trunk
svn:account:starseeker
2020-08-22 15:31:32 +00:00
Clifford Yapp f851a2e513 This is the source of the bu_malloc(0) report and dauto crash log in the usage.sh run. Need to validate the numerical conversion before trying to malloc memory. Still not sure why I was seeing intermittent failure to print the usage message, but so far can't reproduce that failure after fixing this.
svn:revision:76888
svn:branch:trunk
svn:account:starseeker
2020-08-22 14:40:56 +00:00
Christopher Sean Morrison 5e9a7e9b94 still could be broken/wrong. need to simplly use the variable.
svn:revision:76887
svn:branch:trunk
svn:account:brlcad
2020-08-22 06:22:13 +00:00
Christopher Sean Morrison 963cfd8f57 set mged commands to a variable so they can be automatically found
svn:revision:76886
svn:branch:trunk
svn:account:brlcad
2020-08-22 06:15:08 +00:00
Christopher Sean Morrison 55efd5a249 revert c76872. bu_exit() is not the problem. bug masking is a straight up antipattern.
svn:revision:76885
svn:branch:trunk
svn:account:brlcad
2020-08-22 06:06:04 +00:00
Christopher Sean Morrison 5d60723c77 unable to reproduce, bu_exit() is working as intended on mac.
svn:revision:76884
svn:branch:trunk
svn:account:brlcad
2020-08-22 05:54:30 +00:00
Christopher Sean Morrison 79959ba674 it's correct to include setjmp.h because the implementation directly calls longjmp(), even if headers include it for other reasons
svn:revision:76883
svn:branch:trunk
svn:account:brlcad
2020-08-22 05:19:27 +00:00
Christopher Sean Morrison 03c52aad94 document removal of facetall.sh
svn:revision:76882
svn:branch:trunk
svn:account:brlcad
2020-08-22 04:43:24 +00:00
Christopher Sean Morrison 0f183eff8c reword for clarity (Remove the old facetall.sh script - MGED facetize command should now be a superset of this functionality.)
svn:revision:76881
svn:branch:trunk
svn:account:brlcad
2020-08-22 04:25:53 +00:00
Clifford Yapp e088dbd093 Cleanup, provide Tclcad_Init for .so file loading
svn:revision:76880
svn:branch:trunk
svn:account:starseeker
2020-08-21 23:50:16 +00:00
Clifford Yapp ba248a9429 tclcad_init is the call to use. Also not directly initing Itcl from rtwizard.
svn:revision:76879
svn:branch:trunk
svn:account:starseeker
2020-08-21 22:35:50 +00:00
Clifford Yapp 43076c7739 We need to do better than exact string lookup - replicate the old _if_list[i]->if_name bu_strncmp check in the plugin test. Fixes rtwizard preview and render.
svn:revision:76878
svn:branch:trunk
svn:account:starseeker
2020-08-21 22:33:42 +00:00
Clifford Yapp 6d4b1ac186 No longer need to do this.
svn:revision:76877
svn:branch:trunk
svn:account:starseeker
2020-08-21 22:18:50 +00:00
Clifford Yapp 43a267ad1e Sumagna Das reported that drawing a VOL primitive with missing data file was crashing MGED. Plotting routine wasn't validating the map in vip before trying to access it. Check first, and simply return if no map is present (nothing to draw.)
svn:revision:76876
svn:branch:trunk
svn:account:starseeker
2020-08-21 20:45:06 +00:00
Clifford Yapp 3c7627c7c6 Checkpoint work on logic to read through the regression tests and spot the execution of programs. Patterns undoubtedly need improvement, but getting semi-sane results commiting with the regression test itself commented out.
svn:revision:76875
svn:branch:trunk
svn:account:starseeker
2020-08-21 20:27:20 +00:00
Clifford Yapp bd32c3e5d3 Have the build system report out the BRLCAD_ADDEXEC programs that aren't test programs or otherwise excluded from installation. These are the programs of primary interest for testing.
svn:revision:76874
svn:branch:trunk
svn:account:starseeker
2020-08-21 16:50:18 +00:00
Clifford Yapp 61d2590144 Remove the old facetall.sh script - MGED facetize command should now be a superset of this functionality.
svn:revision:76873
svn:branch:trunk
svn:account:starseeker
2020-08-21 16:02:01 +00:00
Clifford Yapp b3c5e08c22 Still can't determine why bu_exit is an issue in these cases (only commonality seems to be bu_exit called right after isatty - not sure why that would matter...) but bu_exit isn't really necessary to print the help msgs. Just bu_log and return. usage.sh can complete its run without throwing bombs now on linux, although one or more programs are producing a '-?' file rather than intepreting ? as a help option.
svn:revision:76872
svn:branch:trunk
svn:account:starseeker
2020-08-21 15:43:20 +00:00
Clifford Yapp fdab9d195d Add some sanity checking for the sphmap routines called by pix-spm.
svn:revision:76871
svn:branch:trunk
svn:account:starseeker
2020-08-21 15:37:41 +00:00
Clifford Yapp c57fbf0c0a No, that doesn't do it either. Failure doesn't seem to be 100% reliable - usage.sh can trigger it, but testing in isoluation only produces occasional failures. Almost as if some global state is involved...
svn:revision:76870
svn:branch:trunk
svn:account:starseeker
2020-08-21 15:20:40 +00:00
Clifford Yapp 25c2baf0ef Ah! There we go. Adding setjmp.h to bomb.c's system headers works. Should already have been coming in from bu/parallel.h though...
svn:revision:76869
svn:branch:trunk
svn:account:starseeker
2020-08-21 15:09:51 +00:00
Clifford Yapp 0a12b853ad Including bu/parallel.h gets bu_exit behaving again, but not clear why.
svn:revision:76868
svn:branch:trunk
svn:account:starseeker
2020-08-21 15:05:15 +00:00
Clifford Yapp 9c4ad27e03 bu_exit doesn't seem to succeed here - BU_SETJMP is set somehow, and bu_bomb is called by bu_exit. Just log the message and return, until it's clearer what's going on.
svn:revision:76867
svn:branch:trunk
svn:account:starseeker
2020-08-21 14:55:20 +00:00
Clifford Yapp cc22b18faf rtwizard check caught it - /dev/mem and /dev/stack interfaces are built in, not loaded as plugins - check accordingly.
svn:revision:76866
svn:branch:trunk
svn:account:starseeker
2020-08-21 14:27:34 +00:00
Clifford Yapp 32a0877a20 scrub unnecessary logging lines from solids.sh
svn:revision:76865
svn:branch:trunk
svn:account:starseeker
2020-08-21 14:09:38 +00:00
Clifford Yapp 251ffaccaa Fix logfile name being grepped by comgeom regression test for errors.
svn:revision:76864
svn:branch:trunk
svn:account:starseeker
2020-08-21 14:02:16 +00:00
Clifford Yapp 71d4f90093 Merge from trunk: r76859 through r76861
svn:revision:76862
svn:branch:RELEASE
svn:account:starseeker
2020-08-21 12:34:08 +00:00
Clifford Yapp 93123a42e5 Make a couple of build system adjustments (set target folders, mark as advanced). Major change is to do for libdm what we did for libged and make a single target for apps to use as a dependency lister, rather than calling out individual backends - that's not robust to changes in backend target names and would be fragile in the long run.
svn:revision:76861
svn:branch:trunk
svn:account:starseeker
2020-08-21 12:30:38 +00:00
Clifford Yapp 258cec8f1e Merge from trunk: r76794 through r76858
svn:revision:76859
svn:branch:RELEASE
svn:account:starseeker
2020-08-20 22:47:56 +00:00
Clifford Yapp 469f4af1d3 fix help msg
svn:revision:76858
svn:branch:analyze_cmd
svn:account:starseeker
2020-08-20 02:11:22 +00:00
Clifford Yapp 6200df24a7 fix help printing
svn:revision:76857
svn:branch:analyze_cmd
svn:account:starseeker
2020-08-20 02:10:26 +00:00
Clifford Yapp b1009a4fc3 Put the subtraction capability back in as well.
svn:revision:76856
svn:branch:analyze_cmd
svn:account:starseeker
2020-08-20 02:07:59 +00:00
Clifford Yapp 65b3d02971 Cleanup. This successfully trims away points from a pnts object specifying two spheres in succession - analyze intersect -o interior.pnts pnts.s sph1.s sph2.s
svn:revision:76855
svn:branch:analyze_cmd
svn:account:starseeker
2020-08-20 02:02:36 +00:00
Clifford Yapp 67fd942fc3 checkpoint
svn:revision:76854
svn:branch:analyze_cmd
svn:account:starseeker
2020-08-20 00:05:33 +00:00
Clifford Yapp d315970ce3 checkpoint
svn:revision:76853
svn:branch:analyze_cmd
svn:account:starseeker
2020-08-19 23:30:53 +00:00
Clifford Yapp 4e80e69b23 Checkpoint
svn:revision:76852
svn:branch:analyze_cmd
svn:account:starseeker
2020-08-19 22:55:01 +00:00
Clifford Yapp 36d3266509 Break out primitive specific logic into files, and wire up the summary function of the analyze command as a subcommand.
svn:revision:76851
svn:branch:analyze_cmd
svn:account:starseeker
2020-08-19 17:50:31 +00:00
Clifford Yapp a40e0c77c5 Stub in bare bones of a subcommand based analyze command.
svn:revision:76850
svn:branch:analyze_cmd
svn:account:starseeker
2020-08-19 15:26:00 +00:00
Clifford Yapp c8ada24f43 Stash a note - not sure where the number 20 came from here...
svn:revision:76849
svn:branch:trunk
svn:account:starseeker
2020-08-19 14:54:56 +00:00
Clifford Yapp 1eb79e5f4e Sean reports negative experience with Tcl_Sleep - not clear how much benefit it provides here, so remove it until there's a clear need.
svn:revision:76848
svn:branch:trunk
svn:account:starseeker
2020-08-19 14:18:47 +00:00
Clifford Yapp 6cdfc5aa51 Valgrind pegged which fd was getting leaked. If we close this, also shouldn't process Tcl events in cmdline mode after the commands finish.
svn:revision:76847
svn:branch:trunk
svn:account:starseeker
2020-08-19 13:39:24 +00:00
Christopher Sean Morrison 29cb67d216 more thread-sane, print as one block
svn:revision:76846
svn:branch:trunk
svn:account:brlcad
2020-08-19 08:21:31 +00:00
Christopher Sean Morrison db2f98657f track and report on the first few IDs that don't have a density defined, still silently ignoring the rest. update the message as being a warning instead of advisotry. don't report on objects without an ID.
svn:revision:76845
svn:branch:trunk
svn:account:brlcad
2020-08-19 08:18:17 +00:00
Clifford Yapp 139017eb43 Dust off the root3 subdivision test program.
svn:revision:76844
svn:branch:trunk
svn:account:starseeker
2020-08-19 02:06:49 +00:00
Clifford Yapp a499483f2b Fix comment
svn:revision:76843
svn:branch:trunk
svn:account:starseeker
2020-08-19 01:44:46 +00:00
Clifford Yapp ad11eb69f1 Rename to match the convention used by related functions in libbn (which need to migrate to libbg)
svn:revision:76842
svn:branch:trunk
svn:account:starseeker
2020-08-19 01:36:00 +00:00
Clifford Yapp 1b11a38232 Experience with CDT proved it is better to implement convex hull functions in such a way that the decision of whether to allocate new arrays for vertices is left to the caller. Will need to change function signatures, and provide separatew utility functions that package up that bookkeeping.
svn:revision:76841
svn:branch:trunk
svn:account:starseeker
2020-08-19 01:24:19 +00:00
Clifford Yapp 55a4cd0a83 Remove a few more old, unused files
svn:revision:76840
svn:branch:trunk
svn:account:starseeker
2020-08-19 01:05:00 +00:00
Clifford Yapp 3442e7c57d Strip out disable/incomplete code from the CDT implementation. VCS has it if an opportunity to revisit it appears.
svn:revision:76839
svn:branch:trunk
svn:account:starseeker
2020-08-19 00:59:34 +00:00
Clifford Yapp eff511fd56 Arrrgh. Looks like I recorded the wrong triangle - probably followed the ray backwards instead of forwards, from the looks of things. Not a useful test, will have to track down another example.
svn:revision:76838
svn:branch:trunk
svn:account:starseeker
2020-08-19 00:37:19 +00:00
Clifford Yapp 50f27261ae Actually, before we get into this should probably do basic setup on the analyze command itself
svn:revision:76837
svn:branch:analyze_cmd
svn:account:starseeker
2020-08-18 23:22:05 +00:00
Clifford Yapp 25441b4e2c Pull in inside/outside pnts logic from trunk for refactoring
svn:revision:76836
svn:branch:analyze_cmd
svn:account:starseeker
2020-08-18 20:57:50 +00:00
Clifford Yapp 5bf90d62ad Make a branch to experiment with an analyze cmd refactor
svn:revision:76835
svn:branch:analyze_cmd
svn:account:starseeker
2020-08-18 20:50:54 +00:00
Clifford Yapp a924ab45ac Back out the exposure of the point inside/outside test - needs more design thought.
svn:revision:76834
svn:branch:trunk
svn:account:starseeker
2020-08-18 20:07:39 +00:00
Clifford Yapp bc0ba220e9 Add a test .g file for the cg pnts operation - this has three points on or inside the sphere and three outside it. Not sure yet if we're ready to actually wire up a test.
svn:revision:76833
svn:branch:trunk
svn:account:starseeker
2020-08-18 16:26:30 +00:00
Christopher Sean Morrison c16706fc61 back_inserter needs iterator.h
svn:revision:76832
svn:branch:trunk
svn:account:brlcad
2020-08-18 16:03:12 +00:00
Clifford Yapp 7e0c826807 Remove the 'inside' subcommand from pnts
svn:revision:76831
svn:branch:trunk
svn:account:starseeker
2020-08-18 15:58:37 +00:00
Clifford Yapp bb6c04b566 Add the point inside/outside test to cg
This supports two operations - intersection and subtraction - between
a point cloud on the left and a volumetric object on the right.  It
will find the subset of the points in the left hand object that are
either inside and on (i.e. intersecting) or outside the test volume.
Command form is:

cg eval "pnts.s + sph.s" inside.pnts

cg eval "pnts.s - sph.s" outside.pnts

svn:revision:76830
svn:branch:trunk
svn:account:starseeker
2020-08-18 15:57:34 +00:00
Clifford Yapp b8dc5345e3 Stub in a cg LIBGED command - no functionality yet, just a basic command logic framework.
svn:revision:76829
svn:branch:trunk
svn:account:starseeker
2020-08-18 14:43:01 +00:00
Clifford Yapp d8d285f5eb C++ file, not C file - fix footer
svn:revision:76828
svn:branch:trunk
svn:account:starseeker
2020-08-18 14:13:48 +00:00
Clifford Yapp 6278a2772f Very simple cap on the number of times this message is printed. bu_logging from the hit callback is generally not a great idea to begin with, since you'll have lots of threads simultaneously hitting bu_log most of the time... even if that's not an issue for the application it's fairly hard to interpret. Better would be to store any information we want to report about this issue per-thread and then summarize it at the dispatcher level...
svn:revision:76827
svn:branch:trunk
svn:account:starseeker
2020-08-18 13:16:42 +00:00
Clifford Yapp e75e89819c Throttle the event checking a bit to try and avoid an all-out hot spin waiting for output.
svn:revision:76826
svn:branch:trunk
svn:account:starseeker
2020-08-18 12:21:16 +00:00
Clifford Yapp ebb949bcf9 When we're in command execution mode, clear out all the Tcl events (if any) from subprocesses *before* we exit, in order to print their output.
svn:revision:76825
svn:branch:trunk
svn:account:starseeker
2020-08-18 11:56:49 +00:00
Clifford Yapp 3490700e07 STDOUT, not STDERR - already have a STDERR handler
svn:revision:76824
svn:branch:trunk
svn:account:starseeker
2020-08-18 11:29:43 +00:00
Clifford Yapp b19fcd25df Rather than bu_log at the library level, let the calling code decide what to do about validating argv[0] with the information returned by the GED_UNKNOWN flag and argv[0] value itself.
svn:revision:76823
svn:branch:trunk
svn:account:starseeker
2020-08-18 11:07:46 +00:00
Clifford Yapp a44f877faf Rather than fatally aborting when we find a command mismatch on a named ged function call, warn and override with the "root" function name. This should work in every case the command would originally have worked - the only failure would be if there is a command that the plugin is supposed to be providing that didn't get set up, which would be a legitimate bug on libged's end.
svn:revision:76822
svn:branch:trunk
svn:account:starseeker
2020-08-18 10:57:01 +00:00
Clifford Yapp 55342f9691 Listen for both stdout and stderr output from the rt tools - this gets the summary in MGED GUI mode, but we still don't get anything at all in classic mode. Not sure why yet. tclcad_create_io_handler is being called, but Tcl_CreateFileHandler is never triggered so _ged_rt_output_handler isn't called. Apparently this was also true in 72189, as the output is printed without the callback ever being triggered there as well...
svn:revision:76821
svn:branch:trunk
svn:account:starseeker
2020-08-18 02:28:28 +00:00
Clifford Yapp 816ff87bf9 Didn't mean to delete that comment
svn:revision:76820
svn:branch:trunk
svn:account:starseeker
2020-08-17 17:47:52 +00:00
Clifford Yapp e66af599f9 Not ready for Ninja yet, go with just a make all/check rather than distcheck
svn:revision:76819
svn:branch:trunk
svn:account:starseeker
2020-08-17 17:34:42 +00:00
Clifford Yapp afc093be42 Expose point inside/outside testing using the raytracer via the pnts command. Not documented yet, needs more testing.
svn:revision:76818
svn:branch:trunk
svn:account:starseeker
2020-08-17 15:19:51 +00:00
Clifford Yapp fea21b51b9 Extract the inside/outside pnt test with the raytracer created for the polygonizer.
svn:revision:76817
svn:branch:trunk
svn:account:starseeker
2020-08-17 13:08:40 +00:00
Clifford Yapp 06cf75b9c4 revert r76808 - github runner didn't like that approach either...
svn:revision:76816
svn:branch:trunk
svn:account:starseeker
2020-08-17 12:50:54 +00:00
Clifford Yapp 518e5e2ec6 Nope, that approach won't work - code is too interdependent. Put gdal back the way it was.
svn:revision:76815
svn:branch:trunk
svn:account:starseeker
2020-08-17 03:43:51 +00:00
Clifford Yapp 770945c87d Whoops, caught a tmp file
svn:revision:76814
svn:branch:trunk
svn:account:starseeker
2020-08-17 02:57:36 +00:00
Clifford Yapp c188f4134b See if collapsing ogr into its own lib helps... may be too big by itself
svn:revision:76813
svn:branch:trunk
svn:account:starseeker
2020-08-17 02:56:07 +00:00
Clifford Yapp 66f6becdc7 See if collapsing ogr into its own lib helps... may be too big by itself (preliminary file move commit) 2020-08-17 02:56:07 +00:00
Clifford Yapp d3f7c4c2a9 Still produces a long object list - try a library
svn:revision:76812
svn:branch:trunk
svn:account:starseeker
2020-08-17 02:10:56 +00:00
Clifford Yapp c4d97b1395 I may be mistaken, but it looks like the Windows Ninja CMake setup can't handle super-long object lists - if I disable all of the formats the buidl will complete. Try collapsing the frmts subdirs into a single object build and see if that helps.
svn:revision:76811
svn:branch:trunk
svn:account:starseeker
2020-08-17 01:55:50 +00:00
Clifford Yapp f6800ff12d I may be mistaken, but it looks like the Windows Ninja CMake setup can't handle super-long object lists - if I disable all of the formats the buidl will complete. Try collapsing the frmts subdirs into a single object build and see if that helps. (preliminary file move commit) 2020-08-17 01:55:50 +00:00
Clifford Yapp e4c0b34562 Whoops, point was to remove these. Probably didn't do the previous refactor right - should have removed the -D prefixes - but if this works we can go with it for now.
svn:revision:76810
svn:branch:trunk
svn:account:starseeker
2020-08-16 19:09:56 +00:00
Clifford Yapp 47ca428ca4 Note that vcvars64.bat is important for getting 64 bit building
svn:revision:76809
svn:branch:trunk
svn:account:starseeker
2020-08-16 19:06:45 +00:00
Christopher Sean Morrison 704e97c844 try the same trick, casting NULL through to a uintptr_t. if the platform has a non-zero null representation, it should trigger.
svn:revision:76808
svn:branch:trunk
svn:account:brlcad
2020-08-16 18:53:14 +00:00
Clifford Yapp f5f000e915 See if making the targeted assignments more focused helps
svn:revision:76807
svn:branch:trunk
svn:account:starseeker
2020-08-16 18:38:22 +00:00
Clifford Yapp bd95c316ca More reordering
svn:revision:76806
svn:branch:trunk
svn:account:starseeker
2020-08-16 18:16:49 +00:00
Clifford Yapp 40c321008a Ditto tk - try to match previous ordering
svn:revision:76805
svn:branch:trunk
svn:account:starseeker
2020-08-16 18:08:52 +00:00
Clifford Yapp c0d371dd0b Do the custom assignments after the generic assignments
svn:revision:76804
svn:branch:trunk
svn:account:starseeker
2020-08-16 18:07:20 +00:00
Clifford Yapp 519133b93c Don't apply flags to tclsh.rc
svn:revision:76803
svn:branch:trunk
svn:account:starseeker
2020-08-16 17:51:23 +00:00
Clifford Yapp 27d79f6ccf Flags aren't global any longer, apply them to more source files
svn:revision:76802
svn:branch:trunk
svn:account:starseeker
2020-08-16 17:47:48 +00:00
Clifford Yapp c9aa039f1d Main build isn't ready yet, but see if we can use Ninja for building on all platforms.
svn:revision:76801
svn:branch:trunk
svn:account:starseeker
2020-08-16 17:23:40 +00:00
Clifford Yapp 4e423bfaed Remove debug messages
svn:revision:76800
svn:branch:trunk
svn:account:starseeker
2020-08-16 17:21:53 +00:00
Clifford Yapp a7565014cd Give rc.exe an include directory for wish.exe.manifest
svn:revision:76799
svn:branch:trunk
svn:account:starseeker
2020-08-16 17:19:42 +00:00
Clifford Yapp ae83c90aef See if the same approach will work for Tk
svn:revision:76798
svn:branch:trunk
svn:account:starseeker
2020-08-16 16:55:29 +00:00
Clifford Yapp ce41ea46de Fix function applying definitions
svn:revision:76797
svn:branch:trunk
svn:account:starseeker
2020-08-16 16:49:14 +00:00
Clifford Yapp 7b4417aed6 See if we can set this up to avoid the flags causing rc.exe problems from being set on that file.
svn:revision:76796
svn:branch:trunk
svn:account:starseeker
2020-08-16 16:36:51 +00:00
Clifford Yapp 2348c57a5f Merge from trunk: r76790 through r76794
svn:revision:76795
svn:branch:RELEASE
svn:account:starseeker
2020-08-16 13:56:30 +00:00
Clifford Yapp 941b47ad71 Call out asc2pix
svn:revision:76794
svn:branch:trunk
svn:account:starseeker
2020-08-15 16:38:22 +00:00
Clifford Yapp e27a639e5a Append one extra number to ensure dm plugins will be rejected by ged and vice versa, if they end up in the wrong place.
svn:revision:76793
svn:branch:trunk
svn:account:starseeker
2020-08-15 15:38:22 +00:00
Clifford Yapp 119b567d47 Looks like the github runner Ubuntu+GCC doesn't like the non-NULL pointer check here.
svn:revision:76792
svn:branch:trunk
svn:account:starseeker
2020-08-15 15:17:50 +00:00
Clifford Yapp 600fca47a3 Merge from trunk: r76788 through r76790
svn:revision:76791
svn:branch:RELEASE
svn:account:starseeker
2020-08-15 14:47:29 +00:00
Clifford Yapp bf2cf9c154 Match LIBDM changes in LIBGED plugin api as well.
svn:revision:76790
svn:branch:trunk
svn:account:starseeker
2020-08-15 14:35:14 +00:00
Clifford Yapp 5dfca4c744 Merge from trunk: r76770 through r76788
svn:revision:76789
svn:branch:RELEASE
svn:account:starseeker
2020-08-15 14:31:44 +00:00
Clifford Yapp 591afdd0ee The background color setting was getting a ged_gvp set by calling set_curr_dm, even though that's not what we want in that case. Work around the issue, but MGED's state management will need some thought going forward.
svn:revision:76788
svn:branch:trunk
svn:account:starseeker
2020-08-15 14:25:49 +00:00
Christopher Sean Morrison 0f74fd92e5 document that it must be first
svn:revision:76787
svn:branch:trunk
svn:account:brlcad
2020-08-15 14:14:30 +00:00
Christopher Sean Morrison c932902603 the alignment check isn't needed, just check the version number
svn:revision:76786
svn:branch:trunk
svn:account:brlcad
2020-08-15 14:11:58 +00:00
Christopher Sean Morrison 3dc23a713c document the checks being used by BU_CKMAG since they're fairly low-level operations. add a direct check for nullity, too. will have to keep an eye on whether the null check provokes an unreachable expression warning on linters (e.g., coverity). shouldn't be redundant on a platform with non-zero valued null pointers.
svn:revision:76785
svn:branch:trunk
svn:account:brlcad
2020-08-15 14:06:46 +00:00
Clifford Yapp c80ddb18f1 As with LIBDM, introduce a plugin API version for LIBGED
svn:revision:76784
svn:branch:trunk
svn:account:starseeker
2020-08-15 14:06:45 +00:00
Clifford Yapp ee60ca4556 dm-ps needs TCL_LIBRARY
svn:revision:76783
svn:branch:trunk
svn:account:starseeker
2020-08-15 13:52:59 +00:00
Clifford Yapp 9b5ed3e224 Allow for empty list in CMAKEFILES function
svn:revision:76782
svn:branch:trunk
svn:account:starseeker
2020-08-15 13:45:48 +00:00
Clifford Yapp cc34471562 distcheck is still a bit too problematic with MSVC - do what we do manually, build everything and run the check target.
svn:revision:76781
svn:branch:trunk
svn:account:starseeker
2020-08-15 13:42:31 +00:00
Clifford Yapp f3bbaafde9 Remove debug message
svn:revision:76780
svn:branch:trunk
svn:account:starseeker
2020-08-15 13:39:25 +00:00
Clifford Yapp 7a9c0346d4 Handle any .github files temporarily so we can run distcheck more easily
svn:revision:76779
svn:branch:trunk
svn:account:starseeker
2020-08-15 13:39:03 +00:00
Clifford Yapp 73c30d9920 List files for distcheck
svn:revision:76778
svn:branch:trunk
svn:account:starseeker
2020-08-15 13:21:51 +00:00
Christopher Sean Morrison 402027be2e ws
svn:revision:76777
svn:branch:trunk
svn:account:brlcad
2020-08-15 12:28:39 +00:00
Christopher Sean Morrison 19ed8fadd8 bu_units_string is itself undocumented and appears to be used via the undocumented 'units -t' switch for getting a listing of length units. needs cleanup
svn:revision:76776
svn:branch:trunk
svn:account:brlcad
2020-08-15 12:27:33 +00:00
Christopher Sean Morrison b561fa2e55 document bu_units_conversion() in more detail with examples
svn:revision:76775
svn:branch:trunk
svn:account:brlcad
2020-08-15 04:35:38 +00:00
Christopher Sean Morrison 2baf649afc note these tables should be kept sorted
svn:revision:76774
svn:branch:trunk
svn:account:brlcad
2020-08-15 04:35:07 +00:00
Christopher Sean Morrison ba6adade14 expand bu_units_conversion() to also match conversion value so that callers may specify '4ft' for example, and it will evaluate to the corresponding conversion factor.
svn:revision:76773
svn:branch:trunk
svn:account:brlcad
2020-08-15 04:15:00 +00:00
Christopher Sean Morrison ed447ae08e input is const, no reason for copying it
svn:revision:76772
svn:branch:trunk
svn:account:brlcad
2020-08-15 02:33:03 +00:00
Christopher Sean Morrison b05b266192 remove the statements of discouragement as it can be misleading to cursory encounters.
svn:revision:76771
svn:branch:trunk
svn:account:brlcad
2020-08-15 02:29:08 +00:00
Clifford Yapp 9339a722f5 Pull in the latest RELEASE changes through r76769.
svn:revision:76770
svn:branch:trunk
svn:account:starseeker
2020-08-15 01:11:03 +00:00
Clifford Yapp 147206519a This is getting too painful to keep straight - just go ahead and pull in the more recent trunk changes to RELEASE. Better to sort them out now instead of trying to untangle the trunk and RELEASE changes after an even longer divergence.
svn:revision:76769
svn:branch:RELEASE
svn:account:starseeker
2020-08-15 01:05:57 +00:00
Clifford Yapp fb025fbf9a Turn postscript libdm plugin back on
svn:revision:76768
svn:branch:RELEASE
svn:account:starseeker
2020-08-15 00:35:05 +00:00
Clifford Yapp 9ed177d29d Add a version number validation to the libdm plugin loading
svn:revision:76767
svn:branch:RELEASE
svn:account:starseeker
2020-08-15 00:29:12 +00:00
Clifford Yapp 1883d5d04a Merge trunk changes from r76747 through r76764
svn:revision:76766
svn:branch:RELEASE
svn:account:starseeker
2020-08-15 00:28:25 +00:00
Christopher Sean Morrison b71508520c fix typo and clarify why these opts aren't included
svn:revision:76765
svn:branch:trunk
svn:account:brlcad
2020-08-15 00:28:10 +00:00
Christopher Sean Morrison 50ed34a3c2 dynamic command loading for libged too
svn:revision:76764
svn:branch:trunk
svn:account:brlcad
2020-08-14 23:21:50 +00:00
Christopher Sean Morrison a3dda2fa82 note that mged and archer now load displays dynamically as a significant architecture change for the upcoming 7.32.0 releaes
svn:revision:76763
svn:branch:trunk
svn:account:brlcad
2020-08-14 22:51:04 +00:00
Christopher Sean Morrison 6daa188863 there's no need or benefit of having the densityfile_vls be on the heap or come from the small-memory allocator. just put the struct on the stack.
svn:revision:76762
svn:branch:trunk
svn:account:brlcad
2020-08-14 21:39:44 +00:00
Christopher Sean Morrison a1970511d0 note that this is a fatal error condition, not a warning, and tell the caller why configure is being halted so the causality is obvious.
svn:revision:76761
svn:branch:trunk
svn:account:brlcad
2020-08-14 20:00:07 +00:00
Clifford Yapp 584c09763d Couple build system fixes, add debugging message to dm_init.cpp
svn:revision:76760
svn:branch:trunk
svn:account:starseeker
2020-08-14 19:42:12 +00:00
Clifford Yapp 6783f994d7 fix comment
svn:revision:76759
svn:branch:RELEASE
svn:account:starseeker
2020-08-14 19:11:33 +00:00
Clifford Yapp d3b7a34f2f Auugh. VS clean target exists all right, but it doesn't seem to be happy with the solution file generated by CMake - claims there are two regress targets defined, even though grep only sees one. Possibly some variation on this issue? https://github.com/dotnet/msbuild/issues/3019 Fall back on just the distcheck script.
svn:revision:76758
svn:branch:RELEASE
svn:account:starseeker
2020-08-14 19:07:59 +00:00
Clifford Yapp 6efed6a5a1 More distclean fixes - ninja distclean now works after regress
svn:revision:76757
svn:branch:RELEASE
svn:account:starseeker
2020-08-14 19:04:09 +00:00
Clifford Yapp f8ad945a1f See if we can trigger the distclean target portably using CMake
svn:revision:76756
svn:branch:RELEASE
svn:account:starseeker
2020-08-14 18:55:22 +00:00
Clifford Yapp 880db1450c Improve distclean listing logic
svn:revision:76755
svn:branch:RELEASE
svn:account:starseeker
2020-08-14 18:46:44 +00:00
Clifford Yapp a260a7a2b1 Actually, it looks like there is a clean target, we just may not be defining things correctly to use it...
svn:revision:76754
svn:branch:RELEASE
svn:account:starseeker
2020-08-14 18:23:21 +00:00
Clifford Yapp 69f575af2e Visual Studio generators apparently don't have a clean rule, so we'll need to scrub it down manually to restore an original state. Just use GLOB_RECURSE, since there isn't any cleaning behavior to check in the first place... (untested.)
svn:revision:76753
svn:branch:RELEASE
svn:account:starseeker
2020-08-14 14:47:14 +00:00
Clifford Yapp c0c3080130 That doesn't help - lots of bu_log calls are buried in subsequent function calls. fwrite to stderr is failing when MGED launches rtweight and then quites...
svn:revision:76752
svn:branch:RELEASE
svn:account:starseeker
2020-08-14 14:14:31 +00:00
Clifford Yapp d1f44a445e bu_log seems to be unhappy here on BSD?
svn:revision:76751
svn:branch:RELEASE
svn:account:starseeker
2020-08-14 14:03:48 +00:00
Clifford Yapp 4dea61af44 Cherrypick r76663 - distinguish between static and dynamic MSVC builds in openNURBS.
svn:revision:76750
svn:branch:RELEASE
svn:account:starseeker
2020-08-14 13:07:56 +00:00
Clifford Yapp 03369138b4 Cherrypick r76662 from trunk - win32-msvc Dll update
svn:revision:76749
svn:branch:RELEASE
svn:account:starseeker
2020-08-14 13:03:49 +00:00
Clifford Yapp f4c83269b6 Don't have time to dig into these right now, and they're not new failures (these tests have never been run on Windows before) so conditionally disable in order to allow the rest of the testing to proceed.
svn:revision:76748
svn:branch:RELEASE
svn:account:starseeker
2020-08-14 12:42:35 +00:00
Clifford Yapp 7c2442c5f0 Merge changes from RELEASE branch - r76726 through r76746
svn:revision:76747
svn:branch:trunk
svn:account:starseeker
2020-08-14 12:40:14 +00:00
Clifford Yapp b3ee6f3368 The same thing that made OpenBSD such a pain for bu_dir works against the GED plugins - we need bu_setprogname for the initialization to work reliably, but at library load we don't have the program name. Handle it by having the two accessor commands - ged_cmd_valid and ged_exec - check to make sure the command map is populated before trying anything, and if it is not re-attempt the initialization. By the time we're calling those functions bu_setprogname should be set and the initialization should now succeed. The regression test that checks for bu_setprogname should ensure this will work across all BRL-CAD commands - any program that does NOT call bu_setprogname and attempts to use a GED command will now fail on OpenBSD. In some sense knowing the BRL-CAD root path has always been integral to BRL-CAD's design, but the conversion of GED commands to plugins elevates not knowing the path from an obscure source of occasional problems to immediate breakage.
svn:revision:76746
svn:branch:RELEASE
svn:account:starseeker
2020-08-14 12:11:13 +00:00
Clifford Yapp e7b1eb8513 Add test of -q option
svn:revision:76745
svn:branch:RELEASE
svn:account:starseeker
2020-08-13 19:39:21 +00:00
Clifford Yapp 093ee526fb Add a couple tolerance tests
svn:revision:76744
svn:branch:RELEASE
svn:account:starseeker
2020-08-13 19:36:14 +00:00
Clifford Yapp c112696807 Add some regression tests for gdiff - there are a lot of combinations, and recent experience suggests it's easy to break one while altering another...
svn:revision:76743
svn:branch:RELEASE
svn:account:starseeker
2020-08-13 19:27:49 +00:00
Clifford Yapp 41b0a9c9cd Make sure we have some of the rt commands for the MGED test
svn:revision:76742
svn:branch:RELEASE
svn:account:starseeker
2020-08-13 19:26:34 +00:00
Clifford Yapp 6eb885ebe3 Return -1 if error, cap verbosity at 4
svn:revision:76741
svn:branch:RELEASE
svn:account:starseeker
2020-08-13 18:43:24 +00:00
Clifford Yapp f4c32a0768 This is now useful enough to warrant checkpointing - using Github CI actions to do BRL-CAD builds on multiple platforms.
svn:revision:76740
svn:branch:trunk
svn:account:starseeker
2020-08-13 17:31:14 +00:00
Clifford Yapp 031de1279a See if we can filter out carriage return chars as well...
svn:revision:76739
svn:branch:RELEASE
svn:account:starseeker
2020-08-13 17:17:11 +00:00
Clifford Yapp ff59365603 Separate out reference files
svn:revision:76738
svn:branch:RELEASE
svn:account:starseeker
2020-08-13 17:02:24 +00:00
Clifford Yapp ececfd49f2 Only set mode if we're dealing with stdin/stdout
svn:revision:76737
svn:branch:RELEASE
svn:account:starseeker
2020-08-13 16:46:04 +00:00
Clifford Yapp a27c03d09a Use the VERBATIM option to try and get sane behavior for a terminating $ character in the regex. Per the CMake add_custom_target documentation, 'VERBATIM is recommended as it enables correct behavior - without it the behavior is platform specfiic because there is no protection of tool specific special characters.
svn:revision:76736
svn:branch:RELEASE
svn:account:starseeker
2020-08-13 15:26:43 +00:00
Clifford Yapp 5b70209935 Revert run usage
svn:revision:76735
svn:branch:RELEASE
svn:account:starseeker
2020-08-13 15:17:09 +00:00
Clifford Yapp b7440723cc I may be wrong, but it looks like the asc2dsp test isn't working (and hasn't worked) since asc2pix finds an illegal hex character in the old input file.
svn:revision:76734
svn:branch:RELEASE
svn:account:starseeker
2020-08-13 15:10:14 +00:00
Clifford Yapp 2ca8db0acc Nope, looks like run isn't general purpose
svn:revision:76733
svn:branch:RELEASE
svn:account:starseeker
2020-08-13 14:45:22 +00:00
Clifford Yapp 13f903d086 Merge r76729 through r76730 from trunk
svn:revision:76732
svn:branch:RELEASE
svn:account:starseeker
2020-08-13 14:11:02 +00:00
Clifford Yapp d696236534 See if we can make more use of run
svn:revision:76731
svn:branch:RELEASE
svn:account:starseeker
2020-08-13 14:10:48 +00:00
Clifford Yapp 57ddca3001 These are primarily debugging messages at the moment - not much useful we can currently do with them at a user level.
svn:revision:76730
svn:branch:trunk
svn:account:starseeker
2020-08-13 14:01:28 +00:00
Clifford Yapp 5cbbce837b Losing added and removed objects with filters - rework the filtering selection.
svn:revision:76729
svn:branch:trunk
svn:account:starseeker
2020-08-13 13:17:30 +00:00
Clifford Yapp f9f63ba04a Quote LOGFILE in case of spaces
svn:revision:76728
svn:branch:RELEASE
svn:account:starseeker
2020-08-13 12:22:09 +00:00
Clifford Yapp 6ac66a5d75 See if we can make more use of the run function - looks like some failures aren't ending up triggering script failures?
svn:revision:76727
svn:branch:RELEASE
svn:account:starseeker
2020-08-13 12:20:08 +00:00
Clifford Yapp ddaac92b15 Merge changes from RELEASE branch - r76703 through r76725
svn:revision:76726
svn:branch:trunk
svn:account:starseeker
2020-08-13 12:03:20 +00:00
Clifford Yapp 2aada86240 Fix distclean list
svn:revision:76725
svn:branch:RELEASE
svn:account:starseeker
2020-08-13 11:41:10 +00:00
Clifford Yapp 0a8fabaace Fixes for regression test quoting - seen in odd pathnames test
svn:revision:76724
svn:branch:RELEASE
svn:account:starseeker
2020-08-13 00:12:47 +00:00
Clifford Yapp 94f8074b5f Print some information on what these scripts are doing...
svn:revision:76723
svn:branch:RELEASE
svn:account:starseeker
2020-08-12 20:59:40 +00:00
Clifford Yapp b4afbede0a Fix asc2dsp file base names
svn:revision:76722
svn:branch:RELEASE
svn:account:starseeker
2020-08-12 20:51:29 +00:00
Clifford Yapp 899fef2d47 init_gui is unused with Tk off
svn:revision:76721
svn:branch:RELEASE
svn:account:starseeker
2020-08-12 19:47:56 +00:00
Clifford Yapp 7e5103d0bf Be more verbose on failure
svn:revision:76720
svn:branch:RELEASE
svn:account:starseeker
2020-08-12 17:22:03 +00:00
Clifford Yapp e70b19ec66 Git's sh.exe on windows is expanding the /dev/debug string into a path, which is breaking the check. Just write the rt output to a file that is immediately removed instead. Longer term we'll have to figure out what to do about sh.exe - it's breaking running rt with -F on the command line as well - but for now this should get the test running.
svn:revision:76719
svn:branch:RELEASE
svn:account:starseeker
2020-08-12 16:59:15 +00:00
Clifford Yapp 344b338ee7 Whoops - Archer uses that tkwin check
svn:revision:76718
svn:branch:RELEASE
svn:account:starseeker
2020-08-12 14:32:37 +00:00
Clifford Yapp e035511084 Make the tclcad_init function with gui toggle look more like Tclcad_Init - swapping in the former for the latter broke some GUI elements in MGED (man viewer, overlap tool) in commit r76338.
svn:revision:76717
svn:branch:RELEASE
svn:account:starseeker
2020-08-12 14:29:52 +00:00
Clifford Yapp b7463dc593 Accomidate _mged_ prefixed argv[0] values for GED commands.
svn:revision:76716
svn:branch:RELEASE
svn:account:starseeker
2020-08-12 13:35:47 +00:00
Clifford Yapp 5928709ebb In the github runner environment, we should print everything since we aren't able to long in and look at the log files... was a tossup to print or not previously, but in this environment we should print. Will need to update other tests as well.
svn:revision:76715
svn:branch:RELEASE
svn:account:starseeker
2020-08-12 02:44:13 +00:00
Clifford Yapp 881b92e509 Remove source archive directories - they take up a lot of space and aren't needed once the archive files are generated.
svn:revision:76714
svn:branch:RELEASE
svn:account:starseeker
2020-08-12 00:02:38 +00:00
Clifford Yapp baecad56c2 Need to clean out the benchmark copy
svn:revision:76713
svn:branch:RELEASE
svn:account:starseeker
2020-08-11 23:11:15 +00:00
Clifford Yapp 6cd5b87e61 Make a stab at getting benchmark set up to use generator expressions to launch the run.
svn:revision:76712
svn:branch:RELEASE
svn:account:starseeker
2020-08-11 20:54:49 +00:00
Clifford Yapp e68e5af50b Git sh.exe is getting detected by CMake on the git runner, which is populating SH_EXEC in CMake and activating logic previously always dormant on Windows. Expand the ensearch directory set - will also need to figure out something for benchmark...
svn:revision:76711
svn:branch:RELEASE
svn:account:starseeker
2020-08-11 20:21:19 +00:00
Clifford Yapp 4cae111bcf initialize
svn:revision:76710
svn:branch:RELEASE
svn:account:starseeker
2020-08-11 19:19:14 +00:00
Clifford Yapp 5cc60909b9 Try to avoid the CMP0007 warning...
svn:revision:76709
svn:branch:RELEASE
svn:account:starseeker
2020-08-11 18:40:48 +00:00
Clifford Yapp 2e4a1e26ac Add a note on where to look for the SDK version. There may be a better way to do this...
svn:revision:76708
svn:branch:trunk
svn:account:starseeker
2020-08-11 18:07:32 +00:00
Clifford Yapp a13cedc7e9 forgot termcap file
svn:revision:76707
svn:branch:RELEASE
svn:account:starseeker
2020-08-11 18:02:56 +00:00
Clifford Yapp fd2837e77a Catch files that aren't listed for distcheck by any of the build targets specifically on Windows.
svn:revision:76706
svn:branch:RELEASE
svn:account:starseeker
2020-08-11 17:36:18 +00:00
Clifford Yapp fe82825c67 Another CI feature to investigate
svn:revision:76705
svn:branch:trunk
svn:account:starseeker
2020-08-11 15:38:51 +00:00
Clifford Yapp c83ec745d6 Merge changes from RELEASE: r76693 through r76703
svn:revision:76704
svn:branch:trunk
svn:account:starseeker
2020-08-11 14:19:35 +00:00
Clifford Yapp 01f0d3b7ef A relatively simple pattern match suggests that we've got the ged_<cmd> calls inside libged adjusted - they now need to provide valid argv[0] values, which wasn't always the case historically.
svn:revision:76703
svn:branch:RELEASE
svn:account:starseeker
2020-08-11 13:38:43 +00:00
Clifford Yapp 5b952cf1f5 Use a valid ged_copy command name
svn:revision:76702
svn:branch:RELEASE
svn:account:starseeker
2020-08-11 13:24:56 +00:00
Clifford Yapp 5dbf5275e5 Ah - MGED wasn't using ged_blast to implement 'B'.
svn:revision:76701
svn:branch:RELEASE
svn:account:starseeker
2020-08-11 13:21:45 +00:00
Clifford Yapp a359dac988 Adjust argv[0] before calling ged_killrefs within killall cmd
svn:revision:76700
svn:branch:RELEASE
svn:account:starseeker
2020-08-11 12:32:38 +00:00
Clifford Yapp acae7e2a2b whoops, got .g sample by mistake
svn:revision:76695
svn:branch:trunk
svn:account:starseeker
2020-08-10 17:18:58 +00:00
Clifford Yapp 053763e59f Cherrypick r76693 (B cmd fix) from RELEASE
svn:revision:76694
svn:branch:trunk
svn:account:starseeker
2020-08-10 17:18:06 +00:00
Clifford Yapp 29b85a298d B is another manifestation of the draw command
svn:revision:76693
svn:branch:RELEASE
svn:account:starseeker
2020-08-10 17:16:54 +00:00
Clifford Yapp 7928c8344d Sync a few more differences
svn:revision:76684
svn:branch:trunk
svn:account:starseeker
2020-08-07 14:38:45 +00:00
Clifford Yapp 95be1f3205 ws
svn:revision:76683
svn:branch:trunk
svn:account:starseeker
2020-08-07 14:30:50 +00:00
Clifford Yapp d918287150 more syncing between MGED and fbserv
svn:revision:76682
svn:branch:trunk
svn:account:starseeker
2020-08-07 14:23:49 +00:00
Clifford Yapp f11979b3fe Rename to match standalone fbserv
svn:revision:76681
svn:branch:trunk
svn:account:starseeker
2020-08-07 14:14:04 +00:00
Clifford Yapp a091c957dc consolidate
svn:revision:76680
svn:branch:trunk
svn:account:starseeker
2020-08-07 13:55:15 +00:00
Clifford Yapp ce4d493109 Move a few functions and rename to make it a little easier to compare the MGED version of this code with the standalone version.
svn:revision:76679
svn:branch:trunk
svn:account:starseeker
2020-08-07 13:45:31 +00:00
Clifford Yapp 43468943e5 Replace/refactor another hardcoding of dm backend names
svn:revision:76678
svn:branch:trunk
svn:account:starseeker
2020-08-06 18:38:32 +00:00
Clifford Yapp 454f09b53c Push the conditionals and the ignore files into the plugin build logic
svn:revision:76676
svn:branch:trunk
svn:account:starseeker
2020-08-06 18:01:54 +00:00
Clifford Yapp 9b02cc353f Shouldn't need the defines at lower levels either...
svn:revision:76675
svn:branch:trunk
svn:account:starseeker
2020-08-06 17:40:33 +00:00
Clifford Yapp 3a1645b062 No change in body of function due to if defined...
svn:revision:76674
svn:branch:trunk
svn:account:starseeker
2020-08-06 17:32:20 +00:00
Clifford Yapp 8aa4e2e0d4 Simplify the libdm build logic - we no longer need to supply the DM_* defines to MGED.
svn:revision:76673
svn:branch:trunk
svn:account:starseeker
2020-08-06 17:30:06 +00:00
Clifford Yapp 217e1a0b96 Move the extern declarations down into subheaders (except for the null dm)
svn:revision:76672
svn:branch:trunk
svn:account:starseeker
2020-08-06 17:18:58 +00:00
Clifford Yapp 9978f20d4a Put DM specific definitions in the local headers
svn:revision:76671
svn:branch:trunk
svn:account:starseeker
2020-08-06 17:10:08 +00:00
Clifford Yapp baceab0e10 Not sure why these are conditionalized? Just define them until it is clear why that won't work...
svn:revision:76670
svn:branch:trunk
svn:account:starseeker
2020-08-06 17:05:45 +00:00
Clifford Yapp ad4857e26c Key off of OpenGL. TODO: this feature belongs at a lower level...
svn:revision:76669
svn:branch:trunk
svn:account:starseeker
2020-08-06 16:49:39 +00:00
Clifford Yapp 33f40adea6 Remove the last use of DM_* ifdefs from MGED
svn:revision:76668
svn:branch:trunk
svn:account:starseeker
2020-08-06 16:34:01 +00:00
Clifford Yapp 0d0f9e6739 Have the caller provide a vls to dm_list_types, remove some more DM ifdefs
svn:revision:76667
svn:branch:trunk
svn:account:starseeker
2020-08-06 16:11:47 +00:00
Clifford Yapp 5bfe74b9c2 Make a stab at pushing down the DM-specific event functions into libdm. The dirty flag needs more attention - as MGED is using it, the scope appears to be all DMs rather than each individual instance, and there's no internal 'this DM is no longer dirty' reset post-draw at the moment (as one would expect for a DM scoped flag of this sort.) Need to better understand the relationship between DMP, stuct dm_list, and how it should or shouldn't relate to bview.
svn:revision:76666
svn:branch:trunk
svn:account:starseeker
2020-08-06 14:53:49 +00:00
Clifford Yapp 88e0c44fe5 This is probably obsolete now...
svn:revision:76665
svn:branch:trunk
svn:account:starseeker
2020-08-06 13:14:22 +00:00
Clifford Yapp 71a1619e27 No longer need these
svn:revision:76664
svn:branch:trunk
svn:account:starseeker
2020-08-06 13:10:31 +00:00
Daniel Rossberg eb746089e6 we still need to distinguish between dynamic and static library MSVC builds, with ON_DLL_EXPORTS/ON_DLL_IMPORTS set or unset
svn:revision:76663
svn:branch:trunk
svn:account:d_rossberg
2020-08-06 08:23:51 +00:00
Daniel Rossberg 4b0b5cfc1b lz4 is now embedded in librt
svn:revision:76662
svn:branch:trunk
svn:account:d_rossberg
2020-08-06 08:17:37 +00:00
Clifford Yapp aa87c69581 Cherrypick r76655 from trunk
svn:revision:76656
svn:branch:RELEASE
svn:account:starseeker
2020-08-03 21:32:52 +00:00
Clifford Yapp 7d05d1ee8d r76624 broke rt command in Archer on Windows. Switch to using a semantic enum to specifiy I/O channel in the API, rather than any sort of int.
svn:revision:76655
svn:branch:trunk
svn:account:starseeker
2020-08-03 21:17:01 +00:00
Clifford Yapp 3ac240768f Fix libtclcad build on Windows
svn:revision:76653
svn:branch:trunk
svn:account:starseeker
2020-08-03 17:56:27 +00:00
Clifford Yapp d40460194d fix closedb+opendb behavior in RELEASE
svn:revision:76651
svn:branch:RELEASE
svn:account:starseeker
2020-08-03 01:04:39 +00:00
Clifford Yapp 7a3c7c0254 After closedb, need to set up a blank struct ged so commands will work.
svn:revision:76650
svn:branch:trunk
svn:account:starseeker
2020-08-03 00:58:13 +00:00
Clifford Yapp 4431812196 Now that we've gotten trunk into RELEASE so we can work on 7.32.0, merge the latest bioh changes to libged/libtclcad back into trunk. Next steps are likely to be more invasive, so this seems to be a reasonable sync point.
svn:revision:76646
svn:branch:trunk
svn:account:starseeker
2020-08-02 20:15:01 +00:00
Clifford Yapp bcce9ea1ea Merge from trunk through r76644
svn:revision:76645
svn:branch:RELEASE
svn:account:starseeker
2020-08-02 19:53:00 +00:00
Clifford Yapp d1ce91cbd3 Don't unpack fdp unless we're non-NULL
svn:revision:76644
svn:branch:trunk
svn:account:starseeker
2020-08-02 19:51:14 +00:00
Clifford Yapp 132a41b607 Merge changes from trunk r74976 through r76640. This isn't really a merge - we're forcing RELEASE to match trunk as of r76640. A lot of trunk changes were cherrypicked into prior patch releases, so this represents a deliberate full sync to trunk in preparation for 7.32.0.
svn:revision:76642
svn:branch:RELEASE
svn:account:starseeker
2020-08-02 18:52:52 +00:00
Clifford Yapp 884aa14698 Fix NEWS release date
svn:revision:76640
svn:branch:trunk
svn:account:starseeker
2020-08-02 17:53:26 +00:00
Christopher Sean Morrison 23fe522ce2 unable to reproduce, tested multiple files and count was correct.
svn:revision:76629
svn:branch:trunk
svn:account:brlcad
2020-08-01 06:55:05 +00:00
Christopher Sean Morrison 958debb97b idents cn longer bombs simply when run from a read-only path
svn:revision:76628
svn:branch:trunk
svn:account:brlcad
2020-08-01 06:47:28 +00:00
Christopher Sean Morrison 8dcbfafc72 fix idents crash when running from read-only dir
if the output file could not be created, an attempt to free an
unallocate and uninitialized ptbl would cause a bu_bomb.  now its on
the stack, so nothing to free, and error messages are updated to be a
bit more helpful.

svn:revision:76627
svn:branch:trunk
svn:account:brlcad
2020-08-01 06:44:27 +00:00
Christopher Sean Morrison 2621519205 gosh this gets so convoluted to read. one concept per line. separate vars, arg validation, main logic, and return for readability.
svn:revision:76625
svn:branch:trunk
svn:account:brlcad
2020-08-01 04:24:18 +00:00
Christopher Sean Morrison cf41190757 not safe to assume 0/1/2 actually correspond with stdin/stdout/stderr
go through the std vars as they are more likley to remain semantically
aligned to a corresponding in/out/err descriptor even if
closed/reopened.  this API still assumes too much, but there's not a
good alternative that doesn't entail significant rework at this point.

svn:revision:76624
svn:branch:trunk
svn:account:brlcad
2020-08-01 04:18:09 +00:00
Christopher Sean Morrison dea172cf6c dead code, probably not supposed to be here
svn:revision:76623
svn:branch:trunk
svn:account:brlcad
2020-08-01 04:03:46 +00:00
Christopher Sean Morrison 85249b4ba2 bu_process_fd() can return null, must check it
svn:revision:76622
svn:branch:trunk
svn:account:brlcad
2020-08-01 04:01:35 +00:00
Christopher Sean Morrison 1cabf78ad2 document a rather fugly idents bug recently reported
svn:revision:76615
svn:branch:trunk
svn:account:brlcad
2020-07-31 19:58:34 +00:00
Christopher Sean Morrison 490e800cc1 rename from rt_cmdtab to rt_do_tab.. tired of hunting for it.
svn:revision:76605
svn:branch:trunk
svn:account:brlcad
2020-07-30 21:37:40 +00:00
Christopher Sean Morrison 34cf7eb834 debugging null ptble error during idents command. update formatting
svn:revision:76589
svn:branch:trunk
svn:account:brlcad
2020-07-30 06:12:21 +00:00
Clifford Yapp 7afca78f04 Don't remove the .asc files - they're inputs
svn:revision:76587
svn:branch:trunk
svn:account:starseeker
2020-07-30 00:52:00 +00:00
Clifford Yapp 10bd7a8595 Quote input paths for odd pathname distcheck
svn:revision:76585
svn:branch:trunk
svn:account:starseeker
2020-07-29 20:37:39 +00:00
Clifford Yapp 977ea727c8 Cherrypick r76577 from bioh - open+reopen. Was seeing an issue starting up Archer with a supplied .g file, this clears it.
svn:revision:76578
svn:branch:trunk
svn:account:starseeker
2020-07-29 18:31:02 +00:00
Clifford Yapp c9fe21154b define both reopen and open as commands, so we have a command matching the filename
svn:revision:76577
svn:branch:bioh
svn:account:starseeker
2020-07-29 18:26:52 +00:00
Clifford Yapp 34654aeedc Shift the view name down to bview
svn:revision:76576
svn:branch:bioh
svn:account:starseeker
2020-07-29 17:39:26 +00:00
Clifford Yapp 398c4a52cf Move the hidden flag down to bview
svn:revision:76575
svn:branch:bioh
svn:account:starseeker
2020-07-29 17:29:12 +00:00
Clifford Yapp 104c33ebf2 No longer using vo_callback/vo_observers
svn:revision:76574
svn:branch:bioh
svn:account:starseeker
2020-07-29 17:19:11 +00:00
Clifford Yapp 4428831eeb Start trying to get an overall view of what callbacks we have defined
svn:revision:76573
svn:branch:bioh
svn:account:starseeker
2020-07-29 17:03:44 +00:00
Clifford Yapp a47a5277dd Tweak flags definition
svn:revision:76572
svn:branch:bioh
svn:account:starseeker
2020-07-29 15:38:47 +00:00
Clifford Yapp 99e236b56d group ged callbacks
svn:revision:76571
svn:branch:bioh
svn:account:starseeker
2020-07-29 15:38:15 +00:00
Clifford Yapp 8512d418c6 Per ged/defines.h, with the exception of GED_OK we're actually supposed to be checking fore these returns via masking, not with an equality test. Fix.
svn:revision:76570
svn:branch:bioh
svn:account:starseeker
2020-07-29 14:43:33 +00:00
Clifford Yapp 206b9dbd0c Merge changes from trunk through r76568
svn:revision:76569
svn:branch:bioh
svn:account:starseeker
2020-07-29 14:16:57 +00:00
Clifford Yapp b7c6ffce9a Rename the commit rebuild options - this mechanism is not actually CVS specific, and may be useful somewhere down the road even post-conversion.
svn:revision:76568
svn:branch:trunk
svn:account:starseeker
2020-07-29 14:07:05 +00:00
Clifford Yapp cfee248907 Flesh out the notes about subsequent steps.
svn:revision:76567
svn:branch:trunk
svn:account:starseeker
2020-07-29 13:40:11 +00:00
Clifford Yapp dc1162cb81 Don't bail at this point, keep going
svn:revision:76566
svn:branch:trunk
svn:account:starseeker
2020-07-29 13:12:39 +00:00
Clifford Yapp 501490d85a Make sure cvs lines are also separated by a new line from commit msg
svn:revision:76565
svn:branch:trunk
svn:account:starseeker
2020-07-29 02:33:11 +00:00
Clifford Yapp 5102a86b73 Improve cvs output, use trees subdir for fi files (there may be a lot of them...)
svn:revision:76564
svn:branch:trunk
svn:account:starseeker
2020-07-29 00:48:02 +00:00
Clifford Yapp 9905f2019c More notes on the increasingly complicated post-processing steps.
svn:revision:76563
svn:branch:trunk
svn:account:starseeker
2020-07-28 19:51:48 +00:00
Clifford Yapp 3a1a6de723 Add a note about what NOT to do when using git fast-export
svn:revision:76562
svn:branch:trunk
svn:account:starseeker
2020-07-28 19:40:02 +00:00
Clifford Yapp f4d184b574 First cut at incorporating the CVS generated information into commit messages.
svn:revision:76561
svn:branch:trunk
svn:account:starseeker
2020-07-28 19:39:32 +00:00
Clifford Yapp 1629cfcd36 Generate a SHA1 based map as well, in case a situation arises where we can use original-oids to do the mapping.
svn:revision:76560
svn:branch:trunk
svn:account:starseeker
2020-07-28 15:30:19 +00:00
Clifford Yapp d737604e3b Use the branch info pre-processed from the git repository. If that process arrived at a wrong answer the last resort might be to iterate through the git branches looking for one that matches, if they are all different it would probably reach the point of needing human judgement.
svn:revision:76559
svn:branch:trunk
svn:account:starseeker
2020-07-28 15:23:15 +00:00
Clifford Yapp 3f44f2e124 For commits on multiple non-master git branches, assign them to the branch they are on with the oldest final commit. This may mis-assign some older commits that were actually made on another branch and then merged, but we seem to be hitting the limit of what Git can tell us. A few of these might show up as failed CVS checkouts in a validation attempt, but I'm not sure how else we would spot them.
svn:revision:76558
svn:branch:trunk
svn:account:starseeker
2020-07-28 14:58:48 +00:00
Clifford Yapp 8f784988e2 Read and analyze the maps put out by the scripts - bad news is that the keys aren't unique, which means we've got commits in the chain history of more than one branch despite filtering out any commits in the master chain. Hmm...
svn:revision:76557
svn:branch:trunk
svn:account:starseeker
2020-07-28 13:29:14 +00:00
Clifford Yapp 11ee1cfea7 Note script for generating the key->sha1 map
svn:revision:76556
svn:branch:trunk
svn:account:starseeker
2020-07-28 12:41:18 +00:00
Clifford Yapp 7c8e222547 master-UNNAMED-BRANCH isn't a valid CVS branch, skip.
svn:revision:76555
svn:branch:trunk
svn:account:starseeker
2020-07-28 12:14:57 +00:00
Clifford Yapp 53789575e1 Extract CVS commit info from cvs-fast-export
This script uses a cvs-fast-export conversion of the original CVS
repository without an authormap in order to extract the original
association between commit ids and commits.  Because SHA1s won't
map for the main conversion, use a combination of message SHA1
and timestamp to uniquely identify the commits.  When we move to
map this information into the final commit messages, we will
need to generate a similar map between this information and the
SHA1 values in the repowork input repository.  Reading both maps
will then serve as a key connecting new SHA1 values to the old
CVS data.

In addition, we also used the --first-parent option of rev-list
to follow the actual branch chains for the CVS conversions -
these will be recorded as cvs:branch: entries.  Anything not
on a branch will be deemed to be cvs:branch:trunk commits.

svn:revision:76554
svn:branch:trunk
svn:account:starseeker
2020-07-28 11:32:04 +00:00
Clifford Yapp 7bd7e3a448 Check branch string for invalid chars before attempting a CVS checkout.
svn:revision:76553
svn:branch:trunk
svn:account:starseeker
2020-07-28 10:01:44 +00:00
Christopher Sean Morrison 61ed137aa1 port dmod and imod
svn:revision:76552
svn:branch:trunk
svn:account:brlcad
2020-07-28 08:10:45 +00:00
Christopher Sean Morrison 13ea76fedc open pipes binary too
svn:revision:76551
svn:branch:trunk
svn:account:brlcad
2020-07-28 08:10:24 +00:00
Christopher Sean Morrison de1b9c381f it's a binary reader, must open file in binary road
svn:revision:76550
svn:branch:trunk
svn:account:brlcad
2020-07-28 08:10:00 +00:00
Christopher Sean Morrison dd28da365b plot files are binary
svn:revision:76549
svn:branch:trunk
svn:account:brlcad
2020-07-28 07:37:26 +00:00
Christopher Sean Morrison d822d4e778 use argv0
svn:revision:76548
svn:branch:trunk
svn:account:brlcad
2020-07-28 06:24:10 +00:00
Christopher Sean Morrison 6f736e35c7 only make input binary, output asc in text mode (other tools handle both)
svn:revision:76547
svn:branch:trunk
svn:account:brlcad
2020-07-28 06:23:56 +00:00
Christopher Sean Morrison dbe3282e0e use fileno instead of assuming
svn:revision:76546
svn:branch:trunk
svn:account:brlcad
2020-07-28 06:20:40 +00:00
Christopher Sean Morrison 868ac73b96 needs binary mode for windows
svn:revision:76545
svn:branch:trunk
svn:account:brlcad
2020-07-28 05:47:55 +00:00
Christopher Sean Morrison 6f13605a21 need the fd, not fp
svn:revision:76544
svn:branch:trunk
svn:account:brlcad
2020-07-28 05:43:26 +00:00
Christopher Sean Morrison 441f140983 more binary. get dpix-pix working on windows.
svn:revision:76543
svn:branch:trunk
svn:account:brlcad
2020-07-28 04:59:37 +00:00
Christopher Sean Morrison 9883d764d8 if we reopen the input, make sure it stays binary
svn:revision:76542
svn:branch:trunk
svn:account:brlcad
2020-07-28 04:55:28 +00:00
Christopher Sean Morrison a7256d2698 obj parser is set up to already handle either mode, so make them consistently use binary
svn:revision:76541
svn:branch:trunk
svn:account:brlcad
2020-07-28 04:03:18 +00:00
Christopher Sean Morrison 457f597524 also break on carriage returns just in case we're fed a windows vdeck input. this should make them seem like double-newlines.
svn:revision:76540
svn:branch:trunk
svn:account:brlcad
2020-07-28 02:15:47 +00:00
Clifford Yapp 1a517acf0d fix option
svn:revision:76539
svn:branch:trunk
svn:account:starseeker
2020-07-28 01:35:51 +00:00
Clifford Yapp a280e2924d Put the branch query in with the slow portion of the code - diff checking - so we can iterate faster.
svn:revision:76538
svn:branch:trunk
svn:account:starseeker
2020-07-28 01:32:07 +00:00
Clifford Yapp 7a6eedf837 May have some of the CVS lines wrong somehow? Occasionally getting empty CVS checkouts, which is probably not what we want... don't generate override SHA1 files in those cases.
svn:revision:76537
svn:branch:trunk
svn:account:starseeker
2020-07-27 23:39:52 +00:00
Christopher Sean Morrison 010fbfe965 more single expression per line simplifications for readability and consistency
svn:revision:76536
svn:branch:trunk
svn:account:brlcad
2020-07-27 20:48:06 +00:00
Christopher Sean Morrison a76a651c06 ws cleanup, operator *= reduction
svn:revision:76535
svn:branch:trunk
svn:account:brlcad
2020-07-27 20:46:49 +00:00
Christopher Sean Morrison 40195b5dd7 ugh, terrible readability
svn:revision:76534
svn:branch:trunk
svn:account:brlcad
2020-07-27 20:28:31 +00:00
Christopher Sean Morrison 33746a1f93 general ws cleanup, some reformatting for consistency
svn:revision:76533
svn:branch:trunk
svn:account:brlcad
2020-07-27 20:11:12 +00:00
Clifford Yapp 63637973db Check, then open
svn:revision:76532
svn:branch:trunk
svn:account:starseeker
2020-07-27 20:07:58 +00:00
Christopher Sean Morrison 3635656abb update corresponding usage mentions
svn:revision:76531
svn:branch:trunk
svn:account:brlcad
2020-07-27 19:50:55 +00:00
Christopher Sean Morrison cc66132901 lowercase for sanity on case sensitive filesystems
svn:revision:76530
svn:branch:trunk
svn:account:brlcad
2020-07-27 19:48:54 +00:00
Christopher Sean Morrison 03cc10e3f0 more one expression per line where embedding isn't required
svn:revision:76529
svn:branch:trunk
svn:account:brlcad
2020-07-27 19:41:45 +00:00
Christopher Sean Morrison 49e3b07f90 excellent example of why one expression per line is a best practice. the if statement expression gets lost like an afterthought.
svn:revision:76528
svn:branch:trunk
svn:account:brlcad
2020-07-27 19:30:50 +00:00
Clifford Yapp 261f6b7317 This may be long running - make a stab at a way to resume partial progress
svn:revision:76527
svn:branch:trunk
svn:account:starseeker
2020-07-27 19:18:59 +00:00
Christopher Sean Morrison cdd5ff8947 brep plotting needs to be binary for windows too
svn:revision:76526
svn:branch:trunk
svn:account:brlcad
2020-07-27 18:59:05 +00:00
Christopher Sean Morrison 0dd059863f one expression per line where embedding isn't required
svn:revision:76525
svn:branch:trunk
svn:account:brlcad
2020-07-27 18:57:45 +00:00
Christopher Sean Morrison 8a1929142a plot data is binary, open file correctly on windows.
svn:revision:76524
svn:branch:trunk
svn:account:brlcad
2020-07-27 18:45:18 +00:00
Clifford Yapp 572b16a108 git branch -a --contains won't always output just branch names - see if we can filter out the lines we don't want
svn:revision:76523
svn:branch:trunk
svn:account:starseeker
2020-07-27 18:35:13 +00:00
Clifford Yapp f42d830ad8 Wasn't getting CVS branches properly when there isn't an SVN branch available... try asking Git, although this is likely problematic since Git commits don't have a notion of origination branch...
svn:revision:76522
svn:branch:trunk
svn:account:starseeker
2020-07-27 18:12:02 +00:00
Clifford Yapp 7c1002e590 Add some examples
svn:revision:76521
svn:branch:trunk
svn:account:starseeker
2020-07-27 15:18:11 +00:00
Clifford Yapp 37058c9697 verify needs the sphflake file
svn:revision:76520
svn:branch:trunk
svn:account:starseeker
2020-07-27 15:09:36 +00:00
Clifford Yapp b34b6dbc32 A quick test suggests we might be able to avoid writing blob.fi files - would be nice if true, since it makes things more compact and faster
svn:revision:76519
svn:branch:trunk
svn:account:starseeker
2020-07-27 15:04:10 +00:00
Clifford Yapp be71af5ff3 Make verify a bit more self contained
svn:revision:76518
svn:branch:trunk
svn:account:starseeker
2020-07-27 14:50:08 +00:00
Clifford Yapp 1237abe9a6 Weird pathnames caused problems with the git hash calculating - see if we can just do it directly and avoid the pathname hassle...
svn:revision:76517
svn:branch:trunk
svn:account:starseeker
2020-07-27 12:47:29 +00:00
Clifford Yapp 2a3aae0918 Demonstrate (for N=1) ability to replace contents of a CVS commit with contents generated from a checkout.
svn:revision:76516
svn:branch:trunk
svn:account:starseeker
2020-07-27 01:55:14 +00:00
Clifford Yapp 24cbca2fe8 Start trying to incorporate CVS generated updates into the repowork flow
svn:revision:76515
svn:branch:trunk
svn:account:starseeker
2020-07-27 01:12:45 +00:00
Clifford Yapp 933b2d1357 List the problem sha1s for which we are generating outputs in a file.
svn:revision:76514
svn:branch:trunk
svn:account:starseeker
2020-07-26 23:29:23 +00:00
Clifford Yapp 2514f78775 See if we can teach verify to go ahead and write out the necessary pieces if it finds a CVS commit that doesn't match.
svn:revision:76513
svn:branch:trunk
svn:account:starseeker
2020-07-26 23:12:50 +00:00
Clifford Yapp a968fa25ae Checkpoint some work trying to set up to use CVS checkouts to rebuild individual 'bad' CVS commits. In principle the idea is similar to the svnfexport fallback which does a deleteall + full tree commit when the delta processing doesn't produce a matching checkout, but this time we are trying to do it without requiring a 2 week rebuild... repowork should allow for selective commit redefinition if we do it right. Will also have to produce blobs and tree states from the CVS checkouts... ick.
svn:revision:76512
svn:branch:trunk
svn:account:starseeker
2020-07-26 21:59:41 +00:00
Clifford Yapp 3b3021ac4b Skip note commits, improve CVS only checking
svn:revision:76511
svn:branch:trunk
svn:account:starseeker
2020-07-26 20:22:43 +00:00
Clifford Yapp 672ade5c12 Taking too long to debug - rework for much faster setup.
svn:revision:76510
svn:branch:trunk
svn:account:starseeker
2020-07-26 19:37:18 +00:00
Clifford Yapp 4f2b136925 Don't assume svn error - we may not be testing for it
svn:revision:76509
svn:branch:trunk
svn:account:starseeker
2020-07-26 18:10:05 +00:00
Clifford Yapp 1d099b79ff Print sha1 when we get a difference
svn:revision:76508
svn:branch:trunk
svn:account:starseeker
2020-07-26 18:07:27 +00:00
Clifford Yapp e1b964b510 add a couple more options to verify
svn:revision:76507
svn:branch:trunk
svn:account:starseeker
2020-07-26 18:01:30 +00:00
Clifford Yapp 2c5b66d28b Merge changes from trunk through r76505
svn:revision:76506
svn:branch:bioh
svn:account:starseeker
2020-07-26 02:18:58 +00:00
Clifford Yapp 887d34b464 remove redundant header
svn:revision:76505
svn:branch:trunk
svn:account:starseeker
2020-07-26 01:16:01 +00:00
Clifford Yapp 0e486a27d3 If I keep going down this rabbit hole I'm going to encounter Professor Lidenbrock... teach the verification code how to check the CVS repository in addition to the SVN repository.
svn:revision:76504
svn:branch:trunk
svn:account:starseeker
2020-07-25 22:59:19 +00:00
Clifford Yapp 08fea08aad give verify a subdirectory
svn:revision:76503
svn:branch:trunk
svn:account:starseeker
2020-07-25 21:21:14 +00:00
Clifford Yapp c7d73eff02 need bio.h here
svn:revision:76502
svn:branch:trunk
svn:account:starseeker
2020-07-25 21:00:36 +00:00
Clifford Yapp 019d40a64b Want this process ordered by commit number, for easier resuming
svn:revision:76501
svn:branch:trunk
svn:account:starseeker
2020-07-25 18:59:50 +00:00
Clifford Yapp 2ee8f75c82 Needs a double-check, and testing on Windows.
svn:revision:76500
svn:branch:trunk
svn:account:starseeker
2020-07-25 17:45:40 +00:00
Clifford Yapp 6eae5bd81b Put stdin and stdout in binary mode up front for utilities. This won't matter on most platforms, but should help on Windows unless we've got an implicit assumption of O_TEXT mode sneaking in there somewhere.
svn:revision:76499
svn:branch:trunk
svn:account:starseeker
2020-07-25 17:40:03 +00:00
Clifford Yapp a1c47a6e83 Add binary flags for more fopen calls
svn:revision:76498
svn:branch:trunk
svn:account:starseeker
2020-07-25 16:40:42 +00:00
Clifford Yapp 82f6a16963 Add binary 'b' flag to more fopen calls
svn:revision:76497
svn:branch:trunk
svn:account:starseeker
2020-07-25 16:27:23 +00:00
Clifford Yapp 4ba2420c2f Add binary 'b' flag to some fopen calls
svn:revision:76496
svn:branch:trunk
svn:account:starseeker
2020-07-25 16:25:45 +00:00
Clifford Yapp 743aa4c59e Add option to skip newer commits, don't try to verify branch delete commits (svn checkout won't work).
svn:revision:76495
svn:branch:trunk
svn:account:starseeker
2020-07-25 16:08:46 +00:00
Clifford Yapp a1807a399e terra.dsp needs to be regarded as a binary - we've had trouble with that in the past. Make a note.
svn:revision:76494
svn:branch:trunk
svn:account:starseeker
2020-07-25 14:47:03 +00:00
Clifford Yapp 66903221b2 Tweak the svn branch for dmtogl
svn:revision:76493
svn:branch:trunk
svn:account:starseeker
2020-07-25 14:20:15 +00:00
Clifford Yapp cb697dcbb4 Add a utility intended to use the svn metadata in the git comments to do a svn vs git comparison - in a sense, this is the mirror image of what the original conversion was doing. Will be slow to run, but in princile can diff every post-CVS commit. Pre CVS is more problematic - there's not a guarantee things will line up, as witnessed by the need for a sync commit between the CVS and SVN histories, and the checkout pattern will change once we get old enough. Can be done if someone wants to badly enough, but the guarantees of matching aren't really there due to cvs2svn vs cvs2git differences so the utility is a bit iffy.
svn:revision:76492
svn:branch:trunk
svn:account:starseeker
2020-07-25 14:17:54 +00:00
Clifford Yapp 78f5032ba9 Whoops - write svn style name for trunk instead of git name
svn:revision:76491
svn:branch:trunk
svn:account:starseeker
2020-07-25 13:09:44 +00:00
Clifford Yapp 2ae2e93c2b Match the notes formatting to that of the main BRL-CAD conversion so we can also post-process these repositories to remove the notes.
svn:revision:76490
svn:branch:trunk
svn:account:starseeker
2020-07-25 11:11:21 +00:00
Clifford Yapp efc7aafdfa Pull latest svn-fast-export changes from upstream
svn:revision:76489
svn:branch:trunk
svn:account:starseeker
2020-07-25 10:38:15 +00:00
Clifford Yapp 85e21caa08 Remove obsolete account-map file
svn:revision:76488
svn:branch:trunk
svn:account:starseeker
2020-07-25 10:21:40 +00:00
Clifford Yapp 8a8c484296 Try building this with Qt5
svn:revision:76487
svn:branch:trunk
svn:account:starseeker
2020-07-25 10:12:09 +00:00
Christopher Sean Morrison cf221db2f8 copy-paste typo
svn:revision:76486
svn:branch:trunk
svn:account:brlcad
2020-07-25 06:58:48 +00:00
Christopher Sean Morrison ecd86f2eef fb utilities should be done
svn:revision:76485
svn:branch:trunk
svn:account:brlcad
2020-07-25 05:14:17 +00:00
Christopher Sean Morrison 9e23c957a6 note that all fb tools should now be fixed on windows when using redirected input/output as well as the cv command
svn:revision:76484
svn:branch:trunk
svn:account:brlcad
2020-07-25 05:12:26 +00:00
Christopher Sean Morrison 45ab2cc9fe fix file mode on bw-fb, fb-bw, fb-pix, fb-png, gif-fb, gif2fb, pix-fb, plot3-fb, and png-fb for windows when reading/writing from redirected input/output respecitvely
svn:revision:76483
svn:branch:trunk
svn:account:brlcad
2020-07-25 05:11:00 +00:00
Christopher Sean Morrison 3dc95c12bd fixed bw-fb and cv so they work on windows
svn:revision:76482
svn:branch:trunk
svn:account:brlcad
2020-07-25 04:55:34 +00:00
Christopher Sean Morrison 9bafb1d2f5 make cv work in binary on windows
svn:revision:76481
svn:branch:trunk
svn:account:brlcad
2020-07-25 04:55:05 +00:00
Christopher Sean Morrison c9a4ad1635 don't specify more than binary mode since it can mismatch
svn:revision:76480
svn:branch:trunk
svn:account:brlcad
2020-07-25 04:54:37 +00:00
Christopher Sean Morrison a45eddf9f9 bw-fb needs to specify binary for windows
svn:revision:76479
svn:branch:trunk
svn:account:brlcad
2020-07-25 04:50:43 +00:00
Christopher Sean Morrison 8a34d28dd6 update bo docs to include & explain the 'u' type. include a dsp example too.
svn:revision:76478
svn:branch:trunk
svn:account:brlcad
2020-07-25 04:44:50 +00:00
Clifford Yapp 5dd549aab5 Go with svn nomenclature account' for output
svn:revision:76477
svn:branch:trunk
svn:account:starseeker
2020-07-25 01:46:30 +00:00
Clifford Yapp 99aed5df05 Now that we have a git version to try distcheck on... couple fixes to the repo check.
svn:revision:76476
svn:branch:trunk
svn:account:starseeker
2020-07-24 23:53:38 +00:00
Clifford Yapp f1bcaaea0e Sean correctly noted that using 'author' for this label has implications which are not necessarily accurate - there are many instaces where the committer is applying a patch authored by someone else. Switch to git's terminology 'committer' (git in fact has entries for both author and committer.)
svn:revision:76473
svn:branch:trunk
svn:account:starseeker
2020-07-24 22:02:40 +00:00
Clifford Yapp 0dd4e6e062 Update ChangLog and release date in NEWS
svn:revision:76472
svn:branch:RELEASE
svn:account:starseeker
2020-07-24 20:15:56 +00:00
Clifford Yapp f9308750c8 Bump version number
svn:revision:76471
svn:branch:RELEASE
svn:account:starseeker
2020-07-24 20:14:35 +00:00
Clifford Yapp 74db998015 Reorganize, note how to specify SDK
svn:revision:76470
svn:branch:trunk
svn:account:starseeker
2020-07-24 19:51:31 +00:00
Clifford Yapp 24b13f4b7d Older version of FindGDAL isn't properly detecting - try newer one.
svn:revision:76469
svn:branch:RELEASE
svn:account:starseeker
2020-07-24 15:59:27 +00:00
Clifford Yapp e440ce09c5 repository check needs to ignore repowork as well
svn:revision:76467
svn:branch:trunk
svn:account:starseeker
2020-07-24 14:40:00 +00:00
Clifford Yapp 5e996d6106 Merge gedplugins branch into trunk.
svn:revision:76466
svn:branch:trunk
svn:account:starseeker
2020-07-24 14:39:33 +00:00
Clifford Yapp 2b4963e4d9 Making scripts better reflect conversion process
If at all avoidable, we don't want to have to manually update the custom commit
information again now that repowork allows for post-conversion email
manipulation.  However, we also want account-map to be accurate.  The secondary
repositories in the SVN repository (rt3, geomcore, etc.) will eventually be
converted with svn-fast-export - they do not use the custom process developed
for the main history.  Consequently, they will need a correct account-map file
with the most current addresses.

To handle this, we specifically stash the versions of the maps that match the
custom commits currently checked in and update the conversion scripts to reference
them specifically.  Also stash the email mapping file used by repowork, so we
can make sure we're capturing all updates made between the start of the conversion
and the final post-processing.

svn:revision:76465
svn:branch:trunk
svn:account:starseeker
2020-07-24 13:46:02 +00:00
Clifford Yapp c2081eeef1 Doing this manually right now, but make the scripts look more like what the final process is actually turning out to be.
svn:revision:76464
svn:branch:trunk
svn:account:starseeker
2020-07-24 12:58:09 +00:00
Clifford Yapp ba833fd55d Need better check for original-oid information
svn:revision:76463
svn:branch:trunk
svn:account:starseeker
2020-07-24 12:48:52 +00:00
Clifford Yapp 979e827c40 Ah - a fast-import generated without original-oid information won't work if we're dealing with notes - check and bail instead of proceeding.
svn:revision:76462
svn:branch:trunk
svn:account:starseeker
2020-07-24 12:22:54 +00:00
Christopher Sean Morrison ff4aef4a9c merge release branch from r76000:76451 back to trunk. NEWS should typically reflect identical on RELEASE and STABLE
svn:revision:76461
svn:branch:trunk
svn:account:brlcad
2020-07-24 05:24:27 +00:00
Christopher Sean Morrison a2a4bfe9f7 document the in command bug fixes with DB5_MINORTYPE_BRLCAD not getting set. appears to have broken four of the newer object types.
svn:revision:76460
svn:branch:trunk
svn:account:brlcad
2020-07-24 04:55:34 +00:00
Christopher Sean Morrison e3c321dff6 superell, joints, and script objects were also busted with DB5_MAJORTYPE_BRLCAD not being set.
svn:revision:76459
svn:branch:trunk
svn:account:brlcad
2020-07-24 04:29:43 +00:00
Clifford Yapp 46f212b081 Cherrypick trunk commit r75729 to try and resolve the *seek* function issues on Windows.
svn:revision:76458
svn:branch:RELEASE
svn:account:starseeker
2020-07-23 23:07:42 +00:00
Clifford Yapp 293f90a965 Make wrap width a user option
svn:revision:76457
svn:branch:trunk
svn:account:starseeker
2020-07-23 22:37:09 +00:00
Clifford Yapp 47e3815027 Improve commit line wrapping, assign svn authors as well to commit metadata given map
svn:revision:76456
svn:branch:trunk
svn:account:starseeker
2020-07-23 22:24:52 +00:00
Clifford Yapp 76c3568104 Cherrypick r75053 - avoid mixing open and C++ for Windows
svn:revision:76455
svn:branch:RELEASE
svn:account:starseeker
2020-07-23 22:15:12 +00:00
Clifford Yapp 414dd77e5d ignore repowork for license check
svn:revision:76454
svn:branch:trunk
svn:account:starseeker
2020-07-23 22:01:22 +00:00
Christopher Sean Morrison 4f324621d8 per user request, always write out the assembly name to a CREO_NAME attribute. this makes it easier to script and inspect, and it informs when the object name is later changed in BRL-CAD.
svn:revision:76453
svn:branch:trunk
svn:account:brlcad
2020-07-23 21:38:36 +00:00
Clifford Yapp b5078f78f2 Prune down output to a space separated number/name pair
svn:revision:76452
svn:branch:trunk
svn:account:starseeker
2020-07-23 20:26:49 +00:00
Clifford Yapp bb540008d5 Cherrypick r75565 and r75566 - fix for bw-png on Windows
svn:revision:76451
svn:branch:RELEASE
svn:account:starseeker
2020-07-23 20:04:19 +00:00
Clifford Yapp eca984f69c Cherrypick r75811 improving the failure message of the 3dm-g converter.
svn:revision:76450
svn:branch:RELEASE
svn:account:starseeker
2020-07-23 19:58:35 +00:00
Clifford Yapp 78e7aa44f0 Backport trunk fix r76443 for missing idb_major_type assignment in "in" command for datums - fixes inability to generate datums that manfiested in r71953 (post 7.26 series releases).
svn:revision:76449
svn:branch:RELEASE
svn:account:starseeker
2020-07-23 19:45:21 +00:00
Clifford Yapp 6316c1ca4a I thought this was going to be too tricky to be worthwhile, but repowork may offer enough flexibility for us to make use of it - make a note on how to get a listing that maps between SVN revision numbers and author ids.
svn:revision:76448
svn:branch:trunk
svn:account:starseeker
2020-07-23 19:05:17 +00:00
Clifford Yapp 7becbab82e Stash the repowork tool being used to post-process git fast-import files. Unlike the rest of the repoconv code this has potential use down the road, so give it its own directory.
svn:revision:76444
svn:branch:trunk
svn:account:starseeker
2020-07-23 14:15:54 +00:00
Christopher Sean Morrison 29808146b4 majortype is missing??
svn:revision:76443
svn:branch:trunk
svn:account:brlcad
2020-07-23 13:08:27 +00:00
Christopher Sean Morrison abde1ec2dc woot, finally got ahold of phil! 692 more accounted for.
svn:revision:76442
svn:branch:trunk
svn:account:brlcad
2020-07-23 03:50:53 +00:00
Christopher Sean Morrison d72f75e2ab remove obsolete arl.army.mil e-mails and update the activity flags
svn:revision:76441
svn:branch:trunk
svn:account:brlcad
2020-07-23 03:09:55 +00:00
Christopher Sean Morrison 310d976f03 sync with the other one
svn:revision:76440
svn:branch:trunk
svn:account:brlcad
2020-07-23 02:44:38 +00:00
Christopher Sean Morrison d3407eb2e0 grosh confirmed he would like his llnl address be used
svn:revision:76439
svn:branch:trunk
svn:account:brlcad
2020-07-23 02:41:15 +00:00
Clifford Yapp 26c7ca6508 Pull changes from trunk - contents should now match trunk branch at r76385
svn:revision:76386
svn:branch:bioh
svn:account:starseeker
2020-07-21 13:06:35 +00:00
Clifford Yapp 25611737b7 Revert plugin changes in bioh - that work will now proceed in the gedplugins branch
svn:revision:76385
svn:branch:bioh
svn:account:starseeker
2020-07-21 13:01:44 +00:00
Clifford Yapp af0250a589 Add some notes
svn:revision:76382
svn:branch:bioh
svn:account:starseeker
2020-07-21 00:08:08 +00:00
Clifford Yapp 3d3ec3d66a to_view_func_plus I think translates as do the callback and update the view.
svn:revision:76381
svn:branch:bioh
svn:account:starseeker
2020-07-20 23:45:39 +00:00
Clifford Yapp d01a593719 Looking at libtclcad, there are a number of possible desired cmd behaviors (not counting option parsing changing them, which futher increases complexity.) See if we can use bit flags to make this more managable.
svn:revision:76380
svn:branch:bioh
svn:account:starseeker
2020-07-20 23:34:23 +00:00
Clifford Yapp 6ff8434e61 Building on the libbu/libdm setup, experiment with turning the zoom command into a loadable plugin that can be run with a ged_exec call. Gets as far as successfully loading and executing in gsh.
svn:revision:76378
svn:branch:bioh
svn:account:starseeker
2020-07-20 21:40:51 +00:00
Clifford Yapp a20b076073 Merge changes from trunk r71095 through r76151
svn:revision:76153
svn:branch:brep-debug
svn:account:starseeker
2020-06-18 15:37:23 +00:00
Clifford Yapp 021ac0456b Update release date
svn:revision:75757
svn:branch:RELEASE
svn:account:starseeker
2020-05-08 14:22:16 +00:00
Clifford Yapp f00dd42be0 Update Changelog
svn:revision:75756
svn:branch:RELEASE
svn:account:starseeker
2020-05-08 14:21:42 +00:00
Clifford Yapp 47a0bd7bb8 libregex doesn't appear to use lseek and it's making VS2019 unhappy to redefine it.
svn:revision:75697
svn:branch:RELEASE
svn:account:starseeker
2020-05-05 18:39:57 +00:00
Clifford Yapp 72dad385b7 don't need stdio.h here
svn:revision:75687
svn:branch:RELEASE
svn:account:starseeker
2020-05-04 17:35:45 +00:00
Christopher Sean Morrison a3064251ee clarify
svn:revision:72643
svn:branch:brep-debug
svn:account:brlcad
2019-03-15 20:34:00 +00:00
1351 changed files with 61936 additions and 98528 deletions
+21 -11
View File
@@ -111,7 +111,7 @@ Hanes, Jeff
U.S. Army Ballistic Research Laboratory
U.S. Army Research Laboratory
Johnson, Christopher T. <cjohnson@cyberpaladin.com>
Johnson, Christopher T.
nicknames cjohnson
1989 February
Cray Research, Inc.
@@ -119,7 +119,7 @@ Geometric Solutions, Inc.
Paladin Software
JRMTech, Inc.
Butler, Lee A. <butler@arl.army.mil>
Butler, Lee A.
nicknames butler, lbutler
1989 July
U.S. Army Ballistic Research Laboratory
@@ -131,7 +131,7 @@ nicknames pjt
U.S. Army Ballistic Research Laboratory
U.S. Army Research Laboratory
Markowski, Michael J. <michael.markowski@arl.army.mil>
Markowski, Michael J.
nicknames mmark, mm
1991 June
U.S. Army Ballistic Research Laboratory
@@ -141,7 +141,7 @@ nicknames gdurf
1992 August
ARL Student Hire / Carnegie Mellon University
Anderson, John R. <jra@arl.army.mil>
Anderson, John R.
nicknames jra, johnranderson
1993 May
U.S. Army Ballistic Research Laboratory
@@ -178,7 +178,7 @@ nicknames tranese
2001 March
U.S. Army Research Laboratory
Hartley, Robert F. <hartley@vt.edu>
Hartley, Robert F.
nicknames hartley
2002 August
ARL Student Hire / Virginia Tech
@@ -189,7 +189,7 @@ nicknames twingy, justin
Quantum Research International, Inc.
U.S. Army Research Laboratory
Greenwald, Erik <erikg@arl.army.mil> **
Greenwald, Erik
nicknames erikg, erikgreenwald
2003 November
U.S. Army Research Laboratory
@@ -213,12 +213,12 @@ nicknames indianlarry
SURVICE Engineering, Inc.
U.S. Army Research Laboratory
Weiss, Richard **
Weiss, Richard
nicknames r_weiss
2008 December
U.S. Army Research Laboratory
Browder, Thomas M. Jr. **
Browder, Thomas M. Jr.
nicknames tbrowder2
2008 June
ManTech International Corporation
@@ -230,7 +230,7 @@ nicknames n_reed
ARL Student Hire / University of Maryland, Baltimore County
Quantum Research International, Inc.
Moore, Jr., Carl G. **
Moore, Jr., Carl G.
nicknames cmoore, carlmoore
2011 October
U.S. Army Research Laboratory
@@ -243,7 +243,7 @@ Weaver, Earl P.
1980
U.S. Army Ballistic Research Laboratory
Davisson, Edwin O. **
Davisson, Edwin O.
U.S. Army Research Laboratory
Rogers, David
@@ -263,7 +263,7 @@ U.S. Army Research Laboratory
Kregel, Dwayne **
SURVICE Engineering, Inc.
Weaver, Stephanie 'Rain' **
Weaver, Stephanie 'Rain'
2009 June
ARL Student Hire / Bridgewater College
@@ -898,11 +898,21 @@ nicknames lois221
2019 May
Open Source (GSoC)
Suthar, Rishabh
nicknames yamhai, rishabhsuthar32
2020 March
Open Source (GSoC)
Vaidya, Sahil
nicknames sahilvaidya99
2020 April
ARL Student Hire / University of Texas at Austin
Das, Sumagna
nicknames sumagnadas
2020 May
Open Source
SPECIAL THANKS
--------------
+3 -3
View File
@@ -15,6 +15,9 @@ on-going issues.
Recent Bugs
-----------
* fbclear -c appears to hang indefinitely inside pkg_bwaitfor,
possible protocol mismatch or capability removed/changed in fbserv.
* dbupgrade -r produces an invalid rhc with the default v5 rhc produced
by MGED with "make rhc rhc"
@@ -233,9 +236,6 @@ Recent Bugs
book-keeping is fuxored or the db_lookup is returning NULL (or isn't
yet performed).
* idents command is reporting a bogus region count in the region
output table listing (first column).
* src/librt/primitives/bot/g_bot_include.c:rt_bot_bbox() routine isn't
calculating the bbox correctly
+24
View File
@@ -127,6 +127,24 @@ generally listed for reference.
Items marked with a "'" (single quote) are undocumented and may be
removed at any time.
7.32
----
include/bg/chull.h
All functions returning point arrays instead of index arrays.
Will be replaced by similarly named functions returning
indexes into provided points array, to allow the caller
to decide if new arrays are needed. [deprecated 7.32]
bg_polyline_2d_chull, bg_2d_chull, bg_3d_coplanar_chull,
bg_3d_chull
MGED gui
The following will be removed from MGED's menu bar (unused
features, can be accomplished another way, or will be exposed
only as lower level settings when there are sensible defaults
that are seldom changed.)
Settings->Mouse Behavior->Pick Raytrace-Object(s)
7.30
----
~/.density
@@ -354,6 +372,7 @@ include/raytrace.h
*** OBSOLETED CHANGES ***
**********************************************************************
(reverse chronological order)
7.30.2
------
ray tracing tools
@@ -1527,3 +1546,8 @@ s/wdb_pipept/wdb_pipe_pnt/g
renamed points from pt to pnt for consistency [7.30]
s/proe-brl/creo-brl/g
replaced by newer creo plugin [7.30]
7.32
----
s/facetall.sh/mged -c facetize/g
replaced by more improved facetize command [7.30]
+68 -40
View File
@@ -1294,6 +1294,9 @@ option(BRLCAD_INSTALL_EXAMPLE_GEOMETRY "Install the example BRL-CAD geometry fil
# we've indicated we *don't* want an X11 build
if(NOT BRLCAD_ENABLE_AQUA AND NOT BRLCAD_ENABLE_MINIMAL)
include(FindX11)
if (X11_Xrender_FOUND)
CONFIG_H_APPEND(BRLCAD "#define HAVE_XRENDER 1\n")
endif (X11_Xrender_FOUND)
endif(NOT BRLCAD_ENABLE_AQUA AND NOT BRLCAD_ENABLE_MINIMAL)
# make sure Xi is included in the list of X11 libs
@@ -1381,6 +1384,10 @@ mark_as_advanced(BRLCAD_ENABLE_BULLET)
option(BRLCAD_ENABLE_GDAL "Enable features requiring the Geospatial Data Abstraction Library" ON)
mark_as_advanced(BRLCAD_ENABLE_GDAL)
# Enable features requiring STEPcode library
option(BRLCAD_ENABLE_STEP "Enable features requiring the STEP support libraries" ON)
mark_as_advanced(BRLCAD_ENABLE_STEP)
# Enable features requiring Qt
option(BRLCAD_ENABLE_QT "Enable features requiring Qt" OFF)
mark_as_advanced(BRLCAD_ENABLE_QT)
@@ -2933,17 +2940,11 @@ if(NOT HAVE_SNPRINTF)
endif(HAVE__SNPRINTF)
endif(NOT HAVE_SNPRINTF)
# So far I haven't been able to come up with a reliable self contained
# test for this, but libbu's #2 realpath test triggers a stack smash
# on some linux systems. For the moment, fall back on OpenBSD's
# userspace implementation, which does seem to work. Once we can
# get a self-contained reproduction of this failure, put it below
# and we can use the system realpath again.
if(HAVE_REALPATH)
#check_c_source_runs("#include<limits.h>\n#include <stdlib.h>\nint main() { char dir[512]; const char *d = \"/tmp/REALPATH_TEST_PATH\"; d = (const char *)realpath(d, dir); return 0; }" HAVE_WORKING_REALPATH)
#if(HAVE_WORKING_REALPATH)
# CONFIG_H_APPEND(BRLCAD "#define HAVE_WORKING_REALPATH 1\n")
#endif(HAVE_WORKING_REALPATH)
#check_c_source_runs("#include<limits.h>\n#include <stdlib.h>\nint main() { char dir[PATH_MAX]; const char *d = \"/tmp/REALPATH_TEST_PATH\"; d = (const char *)realpath(d, dir); return 0; }" HAVE_WORKING_REALPATH)
#if(HAVE_WORKING_REALPATH)
# CONFIG_H_APPEND(BRLCAD "#define HAVE_WORKING_REALPATH 1\n")
#endif(HAVE_WORKING_REALPATH)
endif(HAVE_REALPATH)
# GetFullPathName
@@ -3567,26 +3568,45 @@ if(NOT BRLCAD_IS_SUBBUILD)
endif(CPACK_RPM_PACKAGE_RELEASE)
if(WIN32)
set(CPACK_GENERATOR NSIS)
set(CPACK_NSIS_PACKAGE_NAME "BRL-CAD")
set(CPACK_NSIS_INSTALL_DIRECTORY "BRL-CAD ${BRLCAD_VERSION}")
set(CPACK_SOURCE_DIR "${CMAKE_SOURCE_DIR}")
set(CPACK_DATA_DIR "${DATA_DIR}")
set(CPACK_DOC_DIR "${DOC_DIR}")
# There is a bug in NSI that does not handle full unix paths properly. Make
# sure there is at least one set of four (4) backslashes.
set(CPACK_NSIS_MUI_ICON "${CMAKE_SOURCE_DIR}/misc/nsis\\\\brlcad.ico")
set(CPACK_NSIS_MUI_UNIICON "${CMAKE_SOURCE_DIR}/misc/nsis\\\\uninstall.ico")
set(CPACK_NSIS_ENABLE_UNINSTALL_BEFORE_INSTALL ON)
set(CPACK_NSIS_DISPLAY_NAME "BRL-CAD")
set(CPACK_NSIS_MODIFY_PATH ON)
if(BRLCAD_ENABLE_WIX)
find_package(NSIS)
if (NSIS_FOUND)
set(CPACK_GENERATOR ${CPACK_GENERATOR} NSIS)
set(CPACK_NSIS_PACKAGE_NAME "BRL-CAD")
set(CPACK_NSIS_INSTALL_DIRECTORY "BRL-CAD ${BRLCAD_VERSION}")
set(CPACK_SOURCE_DIR "${CMAKE_SOURCE_DIR}")
set(CPACK_DATA_DIR "${DATA_DIR}")
set(CPACK_DOC_DIR "${DOC_DIR}")
# There is a bug in NSIS that does not handle full unix paths properly. Make
# sure there is at least one set of four (4) backslashes.
set(CPACK_NSIS_MUI_ICON "${CMAKE_SOURCE_DIR}/misc/nsis\\\\brlcad.ico")
set(CPACK_NSIS_MUI_UNIICON "${CMAKE_SOURCE_DIR}/misc/nsis\\\\uninstall.ico")
set(CPACK_NSIS_ENABLE_UNINSTALL_BEFORE_INSTALL ON)
set(CPACK_NSIS_DISPLAY_NAME "BRL-CAD")
set(CPACK_NSIS_MODIFY_PATH ON)
endif (NSIS_FOUND)
find_package(Wix)
if (Wix_FOUND)
# User report that this version of the installer also supports
# non-graphical installation with the /passive option.
#
# Note: for WiX, start menu shortcuts and desktop icons are handled with
# properties set on targets. (At the moment, this is not true for NSIS -
# it uses entries in the misc/CMake/NSIS.template.in file.)
#
# If we need to get fancier about this, look at the following:
# https://github.com/Kitware/CMake/blob/master/CMakeCPackOptions.cmake.in#L216
# https://github.com/Kitware/CMake/tree/master/Utilities/Release/WiX
set(CPACK_GENERATOR ${CPACK_GENERATOR} WIX)
set(CPACK_WIX_LICENSE_RTF "${CMAKE_SOURCE_DIR}/misc/wix/License.rtf")
set(CPACK_WIX_PRODUCT_ICON "${CMAKE_SOURCE_DIR}/misc/wix/brlcad_product.ico")
set(CPACK_WIX_PROGRAM_MENU_FOLDER "BRL-CAD ${BRLCAD_VERSION}")
set(CPACK_WIX_UI_BANNER "${CMAKE_SOURCE_DIR}/misc/wix/brlcad_banner.bmp")
set(CPACK_WIX_UI_DIALOG "${CMAKE_SOURCE_DIR}/misc/wix/brlcad_dialog.bmp")
endif(BRLCAD_ENABLE_WIX)
endif (Wix_FOUND)
if (NOT CPACK_GENERATOR)
# If nothing else, make a zip file
set(CPACK_GENERATOR ZIP)
endif (NOT CPACK_GENERATOR)
if(CMAKE_CL_64)
set(CPACK_PACKAGE_FILE_NAME "BRL-CAD_${BRLCAD_VERSION}_win64")
set(CPACK_PACKAGE_INSTALL_REGISTRY_KEY "BRL-CAD ${BRLCAD_VERSION} win64")
@@ -3624,9 +3644,16 @@ if(NOT BRLCAD_IS_SUBBUILD)
CMAKEFILES(.gitignore)
endif(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/.gitignore)
# List any files which may exist for CI testing for distcheck. TODO -
# this should be a fixed list, but until we go live with the Git repo
# use file(GLOB_RECURSE) instead
file(GLOB_RECURSE GITHUB_FILES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} ".github/*")
CMAKEFILES(${GITHUB_FILES})
# Handle some toplevel distclean listings
DISTCLEAN("${CMAKE_BINARY_DIR}/CMakeCache.txt")
DISTCLEAN("${CMAKE_BINARY_DIR}/cmakefiles.cmake")
DISTCLEAN("${CMAKE_BINARY_DIR}/brlcadexec.cmake")
DISTCLEAN("${CMAKE_BINARY_DIR}/cmake_install.cmake")
DISTCLEAN("${CMAKE_BINARY_DIR}/install_manifest.txt")
DISTCLEAN("${CMAKE_BINARY_DIR}/OPTIONS")
@@ -3637,6 +3664,7 @@ if(NOT BRLCAD_IS_SUBBUILD)
DISTCLEAN("${CMAKE_BINARY_DIR}/include/brlcad_config.h.in")
DISTCLEAN("${CMAKE_BINARY_DIR}/CMakeDoxyfile.in")
DISTCLEAN("${CMAKE_BINARY_DIR}/CMakeDoxygenDefaults.cmake")
DISTCLEAN("${CMAKE_BINARY_DIR}/CPackProperties.cmake")
foreach(clearpattern ${DISTCLEAN_OUTFILES})
DISTCLEAN("${CMAKE_BINARY_DIR}/${clearpattern}")
endforeach(clearpattern ${DISTCLEAN_OUTFILES})
@@ -3676,6 +3704,7 @@ mark_as_advanced(EXECUTABLE_OUTPUT_PATH)
mark_as_advanced(LIBRARY_OUTPUT_PATH)
mark_as_advanced(CMAKE_CXX_COMPILER)
mark_as_advanced(CMAKE_C_COMPILER)
mark_as_advanced(CMAKE_AR)
# ----------------------------------------------------------------------------
# If options have been defined that we are going to document, by now they've
@@ -3699,7 +3728,7 @@ function(DIFF_FILE filename)
string(REGEX REPLACE "\r?\n" "" NEW_STR "${BIN_STR}")
if(NOT "${OLD_STR}" STREQUAL "${NEW_STR}")
set(CONFIG_FATAL_ERROR 1 PARENT_SCOPE)
message("\n\"${BRLCAD_SOURCE_DIR}/${filename}\" is out of date. An updated version has been generated at \"${BRLCAD_BINARY_DIR}/${filename}.new\"\nTo clear this warning, replace \"${BRLCAD_SOURCE_DIR}/${filename}\" with \"${BRLCAD_BINARY_DIR}/${filename}.new\"\n")
message("\nERROR: \"${BRLCAD_SOURCE_DIR}/${filename}\" is out of date. An updated version has been generated at \"${BRLCAD_BINARY_DIR}/${filename}.new\"\nTo clear this, replace \"${BRLCAD_SOURCE_DIR}/${filename}\" with \"${BRLCAD_BINARY_DIR}/${filename}.new\" or find the source of the difference.\n")
endif(NOT "${OLD_STR}" STREQUAL "${NEW_STR}")
endfunction(DIFF_FILE filename)
@@ -3725,7 +3754,7 @@ file(APPEND "${CMAKE_BINARY_DIR}/configure.new" "${CONFIG_SUFFIX}")
DIFF_FILE(configure)
if(CONFIG_FATAL_ERROR)
message(FATAL_ERROR "Configure haulted.")
message(FATAL_ERROR "Configure haulted because INSTALL and/or configure script are out of date.")
endif(CONFIG_FATAL_ERROR)
@@ -3737,25 +3766,18 @@ DISTCLEAN("${CMAKE_BINARY_DIR}/CMakeTmp/timedelta_end.c")
get_property(CMAKE_DISTCLEAN_TARGET_LIST GLOBAL PROPERTY CMAKE_DISTCLEAN_TARGET_LIST)
list(REMOVE_DUPLICATES CMAKE_DISTCLEAN_TARGET_LIST)
configure_file("${BRLCAD_CMAKE_DIR}/distclean.cmake.in" "${BRLCAD_BINARY_DIR}/distclean.cmake" @ONLY)
if("${CMAKE_GENERATOR}" MATCHES "Make")
if ("${CMAKE_GENERATOR}" MATCHES "Visual Studio")
add_custom_target(distclean
COMMAND ${CMAKE_COMMAND} -E echo "Running make clean..."
COMMAND ${CMAKE_COMMAND} -E chdir "${BRLCAD_BINARY_DIR}" $(MAKE) clean
COMMAND ${CMAKE_COMMAND} -E echo "Running make clean... done."
COMMAND ${CMAKE_COMMAND} -P "${BRLCAD_BINARY_DIR}/distclean.cmake"
)
elseif("${CMAKE_GENERATOR}" MATCHES "Ninja")
else ("${CMAKE_GENERATOR}" MATCHES "Visual Studio")
add_custom_target(distclean
COMMAND ${CMAKE_COMMAND} -E echo "Running make clean..."
COMMAND ${CMAKE_COMMAND} -E chdir "${BRLCAD_BINARY_DIR}" ninja -t clean
COMMAND ${CMAKE_COMMAND} -E echo "Running make clean... done."
COMMAND ${CMAKE_COMMAND} -E echo "Running clean target..."
COMMAND ${CMAKE_COMMAND} --build ${BRLCAD_BINARY_DIR} --target clean
COMMAND ${CMAKE_COMMAND} -E echo "Running clean target... done."
COMMAND ${CMAKE_COMMAND} -P "${BRLCAD_BINARY_DIR}/distclean.cmake"
)
else("${CMAKE_GENERATOR}" MATCHES "Make")
add_custom_target(distclean
COMMAND ${CMAKE_COMMAND} -E echo "Not implemented for generator ${CMAKE_GENERATOR}"
)
endif("${CMAKE_GENERATOR}" MATCHES "Make")
endif ("${CMAKE_GENERATOR}" MATCHES "Visual Studio")
if(TARGET distclean)
set_target_properties(distclean PROPERTIES FOLDER "Compilation Utilities")
endif(TARGET distclean)
@@ -3767,6 +3789,12 @@ list(REMOVE_DUPLICATES CMAKE_IGNORE_FILES)
string(REPLACE ";" "\n" CMAKE_IGNORE_FILES "${CMAKE_IGNORE_FILES}")
file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/cmakefiles.cmake" "${CMAKE_IGNORE_FILES}")
get_property(BRLCAD_EXEC_FILES GLOBAL PROPERTY BRLCAD_EXEC_FILES)
list(REMOVE_DUPLICATES BRLCAD_EXEC_FILES)
list(SORT BRLCAD_EXEC_FILES)
string(REPLACE ";" "\n" BRLCAD_EXEC_FILES "${BRLCAD_EXEC_FILES}")
file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/brlcadexec.cmake" "${BRLCAD_EXEC_FILES}")
#Done with all really time-consuming steps - do the configure time delta
if(NOT BRLCAD_IS_SUBBUILD)
execute_process(COMMAND "${CMAKE_BINARY_DIR}/CMakeTmp/dreport" "Elapsed configuration time: " "${CONFIG_DELTA_START}")
+18681 -129
View File
File diff suppressed because it is too large Load Diff
+82 -7
View File
@@ -10,17 +10,85 @@ descriptive text that emphasizes or further describes significant
changes made. See document footer for additional details.
----------------------------------------------------------------------
--- 20XX-XX-XX Release 7.3X.X ---
--- 2020-xx-xx Release 7.32.2 ---
----------------------------------------------------------------------
* added subtract subcommand to MGED analyze command - Cliff Yapp
* added intersect subcommand to MGED analyze command - Cliff Yapp
* added summarize subcommand to MGED analyze command - Cliff Yapp
* added quiet (-q) flag to MGED kill command - Cliff Yapp
* added MGED stat command for reporting of object info - Cliff Yapp
* corrected examples in gdiff man page - Cliff Yapp
* fixed help message for -F option on gdiff command - Cliff Yapp
* fixed mged -c bomb attaching to graphical displays - Sean Morrison
* fixed titlebar bug opening .g with filename spaces - Sean Morrison
----------------------------------------------------------------------
--- 2020-09-14 Release 7.32.0 ---
----------------------------------------------------------------------
This major release of BRL-CAD introduces significant updates to core
library infrastructure. The update includes restructuring of nearly
all of BRL-CAD's display infrastructure in preparation for upcoming
significant GUI changes. This release also fixes over fifty of
BRL-CAD's command-line utilities so they work properly on Windows.
This is likely the last major release of BRL-CAD on Subversion
infrastructure with BRL-CAD's imminent migration to Git.
* added basic example to remrt man page - Cliff Yapp, Sean Morrison
* added new 'nburst' version of classic burst tool - Cliff Yapp
* added 'bot set' command for low level BoT manipulation - Cliff Yapp
* report semantic strings for 'bot get' mode/orientation - Cliff Yapp
* added new manual page for the libicv library - Sumagna Das
* added -size filter to MGED search command - Cliff Yapp
* upgraded Tcl/Tk from 8.5.19 to 8.6.10 - Cliff Yapp
* bundled zlib & libpng use API prefix and library suffix - Cliff Yapp
* extensive improvements to OpenCL ray trace pipeline - Rishabh Suthar
* improved rtweight density value warnings - Sean Morrison, Cliff Yapp
* added perception-based hdtv and hdr modes for pix-bw - Sean Morrison
* fixed semi-transparent DM and FB windows on Linux - Cliff Yapp
* improved rtweight manual page - Sean Morrison
* added line reporting TCP listening port to remrt output - Cliff Yapp
* added help options support (-h,-?) to asc2dsp and g2asc - Cliff Yapp
* fixed crash when drawing a VOL with missing data - Cliff Yapp
* facetall.sh script is replaced by MGED facetize command - Cliff Yapp
* dynamic LIBGED command loading in MGED & Archer - Cliff Yapp
* removed MGED "Display Manager" switching menu options - Cliff Yapp
* dynamic LIBDM display manager loading in MGED & Archer - Cliff Yapp
* fixed 'idents' crash when running in a read-only dir - Sean Morrison
* fixed fb tools w/ redirected files and cv on Windows - Sean Morrison
* expanded 'bo' command docs with a DSP input example - Sean Morrison
* fixed 'in' making joint, superell, & script objects - Sean Morrison
* Creo converter always writes out CREO_NAME attribute - Sean Morrison
* improved gdiff -F filtering option behavior - Cliff Yapp
* improved gdiff command verbosity reporting options - Cliff Yapp
* improved Combination Editor button behaviors in MGED - Sean Morrison
* added 'asc' geometry import and export support to gcv - Cliff Yapp
* consistent usage taxonomy for ident-related commands - Sean Morrison
* added units label to the Archer in-scene scale graphic - Cliff Yapp
* added framebuffer capture option to screengrab command - Cliff Yapp
* added framebuffer writing option to overlay command - Cliff Yapp
* added tree search option to 'whichid' and 'whichair' - Cliff Yapp
* changed 'whichid' and 'whichair' to print ranges of unused IDs
- Nick Reed, Cliff Yapp
* improved output path sorting of search command - Cliff Yapp
* added "bot extrude" command for making ARB6s from bots - Cliff Yapp
* added 3dm-g failure message about supported versions - Cliff Yapp
* fixed bw-png writing corrupted png files on Windows - Sean Morrison
* added MGED 'dm type' subcommand for reporting DM type - Cliff Yapp
* improved vdeck input support for Windows text files - Sean Morrison
* fixed MGED 'plot' & 'brep plot' commands on Windows - Sean Morrison
* fixed numerous image utilities reading binary input files on Windows
- Sean Morrison, Cliff Yapp
----------------------------------------------------------------------
--- 2020-07-24 Release 7.30.10 ---
----------------------------------------------------------------------
* added 3dm-g failure message about supported versions - Cliff Yapp
* fixed MGED "in" command support for datums - Sean Morrison
* fixed bw-png writing corrupted png files on Windows - Sean Morrison
----------------------------------------------------------------------
@@ -44,9 +112,11 @@ changes made. See document footer for additional details.
* fixed transparent drawing in MGED - Nick Reed
* fixed solid NURBS brep intersection testing - Cliff Yapp
* removed extra blank line after commands in MGED GUI - Sean Morrison
* minor improvement to NURBS ray tracing performance - Sean Morrison
* added "plate" object type filter to search command - Cliff Yapp
* fixed latent logging bug during facetize on Windows - Bob Parker
* fixed bug closing rt framebuffer windows on Windows - Sean Morrison
* added EBM support for reading from database objects - Jeffrey Liu
----------------------------------------------------------------------
@@ -61,9 +131,13 @@ changes made. See document footer for additional details.
* changed mged escape key binding to reset mouse mode - Sean Morrison
* removed default xXyYzZ0 rate rotation key bindings - Sean Morrison
* improved tessellation of nearly coplanar surfaces - John Anderson
* fixed display of annotations on Windows - Daniel Roßberg
* fixed annotations display on Windows - Daniel Roßberg, Ali Haydar
* fixed rtedge and rtwizard occlusion object edge bug - Sean Morrison
* rt* tools no longer force outputs to be read-only - Sean Morrison
* fixed bug listing annotations with short label strings - Ali Haydar
* improved support for label placement in annotations - Ali Haydar
* fixed bug in annotation object bounding box calculation - Ali Haydar
* fixed an annotation leader line bug affecting display - Ali Haydar
* fixed 'burst' crash when run without options - Sean Morrison
* changed rtweight to not truncate long pathnames - Sean Morrison
* added new ball bearing example geometry model - Sean Morrison
@@ -83,9 +157,9 @@ changes made. See document footer for additional details.
- Sean Morrison, Cliff Yapp
* added a copy subcommand to MGED's attr command - Cliff Yapp
* fixed a locking condition in MGED's rtcheck command - Cliff Yapp
* added support for >=< prefixes for mater -d get options Cliff Yapp
* added support for >=< prefixes for mater -d get options - Cliff Yapp
* fixed brlman lookup location of html manual pages - Cliff Yapp
* fixed rt -t top-to-bottom parallel rendering option Sean Morrison
* fixed rt -t top-to-bottom parallel rendering option - Sean Morrison
* added a 'flip' normals command to MGED's brep command - Cliff Yapp
* added rtweight support for in-.g density information - Cliff Yapp
* improved usability of vol primitives w/ missing data - Sean Morrison
@@ -192,7 +266,7 @@ methodologies and usability enhancements.
* improved 'idents' command portability - Daniel Ramirez, Cliff Yapp
* changed remrt/rtsrv to no longer report overlaps - Sean Morrison
* improved GUI of MGED's Overlap Tool - Saran Narayan
* fixed geometry directory building bug in remrt/rtsrv - Sean Morrison
* fixed geopmetry directory building bug in remrt/rtsrv - Sean Morrison
* fixed gcv problem with full paths on Windows - Cliff Yapp
* removed precision limitation in NIRT input parsing - Cliff Yapp
* added new example geometry models: chess and die pieces - Jeff Sieu
@@ -273,6 +347,7 @@ and address portability issues.
* fix rtedge foreground/background color options - Jon Engbert
* support rt -C colors specified as 0-255 or 0.0-1.0 - Jon Engbert
* fixed xpush bug leaving stray top-level objects - Nick Reed
* removed MGED wrapper 'mged.bat' batch script on Windows - Cliff Yapp
----------------------------------------------------------------------
@@ -326,7 +401,7 @@ performance ray tracing pipeline.
* fixed patch-g tool and E command infinite loop bug - Sean Morrison
* improved NMG ray tracing fault tolerance - Sean Morrison
* added 3dm-g support for layers and names - Keith Bowman
* fixed color/shader preservation issue with 3dm-g importer - Jon Engbert
* fixed issue preserving color/shader info with 3dm-g - 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
@@ -340,7 +415,7 @@ performance ray tracing pipeline.
* removed any-png.sh - use pix tools - Sean Morrison
* removed librtserver interface - Cliff Yapp
* removed MGED per_line command - Sean Morrison
* updated MGED tops command: default to -g -u behavior- Sean Morrison
* updated MGED tops command: default to -g -u behavior - Sean Morrison
* removed MGED -n option; use -c instead - Sean Morrison
* removed MGED commands pl, pov and polybinout - Sean Morrison
* removed UtahRLE image tools - Cliff Yapp
+1 -1
View File
@@ -1,5 +1,5 @@
BRL-CAD
Release 7.32.0
Release 7.32.2
http://brlcad.org/
BRL-CAD is a powerful cross-platform open source combinatorial
+69 -19
View File
@@ -18,13 +18,39 @@ tasks as they are completed.
THESE TASKS SHOULD HAPPEN BEFORE THE NEXT RELEASE
-------------------------------------------------
* The embedded framebuffer for the X display manager is not working
with Tcl/Tk 8.6 - it brings down mged with an Xerror when it tries
to XFlush after X24_blit.
* Release Testing, final commit reviews
THESE TASKS SHOULD HAPPEN WITHIN TWO RELEASE ITERATIONS
-------------------------------------------------------
* The following will be removed from MGED's menu bar (unused
features, can be accomplished another way, or will be exposed
only as lower level settings when there are sensible defaults
that are seldom changed.)
ViewRing menu and entries.
Modes->Persistent Sweep Rectangle
Modes->Collaborate
Modes->Rateknobs
Modes->Display Lists
Misc->Keystroke Forwarding
Misc->Depth Cueing
Misc->Z Buffer
Misc->Lighting
Settings->Mouse Behavior->Sweep Raytrace-Rectangle
Settings->Mouse Behavior->Sweep Paint-Rectangle
Settings->Mouse Behavior->Sweep Zoom-Rectangle
Settings->Apply To->Local Panes
Settings->Apply To->Listed Panes
Settings->Framebuffer->Rectangle Area
* The embedded framebuffer for the X display manager is not working
with Tcl/Tk 8.6 - it brings down mged with an Xerror when it tries
to XFlush after X24_blit. Better solution is to replace the X
dm/fb with a cross platform software rasterizing solution of some
sort.
* Implement new behavior for quit command in MGED - if bu_subprocess
commands are running, by default refuse to quit and print out a
list of currently running processes and instructions on how to abort
@@ -146,9 +172,26 @@ THESE TASKS SHOULD HAPPEN WITHIN TWO RELEASE ITERATIONS
THESE ARE UNSCHEDULED BACKLOG TASKS
-----------------------------------
* audit/fix all of the src/util and src/fb utilities to ensure they
set binary mode (setmode O_BINARY) when writing out files. at quick
glance, there are many (about 50) that still do not.
* bot -V check solid bot.s visualizations don't show up if bot.s is
first drawn in MGED - should properly "overlay" them so the user
doesn't have to first erase the solid from the scene visual.
* MGED's startup directory is inconsistent and sometimes problematic.
If the current working directory is read-only (e.g., a default
system install and opening one of the sample .g files), then
numerous commands the write out to the current path will fail (e.g.,
"idents file.log"). Review startup path behavior and consider using
$HOME or some other system path, unless started on the command-line.
* rtwizard's reopening of the database is causing db_dircheck
"Duplicate of..." errors when opening read-only .g files.
* procedural studio box generation allowing for specification of size,
shape, material, and lighting characteristics
* verify all of the src/util utilities behave correctly on Windows
with respect to mode (i.e. correctly using setmode/O_BINARY when
performing file I/O.)
* the osgl libdm backend has what appears to be an off-by-one-pixel
error in the x and y directions with respect to mouse placement.
@@ -1151,9 +1194,6 @@ THESE ARE UNSCHEDULED BACKLOG TASKS
http://support.echoview.com/WebHelp/Reference/File_formats/
Export_file_formats/Volume_data_set_file_formats.htm
* turn geometry converters and image converters into libraries
(started as libraries libgcv and libicv)
* add support for querying geometry properties to library including
computing surface area and weight/mass.
@@ -2310,8 +2350,15 @@ INFRASTRUCTURE
THESE BREAK PROTOCOL OR ARE BACKWARDS-INCOMPATIBLE
(i.e., v6 database format)
--------------------------------------------------
* support matrices over any object, including over top-level combs
without affecting members and including over primitives so they may
optionally retain a local coordinate system even after a push
operation this also will allow primitives like the torus support
non-uniform scaling.
* change convention of using 'u', '+', and '-' for unions,
intersections, and subtractions respectively to symbols that
unambiguously describe the underlying CSG operation.
@@ -2359,11 +2406,6 @@ THESE BREAK PROTOCOL OR ARE BACKWARDS-INCOMPATIBLE
* remove the storage of the never-implemented keypoint parameter for
extrude objects.
* have all primitives record a transformation matrix so that they may
retain a local coordinate system even after pushed matrices. this
also will allow primitives like the torus to support non-uniform
scaling.
* rename 'part' primitive to 'pill' or remove it entirely in favor of
a more generalized metaprimitive primitive.
@@ -2415,6 +2457,18 @@ FUNCTIONALITY NEEDED TO SPEED UP RAYTRACING
* write and use kdtree - make traversal cache coherent
GEOMETRY MODELS
---------------
* CSG shaderball
* solid teapot
* studio box
* CSG lightcycle
DOCUMENTATION
-------------
@@ -2460,6 +2514,7 @@ DOCUMENTATION
dsel
dstats
dwin
gcv
ihist
imod
isst
@@ -2570,11 +2625,6 @@ DOCUMENTATION
doc/docbook/presentations/en/intro-to-tcltk.xml
doc/docbook/specifications/en/BRL_CAD_g_format_V5.xml
* improve rtweight documentation, explain how it computes its
"centroid" (as it's not the center of bounding box of all objects,
it's the geometric centoid that that takes booleans into
consideration).
* write up some documentation on other build tools besides make -
CMake supports other generators, wouldn't hurt to detail how to
trigger builds in them (MSVC is partially covered, make sure to
+20 -7
View File
@@ -11,17 +11,26 @@ set(BARK_SOURCES
run.c
clean.c
)
BRLCAD_ADDEXEC(bark "${BARK_SOURCES}" libbu NO_STRICT NO_INSTALL)
BRLCAD_ADDEXEC(bark "${BARK_SOURCES}" libbu NO_STRICT NO_INSTALL TEST_USESDATA)
configure_file(run.sh "${CMAKE_CURRENT_BINARY_DIR}/benchmark" COPYONLY)
install(PROGRAMS "${CMAKE_CURRENT_BINARY_DIR}/benchmark" DESTINATION ${BIN_DIR})
add_custom_command(
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/benchmark-${CMAKE_CFG_INTDIR}-done
COMMAND "${CMAKE_COMMAND}" -E copy_if_different ${CMAKE_CURRENT_SOURCE_DIR}/run.sh $<TARGET_FILE_DIR:bark>/benchmark
COMMAND "${CMAKE_COMMAND}" -E touch ${CMAKE_CURRENT_BINARY_DIR}/benchmark-${CMAKE_CFG_INTDIR}-done
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/run.sh
)
add_custom_target(benchmark_cp ALL DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/benchmark-${CMAKE_CFG_INTDIR}-done)
set_target_properties(benchmark_cp PROPERTIES FOLDER "Benchmark")
if(CMAKE_CONFIGURATION_TYPES)
foreach(CFG_TYPE ${CMAKE_CONFIGURATION_TYPES})
string(TOUPPER "${CFG_TYPE}" CFG_TYPE_UPPER)
configure_file(run.sh ${CMAKE_BINARY_DIR_${CFG_TYPE_UPPER}}/bin/benchmark COPYONLY)
DISTCLEAN(${CMAKE_BINARY_DIR_${CFG_TYPE_UPPER}}/${BIN_DIR}/benchmark)
endforeach(CFG_TYPE ${CMAKE_CONFIGURATION_TYPES})
else(CMAKE_CONFIGURATION_TYPES)
configure_file(run.sh ${CMAKE_BINARY_DIR}/bin/benchmark COPYONLY)
DISTCLEAN(${CMAKE_BINARY_DIR}/${BIN_DIR}/benchmark)
endif(CMAKE_CONFIGURATION_TYPES)
file(WRITE "${CMAKE_BINARY_DIR}/CMakeTmp/benchmsg.cmake" "message(\"---\")\n")
@@ -38,32 +47,36 @@ CMAKEFILES(
if(SH_EXEC AND TARGET m35.g)
# CTest enabled short run of the benchmark suite
add_test(NAME benchmark COMMAND ${SH_EXEC} "${CMAKE_BINARY_DIR}/bin/benchmark" run TIMEFRAME=1)
add_test(NAME benchmark COMMAND ${SH_EXEC} "$<TARGET_FILE_DIR:bark>/benchmark" run TIMEFRAME=1)
set_tests_properties(benchmark PROPERTIES LABELS "Benchmark")
add_custom_target(benchmark-check
COMMAND ${CMAKE_CTEST_COMMAND} -L Benchmark --output-on-failure
DEPENDS rt pixcmp BENCHMARK_PIX_cp PIX_LOG_cp
DEPENDS rt pixcmp BENCHMARK_PIX_cp PIX_LOG_cp benchmark_cp
)
add_dependencies(benchmark-check bldg391.g m35.g moss.g sphflake.g star.g world.g)
set_target_properties(benchmark-check PROPERTIES FOLDER "Benchmark")
if(TARGET check)
add_dependencies(check benchmark-check)
endif(TARGET check)
# Full run of the benchmark suite
add_custom_target(benchmark
COMMAND ${SH_EXEC} ${CMAKE_BINARY_DIR}/bin/benchmark run
COMMAND ${SH_EXEC} $<TARGET_FILE_DIR:bark>/benchmark run
COMMAND ${CMAKE_COMMAND} -P "${CMAKE_BINARY_DIR}/CMakeTmp/benchmsg.cmake"
DEPENDS rt pixcmp BENCHMARK_PIX_cp PIX_LOG_cp
DEPENDS rt pixcmp BENCHMARK_PIX_cp PIX_LOG_cp benchmark_cp
)
add_dependencies(benchmark bldg391.g m35.g moss.g sphflake.g star.g world.g)
set_target_properties(benchmark PROPERTIES FOLDER "Benchmark")
# benchmark cleanup targets
add_custom_target(benchmark-clean
${SH_EXEC} ${CMAKE_BINARY_DIR}/bin/benchmark clean
)
set_target_properties(benchmark-clean PROPERTIES FOLDER "Benchmark")
add_custom_target(benchmark-clobber
${SH_EXEC} ${CMAKE_BINARY_DIR}/bin/benchmark clobber
)
set_target_properties(benchmark-clobber PROPERTIES FOLDER "Benchmark")
endif(SH_EXEC AND TARGET m35.g)
# Local Variables:
+47 -25
View File
@@ -70,25 +70,29 @@ LC_ALL=C
# commands that this script expects
for __cmd in echo pwd ; do
echo "test" | $__cmd > /dev/null 2>&1
out=`echo "test" | $__cmd 2>&1`
if test ! x$? = x0 ; then
echo "INTERNAL ERROR: $__cmd command is required"
echo " (output was [$out])"
exit 1
fi
done
echo "test" | grep "test" > /dev/null 2>&1
out=`echo "test" | grep "test" 2>&1`
if test ! x$? = x0 ; then
echo "INTERNAL ERROR: grep command is required"
echo " (output was [$out])"
exit 1
fi
echo "test" | tr "test" "test" > /dev/null 2>&1
out=`echo "test" | tr "test" "test" 2>&1`
if test ! x$? = x0 ; then
echo "INTERNAL ERROR: tr command is required"
echo " (output was [$out])"
exit 1
fi
echo "test" | sed "s/test/test/" > /dev/null 2>&1
out=`echo "test" | sed "s/test/test/" 2>&1`
if test ! x$? = x0 ; then
echo "INTERNAL ERROR: sed command is required"
echo " (output was [$out])"
exit 1
fi
@@ -391,12 +395,14 @@ fi
# where to write results
LOGFILE=run-$$-benchmark.log
touch "$LOGFILE"
if test -e $LOGFILE ; then
echo "WARNING: $LOGFILE already exists. Appending."
else
touch "$LOGFILE"
fi
if test ! -w "$LOGFILE" ; then
if test ! "x$LOGFILE" = "x/dev/null" ; then
echo "ERROR: Unable to log to $LOGFILE"
fi
LOGFILE=/dev/null
echo "WARNING: Unable to log to $LOGFILE"
LOGFILE=
fi
VERBOSE_ECHO=:
@@ -415,7 +421,13 @@ fi
$ECHO "B R L - C A D B E N C H M A R K"
$ECHO "================================="
$ECHO "Running $THIS on `date`"
$ECHO "Logging output to $LOGFILE"
if test "x$LOGFILE" != "x" ; then
$ECHO "Logging output to $LOGFILE"
elif test "x$QUIET" != "x" ; then
$ECHO "Logging output to STDOUT"
else
$ECHO "Logging output is OFF"
fi
$ECHO "`uname -a 2>&1`"
$ECHO
@@ -584,8 +596,11 @@ else
$ECHO "Using [$ELP] for ELP"
fi
# more sanity checks, make sure the binaries and scripts run
eval \"$RT\" -s1 -F/dev/debug \"${DB}/moss.g\" LIGHT > /dev/null 2>&1
# stop git shell & msys2 arg manipulation
export MSYS_NO_PATHCONV=1 MSYS2_ARG_CONV_EXCL="-F/dev/debug"
# sanity check: make sure $RT runs
out=`eval \"$RT\" -s1 -F/dev/debug \"${DB}/moss.g\" LIGHT 2>&1`
ret=$?
if test ! "x${ret}" = "x0" ; then
$ECHO
@@ -593,25 +608,30 @@ if test ! "x${ret}" = "x0" ; then
"$RT"
$ECHO
$ECHO "ERROR: RT does not seem to work as expected"
$ECHO " (output was [$out])"
exit 2
fi
# create a temporary file named "null", fopen("/dev/null") does not work on
# windows (using cygwin), so punt.
> null
eval \"$CMP\" null null >/dev/null 2>&1
rm -f null
# sanity check: make sure $CMP runs
echo "" > tmp1
echo "" > tmp2
out=`echo "" | eval \"$CMP\" tmp1 tmp2 2>&1`
ret=$?
if test ! "x${ret}" = "x0" ; then
$ECHO
$ECHO "ERROR: CMP does not seem to work as expected"
$ECHO " (output was [$out])"
rm -f tmp1 tmp2
exit 2
fi
eval \"$ELP\" 0 > /dev/null 2>&1
rm -f tmp1 tmp2
# sanity check: make sure $ELP runs
out=`eval \"$ELP\" 0 2>&1`
if test ! "x${ret}" = "x0" ; then
$ECHO
$ECHO "ERROR: ELP does not seem to work as expected"
$ECHO " (output was [$out])"
exit 2
fi
@@ -671,7 +691,8 @@ $ECHO
# if expr works, let the user know about how long this might take
if test "x`expr 1 - 1 2>/dev/null`" = "x0" ; then
zero=`expr 1 - 1 2>&1`
if test "x$zero" = "x0" ; then
mintime="`expr 6 \* $TIMEFRAME`"
if test $mintime -lt 1 ; then
mintime=0 # zero is okay
@@ -693,6 +714,7 @@ if test "x`expr 1 - 1 2>/dev/null`" = "x0" ; then
$ECHO
else
$ECHO "WARNING: expr is unavailable, unable to compute statistics"
$ECHO " (output of 1 - 1 was [$zero])"
$ECHO
fi
@@ -859,13 +881,13 @@ sqrt ( ) {
if test "x$sqrt_number" = "x" ; then
$ECHO "ERROR: cannot compute the square root of nothing" 1>&2
exit 1
elif test $sqrt_number -lt 0 > /dev/null 2>&1 ; then
elif test $sqrt_number -lt 0 ; then
$ECHO "ERROR: square root of negative numbers is only in your imagination" 1>&2
exit 1
fi
sqrt_have_dc=yes
echo "1 1 + p" | dc >/dev/null 2>&1
out=`echo "1 1 + p" | dc 2>&1`
if test ! x$? = x0 ; then
sqrt_have_dc=no
fi
@@ -875,7 +897,7 @@ sqrt ( ) {
sqrt_root=`echo "$sqrt_number v p" | dc`
else
sqrt_have_bc=yes
echo "1 + 1" | bc >/dev/null 2>&1
out=`echo "1 + 1" | bc 2>&1`
if test ! "x$?" = "x0" ; then
sqrt_have_bc=no
fi
@@ -1225,13 +1247,13 @@ perf ( ) {
# see if we have a calculator
perf_have_dc=yes
echo "1 1 + p" | dc >/dev/null 2>&1
out=`echo "1 1 + p" | dc 2>&1`
if test ! x$? = x0 ; then
perf_have_dc=no
fi
perf_have_bc=yes
echo "1 + 1" | bc >/dev/null 2>&1
out=`echo "1 + 1" | bc 2>&1`
if test ! x$? = x0 ; then
perf_have_bc=no
fi
+20 -14
View File
@@ -97,25 +97,31 @@ function(ADD_G_TARGET in_model folder)
endif(${MODEL_TYPE} STREQUAL "fg4")
if(${MODEL_TYPE} STREQUAL "stp")
add_custom_command(
OUTPUT ${CMAKE_CURRENT_BUILD_DIR_SCRIPT}/${output_file}
COMMAND step-g -O ${CMAKE_CURRENT_BUILD_DIR_SCRIPT}/${output_file} ${CMAKE_CURRENT_SOURCE_DIR}/${in_model} > ${log_file} 2>&1
DEPENDS step-g ${CMAKE_CURRENT_SOURCE_DIR}/${in_model}
)
if (BRLCAD_ENABLE_STEP)
add_custom_command(
OUTPUT ${CMAKE_CURRENT_BUILD_DIR_SCRIPT}/${output_file}
COMMAND step-g -O ${CMAKE_CURRENT_BUILD_DIR_SCRIPT}/${output_file} ${CMAKE_CURRENT_SOURCE_DIR}/${in_model} > ${log_file} 2>&1
DEPENDS step-g ${CMAKE_CURRENT_SOURCE_DIR}/${in_model}
)
else (BRLCAD_ENABLE_STEP)
CMAKEFILES(${CMAKE_CURRENT_SOURCE_DIR}/${in_model})
endif (BRLCAD_ENABLE_STEP)
endif(${MODEL_TYPE} STREQUAL "stp")
if(NOT ${MODEL_TYPE} STREQUAL "asc" OR BRLCAD_ENABLE_TCL)
add_custom_target(${in_model_root}.g ALL DEPENDS ${CMAKE_CURRENT_BUILD_DIR_SCRIPT}/${output_file})
set_target_properties(${in_model_root}.g PROPERTIES FOLDER "${folder}")
if(NOT ${MODEL_TYPE} STREQUAL "stp" OR BRLCAD_ENABLE_STEP)
add_custom_target(${in_model_root}.g ALL DEPENDS ${CMAKE_CURRENT_BUILD_DIR_SCRIPT}/${output_file})
set_target_properties(${in_model_root}.g PROPERTIES FOLDER "${folder}")
# Install logic
if(BRLCAD_INSTALL_EXAMPLE_GEOMETRY)
install(FILES ${CMAKE_CURRENT_BUILD_DIR_INSTALL}/${output_file} DESTINATION ${DATA_DIR}/${rel_dir})
endif(BRLCAD_INSTALL_EXAMPLE_GEOMETRY)
# Install logic
if(BRLCAD_INSTALL_EXAMPLE_GEOMETRY)
install(FILES ${CMAKE_CURRENT_BUILD_DIR_INSTALL}/${output_file} DESTINATION ${DATA_DIR}/${rel_dir})
endif(BRLCAD_INSTALL_EXAMPLE_GEOMETRY)
# Clean-up
set_property(DIRECTORY APPEND PROPERTY ADDITIONAL_MAKE_CLEAN_FILES "${log_file}")
DISTCLEAN("${log_file}")
# Clean-up
set_property(DIRECTORY APPEND PROPERTY ADDITIONAL_MAKE_CLEAN_FILES "${log_file}")
DISTCLEAN("${log_file}")
endif(NOT ${MODEL_TYPE} STREQUAL "stp" OR BRLCAD_ENABLE_STEP)
endif(NOT ${MODEL_TYPE} STREQUAL "asc" OR BRLCAD_ENABLE_TCL)
endfunction(ADD_G_TARGET in_model folder)
+4 -6
View File
@@ -4,16 +4,15 @@ verbose_add_subdirectory(doc legal)
set(documentation_DATA
BRL-CAD.bib
GITHUB
IDEAS
PROJECTS
README.Linux
README.MacOSX
README.Windows
README.other/README.AIX
README.other/README.BSD
README.other/README.IRIX
README.other/README.Solaris
README.other/README.VAX
README.BSD
README.Solaris
README.VAX
checklist.txt
description.txt
notes/TODO.BREP
@@ -208,7 +207,6 @@ install(FILES "${CMAKE_CURRENT_BINARY_DIR}/pad_file.xml" DESTINATION ${DOC_DIR})
CMAKEFILES(
CMakeLists.txt
README.other/README.OSCON-2014
STARTERS
STRATEGY
notes/bsd_semaphore_bug.txt
+60
View File
@@ -0,0 +1,60 @@
Notes about development with the Github hosting platform.
--------------------------------------------------------------------------------
Using Github Actions to iteratively debug problems.
Github's runners (build platforms for it's Actions CI system) offer a way to
test platforms we don't otherwise have access to. Sometimes, if we need to
iteratively test inputs being supplied to tools on those platforms to diagnose
a problem, the full configure/build/test cycle can be a very slow way to
proceed.
A way forward in this case is to create a temporary local repository with a
checking of the binary version of BRL-CAD used for the specific platform in
question, along with test inputs and an action defined to run the specific test
in question. (REMEMBER - github repos are public, so only define and use inputs
suitable for public consumption!)
For the below example, we created a repository with the Windows binary install
and a README file explaining what the test is doing:
-rw-rw-r-- 1 user user 72 Sep 23 17:52 README
drwxrwxr-x 3 user user 12288 Sep 24 07:41 bin
drwxrwxr-x 4 user user 4096 Sep 23 17:49 libexec
drwxrwxr-x 13 user user 4096 Sep 23 17:50 lib
drwxrwxr-x 5 user user 4096 Sep 23 17:49 include
drwxrwxr-x 16 user user 4096 Sep 23 17:50 share
drwxrwxr-x 8 user user 4096 Sep 24 07:42 .git
drwxrwxr-x 3 user user 4096 Sep 23 17:53 .github
Then, in the .github/workflows directory we create a .yml file to trigger the
test whenever we push a change. For this example we were wanting to test the
benchmark script, so we create a .github/workflows/benchmark.yml file with the
following contents:
name: benchhmark
on: [push]
jobs:
bench:
runs-on: windows-latest
steps:
- uses: actions/checkout@v2
# https://docs.github.com/en/actions/reference/workflow-commands-for-github-actions#adding-a-system-path
- run: echo '::add-path::{C:\Program Files\Git\bin}'
- run: sh.exe ./bin/benchmark run
This allowed developers to iteratively adjust the bin/benchmark shell script
and test the results in the compilation Windows environment, *without* having
to perform the full compilation cycle on Windows each time. Once a working
benchmark script was identified it was added back to the primary repository and
the test repo deleted.
--------------------------------------------------------------------------------
Debugging flags can be added to the actions environment for a given repo:
https://github.community/t/ci-access-to-shell-session/17250
(Note: the "Secrets" label is misleading in this particular case - that is
the mechanism by which the values are introduced into the runner environment,
but there are no actual secrets contained in the values of the debugging
variables.)
+53 -4
View File
@@ -53,10 +53,10 @@ you will be able to compile BRL-CAD.
Following the build instructions in the INSTALL file. You will need:
gcc (3+, e.g. 4.0.3)
g++ (3+, e.g. 4.0.3)
gcc (6+, e.g. 6.0.3)
g++ (6+, e.g. 6.0.3)
make (e.g. gnu make 3.8.0)
cmake (2.8.8 or newer)
cmake (3.0.2 or newer)
All three of those have implicit dependencies on other packages.
@@ -89,9 +89,13 @@ should be deleted and recreated for each new attempt at package
generation.
Redhat/Fedora
Redhat/CentOS/Fedora
-------------
If you don't already have the necessary development tools:
yum install gcc gcc-c++ cmake
Development packages for building on Redhat/Fedora platforms:
yum install libX11-devel
@@ -101,12 +105,49 @@ Development packages for building on Redhat/Fedora platforms:
yum install fontconfig-devel # optional
yum install mesa-libGL-devel # optional
If you wish to create rpm packages, you'll need rpmbuild
yum install rpm-build # optional
When setting up older versions for building BRL-CAD, it is sometimes
necessary to install some non-default compilation tools in addition to the
usual dependencies. (The default toolchain is sometimes too old to
properly build BRL-CAD, if the compilers don't support sufficiently modern
standards.) The following example is for CentOS 7:
yum install centos-release-scl
yum install devtoolset-7
Then to run within that environment:
scl enable devtoolset-7 bash
The CMake version is often too old as well. One way forward is to download the
source code and bootstrap it (do this within the devtoolset enabled bash):
sudo yum install openssl-devel
curl -L -o cmake-3.18.2.tar.gz https://github.com/Kitware/CMake/releases/download/v3.18.2/cmake-3.18.2.tar.gz
tar -xvf cmake-3.18.2.tar.gz
cd cmake-3.18.2
./bootstrap --prefix=/opt/cmake
make -j3 && make install
export PATH=/opt/cmake/bin
From there, with the devtoolset enabled and the PATH set to include the new
CMake, it should be possible to proceed normally with the build.
-------
To determine what particular version of Redhat or Fedora you are
using, check these files:
cat /etc/redhat-release
cat /etc/fedora-release
-------
Note there is a supported rpm package generation script in file
'sh/make_rpm.sh' which can only function on a Fedora or openSUSE
system. It can be used like so:
@@ -119,6 +160,14 @@ system. It can be used like so:
It is also possible to create an RPM package using CPack with the
make package build target, on systems with the proper RPM tools.
-------
One issue encountered running CentOS in VirtualBox - networking
is off by default. To enable, look for a file in
/etc/sysconfig/network-scripts/ called something like enp0s3 and
set ONBOOT=yes (see https://unix.stackexchange.com/a/79273)
PPC64 Linux
-----------
+64 -45
View File
@@ -3,57 +3,23 @@ BRL-CAD on Windows README
The usual way to build BRL-CAD for Windows is to use the CMake build
system generator and the Microsoft Visual Studio C++ (MSVC) compiler.
Recent versions of both (as of this writing, MSVC 2013 and CMake
2.8.12+) are recommended. If generating an installer, the Nullsoft
Scriptable Install System (NSIS) tool is also required.
Recent versions of both are recommended. If generating an installer,
the following options are available and supported:
In principle, BRL-CAD can be built using CMake and environments like
Cygwin and/or Mingw/Msys, but the latter is largely untested and
Nullsoft Scriptable Install System (NSIS) - generates a. .exe installer
WiX Toolset - generates an MSI installer.
These tools must be installed separately - they are not included with
CMake or Visual Studio.
Note: In principle BRL-CAD can be built using CMake and environments
like Cygwin and/or Mingw/Msys, but they are largely untested and
infrequently supported. Enhancements or bug reports are welcome.
Visual Studio
-------------
=== Notes on Windows 10 with latest SDK ===
Because Tk before 8.6.8 cannot be built with the latest Windows SDK
(naming conflicts; see [1]), an earlier one (10.0.15063.0 is the
last working version) is needed (available at [2]).
Targets `tk`, `tkstub` and `libfb` need to be changed to use this SDK
(right click on a target -> Configuration Properties -> General;
select the SDK in Windows SDK Version).
Compilation is then unchanged from the below.
[1]: https://core.tcl.tk/tk/tktview?name=3d34589aa0
[2]: https://developer.microsoft.com/en-us/windows/downloads/sdk-archive
===========================================
=== Notes on Visual Studio 14 2015 ===
In order to build this version (required to build the Creo 3 converter)
with CMake, you must ensure that Microsoft's "rc.exe" program is
installed and findable by CMake.
To install "rc.exe", run or re-run the Visual Studio installer and enable
Visual C++ components and "Visual Studio Extensibility Tools Update 1" under
the "Common Tools" section.
The extensibility tools can become unselected by default in some
configurations. Verify "rc.exe" is installed in:
"C:\Program Files (x86)\Windows Kits\8.1\bin\x64"
Add that directory to your "Path" user variable so CMake will be able to
locate the rc executable.
See:
https://stackoverflow.com/questions/43847542/rc-exe-no-longer-found-in-vs-2015-command-prompt
======================================
To build with CMake and Visual Studio, the first step is to obtain the
BRL-CAD sources and create a build directory. In principle, it is not
*required* to have a separate build directory, but with Windows and
@@ -93,6 +59,59 @@ You may want to produce an NSIS installer. If so, locate a target
named PACKAGE and run it. The end result should be an .exe file
capable of installing BRL-CAD.
Working with MSI files
----------------------
The WiX Toolset's MSI file, in addition to the standard interactive
graphical install, also supports a command line based silent
install. (See, for example, https://stackoverflow.com/a/25230485)
msiexec.exe /i c:\BRL-CAD-7.32.0_win64.msi /QN /L*V "C:\Temp\brlcad_install.log"
The logging step is not required but is recommended to allow for
easier understanding of any issues that might arise.
===========================================
=== Setting a specific SDK version ===
If a particular version of the Windows SDK is needed, it is specified
with CMAKE_SYSTEM_VERSION (for example, to use 10.0.15063.0 the user
would define a New Entry in the CMake GUI before running configure,
make the variable CMAKE_SYSTEM_VERSION as a string type, and assign the
value of 10.0.15063.0.)
Note that for this to work the SDK version in question must be
installed on the system. To see what versions are installed,
look for Windows SDK installs in the "Apps & Features" Setup
interface.
===========================================
=== Notes on Visual Studio 14 2015 ===
In order to build this version (required to build the Creo 3 converter)
with CMake, you must ensure that Microsoft's "rc.exe" program is
installed and findable by CMake.
To install "rc.exe", run or re-run the Visual Studio installer and enable
Visual C++ components and "Visual Studio Extensibility Tools Update 1" under
the "Common Tools" section.
The extensibility tools can become unselected by default in some
configurations. Verify "rc.exe" is installed in:
"C:\Program Files (x86)\Windows Kits\8.1\bin\x64"
Add that directory to your "Path" user variable so CMake will be able to
locate the rc executable.
See:
https://stackoverflow.com/questions/43847542/rc-exe-no-longer-found-in-vs-2015-command-prompt
======================================
MINGW (WORK IN PROGRESS - THIS DOES NOT YET WORK!!!)
-----
-35
View File
@@ -1,35 +0,0 @@
BRL-CAD on AIX README
=====================
Dec. 15, 2011 - As of this date, it has been some time since an AIX
build of BRL-CAD has been tested, and thus far it has NOT been tested
b with the new CMake build system.
Kitware provides an AIX powerpc binary for CMake, see
http://www.cmake.org/cmake/resources/software.html
Building BRL-CAD under AIX is fairly straightforward using a correctly
installed version on the GCC compiler. If, however, you are using the
IBM Visual Age compiler, then there are additional manual compilation
steps that will be necessary. In particular, the IBM compiler and
associated standard C library headers are inconsistent with respect to
ANSI/POSIX compliance compiler options.
The IBM compiler supports a variety of compliance options, the two of
particular relevance to building BRL-CAD (in terms of being the close
to obtaining a functional compile) are the strict compliance
(-qlanglvl=stdc89) or "extended" compliance (-qlanglvl=extc89) modes.
Problems encountered in our build environment using strict compliance
does mostly work though we ran into errors in the standard C library
headers.
Using the "extended" compliance mode resolved the standard C library
header issues, but introduces problems in the compilation of BRL-CAD
as the compiler then disables the provision of the __STDC__
preprocessor symbol. BRL-CAD then defaults back to K&R mode, which
the compiler verbosely refuses to compile. The "quick fix" that has
been used in the past is to simply swap the compiler between the two
modes as when one fails (e.g. strict), the other usually succeeds
(e.g. extended). Barring that working, you can use extended mode and
define __STDC__ manually.
-51
View File
@@ -1,51 +0,0 @@
BRL-CAD on IRIX README
======================
Building on IRIX is one of the most tricky platforms to support
without installing up-to-date compilation tools. That said, the build
has and should work just fine with either the MIPSPro or GCC
compilers. The best performance is usually achieved with the MIPSPro
compiler, whereas GCC will compile faster with less fuss.
Kitware provides CMake binaries for IRIX64 platforms:
http://www.cmake.org/cmake/resources/software.html
Parallel building
-----------------
For parallel compilation on IRIX, the -P option enables parallel
build mode and the PARALLEL environment variable sets the number
of CPUs (default is two):
PARALLEL=4 make -P
Potential problems you may encounter
------------------------------------
Symptom: MIPSPro linker reports symbol(s) missing
Description: There's a known bug in the MIPSpro linker involving
rpaths that are too long (namely longer than 255 characters) so care
should be taken to not compile in directories that are too deep. The
way this bug is usually seen is that the build will fail during
compilation where unresolved symbols are reported during linking,
symbols that are correctly included in the libraries being linked.
Workaround: It is usually sufficient to retry the compile from a
shorter path. (e.g., /tmp instead of /some/deep/path/to/brlcad)
---
Symptom: GCC crashes during compilation with internal errors
Description: Certain versions of the gcc compiler are known to crash
with internal error messages, for example on src/mged/animedit.c, when
using optimization flags (i.e. -O3).
Workaround: Compile in whatever directory is failing with -O0 instead:
cd src/mged
sed -i "s/ -O3 / -O0 /g" CMakeFiles/mged.dir/flags.make
make
cd ../..
make
-53
View File
@@ -1,53 +0,0 @@
BRL-CAD: A Vibrant Open Source Model
+ intro
- speaker
- old vs. new (Rurel's joke about old farmer and his young farmhand)
+ overview
- history, players
Mike Muuss [author of ping]
- license
- languages (Ohloh stats)
+ important technical features
- database format
- tools
- libraries
- use of other FOSS libraries
- road map
+ other features
+ community
- players (Ohloh stats)
+ process
- Source Forge
- API changes
- deprecation policy
- release procedures
- version control
- bug tracking
- policy
- outreach
+1
View File
@@ -36,6 +36,7 @@ include(${BRLCAD_SOURCE_DIR}/misc/CMake/DocBook.cmake)
add_subdirectory(articles)
add_subdirectory(books)
add_subdirectory(devguides)
add_subdirectory(lessons)
add_subdirectory(presentations)
add_subdirectory(specifications)
+62
View File
@@ -0,0 +1,62 @@
# Style sheet for XSLT transformation to HTML pages
if(BRLCAD_EXTRADOCS_HTML)
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/../resources/brlcad/brlcad-man-xhtml-stylesheet.xsl.in
${CMAKE_CURRENT_BINARY_DIR}/../resources/brlcad/brlcad-man-xhtml-stylesheet.xsl)
endif(BRLCAD_EXTRADOCS_HTML)
if(BRLCAD_EXTRADOCS_PHP)
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/../resources/brlcad/brlcad-man-xhtml-stylesheet.xsl.in
${CMAKE_CURRENT_BINARY_DIR}/../resources/brlcad/brlcad-man-xhtml-stylesheet.xsl)
endif(BRLCAD_EXTRADOCS_PHP)
# Style sheet for XSLT transformation to manual pages
if(BRLCAD_EXTRADOCS_MAN)
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/../resources/brlcad/brlcad-man-stylesheet.xsl.in
${CMAKE_CURRENT_BINARY_DIR}/../resources/brlcad/brlcad-man-stylesheet.xsl)
endif(BRLCAD_EXTRADOCS_MAN)
# Files for PDF
if(BRLCAD_EXTRADOCS_PDF)
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/../resources/brlcad/brlcad-man-fo-stylesheet.xsl.in
${CMAKE_CURRENT_BINARY_DIR}/../resources/brlcad/brlcad-man-fo-stylesheet.xsl)
endif(BRLCAD_EXTRADOCS_PDF)
# For HTML, MAN and FO (FO is an intermediate file used in the
# XML->PDF transformation) we use variables to hold the full
# stylesheet path. In the case we need to further
# customize FO stylesheets we can have separate CMake logic in
# appropriate directories to handle the customization (e.g., the
# BRL-CAD manuals in books/en/CMakeLists.txt).
set(XSL_PHP_STYLESHEET "${CMAKE_CURRENT_BINARY_DIR}/../resources/brlcad/wordpress.xsl")
set(XSL_HTML_STYLESHEET "${CMAKE_CURRENT_BINARY_DIR}/../resources/brlcad/brlcad-man-xhtml-stylesheet.xsl")
set(XSL_MAN_STYLESHEET "${CMAKE_CURRENT_BINARY_DIR}/../resources/brlcad/brlcad-man-stylesheet.xsl")
set(XSL_FO_STYLESHEET "${CMAKE_CURRENT_BINARY_DIR}/../resources/brlcad/brlcad-man-fo-stylesheet.xsl")
set(devguides_EN
bool_eval_development.xml
)
set(devguides_EN_IMAGES
images/ccx_overlap_event.png
images/ssx_transverse_event.png
images/ssx_tangent_event.png
images/compare_endpoint_style.png
images/lcurves_with_shaded_context.png
images/ssx_10_vs_13.png
images/curve_traversal_directions.png
images/axis_X.png
images/intermediate_linked_curves.png
images/ssx_overlap_event.png
images/evaluation_overview.png
)
ADD_DOC(devguides_EN html/devguides)
ADD_DOC(devguides_EN_IMAGES html/devguides/images)
ADD_DOCBOOK("HTML;PHP;PDF" devguides_EN devguides/en devguides_EN_IMAGES_cp)
# Local Variables:
# tab-width: 8
# mode: cmake
# indent-tabs-mode: t
# End:
# ex: shiftwidth=2 tabstop=8
File diff suppressed because it is too large Load Diff
Binary file not shown.

After

Width:  |  Height:  |  Size: 62 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 646 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 99 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 79 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.6 KiB

+1
View File
@@ -6,6 +6,7 @@ set(man1_EN
asc2dsp.xml
asc2g.xml
benchmark.xml
bolt.xml
brlman.xml
bot_dump.xml
brep_simple.xml
+1 -1
View File
@@ -16,7 +16,7 @@
<!-- body begins here -->
<refsynopsisdiv xml:id="synopsis">
<cmdsynopsis sepchar=" ">
<command>rt</command>
<command>asc2dsp</command>
<arg choice="plain" rep="norepeat"><replaceable>file.asc</replaceable></arg>
<arg choice="plain" rep="norepeat"><replaceable>file.dsp</replaceable></arg>
</cmdsynopsis>
+190
View File
@@ -0,0 +1,190 @@
<refentry xmlns="http://docbook.org/ns/docbook" version="5.0" xml:id="bolt1">
<refmeta>
<refentrytitle>BOLT</refentrytitle>
<manvolnum>1</manvolnum>
<refmiscinfo class="source">BRL-CAD</refmiscinfo>
<refmiscinfo class="manual">BRL-CAD User Commands</refmiscinfo>
</refmeta>
<refnamediv xml:id="name">
<refname>bolt</refname>
<refpurpose>
Creates a BRL-CAD .g file containing bolts.
</refpurpose>
</refnamediv>
<!-- body begins here -->
<refsynopsisdiv xml:id="synopsis">
<cmdsynopsis sepchar=" ">
<command>bolt</command>
<arg choice="opt" rep="repeat"><replaceable>options</replaceable></arg>
</cmdsynopsis>
</refsynopsisdiv>
<refsection xml:id="description"><title>DESCRIPTION</title>
<para>
<command>bolt</command> is a program to create a BRL-CAD data base of
one of four different kinds of bolts. Up to twenty-six bolts of one type
and size may be created. <command>bolt</command> uses libwdb to create a
database file. This program may be run interactively or the user may
specify options on a command line. If the user chooses to run the program
interactively he answers the questions as the program prompts him. Below
are the options that can be used on the command line.
</para>
</refsection>
<refsection xml:id="options"><title>OPTIONS</title>
<variablelist remap="TP">
<varlistentry>
<term><option>-o#</option></term>
<listitem>
<para>
Type of bolt to be created: 1=&gt;bolt head; 2=&gt;bolt head and washer; 3=&gt;bolt
head, washer, and bolt stem; and 4=&gt;bolt head and bolt stem.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>-f </option><replaceable>name.g</replaceable></term>
<listitem>
<para>
BRL-CAD file name.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>-n #</option></term>
<listitem>
<para>
The number of bolts to be created. This number must be less than or equal to
26 (or it will be set to 26).
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>-hd #</option></term>
<listitem>
<para>
Diameter of bolt head, flat edge to flat edge, in millimeters.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>-hh #</option></term>
<listitem>
<para>
Height of bolt head in millimeters.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>-wd #</option></term>
<listitem>
<para>
Diameter of washer in millimeters.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>-wh #</option></term>
<listitem>
<para>
Height of washer in millimeters.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>-sd #</option></term>
<listitem>
<para>
Diameter of bolt stem in millimeters.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>-sh #</option></term>
<listitem>
<para>
Height of bolt stem in millimeters.
</para>
</listitem>
</varlistentry>
</variablelist>
</refsection>
<refsection xml:id="examples"><title>EXAMPLES</title>
<example><title>Interactive <command>bolt</command> Session</title>
<para>
<literallayout class="normal">
$ bolt
Enter option:
1 - bolt head
2 - bolt head &amp; washer
3 - bolt head, washer, &amp; stem
4 - bolt head &amp; stem
1
Enter name of mged file to be created (25 char max).
bolt.g
Enter the number of bolts to be created (26 max).
3
Enter diameter (flat edge to flat edge) &amp; height of bolt head.
30 10
option: 1 - bolt head
file: bolt.g
head diameter: 30.000000, &amp; height: 10.000000
washer diameter: 0.000000, &amp; height: 0.000000
stem diameter: 0.000000, &amp; height: 0.000000
number of bolts: 3
</literallayout>
</para>
</example>
<example><title>Single-Line <command>bolt</command> Command</title>
<para>
<userinput>bolt -o1 -fbolt.g -n3 -hd30 -hh10</userinput>
</para>
</example>
<para>
Both examples produce the same output - the bolt heads (option 1)
are created with a diameter of 30mm and a height of 10mm in a database
file called bolt.g.
</para>
</refsection>
<refsection xml:id="author"><title>AUTHOR</title>
<para>Susan A. Coates</para>
</refsection>
<refsection xml:id="copyright"><title>COPYRIGHT</title>
<para>
This software is Copyright (c) 2005-2020 United States Government as
represented by the U.S. Army Research Laboratory.
</para>
</refsection>
<refsection xml:id="see_also"><title>SEE ALSO</title>
<para>
handle(1), window(1), window_frame(1), gastank(1)
</para>
</refsection>
<refsection xml:id="bug_reports"><title>BUG REPORTS</title>
<para>
Reports of bugs or problems should be submitted via electronic
mail to <email>devs@brlcad.org</email>
</para>
</refsection>
</refentry>
+22 -21
View File
@@ -119,22 +119,22 @@ A eto.s
<example><title>Alternate Diffing Result Outputs</title>
<para>
The <option>v</option> provides various styles of output, as follows:
The <option>v</option> and <option>q</option> options provide various styles of output, as follows:
</para>
<para>
<option>-v 0</option> (no output except the return code):
<option>-qq</option> (no output except the return code):
<literallayout>
<computeroutput>
<prompt>~:</prompt><userinput> gdiff -v 0 moss.g moss2.g</userinput>
<prompt>~:</prompt><userinput> gdiff -qq moss.g moss2.g</userinput>
</computeroutput>
</literallayout>
</para>
<para>
<option>-v 1</option>:
<option>-q</option>:
<literallayout>
<computeroutput>
<prompt>~:</prompt><userinput> gdiff -v 1 moss.g moss2.g</userinput>
<prompt>~:</prompt><userinput> gdiff -q moss.g moss2.g</userinput>
Added:
tgc_new.s, eto.s
@@ -149,10 +149,10 @@ platform.r, ellipse.s, light.r, _GLOBAL, cone.s, cone.r, box.s, tor.r
</para>
<para>
<option>-v 2</option> (default):
(default):
<literallayout>
<computeroutput>
<prompt>~:</prompt><userinput> gdiff -v 2 moss.g moss2.g</userinput>
<prompt>~:</prompt><userinput> gdiff moss.g moss2.g</userinput>
M platform.r
M ellipse.s
M light.r
@@ -170,10 +170,10 @@ A eto.s
</para>
<para>
<option>-v 3</option>:
<option>-v</option>:
<literallayout>
<computeroutput>
<prompt>~:</prompt><userinput> gdiff -v 3 moss.g moss2.g</userinput>
<prompt>~:</prompt><userinput> gdiff -v moss.g moss2.g</userinput>
- "platform.r" tree(p): l platform.s
+ "platform.r" tree(p): - {l platform.s} {l cone.s}
- "ellipse.s" C(p): 0 8.980256080627000869753829 8.980256080627000869753829
@@ -205,16 +205,17 @@ A tgc_new.s
A eto.s
</computeroutput>
</literallayout>
Verbosity 3 is a more detailed version of the previous setting, with each parameter in the modified objects reported in detail. '-' lines
show what was removed for a given attribute or parameter, and '+' lines contain the data that replaced them.
The first elevated verbosity level is a more detailed version of the previous setting, with
each parameter in the modified objects reported in detail. '-' lines show what was removed
for a given attribute or parameter, and '+' lines contain the data that replaced them.
</para>
<para>
<option>-v 4</option>:
<option>-vv</option>:
<literallayout>
<computeroutput>
<prompt>~:</prompt><userinput> gdiff -v 4 moss.g moss2.g</userinput>
<prompt>~:</prompt><userinput> gdiff -vv moss.g moss2.g</userinput>
- "platform.r" tree(p): l platform.s
+ "platform.r" tree(p): - {l platform.s} {l cone.s}
- "ellipse.s" C(p): 0 8.980256080627000869753829 8.980256080627000869753829
@@ -261,7 +262,7 @@ A "eto.s" V(p): 8.533195938359670051909234 -11.04524849332910996224655 -1.403988
A "eto.s" DB5_MINORTYPE(p): eto
</computeroutput>
</literallayout>
Verbosity 4 is a fully detailed diff that contains all information added or removed.
The second elevation of the verbosity level is a fully detailed diff that contains all information added or removed.
</para>
</example>
@@ -323,7 +324,7 @@ all.g
difference constitutes "too small" is up to the user - in this example, we will use 30 millimeters:
<literallayout>
<computeroutput>
<prompt>~:</prompt><userinput> gdiff -v 3 -t 30.0 moss.g moss2.g</userinput>
<prompt>~:</prompt><userinput> gdiff -v -t 30.0 moss.g moss2.g</userinput>
- "platform.r" tree(p): l platform.s
+ "platform.r" tree(p): - {l platform.s} {l cone.s}
- "light.r" tree(p): l LIGHT
@@ -363,7 +364,7 @@ A eto.s
Note that this option will work at all levels of verbosity:
<literallayout>
<computeroutput>
<prompt>~:</prompt><userinput> gdiff -v 4 -F "-type eto" moss.g moss2.g</userinput>
<prompt>~:</prompt><userinput> gdiff -vv -F "-type eto" moss.g moss2.g</userinput>
A "eto.s" r_d(p): 1.724149328000026404339451
A "eto.s" r(p): 13.79319462400021123471561
A "eto.s" C(p): 3.448298656000062134552309 0 3.448298656000062134552309
@@ -381,7 +382,7 @@ A "eto.s" DB5_MINORTYPE(p): eto
filter with ell types added to the accepted list produces the following:
<literallayout>
<computeroutput>
<prompt>~:</prompt><userinput> gdiff -v 4 -F "-type eto -or -type ell" moss.g moss2.g</userinput>
<prompt>~:</prompt><userinput> gdiff -vv -F "-type eto -or -type ell" moss.g moss2.g</userinput>
- "ellipse.s" C(p): 0 8.980256080627000869753829 8.980256080627000869753829
+ "ellipse.s" C(p): 0 1.561016355403846755933728 1.561016355403846755933728
- "ellipse.s" A(p): 14.87607192992999927128039 0 0
@@ -404,7 +405,7 @@ A "eto.s" DB5_MINORTYPE(p): eto
If we now add the tolerance filter, we see ellipse.s is filtered out:
<literallayout>
<computeroutput>
<prompt>~:</prompt><userinput> gdiff -v 4 -t 30.0 -F "-type eto -or -type ell" moss.g moss2.g</userinput>
<prompt>~:</prompt><userinput> gdiff -vv -t 30.0 -F "-type eto -or -type ell" moss.g moss2.g</userinput>
D "LIGHT" C(p): 0 0 2.539999961852999810218989
D "LIGHT" B(p): 0 2.539999961852999810218989 0
D "LIGHT" A(p): 2.539999961852999810218989 0 0
@@ -481,7 +482,7 @@ A(R) ellipse2.r
To delve deeper into the nature of the changes, we increase the verbosity with the <option>v</option> option:
<literallayout>
<computeroutput>
<prompt>~:</prompt><userinput> gdiff -v 3 moss2.g moss.g moss3.g</userinput>
<prompt>~:</prompt><userinput> gdiff -v moss2.g moss.g moss3.g</userinput>
M(L) "platform.r" tree(p): - {l platform.s} {l cone.s}
M(L) "ellipse.s" C(p): 0 1.561016355403846755933728 1.561016355403846755933728
M(L) "ellipse.s" A(p): 5.559274328313033919357622 0 0
@@ -534,7 +535,7 @@ C ell.s
However, closer inspection reveals that this conflict is different than the one reported above for the eto.s object:
<literallayout>
<computeroutput>
<prompt>~:</prompt><userinput> gdiff -v3 ell_1.g ell_0.g ell_2.g</userinput>
<prompt>~:</prompt><userinput> gdiff -v ell_1.g ell_0.g ell_2.g</userinput>
C(LM!=RM) ell.s
</computeroutput>
</literallayout>
@@ -543,7 +544,7 @@ C(LM!=RM) ell.s
parameters. Indeed a full verbosity inspection:
<literallayout>
<computeroutput>
<prompt>~:</prompt><userinput> gdiff -v4 ell_1.g ell_0.g ell_2.g</userinput>
<prompt>~:</prompt><userinput> gdiff -vv ell_1.g ell_0.g ell_2.g</userinput>
M(R) "ell.s" C(p): 0 0 300
C(A) "ell.s" B(p): 0 500 0
C(L) "ell.s" B(p): 0 510 0
+32 -13
View File
@@ -21,7 +21,7 @@
<arg choice='opt'>-w <replaceable>width</replaceable></arg>
<arg choice='opt'>-n <replaceable>height</replaceable></arg>
<arg choice='opt'>
<arg choice='opt'>-e <replaceable>ntsc|crt</replaceable></arg>
<arg choice='opt'>-e <replaceable>ntsc|crt|hdtv|hdr|avg</replaceable></arg>
<arg choice='opt'>
<arg choice='opt'><arg choice='plain'>-R </arg><replaceable>r_weight</replaceable></arg>
<arg choice='opt'><arg choice='plain'>-G </arg><replaceable>g_weight</replaceable></arg>
@@ -64,15 +64,39 @@ choices include:</para>
<varlistentry>
<term><emphasis remap='B'>ntsc</emphasis></term>
<listitem>
<para> weighting used is based on the NTSC primaries and the
D6500 alignment white.</para>
<para>Weighting used is based on the NTSC primaries and white
alignment. Conforming with Rec.ITU-R BT.601-7, this uses
0.299/0.587/0.114 RGB weights. This gives a simplified linear
conversion of perceived luminance that reflects human physiological
sensitivity to green and least to blue.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><emphasis remap='B'>crt</emphasis></term>
<listitem>
<para>weighting scheme used will be for "typical" CRT phosphor chromaticities
and the D6500 white.</para>
<para>Weighting scheme matches "historic" CRT phosphor chromaticities
and a D6500 white alignment. Uses 0.26/0.66/0.08 RGB weights.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><emphasis remap='B'>hdtv</emphasis></term>
<listitem>
<para>Weighting scheme matches "modern" HDTV display chromacities.
Uses 0.2126/0.7152/0.0722 RGB weights per Rec.ITU-R BT.709</para>
</listitem>
</varlistentry>
<varlistentry>
<term><emphasis remap='B'>hdr</emphasis></term>
<listitem>
<para>Weighting scheme matches high dynamic range (HDR) chromacities.
Uses 0.2627/0.6780/0.0593 RGB weights per Rec.ITU-R BT.2020</para>
</listitem>
</varlistentry>
<varlistentry>
<term><emphasis remap='B'>avg</emphasis></term>
<listitem>
<para>Weighting scheme simply takes the average of all three values
(i.e., R + G + B / 3.0).</para>
</listitem>
</varlistentry>
</variablelist>
@@ -96,15 +120,10 @@ are 1.0 divided by the number of colors selected.</para>
<para>will equally blend the red and blue color planes; because -G is omitted, the green color plane is not considered.
(Had "-G0.0" been included in this example, the three colors would have been weighted equally, as in the default condition.)</para>
<para>pix-bw -R0.30 -G0.59 -B0.11 &lt; <emphasis remap='I'>file.pix</emphasis> &gt; <emphasis remap='I'>file.bw</emphasis></para>
<para>pix-bw -R0.3 -G0.6 -B0.1 &lt; <emphasis remap='I'>file.pix</emphasis> &gt; <emphasis remap='I'>file.bw</emphasis></para>
<para>
has the same effect as the
<option>-ntsc</option>
flag.
<!-- .br -->
[The
<option>-crt</option>
weights are: 0.26, 0.66, 0.08]</para>
applies weights close to the <option>-ntsc</option> flag.
</para>
</refsect1>
<refsect1 xml:id='see_also'><title>SEE ALSO</title>
+500 -353
View File
@@ -1,391 +1,538 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<!-- lifted from troff+man by doclifter -->
<refentry xmlns='http://docbook.org/ns/docbook' version='5.0' xml:lang='en' xml:id='remrt1'>
<refmeta>
<refentry xmlns="http://docbook.org/ns/docbook" version="5.0" xml:id="remrt1">
<refmeta>
<refentrytitle>REMRT
</refentrytitle>
<manvolnum>1</manvolnum>
<refmiscinfo class='source'>BRL-CAD</refmiscinfo>
<refmiscinfo class='manual'>BRL-CAD</refmiscinfo>
</refmeta>
</refentrytitle>
<manvolnum>1</manvolnum>
<refmiscinfo class='source'>BRL-CAD</refmiscinfo>
<refmiscinfo class='manual'>BRL-CAD</refmiscinfo>
</refmeta>
<refnamediv>
<refname>remrt</refname>
<refpurpose>network distributed (remote) ray-trace dispatcher</refpurpose>
</refnamediv>
<!-- body begins here -->
<refsynopsisdiv xml:id='synopsis'>
<cmdsynopsis>
<command>remrt</command>
<arg choice='opt' rep='repeat'><replaceable>options</replaceable></arg>
<arg choice='plain'><replaceable>model.g</replaceable></arg>
<arg choice='plain' rep='repeat'><replaceable>objects</replaceable></arg>
<refnamediv>
<refname>remrt</refname>
<refpurpose>network distributed (remote) ray-trace dispatcher</refpurpose>
</refnamediv>
<!-- body begins here -->
<refsynopsisdiv xml:id='synopsis'>
<cmdsynopsis>
<command>remrt</command>
<arg choice='opt' rep='repeat'><replaceable>options</replaceable></arg>
<arg choice='plain'><replaceable>model.g</replaceable></arg>
<arg choice='plain' rep='repeat'><replaceable>objects</replaceable></arg>
</cmdsynopsis>
</refsynopsisdiv>
</cmdsynopsis>
</refsynopsisdiv>
<refsect1 xml:id='description'><title>DESCRIPTION</title>
<para><command>remrt</command>
is intended to be an entirely plug-compatible replacement for
the
<citerefentry><refentrytitle>rt</refentrytitle><manvolnum>1</manvolnum></citerefentry>
program.
While
<emphasis remap='I'>rt</emphasis>
can operate on more than one processor of a shared memory MIMD style
multi-processor, it can not spread the work out across the network.
<command>remrt</command>
and its companion program
<citerefentry><refentrytitle>rtsrv</refentrytitle><manvolnum>1</manvolnum></citerefentry>
implement a
<citerefentry><refentrytitle>libpkg</refentrytitle><manvolnum>3</manvolnum></citerefentry>-based
protocol for distributing the task of ray-traced rendering out
to an arbitrary number of processors on the network.
Those processors can be from an arbitrary mix of vendors,
with differing instruction sets and data representations,
operating at widely different speeds.</para>
<refsection xml:id='description'><title>DESCRIPTION</title>
<para>
<command>remrt</command> is intended to be an entirely plug-compatible replacement for
the <citerefentry><refentrytitle>rt</refentrytitle><manvolnum>1</manvolnum></citerefentry>
program. While <emphasis remap='I'>rt</emphasis> can operate on more than one processor
of a shared memory MIMD style multi-processor, it can not spread the work out across the network.
<command>remrt</command> and its companion program
<citerefentry><refentrytitle>rtsrv</refentrytitle><manvolnum>1</manvolnum></citerefentry>
implement a
<citerefentry><refentrytitle>libpkg</refentrytitle><manvolnum>3</manvolnum></citerefentry>-based
protocol for distributing the task of ray-traced rendering out to an arbitrary number of
processors on the network. Those processors can be from an arbitrary mix of vendors, with
differing instruction sets and data representations, operating at widely different speeds.
</para>
<para><command>remrt</command>
provides two levels of fault-tolerance in its distributed computation.
First, any
<emphasis remap='I'>rtsrv</emphasis>
processor which fails (or whose network link fails) will have its work
reassigned automatically by
<command>remrt</command>
to other processors, so that the failure of that processor does not
hold up the progress of the computation.
On a regular interval
<command>remrt</command>
attempts to restart computation on failed processors marked "active",
so that when failed systems become available again they are
put back to work.
Second,
<command>remrt</command>
offers a form of "checkpoint-restart" by carefully writing all
received pixel data immediately to disk. If the machine running
<command>remrt</command>
should fail, when
<command>remrt</command>
is restarted, it will determine what work remains to be done and
restart all the
<emphasis remap='I'>rtsrv</emphasis>
processes on the remote machines.</para>
<para>
<command>remrt</command> provides two levels of fault-tolerance in its distributed
computation. First, any <emphasis remap='I'>rtsrv</emphasis> processor which fails (or whose
network link fails) will have its work reassigned automatically by <command>remrt</command>
to other processors, so that the failure of that processor does not hold up the progress of
the computation. On a regular interval <command>remrt</command> attempts to restart computation
on failed processors marked "active", so that when failed systems become available again they are
put back to work. Second, <command>remrt</command> offers a form of "checkpoint-restart" by
carefully writing all received pixel data immediately to disk. If the machine running
<command>remrt</command> should fail, when <command>remrt</command> is restarted, it will
determine what work remains to be done and restart all the <emphasis remap='I'>rtsrv</emphasis>
processes on the remote machines.
</para>
<para><command>remrt</command>
takes exactly the same set of command line arguments as
<citerefentry><refentrytitle>rt</refentrytitle><manvolnum>1</manvolnum></citerefentry>.
For a full discussion of those options, consult the
<citerefentry><refentrytitle>rt</refentrytitle><manvolnum>1</manvolnum></citerefentry>
manual page.
From within
<citerefentry><refentrytitle>mged</refentrytitle><manvolnum>1</manvolnum></citerefentry>
the
<command>remrt</command>
program can be run from the current
<emphasis remap='I'>mged</emphasis>
view by giving the
<emphasis remap='I'>mged</emphasis>
command</para>
<para>
<command>remrt</command>
takes exactly the same set of command line arguments as
<citerefentry><refentrytitle>rt</refentrytitle><manvolnum>1</manvolnum></citerefentry>.
For a full discussion of those options, consult the
<citerefentry><refentrytitle>rt</refentrytitle><manvolnum>1</manvolnum></citerefentry>
manual page. From within
<citerefentry><refentrytitle>mged</refentrytitle><manvolnum>1</manvolnum></citerefentry>
the <command>remrt</command> program can be run from the current
<emphasis remap='I'>mged</emphasis> view by giving the
<emphasis remap='I'>mged</emphasis>
command</para>
<literallayout remap='.nf'>
rrt remrt -M -s###
</literallayout> <!-- .fi -->
<literallayout remap='.nf'>
rrt remrt -M -s###
</literallayout> <!-- .fi -->
<para>where "###" is the image resolution desired.</para>
<para>
where "###" is the image resolution desired.
</para>
<para><command>remrt</command>
depends on the Berkeley
<emphasis remap='I'>rsh (1)</emphasis>
remote shell command and the user's corresponding ".rhosts" file
to automatically initiate remote computation.</para>
<para>
<command>remrt</command> depends on the Berkeley <emphasis remap='I'>rsh (1)</emphasis>
remote shell command and the user's corresponding ".rhosts" file to automatically
initiate remote computation.
</para>
<para><command>remrt</command>
requires a control file called ".remrtrc" which specifies
a few essential parameters of the server machines (network hosts)
that are to participate in the distributed computation.
The ".remrtrc" file contains a list of normal
<command>remrt</command>
commands which are to be executed before distributed processing
is to begin.
This can be useful for establishing a variety of user-specific
defaults.
However, the most important command to provide is a "host"
command to describe each of the remote hosts that will (or may)
participate in the distributed computation.
Here is a sample ".remrt" file:</para>
<para>
<command>remrt</command>
requires a control file called ".remrtrc" which specifies a few essential parameters
of the server machines (network hosts) that are to participate in the distributed
computation. The ".remrtrc" file contains a list of normal <command>remrt</command>
commands which are to be executed before distributed processing is to begin.
This can be useful for establishing a variety of user-specific defaults. However,
the most important command to provide is a "host" command to describe each of the
remote hosts that will (or may) participate in the distributed computation.
Here is a sample ".remrt" file:
</para>
<!-- .in +5 -->
<!-- .in +5 -->
<literallayout remap='.nf'>
host wolf passive cd /tmp/cad/.remrt.4d
host voyage always cd /tmp/cad/.remrt.4d
host whiz hacknight convert /tmp
</literallayout> <!-- .fi -->
<literallayout remap='.nf'>
host wolf passive cd /tmp/cad/.remrt.4d
host voyage always cd /tmp/cad/.remrt.4d
host whiz hacknight convert /tmp
</literallayout> <!-- .fi -->
<!-- .in -->
<!-- .in -->
<para>The first argument to the "host" command is the name of the
server machine.
It will be converted to a fully qualified name by calling
<citerefentry><refentrytitle>gethostbyname</refentrytitle><manvolnum>3</manvolnum></citerefentry>
and
<citerefentry><refentrytitle>gethostbyaddr</refentrytitle><manvolnum>3</manvolnum></citerefentry>.</para>
<para>
The first argument to the "host" command is the name of the server machine.
It will be converted to a fully qualified name by calling
<citerefentry><refentrytitle>gethostbyname</refentrytitle><manvolnum>3</manvolnum></citerefentry>
and
<citerefentry><refentrytitle>gethostbyaddr</refentrytitle><manvolnum>3</manvolnum></citerefentry>.
</para>
<para>The second argument to the "host" command describes "when" this
machine should be used.</para>
<variablelist remap='TP'>
<varlistentry>
<term><emphasis remap='B'>always</emphasis></term>
<listitem>
<para>says that whenever this host is not participating in the computation,
repeated attempts should be made (every 5 minutes) to start an
<emphasis remap='I'>rtsrv</emphasis>
process on that machine.
This option is most useful for machines where the system administrator
and/or owner of the machine won't mind your using the machine at any
time. (Note that
<emphasis remap='I'>rtsrv</emphasis>
runs at the lowest priority by default, so this isn't too terribly
uncivilized. But be polite and ask first.)</para>
</listitem>
</varlistentry>
<varlistentry>
<term><emphasis remap='B'>night</emphasis></term>
<listitem>
<para>indicates that the machine should only be used during
the night and on weekends.
Night extends from 1800 through 0000 to 0800.
Saturday and Sunday are considered to be in night time for the entire day.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><emphasis remap='B'>hacknight</emphasis></term>
<listitem>
<para>indicates that the machine is owned by a late-night "hacker",
and can be used while that hacker is likely to be asleep.
Hacking tends to run from 1300 through 0000 to 0400, so
<emphasis remap='B'>hacknight</emphasis>
is the time period from 0400 to 1300.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><emphasis remap='B'>passive</emphasis></term>
<listitem>
<para>indicates that
<command>remrt</command>
should never attempt to initiate an
<emphasis remap='I'>rtsrv</emphasis>
process on this machine, but if the user should happen to start
<emphasis remap='I'>rtsrv</emphasis>
manually on the machine and direct it to join the computational fray,
then the necessary information will be available.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>If an unlisted machine should join the fray, it will be added</term>
<listitem>
<para>with a "when" value of
<emphasis remap='B'>passive</emphasis>
and a "where" value of
<emphasis remap='B'>convert</emphasis>.
When an
<emphasis remap='I'>rtsrv</emphasis>
passes from night into day, it is automatically terminated by
<command>remrt</command>
at the appointed time.</para>
</listitem>
</varlistentry>
</variablelist>
<para>
The second argument to the "host" command describes "when" this machine should be used.
</para>
<variablelist remap='TP'>
<varlistentry>
<term><emphasis remap='B'>always</emphasis></term>
<listitem>
<para>
says that whenever this host is not participating in the computation,
repeated attempts should be made (every 5 minutes) to start an
<emphasis remap='I'>rtsrv</emphasis> process on that machine.
This option is most useful for machines where the system administrator
and/or owner of the machine won't mind your using the machine at any
time. (Note that <emphasis remap='I'>rtsrv</emphasis>
runs at the lowest priority by default, so this isn't too terribly
uncivilized. But be polite and ask first.)
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><emphasis remap='B'>night</emphasis></term>
<listitem>
<para>
indicates that the machine should only be used during
the night and on weekends. Night extends from 1800 through 0000 to 0800.
Saturday and Sunday are considered to be in night time for the entire day.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><emphasis remap='B'>hacknight</emphasis></term>
<listitem>
<para>
indicates that the machine is owned by a late-night "hacker",
and can be used while that hacker is likely to be asleep.
Hacking tends to run from 1300 through 0000 to 0400, so
<emphasis remap='B'>hacknight</emphasis>
is the time period from 0400 to 1300.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><emphasis remap='B'>passive</emphasis></term>
<listitem>
<para>
indicates that <command>remrt</command> should never attempt to initiate an
<emphasis remap='I'>rtsrv</emphasis> process on this machine, but if the
user should happen to start <emphasis remap='I'>rtsrv</emphasis>
manually on the machine and direct it to join the computational fray,
then the necessary information will be available.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>If an unlisted machine should join the fray, it will be added</term>
<listitem>
<para>
with a "when" value of <emphasis remap='B'>passive</emphasis>
and a "where" value of <emphasis remap='B'>convert</emphasis>.
When an <emphasis remap='I'>rtsrv</emphasis>
passes from night into day, it is automatically terminated by
<command>remrt</command> at the appointed time.
</para>
</listitem>
</varlistentry>
</variablelist>
<para>The third argument to the "host" command is the "where" parameter,
which indicates where the BRL-CAD ".g" file (and any related texture
maps) can be found.</para>
<variablelist remap='TP'>
<varlistentry>
<term><emphasis remap='B'>cd</emphasis></term>
<listitem>
<para>indicates that the
<emphasis remap='I'>rtsrv</emphasis>
program should change directory
<citerefentry><refentrytitle>cd</refentrytitle><manvolnum>2</manvolnum></citerefentry>
to the indicated directory path, and should just read the
data files in that directory as
<emphasis remap='I'>rt</emphasis>
normally would.
This can be used to specify NFS or RFS mounted remote directories,
or static copies of the binary database file(s) needed to perform
the ray-tracing.
This is the most efficient way of operating
<emphasis remap='I'>rtsrv</emphasis>,
but it also requires some manual preparation on the part of the user
to install all the required files in the designated location.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><emphasis remap='B'>convert</emphasis></term>
<listitem>
<para>indicates that
<command>remrt</command>
should send across an ASCII machine-independent version of the
".g" database file using the command:</para>
<para>
The third argument to the "host" command is the "where" parameter,
which indicates where the BRL-CAD ".g" file (and any related texture
maps) can be found.
</para>
<variablelist remap='TP'>
<varlistentry>
<term><emphasis remap='B'>cd</emphasis></term>
<listitem>
<para>
indicates that the <emphasis remap='I'>rtsrv</emphasis>
program should change directory
<citerefentry><refentrytitle>cd</refentrytitle><manvolnum>2</manvolnum></citerefentry>
to the indicated directory path, and should just read the
data files in that directory as <emphasis remap='I'>rt</emphasis>
normally would. This can be used to specify NFS or RFS mounted remote
directories, or static copies of the binary database file(s) needed
to perform the ray-tracing. This is the most efficient way of operating
<emphasis remap='I'>rtsrv</emphasis>,
but it also requires some manual preparation on the part of the user
to install all the required files in the designated location.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><emphasis remap='B'>convert</emphasis></term>
<listitem>
<para>
indicates that <command>remrt</command> should send across an ASCII
machine-independent version of the ".g" database file using the command:
</para>
<literallayout remap='.nf'>
asc2g &lt; file.g | rsh host 'cd directory; g2asc &gt; file.g'
</literallayout> <!-- .fi -->
<literallayout remap='.nf'>
asc2g &lt; file.g | rsh host 'cd directory; g2asc &gt; file.g'
</literallayout> <!-- .fi -->
<para>before starting up the
<emphasis remap='I'>rtsrv</emphasis>
program in that same directory.
This relieves the user of the burden of setting up the ".g"
database file, but suffers from several drawbacks.
First, the transmission of a large database can take a noticeable
amount of time.
Second, should the server host go down and then re-join the fray,
the database will be sent again, because
<command>remrt</command>
has no easy way to tell if the previous ".g" file is still intact
after the crash/restart.
Third,
<command>remrt</command>
has no way to tell what auxiliary files might be needed for this ".g"
file, and thus can not send them automatically.
If the ".g" file references height field, extruded bit-map, or volumetric
solids, the associated data files will not be present on a
<emphasis remap='B'>convert</emphasis>
mode server. The same applies for texture map and bump map files.</para>
</listitem>
</varlistentry>
</variablelist>
<para>
before starting up the <emphasis remap='I'>rtsrv</emphasis>
program in that same directory. This relieves the user of the burden of
setting up the ".g" database file, but suffers from several drawbacks.
First, the transmission of a large database can take a noticeable
amount of time.
Second, should the server host go down and then
re-join the fray, the database will be sent again, because
<command>remrt</command>
has no easy way to tell if the previous ".g" file is still intact
after the crash/restart.
Third, <command>remrt</command> has no way to tell what auxiliary files
might be needed for this ".g" file, and thus can not send them automatically.
If the ".g" file references height field, extruded bit-map, or volumetric
solids, the associated data files will not be present on a
<emphasis remap='B'>convert</emphasis>
mode server. The same applies for texture map and bump map files.
</para>
</listitem>
</varlistentry>
</variablelist>
<para><command>remrt</command>
uses several different strategies for optimizing the dispatching of work.
These can be controlled by the "allocate" command.
If "allocate frame" has been specified,
then the work allocation method is
a "free for all", allocating work from one frame at a time
to all servers as they become ready for more.
This maximizes the CPU overhead for prepping (because all CPUs will
prep all frames), but it also provides the shortest wall-clock time
to getting the first frame finished.
This mode is recommended for demonstrations, and other situations
where people are sitting around waiting for results to appear on the screen.</para>
<para>
<command>remrt</command>
uses several different strategies for optimizing the dispatching of work.
These can be controlled by the "allocate" command. If "allocate frame" has
been specified, then the work allocation method is a "free for all",
allocating work from one frame at a time to all servers as they become ready
for more. This maximizes the CPU overhead for prepping (because all CPUs will
prep all frames), but it also provides the shortest wall-clock time
to getting the first frame finished. This mode is recommended for demonstrations,
and other situations where people are sitting around waiting for results
to appear on the screen.
</para>
<para>If the
"allocate load" command has been given, then new servers
will not be assigned to a given frame unless there is at least
enough work remaining on that frame to require
10 percent of that server's measured performance capacity.
Otherwise the server is started on a subsequent frame.</para>
<para>
If the
"allocate load" command has been given, then new servers will not be assigned to
a given frame unless there is at least enough work remaining on that frame to
require 10 percent of that server's measured performance capacity.
Otherwise the server is started on a subsequent frame.
</para>
<para>If the "allocate movie" command is given, then each server is
allocated a whole frame to do. This minimizes the CPU time
spent in the overhead of prepping the frame, and tends to maximize overall
throughput, at the price of making you wait a long time for the first
frame to finish.
This mode is best used when crunching out large numbers of frames
for an animation.
(See also the
<citerefentry><refentrytitle>scriptsort</refentrytitle><manvolnum>1</manvolnum></citerefentry>
command for a clever power-of-two script rearrangement technique first
proposed by Jim Blinn).</para>
<para>
If the "allocate movie" command is given, then each server is allocated a whole
frame to do. This minimizes the CPU time spent in the overhead of prepping the
frame, and tends to maximize overall throughput, at the price of making you
wait a long time for the first frame to finish. This mode is best used when
crunching out large numbers of frames for an animation.
(See also the
<citerefentry><refentrytitle>scriptsort</refentrytitle><manvolnum>1</manvolnum></citerefentry>
command for a clever power-of-two script rearrangement technique first
proposed by Jim Blinn).
</para>
<para>The output can be stored either in a file, or sent to the current
framebuffer, the same as with
<citerefentry><refentrytitle>rt</refentrytitle><manvolnum>1</manvolnum></citerefentry>.</para>
<para>
The output can be stored either in a file, or sent to the current
framebuffer, the same as with
<citerefentry><refentrytitle>rt</refentrytitle><manvolnum>1</manvolnum></citerefentry>.
</para>
<para>When
<command>remrt</command>
is run without command line arguments, it enters an interactive
mode. In this mode, the current framebuffer can be assigned and
released, frames can be added to the list of pending work, and
many other control and status commands can be used.</para>
<para>
When <command>remrt</command> is run without command line arguments, it enters
an interactive mode. In this mode, the current framebuffer can be assigned and
released, frames can be added to the list of pending work, and many other control
and status commands can be used.
</para>
<para>Normally
<command>remrt</command>
runs in a batch mode, taking all its information from the
command line, the script file on stdin, and the ".remrtrc" file.
If you wish to issue an interactive-style command to
<command>remrt</command>
while it is running in batch mode, this can be accomplished by
giving an extra argument to
<emphasis remap='I'>rtsrv</emphasis>,
which will simply pass on the command and exit.
For example:</para>
<para>
Normally <command>remrt</command> runs in a batch mode, taking all its information
from the command line, the script file on stdin, and the ".remrtrc" file.
If you wish to issue an interactive-style command to <command>remrt</command>
while it is running in batch mode, this can be accomplished by
giving an extra argument to <emphasis remap='I'>rtsrv</emphasis>,
which will simply pass on the command and exit.
</para>
<para>
For example:
</para>
<literallayout remap='.nf'>
<literallayout remap='.nf'>
rtsrv server_host 4446 status
</literallayout> <!-- .fi -->
</literallayout> <!-- .fi -->
<para>would send the command "status" to the
<command>remrt</command>
process running on the machine called "server_host" and listening
at port 4446.
4446 is the port used by the first copy of
<command>remrt</command>
running on a machine. If a second copy of
<command>remrt</command>
is started while the first one continues to run, it
will be assigned port 4447. One is added to the port number
repeatedly until an available port is found.
Normally you do not need to worry about which port is being used,
unless you wish to send commands there directly.
The
<citerefentry><refentrytitle>netstat</refentrytitle><manvolnum>1</manvolnum></citerefentry>
command can sometimes be useful to track down which ports are being used.</para>
</refsect1>
<para>
would send the command "status" to the <command>remrt</command>
process running on the machine called "server_host" and listening
at port 4446. 4446 is the port used by the first copy of
<command>remrt</command> running on a machine. If a second copy of
<command>remrt</command> is started while the first one continues to run, it
will be assigned port 4447. One is added to the port number repeatedly
until an available port is found. Normally you do not need to worry about
which port is being used, unless you wish to send commands there directly.
The <citerefentry><refentrytitle>netstat</refentrytitle><manvolnum>1</manvolnum></citerefentry>
command can sometimes be useful to track down which ports are being used.
</para>
</refsection>
<refsect1 xml:id='see_also'><title>SEE ALSO</title>
<para><citerefentry><refentrytitle>rtsrv</refentrytitle><manvolnum>1</manvolnum></citerefentry>, <citerefentry><refentrytitle>rt</refentrytitle><manvolnum>1</manvolnum></citerefentry>, <citerefentry><refentrytitle>scriptsort</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
<citerefentry><refentrytitle>brlcad</refentrytitle><manvolnum>1</manvolnum></citerefentry>, <citerefentry><refentrytitle>mged</refentrytitle><manvolnum>1</manvolnum></citerefentry>, <citerefentry><refentrytitle>lgt</refentrytitle><manvolnum>1</manvolnum></citerefentry>, <citerefentry><refentrytitle>pix-fb</refentrytitle><manvolnum>1</manvolnum></citerefentry>, <citerefentry><refentrytitle>rtray</refentrytitle><manvolnum>1</manvolnum></citerefentry>, <citerefentry><refentrytitle>rtpp</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
<citerefentry><refentrytitle>librt</refentrytitle><manvolnum>3</manvolnum></citerefentry>, <citerefentry><refentrytitle>ray</refentrytitle><manvolnum>5V</manvolnum></citerefentry>, <citerefentry><refentrytitle>pix</refentrytitle><manvolnum>5</manvolnum></citerefentry></para>
</refsect1>
<refsection>
<example>
<title>Performing a Basic remrt/rtsrv Raytrace</title>
<para>
The following steps will set up a local (single machine) example remrt session.
This does not utilize the full power of the remrt system, but will illustrate
how the individual pieces relate to each other. Rather than use rsh, each
process will be launched manually.
</para>
<para>
Launch an <command>fbserv</command> instance on the desired port and with the desired type
(we will use port 0 and /dev/X for a Linux-based X11 rendering - windows users can try /dev/wgl.)
For a somewhat larger render we specify a size of 2048 pixels square.
</para>
<para>
<userinput>fbserv -s2048 -p0 -F/dev/X</userinput>
</para>
<para>
If an graphical framebuffer was specified, a window should appear. Otherwise, fbserv will silently
wait for input.
</para>
<para>
In MGED, set up the scene you wish to render and then save a script with <command>saveview</command>
</para>
<para>
<userinput>saveview remrt.rt</userinput>
</para>
<para>
Edit the script and replace the <command>rt</command> command with <command>remrt</command>. Replace
the output file specification (<option>-o filename</option>) with a -F0 option to point the render
to the fbserv started in the previous step. Also add a -s2048 option to specify a rendering size to
match that provided to the fbserv.
</para>
<para>
Run the script to launch remrt. You should see output indicating the program has launched. (Note:
the port number printed by the default output is not useful - you want to use 4446 by default to
connect to remrt.)
</para>
<para>
<userinput>./remrt.rt</userinput>
<literallayout>
08/22 21:51:41 machinename BRL-CAD Release 7.30.0 Network-Distributed RT (REMRT)
Sat, 22 Aug 2020 11:24:22 -0400, Compilation 1
user@machinename
<refsect1 xml:id='diagnostics'><title>DIAGNOSTICS</title>
<para>Numerous error conditions are possible.
Descriptive messages are printed on standard error.</para>
</refsect1>
pkg_permserver(rtsrv, 8): unknown service
08/22 21:51:41 Automatic REMRT on machine
08/23 21:51:41 Assigned LIBPKG permport 24081
08/23 21:51:41 Listening at TCP port 4446
08/23 21:51:41 Reading script on stdin
08/22 21:51:41 Starting to scan animation script
08/22 21:51:41 Animation script loaded
08/22 21:51:41 Worker assignment interval=5 seconds:
Server Last Last Average Cur Machine
State Lump Elapsed pix/sec Frame Name
-------- ----- ------- ------- ----- -------------
08/22 21:51:41 Seeking servers to start
</literallayout>
</para>
<para>
Note that it is seeking servers - we have not given <command>remrt</command> any instructions on
how to start its own. To start a server and see the system work, we set up a local directory
containing the same .g file we used to set up the scene, and from that directory run <command>rtsrv</command>.
(For these purposes we also add the <option>-d</option> so we can see more of what is happening.
Without this option, if anything isn't set up correctly rtsrv can fail with cryptic errors.)
</para>
<para>
<userinput>rtsrv -d machinename 4446</userinput>
</para>
<para>
If successful, both <command>remrt</command> and <command>rtsrv</command> will being producing output.
The <command>rtsrv</command> will be more verbose, and should look like the following:
<refsect1 xml:id='see_also2'><title>SEE ALSO</title>
<para>M. Muuss,
"<emphasis remap='I'>Workstations</emphasis>,
<emphasis remap='I'>Networking</emphasis>,
<emphasis remap='I'>Distributed Graphics</emphasis>,
<emphasis remap='I'>and Parallel Processing</emphasis>",
in "<emphasis remap='I'>Computer Graphics Techniques</emphasis>: <emphasis remap='I'>Theory and Practice</emphasis>",
ed: Rogers &amp; Earnshaw,
Springer Verlag, New York, pages 409-472</para>
</refsect1>
<literallayout>
PIXELS fr=0 pix=3588096..3592191, rays=3712, cpu=0.153336
ph_enqueue: 3592192 3596287 0
PIXELS fr=0 pix=3592192..3596287, rays=3856, cpu=0.143813
ph_enqueue: 3596288 3600383 0
PIXELS fr=0 pix=3596288..3600383, rays=3456, cpu=0.145104
ph_enqueue: 3600384 3604479 0
PIXELS fr=0 pix=3600384..3604479, rays=4032, cpu=0.145221
ph_enqueue: 3604480 3608575 0
PIXELS fr=0 pix=3604480..3608575, rays=3776, cpu=0.141353
ph_enqueue: 3608576 3612671 0
PIXELS fr=0 pix=3608576..3612671, rays=3696, cpu=0.13579
ph_enqueue: 3612672 3616767 0
</literallayout>
</para>
<para>
Upon completion, remrt will notify the user and exit. For this examle, the full remrt output is:
<literallayout>
08/22 21:51:41 machinename BRL-CAD Release 7.31.0 Network-Distributed RT (REMRT)
Sat, 22 Aug 2020 11:24:22 -0400, Compilation 1
user@machinename
<refsect1 xml:id='bugs'><title>BUGS</title>
<para>Most deficiencies observed while using the
<command>remrt</command>
program are usually with the
<citerefentry><refentrytitle>rt</refentrytitle><manvolnum>1</manvolnum></citerefentry>
program, with which it shares a substantial amount of common code,
or with the
<citerefentry><refentrytitle>librt</refentrytitle><manvolnum>3</manvolnum></citerefentry>
library.
If a frame fails to render properly, try processing it on a single
machine using
<citerefentry><refentrytitle>rt</refentrytitle><manvolnum>1</manvolnum></citerefentry>
to determine if the problem is in the ray-tracing side of things,
or the distributed computation side of things.</para>
pkg_permserver(rtsrv, 8): unknown service
08/22 21:51:41 Automatic REMRT on machinename
08/22 21:51:41 Listening at port 24081, reading script on stdin
08/22 21:51:41 Starting to scan animation script
08/22 21:51:41 Animation script loaded
08/22 21:51:41 Worker assignment interval=5 seconds:
Server Last Last Average Cur Machine
State Lump Elapsed pix/sec Frame Name
-------- ----- ------- ------- ----- -------------
08/22 21:51:41 Seeking servers to start
host_lookup_by_hostent(localhost) got localhost?
08/22 21:54:32 127.0.0.1: using 12 of 12 cpus
08/22 21:54:32 127.0.0.1 dirbuild OK (Output from STEP converter step-g.)
08/22 21:54:32 127.0.0.1: process_cmd 'opt -w2048 -n2048 -H0 -p0 -U0 -J0 -A0.4 -l0 -E1.41421 -x0 -X0 -T5.000000e-04/0.000000e+00'
08/22 21:54:32 127.0.0.1: Using tolerance 0
08/22 21:54:32 127.0.0.1: process_cmd 'viewsize 9.86571722597487e+02'
08/22 21:54:32 127.0.0.1: process_cmd 'orientation 2.48097349045873e-01 4.76590573266048e-01 7.48097349045873e-01 3.89434830518390e-01'
08/22 21:54:32 127.0.0.1: process_cmd 'eye_pt 1.01790192500394e+04 6.80791388110900e+03 5.76220366705708e+03'
08/22 21:54:32 127.0.0.1: process_cmd 'clean'
08/22 21:54:33 127.0.0.1: BRL-CAD Release 7.31.0 The BRL-CAD Optical Shader Library
Sat, 22 Aug 2020 11:24:22 -0400, Compilation 1
user@machinename
08/22 21:54:33 127.0.0.1: PREP: cpu = 9.7e-05 sec, elapsed = 0.000109 sec
parent: 0.0user 0.0sys 0:00real 0% i+d maxrss +pf csw
children: 0.0user 0.0sys 0:00real 0% i+d maxrss +pf csw
08/22 21:54:33 127.0.0.1: NUBSP: 0 cut, 1 box (1 empty)
08/22 21:54:33 127.0.0.1 gettrees OK (Document)
08/22 21:54:34 127.0.0.1: shade_inputs(Brep_1.s) flip N xy=1292, 238 ID_BREP surf=125 dot=0.422618
08/22 21:54:34 127.0.0.1: center: 10236.048570366667 7005.4508761769466 5419.0434225048521
08/22 21:54:34 127.0.0.1: dir: -0.74240387650610384 -0.51983679072568423 -0.42261826174069994
08/22 21:54:35 127.0.0.1: shade_inputs(Brep_1.s) flip N xy=1090, 331 ID_BREP surf=37 dot=0.422618
08/22 21:54:35 127.0.0.1: center: 10276.352963334217 6914.8807626523731 5459.6463522037802
08/22 21:54:35 127.0.0.1: dir: -0.74240387650610384 -0.51983679072568423 -0.42261826174069994
08/22 21:55:58 127.0.0.1: shade_inputs(Brep_1.s) flip N xy=1069, 1335 ID_BREP surf=171 dot=0.422618
08/22 21:55:58 127.0.0.1: center: 10114.720787667989 6789.3550779060624 5897.983356695433
08/22 21:55:58 127.0.0.1: dir: -0.74240387650610384 -0.51983679072568423 -0.42261826174069994
08/22 21:56:16 Frame 0 DONE: 103.085 elapsed sec, 3890128 rays/1189.42 cpu sec
08/22 21:56:16 RTFM=37737.1 rays/sec (3270.61 rays/cpu sec)
08/22 21:56:16 All work done!
08/22 21:56:16 Task accomplished
</literallayout>
</refsect1>
The framebuffer started in the beginning will now hold the image results. To save those
results to a file, the <command>fb-png</command> is used:
</para>
<para>
<userinput>fb-png -F0 -s2048 image.png</userinput>
</para>
</example>
</refsection>
<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) 1994-2020 by the United States
Government as represented by U.S. Army Research Laboratory.</para>
</refsect1>
<refsection xml:id='see_also'><title>SEE ALSO</title>
<para>
<citerefentry><refentrytitle>rtsrv</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
<citerefentry><refentrytitle>rt</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
<citerefentry><refentrytitle>scriptsort</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
<citerefentry><refentrytitle>brlcad</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
<citerefentry><refentrytitle>mged</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
<citerefentry><refentrytitle>lgt</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
<citerefentry><refentrytitle>pix-fb</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
<citerefentry><refentrytitle>rtray</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
<citerefentry><refentrytitle>rtpp</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
<citerefentry><refentrytitle>librt</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
<citerefentry><refentrytitle>ray</refentrytitle><manvolnum>5V</manvolnum></citerefentry>,
<citerefentry><refentrytitle>pix</refentrytitle><manvolnum>5</manvolnum></citerefentry>
</para>
</refsection>
<refsect1 xml:id='bug_reports'><title>BUG REPORTS</title>
<para>Reports of bugs or problems should be submitted via electronic
mail to <email>devs@brlcad.org</email></para>
</refsect1>
<refsection xml:id='diagnostics'>
<title>DIAGNOSTICS</title>
<para>
Numerous error conditions are possible.
Descriptive messages are printed on standard error.
</para>
</refsection>
<refsection xml:id='see_also2'>
<title>SEE ALSO</title>
<para>
M. Muuss,
"<emphasis remap='I'>Workstations</emphasis>,
<emphasis remap='I'>Networking</emphasis>,
<emphasis remap='I'>Distributed Graphics</emphasis>,
<emphasis remap='I'>and Parallel Processing</emphasis>",
in "<emphasis remap='I'>Computer Graphics Techniques</emphasis>: <emphasis remap='I'>Theory and Practice</emphasis>",
ed: Rogers &amp; Earnshaw,
Springer Verlag, New York, pages 409-472
</para>
</refsection>
<refsection xml:id='bugs'>
<title>BUGS</title>
<para>
Most deficiencies observed while using the <command>remrt</command> program are usually
with the <citerefentry><refentrytitle>rt</refentrytitle><manvolnum>1</manvolnum></citerefentry>
program, with which it shares a substantial amount of common code, or with the
<citerefentry><refentrytitle>librt</refentrytitle><manvolnum>3</manvolnum></citerefentry>
library. If a frame fails to render properly, try processing it on a single machine using
<citerefentry><refentrytitle>rt</refentrytitle><manvolnum>1</manvolnum></citerefentry>
to determine if the problem is in the ray-tracing side of things, or the distributed
computation side of things.
</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) 1994-2020 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 <email>devs@brlcad.org</email>
</para>
</refsection>
</refentry>
+159 -152
View File
@@ -1,163 +1,170 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<!-- lifted from troff+man by doclifter -->
<refentry xmlns='http://docbook.org/ns/docbook' version='5.0' xml:lang='en' xml:id='rtweight1'>
<refmeta>
<refmeta>
<refentrytitle>RTWEIGHT
</refentrytitle>
<manvolnum>1</manvolnum>
<refmiscinfo class='source'>BRL-CAD</refmiscinfo>
<refmiscinfo class='manual'>BRL-CAD</refmiscinfo>
</refmeta>
</refentrytitle>
<manvolnum>1</manvolnum>
<refmiscinfo class='source'>BRL-CAD</refmiscinfo>
<refmiscinfo class='manual'>BRL-CAD</refmiscinfo>
</refmeta>
<refnamediv>
<refname>rtweight</refname>
<refpurpose>Calculate weight, centroid and volume data for an mged model, using raytracing</refpurpose>
</refnamediv>
<!-- body begins here -->
<refsynopsisdiv xml:id='synopsis'>
<cmdsynopsis>
<refnamediv>
<refname>rtweight</refname>
<refpurpose>Calculate mass, centroid, and volume of geometry using raytracing</refpurpose>
</refnamediv>
<!-- body begins here -->
<refsynopsisdiv xml:id='synopsis'>
<cmdsynopsis>
<command>rtweight</command>
<arg choice='opt' rep='repeat'><replaceable>options</replaceable></arg>
<arg choice='plain'><replaceable>model.g</replaceable></arg>
<arg choice='plain' rep='repeat'><replaceable>objects</replaceable></arg>
</cmdsynopsis>
</refsynopsisdiv>
<refsect1 xml:id='description'><title>DESCRIPTION</title>
<para>
<command>rtweight</command> operates on the indicated <emphasis
remap='I'>objects</emphasis> in <emphasis
remap='I'>model.g</emphasis>. Material density information and
region line of sight (LOS) thickness measurements obtained via ray
tracing are used to calculate the mass for each region encountered.
It will calculate and report volume of the objects specified. With
material properties, it will also report per-region mass information
as well as the overall geometric centroid. All calculations take
any Boolean operations into consideration.
</para>
<para>
<command>rtweight</command> can either use density information
stored directly in a .g database or read a density file specified by
the <option>-d</option> option.
</para>
<para>
If using a density file the file must contain lines with the
material number, density in g/cc, and material name, each separated
by some white space. See the
<citerefentry><refentrytitle>gqa</refentrytitle><manvolnum>1</manvolnum></citerefentry>
manual page for more information about defining and managing density
information.
</para>
<para>The following options are recognized.</para>
<variablelist remap='TP'>
<varlistentry>
<term><option>-s#</option></term>
<listitem>
<para>Number of rays to fire in X and Y directions (square grid).
Default is 512 (512x512). Conflicts with
<option>-g</option></para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>-g#</option></term>
<listitem>
<para>Distance between rays in the X and Y directions in
millimeters. Conflicts with <option>-s</option></para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>-a#</option></term>
<listitem>
<para>Select azimuth in degrees. Used with
<option>-e</option>
and conflicts with
<option>-M</option></para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>-e#</option></term>
<listitem>
<para>Select elevation in degrees. Used with
<option>-a</option>
and conflicts with
<option>-M</option></para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>-d file</option></term>
<listitem>
<para>Read density information from the specified file.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>-M</option></term>
<listitem>
<para>Read model2view matrix from standard input.
Conflicts with
<option>-a</option>
and
<option>-e</option></para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>-r</option></term>
<listitem>
<para>Report individual region weights by region path name and
also by region id number. The default only prints the total
weight for all the objects specified.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>-o file</option></term>
<listitem>
<para>Send the output to a specified file. The default is to
standard output.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>-P#</option></term>
<listitem>
<para>Specify the maximum number of processors (in a
multi-processor system) to be used for this execution. The
default is the maximum number for the machine.</para>
</listitem>
</varlistentry>
</variablelist>
<para><command>rtweight</command> also accepts all other options
that the
<citerefentry><refentrytitle>rt</refentrytitle><manvolnum>1</manvolnum></citerefentry>
program implements, such as for non-square views, perspective,
etc.</para>
</refsect1>
<refsect1 xml:id='see_also'><title>SEE ALSO</title>
<para><citerefentry><refentrytitle>mged</refentrytitle><manvolnum>1</manvolnum></citerefentry>, <citerefentry><refentrytitle>rt</refentrytitle><manvolnum>1</manvolnum></citerefentry>, <citerefentry><refentrytitle>librt</refentrytitle><manvolnum>3</manvolnum></citerefentry></para>
</refsect1>
<refsect1 xml:id='diagnostics'><title>DIAGNOSTICS</title>
<para>Numerous error conditions are possible. Descriptive messages
are printed on standard error (file descriptor 2).</para>
</refsect1>
<refsect1 xml:id='bugs'><title>BUGS</title>
<para>Most deficiencies observed while using the
<command>rtweight</command>
<arg choice='opt' rep='repeat'><replaceable>options</replaceable></arg>
<arg choice='plain'><replaceable>model.g</replaceable></arg>
<arg choice='plain' rep='repeat'><replaceable>objects</replaceable></arg>
program are usually with the
<citerefentry><refentrytitle>librt</refentrytitle><manvolnum>3</manvolnum></citerefentry>
package instead.</para>
</refsect1>
</cmdsynopsis>
</refsynopsisdiv>
<refsect1 xml:id='author'><title>AUTHOR</title>
<para>James E. Hunt</para>
</refsect1>
<refsect1 xml:id='copyright'><title>COPYRIGHT</title>
<para>This software is Copyright (c) 1991-2020 United States Government as
represented by the U.S. Army Research Laboratory.</para>
</refsect1>
<refsect1 xml:id='description'><title>DESCRIPTION</title>
<para><command>rtweight</command>
operates on the indicated
<emphasis remap='I'>objects</emphasis>
in
<emphasis remap='I'>model.g</emphasis>
to calculate the volume and centroid of each region encountered along
rays. Material density information
and region line of sight (LOS) thickness estimates are used to calculate
the mass for each region.
</para>
<para>
<command>rtweight</command> can either use density information stored
directly in a .g database or read a density
file specified by the <option>-d</option> option.
</para>
<para>
If using a density file the file must contain lines with the material
number, density in g/cc, and material name, each separated by some
white space. See the <citerefentry><refentrytitle>gqa</refentrytitle><manvolnum>1</manvolnum></citerefentry> manual page for more information about defining
and managing density information.
</para>
<para>The following options are recognized.</para>
<variablelist remap='TP'>
<varlistentry>
<term><option>-s#</option></term>
<listitem>
<para>Number of rays to fire in X and Y directions (square grid).
Default is 512 (512x512). Conflicts with
<option>-g</option></para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>-g#</option></term>
<listitem>
<para>Distance between rays in the X and Y directions in millimeters. Conflicts with
<option>-s</option></para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>-a#</option></term>
<listitem>
<para>Select azimuth in degrees. Used with
<option>-e</option>
and conflicts with
<option>-M</option></para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>-e#</option></term>
<listitem>
<para>Select elevation in degrees. Used with
<option>-a</option>
and conflicts with
<option>-M</option></para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>-d file</option></term>
<listitem>
<para>Read density information from the specified file.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>-M</option></term>
<listitem>
<para>Read model2view matrix from standard input.
Conflicts with
<option>-a</option>
and
<option>-e</option></para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>-r</option></term>
<listitem>
<para>Report individual region weights by region path name and also by region
id number. The default only prints the total weight for all the objects
specified.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>-o file</option></term>
<listitem>
<para>Send the output to a specified file. The default is to standard output.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>-P#</option></term>
<listitem>
<para>Specify the maximum number of processors (in a multi-processor system) to be
used for this execution. The default is the maximum number for the machine.</para>
</listitem>
</varlistentry>
</variablelist>
<para><command>rtweight</command>
also accepts all other options that the
<citerefentry><refentrytitle>rt</refentrytitle><manvolnum>1</manvolnum></citerefentry>
program implements, such as for non-square views, perspective, etc.</para>
</refsect1>
<refsect1 xml:id='see_also'><title>SEE ALSO</title>
<para><citerefentry><refentrytitle>mged</refentrytitle><manvolnum>1</manvolnum></citerefentry>, <citerefentry><refentrytitle>rt</refentrytitle><manvolnum>1</manvolnum></citerefentry>, <citerefentry><refentrytitle>librt</refentrytitle><manvolnum>3</manvolnum></citerefentry></para>
</refsect1>
<refsect1 xml:id='diagnostics'><title>DIAGNOSTICS</title>
<para>Numerous error conditions are possible.
Descriptive messages are printed on standard error (file descriptor 2).</para>
</refsect1>
<refsect1 xml:id='bugs'><title>BUGS</title>
<para>Most deficiencies observed while using the
<command>rtweight</command>
program are usually with the
<citerefentry><refentrytitle>librt</refentrytitle><manvolnum>3</manvolnum></citerefentry>
package instead.</para>
</refsect1>
<refsect1 xml:id='author'><title>AUTHOR</title>
<para>James E. Hunt</para>
</refsect1>
<refsect1 xml:id='copyright'><title>COPYRIGHT</title>
<para>This software is Copyright (c) 1991-2020 United States Government as
represented by the 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 <email>devs@brlcad.org</email></para>
</refsect1>
<refsect1 xml:id='bug_reports'><title>BUG REPORTS</title>
<para>Reports of bugs or problems should be submitted via electronic
mail to <email>devs@brlcad.org</email></para>
</refsect1>
</refentry>
+1
View File
@@ -5,6 +5,7 @@ set(man3_EN
librt.xml
libwdb.xml
redblack.xml
libicv.xml
)
# Some DocBook man pages generate multiple output files, if they
+28
View File
@@ -0,0 +1,28 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<!-- lifted from troff+man by doclifter -->
<refentry xmlns='http://docbook.org/ns/docbook' version='5.0' xml:lang='en' xml:id='librt3'>
<refmeta>
<refentrytitle>LIBICV
</refentrytitle>
<manvolnum>3</manvolnum>
<refmiscinfo class='source'>BRL-CAD</refmiscinfo>
<refmiscinfo class='manual'>BRL-CAD</refmiscinfo>
</refmeta>
<refnamediv>
<refname>libicv</refname>
<refpurpose>library for image processing in BRL-CAD</refpurpose>
</refnamediv>
<!-- body begins here -->
<refsynopsisdiv xml:id='synopsis'>
<para>This file seems to be out of date with the sources.
Consult the headers for up-to-date information.
Use the below interface documentation at your own discretion.
</para>
</refsynopsisdiv>
<refsect1 xml:id='bug_reports'><title>BUG REPORTS</title>
<para>Reports of bugs or problems should be submitted via electronic
mail to <email>devs@brlcad.org</email></para>
</refsect1>
</refentry>
+1
View File
@@ -195,6 +195,7 @@ set(mann_EN
size.xml
solids.xml
sph-part.xml
stat.xml
status.xml
summary.xml
sv.xml
+222 -20
View File
@@ -10,9 +10,7 @@
<refnamediv xml:id="name">
<refname>analyze</refname>
<refpurpose>
Displays the rotation and fallback angles, surface area, and
plane equation for each face of the ARB specified on the command line. The total
surface area, volume, and the length of each edge are also displayed.
Report and/or compute analytical information about the listed objects.
</refpurpose>
</refnamediv>
@@ -20,39 +18,243 @@
<refsynopsisdiv xml:id="synopsis">
<cmdsynopsis sepchar=" ">
<command>analyze</command>
<arg choice="req" rep="norepeat"><replaceable>arb_name</replaceable></arg>
<arg choice="opt" rep="repeat"><replaceable>options</replaceable></arg>
<arg choice="opt" rep="norepeat"><replaceable>subcommand</replaceable></arg>
</cmdsynopsis>
<variablelist>
<varlistentry><term></term><listitem>
<cmdsynopsis sepchar=" ">
<command>summarize</command>
<arg choice="req" rep="repeat">obj</arg>
</cmdsynopsis>
</listitem></varlistentry>
<varlistentry><term></term><listitem>
<cmdsynopsis sepchar=" ">
<command>intersect</command>
<arg choice="opt" rep="repeat"><replaceable>options</replaceable></arg>
<arg choice="req" rep="repeat">obj1 obj2 [...]</arg>
</cmdsynopsis>
</listitem></varlistentry>
<varlistentry><term></term><listitem>
<cmdsynopsis sepchar=" ">
<command>subtract</command>
<arg choice="opt" rep="repeat"><replaceable>options</replaceable></arg>
<arg choice="req" rep="repeat">obj1 obj2 [...]</arg>
</cmdsynopsis>
</listitem></varlistentry>
</variablelist>
</refsynopsisdiv>
<refsection xml:id="description"><title>DESCRIPTION</title>
<para>
The <command>analyze</command> command displays the rotation and fallback
angles, surface area, and plane equation for each face of the ARB specified
on the command line. The total surface area, volume, and the length of each
edge are also displayed. If executed while editing an ARB, the arb_name may
be omitted, and the ARB being edited will be analyzed.
The <command>analyze</command> command provides an array of reporting and
shape generation capabilities. The classic behavior (and the behavior users
will see if calling without specifying a subcommand) is a report summarizing
geometric information about the specified solid(s). This behavior may also
be explicitly invoked by the <command>summarize</command> subcommand.
</para>
<para>
The <command>intersect</command> will take the first object specified and
intersect it with any subsequently specified objects - in effect, building
up a new object with the geoemtry common to all objects specified.
</para>
<para>
The <command>subtract</command> will take the first object specified and
subtract from it any subsequently specified objects.
</para>
</refsection>
<refsection xml:id="examples"><title>EXAMPLES</title>
<para>
The example shows how to display information about an ARB's rotation and
fallback angles, surface area, and plane equation for its face.
Edge information is also displayed.
</para>
<example><title>Analyze a particular <emphasis>ARB</emphasis></title>
<para>
<prompt>mged&gt;</prompt> <userinput>analyze box.s</userinput>
</para>
<literallayout>
box.s: ARB8
1 (30.0283, -5.21153, -16.3791)
2 (30.0283, 21.5812, -16.3791)
3 (30.0283, 21.5812, 10.4137)
4 (30.0283, -5.21153, 10.4137)
5 (3.23558, -5.21153, -16.3791)
6 (3.23558, 21.5812, -16.3791)
7 (3.23558, 21.5812, 10.4137)
8 (3.23558, -5.21153, 10.4137)
+------+---------------------------+-------------------------------------------------+--------------+
| FACE | ROT FB | PLANE EQUATION | SURFACE AREA |
+------+---------------------------+-------------------------------------------------+--------------+
| 1234 | 0.00000000 0.00000000 | 1.00000000 0.00000000 0.00000000 30.02833557 | 717.85172729 |
| 5678 | 180.00000000 -0.00000000 | -1.00000000 -0.00000000 -0.00000000 -3.23558044 | 717.85172729 |
| 1584 | 270.00000000 -0.00000000 | -0.00000000 -1.00000000 -0.00000000 5.21152973 | 717.85172729 |
| 2376 | 90.00000000 -0.00000000 | -0.00000000 1.00000000 -0.00000000 21.58122540 | 717.85172729 |
| 1265 | 0.00000000 -90.00000000 | -0.00000000 0.00000000 -1.00000000 16.37908936 | 717.85172729 |
| 4378 | 0.00000000 90.00000000 | 0.00000000 -0.00000000 1.00000000 10.41366577 | 717.85172729 |
+------+---------------------------+-------------------------------------------------+--------------+
+--------------------+--------------------+--------------------+--------------------+
| EDGE LENGTH | EDGE LENGTH | EDGE LENGTH | EDGE LENGTH |
+--------------------+--------------------+--------------------+--------------------+
| 12 26.79275513 | 23 26.79275513 | 34 26.79275513 | 14 26.79275513 |
| 15 26.79275513 | 56 26.79275513 | 26 26.79275513 | 67 26.79275513 |
| 78 26.79275513 | 58 26.79275513 | 48 26.79275513 | 37 26.79275513 |
+--------------------+--------------------+--------------------+--------------------+
+-------------------------------+
| Volume = 19233.22554681 |
| Surface Area = 4307.11036376 |
| Gallons = 0.00508088 |
+-------------------------------+
</literallayout>
</example>
<example><title>Analyze a particular <emphasis>TOR</emphasis></title>
<para>
<prompt>mged&gt;</prompt> <userinput>analyze tor</userinput>
</para>
<literallayout>
tor: torus (TOR)
V (4.91624, -32.8022, 31.7118), r1=25.4 (A), r2=5.08 (H)
N=(0, 1, 0)
A=(0, -0, 1)
B=(1, 0, -0)
vector to inner edge = (0, -0, 20.32)
vector to outer edge = (0, -0, 30.48)
Centroid: (4.91624, -32.8022, 31.7118)
+-------------------------------+
| Volume = 12938.70529707 |
| Surface Area = 5093.97853992 |
| Gallons = 0.00341804 |
+-------------------------------+
</literallayout>
</example>
<example><title>Points inside a sphere</title>
<para>
<prompt>mged&gt;</prompt> <userinput>l sph.s</userinput>
</para>
<literallayout>
sph.s: ellipsoid (ELL)
V (0, 0, 0)
A (10, 0, 0) mag=10
B (0, 10, 0) mag=10
C (0, 0, 10) mag=10
A direction cosines=(0, 90, 90)
A rotation angle=0, fallback angle=0
B direction cosines=(90, 0, 90)
B rotation angle=90, fallback angle=0
C direction cosines=(90, 90, 0)
C rotation angle=0, fallback angle=90
</literallayout>
<para>
<prompt>mged&gt;</prompt> <userinput>l pnts.s</userinput>
</para>
<literallayout>
pnts.s: Point Cloud (PNTS)
Total number of points: 6
Default scale: 0.000000
point#, (point)
1, (2.000000 2.000000 2.000000)
2, (0.000000 0.000000 -5.000000)
3, (0.000000 0.000000 10.000000)
4, (0.000000 0.000000 20.000000)
5, (10.000000 0.000000 10.000000)
6, (0.000000 10.000000 20.000000)
</literallayout>
<para>
<prompt>mged&gt;</prompt> <userinput>analyze intersect -o inside.s pnts.s sph.s</userinput>
</para>
<literallayout>
3
</literallayout>
<para>
<prompt>mged&gt;</prompt> <userinput>l inside.s</userinput>
</para>
<literallayout>
inside.s: Point Cloud (PNTS)
Total number of points: 3
Default scale: 0.000000
point#, (point)
1, (0.000000 0.000000 10.000000)
2, (0.000000 0.000000 -5.000000)
3, (2.000000 2.000000 2.000000)
</literallayout>
</example>
<example><title>Points outside a sphere</title>
<para>
<prompt>mged&gt;</prompt> <userinput>l sph.s</userinput>
</para>
<literallayout>
sph.s: ellipsoid (ELL)
V (0, 0, 0)
A (10, 0, 0) mag=10
B (0, 10, 0) mag=10
C (0, 0, 10) mag=10
A direction cosines=(0, 90, 90)
A rotation angle=0, fallback angle=0
B direction cosines=(90, 0, 90)
B rotation angle=90, fallback angle=0
C direction cosines=(90, 90, 0)
C rotation angle=0, fallback angle=90
</literallayout>
<para>
<prompt>mged&gt;</prompt> <userinput>l pnts.s</userinput>
</para>
<literallayout>
pnts.s: Point Cloud (PNTS)
Total number of points: 6
Default scale: 0.000000
point#, (point)
1, (2.000000 2.000000 2.000000)
2, (0.000000 0.000000 -5.000000)
3, (0.000000 0.000000 10.000000)
4, (0.000000 0.000000 20.000000)
5, (10.000000 0.000000 10.000000)
6, (0.000000 10.000000 20.000000)
</literallayout>
<para>
<prompt>mged&gt;</prompt> <userinput>analyze subtract -o outside.s pnts.s sph</userinput>
</para>
<literallayout>
3
</literallayout>
<para>
<prompt>mged&gt;</prompt> <userinput>analyze arb_name</userinput>
</para>
<para>
Rotation and fallback angles, surface area, and plane equation for
each face of the ARB specified on the command line are displayed along
with edge information.
<prompt>mged&gt;</prompt> <userinput>l outside.s</userinput>
</para>
<literallayout>
outside.s: Point Cloud (PNTS)
Total number of points: 3
Default scale: 0.000000
point#, (point)
1, (0.000000 10.000000 20.000000)
2, (10.000000 0.000000 10.000000)
3, (0.000000 0.000000 20.000000)
</literallayout>
</example>
</refsection>
<refsection xml:id="author"><title>AUTHOR</title>
+20 -18
View File
@@ -17,33 +17,29 @@
<cmdsynopsis sepchar=" ">
<command>bo</command>
<group choice="req" rep="norepeat">
<arg choice="opt" rep="norepeat">-i {type}</arg>
<arg choice="opt" rep="norepeat">-i u {type}</arg>
<arg choice="opt" rep="norepeat">-o</arg>
</group>
<arg choice="req" rep="norepeat"><replaceable>{destination} {source}</replaceable></arg>
<arg choice="req" rep="norepeat"><replaceable>destination</replaceable></arg> <arg choice="req" rep="norepeat"><replaceable>source</replaceable></arg>
</cmdsynopsis>
</refsynopsisdiv>
<refsection xml:id="description"><title>DESCRIPTION</title>
<para>
Used to create or retrieve binary opaque objects. Currently,
only uniform binary objects (arrays of values) are
supported. One of <emphasis>-i</emphasis> or
<emphasis>-o</emphasis> must be
specified. The <emphasis>-i</emphasis> is for "input," or
creating a binary object, and the <emphasis>-o</emphasis> option
is used for "output," or retrieving a binary
object. The <emphasis>type</emphasis> argument must be supplied
when <emphasis>-i</emphasis> is used, to indicate the type of
uniform binary object to be created. On input,
the <emphasis>destination</emphasis> is the name of the object
to be created, and the source is the path to a file containing
the values in the local host format. On
Used to create or export binary opaque objects. One of
<emphasis>-i</emphasis> or <emphasis>-o</emphasis> must be
specified to input or output data respectively. The
<emphasis>-i</emphasis> option will create a binary object, and
the <emphasis>-o</emphasis> option will write out a binary
object's data. Currently, only uniform binary objects (arrays of
values) are supported on input. On input, the
<emphasis>destination</emphasis> is the name of the object to be
created, and the source is the path to a file to read. On
output, <emphasis>destination</emphasis> is the path to a file
to receive the contents of the binary object whose name appears
in <emphasis>source</emphasis>. The
<emphasis>type</emphasis> may be one of:
to write out with the contents of the binary object specified as
the <emphasis>source</emphasis>. The <emphasis>type</emphasis>
may be one of:
<simplelist type="vert">
<member>f -&gt; float</member>
@@ -77,6 +73,12 @@
</para>
</example>
<example><title>Import data for a displacement map (DSP) object</title>
<para><prompt>mged&gt;</prompt> <userinput>bo -i u S dsp.data /path/to/file.dsp</userinput></para>
<para>This imports a file named <emphasis>file.dsp</emphasis> that contains DSP data, i.e., raw data in unsigned short (16-bit) format. The data is saved in the .g database into an object named <emphasis>dsp.data</emphasis>. When creating a DSP, this <emphasis>dsp.data</emphasis> object can be specified as the data source.</para>
</example>
<example><title>Copy the contents of a particular binary object into a specified file.</title>
<para><prompt>mged&gt;</prompt> <userinput>bo -o /home/jim/cmds.html cmds</userinput></para>
+57 -39
View File
@@ -1,61 +1,79 @@
<refentry xmlns="http://docbook.org/ns/docbook" version="5.0" xml:id="kill">
<refmeta>
<refentrytitle>KILL</refentrytitle>
<manvolnum>nged</manvolnum>
<refmiscinfo class="source">BRL-CAD</refmiscinfo>
<refmiscinfo class="manual">BRL-CAD User Commands</refmiscinfo>
</refmeta>
<refmeta>
<refentrytitle>KILL</refentrytitle>
<manvolnum>nged</manvolnum>
<refmiscinfo class="source">BRL-CAD</refmiscinfo>
<refmiscinfo class="manual">BRL-CAD User Commands</refmiscinfo>
</refmeta>
<refnamediv xml:id="name">
<refname>kill</refname>
<refpurpose>Deletes specified <emphasis>objects</emphasis> from the current database.
</refpurpose>
</refnamediv>
<refnamediv xml:id="name">
<refname>kill</refname>
<refpurpose>Deletes specified <emphasis>objects</emphasis> from the current database.
</refpurpose>
</refnamediv>
<!-- body begins here -->
<refsynopsisdiv xml:id="synopsis">
<cmdsynopsis sepchar=" ">
<command>kill</command>
<arg choice="opt" rep="norepeat">-f</arg>
<arg choice="req" rep="norepeat"><replaceable>objects</replaceable></arg>
</cmdsynopsis>
</refsynopsisdiv>
<!-- body begins here -->
<refsynopsisdiv xml:id="synopsis">
<cmdsynopsis sepchar=" ">
<command>kill</command>
<arg choice="opt" rep="norepeat">-f</arg>
<arg choice="req" rep="norepeat"><replaceable>objects</replaceable></arg>
</cmdsynopsis>
</refsynopsisdiv>
<refsection xml:id="description"><title>DESCRIPTION</title>
<refsection xml:id="description"><title>DESCRIPTION</title>
<para>
Deletes the specified <emphasis>objects</emphasis> from the current database.
This command affects only the <emphasis>objects</emphasis> actually listed on the command line. If a combination is killed, its members are not affected. If the <emphasis>-f </emphasis>option is specified, then kill will not complain if some, or all, of the <emphasis>objects</emphasis> specified do not actually exist in the database. Note that the <emphasis>objects</emphasis> are killed immediately. There is no need for a <command> write file</command> command in MGED, and there is no <command>undo</command> command. <emphasis remap="B" role="bold">Use this command with caution.</emphasis> Other commands that remove objects from the database are <command>killall</command> and <command>killtree </command>.
Deletes the specified <emphasis>objects</emphasis> from the current database. This command
affects only the <emphasis>objects</emphasis> actually listed on the command line. If a
combination is killed, its members are not affected. If the <emphasis>-f</emphasis>option
is specified, then kill will not complain if some, or all, of the <emphasis>objects</emphasis>
specified do not actually exist in the database. Note that the <emphasis>objects</emphasis>
are killed immediately. There is no need for a <command>write file</command> command in MGED,
and there is no <command>undo</command> command. <emphasis remap="B" role="bold">Use this
command with caution.</emphasis> Other commands that remove objects from the database are
<command>killall</command> and <command>killtree</command>.
</para>
</refsection>
<para>
The <option>-q</option> option may be added to suppress database object lookup messages
reporting failure, which will otherwise let the user know an invalid object was specified.
</para>
</refsection>
<refsection xml:id="examples"><title>EXAMPLES</title>
<para>The example shows the use of the <command>kill</command> command to delete specified objects from the database.
<refsection xml:id="examples"><title>EXAMPLES</title>
<para>
The example shows the use of the <command>kill</command> command to delete specified objects
from the database.
</para>
<example><title>Delete objects from the database.</title>
<variablelist>
<varlistentry>
<term><prompt>mged&gt;</prompt> <userinput>kill group1 region2 shapeb</userinput></term>
<listitem>
<para>Deletes <emphasis>group1, region2</emphasis>, and <emphasis>shapeb</emphasis> from the database.
</para>
</listitem>
</varlistentry>
</variablelist>
<variablelist>
<varlistentry>
<term><prompt>mged&gt;</prompt> <userinput>kill group1 region2 shapeb</userinput></term>
<listitem>
<para>
Deletes <emphasis>group1, region2</emphasis>, and <emphasis>shapeb</emphasis> from
the database.
</para>
</listitem>
</varlistentry>
</variablelist>
</example>
</refsection>
</refsection>
<refsection xml:id="author"><title>AUTHOR</title><para>BRL-CAD Team</para></refsection>
<refsection xml:id="author"><title>AUTHOR</title>
<para>
BRL-CAD Team
</para>
</refsection>
<refsection xml:id="bug_reports"><title>BUG REPORTS</title>
<refsection xml:id="bug_reports"><title>BUG REPORTS</title>
<para>
Reports of bugs or problems should be submitted via electronic
mail to <email>devs@brlcad.org</email>
</para>
</refsection>
</refsection>
</refentry>
+28
View File
@@ -51,7 +51,27 @@
<emphasis remap="I">before</emphasis> the paths and are used to control settings
that apply globally to <command>search</command>'s behavior and reporting during
the execution of the search.
</para>
<para>
The results of the search command will be sorted according to David Koelle's
"alphanum" algorithm, which is basically a human-intuitive ordering for
strings with letters and numbers. For example, a result returning d1.r, d10.r and d2.r
will be sorted as:
<literallayout>
d1.r
d2.r
d10.r
</literallayout>
instead of the default ASCII character ordering, which would look like:
<literallayout>
d1.r
d10.r
d2.r
</literallayout>
</para>
</refsection>
@@ -423,6 +443,14 @@
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><emphasis remap="B" role="bold">-size</emphasis> <emphasis remap="I">[&gt;/&lt;/=]size</emphasis></term>
<listitem>
<para>
True if the size of the object is within the range specified. NOTE: for combs, extrudes, and other composite objects this filter considers <emphasis>only</emphasis> the object definition itself, not its related elements.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><emphasis remap="B" role="bold">-stdattr</emphasis></term>
<listitem>
+219
View File
@@ -0,0 +1,219 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<refentry xmlns="http://docbook.org/ns/docbook" version="5.0" xml:id="STATFORMAT" xmlns:xlink="http://www.w3.org/1999/xlink">
<refmeta>
<refentrytitle>STAT</refentrytitle>
<manvolnum>nged</manvolnum>
<refmiscinfo class="source">BRL-CAD</refmiscinfo>
<refmiscinfo class="manual">BRL-CAD</refmiscinfo>
</refmeta>
<refnamediv xml:id="name">
<refname>stat</refname>
<refpurpose>
report information about objects in a BRL-CAD database
</refpurpose>
</refnamediv>
<!-- body begins here -->
<refsynopsisdiv xml:id="synopsis">
<cmdsynopsis sepchar=" ">
<command>stat</command>
<arg choice="opt" rep="norepeat">-h</arg>
<arg choice="opt" rep="norepeat">-?</arg>
<arg choice="opt" rep="norepeat">-r</arg>
<arg choice="opt" rep="norepeat">-F <replaceable>string</replaceable></arg>
<arg choice="opt" rep="norepeat">-C <replaceable>type1[,type2]...</replaceable></arg>
<arg choice="opt" rep="norepeat">-S <replaceable>type1[,type2]...</replaceable></arg>
<arg choice="req">glob pattern</arg>
</cmdsynopsis>
</refsynopsisdiv>
<refsection xml:id="stat_overview"><info><title>Overview</title></info>
<para>
The GED <command>stat</command> command reports information about objects in
a BRL-CAD .g file. It produces a tabular output, with options for user configurability
and sorting.
</para>
<para>
Available types reflect geometry object data:
<table frame="all"> <title>STAT Information Keys - Core Object Info</title>
<tgroup cols="2">
<colspec colwidth="1in" colname="c1"/>
<colspec colwidth="4in" colname="c2"/>
<tbody>
<row> <entry>name</entry> <entry>Object database name (for example, "primitive.s")</entry> </row>
<row> <entry>uses</entry> <entry>Number of uses, from instancing</entry> </row>
<row> <entry>size</entry> <entry>Size of database object</entry> </row>
<row> <entry>refs</entry> <entry>Number of times object is referenced by COMBs</entry> </row>
<row> <entry>flags</entry> <entry>Flags</entry> </row>
<row> <entry>major_type</entry> <entry>Object major type</entry> </row>
<row> <entry>minor_type</entry> <entry>Object minor type</entry> </row>
<row> <entry>type</entry> <entry>Object type (short name)</entry> </row>
</tbody>
</tgroup>
</table>
</para>
<para>
In addition to the above standard keys, attributes may also be specified. If the desired attribute happens
to have the same name as one of the above standard keys, the prefix "attr:" may be added to denote an attribute.
</para>
</refsection>
<refsection xml:id="search_options"><title>OPTIONS</title>
<variablelist remap="TP">
<varlistentry>
<term><emphasis remap="B" role="bold">-h or -?</emphasis></term>
<listitem>
<para>
Print help and exit.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><emphasis remap="B" role="bold">-r</emphasis></term>
<listitem>
<para>
Print raw values, instead of human friendly strings (for example, 5195952 for a size instead of 5.0M).
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><emphasis remap="B" role="bold">-F</emphasis></term>
<listitem>
<para>
Specify <command>search</command> style filters to trim down what is reported in <command>stat</command> output.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><emphasis remap="B" role="bold">-C</emphasis></term>
<listitem>
<para>
Supply a comma separated list of column specifiers or attribute keys to define the table layout for <command>stat</command>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><emphasis remap="B" role="bold">-S</emphasis></term>
<listitem>
<para>
Supply a comma separated list of column specifiers or attribute keys to specify a sorting priority for <command>stat</command>.
Priority is left to right - sorting will be performed first based on the leftmost specifier, and subsequent specifiers
will be used to resolve any ties. To revers the ordering decisions for a given column, prefix the specifier with a "!"
character.
</para>
</listitem>
</varlistentry>
</variablelist>
</refsection>
<refsection xml:id="examples"><title>EXAMPLES</title>
<example><title>Default Output</title>
<para>
<userinput>stat *</userinput>
</para>
<literallayout>
Object Name uses References Flags Type Size
----------------------- ------ ------------ ------- -------- ------
Default 0 1 2 comb 288B
NIST_MBE_PMI_7-10.3dm 0 0 2 comb 264B
Solid1.r 0 1 6 region 280B
Solid1.r.s 0 1 1 brep 859K
Solid1_2.r 0 1 6 region 280B
Solid1_2.r.s 0 1 1 brep 672K
Solid1_3.r 0 1 6 region 280B
Solid1_3.r.s 0 1 1 brep 431K
Solid1_4.r 0 1 6 region 280B
Solid1_4.r.s 0 1 1 brep 771K
_GLOBAL 0 0 8 96B
</literallayout>
</example>
<example><title>Sorting by Size</title>
<para>
<userinput>stat -S "size" *</userinput>
</para>
<literallayout>
Object Name uses References Flags Type Size
----------------------- ------ ------------ ------- -------- ------
_GLOBAL 0 0 8 96B
NIST_MBE_PMI_7-10.3dm 0 0 2 comb 264B
Solid1_2.r 0 1 6 region 280B
Solid1_3.r 0 1 6 region 280B
Solid1.r 0 1 6 region 280B
Solid1_4.r 0 1 6 region 280B
Default 0 1 2 comb 288B
Solid1_3.r.s 0 1 1 brep 431K
Solid1_2.r.s 0 1 1 brep 672K
Solid1_4.r.s 0 1 1 brep 771K
Solid1.r.s 0 1 1 brep 859K
</literallayout>
</example>
<example><title>Sorting by Size, Reversed Order</title>
<para>
<userinput>stat -S "!size" *</userinput>
</para>
<literallayout>
Object Name uses References Flags Type Size
----------------------- ------ ------------ ------- -------- ------
Solid1.r.s 0 1 1 brep 859K
Solid1_4.r.s 0 1 1 brep 771K
Solid1_2.r.s 0 1 1 brep 672K
Solid1_3.r.s 0 1 1 brep 431K
Default 0 1 2 comb 288B
Solid1_3.r 0 1 6 region 280B
Solid1.r 0 1 6 region 280B
Solid1_2.r 0 1 6 region 280B
Solid1_4.r 0 1 6 region 280B
NIST_MBE_PMI_7-10.3dm 0 0 2 comb 264B
_GLOBAL 0 0 8 96B
</literallayout>
</example>
<example><title>Filtering by Type</title>
<para>
<userinput>stat -F "-type brep" *</userinput>
</para>
<literallayout>
Object Name uses References Flags Type Size
-------------- ------ ------------ ------- ------ ------
Solid1.r.s 0 1 1 brep 859K
Solid1_2.r.s 0 1 1 brep 672K
Solid1_3.r.s 0 1 1 brep 431K
Solid1_4.r.s 0 1 1 brep 771K
</literallayout>
</example>
<example><title>Custom Columns</title>
<para>
<userinput>stat -C "name,type,size,color" *</userinput>
</para>
<literallayout>
Object Name Type Size color
----------------------- -------- ------ -------------
Default comb 288B 0/0/0
NIST_MBE_PMI_7-10.3dm comb 264B 0/0/0
Solid1.r region 280B 153/231/254
Solid1.r.s brep 859K
Solid1_2.r region 280B 255/206/142
Solid1_2.r.s brep 672K
Solid1_3.r region 280B 237/255/168
Solid1_3.r.s brep 431K
Solid1_4.r region 280B 178/178/178
Solid1_4.r.s brep 771K
_GLOBAL 96B
</literallayout>
</example>
</refsection>
</refentry>
+74 -17
View File
@@ -9,42 +9,99 @@
<refnamediv xml:id="name">
<refname>whichair</refname>
<refpurpose>Lists all the regions that use one of the air codes specified.</refpurpose>
<refpurpose>Reports information relating to usag of air codes on regions.</refpurpose>
</refnamediv>
<!-- body begins here -->
<refsynopsisdiv xml:id="synopsis">
<cmdsynopsis sepchar=" ">
<command>whichair</command>
<arg choice="opt" rep="norepeat"><replaceable>options ...</replaceable></arg>
<arg choice="req" rep="norepeat"><replaceable>air_codes</replaceable></arg>
</cmdsynopsis>
</refsynopsisdiv>
<refsection xml:id="description"><title>DESCRIPTION</title>
<para>Lists all the regions that use one of the air codes specified.
The <command>eac</command> command will perform a similar search, but will draw the qualifying regions
in the MGED display rather than listing them. Regions that have nonzero ident
numbers will not be listed by this command.
<para>
Reports information about the usage of the <emphasis>air_codes</emphasis> property
by regions in a .g file. Its default mode is to report which regions in a .g file
are using one or a range of region_id values. If a root object is specified, it
will report that result only for the regions in the tree of the root object.
If the <option>U</option> is specified, the reporting is inverted and the command
will report the ranges of <emphasis>unused</emphasis> aircodes rather than the regions
using various aircodes.
</para>
<para>
The <command>eac</command> command will perform a similar search, but will draw
the qualifying regions in the MGED display rather than listing them.
</para>
</refsection>
<refsection xml:id="search_options"><title>OPTIONS</title>
<variablelist remap="TP">
<varlistentry>
<term><emphasis remap="B" role="bold">-U</emphasis></term>
<listitem>
<para>
Report unused aircode ranges.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><emphasis remap="B" role="bold">--root objname</emphasis></term>
<listitem>
<para>
Limit reporting to regions in the CSG tree below <emphasis>objname</emphasis>.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsection>
<refsection xml:id="examples"><title>EXAMPLES</title>
<para>The example shows the use of the <command>whichair</command> command to list all the regions that use one of the air codes specified.
<para>
For these examples the geometry file used is the standard <emphasis>m35.g</emphasis>
included with BRL-CAD.
</para>
<example>
<title>Report all regions using air codes between 7 and 10.</title>
<para>
<prompt>mged&gt;</prompt><userinput>whichair 7-10</userinput>
<literallayout class="normal">
Region[s] with air code 7:
r11
r13
r15
Region[s] with air code 8:
r25
r27
r29
r31
r33
r35
</literallayout>
</para>
</example>
<example><title>List all regions that use the specified air codes.</title>
<para>
<prompt>mged&gt;</prompt><userinput>whichair 2 3</userinput>
</para>
<para>Lists all regions in the current database that have <emphasis>air codes</emphasis> of 2 or 3.
</para>
</example>
<example>
<title>Report all unused aircode ranges in the database between 1 and 10.</title>
<para>
<prompt>mged&gt;</prompt><userinput>whichair -U 1-10</userinput>
<literallayout class="normal">
Unused air codes:
1-3
5
9-10
</literallayout>
</para>
</example>
</refsection>
+3 -3
View File
@@ -10,6 +10,7 @@ set(embedded_licenses
clipper.txt
db_faa-info.txt
db_nist-info.txt
damlev.txt
dehumanize.txt
delaunator.txt
DejaVu_Fonts.txt
@@ -17,11 +18,11 @@ set(embedded_licenses
Eigen.txt
fnmatch.txt
fontstash.txt
fort.txt
gct.txt
gecode.txt
gdal_gcv_plugin1.txt
gdal_gcv_plugin2.txt
glm.txt
halfedge.txt
humanize.txt
hv3.txt
@@ -37,7 +38,6 @@ set(embedded_licenses
mt19937ar.txt
naca.txt
normalize.txt
nurbs_fit.txt
obr.txt
OpenNURBS.txt
osg.txt
@@ -45,7 +45,6 @@ set(embedded_licenses
ParaView.txt
pbrt.txt
point_in_polygon.txt
point_in_polyhedron.txt
polygonizer.txt
pstdint.txt
qsort.txt
@@ -64,6 +63,7 @@ set(embedded_licenses
sscanf.txt
stb_truetype.txt
STIX_Font_License_2010.txt
strnstr.txt
tcl.txt
tcllib.txt
tinythread.txt
+29
View File
@@ -0,0 +1,29 @@
Copyright (C) 2019 Robert Jacobson. Released under the MIT license.
Based on "Iosifovich", Copyright (C) 2019 Frederik Hertzum, which is
licensed under the MIT license: https://bitbucket.org/clearer/iosifovich.
The MIT License
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to
deal in the Software without restriction, including without limitation the
rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
sell copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
IN THE SOFTWARE.
https://github.com/rljacobson/Levenshtein
file:/src/libbu/damlevlim.cpp
@@ -1,14 +1,8 @@
================================================================================
OpenGL Mathematics (GLM)
--------------------------------------------------------------------------------
GLM is licensed under The Happy Bunny License or MIT License
libfort
BRL-CAD will use glm under the standard MIT license
MIT License
================================================================================
The MIT License
--------------------------------------------------------------------------------
Copyright (c) 2005 - G-Truc Creation
Copyright (c) 2017 - 2020 Seleznev Anton
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
@@ -17,13 +11,16 @@ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
file:/src/libged/stat/fort.c
file:/src/libged/stat/fort.h
-314
View File
@@ -1,314 +0,0 @@
================================================================================
OpenGL Mathematics (GLM)
--------------------------------------------------------------------------------
GLM is licensed under The Happy Bunny License or MIT License
BRL-CAD will use glm under the standard MIT license
================================================================================
The MIT License
--------------------------------------------------------------------------------
Copyright (c) 2005 - G-Truc Creation
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
file:/src/qged/display/glm/glm/common.hpp
file:/src/qged/display/glm/glm/detail/_features.hpp
file:/src/qged/display/glm/glm/detail/_fixes.hpp
file:/src/qged/display/glm/glm/detail/_noise.hpp
file:/src/qged/display/glm/glm/detail/_swizzle.hpp
file:/src/qged/display/glm/glm/detail/_swizzle_func.hpp
file:/src/qged/display/glm/glm/detail/_vectorize.hpp
file:/src/qged/display/glm/glm/detail/compute_common.hpp
file:/src/qged/display/glm/glm/detail/compute_vector_relational.hpp
file:/src/qged/display/glm/glm/detail/glm.cpp
file:/src/qged/display/glm/glm/detail/qualifier.hpp
file:/src/qged/display/glm/glm/detail/setup.hpp
file:/src/qged/display/glm/glm/detail/type_float.hpp
file:/src/qged/display/glm/glm/detail/type_half.hpp
file:/src/qged/display/glm/glm/detail/type_mat2x2.hpp
file:/src/qged/display/glm/glm/detail/type_mat2x3.hpp
file:/src/qged/display/glm/glm/detail/type_mat2x4.hpp
file:/src/qged/display/glm/glm/detail/type_mat3x2.hpp
file:/src/qged/display/glm/glm/detail/type_mat3x3.hpp
file:/src/qged/display/glm/glm/detail/type_mat3x4.hpp
file:/src/qged/display/glm/glm/detail/type_mat4x2.hpp
file:/src/qged/display/glm/glm/detail/type_mat4x3.hpp
file:/src/qged/display/glm/glm/detail/type_mat4x4.hpp
file:/src/qged/display/glm/glm/detail/type_quat.hpp
file:/src/qged/display/glm/glm/detail/type_vec1.hpp
file:/src/qged/display/glm/glm/detail/type_vec2.hpp
file:/src/qged/display/glm/glm/detail/type_vec3.hpp
file:/src/qged/display/glm/glm/detail/type_vec4.hpp
file:/src/qged/display/glm/glm/exponential.hpp
file:/src/qged/display/glm/glm/ext.hpp
file:/src/qged/display/glm/glm/ext/matrix_clip_space.hpp
file:/src/qged/display/glm/glm/ext/matrix_common.hpp
file:/src/qged/display/glm/glm/ext/matrix_double2x2.hpp
file:/src/qged/display/glm/glm/ext/matrix_double2x2_precision.hpp
file:/src/qged/display/glm/glm/ext/matrix_double2x3.hpp
file:/src/qged/display/glm/glm/ext/matrix_double2x3_precision.hpp
file:/src/qged/display/glm/glm/ext/matrix_double2x4.hpp
file:/src/qged/display/glm/glm/ext/matrix_double2x4_precision.hpp
file:/src/qged/display/glm/glm/ext/matrix_double3x2.hpp
file:/src/qged/display/glm/glm/ext/matrix_double3x2_precision.hpp
file:/src/qged/display/glm/glm/ext/matrix_double3x3.hpp
file:/src/qged/display/glm/glm/ext/matrix_double3x3_precision.hpp
file:/src/qged/display/glm/glm/ext/matrix_double3x4.hpp
file:/src/qged/display/glm/glm/ext/matrix_double3x4_precision.hpp
file:/src/qged/display/glm/glm/ext/matrix_double4x2.hpp
file:/src/qged/display/glm/glm/ext/matrix_double4x2_precision.hpp
file:/src/qged/display/glm/glm/ext/matrix_double4x3.hpp
file:/src/qged/display/glm/glm/ext/matrix_double4x3_precision.hpp
file:/src/qged/display/glm/glm/ext/matrix_double4x4.hpp
file:/src/qged/display/glm/glm/ext/matrix_double4x4_precision.hpp
file:/src/qged/display/glm/glm/ext/matrix_float2x2.hpp
file:/src/qged/display/glm/glm/ext/matrix_float2x2_precision.hpp
file:/src/qged/display/glm/glm/ext/matrix_float2x3.hpp
file:/src/qged/display/glm/glm/ext/matrix_float2x3_precision.hpp
file:/src/qged/display/glm/glm/ext/matrix_float2x4.hpp
file:/src/qged/display/glm/glm/ext/matrix_float2x4_precision.hpp
file:/src/qged/display/glm/glm/ext/matrix_float3x2.hpp
file:/src/qged/display/glm/glm/ext/matrix_float3x2_precision.hpp
file:/src/qged/display/glm/glm/ext/matrix_float3x3.hpp
file:/src/qged/display/glm/glm/ext/matrix_float3x3_precision.hpp
file:/src/qged/display/glm/glm/ext/matrix_float3x4.hpp
file:/src/qged/display/glm/glm/ext/matrix_float3x4_precision.hpp
file:/src/qged/display/glm/glm/ext/matrix_float4x2.hpp
file:/src/qged/display/glm/glm/ext/matrix_float4x2_precision.hpp
file:/src/qged/display/glm/glm/ext/matrix_float4x3.hpp
file:/src/qged/display/glm/glm/ext/matrix_float4x3_precision.hpp
file:/src/qged/display/glm/glm/ext/matrix_float4x4.hpp
file:/src/qged/display/glm/glm/ext/matrix_float4x4_precision.hpp
file:/src/qged/display/glm/glm/ext/matrix_int2x2.hpp
file:/src/qged/display/glm/glm/ext/matrix_int2x2_sized.hpp
file:/src/qged/display/glm/glm/ext/matrix_int2x3.hpp
file:/src/qged/display/glm/glm/ext/matrix_int2x3_sized.hpp
file:/src/qged/display/glm/glm/ext/matrix_int2x4.hpp
file:/src/qged/display/glm/glm/ext/matrix_int2x4_sized.hpp
file:/src/qged/display/glm/glm/ext/matrix_int3x2.hpp
file:/src/qged/display/glm/glm/ext/matrix_int3x2_sized.hpp
file:/src/qged/display/glm/glm/ext/matrix_int3x3.hpp
file:/src/qged/display/glm/glm/ext/matrix_int3x3_sized.hpp
file:/src/qged/display/glm/glm/ext/matrix_int3x4.hpp
file:/src/qged/display/glm/glm/ext/matrix_int3x4_sized.hpp
file:/src/qged/display/glm/glm/ext/matrix_int4x2.hpp
file:/src/qged/display/glm/glm/ext/matrix_int4x2_sized.hpp
file:/src/qged/display/glm/glm/ext/matrix_int4x3.hpp
file:/src/qged/display/glm/glm/ext/matrix_int4x3_sized.hpp
file:/src/qged/display/glm/glm/ext/matrix_int4x4.hpp
file:/src/qged/display/glm/glm/ext/matrix_int4x4_sized.hpp
file:/src/qged/display/glm/glm/ext/matrix_projection.hpp
file:/src/qged/display/glm/glm/ext/matrix_relational.hpp
file:/src/qged/display/glm/glm/ext/matrix_transform.hpp
file:/src/qged/display/glm/glm/ext/matrix_uint2x2.hpp
file:/src/qged/display/glm/glm/ext/matrix_uint2x2_sized.hpp
file:/src/qged/display/glm/glm/ext/matrix_uint2x3.hpp
file:/src/qged/display/glm/glm/ext/matrix_uint2x3_sized.hpp
file:/src/qged/display/glm/glm/ext/matrix_uint2x4.hpp
file:/src/qged/display/glm/glm/ext/matrix_uint2x4_sized.hpp
file:/src/qged/display/glm/glm/ext/matrix_uint3x2.hpp
file:/src/qged/display/glm/glm/ext/matrix_uint3x2_sized.hpp
file:/src/qged/display/glm/glm/ext/matrix_uint3x3.hpp
file:/src/qged/display/glm/glm/ext/matrix_uint3x3_sized.hpp
file:/src/qged/display/glm/glm/ext/matrix_uint3x4.hpp
file:/src/qged/display/glm/glm/ext/matrix_uint3x4_sized.hpp
file:/src/qged/display/glm/glm/ext/matrix_uint4x2.hpp
file:/src/qged/display/glm/glm/ext/matrix_uint4x2_sized.hpp
file:/src/qged/display/glm/glm/ext/matrix_uint4x3.hpp
file:/src/qged/display/glm/glm/ext/matrix_uint4x3_sized.hpp
file:/src/qged/display/glm/glm/ext/matrix_uint4x4.hpp
file:/src/qged/display/glm/glm/ext/matrix_uint4x4_sized.hpp
file:/src/qged/display/glm/glm/ext/quaternion_common.hpp
file:/src/qged/display/glm/glm/ext/quaternion_double.hpp
file:/src/qged/display/glm/glm/ext/quaternion_double_precision.hpp
file:/src/qged/display/glm/glm/ext/quaternion_exponential.hpp
file:/src/qged/display/glm/glm/ext/quaternion_float.hpp
file:/src/qged/display/glm/glm/ext/quaternion_float_precision.hpp
file:/src/qged/display/glm/glm/ext/quaternion_geometric.hpp
file:/src/qged/display/glm/glm/ext/quaternion_relational.hpp
file:/src/qged/display/glm/glm/ext/quaternion_transform.hpp
file:/src/qged/display/glm/glm/ext/quaternion_trigonometric.hpp
file:/src/qged/display/glm/glm/ext/scalar_common.hpp
file:/src/qged/display/glm/glm/ext/scalar_constants.hpp
file:/src/qged/display/glm/glm/ext/scalar_int_sized.hpp
file:/src/qged/display/glm/glm/ext/scalar_integer.hpp
file:/src/qged/display/glm/glm/ext/scalar_packing.hpp
file:/src/qged/display/glm/glm/ext/scalar_relational.hpp
file:/src/qged/display/glm/glm/ext/scalar_uint_sized.hpp
file:/src/qged/display/glm/glm/ext/scalar_ulp.hpp
file:/src/qged/display/glm/glm/ext/vector_bool1.hpp
file:/src/qged/display/glm/glm/ext/vector_bool1_precision.hpp
file:/src/qged/display/glm/glm/ext/vector_bool2.hpp
file:/src/qged/display/glm/glm/ext/vector_bool2_precision.hpp
file:/src/qged/display/glm/glm/ext/vector_bool3.hpp
file:/src/qged/display/glm/glm/ext/vector_bool3_precision.hpp
file:/src/qged/display/glm/glm/ext/vector_bool4.hpp
file:/src/qged/display/glm/glm/ext/vector_bool4_precision.hpp
file:/src/qged/display/glm/glm/ext/vector_common.hpp
file:/src/qged/display/glm/glm/ext/vector_double1.hpp
file:/src/qged/display/glm/glm/ext/vector_double1_precision.hpp
file:/src/qged/display/glm/glm/ext/vector_double2.hpp
file:/src/qged/display/glm/glm/ext/vector_double2_precision.hpp
file:/src/qged/display/glm/glm/ext/vector_double3.hpp
file:/src/qged/display/glm/glm/ext/vector_double3_precision.hpp
file:/src/qged/display/glm/glm/ext/vector_double4.hpp
file:/src/qged/display/glm/glm/ext/vector_double4_precision.hpp
file:/src/qged/display/glm/glm/ext/vector_float1.hpp
file:/src/qged/display/glm/glm/ext/vector_float1_precision.hpp
file:/src/qged/display/glm/glm/ext/vector_float2.hpp
file:/src/qged/display/glm/glm/ext/vector_float2_precision.hpp
file:/src/qged/display/glm/glm/ext/vector_float3.hpp
file:/src/qged/display/glm/glm/ext/vector_float3_precision.hpp
file:/src/qged/display/glm/glm/ext/vector_float4.hpp
file:/src/qged/display/glm/glm/ext/vector_float4_precision.hpp
file:/src/qged/display/glm/glm/ext/vector_int1.hpp
file:/src/qged/display/glm/glm/ext/vector_int1_sized.hpp
file:/src/qged/display/glm/glm/ext/vector_int2.hpp
file:/src/qged/display/glm/glm/ext/vector_int2_sized.hpp
file:/src/qged/display/glm/glm/ext/vector_int3.hpp
file:/src/qged/display/glm/glm/ext/vector_int3_sized.hpp
file:/src/qged/display/glm/glm/ext/vector_int4.hpp
file:/src/qged/display/glm/glm/ext/vector_int4_sized.hpp
file:/src/qged/display/glm/glm/ext/vector_integer.hpp
file:/src/qged/display/glm/glm/ext/vector_packing.hpp
file:/src/qged/display/glm/glm/ext/vector_relational.hpp
file:/src/qged/display/glm/glm/ext/vector_uint1.hpp
file:/src/qged/display/glm/glm/ext/vector_uint1_sized.hpp
file:/src/qged/display/glm/glm/ext/vector_uint2.hpp
file:/src/qged/display/glm/glm/ext/vector_uint2_sized.hpp
file:/src/qged/display/glm/glm/ext/vector_uint3.hpp
file:/src/qged/display/glm/glm/ext/vector_uint3_sized.hpp
file:/src/qged/display/glm/glm/ext/vector_uint4.hpp
file:/src/qged/display/glm/glm/ext/vector_uint4_sized.hpp
file:/src/qged/display/glm/glm/ext/vector_ulp.hpp
file:/src/qged/display/glm/glm/fwd.hpp
file:/src/qged/display/glm/glm/geometric.hpp
file:/src/qged/display/glm/glm/glm.hpp
file:/src/qged/display/glm/glm/gtc/bitfield.hpp
file:/src/qged/display/glm/glm/gtc/color_space.hpp
file:/src/qged/display/glm/glm/gtc/constants.hpp
file:/src/qged/display/glm/glm/gtc/epsilon.hpp
file:/src/qged/display/glm/glm/gtc/integer.hpp
file:/src/qged/display/glm/glm/gtc/matrix_access.hpp
file:/src/qged/display/glm/glm/gtc/matrix_integer.hpp
file:/src/qged/display/glm/glm/gtc/matrix_inverse.hpp
file:/src/qged/display/glm/glm/gtc/matrix_transform.hpp
file:/src/qged/display/glm/glm/gtc/noise.hpp
file:/src/qged/display/glm/glm/gtc/packing.hpp
file:/src/qged/display/glm/glm/gtc/quaternion.hpp
file:/src/qged/display/glm/glm/gtc/random.hpp
file:/src/qged/display/glm/glm/gtc/reciprocal.hpp
file:/src/qged/display/glm/glm/gtc/round.hpp
file:/src/qged/display/glm/glm/gtc/type_aligned.hpp
file:/src/qged/display/glm/glm/gtc/type_precision.hpp
file:/src/qged/display/glm/glm/gtc/type_ptr.hpp
file:/src/qged/display/glm/glm/gtc/ulp.hpp
file:/src/qged/display/glm/glm/gtc/vec1.hpp
file:/src/qged/display/glm/glm/gtx/associated_min_max.hpp
file:/src/qged/display/glm/glm/gtx/bit.hpp
file:/src/qged/display/glm/glm/gtx/closest_point.hpp
file:/src/qged/display/glm/glm/gtx/color_encoding.hpp
file:/src/qged/display/glm/glm/gtx/color_space.hpp
file:/src/qged/display/glm/glm/gtx/color_space_YCoCg.hpp
file:/src/qged/display/glm/glm/gtx/common.hpp
file:/src/qged/display/glm/glm/gtx/compatibility.hpp
file:/src/qged/display/glm/glm/gtx/component_wise.hpp
file:/src/qged/display/glm/glm/gtx/dual_quaternion.hpp
file:/src/qged/display/glm/glm/gtx/easing.hpp
file:/src/qged/display/glm/glm/gtx/euler_angles.hpp
file:/src/qged/display/glm/glm/gtx/extend.hpp
file:/src/qged/display/glm/glm/gtx/extended_min_max.hpp
file:/src/qged/display/glm/glm/gtx/exterior_product.hpp
file:/src/qged/display/glm/glm/gtx/fast_exponential.hpp
file:/src/qged/display/glm/glm/gtx/fast_square_root.hpp
file:/src/qged/display/glm/glm/gtx/fast_trigonometry.hpp
file:/src/qged/display/glm/glm/gtx/functions.hpp
file:/src/qged/display/glm/glm/gtx/gradient_paint.hpp
file:/src/qged/display/glm/glm/gtx/handed_coordinate_space.hpp
file:/src/qged/display/glm/glm/gtx/hash.hpp
file:/src/qged/display/glm/glm/gtx/integer.hpp
file:/src/qged/display/glm/glm/gtx/intersect.hpp
file:/src/qged/display/glm/glm/gtx/io.hpp
file:/src/qged/display/glm/glm/gtx/log_base.hpp
file:/src/qged/display/glm/glm/gtx/matrix_cross_product.hpp
file:/src/qged/display/glm/glm/gtx/matrix_decompose.hpp
file:/src/qged/display/glm/glm/gtx/matrix_factorisation.hpp
file:/src/qged/display/glm/glm/gtx/matrix_interpolation.hpp
file:/src/qged/display/glm/glm/gtx/matrix_major_storage.hpp
file:/src/qged/display/glm/glm/gtx/matrix_operation.hpp
file:/src/qged/display/glm/glm/gtx/matrix_query.hpp
file:/src/qged/display/glm/glm/gtx/matrix_transform_2d.hpp
file:/src/qged/display/glm/glm/gtx/mixed_product.hpp
file:/src/qged/display/glm/glm/gtx/norm.hpp
file:/src/qged/display/glm/glm/gtx/normal.hpp
file:/src/qged/display/glm/glm/gtx/normalize_dot.hpp
file:/src/qged/display/glm/glm/gtx/number_precision.hpp
file:/src/qged/display/glm/glm/gtx/optimum_pow.hpp
file:/src/qged/display/glm/glm/gtx/orthonormalize.hpp
file:/src/qged/display/glm/glm/gtx/perpendicular.hpp
file:/src/qged/display/glm/glm/gtx/polar_coordinates.hpp
file:/src/qged/display/glm/glm/gtx/projection.hpp
file:/src/qged/display/glm/glm/gtx/quaternion.hpp
file:/src/qged/display/glm/glm/gtx/range.hpp
file:/src/qged/display/glm/glm/gtx/raw_data.hpp
file:/src/qged/display/glm/glm/gtx/rotate_normalized_axis.hpp
file:/src/qged/display/glm/glm/gtx/rotate_vector.hpp
file:/src/qged/display/glm/glm/gtx/scalar_multiplication.hpp
file:/src/qged/display/glm/glm/gtx/scalar_relational.hpp
file:/src/qged/display/glm/glm/gtx/spline.hpp
file:/src/qged/display/glm/glm/gtx/std_based_type.hpp
file:/src/qged/display/glm/glm/gtx/string_cast.hpp
file:/src/qged/display/glm/glm/gtx/texture.hpp
file:/src/qged/display/glm/glm/gtx/transform.hpp
file:/src/qged/display/glm/glm/gtx/transform2.hpp
file:/src/qged/display/glm/glm/gtx/type_aligned.hpp
file:/src/qged/display/glm/glm/gtx/type_trait.hpp
file:/src/qged/display/glm/glm/gtx/vec_swizzle.hpp
file:/src/qged/display/glm/glm/gtx/vector_angle.hpp
file:/src/qged/display/glm/glm/gtx/vector_query.hpp
file:/src/qged/display/glm/glm/gtx/wrap.hpp
file:/src/qged/display/glm/glm/integer.hpp
file:/src/qged/display/glm/glm/mat2x2.hpp
file:/src/qged/display/glm/glm/mat2x3.hpp
file:/src/qged/display/glm/glm/mat2x4.hpp
file:/src/qged/display/glm/glm/mat3x2.hpp
file:/src/qged/display/glm/glm/mat3x3.hpp
file:/src/qged/display/glm/glm/mat3x4.hpp
file:/src/qged/display/glm/glm/mat4x2.hpp
file:/src/qged/display/glm/glm/mat4x3.hpp
file:/src/qged/display/glm/glm/mat4x4.hpp
file:/src/qged/display/glm/glm/matrix.hpp
file:/src/qged/display/glm/glm/packing.hpp
file:/src/qged/display/glm/glm/simd/common.h
file:/src/qged/display/glm/glm/simd/exponential.h
file:/src/qged/display/glm/glm/simd/geometric.h
file:/src/qged/display/glm/glm/simd/integer.h
file:/src/qged/display/glm/glm/simd/matrix.h
file:/src/qged/display/glm/glm/simd/neon.h
file:/src/qged/display/glm/glm/simd/packing.h
file:/src/qged/display/glm/glm/simd/platform.h
file:/src/qged/display/glm/glm/simd/trigonometric.h
file:/src/qged/display/glm/glm/simd/vector_relational.h
file:/src/qged/display/glm/glm/trigonometric.hpp
file:/src/qged/display/glm/glm/vec2.hpp
file:/src/qged/display/glm/glm/vec3.hpp
file:/src/qged/display/glm/glm/vec4.hpp
file:/src/qged/display/glm/glm/vector_relational.hpp
-32
View File
@@ -1,32 +0,0 @@
Copyright (c) 2011, Thomas Mörwald, Jonathan Balzer, Inc.
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
* Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
* 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.
* Neither the name of Thomas Mörwald or Jonathan Balzer nor the names of its
contributors may be used to endorse or promote products derived
from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
"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
COPYRIGHT OWNER OR CONTRIBUTORS 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.
file:/src/libbrep/opennurbs_fit.cpp
file:/src/libbrep/opennurbs_fit.h
@@ -1,35 +0,0 @@
Original python implementation from
https://github.com/mdickinson/polyhedron
BSD 3-Clause License
Copyright (c) 2019, Mark Dickinson
All rights reserved.
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. Neither the name of the copyright holder nor the names of its
contributors may be used to endorse or promote products derived from
this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "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 COPYRIGHT HOLDER OR CONTRIBUTORS 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.
file:/src/libbg/trimesh_pt_in.c
+22
View File
@@ -0,0 +1,22 @@
Copyright (c) 2005-2018 Rich Felker
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
"Software"), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, subject to
the following conditions:
The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
file:/regress/repository/strnstr.c
+1 -1
View File
@@ -20,7 +20,7 @@
/*----------------------------------------------------------------------*/
/* @file aabb_ray.h */
/** @addtogroup aabb_ray */
/** @addtogroup bg_aabb_ray */
/** @{ */
/**
+1 -1
View File
@@ -20,7 +20,7 @@
/*----------------------------------------------------------------------*/
/* @file chull.h */
/** @addtogroup chull */
/** @addtogroup bg_chull */
/** @{ */
/**
+4 -4
View File
@@ -19,8 +19,8 @@
*/
/*----------------------------------------------------------------------*/
/* @file polygon.h */
/** @addtogroup lineseg */
/* @file lseg.h */
/** @addtogroup bg_lseg */
/** @{ */
/**
@@ -41,14 +41,14 @@ __BEGIN_DECLS
* question if c is non-NULL.
*/
BG_EXPORT double
bg_lseg_pt_dist_sq(point_t *c, const point_t P0, const point_t P1, const point_t Q);
bg_distsq_lseg3_pt(point_t *c, const point_t P0, const point_t P1, const point_t Q);
/* Compute the closest points on the line segments P0->P1 and Q0->Q1. Returns
* the distance squared between the closest points and (optionally) the closest
* points in question (c1 is the point on P0->P1, c2 is the point on Q0->Q1).
*/
BG_EXPORT double
bg_lseg_lseg_dist_sq(point_t *c1, point_t *c2,
bg_distsq_lseg3_lseg3(point_t *c1, point_t *c2,
const point_t P0, const point_t P1, const point_t Q0, const point_t Q1);
__END_DECLS
+1 -1
View File
@@ -20,7 +20,7 @@
/*----------------------------------------------------------------------*/
/* @file obr.h */
/** @addtogroup obr */
/** @addtogroup bg_obr */
/** @{ */
/**
+1 -1
View File
@@ -20,7 +20,7 @@
/*----------------------------------------------------------------------*/
/* @file pointgen.h */
/** @addtogroup pointgen */
/** @addtogroup bg_pointgen */
/** @{ */
/**
+1 -1
View File
@@ -20,7 +20,7 @@
/*----------------------------------------------------------------------*/
/* @file polygon.h */
/** @addtogroup polygon */
/** @addtogroup bg_polygon */
/** @{ */
/**
+1 -1
View File
@@ -20,7 +20,7 @@
/*----------------------------------------------------------------------*/
/* @file polygon_types.h */
/** @addtogroup polygon */
/** @addtogroup bg_polygon */
/** @{ */
/**
+2 -2
View File
@@ -50,8 +50,8 @@
*/
/*----------------------------------------------------------------------*/
/* @file sbsr.h */
/** @addtogroup sbsr */
/* @file spsr.h */
/** @addtogroup bg_surf_recon_spsr */
/** @{ */
/**
+4 -3
View File
@@ -20,7 +20,7 @@
/*----------------------------------------------------------------------*/
/* @file tri_pt.h */
/** @addtogroup tri_pt */
/** @addtogroup bg_tri_pt */
/** @{ */
/**
@@ -39,8 +39,9 @@
__BEGIN_DECLS
/* The parameter closest_pt is optional = if supplied, it will hold the closest point found.
* The return value is the stance between TP and closest_pt */
/* The parameter closest_pt is optional = if supplied, it will hold the closest
* point found. The return value is the distance between TP and the closest_pt
* to TP on the triangle. */
BG_EXPORT extern double bg_tri_closest_pt(
point_t *closest_pt,
const point_t TP,
+1 -1
View File
@@ -20,7 +20,7 @@
/*----------------------------------------------------------------------*/
/* @file tri_ray.h */
/** @addtogroup tri_ray */
/** @addtogroup bg_tri_ray */
/** @{ */
/**
+1 -1
View File
@@ -20,7 +20,7 @@
/*----------------------------------------------------------------------*/
/* @file tri_tri.h */
/** @addtogroup tri_tri */
/** @addtogroup bg_tri_tri */
/** @{ */
/**
+1 -17
View File
@@ -20,7 +20,7 @@
/*----------------------------------------------------------------------*/
/* @file trimesh.h */
/** @addtogroup trimesh */
/** @addtogroup bg_trimesh */
/** @{ */
/**
@@ -172,22 +172,6 @@ BG_EXPORT extern int bg_trimesh_3d_gc(int **ofaces, int *n_ofaces, point_t **opn
const int *ifaces, int n_ifaces, const point_t *ipnts);
/**
* @brief
* Low level per-face contribution to inside/outside test, used if
* calling codes prefer to construct their own test with their own
* mesh containers.
*/
BG_EXPORT int
bg_ptm_triangle_chain(point_t v1, point_t v2, point_t v3, point_t tp, int *exact_flag);
/**
* @brief
* Report if point tp is inside or outside of the trimesh.
*/
BG_EXPORT int
bg_trimesh_pt_in(point_t tp, int num_faces, int *faces, int num_vertices, point_t *pts);
__END_DECLS
#endif /* BG_TRIMESH_H */
+2 -2
View File
@@ -127,13 +127,13 @@ typedef fastf_t mat3_t[9];
(o)[7] = (i)[9];\
(o)[8] = (i)[10];}
/* tilde matrix: [M]a = v X a */
/** tilde matrix: [M]a = v X a */
#define MAKE_TILDE(m, v) {\
MAT3ZERO(m);\
m[1]= -v[2]; m[2]=v[1]; m[3]= v[2];\
m[5]= -v[0]; m[6]= -v[1]; m[7]= v[0];}
/* a = Ix Iy Iz b = Ixy Ixz Iyz*/
/** a = Ix Iy Iz b = Ixy Ixz Iyz*/
#define INERTIAL_MAT3(m, a, b) {\
(m)[0] = (a)[0]; (m)[1] = -(b)[0]; (m)[2] = -(b)[1];\
(m)[3] = -(b)[0]; (m)[4] = (a)[1]; (m)[5] = -(b)[2];\
+1 -1
View File
@@ -34,7 +34,7 @@
__BEGIN_DECLS
/* "complex number" data type: */
/** "complex number" data type */
typedef struct bn_complex {
double re; /**< @brief real part */
double im; /**< @brief imaginary part */
+9 -4
View File
@@ -26,10 +26,10 @@
#include <math.h>
extern "C++" {
/* Hide iostream from Doxygen with cond */
/* @cond */
/** @cond */
#include <iostream>
#include <ostream>
/* @endcond */
/** @endcond */
}
/* Needed for fastf_t definition */
@@ -131,7 +131,7 @@ private:
#define VEC_ALIGN
/* Doxygen doesn't like these includes... */
/* @cond */
/** @cond */
/*#undef __SSE2__*/ // Test FPU version
#if defined(__SSE2__) && defined(__GNUC__) && defined(HAVE_EMMINTRIN_H) && defined(HAVE_EMMINTRIN)
# define __x86_vector__
@@ -741,7 +741,7 @@ operator<<(std::ostream& out, const vec2d& v)
}
#endif
/* @endcond */
/** @endcond */
inline bool vequals(const vec2d& a, const vec2d& b) {
return
@@ -752,9 +752,14 @@ inline bool vequals(const vec2d& a, const vec2d& b) {
// 2x2 row-major matrix
typedef fastf_t mat2d_t[4] VEC_ALIGN;
/* Hide from Doxygen with cond */
/** @cond */
// 2d point
typedef fastf_t pt2d_t[2] VEC_ALIGN;
/** @endcond */
//--------------------------------------------------------------------------------
// MATH / VECTOR ops
inline
+2 -3
View File
@@ -18,9 +18,9 @@
* information.
*/
/*----------------------------------------------------------------------*/
/** @addtogroup noise
/**
* @addtogroup noise
*
* @brief
* These noise functions provide mostly random noise at the integer
@@ -137,7 +137,6 @@ BN_EXPORT extern double bn_noise_turb(point_t point,
double octaves);
/**
*
* From "Texturing and Modeling, A Procedural Approach" 2nd ed
*/
BN_EXPORT extern double bn_noise_mf(point_t point,
+31 -31
View File
@@ -43,51 +43,51 @@
__BEGIN_DECLS
#define MAXPTS 4 /* All we need are 4 points */
#define pl_A pl_points[0] /* Synonym for A point */
#define MAXPTS 4 /**< All we need are 4 points */
#define pl_A pl_points[0] /**< Synonym for A point */
struct plane_specific {
size_t pl_npts; /* number of points on plane */
point_t pl_points[MAXPTS]; /* Actual points on plane */
vect_t pl_Xbasis; /* X (B-A) vector (for 2d coords) */
vect_t pl_Ybasis; /* Y (C-A) vector (for 2d coords) */
vect_t pl_N; /* Unit-length Normal (outward) */
fastf_t pl_NdotA; /* Normal dot A */
fastf_t pl_2d_x[MAXPTS]; /* X 2d-projection of points */
fastf_t pl_2d_y[MAXPTS]; /* Y 2d-projection of points */
fastf_t pl_2d_com[MAXPTS]; /* pre-computed common-term */
struct plane_specific *pl_forw; /* Forward link */
char pl_code[MAXPTS+1]; /* Face code string. Decorative. */
size_t pl_npts; /**< number of points on plane */
point_t pl_points[MAXPTS]; /**< Actual points on plane */
vect_t pl_Xbasis; /**< X (B-A) vector (for 2d coords) */
vect_t pl_Ybasis; /**< Y (C-A) vector (for 2d coords) */
vect_t pl_N; /**< Unit-length Normal (outward) */
fastf_t pl_NdotA; /**< Normal dot A */
fastf_t pl_2d_x[MAXPTS]; /**< X 2d-projection of points */
fastf_t pl_2d_y[MAXPTS]; /**< Y 2d-projection of points */
fastf_t pl_2d_com[MAXPTS]; /**< pre-computed common-term */
struct plane_specific *pl_forw; /**< Forward link */
char pl_code[MAXPTS+1]; /**< Face code string. Decorative. */
};
/*
/**
* Describe the tri_specific structure.
*/
struct tri_specific {
point_t tri_A; /* triangle vertex (A) */
vect_t tri_BA; /* B - A (second point) */
vect_t tri_CA; /* C - A (third point) */
vect_t tri_wn; /* facet normal (non-unit) */
vect_t tri_N; /* unit normal vector */
fastf_t *tri_normals; /* unit vertex normals A, B, C (this is malloced storage) */
int tri_surfno; /* solid specific surface number */
struct tri_specific *tri_forw; /* Next facet */
point_t tri_A; /**< triangle vertex (A) */
vect_t tri_BA; /**< B - A (second point) */
vect_t tri_CA; /**< C - A (third point) */
vect_t tri_wn; /**< facet normal (non-unit) */
vect_t tri_N; /**< unit normal vector */
fastf_t *tri_normals; /**< unit vertex normals A, B, C (this is malloced storage) */
int tri_surfno; /**< solid specific surface number */
struct tri_specific *tri_forw; /**< Next facet */
};
typedef struct tri_specific tri_specific_double;
/*
/**
* A more memory conservative version
*/
struct tri_float_specific {
float tri_A[3]; /* triangle vertex (A) */
float tri_BA[3]; /* B - A (second point) */
float tri_CA[3]; /* C - A (third point) */
float tri_wn[3]; /* facet normal (non-unit) */
float tri_N[3]; /* unit normal vector */
signed char *tri_normals; /* unit vertex normals A, B, C (this is malloced storage) */
int tri_surfno; /* solid specific surface number */
struct tri_float_specific *tri_forw;/* Next facet */
float tri_A[3]; /**< triangle vertex (A) */
float tri_BA[3]; /**< B - A (second point) */
float tri_CA[3]; /**< C - A (third point) */
float tri_wn[3]; /**< facet normal (non-unit) */
float tri_N[3]; /**< unit normal vector */
signed char *tri_normals; /**< unit vertex normals A, B, C (this is malloced storage) */
int tri_surfno; /**< solid specific surface number */
struct tri_float_specific *tri_forw;/**< Next facet */
};
typedef struct tri_float_specific tri_specific_float;
+1 -1
View File
@@ -41,7 +41,7 @@
__BEGIN_DECLS
/* This could be larger, or even dynamic... */
#define BN_MAX_POLY_DEGREE 6 /* Maximum Poly Order */
#define BN_MAX_POLY_DEGREE 6 /**< Maximum Poly Order */
/**
* Polynomial data type
+1 -1
View File
@@ -76,7 +76,7 @@ BN_EXPORT extern const float bn_rand_table[BN_RAND_TABSIZE];
#define BN_RANDHALF(_i) (bn_rand_table[ _i = (_i+1) % BN_RAND_TABSIZE ]-0.5)
#define BN_RANDHALF_INIT(_p) _p = bn_rand_table
#define BN_RANDHALFTABSIZE 16535 /* Powers of two give streaking */
#define BN_RANDHALFTABSIZE 16535 /**< Powers of two give streaking */
BN_EXPORT extern int bn_randhalftabsize;
/**
+1 -1
View File
@@ -82,7 +82,7 @@ BN_EXPORT extern void tp_setup(void);
__END_DECLS
#endif /* BN_VECTFONT_H */
/** @} */
/*
* Local Variables:
* mode: C
+1 -1
View File
@@ -325,7 +325,7 @@ BN_EXPORT extern void bn_vlist_to_uplot(FILE *fp,
__END_DECLS
#endif /* BN_VLIST_H */
/** @} */
/*
* Local Variables:
* mode: C
-1
View File
@@ -15,7 +15,6 @@ set(brep_headers
BRLCAD_MANAGE_FILES(brep_headers ${INCLUDE_DIR}/brlcad/brep)
CMAKEFILES(CMakeLists.txt)
CMAKEFILES(cdt2.h)
# Local Variables:
# tab-width: 8
-148
View File
@@ -1,148 +0,0 @@
/* C D T . H
* BRL-CAD
*
* Copyright (c) 2004-2020 United States Government as represented by
* the U.S. Army Research Laboratory.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public License
* version 2.1 as published by the Free Software Foundation.
*
* This library is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this file; see the file named COPYING for more
* information.
*/
/** @{ */
/** @file brep/cdt.h */
/** @addtogroup brep_util
*
* @brief
* Constrained Delaunay Triangulation of brep solids.
*
*/
#ifndef BREP_CDT_H
#define BREP_CDT_H
#include "common.h"
#include "bg/defines.h"
#include "brep/defines.h"
__BEGIN_DECLS
/* Container that holds the state of a triangulation */
struct brep_cdt_impl;
struct brep_cdt {
struct brep_cdt_impl *i;
struct bu_vls *msgs;
};
/* Create and initialize a CDT state with default tolerances. bv
* must be a pointer to an ON_Brep object. */
extern BREP_EXPORT int
brep_cdt_create(struct brep_cdt **cdt, void *bv, const char *objname);
/* Destroy a CDT state */
extern BREP_EXPORT void
brep_cdt_destroy(struct brep_cdt *s);
extern BREP_EXPORT const char *
brep_cdt_objname(struct brep_cdt *s);
/* Set/get the CDT tolerances. */
extern BREP_EXPORT void
brep_cdt_tol_set(struct brep_cdt *s, const struct bg_tess_tol *t);
extern BREP_EXPORT void
brep_cdt_tol_get(struct bg_tess_tol *t, const struct brep_cdt *s);
/* Return a pointer to the ON_Brep associated with state s. */
extern BREP_EXPORT void *
brep_cdt_brep_get(struct brep_cdt *s);
/* Given a state, produce a triangulation. Returns 0 if a solid, valid
* triangulation was produced, 1 if a triangulation was produced but it
* isn't solid, and -1 if no triangulation could be produced. If faces is
* non-null, the triangulation will only attempt to triangulate the
* specified face(s) and the return code will be the number of successfully
* triangulated faces. If the CDT tolerances have been updated since the
* last Tessellate call, the old tessellation information will be replaced. */
extern BREP_EXPORT int
brep_cdt_triangulate(struct brep_cdt *s, int face_cnt, int *faces, long flags);
/* The default triangulation attempts to satisfy a number of mesh quality constraints,
* which slows the triangulation process. The following flags allow the caller to
* disable them to trade off increased speed for lower quality mesh outputs */
#define BG_CDT_NO_WATERTIGHT 0x1 /**< @brief Disable watertight meshing. */
#define BG_CDT_NO_EDGE_OPTIMIZE 0x2 /**< @brief Disable distortion correction near face edges. */
#define BG_CDT_NO_VALIDITY 0x4 /**< @brief Disable triangle validity checking. */
/* Given a state, report the status of its triangulation. -4 indicate an
* unsuitable ON_Brep is present, -3 indicates a failed attempt on a
* theoretically usable ON_Brep, -2 indicates a non-solid result is present
* after an attempt to process all faces, -1 indicates a state which no attempt
* has been made, 0 indicates a solid, valid full brep triangulation is
* present, and >0 indicates the number of faces has been triangulated short of
* processing the full brep, in case a partial list had been supplied to
* brep_cdt_triangulate. */
extern BREP_EXPORT int
brep_cdt_status(struct brep_cdt *s);
/* Construct a vlist plot from the triangulation. Modes are:
*
* 0 - shaded 3D triangles
* 1 - 3D triangle wireframe
* 2 - 2D triangle wireframe (from parametric space)
*
* Returns 0 if vlist was successfully generated, else -1
*/
extern BREP_EXPORT int
brep_cdt_vlist(
struct bn_vlblock *vbp,
struct bu_list *vlfree,
struct bu_color *c,
int mode,
struct brep_cdt *s);
/* Given two or more triangulation states, refine them to clear any face
* overlaps introduced by the triangulation. If any of the states are
* un-tessellated, first perform the tessellation indicated by the state
* settings and then proceed to resolve after all states have an initial
* tessellation. Returns 0 if no changes were needed, the number of
* updated CDT states if changes were made, and -1 if one or more
* unresolvable overlaps were encountered. Individual CDT states may
* subsequently be queried for other information about their specific
* states with other function calls - this function returns only the
* overall result. */
extern BREP_EXPORT int
brep_cdt_ovlp_resolve(struct brep_cdt **s_a, int s_cnt, double lthreshold, int timeout);
/* Retrieve the face, vertex and normal information from a tessellation state
* in the form of integer and fastf_t arrays. */
extern BREP_EXPORT int
brep_cdt_mesh(
int **faces, int *fcnt, fastf_t **vertices, int *vcnt,
int **face_normals, int *fn_cnt, fastf_t **normals, int *ncnt,
struct brep_cdt *s, int exp_face_cnt, int *exp_faces
);
__END_DECLS
/** @} */
#endif /* BREP_CDT_H */
/*
* Local Variables:
* tab-width: 8
* mode: C
* indent-tabs-mode: t
* c-file-style: "stroustrup"
* End:
* ex: shiftwidth=4 tabstop=8
*/
+2
View File
@@ -32,9 +32,11 @@
#include "common.h"
#ifdef __cplusplus
// @cond SKIP_C++_INCLUDE
extern "C++" {
# include <map>
}
// @endcond
#endif
#include "brep/defines.h"
-8
View File
@@ -43,15 +43,7 @@ extern "C++" {
/* don't let opennurbs include windows.h */
#define ON_NO_WINDOWS 1
/* NOTE: we re-define read/write due to the archive_mode enum that
* shadows the system symbols. we undefine when done to not interfere
* with app code.
*/
#define read on_read
#define write on_write
#include "opennurbs.h"
#undef read
#undef write
}
/* @endcond */
+2
View File
@@ -34,9 +34,11 @@
#include "bnetwork.h" /* Needed for ntohl and htonl */
#ifdef __cplusplus
// @cond SKIP_C++_INCLUDE
extern "C++" {
# include <cstring>
}
// @endcond
#endif
+17 -17
View File
@@ -38,7 +38,7 @@ __BEGIN_DECLS
*
*/
/** @{ */
/** @file bu/app.h */
/**
* DEPRECATED: This routine is replaced by bu_getcwd().
@@ -228,22 +228,22 @@ BU_EXPORT extern const char *bu_brlcad_root(const char *rhs, int fail_quietly);
typedef enum {
BU_DIR_CURR=1, /* (unknown) current working directory */
BU_DIR_INIT, /* (unknown) initial working directory */
BU_DIR_BIN, /* (read-only) user executables (bin) */
BU_DIR_LIB, /* (read-only) object libraries (lib) */
BU_DIR_LIBEXEC, /* (read-only) object libraries (libexec) */
BU_DIR_INCLUDE, /* (read-only) C/C++ header files (include) */
BU_DIR_DATA, /* (read-only) data files (share) */
BU_DIR_DOC, /* (read-only) documentation, (DATA/doc) */
BU_DIR_MAN, /* (read-only) manual pages, (DATA/man) */
BU_DIR_TEMP, /* (read/write) temporary files (TEMP) */
BU_DIR_HOME, /* (read/write) user home directory (HOME) */
BU_DIR_CACHE, /* (read/write) user cache directory (BU_CACHE_DIR) */
BU_DIR_CONFIG, /* (read/write) user config directory (HOME/.app) */
BU_DIR_EXT, /* (n/a) optional executable extension */
BU_DIR_LIBEXT, /* (n/a) optional library extension */
BU_DIR_END
BU_DIR_CURR=1, /**< (unknown) current working directory */
BU_DIR_INIT, /**< (unknown) initial working directory */
BU_DIR_BIN, /**< (read-only) user executables (bin) */
BU_DIR_LIB, /**< (read-only) object libraries (lib) */
BU_DIR_LIBEXEC, /**< (read-only) object libraries (libexec) */
BU_DIR_INCLUDE, /**< (read-only) C/C++ header files (include) */
BU_DIR_DATA, /**< (read-only) data files (share) */
BU_DIR_DOC, /**< (read-only) documentation, (DATA/doc) */
BU_DIR_MAN, /**< (read-only) manual pages, (DATA/man) */
BU_DIR_TEMP, /**< (read/write) temporary files (TEMP) */
BU_DIR_HOME, /**< (read/write) user home directory (HOME) */
BU_DIR_CACHE, /**< (read/write) user cache directory (BU_CACHE_DIR) */
BU_DIR_CONFIG, /**< (read/write) user config directory (HOME/.app) */
BU_DIR_EXT, /**< (n/a) optional executable extension */
BU_DIR_LIBEXT, /**< (n/a) optional library extension */
BU_DIR_END /**< always the last entry, for iterators */
} bu_dir_t;
+2 -4
View File
@@ -30,8 +30,6 @@
__BEGIN_DECLS
/*----------------------------------------------------------------------*/
/** @addtogroup bu_color
* @brief
* Support for storing and manipulating color data.
@@ -74,7 +72,7 @@ typedef struct bu_color bu_color_t;
/* random color generating methods */
/** random color generating methods */
typedef enum {
BU_COLOR_RANDOM = 0,
BU_COLOR_RANDOM_LIGHTENED
@@ -94,7 +92,7 @@ BU_EXPORT extern int bu_color_rand(struct bu_color *c, bu_color_rand_t type);
#if 0
/*
/**
* Refactoring points:
* color command (set specified color)
* src/libged/color.c
+4 -2
View File
@@ -53,7 +53,8 @@ struct bu_column_state {
#define BU_COLUMN_ALL -1
/* Generate an output string based on the specified layout and contents in the
/**
* Generate an output string based on the specified layout and contents in the
* bu_column_state s. Return the number of items printed, or -1 if there is
* an error.
*
@@ -74,7 +75,8 @@ struct bu_column_state {
* Row suffix: none
* Fill order: column first
*
* */
*
*/
BU_EXPORT extern int bu_column_print(struct bu_vls *o, struct bu_column_state *s);
/**
-16
View File
@@ -68,22 +68,6 @@
# endif /* DIR_SEPARATOR_2 */
#endif /* DIR_SEPARATOR */
/**
* Maximum length of a filesystem path. Typically defined in a system
* file but if it isn't set, we create it.
*/
#ifndef MAXPATHLEN
# ifdef PATH_MAX
# define MAXPATHLEN PATH_MAX
# else
# ifdef _MAX_PATH
# define MAXPATHLEN _MAX_PATH
# else
# define MAXPATHLEN 1024
# endif
# endif
#endif
/**
* set to the path list separator character
*/
+1 -1
View File
@@ -57,7 +57,7 @@ BU_EXPORT extern void *bu_dlsym(void *path, const char *symbol);
BU_EXPORT extern int bu_dlclose(void *handle);
BU_EXPORT extern const char *bu_dlerror(void);
/** } */
/** @} */
__END_DECLS
+3 -3
View File
@@ -36,9 +36,9 @@ __BEGIN_DECLS
typedef enum {
BU_LITTLE_ENDIAN = 1234, /* LSB first: i386, VAX order */
BU_BIG_ENDIAN = 4321, /* MSB first: 68000, IBM, network order */
BU_PDP_ENDIAN = 3412 /* LSB first in word, MSW first in long */
BU_LITTLE_ENDIAN = 1234, /**< LSB first: i386, VAX order */
BU_BIG_ENDIAN = 4321, /**< MSB first: 68000, IBM, network order */
BU_PDP_ENDIAN = 3412 /**< LSB first in word, MSW first in long */
} bu_endian_t;
+3 -1
View File
@@ -166,7 +166,9 @@ BU_EXPORT extern char *bu_file_realpath(const char *path, char *resolved_path);
/**
* Windows corecrt_io.h defines an lseek and an _lseeki64, with different function
* signatures, that cause trouble when we try to simply #define lseek _lseeki64.
* signatures, that cause trouble when we try to simply define it à la:
*
* #define lseek _lseeki64.
*
* Similarly, _ftelli64 has a problematic signature.
*/
+7 -7
View File
@@ -29,7 +29,7 @@
__BEGIN_DECLS
/** @addtogroup bu_glob
/** @addtogroup bu_experimental
*
* NOTE - the glob API below is a work in progress - until this notice is
* removed it should not be considered functional, much less stable!
@@ -67,10 +67,10 @@ struct bu_stat {
*/
struct bu_glob_context {
#define BU_GLOB_APPEND 0x0001 /* Append to output from previous call. */
#define BU_GLOB_NOSORT 0x0020 /* Don't sort. */
#define BU_GLOB_NOESCAPE 0x2000 /* Disable backslash escaping. */
#define BU_GLOB_ALTDIRFUNC 0x0040 /* use alternate functions. */
#define BU_GLOB_APPEND 0x0001 /**< Append to output from previous call. */
#define BU_GLOB_NOSORT 0x0020 /**< Don't sort. */
#define BU_GLOB_NOESCAPE 0x2000 /**< Disable backslash escaping. */
#define BU_GLOB_ALTDIRFUNC 0x0040 /**< use alternate functions. */
int gl_flags; /**< flags customizing globbing behavior */
/* Return values */
@@ -88,8 +88,8 @@ struct bu_glob_context {
int (*gl_lstat)(const char *, struct bu_stat *, struct bu_glob_context *);
int (*gl_stat)(const char *, struct bu_stat *, struct bu_glob_context *);
#define BU_GLOB_NOMATCH (-1) /* No match. */
#define BU_GLOB_ABORTED (-2) /* Unignored error. */
#define BU_GLOB_NOMATCH (-1) /**< No match. */
#define BU_GLOB_ABORTED (-2) /**< Unignored error. */
int (*gl_errfunc)(const char *, int, struct bu_glob_context *);
/* For caller use */
+1 -1
View File
@@ -28,7 +28,7 @@
__BEGIN_DECLS
/** @addtogroup bu_interrupt
/** @addtogroup bu_env
*
* @brief Routines for managing signals.
*
+6 -1
View File
@@ -209,6 +209,7 @@ __BEGIN_DECLS
/* misc */
#define ANIMATE_MAGIC 0x414e4963 /**< ANIc */
#define BVIEW_MAGIC 0x62766965 /**< bvie */
#define CURVE_BEZIER_MAGIC 0x62657a69 /**< bezi */
#define CURVE_CARC_MAGIC 0x63617263 /**< carc */
#define CURVE_LSEG_MAGIC 0x6c736567 /**< lseg */
@@ -217,6 +218,7 @@ __BEGIN_DECLS
#define DB5_RAW_INTERNAL_MAGIC 0x64357269 /**< d5ri */
#define DBI_MAGIC 0x57204381 /**< W C? */
#define DB_FULL_PATH_MAGIC 0x64626670 /**< dbfp */
#define DM_MAGIC 0x444d4d4d /**< DMMM */
#define LIGHT_MAGIC 0xdbddbdb7 /**< ???? */
#define MF_MAGIC 0x55968058 /**< U??X */
#define PIXEL_EXT_MAGIC 0x50787400 /**< Pxt */
@@ -240,7 +242,10 @@ __BEGIN_DECLS
# define BU_CKMAG(_ptr, _magic, _str) (void)(_ptr)
#else
# define BU_CKMAG(_ptr, _magic, _str) do { \
if (UNLIKELY(((uintptr_t)(_ptr) == 0) || ((uintptr_t)(_ptr) & (sizeof((uintptr_t)(_ptr))-1)) || *((const uint32_t *)(_ptr)) != (uint32_t)(_magic))) { \
if (UNLIKELY(( ((uintptr_t)(_ptr) == 0) /* non-zero pointer */ \
|| ((uintptr_t)(_ptr) & (sizeof((uintptr_t)(_ptr))-1)) /* aligned ptr */ \
|| (*((const uint32_t *)(_ptr)) != (uint32_t)(_magic)) /* matches value */ \
))) { \
bu_badmagic((const uint32_t *)(_ptr), (uint32_t)(_magic), _str, __FILE__, __LINE__); \
} \
} while (0)
+9 -10
View File
@@ -29,11 +29,10 @@
__BEGIN_DECLS
/**
* @addtogroup bu_mime
/** @addtogroup bu_mime
*
* @brief Functions generated by the mime.cmake script - see the
* @brief
* Functions generated by the mime.cmake script - see the
* generated files mime.c and mime_types.h for the resulting C code
* and mime type declarations
*
@@ -46,11 +45,11 @@ __BEGIN_DECLS
* the majority of geometry formats) are added there instead of
* changing mime.types.
*/
/** { */
/** @{ */
/** @file bu/mime.h */
/**
* Use the file extension to attempt to determine the media type
* @brief Use the file extension to attempt to determine the media type
* of the file within the specified context.
*
* returns -1 if no match was found, or an integer if a result
@@ -61,7 +60,7 @@ BU_EXPORT extern int bu_file_mime(const char *ext, bu_mime_context_t context);
/**
* Given a mime type and a context, return the file extension(s)
* @brief Given a mime type and a context, return the file extension(s)
* associated with that type.
*
* returns NULL if no match was found, or a comma separated string
@@ -72,7 +71,7 @@ BU_EXPORT extern const char *bu_file_mime_ext(int t, bu_mime_context_t context);
/**
* Given a mime type and a context, return a human readable string
* @brief Given a mime type and a context, return a human readable string
* spelling out the type (corresponding to the enum string in
* source code.)
*
@@ -83,7 +82,7 @@ BU_EXPORT extern const char *bu_file_mime_str(int t, bu_mime_context_t context);
/**
* Given a string produced by bu_file_mime_str, convert it back into
* @brief Given a string produced by bu_file_mime_str, convert it back into
* integer form.
*
* returns -1 if no match was found, or an integer if a result
+1 -5
View File
@@ -18,10 +18,6 @@
* information.
*/
/** @ingroup parallel */
/** @{ */
/** @file include/bu/parallel.h */
/** @} */
#ifndef BU_PARALLEL_H
#define BU_PARALLEL_H
@@ -33,7 +29,7 @@
__BEGIN_DECLS
/** @addtogroup bu_thread
/** @addtogroup bu_parallel
* @brief
* Thread based parallelism routines.
*/
+22 -16
View File
@@ -18,10 +18,6 @@
* information.
*/
/** @ingroup process */
/** @{ */
/** @file include/bu/process.h */
/** @} */
#ifndef BU_PROCESS_H
#define BU_PROCESS_H
@@ -32,6 +28,14 @@
__BEGIN_DECLS
/** @addtogroup bu_process
*
* @brief
* Routines for process and sub-process management.
*/
/** @{ */
/** @file bu/process.h */
/**
* returns the process ID of the calling process
*/
@@ -48,10 +52,11 @@ BU_EXPORT extern int bu_terminate(int process);
/* Wrappers for using subprocess execution */
struct bu_process;
#define BU_PROCESS_STDIN 0
#define BU_PROCESS_STDOUT 1
#define BU_PROCESS_STDERR 2
typedef enum {
BU_PROCESS_STDIN,
BU_PROCESS_STDOUT,
BU_PROCESS_STDERR
} bu_process_io_t;
/**
* Open and return a FILE pointer associated with the specified file
@@ -66,7 +71,7 @@ struct bu_process;
* FIXME: misnomer, this does not open a process. Probably doesn't
* need to exist; just call fdopen().
*/
BU_EXPORT extern FILE *bu_process_open(struct bu_process *pinfo, int fd);
BU_EXPORT extern FILE *bu_process_open(struct bu_process *pinfo, bu_process_io_t d);
/**
@@ -75,19 +80,20 @@ BU_EXPORT extern FILE *bu_process_open(struct bu_process *pinfo, int fd);
* FIXME: misnomer, this does not close a process. Probably doesn't
* need to exist; just call fclose().
*/
BU_EXPORT extern void bu_process_close(struct bu_process *pinfo, int fd);
BU_EXPORT extern void bu_process_close(struct bu_process *pinfo, bu_process_io_t d);
/**
* Retrieve the pointer to the input (0), output (1), or error (2) file
* descriptor associated with the process. To use this in calling code, the
* caller must cast the supplied pointer to the file handle type of the
* calling code's specific platform.
* Retrieve the pointer to the input (BU_PROCESS_STDIN), output
* (BU_PROCESS_STDOUT), or error (BU_PROCESS_STDERR) file descriptor associated
* with the process. To use this in calling code, the caller must cast the
* supplied pointer to the file handle type of the calling code's specific
* platform.
*
* FIXME: void pointer casting is bad. this function probably
* shouldn't exist.
*/
BU_EXPORT void *bu_process_fd(struct bu_process *pinfo, int fd);
BU_EXPORT void *bu_process_fd(struct bu_process *pinfo, bu_process_io_t d);
/**
@@ -127,7 +133,7 @@ BU_EXPORT int bu_process_args(const char **cmd, const char * const **argv, struc
* FIXME: arg ordering and input/output grouping is wrong. partially
* redundant with bu_process_fd() and/or bu_process_open().
*/
BU_EXPORT extern int bu_process_read(char *buff, int *count, struct bu_process *pinfo, int fd, int n);
BU_EXPORT extern int bu_process_read(char *buff, int *count, struct bu_process *pinfo, bu_process_io_t d, int n);
/**
+8
View File
@@ -346,6 +346,14 @@ BU_EXPORT extern char **bu_argv_dup(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[]);
/**
* Calculate the Damarau Levenshtein edit distance between two strings. When
* max_dist is defined, calculation will terminate once that distance is reached
* and max_dist will be returned. When max_dist is 0, the calculation will
* proceed up to an internally defined calculation limit. */
BU_EXPORT unsigned long
bu_editdist(const char *s1, const char *s2, unsigned long max_dist);
__END_DECLS
+1 -1
View File
@@ -38,7 +38,7 @@ __BEGIN_DECLS
/** @{ */
/** @file bu/tbl.h */
/*
/**
* this is pulled from num.c where the guts to the table printer
* currently resides, moved here for easy reference.
*
+19 -6
View File
@@ -37,29 +37,38 @@ __BEGIN_DECLS
/** @file bu/units.h */
/**
* Given a string representation of a unit of distance (e.g., "feet"),
* return the multiplier which will convert that unit into the default
* unit for the dimension (millimeters for length, mm^3 for volume,
* and grams for mass.)
* Convert the provided string into a units conversion factor.
*
* Given a string for a unit of length (e.g., "feet", "yd"), volume
* (e.g., "cm^3", "cu yards"), or mass (e.g., "kg", "grain", or "oz")
* return the multiplier (aka conversion factor) that converts the
* unit into the default (millimeters for length, mm^3 for volume, and
* grams for mass.) Values may be optionally specified with the unit
* (e.g., "5ft") to get the conversion factor for a particular
* quantity.
*
* Returns 0.0 on error and >0.0 on success
*/
BU_EXPORT extern double bu_units_conversion(const char *str);
/**
* Given a conversion factor to mm, search the table to find what unit
* this represents.
*
* To accommodate floating point fuzz, a "near miss" is allowed. The
* algorithm depends on the table being sorted small-to-large.
* To accommodate floating point fuzz, a "near miss" is allowed.
*
* Returns -
* char* units string
* NULL No known unit matches this conversion factor.
*/
BU_EXPORT extern const char *bu_units_string(const double mm);
/** undocumented */
BU_EXPORT extern struct bu_vls *bu_units_strings_vls(void);
/**
* Given a conversion factor to mm, search the table to find the
* closest matching unit.
@@ -70,6 +79,7 @@ BU_EXPORT extern struct bu_vls *bu_units_strings_vls(void);
*/
BU_EXPORT extern const char *bu_nearest_units_string(const double mm);
/**
* Given a string of the form "25cm" or "5.2ft" returns the
* corresponding distance in mm.
@@ -80,6 +90,7 @@ BU_EXPORT extern const char *bu_nearest_units_string(const double mm);
*/
BU_EXPORT extern double bu_mm_value(const char *s);
/**
* Used primarily as a hooked function for bu_structparse tables to
* allow input of floating point values in other units.
@@ -102,6 +113,7 @@ BU_EXPORT extern void bu_mm_cvt(const struct bu_structparse *sdp,
#define BU_HN_GETSCALE 0x10
#define BU_HN_AUTOSCALE 0x20
/**
* Convert digital sizes to human readable form. Based off the
* BSD function humanize_number(3).
@@ -113,6 +125,7 @@ BU_EXPORT extern void bu_mm_cvt(const struct bu_structparse *sdp,
*/
BU_EXPORT extern int bu_humanize_number(char *buf, size_t len, int64_t quotient, const char *suffix, size_t scale, int flags);
/*
* Converts the number given in 'str', which may be given in a humanized
* form (as described in BSD's humanize_number(3), but with some limitations),

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