Compare commits
671
Commits
mktest
...
gedplugins
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
471675f1ab | ||
|
|
a675a23e4b | ||
|
|
acfef294a1 | ||
|
|
9f17446b50 | ||
|
|
4cb11787ae | ||
|
|
623b0dfeae | ||
|
|
48e89ad25a | ||
|
|
9dc3f96ce5 | ||
|
|
668b3d3ea1 | ||
|
|
5a6620ef09 | ||
|
|
54d9d29939 | ||
|
|
d9536b242b | ||
|
|
386f0752d2 | ||
|
|
160e6523be | ||
|
|
f3e2ba6363 | ||
|
|
acd312148d | ||
|
|
1801f521a7 | ||
|
|
577ad165f2 | ||
|
|
f6ed82f911 | ||
|
|
2c53d6108f | ||
|
|
bb22291d17 | ||
|
|
bbf38e4831 | ||
|
|
0d670aa7e3 | ||
|
|
553c94f554 | ||
|
|
d4a92ffe9f | ||
|
|
e6b7114664 | ||
|
|
0ac830a7dc | ||
|
|
5c7adacc03 | ||
|
|
5d12f82b59 | ||
|
|
608b680d4c | ||
|
|
d56bfaa827 | ||
|
|
29ce590a1e | ||
|
|
f8e443d270 | ||
|
|
725ac0310a | ||
|
|
8681f266ac | ||
|
|
2bed11e7b7 | ||
|
|
aa302868e9 | ||
|
|
53044a2938 | ||
|
|
e83b3647db | ||
|
|
c3ed816b00 | ||
|
|
f2ff867735 | ||
|
|
25d8cd7e0c | ||
|
|
0817d91dda | ||
|
|
abd4ea2808 | ||
|
|
c0e37b2f2c | ||
|
|
f8e7d40af3 | ||
|
|
a99a0f57f7 | ||
|
|
8e5d6f2c78 | ||
|
|
cafe6c5d75 | ||
|
|
5992221285 | ||
|
|
7edb4ded89 | ||
|
|
47bc8dadfd | ||
|
|
56c488969b | ||
|
|
4714725e7e | ||
|
|
e1306b5e60 | ||
|
|
cb65a73cc1 | ||
|
|
f8befe525a | ||
|
|
86819c5080 | ||
|
|
dcbfd4ff30 | ||
|
|
1bf80e3223 | ||
|
|
18016da6e3 | ||
|
|
8d08e5e142 | ||
|
|
59dad35fa2 | ||
|
|
59371ec3f5 | ||
|
|
fb348d23f3 | ||
|
|
d81dc2f6d7 | ||
|
|
60dec8a8ff | ||
|
|
70419a9a68 | ||
|
|
b13ed1d6c0 | ||
|
|
34560d2e1e | ||
|
|
6d45ac3721 | ||
|
|
905b1f0b10 | ||
|
|
ead3c7c0bb | ||
|
|
da502e9abf | ||
|
|
ab2ce86743 | ||
|
|
1f65e360f2 | ||
|
|
7439666912 | ||
|
|
07ad95f27c | ||
|
|
e4713cd74b | ||
|
|
fb2e08ce20 | ||
|
|
c431cbd5fe | ||
|
|
181d56fc40 | ||
|
|
2270329f56 | ||
|
|
f0497c1a1d | ||
|
|
e8fd8b9c3d | ||
|
|
1694915677 | ||
|
|
59d65849db | ||
|
|
ea9ab451cb | ||
|
|
aa141bcaf7 | ||
|
|
cb1eb02b43 | ||
|
|
4ea683fcde | ||
|
|
b9d3225756 | ||
|
|
21adf87933 | ||
|
|
513691b2c1 | ||
|
|
e25296ef71 | ||
|
|
874ecf3482 | ||
|
|
88fc93531f | ||
|
|
4f1fbf2b4a | ||
|
|
b140d338b3 | ||
|
|
024fab3630 | ||
|
|
9ae1ea8714 | ||
|
|
e77fab0eb0 | ||
|
|
e04e703012 | ||
|
|
2e05f66411 | ||
|
|
d7660f1f0a | ||
|
|
a92886c595 | ||
|
|
b4c2b42049 | ||
|
|
d0cb327617 | ||
|
|
8523b23d7b | ||
|
|
207ff6c85a | ||
|
|
01c879511e | ||
|
|
4415734670 | ||
|
|
b8b236185c | ||
|
|
8c9e5a2b4b | ||
|
|
202cf1ea55 | ||
|
|
4ae8018d8e | ||
|
|
58f7054fe4 | ||
|
|
ed984a6f8c | ||
|
|
89d35fc479 | ||
|
|
cc7a32496c | ||
|
|
b24729eb55 | ||
|
|
46b4af2801 | ||
|
|
fd08133810 | ||
|
|
a15df7ee21 | ||
|
|
67fb7cb125 | ||
|
|
2e2f0058ea | ||
|
|
d1719b6444 | ||
|
|
c7c2409052 | ||
|
|
72b9d3f31f | ||
|
|
1215caf7ca | ||
|
|
bce0986f60 | ||
|
|
c24923639e | ||
|
|
a4bb6eea1d | ||
|
|
de070c3a07 | ||
|
|
669ca9f61a | ||
|
|
b01df7af44 | ||
|
|
995c85445d | ||
|
|
c3637292c7 | ||
|
|
2cd8db6cd2 | ||
|
|
374167bafb | ||
|
|
ad4895576b | ||
|
|
17e9603cf2 | ||
|
|
f3050407e7 | ||
|
|
558ea65f71 | ||
|
|
db15aef1e1 | ||
|
|
ffa7164e53 | ||
|
|
303bb31e83 | ||
|
|
158a76111d | ||
|
|
6a06060b58 | ||
|
|
7f4eb931de | ||
|
|
b68ea40832 | ||
|
|
8d4fd303f5 | ||
|
|
507025d11c | ||
|
|
0d934bd284 | ||
|
|
54431ca33e | ||
|
|
72c31884eb | ||
|
|
159a8404b8 | ||
|
|
37176431e6 | ||
|
|
176639f31a | ||
|
|
8c0649f66c | ||
|
|
297e6c8ad3 | ||
|
|
7553ed119e | ||
|
|
a99e15e53c | ||
|
|
bb74e4fb43 | ||
|
|
41ff108cb0 | ||
|
|
76a3c7c369 | ||
|
|
69a44e73cd | ||
|
|
c1629c8a9a | ||
|
|
faab06c2f7 | ||
|
|
e0e9c19fa0 | ||
|
|
926980e7e4 | ||
|
|
cf70070841 | ||
|
|
91a13c57f0 | ||
|
|
4b4aa272ff | ||
|
|
3dc9cdcf63 | ||
|
|
7e556919d8 | ||
|
|
94105063e7 | ||
|
|
2bf6395253 | ||
|
|
1b6c169aef | ||
|
|
353646f6ca | ||
|
|
d55bb209b6 | ||
|
|
3f09b18137 | ||
|
|
6d97d54705 | ||
|
|
d154db0e65 | ||
|
|
c1418b8bc0 | ||
|
|
41db683bf0 | ||
|
|
fb15b1ee51 | ||
|
|
19cc7753e2 | ||
|
|
90636c9e28 | ||
|
|
5151863750 | ||
|
|
6a859bce43 | ||
|
|
6e5e2e5aed | ||
|
|
1405d1c4ca | ||
|
|
142c695fd1 | ||
|
|
6d16b12138 | ||
|
|
8d46ccb000 | ||
|
|
366ef09b28 | ||
|
|
6664a14571 | ||
|
|
c4f8e06ad2 | ||
|
|
35996fc127 | ||
|
|
d09ac1fbf4 | ||
|
|
e70752ce5b | ||
|
|
d0ba7297c5 | ||
|
|
e96970feae | ||
|
|
c9e6105ff0 | ||
|
|
1aaf327e75 | ||
|
|
39cbaf72fb | ||
|
|
9d286703ad | ||
|
|
5a43374e8e | ||
|
|
a3285e6e3c | ||
|
|
87e1df6b3c | ||
|
|
3a6f6ef053 | ||
|
|
28bd276500 | ||
|
|
849acbb6b0 | ||
|
|
4fb0608dab | ||
|
|
72eb7d4d5a | ||
|
|
e7f8e3709d | ||
|
|
b57707d386 | ||
|
|
bfc0d1b7b8 | ||
|
|
b81af3d838 | ||
|
|
1eec51fddf | ||
|
|
7c58efb425 | ||
|
|
e0c537cee8 | ||
|
|
6b2acd30a5 | ||
|
|
1bce158a7e | ||
|
|
1775fc4819 | ||
|
|
0c61982e31 | ||
|
|
21d115721b | ||
|
|
d752a6e0e8 | ||
|
|
a1ddd784a1 | ||
|
|
11b029b008 | ||
|
|
978338f021 | ||
|
|
1d780ffc2c | ||
|
|
3b8fa6a77a | ||
|
|
7c6191a280 | ||
|
|
0dc00d40e6 | ||
|
|
bda36c710f | ||
|
|
3fb1e26c7f | ||
|
|
f1dbc138fd | ||
|
|
9b13229de0 | ||
|
|
5c65ccf669 | ||
|
|
64c49ae570 | ||
|
|
ca85c8b5cb | ||
|
|
12b1713e3b | ||
|
|
84a5f687ad | ||
|
|
aaa1af4350 | ||
|
|
d9c065ae7a | ||
|
|
2dc1fc0a14 | ||
|
|
fa008fd2a7 | ||
|
|
c64e3f02f4 | ||
|
|
413b515bf8 | ||
|
|
e09a95b23f | ||
|
|
89cef876b8 | ||
|
|
38ce207b87 | ||
|
|
9302d9e489 | ||
|
|
e7f2dca729 | ||
|
|
1e651da88d | ||
|
|
a506f3cdc3 | ||
|
|
018c5543ef | ||
|
|
caf20c54a9 | ||
|
|
154c1d0015 | ||
|
|
efb8f4d6fc | ||
|
|
dc76d56dcc | ||
|
|
e2855f6ffd | ||
|
|
224ca852b3 | ||
|
|
0018da2849 | ||
|
|
0672fdda3e | ||
|
|
ea10b16ee2 | ||
|
|
b7b4cd9887 | ||
|
|
89aa44081a | ||
|
|
cac05ae46a | ||
|
|
8794fb9df9 | ||
|
|
a592d36184 | ||
|
|
d79243c102 | ||
|
|
bfd510b66a | ||
|
|
e5794f35b3 | ||
|
|
e6e5bb9360 | ||
|
|
34646e013e | ||
|
|
6c17adcafa | ||
|
|
60304d81d3 | ||
|
|
0255aaa147 | ||
|
|
7c7c97f7f6 | ||
|
|
0032902e88 | ||
|
|
056d735896 | ||
|
|
4b9e8990b8 | ||
|
|
c67db87460 | ||
|
|
98f9955602 | ||
|
|
1b662a463b | ||
|
|
ac64b2064b | ||
|
|
56b2262d69 | ||
|
|
80c89f8042 | ||
|
|
4545360b6a | ||
|
|
79084f8266 | ||
|
|
bc53483894 | ||
|
|
060f518fd3 | ||
|
|
efc4e5d97c | ||
|
|
9ca3525203 | ||
|
|
a9fc189699 | ||
|
|
8474cc13d8 | ||
|
|
b398f0407e | ||
|
|
942eb4479b | ||
|
|
2a77a7ae27 | ||
|
|
d144564d61 | ||
|
|
9858ea2f09 | ||
|
|
2002a4b3cc | ||
|
|
f1600499b7 | ||
|
|
b1c72691d2 | ||
|
|
27b2984820 | ||
|
|
7415da0eda | ||
|
|
d956054c3a | ||
|
|
a558d5eb78 | ||
|
|
17af0e51f3 | ||
|
|
ef32b2a6ba | ||
|
|
57654c11b3 | ||
|
|
dfc583d854 | ||
|
|
b8a382d55d | ||
|
|
6ae07fbeab | ||
|
|
d831f7eca8 | ||
|
|
0243958312 | ||
|
|
c0d1deb615 | ||
|
|
5b6538bc51 | ||
|
|
491837d005 | ||
|
|
d937d1e89d | ||
|
|
d9fd8b73ee | ||
|
|
c3f3d0010f | ||
|
|
7a4087fdf7 | ||
|
|
d7f638b919 | ||
|
|
4e56838111 | ||
|
|
0ae737d00f | ||
|
|
d32f5f1238 | ||
|
|
83d1513430 | ||
|
|
82fac9c616 | ||
|
|
9028cd2f65 | ||
|
|
fd607c7eda | ||
|
|
191c692480 | ||
|
|
3dc90a65e6 | ||
|
|
dddbc2229a | ||
|
|
f6805beef2 | ||
|
|
cce2acbdc3 | ||
|
|
9a4d2fbaff | ||
|
|
5f69699424 | ||
|
|
300e386bbe | ||
|
|
f056ecfe65 | ||
|
|
5366c8a4ab | ||
|
|
046e24aa5e | ||
|
|
fcda9949a2 | ||
|
|
c5cb63ad6f | ||
|
|
68aedd4f31 | ||
|
|
aa2507a99c | ||
|
|
0ff7695939 | ||
|
|
a5dadd724e | ||
|
|
322bd63333 | ||
|
|
87a4047198 | ||
|
|
e7c0ce146c | ||
|
|
dab52d0fae | ||
|
|
326ac07322 | ||
|
|
f37ca21897 | ||
|
|
e115cab99b | ||
|
|
f106aa8e7a | ||
|
|
88763ce1fd | ||
|
|
bbcb1893d7 | ||
|
|
88956fd140 | ||
|
|
811d13ee18 | ||
|
|
31a4afe9ae | ||
|
|
b1ac1db12b | ||
|
|
e22e9bab8a | ||
|
|
ebf650d5fa | ||
|
|
65eaabdbc4 | ||
|
|
152f1b5e2f | ||
|
|
fcef5472f6 | ||
|
|
25556ec9f4 | ||
|
|
9249bd9633 | ||
|
|
5d161a8d6d | ||
|
|
ed477c27c7 | ||
|
|
4094bcd280 | ||
|
|
eb150f67dd | ||
|
|
ac9de23488 | ||
|
|
484e844a2e | ||
|
|
3683eef67c | ||
|
|
f27684120f | ||
|
|
15868c8af5 | ||
|
|
9db2ae5213 | ||
|
|
24bb459604 | ||
|
|
82faeb0d65 | ||
|
|
b7cea95ed8 | ||
|
|
c8b1e751d3 | ||
|
|
cff2de8fc5 | ||
|
|
bbd3086a5d | ||
|
|
7fabc19bd5 | ||
|
|
83533624c3 | ||
|
|
e19d3e4da5 | ||
|
|
bbce46b5f4 | ||
|
|
9a274aa0e5 | ||
|
|
d78e7eb483 | ||
|
|
d775b04f18 | ||
|
|
ac9bc3b919 | ||
|
|
5755109546 | ||
|
|
cafa2185ed | ||
|
|
6ba5efb010 | ||
|
|
7bdb72690e | ||
|
|
9cc766ee91 | ||
|
|
881d204428 | ||
|
|
d1de6dcb1d | ||
|
|
a5cee3cc6d | ||
|
|
928de0dba5 | ||
|
|
92381bdfac | ||
|
|
0b76e2cc62 | ||
|
|
f1a6956b8b | ||
|
|
38f27081e9 | ||
|
|
74c617eca0 | ||
|
|
d69af26ac7 | ||
|
|
d54f0614e8 | ||
|
|
9fc0c51ddb | ||
|
|
3d1e89b5c5 | ||
|
|
5fd3837141 | ||
|
|
e4e896e21e | ||
|
|
ff675ac2c0 | ||
|
|
692b2dffa8 | ||
|
|
0bfd5226d5 | ||
|
|
b5a8b96a07 | ||
|
|
9d7ee23437 | ||
|
|
6d4c1764b7 | ||
|
|
7b1ad8ba5f | ||
|
|
0ef0ef0f5c | ||
|
|
51ed634fd2 | ||
|
|
9b365a13a6 | ||
|
|
0e90c8e4da | ||
|
|
80bc05ff35 | ||
|
|
1cf94fd004 | ||
|
|
70f2735702 | ||
|
|
f6bf8f8352 | ||
|
|
713f65878b | ||
|
|
74777dd5ed | ||
|
|
511872156c | ||
|
|
eb94da3f4d | ||
|
|
25e753734b | ||
|
|
f4fcef7c99 | ||
|
|
72abf4418a | ||
|
|
9edaea2277 | ||
|
|
cb4b35cb95 | ||
|
|
786dfe9049 | ||
|
|
e40cf62978 | ||
|
|
6ba71219d2 | ||
|
|
03de1581f3 | ||
|
|
babb575375 | ||
|
|
de06256ed1 | ||
|
|
e2b3cbbf93 | ||
|
|
449bcc3f26 | ||
|
|
65fbcbe4d4 | ||
|
|
8cbc3df366 | ||
|
|
c8ec4bb679 | ||
|
|
26d1a9f917 | ||
|
|
de286e5f0c | ||
|
|
0bc922a7d9 | ||
|
|
0aec423c54 | ||
|
|
40fa732c06 | ||
|
|
c5f3e16bb0 | ||
|
|
abd5444638 | ||
|
|
d71b1270f4 | ||
|
|
76c963beda | ||
|
|
c2d6652ec5 | ||
|
|
dcd98bda3a | ||
|
|
ba650a5023 | ||
|
|
fe052399d5 | ||
|
|
891c22b960 | ||
|
|
b5e0ccd076 | ||
|
|
070160d8e0 | ||
|
|
c68d72f02a | ||
|
|
6170d7b864 | ||
|
|
0153f9005a | ||
|
|
d17a50de7a | ||
|
|
e14519f204 | ||
|
|
e2d49cb06c | ||
|
|
a5b1abe07b | ||
|
|
e71967b0d2 | ||
|
|
2719a298e6 | ||
|
|
6760a24263 | ||
|
|
b371709560 | ||
|
|
8c194b694a | ||
|
|
564c1c19de | ||
|
|
2bef968fae | ||
|
|
bea9000bac | ||
|
|
9a5536cd30 | ||
|
|
7d0f1921b1 | ||
|
|
1846c93106 | ||
|
|
9ef1cf4e92 | ||
|
|
369766c691 | ||
|
|
9d0beeada5 | ||
|
|
d2ec848a8e | ||
|
|
099f1342c0 | ||
|
|
d3ed6c969a | ||
|
|
00e233f7d5 | ||
|
|
1713d375f4 | ||
|
|
1935c63e15 | ||
|
|
5eed3a1023 | ||
|
|
d6df5bea8f | ||
|
|
be54423065 | ||
|
|
a5e974a3dd | ||
|
|
a59b0a6f80 | ||
|
|
1e7088e2f6 | ||
|
|
7bbf00b761 | ||
|
|
88cf997488 | ||
|
|
ee58a82578 | ||
|
|
bd2c396232 | ||
|
|
ca18aedf92 | ||
|
|
e5210e7cb1 | ||
|
|
5fe21295d2 | ||
|
|
8079d03fef | ||
|
|
048032ee13 | ||
|
|
723ab9632c | ||
|
|
7390c31721 | ||
|
|
6d1a7d787a | ||
|
|
e9185a5320 | ||
|
|
0474e0d780 | ||
|
|
06e2606c01 | ||
|
|
fc05d231d3 | ||
|
|
371d05c280 | ||
|
|
18e3fa3810 | ||
|
|
ca2a44b125 | ||
|
|
922b1c06b7 | ||
|
|
a403ed8422 | ||
|
|
76d33e4931 | ||
|
|
483fa5e9bc | ||
|
|
da09281356 | ||
|
|
f1866e8941 | ||
|
|
73750fc433 | ||
|
|
071230d2f3 | ||
|
|
642a70f699 | ||
|
|
d4c4347011 | ||
|
|
3bf6f4c8eb | ||
|
|
682bb5d60f | ||
|
|
4658702cca | ||
|
|
7bc5e148fd | ||
|
|
64a23c303e | ||
|
|
e1a6af5edc | ||
|
|
3460b1bb16 | ||
|
|
4fbb9ba9bf | ||
|
|
1f01429954 | ||
|
|
bd80eb7406 | ||
|
|
8b5cbfe3a7 | ||
|
|
b8fae6b270 | ||
|
|
6949a51340 | ||
|
|
1f721d6bfb | ||
|
|
124812d943 | ||
|
|
a7f6f348db | ||
|
|
cf7df9e6c7 | ||
|
|
8f155d12fa | ||
|
|
583a5144aa | ||
|
|
b96dc23453 | ||
|
|
6ae5eb14a3 | ||
|
|
779e5b1867 | ||
|
|
5ceb1d2113 | ||
|
|
262c4b8656 | ||
|
|
bd03ffce7a | ||
|
|
be2fba6d5f | ||
|
|
8a4a5447de | ||
|
|
a3cdeeef1f | ||
|
|
f5e19f1e08 | ||
|
|
0dd7054bdf | ||
|
|
06c9f235a3 | ||
|
|
92faa132b0 | ||
|
|
65ac1d430a | ||
|
|
104b268867 | ||
|
|
46544e99e7 | ||
|
|
dd690f8348 | ||
|
|
f9ca6ede92 | ||
|
|
85723be554 | ||
|
|
1980347507 | ||
|
|
f507a9abf6 | ||
|
|
9a019b2341 | ||
|
|
95d99c098a | ||
|
|
b45b022a87 | ||
|
|
06616a5fc2 | ||
|
|
a2c1269fc5 | ||
|
|
edc1d5f504 | ||
|
|
c2274fbe06 | ||
|
|
537b93c602 | ||
|
|
0cf403bee6 | ||
|
|
7f00d09ff5 | ||
|
|
6a90a82d93 | ||
|
|
3fc403ccd9 | ||
|
|
a217f03a01 | ||
|
|
995c16c6c6 | ||
|
|
e0f209e848 | ||
|
|
93c5b763a7 | ||
|
|
3d2641da95 | ||
|
|
10893a9961 | ||
|
|
11312ae249 | ||
|
|
081500aa1d | ||
|
|
deab3069a2 | ||
|
|
ccc1628512 | ||
|
|
b094acd87c | ||
|
|
b3f6b15665 | ||
|
|
e8477d3dbd | ||
|
|
9f271ae2dc | ||
|
|
c978ff5fda | ||
|
|
db9a6932b5 | ||
|
|
a881413030 | ||
|
|
f8b52699bc | ||
|
|
354c5dce1d | ||
|
|
313102a672 | ||
|
|
12b1a394d7 | ||
|
|
03e86662bc | ||
|
|
0855bc8b7b | ||
|
|
8d6d5cf0a9 | ||
|
|
5e7788d17c | ||
|
|
5ec67a7adb | ||
|
|
5120b021a2 | ||
|
|
c1133e30fd | ||
|
|
dccb672c43 | ||
|
|
f5f8804939 | ||
|
|
7dbe2feee7 | ||
|
|
8694896405 | ||
|
|
10a974a735 | ||
|
|
4ba09ce40f | ||
|
|
40866c4911 | ||
|
|
c3c09e192a | ||
|
|
156b4f648a | ||
|
|
b268e07b33 | ||
|
|
4727afc226 | ||
|
|
e4abf7f2d3 | ||
|
|
3fcf034243 | ||
|
|
49abb504af | ||
|
|
e246c83a53 | ||
|
|
83202dcd49 | ||
|
|
7c184fe864 | ||
|
|
5901b597a7 | ||
|
|
6b2ca1760e | ||
|
|
6ffed84afc | ||
|
|
6ac481109d | ||
|
|
5350eba084 | ||
|
|
2dc8df43aa | ||
|
|
51081bcfa5 | ||
|
|
7ecce4be3e | ||
|
|
b4ef6de39d | ||
|
|
14194241e2 | ||
|
|
08025c2061 | ||
|
|
95ac31af4e | ||
|
|
0f727074f1 | ||
|
|
f120463195 | ||
|
|
c69f6cfadd | ||
|
|
acfed6d09e | ||
|
|
c97023f87e | ||
|
|
9f50e1c176 | ||
|
|
0aa429dfbf | ||
|
|
7a84b68732 | ||
|
|
5766c49085 | ||
|
|
dce3080e0c | ||
|
|
7505501fd9 | ||
|
|
0a8cdc5ff8 | ||
|
|
a05f6bc41b | ||
|
|
90307fe533 | ||
|
|
b42a4a1105 | ||
|
|
9c9df659db | ||
|
|
6aa24f8e69 | ||
|
|
3c40f82a68 | ||
|
|
f07f6f0a5d | ||
|
|
1d07cae820 | ||
|
|
7eaee7726e | ||
|
|
f8d2395ceb | ||
|
|
b256a1b4e1 | ||
|
|
ad91e432ba | ||
|
|
86f729411c | ||
|
|
8c2ea142aa | ||
|
|
b0f0f0959b | ||
|
|
64c1dec1ca | ||
|
|
69aaed9be3 | ||
|
|
4a229537c7 | ||
|
|
3ad1986026 | ||
|
|
5d62231eeb | ||
|
|
6722c7dd75 |
@@ -15,10 +15,12 @@ on-going issues.
|
||||
Recent Bugs
|
||||
-----------
|
||||
|
||||
* dbupgrade -r produces an invalid rhc with the default v5 rhc produced
|
||||
by MGED with "make rhc rhc"
|
||||
|
||||
* apparently all four BRL-CAD Tutorial Series volumes are missing from
|
||||
our bibliography...
|
||||
|
||||
|
||||
* Tessellating an ETO with a normal tolerance results in stack
|
||||
smashing due to bad logic in recursive algorithm: set norm 2;
|
||||
facetize my.eto my.bot;. Observed infinite recursion in both
|
||||
|
||||
+127
-49
@@ -114,14 +114,9 @@ endif(NOT EXISTS ${BRLCAD_CNT_FILE})
|
||||
include(CMakeDependentOption)
|
||||
|
||||
#---------------------------------------------------------------------
|
||||
# Check whether we need to add import/export lines to libraries
|
||||
if(MSVC)
|
||||
set(CPP_DLL_DEFINES 1)
|
||||
endif(MSVC)
|
||||
|
||||
# Define an option to use OBJECT libraries - when we build this
|
||||
# way, we also need position independent code.
|
||||
cmake_dependent_option(USE_OBJECT_LIBS "Use OBJECT libraries" ON "NOT CPP_DLL_DEFINES" OFF)
|
||||
cmake_dependent_option(USE_OBJECT_LIBS "Use OBJECT libraries" ON "NOT MSVC" OFF)
|
||||
mark_as_advanced(USE_OBJECT_LIBS)
|
||||
if(USE_OBJECT_LIBS)
|
||||
set(CMAKE_POSITION_INDEPENDENT_CODE TRUE)
|
||||
@@ -159,6 +154,27 @@ generate_sstamp()
|
||||
set(CONFIG_DELTA_START "${CMAKE_BINARY_DIR}/CMakeTmp/CONFIG_DELTA_START")
|
||||
execute_process(COMMAND "${CMAKE_BINARY_DIR}/CMakeTmp/sstamp${EXE_EXT}" "${CONFIG_DELTA_START}")
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# The SuperBuild (https://blog.kitware.com/cmake-superbuilds-git-submodules/)
|
||||
# pattern requires a differentiation between the CMake installation prefix used
|
||||
# for the build and the specification of the ultimate installation location
|
||||
# used for the superbuild's install. Any hard-coded knowledge of the final
|
||||
# path backed into BRL-CAD must use the superbuild's final destination, not the
|
||||
# intermediate build-directory installation used by the superbuild.
|
||||
#
|
||||
# For the moment we are not using superbuild, but we will ultimately need to
|
||||
# move to that approach to manage increasingly complex dependencies. To allow
|
||||
# the code to work seamlessly with both variables, make them match unless both
|
||||
# are explicitly set in advance.
|
||||
if (DEFINED BRLCAD_INSTALL_PREFIX)
|
||||
if (CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT OR NOT DEFINED CMAKE_INSTALL_PREFIX)
|
||||
set(CMAKE_INSTALL_PREFIX "${BRLCAD_INSTALL_PREFIX}")
|
||||
endif (CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT OR NOT DEFINED CMAKE_INSTALL_PREFIX)
|
||||
endif (DEFINED BRLCAD_INSTALL_PREFIX)
|
||||
if (DEFINED CMAKE_INSTALL_PREFIX AND NOT DEFINED BRLCAD_INSTALL_PREFIX)
|
||||
set(BRLCAD_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}")
|
||||
endif (DEFINED CMAKE_INSTALL_PREFIX AND NOT DEFINED BRLCAD_INSTALL_PREFIX)
|
||||
|
||||
#---------------------------------------------------------------------
|
||||
# Allow the BRLCAD_ROOT environment variable to set during build, but be noisy
|
||||
# about it unless we're specifically told this is intentional. Having this
|
||||
@@ -172,15 +188,15 @@ if(NOT "$ENV{BRLCAD_ROOT}" STREQUAL "" AND NOT BRLCAD_ROOT_OVERRIDE)
|
||||
endif(SLEEP_EXEC)
|
||||
endif(NOT "$ENV{BRLCAD_ROOT}" STREQUAL "" AND NOT BRLCAD_ROOT_OVERRIDE)
|
||||
|
||||
# If CMAKE_INSTALL_PREFIX is "/usr", be VERY noisy about it - a make install in
|
||||
# If BRLCAD_INSTALL_PREFIX is "/usr", be VERY noisy about it - a make install in
|
||||
# this location is dangerous/destructive on some systems.
|
||||
if("${CMAKE_INSTALL_PREFIX}" STREQUAL "/usr" AND NOT BRLCAD_ALLOW_INSTALL_TO_USR)
|
||||
if("${BRLCAD_INSTALL_PREFIX}" STREQUAL "/usr" AND NOT BRLCAD_ALLOW_INSTALL_TO_USR)
|
||||
message(WARNING "}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}\nIt is STRONGLY recommended that you DO NOT install BRL-CAD into /usr as BRL-CAD provides several libraries that may conflict with other libraries (e.g. librt, libbu, libbn) on certain system configurations.\nSince our libraries predate all those that we're known to conflict with and are at the very core of our geometry services and project heritage, we have no plans to change the names of our libraries at this time.\nINSTALLING INTO /usr CAN MAKE A SYSTEM COMPLETELY UNUSABLE. If you choose to continue installing into /usr, you do so entirely at your own risk. You have been warned.\n}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}")
|
||||
if(SLEEP_EXEC)
|
||||
execute_process(COMMAND ${SLEEP_EXEC} 15)
|
||||
endif(SLEEP_EXEC)
|
||||
message(FATAL_ERROR "If you wish to proceed using /usr as your prefix, define BRLCAD_ALLOW_INSTALL_TO_USR=1 for CMake")
|
||||
endif("${CMAKE_INSTALL_PREFIX}" STREQUAL "/usr" AND NOT BRLCAD_ALLOW_INSTALL_TO_USR)
|
||||
endif("${BRLCAD_INSTALL_PREFIX}" STREQUAL "/usr" AND NOT BRLCAD_ALLOW_INSTALL_TO_USR)
|
||||
|
||||
#---------------------------------------------------------------------
|
||||
# Define relative install locations and output directories. Don't set
|
||||
@@ -242,12 +258,20 @@ include(Path_Setup)
|
||||
# To ensure the previous (and internally set) CMAKE_INSTALL_PREFIX value
|
||||
# is available, BRLCAD_PREFIX is used to store the value in the cache.)
|
||||
|
||||
if(BRLCAD_INSTALL_PREFIX)
|
||||
if(NOT "${BRLCAD_INSTALL_PREFIX}" STREQUAL "/usr" AND NOT "${BRLCAD_INSTALL_PREFIX}" STREQUAL "/usr/local")
|
||||
get_filename_component(PATH_NORMALIZED "${BRLCAD_INSTALL_PREFIX}/${LIB_DIR}" ABSOLUTE)
|
||||
set(CMAKE_SYSTEM_IGNORE_PATH "${PATH_NORMALIZED}")
|
||||
endif(NOT "${BRLCAD_INSTALL_PREFIX}" STREQUAL "/usr" AND NOT "${BRLCAD_INSTALL_PREFIX}" STREQUAL "/usr/local")
|
||||
endif(BRLCAD_INSTALL_PREFIX)
|
||||
|
||||
if(CMAKE_INSTALL_PREFIX)
|
||||
if(NOT "${CMAKE_INSTALL_PREFIX}" STREQUAL "/usr" AND NOT "${CMAKE_INSTALL_PREFIX}" STREQUAL "/usr/local")
|
||||
get_filename_component(PATH_NORMALIZED "${CMAKE_INSTALL_PREFIX}/${LIB_DIR}" ABSOLUTE)
|
||||
set(CMAKE_SYSTEM_IGNORE_PATH "${PATH_NORMALIZED}")
|
||||
endif(NOT "${CMAKE_INSTALL_PREFIX}" STREQUAL "/usr" AND NOT "${CMAKE_INSTALL_PREFIX}" STREQUAL "/usr/local")
|
||||
endif(CMAKE_INSTALL_PREFIX)
|
||||
|
||||
if(BRLCAD_PREFIX)
|
||||
if(NOT "${BRLCAD_PREFIX}" STREQUAL "/usr" AND NOT "${BRLCAD_PREFIX}" STREQUAL "/usr/local")
|
||||
get_filename_component(PATH_NORMALIZED "${BRLCAD_PREFIX}/${LIB_DIR}" ABSOLUTE)
|
||||
@@ -497,7 +521,7 @@ if(NOT BRLCAD_IS_SUBBUILD)
|
||||
COMMAND ${CMAKE_COMMAND} -E echo " regression tests. To consider a build viable for production use,"
|
||||
COMMAND ${CMAKE_COMMAND} -E echo " these tests must pass. Dependencies are compiled automatically."
|
||||
COMMAND ${CMAKE_COMMAND} -E echo "\"**********************************************************************\""
|
||||
COMMAND ${CMAKE_CTEST_COMMAND} -C ${CONFIG} -LE \"Regression|NOT_WORKING\" -E \"^regress-|NOTE|benchmark|slow-\" --output-on-failure ${JFLAG}
|
||||
COMMAND ${CMAKE_CTEST_COMMAND} -C ${CONFIG} -LE \"Regression|STAND_ALONE\" -E \"^regress-|NOTE|benchmark|slow-\" --output-on-failure ${JFLAG}
|
||||
COMMAND ${CMAKE_CTEST_COMMAND} -C ${CONFIG} -R \"benchmark\" --output-on-failure ${JFLAG}
|
||||
COMMAND ${CMAKE_CTEST_COMMAND} -C ${CONFIG} -L \"Regression\" --output-on-failure ${JFLAG}
|
||||
)
|
||||
@@ -795,59 +819,63 @@ endif(CMAKE_CONFIGURATION_TYPES)
|
||||
# ExternalProject_Add approach first as well - that way unmodified install
|
||||
# commands in 3rd party CMake files will be moot.
|
||||
#
|
||||
# if (NOT CMAKE_INSTALL_PREFIX)
|
||||
# set(CMAKE_INSTALL_PREFIX "/usr/brlcad/")
|
||||
# if (NOT BRLCAD_INSTALL_PREFIX)
|
||||
# set(BRLCAD_INSTALL_PREFIX "/usr/brlcad/")
|
||||
# if (NOT MSVC)
|
||||
# set(gen_exp $<IF:$<CONFIG:Debug>,dev-${BRLCAD_VERSION}/,$<IF:$<CONFIG:Release>,rel-${BRLCAD_VERSION}/${BRLCAD_VERSION},>>)
|
||||
# else (NOT MSVC)
|
||||
# set(gen_exp)
|
||||
# if(CMAKE_CL_64)
|
||||
# set(CMAKE_INSTALL_PREFIX "C:/Program Files/BRL-CAD ${BRLCAD_VERSION}")
|
||||
# set(BRLCAD_INSTALL_PREFIX "C:/Program Files/BRL-CAD ${BRLCAD_VERSION}")
|
||||
# else(CMAKE_CL_64)
|
||||
# set(CMAKE_INSTALL_PREFIX "C:/Program Files (x86)/BRL-CAD ${BRLCAD_VERSION}")
|
||||
# set(BRLCAD_INSTALL_PREFIX "C:/Program Files (x86)/BRL-CAD ${BRLCAD_VERSION}")
|
||||
# endif(CMAKE_CL_64)
|
||||
# endif (NOT MSVC)
|
||||
# endif (NOT CMAKE_INSTALL_PREFIX)
|
||||
# endif (NOT BRLCAD_INSTALL_PREFIX)
|
||||
# install(TARGETS mged DESTINATION ${gen_exp}${BIN_DIR})
|
||||
#
|
||||
# Another (maybe better) option instead of generators might be to use the CONFIGURATIONS
|
||||
# option in our macros and the ExternalProject_Add management:
|
||||
# https://cmake.org/cmake/help/latest/command/install.html
|
||||
#
|
||||
if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT OR NOT CMAKE_INSTALL_PREFIX)
|
||||
if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT OR NOT BRLCAD_INSTALL_PREFIX)
|
||||
if(NOT CMAKE_CONFIGURATION_TYPES)
|
||||
if("${CMAKE_BUILD_TYPE}" MATCHES "Release")
|
||||
set(CMAKE_INSTALL_PREFIX "/usr/brlcad/rel-${BRLCAD_VERSION}")
|
||||
set(BRLCAD_INSTALL_PREFIX "/usr/brlcad/rel-${BRLCAD_VERSION}")
|
||||
else("${CMAKE_BUILD_TYPE}" MATCHES "Release")
|
||||
set(CMAKE_INSTALL_PREFIX "/usr/brlcad/dev-${BRLCAD_VERSION}")
|
||||
set(BRLCAD_INSTALL_PREFIX "/usr/brlcad/dev-${BRLCAD_VERSION}")
|
||||
endif("${CMAKE_BUILD_TYPE}" MATCHES "Release")
|
||||
else(NOT CMAKE_CONFIGURATION_TYPES)
|
||||
if(MSVC)
|
||||
if(CMAKE_CL_64)
|
||||
set(CMAKE_INSTALL_PREFIX "C:/Program Files/BRL-CAD ${BRLCAD_VERSION}")
|
||||
set(BRLCAD_INSTALL_PREFIX "C:/Program Files/BRL-CAD ${BRLCAD_VERSION}")
|
||||
else(CMAKE_CL_64)
|
||||
set(CMAKE_INSTALL_PREFIX "C:/Program Files (x86)/BRL-CAD ${BRLCAD_VERSION}")
|
||||
set(BRLCAD_INSTALL_PREFIX "C:/Program Files (x86)/BRL-CAD ${BRLCAD_VERSION}")
|
||||
endif(CMAKE_CL_64)
|
||||
else(MSVC)
|
||||
set(CMAKE_INSTALL_PREFIX "/usr/brlcad/dev-${BRLCAD_VERSION}")
|
||||
set(BRLCAD_INSTALL_PREFIX "/usr/brlcad/dev-${BRLCAD_VERSION}")
|
||||
endif(MSVC)
|
||||
endif(NOT CMAKE_CONFIGURATION_TYPES)
|
||||
set(CMAKE_INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX} CACHE PATH "BRL-CAD install prefix" FORCE)
|
||||
set(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT 0)
|
||||
endif(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT OR NOT CMAKE_INSTALL_PREFIX)
|
||||
set(BRLCAD_PREFIX "${CMAKE_INSTALL_PREFIX}" CACHE STRING "BRL-CAD install prefix")
|
||||
set(BRLCAD_INSTALL_PREFIX ${BRLCAD_INSTALL_PREFIX} CACHE PATH "BRL-CAD install prefix" FORCE)
|
||||
set(BRLCAD_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT 0)
|
||||
endif(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT OR NOT BRLCAD_INSTALL_PREFIX)
|
||||
set(BRLCAD_PREFIX "${BRLCAD_INSTALL_PREFIX}" CACHE STRING "BRL-CAD install prefix")
|
||||
mark_as_advanced(BRLCAD_PREFIX)
|
||||
if (DEFINED BRLCAD_INSTALL_PREFIX AND NOT DEFINED CMAKE_INSTALL_PREFIX)
|
||||
set(CMAKE_INSTALL_PREFIX "${BRLCAD_INSTALL_PREFIX}")
|
||||
endif (DEFINED BRLCAD_INSTALL_PREFIX AND NOT DEFINED CMAKE_INSTALL_PREFIX)
|
||||
|
||||
|
||||
# If we've a Release build with a Debug path or vice versa, warn about
|
||||
# it. A "make install" of a Release build into a dev install
|
||||
# directory or vice versa is going to result in an install that
|
||||
# doesn't respect BRL-CAD standard naming conventions.
|
||||
if("${CMAKE_BUILD_TYPE}" MATCHES "Release" AND "${CMAKE_INSTALL_PREFIX}" STREQUAL "/usr/brlcad/dev-${BRLCAD_VERSION}")
|
||||
message(FATAL_ERROR "\nInstallation directory (CMAKE_INSTALL_PREFIX) is set to /usr/brlcad/dev-${BRLCAD_VERSION}, but build type is set to Release!\n")
|
||||
endif("${CMAKE_BUILD_TYPE}" MATCHES "Release" AND "${CMAKE_INSTALL_PREFIX}" STREQUAL "/usr/brlcad/dev-${BRLCAD_VERSION}")
|
||||
if("${CMAKE_BUILD_TYPE}" MATCHES "Debug" AND "${CMAKE_INSTALL_PREFIX}" STREQUAL "/usr/brlcad/rel-${BRLCAD_VERSION}")
|
||||
message(FATAL_ERROR "\nInstallation directory (CMAKE_INSTALL_PREFIX) is set to /usr/brlcad/rel-${BRLCAD_VERSION}, but build type is set to Debug!\n")
|
||||
endif("${CMAKE_BUILD_TYPE}" MATCHES "Debug" AND "${CMAKE_INSTALL_PREFIX}" STREQUAL "/usr/brlcad/rel-${BRLCAD_VERSION}")
|
||||
if("${CMAKE_BUILD_TYPE}" MATCHES "Release" AND "${BRLCAD_INSTALL_PREFIX}" STREQUAL "/usr/brlcad/dev-${BRLCAD_VERSION}")
|
||||
message(FATAL_ERROR "\nInstallation directory (BRLCAD_INSTALL_PREFIX) is set to /usr/brlcad/dev-${BRLCAD_VERSION}, but build type is set to Release!\n")
|
||||
endif("${CMAKE_BUILD_TYPE}" MATCHES "Release" AND "${BRLCAD_INSTALL_PREFIX}" STREQUAL "/usr/brlcad/dev-${BRLCAD_VERSION}")
|
||||
if("${CMAKE_BUILD_TYPE}" MATCHES "Debug" AND "${BRLCAD_INSTALL_PREFIX}" STREQUAL "/usr/brlcad/rel-${BRLCAD_VERSION}")
|
||||
message(FATAL_ERROR "\nInstallation directory (BRLCAD_INSTALL_PREFIX) is set to /usr/brlcad/rel-${BRLCAD_VERSION}, but build type is set to Debug!\n")
|
||||
endif("${CMAKE_BUILD_TYPE}" MATCHES "Debug" AND "${BRLCAD_INSTALL_PREFIX}" STREQUAL "/usr/brlcad/rel-${BRLCAD_VERSION}")
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# Now that we know the install prefix, generate the binary for calculating
|
||||
@@ -977,6 +1005,12 @@ if(NOT COMMAND CONFIG_H_APPEND)
|
||||
endif(NOT COMMAND CONFIG_H_APPEND)
|
||||
|
||||
CONFIG_H_APPEND(BRLCAD "/**** Define statements for CMake ****/\n")
|
||||
CONFIG_H_APPEND(BRLCAD "#if !defined(BRLCADBUILD)\n")
|
||||
CONFIG_H_APPEND(BRLCAD " # pragma message \"Warning: included brlcad_config.h (compile-time API) without BRLCADBUILD defined\"\n")
|
||||
CONFIG_H_APPEND(BRLCAD "#endif\n")
|
||||
CONFIG_H_APPEND(BRLCAD "#if !defined(HAVE_CONFIG_H)\n")
|
||||
CONFIG_H_APPEND(BRLCAD " # pragma message \"Warning: included brlcad_config.h (compile-time API) without HAVE_CONFIG_H defined\"\n")
|
||||
CONFIG_H_APPEND(BRLCAD "#endif\n")
|
||||
CONFIG_H_APPEND(BRLCAD "#ifndef __CONFIG_H__\n")
|
||||
CONFIG_H_APPEND(BRLCAD "#define __CONFIG_H__\n")
|
||||
|
||||
@@ -991,8 +1025,10 @@ CONFIG_H_APPEND(BRLCAD "#define PACKAGE_TARNAME \"brlcad\"\n")
|
||||
CONFIG_H_APPEND(BRLCAD "#define EXECUTABLE_SUFFIX \"${CMAKE_EXECUTABLE_SUFFIX}\"\n")
|
||||
CONFIG_H_APPEND(BRLCAD "#define SHARED_LIBRARY_SUFFIX \"${CMAKE_SHARED_LIBRARY_SUFFIX}\"\n")
|
||||
|
||||
# Let bu_dir know what the target install directory is
|
||||
CONFIG_H_APPEND(BRLCAD "#define BRLCAD_ROOT \"${CMAKE_INSTALL_PREFIX}\"\n")
|
||||
# Let bu_dir know what the target install directory is. In a superbuild
|
||||
# configuration this will be the most import place to be sure that we get the
|
||||
# actual superbuild install path, not the local BRL-CAD subbuild install path.
|
||||
CONFIG_H_APPEND(BRLCAD "#define BRLCAD_ROOT \"${BRLCAD_INSTALL_PREFIX}\"\n")
|
||||
|
||||
# Define the various relative paths for bu_dir (be sure to have included
|
||||
# Path_Setup.cmake before this point, as that file defines these variables.)
|
||||
@@ -1291,10 +1327,12 @@ if(BRLCAD_ENABLE_X11)
|
||||
endif(BRLCAD_ENABLE_X11)
|
||||
mark_as_advanced(OPENGL_USE_AQUA)
|
||||
|
||||
# Enable/disable features requiring the Tk toolkit - usually this should
|
||||
# be on, as a lot of functionality in BRL-CAD depends on Tk
|
||||
option(BRLCAD_ENABLE_TK "Enable features requiring the Tk toolkit" ON)
|
||||
mark_as_advanced(BRLCAD_ENABLE_TK)
|
||||
# Enable/disable features requiring the Tcl/Tk toolkit - usually this should
|
||||
# be on, as a lot of functionality in BRL-CAD depends on Tcl/Tk
|
||||
|
||||
option(BRLCAD_ENABLE_TCL "Enable features requiring the Tcl toolkit" ON)
|
||||
cmake_dependent_option(BRLCAD_ENABLE_TK "Enable features requiring the Tk toolkit" ON "BRLCAD_ENABLE_TCL" OFF)
|
||||
mark_as_advanced(BRLCAD_ENABLE_TCL BRLCAD_ENABLE_TK)
|
||||
if(NOT BRLCAD_ENABLE_X11 AND NOT BRLCAD_ENABLE_AQUA AND NOT WIN32)
|
||||
set(BRLCAD_ENABLE_TK OFF)
|
||||
endif(NOT BRLCAD_ENABLE_X11 AND NOT BRLCAD_ENABLE_AQUA AND NOT WIN32)
|
||||
@@ -1735,6 +1773,23 @@ set(CMAKE_CXX_FLAGS "${CXX_STANDARD_FLAGS}")
|
||||
CHECK_C_FLAG(pipe)
|
||||
CHECK_CXX_FLAG(pipe)
|
||||
|
||||
# Enable visibility restrictions. We have to deal with this on Windows, so
|
||||
# enable it wherever we can to keep the code working across all platforms.
|
||||
CHECK_C_FLAG(fvisibility=hidden)
|
||||
CHECK_CXX_FLAG(fvisibility=hidden)
|
||||
# If we can, hide internal library symbols
|
||||
if(FVISIBILITY_HIDDEN_CXX_FLAG_FOUND)
|
||||
set(HIDE_INTERNAL_SYMBOLS 1)
|
||||
endif(FVISIBILITY_HIDDEN_CXX_FLAG_FOUND)
|
||||
if(MSVC)
|
||||
# On platforms other than MSVC, the hidden symbols are a convenience and may
|
||||
# not be supported by system lib headers. With Visual Studio, they are a
|
||||
# necessity - define an extra flag so we know to always set them in that
|
||||
# case in order to properly link against the system libs.
|
||||
set(HIDE_INTERNAL_SYMBOLS 1)
|
||||
set(HIDE_INTERNAL_SYMBOLS_EXT 1)
|
||||
endif(MSVC)
|
||||
|
||||
# check for -fno-strict-aliasing
|
||||
# XXX - THIS FLAG IS REQUIRED if any level of optimization is
|
||||
# enabled with GCC as we do use aliasing and type-punning.
|
||||
@@ -1954,7 +2009,6 @@ if(HAVE_WARN_UNUSED_RESULT_ATTRIBUTE)
|
||||
CONFIG_H_APPEND(BRLCAD "#define HAVE_WARN_UNUSED_RESULT_ATTRIBUTE 1\n")
|
||||
endif(HAVE_WARN_UNUSED_RESULT_ATTRIBUTE)
|
||||
|
||||
|
||||
# Silence check for unused arguments (used to silence clang warnings about
|
||||
# unused options on the command line). By default clang generates a lot of
|
||||
# warnings about such arguments, and we don't really care.
|
||||
@@ -2086,7 +2140,7 @@ if(NOT MSVC)
|
||||
# llvm-style USE
|
||||
if("${pgo_flags_found}" STREQUAL "")
|
||||
cmake_push_check_state()
|
||||
set(flags "fprofile-use=\"${BRLCAD_PGO_PATH}\"")
|
||||
set(flags "fprofile-use=\"${BRLCAD_PGO_PATH}\" -Wno-profile-instr-out-of-date -Wno-profile-instr-unprofiled")
|
||||
set(CMAKE_REQUIRED_FLAGS "-${flags}")
|
||||
CHECK_C_FLAG("${flags}" GROUPS OPTIMIZE_C_FLAGS VARS pgo_flags_found)
|
||||
CHECK_CXX_FLAG("${flags}" GROUPS OPTIMIZE_CXX_FLAGS)
|
||||
@@ -2305,13 +2359,18 @@ if(NOT MSVC)
|
||||
endif(BRLCAD_ENABLE_COMPILER_WARNINGS OR BRLCAD_ENABLE_STRICT)
|
||||
|
||||
if(BRLCAD_ENABLE_COVERAGE)
|
||||
# TODO: These seem to GCC specific flags - should probably set up for clang
|
||||
# as well if that's our compiler...
|
||||
# https://clang.llvm.org/docs/SourceBasedCodeCoverage.html
|
||||
# If we need different settings for different tools, should
|
||||
# encapsulate each tool's setup in a function
|
||||
CHECK_C_FLAG(ftest-coverage)
|
||||
CHECK_CXX_FLAG(ftest-coverage)
|
||||
if(FTEST_COVERAGE_C_FLAG_FOUND)
|
||||
SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} --coverage")
|
||||
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} --coverage")
|
||||
SET(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} --coverage -fprofile-arcs")
|
||||
SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} --coverage -fprofile-arcs")
|
||||
SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -ftest-coverage -fprofile-arcs")
|
||||
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -ftest-coverage -fprofile-arcs")
|
||||
SET(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -lgcov -ftest-coverage -fprofile-arcs")
|
||||
SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -lgcov -ftest-coverage -fprofile-arcs")
|
||||
else(FTEST_COVERAGE_C_FLAG_FOUND)
|
||||
message(SEND_ERROR "Building with coverage is not supported by BRL-CAD on this platform.")
|
||||
endif(FTEST_COVERAGE_C_FLAG_FOUND)
|
||||
@@ -2478,6 +2537,27 @@ if("${HAVE_TIMESETEVENT}" MATCHES "^${HAVE_TIMESETEVENT}$")
|
||||
set(CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES_BAK})
|
||||
endif("${HAVE_TIMESETEVENT}" MATCHES "^${HAVE_TIMESETEVENT}$")
|
||||
|
||||
# Grumble... find_library doesn't find ws2_32. Until we come up with
|
||||
# working tests for these, set them by hand
|
||||
if(MSVC)
|
||||
set(COMCTL32_LIBRARY comctl32.lib)
|
||||
set(IMM32_LIBRARY imm32.lib)
|
||||
# TODO - mged and adrt call this specific OpenGL library out - why doesn't
|
||||
# OPENGL_LIBRARIES do the trick?
|
||||
set(OPENGL32_LIBRARY opengl32.lib)
|
||||
set(PSAPI_LIB psapi.lib)
|
||||
set(RPCRT_LIB rpcrt4.lib)
|
||||
set(WINSOCK_LIB ws2_32.lib)
|
||||
set(WS2_32_LIBRARY ws2_32)
|
||||
else(MSVC)
|
||||
set(COMCTL32_LIBRARY "")
|
||||
set(IMM32_LIBRARY "")
|
||||
set(OPENGL32_LIBRARY "")
|
||||
set(PSAPI_LIB "")
|
||||
set(RPCRT_LIB "")
|
||||
set(WINSOCK_LIB "")
|
||||
set(WS2_32_LIBRARY "")
|
||||
endif(MSVC)
|
||||
|
||||
# *******************************************************************
|
||||
if(BRLCAD_PRINT_MSGS)
|
||||
@@ -3055,12 +3135,7 @@ int main(void) {
|
||||
return 0;
|
||||
}
|
||||
")
|
||||
# Grumble... find_library doesn't find ws2_32, so set it by hand.
|
||||
if(CPP_DLL_DEFINES)
|
||||
set(WS2_32_LIBRARY ws2_32)
|
||||
else(CPP_DLL_DEFINES)
|
||||
set(WS2_32_LIBRARY "")
|
||||
endif(CPP_DLL_DEFINES)
|
||||
|
||||
file(WRITE "${CMAKE_BINARY_DIR}/CMakeTmp/report_hostname.c" "${report_hostname_src}")
|
||||
try_run(RH_RESULT RH_COMPILED "${CMAKE_BINARY_DIR}/CMakeTmp"
|
||||
"${CMAKE_BINARY_DIR}/CMakeTmp/report_hostname.c"
|
||||
@@ -3361,6 +3436,8 @@ if(NOT BRLCAD_IS_SUBBUILD)
|
||||
endif(NOT BRLCAD_IS_SUBBUILD)
|
||||
|
||||
|
||||
# TODO - the below logic will have to be rethought in a superbuild setup...
|
||||
|
||||
# To set correct install paths for CMake at build time, rather than CMake
|
||||
# time, some rather special logic is necessary - a build target that needs
|
||||
# to be run when the current build type changes, and introspective scripting
|
||||
@@ -3578,6 +3655,7 @@ if(NOT BRLCAD_IS_SUBBUILD)
|
||||
#
|
||||
# CREATE_DISTCHECK(TARGET_SUFFIX CMAKE_OPTS source_dir build_dir install_dir [custom_template])
|
||||
CREATE_DISTCHECK(default_build_type "-DBRLCAD_BUNDLED_LIBS=AUTO" "${CPACK_SOURCE_PACKAGE_FILE_NAME}" "build" "install")
|
||||
CREATE_DISTCHECK(no_tcl "-DCMAKE_BUILD_TYPE=Debug -DBRLCAD_BUNDLED_LIBS=BUNDLED -DBRLCAD_ENABLE_TCL=OFF" "${CPACK_SOURCE_PACKAGE_FILE_NAME}" "build" "install" distcheck_no_tcl.cmake.in)
|
||||
CREATE_DISTCHECK(no_tk "-DCMAKE_BUILD_TYPE=Debug -DBRLCAD_BUNDLED_LIBS=BUNDLED -DBRLCAD_ENABLE_TK=OFF" "${CPACK_SOURCE_PACKAGE_FILE_NAME}" "build" "install")
|
||||
CREATE_DISTCHECK(no_strict "-DCMAKE_BUILD_TYPE=Debug -DBRLCAD_BUNDLED_LIBS=BUNDLED -DBRLCAD_ENABLE_STRICT=OFF" "${CPACK_SOURCE_PACKAGE_FILE_NAME}" "build" "install")
|
||||
CREATE_DISTCHECK(no_object "-DCMAKE_BUILD_TYPE=Debug -DBRLCAD_BUNDLED_LIBS=BUNDLED -DUSE_OBJECT_LIBS=OFF" "${CPACK_SOURCE_PACKAGE_FILE_NAME}" "build" "install")
|
||||
|
||||
@@ -418,9 +418,11 @@ public library APIs should expose only C function calls and data
|
||||
except in very specific cases (should be discussed with the
|
||||
development team ahead of time to get consensus on the necessity.)
|
||||
|
||||
There is currently no C++ interface to the core BRL-CAD libraries. If
|
||||
such an interface is eventually developed, it will be done separately
|
||||
rather than mixing C++ semantics into existing APIs.
|
||||
There is a C++ interface to the core BRL-CAD libraries called MOOSE
|
||||
that is maintained in a separate repository. It is developed with
|
||||
separation in order to avoid mixing C++ semantics into existing APIs
|
||||
and to ensure clean separation of responsibilities and modularity.
|
||||
|
||||
|
||||
CODING STYLE & STANDARDS
|
||||
------------------------
|
||||
@@ -829,19 +831,16 @@ it better?" and add documentation accordingly.
|
||||
|
||||
All public library functions and most private or application functions
|
||||
should be appropriately documented using Doxygen/Javadoc style
|
||||
comments. Without getting into the advanced details, this minimally
|
||||
means that you need to add an additional asterisk to a comment that
|
||||
precedes your functions:
|
||||
comments. This minimally means that you need to add an additional
|
||||
asterisk to a comment that precedes your functions. Public functions
|
||||
must be exported and imported using per-library macros that precede
|
||||
public symbol declarations (e.g., BU_EXPORT int func();). Example:
|
||||
|
||||
/**
|
||||
* Computes the answer to the meaning of life, the universe, and
|
||||
* everything.
|
||||
*/
|
||||
int
|
||||
the_answer(void)
|
||||
{
|
||||
return 42;
|
||||
}
|
||||
MYLIB_EXPORT int mylib_function();
|
||||
|
||||
|
||||
TESTING & DEBUGGING
|
||||
|
||||
@@ -52,35 +52,32 @@ below. The rest of this quick installation section is only relevant
|
||||
to source code distributions of BRL-CAD.
|
||||
|
||||
For the impatient or simplistic, the following steps should compile,
|
||||
test, and install an optimized BRL-CAD quickly into the /usr/brlcad/rel-X.Y.Z
|
||||
directory if CMake is installed on your system:
|
||||
test, and install an optimized BRL-CAD quickly into the
|
||||
/usr/brlcad/rel-VERSION directory if CMake is already installed:
|
||||
|
||||
gunzip brlcad-X.Y.Z.tar.gz
|
||||
tar -xvf brlcad-X.Y.Z.tar
|
||||
mkdir brlcad-build
|
||||
cd brlcad-build
|
||||
cmake ../brlcad-X.Y.Z -DBRLCAD_BUNDLED_LIBS=ON -DCMAKE_BUILD_TYPE=Release
|
||||
make
|
||||
make benchmark
|
||||
make regress
|
||||
make install # as root, e.g. sudo make install
|
||||
tar -zxvf brlcad-VERSION.tar
|
||||
mkdir brlcad-VERSION/build
|
||||
cd brlcad-VERSION/build
|
||||
cmake .. -DBRLCAD_BUNDLED_LIBS=ON -DCMAKE_BUILD_TYPE=Release
|
||||
make -j4
|
||||
make check
|
||||
make install
|
||||
|
||||
If any of the listed steps fail, then something unexpected happened.
|
||||
See the REPORTING PROBLEMS section of this document to report the
|
||||
problem or the INSTALLING FROM SOURCE section for more comprehensive
|
||||
See the REPORTING PROBLEMS section of this document to report any
|
||||
problems or the INSTALLING FROM SOURCE section for more comprehensive
|
||||
instructions.
|
||||
|
||||
Once installed, add /usr/brlcad/rel-X.Y.Z/bin to your path, and you should be
|
||||
Once installed, add /usr/brlcad/rel-VERSION/bin to your path, and you should be
|
||||
able to run any of the 400+ applications that constitute BRL-CAD. For
|
||||
example, to run the MGED solid modeler:
|
||||
|
||||
PATH=/usr/brlcad/rel-X.Y.Z/bin:$PATH ; export PATH
|
||||
PATH=/usr/brlcad/rel-VERSION/bin:$PATH ; export PATH
|
||||
mged
|
||||
|
||||
If you use tcsh or another C-shell based command shell, use this
|
||||
instead:
|
||||
|
||||
set path=( /usr/brlcad/rel-X.Y.Z/bin $path ) ; rehash
|
||||
set path=( /usr/brlcad/rel-VERSION/bin $path ) ; rehash
|
||||
mged
|
||||
|
||||
|
||||
@@ -126,9 +123,10 @@ always be loaded first, regardless of the presence of a "local" copy.
|
||||
Mac OS X Disk Mounting Image:
|
||||
|
||||
Mount the .dmg and run the Installer .pkg contained therein. This
|
||||
will install into /usr/brlcad/rel-X.Y.Z and will only require confirming that
|
||||
your environment is set up properly (i.e. add /usr/brlcad/rel-X.Y.Z/bin to your
|
||||
path) as described in the Quick Installation section.
|
||||
will install into /usr/brlcad/rel-X.Y.Z and will only require
|
||||
confirming that your environment is set up properly (i.e. add
|
||||
/usr/brlcad/rel-X.Y.Z/bin to your path) as described in the Quick
|
||||
Installation section.
|
||||
|
||||
|
||||
INSTALLING FROM SOURCE
|
||||
@@ -242,6 +240,14 @@ performance evaluation), enable BRLCAD_FLAGS_OPTIMIZATION:
|
||||
|
||||
-DBRLCAD_FLAGS_OPTIMIZATION=ON
|
||||
|
||||
Profile-guided optimization builds are possible via two-pass
|
||||
compilation. Compile with this flag set, run the benchmark suite,
|
||||
clean the build, and then compile again with this flag set. Supported
|
||||
compilers will utilize data from the first pass to guide optimization,
|
||||
typically resulting in a significant performance increase:
|
||||
|
||||
-DBRLCAD_PGO=ON
|
||||
|
||||
See the CONFIGURATION OPTIONS below for more details on all of the
|
||||
possible settings.
|
||||
|
||||
@@ -287,19 +293,31 @@ or on operating systems set up to use sudo:
|
||||
TESTING FUNCTIONALITY
|
||||
---------------------
|
||||
|
||||
To test BRL-CAD before installation, you can run the BRL-CAD benchmark.
|
||||
The benchmark will report if the results are correct, testing a
|
||||
majority of the core functionality of BRL-CAD in addition to testing
|
||||
your system's performance:
|
||||
The primary build target to validate a compilation of BRL-CAD is:
|
||||
|
||||
make check
|
||||
|
||||
That runs a trio of test sets including "benchmark", "regress", and
|
||||
"unit". The first set is a performance test that also validates
|
||||
whether ray tracing behavior is correct:
|
||||
|
||||
make benchmark
|
||||
|
||||
Note that the benchmark target will build ONLY the pieces required for
|
||||
the benchmark tests, unless a general make has already been performed.
|
||||
For more testing, you can run the regression test suite:
|
||||
The second test set is our regression tests that run a host of
|
||||
rigorous integration tests and validate essential behavior:
|
||||
|
||||
make regress
|
||||
|
||||
The third set runs unit tests that validate low-level behavior in
|
||||
BRL-CAD's core libraries:
|
||||
|
||||
make unit
|
||||
|
||||
Last but not least, one may simply run all available tests, though
|
||||
note that some tests will intentionally fail:
|
||||
|
||||
make test
|
||||
|
||||
|
||||
POST-INSTALLATION
|
||||
-----------------
|
||||
@@ -523,17 +541,6 @@ AUTO.
|
||||
Aliases: ENABLE_PNG
|
||||
|
||||
|
||||
--- BRLCAD_LZ4 ---
|
||||
|
||||
Option for enabling and disabling compilation of the lz4 data
|
||||
compression library provided with BRL-CAD's source code. Default
|
||||
is AUTO, responsive to the toplevel BRLCAD_BUNDLED_LIBS option and
|
||||
testing first for a system version if BRLCAD_BUNDLED_LIBS is also
|
||||
AUTO.
|
||||
|
||||
Aliases: ENABLE_LZ4
|
||||
|
||||
|
||||
--- BRLCAD_NETPBM ---
|
||||
|
||||
Option for enabling and disabling compilation of the netpbm library
|
||||
|
||||
@@ -13,6 +13,12 @@ changes made. See document footer for additional details.
|
||||
--- 20XX-XX-XX Release 7.3X.X ---
|
||||
----------------------------------------------------------------------
|
||||
|
||||
* 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
|
||||
* consistent usage taxonomy for ident-related commands - Sean Morrison
|
||||
* added units label to the Archer in-scene scale graphic - Cliff Yapp
|
||||
* improved output path sorting of search command - Cliff Yapp
|
||||
* added 3dm-g failure message about supported versions - Cliff Yapp
|
||||
* fixed bw-png writing corrupted png files on Windows - Sean Morrison
|
||||
|
||||
@@ -406,6 +412,7 @@ performance ray tracing pipeline.
|
||||
* removed "high resolution" options from all commands - Carl Moore
|
||||
* improved performance of archer loading large BoT models - Nick Reed
|
||||
* added evaluated shaded drawing preference mode and menu - Nick Reed
|
||||
* fixed .mgedrc creation corruption with closed database - Cliff Yapp
|
||||
* extensive improvements to NURBS Boolean evaluation - Nick Reed
|
||||
* added 'bot chull' for creating convex hull envelopes - Cliff Yapp
|
||||
* new manual page for the g-voxel exporter - Mandarj
|
||||
|
||||
@@ -69,33 +69,20 @@ contact one of the BRL-CAD developers.
|
||||
COMPILE AND INSTALL
|
||||
-------------------
|
||||
|
||||
See the INSTALL file for details on configuring, compiling, and
|
||||
installing BRL-CAD. In order to compile and install BRL-CAD from a
|
||||
source distribution, the build tool CMake is required - see the website
|
||||
at http://www.cmake.org for source and binary installers. CMake is also
|
||||
available in many Linux and *BSD distributions.
|
||||
In order to compile and install BRL-CAD from a source distribution,
|
||||
the CMake ( http://www.cmake.org ) configuration tool is requird.
|
||||
|
||||
Once CMake is installed, the following steps may be taken for a full
|
||||
default install (starting with a source tarball):
|
||||
The following steps should result in a successful install:
|
||||
|
||||
tar -xvzf brlcad-X.Y.Z.tar.gz
|
||||
mkdir brlcad-build
|
||||
cd brlcad-build
|
||||
cmake ../brlcad-X.Y.Z
|
||||
make
|
||||
tar -xvzf brlcad-VERSION.tar.gz
|
||||
mkdir brlcad-VERSION/build
|
||||
cd brlcad-VERSION/build
|
||||
cmake .. -DBRLCAD_ENABLE_STRICT=OFF -DCMAKE_BUILD_TYPE=Release
|
||||
make -j4
|
||||
make install
|
||||
|
||||
where "X.Y.Z" is the version number of BRL-CAD. For those who prefer
|
||||
a curses interface, substitute ccmake for cmake above. If the graphical
|
||||
interface available from CMake is installed cmake-gui may be
|
||||
substituted for cmake. These interfaces will display the various
|
||||
configuration options available when building BRL-CAD, or the options
|
||||
may be set directly via command line -D options.
|
||||
The configure wrapper script may be substituted for cmake in the above
|
||||
steps for a more autotools-like configuration experience.
|
||||
|
||||
Users on multiprocessor systems will be able to speed up their builds
|
||||
by passing the -j option to make (e.g. make -j4, assuming GNU make).
|
||||
See the INSTALL file for explanation of the various configuration
|
||||
options available when building BRL-CAD.
|
||||
|
||||
Once the build completes and assuming you have proper filesystem
|
||||
permissions, you should be able to begin the installation by running
|
||||
|
||||
@@ -150,6 +150,12 @@ THESE ARE UNSCHEDULED BACKLOG TASKS
|
||||
set binary mode (setmode O_BINARY) when writing out files. at quick
|
||||
glance, there are many (about 50) that still do not.
|
||||
|
||||
* the osgl libdm backend has what appears to be an off-by-one-pixel
|
||||
error in the x and y directions with respect to mouse placement.
|
||||
Using kmag, can see tha putting the mouse cursor over the center
|
||||
yellow dot and center clicking (which should be a no-op, and is
|
||||
with ogl) results in the scene shifting slightly.
|
||||
|
||||
* replace los references/terminology with span, len, dist, factor, etc
|
||||
accordingly since los is ambiguous and a source of user confusion.
|
||||
|
||||
@@ -2438,7 +2444,7 @@ DOCUMENTATION
|
||||
|
||||
* document the new NURBS/BREP primitive, capabilities and limitations
|
||||
|
||||
* add missing manual pages (tbrowder2 generated list 2013-08):
|
||||
* Low-hanging fruit, add missing manual pages:
|
||||
|
||||
archer
|
||||
bombardier
|
||||
@@ -2471,10 +2477,8 @@ DOCUMENTATION
|
||||
umod
|
||||
ustats
|
||||
|
||||
* these are matured shape tools that get installed with simple
|
||||
usability but should still have basic docs and better names. plan
|
||||
to absorb them into ged as external plugins, but they'll still need
|
||||
docs:
|
||||
Shape tools installed without docs. may absorb into ged as plugins
|
||||
or may rename, but still need docs:
|
||||
|
||||
bolt
|
||||
fence
|
||||
@@ -2486,23 +2490,57 @@ DOCUMENTATION
|
||||
window_frame
|
||||
wire
|
||||
|
||||
* misc / 3rd party tools we control / bundle, but need docs if anyone
|
||||
else is to use them or contribute:
|
||||
User-facing commands reported by 'help' needing docs. some are
|
||||
implemented as Tcl, others to consolidate, but still need docs:
|
||||
|
||||
perplex
|
||||
re2c
|
||||
adjust
|
||||
bot_smooth
|
||||
cc
|
||||
closedb
|
||||
dbversion
|
||||
dmtype
|
||||
dsp
|
||||
dump
|
||||
e_id
|
||||
form
|
||||
joint
|
||||
labelface
|
||||
loadview
|
||||
lod
|
||||
match
|
||||
mirror
|
||||
nmg_fix_normals
|
||||
png
|
||||
put
|
||||
relos
|
||||
remat
|
||||
reset
|
||||
rmats
|
||||
rt_gettrees
|
||||
rtabort
|
||||
rtedge
|
||||
rtweight
|
||||
savekey
|
||||
shaded_mode
|
||||
unhide
|
||||
|
||||
* needs his own repo:
|
||||
|
||||
ttcp
|
||||
|
||||
* need to revisit utility of spherical mapping, used by sh_spm and
|
||||
Need to revisit utility of spherical mapping, used by sh_spm and
|
||||
sh_points, used for environment mapping (e.g., stars):
|
||||
|
||||
pix-spm
|
||||
spm-fb
|
||||
|
||||
* these eventually get put into gcv (hopefully not needing docs):
|
||||
3rd party tools we control / bundle, but need docs if anyone else is
|
||||
to use them or contribute:
|
||||
|
||||
perplex
|
||||
re2c
|
||||
|
||||
Needs separate repo:
|
||||
|
||||
ttcp
|
||||
|
||||
Converters that belong in GCV:
|
||||
|
||||
3dm-g
|
||||
g-dot
|
||||
|
||||
@@ -2,11 +2,7 @@ add_subdirectory(ref)
|
||||
|
||||
include_directories(${BU_INCLUDE_DIRS})
|
||||
|
||||
add_definitions(
|
||||
-DHAVE_CONFIG_H
|
||||
-DBRLCADBUILD
|
||||
-DCONSOLE
|
||||
)
|
||||
add_definitions(-DCONSOLE)
|
||||
|
||||
BRLCAD_ADDEXEC(pixcmp pixcmp.c libbu)
|
||||
set(BARK_SOURCES
|
||||
@@ -40,7 +36,7 @@ CMAKEFILES(
|
||||
viewdiff.sh
|
||||
)
|
||||
|
||||
if(SH_EXEC)
|
||||
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)
|
||||
set_tests_properties(benchmark PROPERTIES LABELS "Benchmark")
|
||||
@@ -68,7 +64,7 @@ if(SH_EXEC)
|
||||
add_custom_target(benchmark-clobber
|
||||
${SH_EXEC} ${CMAKE_BINARY_DIR}/bin/benchmark clobber
|
||||
)
|
||||
endif(SH_EXEC)
|
||||
endif(SH_EXEC AND TARGET m35.g)
|
||||
|
||||
# Local Variables:
|
||||
# tab-width: 8
|
||||
|
||||
@@ -122,10 +122,6 @@ do
|
||||
shift;;
|
||||
--disable-png) options="$options -DBRLCAD_PNG=SYSTEM";
|
||||
shift;;
|
||||
--enable-lz4) options="$options -DBRLCAD_LZ4=BUNDLED";
|
||||
shift;;
|
||||
--disable-lz4) options="$options -DBRLCAD_LZ4=SYSTEM";
|
||||
shift;;
|
||||
--enable-netpbm) options="$options -DBRLCAD_NETPBM=BUNDLED";
|
||||
shift;;
|
||||
--disable-netpbm) options="$options -DBRLCAD_NETPBM=SYSTEM";
|
||||
|
||||
+50
-50
@@ -53,21 +53,15 @@ function(ADD_G_TARGET in_model folder)
|
||||
# the sense that it uses libgcv...)
|
||||
if(${MODEL_TYPE} STREQUAL "3dm")
|
||||
|
||||
# Because we won't know the output directory in the script reliably until run time,
|
||||
# we append CURRENT_BUILD_DIR as a string to the arguments - it is the script's
|
||||
# responsibility to handle it correctly at run time.
|
||||
set(CMD_ARGS "-o" "CURRENT_BUILD_DIR/${output_file}" "${CMAKE_CURRENT_SOURCE_DIR}/${in_model}")
|
||||
|
||||
set(INPUT_FILE "${CMAKE_CURRENT_SOURCE_DIR}/${in_model}")
|
||||
set(OUTPUT_FILE "${output_file}")
|
||||
# Use the model name for the script, since the output file is specific to this input
|
||||
set(script_file "${CMAKE_CURRENT_BINARY_DIR}/${in_model_root}.cmake")
|
||||
|
||||
# We know enough - write the script
|
||||
generate_cmd_script(3dm-g "${script_file}" OLOG "${log_file}" ELOG "${log_file}" CARGS "${CMD_ARGS}")
|
||||
configure_file("${CMAKE_SOURCE_DIR}/db/conv_run.cmake.in" "${CMAKE_CURRENT_BINARY_DIR}/${in_model_root}.cmake" @ONLY)
|
||||
|
||||
# Define the target
|
||||
add_custom_command(
|
||||
OUTPUT ${CMAKE_CURRENT_BUILD_DIR_SCRIPT}/${output_file}
|
||||
COMMAND ${CMAKE_COMMAND} -P "${script_file}"
|
||||
COMMAND ${CMAKE_COMMAND} -DEXEC=$<TARGET_FILE:3dm-g> -P "${CMAKE_CURRENT_BINARY_DIR}/${in_model_root}.cmake"
|
||||
DEPENDS 3dm-g ${CMAKE_CURRENT_SOURCE_DIR}/${in_model}
|
||||
)
|
||||
|
||||
@@ -76,11 +70,13 @@ function(ADD_G_TARGET in_model folder)
|
||||
# The rest of the conversions follow the simpler/older pattern:
|
||||
|
||||
if(${MODEL_TYPE} STREQUAL "asc")
|
||||
add_custom_command(
|
||||
OUTPUT ${CMAKE_CURRENT_BUILD_DIR_SCRIPT}/${output_file}
|
||||
COMMAND asc2g "${CMAKE_CURRENT_SOURCE_DIR}/${in_model}" ${CMAKE_CURRENT_BUILD_DIR_SCRIPT}/${output_file}
|
||||
DEPENDS asc2g "${CMAKE_CURRENT_SOURCE_DIR}/${in_model}"
|
||||
)
|
||||
if (BRLCAD_ENABLE_TCL)
|
||||
add_custom_command(
|
||||
OUTPUT ${CMAKE_CURRENT_BUILD_DIR_SCRIPT}/${output_file}
|
||||
COMMAND asc2g "${CMAKE_CURRENT_SOURCE_DIR}/${in_model}" ${CMAKE_CURRENT_BUILD_DIR_SCRIPT}/${output_file}
|
||||
DEPENDS asc2g "${CMAKE_CURRENT_SOURCE_DIR}/${in_model}"
|
||||
)
|
||||
endif (BRLCAD_ENABLE_TCL)
|
||||
endif(${MODEL_TYPE} STREQUAL "asc")
|
||||
|
||||
if(${MODEL_TYPE} STREQUAL "comgeom")
|
||||
@@ -108,17 +104,19 @@ function(ADD_G_TARGET in_model folder)
|
||||
)
|
||||
endif(${MODEL_TYPE} STREQUAL "stp")
|
||||
|
||||
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 "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}")
|
||||
|
||||
# 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 "asc" OR BRLCAD_ENABLE_TCL)
|
||||
|
||||
endfunction(ADD_G_TARGET in_model folder)
|
||||
|
||||
@@ -185,34 +183,36 @@ if(SH_EXEC)
|
||||
set(conversion_g_files_fp)
|
||||
set(conversion_deps_list)
|
||||
|
||||
macro(Sh_Conversion_Test gfile depends_list)
|
||||
add_custom_target(convert-${gfile} COMMAND ${SH_EXEC} ${CMAKE_SOURCE_DIR}/sh/conversion.sh GED=$<TARGET_FILE:mged> ${CMAKE_BINARY_DIR}/${DATA_DIR}/db/${gfile})
|
||||
set_target_properties(convert-${gfile} PROPERTIES EXCLUDE_FROM_DEFAULT_BUILD 1)
|
||||
set_target_properties(convert-${gfile} PROPERTIES FOLDER "BRL-CAD Conversion Tests")
|
||||
set(conversion_g_files ${conversion_g_files} ${gfile})
|
||||
if(NOT "${depends_list}" STREQUAL "")
|
||||
add_dependencies(convert-${gfile} ${depends_list})
|
||||
set(conversion_deps_list ${conversion_deps_list} ${depends_list})
|
||||
endif(NOT "${depends_list}" STREQUAL "")
|
||||
endmacro(Sh_Conversion_Test)
|
||||
if (BRLCAD_ENABLE_TCL)
|
||||
macro(Sh_Conversion_Test gfile depends_list)
|
||||
add_custom_target(convert-${gfile} COMMAND ${SH_EXEC} ${CMAKE_SOURCE_DIR}/sh/conversion.sh GED=$<TARGET_FILE:mged> ${CMAKE_BINARY_DIR}/${DATA_DIR}/db/${gfile})
|
||||
set_target_properties(convert-${gfile} PROPERTIES EXCLUDE_FROM_DEFAULT_BUILD 1)
|
||||
set_target_properties(convert-${gfile} PROPERTIES FOLDER "BRL-CAD Conversion Tests")
|
||||
set(conversion_g_files ${conversion_g_files} ${gfile})
|
||||
if(NOT "${depends_list}" STREQUAL "")
|
||||
add_dependencies(convert-${gfile} ${depends_list})
|
||||
set(conversion_deps_list ${conversion_deps_list} ${depends_list})
|
||||
endif(NOT "${depends_list}" STREQUAL "")
|
||||
endmacro(Sh_Conversion_Test)
|
||||
|
||||
foreach(g_input ${G_BENCHMARK_MODELS})
|
||||
get_filename_component(GROOT "${g_input}" NAME_WE)
|
||||
Sh_Conversion_Test(${GROOT}.g "mged")
|
||||
endforeach(g_input ${G_BENCHMARK_MODELS})
|
||||
foreach(g_input ${G_SAMPLE_MODELS})
|
||||
get_filename_component(GROOT "${g_input}" NAME_WE)
|
||||
Sh_Conversion_Test(${GROOT}.g "mged")
|
||||
endforeach(g_input ${G_SAMPLE_MODELS})
|
||||
foreach(g_input ${G_BENCHMARK_MODELS})
|
||||
get_filename_component(GROOT "${g_input}" NAME_WE)
|
||||
Sh_Conversion_Test(${GROOT}.g "mged")
|
||||
endforeach(g_input ${G_BENCHMARK_MODELS})
|
||||
foreach(g_input ${G_SAMPLE_MODELS})
|
||||
get_filename_component(GROOT "${g_input}" NAME_WE)
|
||||
Sh_Conversion_Test(${GROOT}.g "mged")
|
||||
endforeach(g_input ${G_SAMPLE_MODELS})
|
||||
|
||||
list(REMOVE_DUPLICATES conversion_deps_list)
|
||||
foreach(gfile ${conversion_g_files})
|
||||
set(conversion_g_files_fp ${conversion_g_files_fp} "${CMAKE_BINARY_DIR}/${DATA_DIR}/db/${gfile}")
|
||||
endforeach(gfile ${conversion_g_files})
|
||||
add_custom_target(convert COMMAND ${SH_EXEC} ${CMAKE_SOURCE_DIR}/sh/conversion.sh GED=$<TARGET_FILE:mged> ${conversion_g_files_fp})
|
||||
set_target_properties(convert PROPERTIES EXCLUDE_FROM_DEFAULT_BUILD 1)
|
||||
set_target_properties(convert PROPERTIES FOLDER "BRL-CAD Conversion Tests")
|
||||
add_dependencies(convert ${conversion_deps_list})
|
||||
list(REMOVE_DUPLICATES conversion_deps_list)
|
||||
foreach(gfile ${conversion_g_files})
|
||||
set(conversion_g_files_fp ${conversion_g_files_fp} "${CMAKE_BINARY_DIR}/${DATA_DIR}/db/${gfile}")
|
||||
endforeach(gfile ${conversion_g_files})
|
||||
add_custom_target(convert COMMAND ${SH_EXEC} ${CMAKE_SOURCE_DIR}/sh/conversion.sh GED=$<TARGET_FILE:mged> ${conversion_g_files_fp})
|
||||
set_target_properties(convert PROPERTIES EXCLUDE_FROM_DEFAULT_BUILD 1)
|
||||
set_target_properties(convert PROPERTIES FOLDER "BRL-CAD Conversion Tests")
|
||||
add_dependencies(convert ${conversion_deps_list})
|
||||
endif (BRLCAD_ENABLE_TCL)
|
||||
endif(SH_EXEC)
|
||||
|
||||
CMAKEFILES(
|
||||
|
||||
Executable
+41
@@ -0,0 +1,41 @@
|
||||
string(REPLACE "\\" "" GCV_EXEC "${EXEC}")
|
||||
set(INPUT_FILE "@INPUT_FILE@")
|
||||
set(OUTPUT_FILE "@OUTPUT_FILE@")
|
||||
set(BIN_DIR "@BIN_DIR@")
|
||||
|
||||
# NOTE: OUTPUT_FILE needs to be defined in terms of a path relative to the root
|
||||
# of the build diretory, not as an absolute path. Since that root may change
|
||||
# at runtime in multiconfig builds, the full output path cannot be encoded
|
||||
# directly into the generated script.
|
||||
get_filename_component(OF_ABS "${OUTPUT_FILE}" ABSOLUTE)
|
||||
if ("${OF_ABS}" STREQUAL "${OUTPUT_FILE}")
|
||||
message(FATAL_ERROR "Absoute output file path \"${OUTPUT_FILE}\" supplied for conversion of \"${INPUT_FILE}\" - path must be relative.")
|
||||
endif ("${OF_ABS}" STREQUAL "${OUTPUT_FILE}")
|
||||
|
||||
# Because the build directory changes at runtime in multiconfig builds, we
|
||||
# need to deduce its current value from GCV_EXEC.
|
||||
get_filename_component(CBDIR "${GCV_EXEC}" DIRECTORY)
|
||||
string(REGEX REPLACE "${BIN_DIR}$" "" CROOT "${CBDIR}")
|
||||
|
||||
# BRLCAD_ROOT is the hammer that makes certain we are running
|
||||
# things found in the build directory.
|
||||
set(ENV{BRLCAD_ROOT} "${CROOT}")
|
||||
|
||||
# Now that we know the root, finalize the full path output file location
|
||||
set(OUTPUT_FILE "${CROOT}/${OUTPUT_FILE}")
|
||||
|
||||
execute_process(
|
||||
COMMAND "${GCV_EXEC}" -o "${OUTPUT_FILE}" "${INPUT_FILE}"
|
||||
RESULT_VARIABLE conv_result OUTPUT_VARIABLE conv_log ERROR_VARIABLE conv_log
|
||||
)
|
||||
|
||||
if(conv_result)
|
||||
message(FATAL_ERROR "[geometry conversion] Failure: ${conv_result}\n${GCV_EXEC} -o \"${OUTPUT_FILE}\" \"${INPUT_FILE}\"\n\n${conv_log}")
|
||||
endif(conv_result)
|
||||
|
||||
# Local Variables:
|
||||
# tab-width: 8
|
||||
# mode: cmake
|
||||
# indent-tabs-mode: t
|
||||
# End:
|
||||
# ex: shiftwidth=2 tabstop=8
|
||||
+64
-66
@@ -2,45 +2,30 @@ verbose_add_subdirectory(doc docbook)
|
||||
verbose_add_subdirectory(doc html)
|
||||
verbose_add_subdirectory(doc legal)
|
||||
|
||||
CMAKEFILES(
|
||||
parsers/bison_to_lemon.txt
|
||||
parsers/flex_to_re2c.txt
|
||||
parsers/templates/CMakeLists.txt
|
||||
parsers/templates/main.c
|
||||
parsers/templates/main.h
|
||||
parsers/templates/parser.lemon
|
||||
parsers/templates/scanner.perplex
|
||||
parsers/writing_perplex_lemon_parsers.txt
|
||||
)
|
||||
|
||||
set(documentation_DATA
|
||||
BRL-CAD.bib
|
||||
IDEAS
|
||||
PROJECTS
|
||||
README.AIX
|
||||
README.BSD
|
||||
README.IRIX
|
||||
README.Linux
|
||||
README.MacOSX
|
||||
README.Solaris
|
||||
README.VAX
|
||||
README.Windows
|
||||
TODO.BREP
|
||||
TODO.shaded_displays
|
||||
archer_ack.txt
|
||||
benchmark.tr
|
||||
bu_opt_design_notes.txt
|
||||
brep.txt
|
||||
BRL-CAD.bib
|
||||
README.other/README.AIX
|
||||
README.other/README.BSD
|
||||
README.other/README.IRIX
|
||||
README.other/README.Solaris
|
||||
README.other/README.VAX
|
||||
checklist.txt
|
||||
cvs.txt
|
||||
description.txt
|
||||
editors.txt
|
||||
ged.tr
|
||||
history.txt
|
||||
hypot.txt
|
||||
irprep.tr
|
||||
mater.txt
|
||||
matrix.txt
|
||||
notes/TODO.BREP
|
||||
notes/TODO.shaded_displays
|
||||
notes/brep.txt
|
||||
notes/bu_opt_design_notes.txt
|
||||
notes/cvs.txt
|
||||
notes/editors.txt
|
||||
notes/history.txt
|
||||
notes/hypot.txt
|
||||
notes/mater.txt
|
||||
notes/matrix.txt
|
||||
pre_BRL-CAD.bib
|
||||
)
|
||||
ADD_DOC(documentation_DATA ".")
|
||||
@@ -210,13 +195,11 @@ set(documentation_mged_old_DATA
|
||||
mged/wm-leg1.ps
|
||||
mged/wm-prims.ps
|
||||
mged/wm-tube.ps
|
||||
mk.tr
|
||||
notes/ecosystem.dot
|
||||
notes/regions.txt
|
||||
notes/rounding.txt
|
||||
notes/tool_categories.txt
|
||||
old-mged.tr
|
||||
pkg.tr
|
||||
regions.txt
|
||||
rounding.txt
|
||||
tool_categories.txt
|
||||
ecosystem.dot
|
||||
)
|
||||
ADD_DOC(documentation_mged_old_DATA mged_old)
|
||||
|
||||
@@ -225,42 +208,57 @@ install(FILES "${CMAKE_CURRENT_BINARY_DIR}/pad_file.xml" DESTINATION ${DOC_DIR})
|
||||
|
||||
CMAKEFILES(
|
||||
CMakeLists.txt
|
||||
README.OSCON-2014
|
||||
README.other/README.OSCON-2014
|
||||
STARTERS
|
||||
STRATEGY
|
||||
bsd_semaphore_bug.txt
|
||||
cmake_vars.txt
|
||||
csv_to_comgeom.txt
|
||||
implicit_constraints.txt
|
||||
lcov.txt
|
||||
notes/bsd_semaphore_bug.txt
|
||||
notes/cmake_paths/CMakeLists.txt
|
||||
notes/cmake_paths/README.txt
|
||||
notes/cmake_paths/dir_info.c
|
||||
notes/cmake_paths/test.cmake.in
|
||||
notes/cmake_vars.txt
|
||||
notes/csv_to_comgeom.txt
|
||||
notes/implicit_constraints.txt
|
||||
notes/lcov.txt
|
||||
pad_file.xml.in
|
||||
trunk_hierarchy.org
|
||||
)
|
||||
|
||||
# Generic C/C++ examples
|
||||
CMAKEFILES(
|
||||
c_cxx_patterns/01_basic_C/CMakeLists.txt
|
||||
c_cxx_patterns/01_basic_C/main.c
|
||||
c_cxx_patterns/01_basic_C/nlib.c
|
||||
c_cxx_patterns/01_basic_C/nlib.h
|
||||
c_cxx_patterns/02_hidden_C/CMakeLists.txt
|
||||
c_cxx_patterns/02_hidden_C/main.c
|
||||
c_cxx_patterns/02_hidden_C/nlib.c
|
||||
c_cxx_patterns/02_hidden_C/nlib.h
|
||||
c_cxx_patterns/03_PImpl_C/CMakeLists.txt
|
||||
c_cxx_patterns/03_PImpl_C/main.c
|
||||
c_cxx_patterns/03_PImpl_C/nlib.c
|
||||
c_cxx_patterns/03_PImpl_C/nlib.h
|
||||
c_cxx_patterns/04_hidden_CXX/CMakeLists.txt
|
||||
c_cxx_patterns/04_hidden_CXX/main.c
|
||||
c_cxx_patterns/04_hidden_CXX/nlib.cxx
|
||||
c_cxx_patterns/04_hidden_CXX/nlib.h
|
||||
c_cxx_patterns/05_PImpl_CXX/CMakeLists.txt
|
||||
c_cxx_patterns/05_PImpl_CXX/main.c
|
||||
c_cxx_patterns/05_PImpl_CXX/nlib.cxx
|
||||
c_cxx_patterns/05_PImpl_CXX/nlib.h
|
||||
c_cxx_patterns/CMakeLists.txt
|
||||
c_cxx_patterns/README
|
||||
notes/c_cxx_patterns/01_basic_C/CMakeLists.txt
|
||||
notes/c_cxx_patterns/01_basic_C/main.c
|
||||
notes/c_cxx_patterns/01_basic_C/nlib.c
|
||||
notes/c_cxx_patterns/01_basic_C/nlib.h
|
||||
notes/c_cxx_patterns/02_hidden_C/CMakeLists.txt
|
||||
notes/c_cxx_patterns/02_hidden_C/main.c
|
||||
notes/c_cxx_patterns/02_hidden_C/nlib.c
|
||||
notes/c_cxx_patterns/02_hidden_C/nlib.h
|
||||
notes/c_cxx_patterns/03_PImpl_C/CMakeLists.txt
|
||||
notes/c_cxx_patterns/03_PImpl_C/main.c
|
||||
notes/c_cxx_patterns/03_PImpl_C/nlib.c
|
||||
notes/c_cxx_patterns/03_PImpl_C/nlib.h
|
||||
notes/c_cxx_patterns/04_hidden_CXX/CMakeLists.txt
|
||||
notes/c_cxx_patterns/04_hidden_CXX/main.c
|
||||
notes/c_cxx_patterns/04_hidden_CXX/nlib.cxx
|
||||
notes/c_cxx_patterns/04_hidden_CXX/nlib.h
|
||||
notes/c_cxx_patterns/05_PImpl_CXX/CMakeLists.txt
|
||||
notes/c_cxx_patterns/05_PImpl_CXX/main.c
|
||||
notes/c_cxx_patterns/05_PImpl_CXX/nlib.cxx
|
||||
notes/c_cxx_patterns/05_PImpl_CXX/nlib.h
|
||||
notes/c_cxx_patterns/CMakeLists.txt
|
||||
notes/c_cxx_patterns/README
|
||||
)
|
||||
|
||||
# Notes about parser generators
|
||||
CMAKEFILES(
|
||||
notes/parsers/bison_to_lemon.txt
|
||||
notes/parsers/flex_to_re2c.txt
|
||||
notes/parsers/templates/CMakeLists.txt
|
||||
notes/parsers/templates/main.c
|
||||
notes/parsers/templates/main.h
|
||||
notes/parsers/templates/parser.lemon
|
||||
notes/parsers/templates/scanner.perplex
|
||||
notes/parsers/writing_perplex_lemon_parsers.txt
|
||||
)
|
||||
|
||||
# Local Variables:
|
||||
|
||||
@@ -1,849 +0,0 @@
|
||||
.\" $Header$
|
||||
.\" groff -t -ms -X benchmark.tr
|
||||
.\" groff -t -ms benchmark.tr | print-postscript
|
||||
.\"
|
||||
.\" sort '-t ' +7nr -8
|
||||
.de BR
|
||||
\fB\\$1\fR\\$2
|
||||
..
|
||||
.TL
|
||||
The BRL-CAD Benchmark Suite
|
||||
.AU
|
||||
Michael John Muuss
|
||||
.AU
|
||||
Charles M. Kennedy
|
||||
.AU
|
||||
Lee A. Butler
|
||||
.AI
|
||||
The U.S. Army Research Laboratory
|
||||
.PP
|
||||
This document describes the BRL-CAD Benchmark Suite Methodology, and
|
||||
the Ray-Tracing Figure of Merit (RTFM) used to judge the computational
|
||||
performance of different computer systems.
|
||||
.PP
|
||||
The core of the test is the \fBrt\fR ray-tracing program. The results
|
||||
for each processor are determined by running a benchmark test of the
|
||||
RT ray-tracing program on each of the sample databases provided. The
|
||||
\fBrt\fR program requires a binary database for input ("db/xxx.g"),
|
||||
and produces a binary image as output ("bench/xxx.pix"), along with a
|
||||
log file ("bench/xxx.log"). Each run will produce a 512x512x24 bit
|
||||
color shaded image in a "bench/xxx.pix" file, and a run log in
|
||||
"bench/xxx.log". Reference copies of the images are provided as
|
||||
"pix/xxx.pix" and "pix/xxx.log". The sample databases provided are
|
||||
processed in order of increasing difficulty, and each produces a
|
||||
colorful image. In each picture there are two light sources; the
|
||||
primary source is located near the center of the model (the white
|
||||
ball), and the secondary light source is located at the "eye"
|
||||
position.
|
||||
.NH 1
|
||||
The Benchmark Models
|
||||
.LP
|
||||
moss.g -- This is a simple model, containing a yellow torus, a green
|
||||
ellipsoid, a bluish cube, a pink truncated (distorted) cone, all
|
||||
sitting on a blue plate. Note the shadowing, and "specular splash".
|
||||
.sp
|
||||
world.g -- The same model as moss.g, but with various rendering
|
||||
features enabled. The model is enclosed in a hollow cloud sphere.
|
||||
The plate is a mirror, the egg is crystal, the box has a debugging
|
||||
texture map applied.
|
||||
.sp
|
||||
star.g -- A familiar sight to Star Trek fans; a low-detail exterior of
|
||||
the ship "Enterprise". The hull is white, with some other structures
|
||||
in other colors. The small red object in the foreground is the
|
||||
shuttlecraft Galileo, to scale.
|
||||
.sp
|
||||
bldg391.g -- An exploded view of a two-story imaginary computer site,
|
||||
including various walls, red stairways, green disk drives, etc. The
|
||||
lower floor is a mirror, the upper floor is glass.
|
||||
.sp
|
||||
m35.g -- A truck.
|
||||
.sp
|
||||
sphflake.g -- A sphereflake.
|
||||
.NH 1
|
||||
MACHINE INDEPENDENCE
|
||||
.PP
|
||||
To make the benchmark distribution machine independent, the databases
|
||||
are provided in an ASCII format in the "db" directory, and
|
||||
ascii-to-binary converters are provided in the "conv" directory. The
|
||||
setup command "\fBcake benchmark\fR" (see the document \fIInstalling
|
||||
the BRL-CAD Package\fR) will automatically compile and run the
|
||||
converters.
|
||||
.PP
|
||||
If you are running this benchmark on a non-UNIX machine that has
|
||||
difficulty writing binary streams, change the "-o file.pix" flag to
|
||||
"-O file.a_pix" and RT will write an ASCII form directly. For more
|
||||
discussion, consult the doc/pix.5 and conv/asc2pix.1 manual pages.
|
||||
.PP
|
||||
The reference images are distributed in binary BRL-CAD
|
||||
.BR pix (5)
|
||||
format. Earlier releases distributed the reference images in the
|
||||
portable ASCII form, and then converted them to the binary form. This
|
||||
consumed a significant amount of extra storage on UNIX machines, so
|
||||
this practice was discontinued. It is assumed that anyone attempting
|
||||
to benchmark a system that can not read pure binary files will at
|
||||
least have access to a UNIX system. That UNIX system can be used to
|
||||
convert the reference images to the portable ASCII form with the
|
||||
.BR pix2asc (1)
|
||||
tool, and then those images may be sent to the machine under test.
|
||||
.PP
|
||||
Information about modifying the benchmark to run on a particular
|
||||
system may be found in the document \fIInstalling the BRL-CAD
|
||||
Package\fR. For a detailed explanation of various hardware specific
|
||||
modifications necessary to take advantage of parallel processing, see
|
||||
the document \fIWorkstations, Networking, Distributed Graphics, and
|
||||
Parallel Processing\fR. Implementations for several different types
|
||||
of hardware in use at ARL are included.
|
||||
.PP
|
||||
If you encounter difficulty with running the benchmark, you might wish
|
||||
to build the full BRL-CAD package, to take advantage of the image
|
||||
tools in determining the nature of the problem. For example, one
|
||||
system suffered from a compiler bug that made TGC solids vanish, while
|
||||
another system had difficulties with the light visibility
|
||||
calculations.
|
||||
.NH 1
|
||||
OBTAINING CORRECT RESULTS
|
||||
.PP
|
||||
The benchmark timings are not considered valid unless the correct
|
||||
results are given. Make sure that the answers match the reference
|
||||
files to within plus-or-minus one in each color (see pixdiff(1)).
|
||||
Slight variations in the calculated pixels are generally attributable
|
||||
to variations in floating point precision. You may wish to compare
|
||||
the execution times and log file remarks from your tests (in the
|
||||
"bench/xxx.log" files) with the VAX-11/780 (with hardware FPA) times
|
||||
which are given in the "pix/xxx.log" files. The log file for sphflake
|
||||
has yet to be run on the same system, causing weighted results. It's
|
||||
still useful and informative, however, for deriving performance
|
||||
statistics. The reference images are also located in the "pix/"
|
||||
directory.
|
||||
.PP
|
||||
For example, if you are running the benchmark on a Cray XMP, the
|
||||
world.pix and bldg391.pix images will have a single byte in the blue
|
||||
channel off by 1, out in the cloud background. This is not to be
|
||||
considered an error.
|
||||
.NH 1
|
||||
BENCHMARK IMAGE DISPLAY
|
||||
.PP
|
||||
If you have a suitable framebuffer, you may wish to display the images
|
||||
generated by the benchmark, and compare them to the reference images.
|
||||
This section assumes that you have successfully compiled the full set
|
||||
of BRL-CAD software, not just the benchmark portion. Programs for
|
||||
dealing with images are in the "util" directory. To display a
|
||||
\fBpix\fR(5) file on a framebuffer, set environment variable FB_FILE
|
||||
(see \fBbrlcad\fR(1) for details), and run \fBpix-fb\fR. Note that by
|
||||
leaving FB_FILE unset, your default display will be used.
|
||||
.sp
|
||||
.nf
|
||||
.ft B
|
||||
cd bench
|
||||
pix-fb moss.pix
|
||||
.ft R
|
||||
.fi
|
||||
.sp
|
||||
If the images computed on your machine do not match the reference
|
||||
images, the program "util/pixdiff" will compute a pix file that will
|
||||
highlight the differences for you, and report a summary of bytes
|
||||
equal, off-by-1, and off-by-many, e.g.,
|
||||
.sp
|
||||
.ft B
|
||||
pixdiff moss.pix ../pix/moss.pix \(or pix-fb
|
||||
.ft R
|
||||
.fi
|
||||
.sp
|
||||
For a display of the relative magnitude of the differences at each
|
||||
pixel, use "util/bwdiff" instead, e.g.,
|
||||
.sp
|
||||
.nf
|
||||
.ft B
|
||||
bwdiff moss.pix ../pix/moss.pix \(or pix-fb
|
||||
.ft R
|
||||
or
|
||||
.ft B
|
||||
bwdiff moss.pix ../pix/moss.pix \(or \\
|
||||
bwmod -s 128 -m 4 -a 128 \(or pix-fb
|
||||
.ft R
|
||||
.fi
|
||||
.sp
|
||||
and for statistics on the differences, use
|
||||
.sp
|
||||
.ft B
|
||||
bwdiff moss.pix ../pix/moss.pix \(or pixstat
|
||||
.ft R
|
||||
.ne 8i
|
||||
.NH 1
|
||||
THE COMPETITION
|
||||
.PP
|
||||
The full benchmark takes about 9 CPU hours on a VAX-11/780, so you
|
||||
should scale your expectations accordingly.
|
||||
.PP
|
||||
Here is a sampling of some systems that have been tested, with as much
|
||||
information about the configuration as could be obtained. Some
|
||||
systems have a great many options for small things that can affect
|
||||
performance, such as memory interleaving.
|
||||
.LP
|
||||
.TS
|
||||
center box;
|
||||
l l.
|
||||
System Name Configuration
|
||||
_ _
|
||||
axposf DEC Alpha 4000/710, 256M, OSF/1 V3.0 \(dg
|
||||
ex-art Pentium-P90, 16MB, 256K cache, BSD/OS 2.0,
|
||||
hawks 486DX/33, 24MB, 256K cache, BSD/OS 2.0
|
||||
orac 486/100, 20MB, No cache, BSD/OS 2.0 (laptop)
|
||||
pk Cray C90, C916/161024, UNICOS 8.0.2.4
|
||||
vapor SGI, 18* 75 MHz R8000 IP21, 1024M RAM 8-way, Irix 6.0
|
||||
vblt 66 MHz 486DX2/66, 16M RAM, Linux 1.1.73
|
||||
vgr DEC VAX-11/780 w/FPA, 64M RAM, 4.3 BSD
|
||||
vision Sun-3/280 w/68881 FPA, 16M RAM, SunOS 4.1.1
|
||||
voyage SGI, 4* 25 MHz R3000 IP7, 56M RAM, Irix 4.0.1
|
||||
whiz SGI Ingido**2, 100 MHz IP22, 96M RAM, Irix 5.2
|
||||
waffle SGI, 4* 25 MHz R3000 IP7, 64M RAM, Irix 4.0.5 (heavy network use)
|
||||
warp Sun SPARCstation 5, 32M RAM, SunOS 4.1.4
|
||||
wax SGI, 24* 150 MHz R4400 IP19, 1024M RAM 4-way, Irix 5.2
|
||||
wilson SGI, 8* 100 MHz R4400 IP19, 1024M RAM 8-way, Irix 5.2
|
||||
wilted Sun-4/25 ELC, 16M RAM, SunOS 4.1.1
|
||||
wimp 33 MHz 386DX/33 w/387, 256k cache, 16M RAM, BSDI 2.0beta2
|
||||
wimpy Sun SS10BSX-GX, 2* 50 MHz SuperSPARC, 64M RAM, SunOS 5.4
|
||||
wizard SGI Ingido**2, 150 MHz IP22, 96M RAM, Irix 5.3
|
||||
.TE
|
||||
\(dg The Alpha was heavily loaded while the benchmark was being run.
|
||||
DEC requires us to show the load average at the time:
|
||||
.br
|
||||
03:28 up 18 days, 10:59, 7 users, load average: 2.00, 2.00, 2.08
|
||||
.NH 1
|
||||
BENCHMARK RESULTS
|
||||
.PP
|
||||
In the tradition of Dongarra, the Rays/sec figure is considered the
|
||||
"RT Figure of Merit" (RTFM). Note that the RTFM can only be compared
|
||||
between different runs on the \fIsame\fR database; it is not
|
||||
meaningful to compare RTFM numbers between different databases. The
|
||||
Rays/sec number for a multi-processor machine is for "aggregate CPU
|
||||
cluster seconds", rather than rays/total CPU seconds (which remains
|
||||
fairly constant on good parallel machines).
|
||||
.PP
|
||||
The statistics are recorded in an easily understood format, with all
|
||||
results for a particular configuration listed on a single line. The
|
||||
numbers reported are the rays/sec (RTFM) figure. Entries denoted with
|
||||
a dagger ("\(dg") produced incorrect results. Entries denoted with a
|
||||
dash ("-") were not available and should be considered differently
|
||||
than those entries with a dagger. Generally the results are not
|
||||
available because time constraints prevented running the complete set
|
||||
of databases.
|
||||
.fi
|
||||
.br
|
||||
.ne 8i
|
||||
.NH 1
|
||||
RELEASE 4.4 STATISTICS (4-Jan-1995)
|
||||
.PP
|
||||
There is very little difference in RTFM numbers between Release 4.0
|
||||
and Release 4.4, so they can be usefully compared. In some cases the
|
||||
4.4 performance is slower due to the use of shared libraries. For
|
||||
example "vision" dropped from 1.33 to 1.22 due to the shared
|
||||
libraries. For most users reducing the disk consumption from 300
|
||||
MBytes to 30 MBytes makes this a reasonable tradeoff. However, for
|
||||
the best performance, use non-shared libraries.
|
||||
.LP
|
||||
.TS H
|
||||
expand box;
|
||||
l | n n n n n | n | l.
|
||||
H/W Moss World Star Bldg M35 Mean S/W Notes
|
||||
_
|
||||
.TH
|
||||
vapor 810.91 1091.39 1012.63 1027.25 1092.85 1007 -P18 static
|
||||
vapor 773.8 1038.7 979.49 970.91 1036.62 959.9 -P17
|
||||
vapor 732.85 1021.69 968.93 922.62 1024.15 934.04 -P18 (SW lock)
|
||||
wax 769.38 940.83 953.36 924.7 1050.14 927.68 -P24
|
||||
vapor 730.17 994.97 934.43 917.1 987.83 912.9 -P16
|
||||
wax 725.26 957.68 927.61 932.67 992.75 907.19 -P24
|
||||
wax 756.95 915.96 940.43 903.45 966.09 896.57 -P23
|
||||
vapor 686.8 939.63 897.72 884.39 927.16 867.14 -P15
|
||||
wax 691.18 853.75 887.17 859.32 933.41 844.96 -P21
|
||||
wax 724.73 683.08 890.87 900.82 939.31 827.76 -P22
|
||||
vapor 645.32 881.18 843.23 801.41 859.26 806.08 -P14
|
||||
wax 637.28 757.74 820.21 871.37 877.6 792.84 -P20
|
||||
vapor 608.12 835.84 795.36 759.95 806.32 761.11 -P13
|
||||
_
|
||||
wax 606.98 784.3 754.46 799.95 794.52 748.04 -P19
|
||||
wax 590.16 758.23 794.06 794.52 757.79 738.95 -P18
|
||||
wax 579.29 722.35 787.55 720.26 754.65 712.82 -P17
|
||||
vapor 571.14 783.72 740.47 697.24 746.72 707.85 -P12
|
||||
wax 553.72 697.1 744.21 663.61 723.03 676.33 -P16
|
||||
vapor 534.85 716.58 685.87 656.25 685.77 655.86 -P11
|
||||
wax 519.01 655.57 690.95 651.9 663.92 636.27 -P15
|
||||
wax 475.88 637.33 665.38 608.31 653.99 608.17 -P14
|
||||
vapor 499.46 663.26 633.48 614.58 624.34 607.02 -P10
|
||||
wax 449.16 591.54 616.21 590.59 614.25 572.35 -P13
|
||||
vapor 463.3 598.34 575.07 555.62 560.89 550.64 -P9
|
||||
wax 424.71 556.8 595.02 521.63 538.78 527.38 -P12
|
||||
vapor 424.89 534.5 509.85 497.63 503.99 494.17 -P8
|
||||
wax 391.66 490.63 545.28 488.57 508.96 485.02 -P11
|
||||
wax 315.45 472.03 525.47 442.37 461.44 443.35 -P10
|
||||
vapor 381.1 467.67 440.13 425.57 442.04 431.3 -P7
|
||||
wax 309.35 426.37 386.11 417.85 434.96 394.92 -P9
|
||||
vapor 336.55 392.2 390.72 373.92 380.03 374.68 -P6
|
||||
_
|
||||
wax 307.6 361.32 396.07 380.17 380.74 365.18 -P8
|
||||
wax 245.87 332.33 362.5 338.62 331.39 322.14 -P7
|
||||
vapor 288.45 327.78 328.76 314.54 320.16 315.93 -P5
|
||||
wax 254.82 255.29 299.93 302.08 256.54 273.73 -P6
|
||||
wilson 223.01 265.17 287.8 262.19 269.62 261.55 -P8
|
||||
vapor 240.6 269.93 266.46 253.99 259.05 258 -P4
|
||||
wax 215.96 231.65 221.78 248.63 221.45 227.89 -P5
|
||||
wax 177.94 185.27 213.74 201.64 197.27 195.17 -P4
|
||||
vapor 187.58 198.84 202.28 191.94 194.74 195.07 -P3
|
||||
wax 120.4 138.01 162.12 159.36 141.33 144.24 -P3
|
||||
vapor 130.61 140.04 134.88 129.38 129.78 132.93 -P2
|
||||
wax 100.83 102.09 111.12 87.26 98.62 99.98 -P2
|
||||
wimpy 99.10 95.78 92.15 97.51 96.65 96.23 -P2
|
||||
wimpy 82.14 93.60 92.17 103.59 82.22 90.74 -P2
|
||||
_
|
||||
axposf 81.05 82.27 86.72 84.36 79.28 82.73 -P1
|
||||
vapor 79.68 77.7 73.89 71.38 70.06 74.54 -P1 static
|
||||
vapor 69.34 70.14 67.52 65.55 66.69 67.84 -P1 shared
|
||||
wizard 63.8 55.86 68.97 73.21 61.56 64.68
|
||||
wax 62.28 58.58 65.24 67.39 59.31 62.56 -P1
|
||||
wax 59.08 56.06 61.45 64.4 56.11 59.42 -P1
|
||||
voyage 52.78 55.44 58.19 58.03 52.41 55.37 -P4
|
||||
pk 64.89 55.71 48.01 49.50 53.43 54.30 -P1
|
||||
waffle 38.56 47.63 62.36 59.62 51.20 51.87 -P4
|
||||
wimpy 50.17 48.82 50.46 55.12 49.27 50.76 -P1
|
||||
wimpy 47.80 43.23 51.37 54.10 46.23 48.54 -P1
|
||||
weber 46.53 43.45 50.88 50.33 46.03 47.44 -P1
|
||||
wilson 41.16 39.54 45.98 42.93 34.82 40.88 -P1
|
||||
whiz 36.25 31.08 37.21 39.62 36.98 36.22
|
||||
warp 19.88 21.33 23.71 24.19 22.60 22.34
|
||||
ex-art 16.89 18.54 22.98 26.97 25.57 22.19
|
||||
orac 7.57 8.23 10.72 12.43 11.30 10.05
|
||||
wilted 9.58 9.53 10.66 10.53 9.87 10.03
|
||||
hawks 3.64 4.17 5.71 6.90 6.23 5.33
|
||||
vblt 4.85 4.89 5.29 5.24 4.90 5.03
|
||||
wimp 1.16 1.34 1.82 2.25 2.06 1.72
|
||||
vision 1.07 1.23 1.23 1.31 1.26 1.22 -P1
|
||||
vgr 1.0 1.0 1.0 1.0 1.0 1.0
|
||||
.TE
|
||||
.br
|
||||
.ne 8i
|
||||
.NH 1
|
||||
THE OLD COMPETITION
|
||||
.PP
|
||||
These are the definitions for systems measured in previous tests.
|
||||
.LP
|
||||
.TS
|
||||
center box;
|
||||
l l.
|
||||
System Name Configuration
|
||||
_ _
|
||||
alliant Alliant FX/8 (8 CEs, 9 IPs, 64 Mbytes), Concentrix 3.0
|
||||
amber HP 9000/720, 32 MB memory
|
||||
amsaa-seer Gould PN 9080, w/MACCs, UTX 2.0, 4x4Mb mem boards
|
||||
ardec-3 Pyramid 90Mx, Dual-CPU, OSx 2.5, 16 Mbytes
|
||||
bob Cray-2, SN 2009, 4.3ns clock
|
||||
cor3 Pyramid MIS-12T/3, OSx 192
|
||||
patton Cray X-MP/48, SN213, UNICOS 5.0, 8.5ns clock
|
||||
uy1 Cray Y-MP8/2128, UNICOS 5.1.11
|
||||
shpcrc2 IBM RS/6000, AIX 3.1
|
||||
slc1 Macintosh II, 68020, 68881, AUX 1.1, GCC 1.39
|
||||
spark Gould PN 9050, no MACC, UTX 2.0, 2x4Mb mem boards
|
||||
sws2 Convex C120, 16 Mbytes, Convex Unix 6.2.32.2
|
||||
vector Alliant FX/80 (8 ACEs, 6 IPs, 32 Mbytes), Concentrix
|
||||
venom Alliant FX/8 (8 CEs, 6 IPs, 32 Mbytes), Concentrix
|
||||
vgr VAX 780, FPA, 4.3 BSD
|
||||
virus Sun-3/50, 15 Mhz clock, 12 Mhz 68881, Sun UNIX 3.2
|
||||
vista SGI 3030, w/FP chip, UNIX release 3.5
|
||||
vmb Gould PN 9080, no MACCs, UTX 2.0, 12x1Mb mem boards
|
||||
vhs Silicon Graphics 4D/60T, 12.5 Mhz clock 16 MB memory
|
||||
ovoyage Silicon Graphics 4D/120, 16.7 Mhz clock 16 MB memory
|
||||
taylor Silicon Graphics 4D/220, 25 Mhz clock 16 MB memory
|
||||
crim Silicon Graphics 4DCRIMS 50Mhz clock 128 MB memory
|
||||
wiltse Silicon Graphics 4D R4000 50Mhz clock
|
||||
c1east T{
|
||||
Convex C1 XP (2 IOPs, 4 Multibus, 64 Mbytes),
|
||||
S/W 6.0.1.12
|
||||
T}
|
||||
elxsi-gnu Elxsi 6420, BSD 4.2 16 MB
|
||||
elxsi-gnuy Elxsi 6420, Sys Vr2, 16MB
|
||||
elxsi-m1 Elxsi 6410, BSD 4.2 16 MB
|
||||
hep Denelcor HEP, 4 PEMs
|
||||
indigo SGI Iris 3030, FPA, GL2-W3.5
|
||||
mseries T{
|
||||
MIPS Mseries, Release 0.6, UMIPS 2.1, 16 MB of R2350 RAM.
|
||||
R2000 CPU rev 5.0, R2010 FP rev 2.0
|
||||
T}
|
||||
multiflow Multiflow Trace 7/200 (PRELIMINARY)
|
||||
nova T{
|
||||
Sun SPARCserver 490, 32 Mb, 33 MHz clock, 33 MHz TI 8847 FPU, SunOS 4.1.1B
|
||||
T}
|
||||
rh2 Tektronix, Motorola 88000
|
||||
snm2 Cray 1-M, SN2, UNICOS 2.0
|
||||
sws1 Convex C1, ConvexOS 9.1 48MB memory
|
||||
tek4132 Tektronix 4132, 32082 fpp, UTek 2.3
|
||||
utah-gr VAX 785, FPA, 4.3 BSD
|
||||
utah-cs VAX 8600, FPA, 4.3 BSD
|
||||
veto Sun 4/260 32MB memory Sun UNIX 4.0.3
|
||||
violet VaxStationII GPX, Ultrix 1.2
|
||||
vision Sun-3/280, 16 MB memory
|
||||
vortac Sun-3/160, 16.67 Mhz clock, 12 Mhz 68881, Sun 3.2
|
||||
walrus Silicon Graphics 4D/280 25 Mhz clock 64 MB memory Irix 3.3.1
|
||||
whiz Silicon Graphics 4D/240 25 Mhz clock 56 MB memory Irix 3.3.1
|
||||
whisper Sun SPARCStation 1+
|
||||
wilted Sun SPARCstation ELC , Diskless, 12MB memory Sun UNIX 4.1.1
|
||||
worm Silicon Graphics 4D/280 25 Mhz clock 64 MB memory Irix 3.3.1
|
||||
.TE
|
||||
.br
|
||||
.ne 8i
|
||||
.NH 1
|
||||
OLD BENCHMARK RESULTS
|
||||
.PP
|
||||
These are the results of previous benchmarks.
|
||||
.NH 1
|
||||
RELEASE 1.20 STATISTICS (12-Feb-1987)
|
||||
.LP
|
||||
.TS H
|
||||
expand box;
|
||||
l l | n n n n | n | l.
|
||||
A/* H/W Moss World Star Bldg Mean S/W Notes
|
||||
_
|
||||
.TH
|
||||
Rays tek4132 80.5 44.0 33.9 31.4 ? UTek 2.3
|
||||
*vgr tek4132 0.72 0.69 0.62 0.62 ?
|
||||
_
|
||||
Rays violet 107.7 57.3 44.7 44.1 ? Ultrix 1.2
|
||||
*vgr violet 0.96 0.90 0.81 0.87 ?
|
||||
_
|
||||
Rays violet 119.0 63.0 50.0 46.3 ? Ultrix 1.2,
|
||||
*vgr violet 1.06 0.99 0.91 0.91 ? w/fast_sqrt
|
||||
_
|
||||
Rays vgr 112.1 63.6 55.0 50.7 ? BSD 4.3
|
||||
*vgr vgr 1.0 1.0 1.0 1.0 1.0
|
||||
_
|
||||
Rays indigo 115.9 85.3 \(dg 101.8 ? GL2-W3.5
|
||||
*vgr indigo 1.03 1.34 \(dg 2.01 ?
|
||||
_
|
||||
Rays vista 116.4 86.0 \(dg 102.3 ? SGI UNIX 3.5
|
||||
*vgr vista 1.04 1.35 \(dg 2.02 ?
|
||||
_
|
||||
Rays virus 127.3 69.9 57.0 52.4 ? Sun UNIX 3.2
|
||||
*vgr virus 1.14 1.10 1.04 1.03 ?
|
||||
_
|
||||
Rays vortac 148.2 81.0 65.8 60.7 ? Sun UNIX 3.2
|
||||
*vgr vortac 1.32 1.27 1.20 1.20 ?
|
||||
_
|
||||
Rays utah-gr 191.8 105.8 89.9 86.5 ? 4.3 BSD
|
||||
*vgr utah-gr 1.71 1.66 1.64 1.71 ?
|
||||
_
|
||||
Rays ardec-3 - 68.4 57.2 - ? OSx 2.5
|
||||
*vgr ardec-3 - 1.08 1.04 - ?
|
||||
_
|
||||
Rays elxsim1 380.5 232.2 204.8 189.3 ? BSD 4.2
|
||||
*vgr elxsim1 3.39 3.65 3.72 3.73 ?
|
||||
_
|
||||
Rays spark 413.4 232.0 213.8 211.9 ? UTX 2.0
|
||||
*vgr spark 3.69 3.65 3.89 4.18 ?
|
||||
_
|
||||
Rays vmb 413.9 233.4 210.6 212.6 ? UTX 2.0
|
||||
*vgr vmb 3.69 3.67 3.83 4.19 ?
|
||||
_
|
||||
Rays c1east 454.8 252.4 205.6 192.3 ? Convex UNIX 6.0.1.12,
|
||||
*vgr c1east 4.06 3.97 3.74 3.80 ? vanilla cc
|
||||
_
|
||||
Rays seer 460.7 263.2 246.8 241.0 ? UTX 2.0
|
||||
*vgr seer 4.11 4.14 4.49 4.75 ?
|
||||
_
|
||||
Rays venom 492.9 228.0 180.0 157.1 ? Concentrix 2.0
|
||||
*vgr venom 4.40 3.58 3.27 3.10 ?
|
||||
_
|
||||
Rays elxgnu 520.6 315.4 264.4 242.0 ? BSD 4.2
|
||||
*vgr elxgnu 4.64 4.96 4.81 4.77 ?
|
||||
_
|
||||
Rays utah-cs 521.1 292.1 237.4 216.2 ? BSD 4.3
|
||||
*vgr utah-cs 4.64 4.59 4.32 4.27 ?
|
||||
_
|
||||
Rays c1east 521.6 285.3 230.5 215.1 ? Convex UNIX 6.0.1.12,
|
||||
*vgr c1east 4.66 4.49 4.20 4.24 ? vc -O1 (scalar)
|
||||
_
|
||||
Rays c1east 527.7 287.4 228.7 210.0 ? Convex UNIX 6.0.1.12,
|
||||
*vgr c1east 4.71 4.52 4.16 4.14 ? vc -O2 (vector)
|
||||
_
|
||||
Rays elxgnuy 644.7 349.3 264.6 242.1 ? System Vr2
|
||||
*vgr elxgnuy 5.75 5.49 4.81 4.77 ?
|
||||
_
|
||||
Rays mflow 845.2 439.5 313.1 338.9 ? (preliminary)
|
||||
*vgr mflow 7.54 6.91 5.69 6.68 ?
|
||||
_
|
||||
Rays venom 904.9 424.6 349.3 312.6 ? Concentrix 2.0,
|
||||
*vgr venom 8.07 6.68 6.35 6.17 ? 2 CEs, no vectors
|
||||
_
|
||||
Rays venom 1375.5 650.0 523.4 459.9 ? Concentrix 2.0,
|
||||
*vgr venom 12.27 10.22 9.52 9.07 ? 3 CEs, no vectors
|
||||
_
|
||||
Rays venom 1813.5 845.5 686.0 600.7 ? Concentrix 2.0,
|
||||
*vgr venom 16.17 13.29 12.47 11.85 ? 4 CEs, no vectors
|
||||
_
|
||||
Rays venom 2364.1 1104.4 870.2 775.9 ? Concentrix 2.0,
|
||||
*vgr venom 21.08 17.36 15.82 15.3 ? 5 CEs, no vectors
|
||||
_
|
||||
Rays snm2 2492.9 - - - ? Unicos 2.0,
|
||||
*vgr snm2 22.24 - - - ? no vectors, no optim
|
||||
_
|
||||
Rays hep 2502.0 - - - ? 1 PEM, npsw=10
|
||||
*vgr hep 22.32 - - - ?
|
||||
_
|
||||
Rays venom 2811.4 1319.0 1051.6 918.0 ? Concentrix 2.0,
|
||||
*vgr venom 25.08 20.74 19.12 18.1 ? 6 CEs, no vectors
|
||||
_
|
||||
Rays venom 3248.8 1533.0 1232.3 1065.9 ? Concentrix 2.0,
|
||||
*vgr venom 28.98 24.10 22.41 21.02 ? 7 CEs, no vectors
|
||||
_
|
||||
Rays patton 3453.3 1514.3 1271.2 1027.3 ? COS V115BF2
|
||||
*vgr patton 30.81 23.81 23.11 20.26 ? 1 CPU, no vectors
|
||||
_
|
||||
Rays venom 3677.3 1724.2 1375.4 1208.4 ? Concentrix 2.0,
|
||||
*vgr venom 32.80 27.11 25.01 23.83 ? 8 CEs, no vectors
|
||||
_
|
||||
Rays alliant 3972.9 1840.0 1457.2 1266.4 ? Concentrix 3.0,
|
||||
*vgr alliant 35.44 28.93 26.49 24.98 ? 8 CEs, no vectors
|
||||
_
|
||||
Rays hep 4055.9 - - - ? 1 PEM, npsw=40
|
||||
*vgr hep 36.18 - - - ?
|
||||
_
|
||||
Rays patton 6856.6 - 2522.2 - ? COS V115BF2
|
||||
*vgr patton 61.16 - 45.86 - ? 2 CPUs, no vectors
|
||||
_
|
||||
Rays patton 10205.1 - 3749.9 - ? COS V115BF2
|
||||
*vgr patton 91.04 - 68.18 - ? 3 CPUs, no vectors
|
||||
_
|
||||
Rays patton 13320.2 - 4955.6 - ? COS V115BF2
|
||||
*vgr patton 118.82 - 90.10 - ? 4 CPUs, no vectors
|
||||
.TE
|
||||
.NH 1
|
||||
RELEASE 2.3 STATISTICS (2-Nov-1987)
|
||||
.LP
|
||||
.TS H
|
||||
expand box;
|
||||
l l | n n n n | n | l.
|
||||
A/* H/W Moss World Star Bldg Mean S/W Notes
|
||||
_
|
||||
.TH
|
||||
Rays vgr 118.8 64.9 36.5 34.2 ? BSD 4.3
|
||||
*vgr vgr 1.0 1.0 1.0 1.0 1.0
|
||||
_
|
||||
Rays vmb 375.4 218.6 186.4 196.2 ? UTX 2.0
|
||||
*vgr vmb 3.16 3.37 5.11 5.74 ?
|
||||
_
|
||||
Rays venom 468.2 221.7 166.1 144.9 ? Concentrix 3.0,
|
||||
*vgr venom 3.94 3.42 4.55 4.24 ? 1 CE, no vectors
|
||||
_
|
||||
Rays sws2 471.9 258.4 202.5 186.4 ? Convex Unix 6.2.32.2
|
||||
*vgr sws2 3.97 3.98 5.55 5.45 ? vanilla cc -O
|
||||
_
|
||||
Rays vector 656.6 301.6 221.1 195.0 ? Concentrix 3.0,
|
||||
*vgr vector 5.53 4.65 6.06 5.70 ? 1 ACE, no vectors
|
||||
_
|
||||
Rays venom 827.3 424.0 327.1 287.9 ? Concentrix 3.0,
|
||||
*vgr venom 6.96 6.53 8.96 8.42 ? 2 CEs, no vectors
|
||||
_
|
||||
Rays vhs 958.3 545.6 447.0 414.1 ? -O2 optimization
|
||||
*vgr vhs 8.07 9.41 12.25 12.11 ?
|
||||
_
|
||||
Rays mseries 988.3 603.5 515.6 491.6 ?
|
||||
*vgr mseries 8.32 9.29 14.13 14.37 ?
|
||||
_
|
||||
Rays vector 1280.9 596.8 436.7 389.2 ? Concentrix 3.0,
|
||||
*vgr vector 10.78 9.19 11.96 11.38 ? 2 ACEs, no vectors
|
||||
_
|
||||
Rays venom 1288.7 630.6 486.4 428.0 ? Concentrix 3.0,
|
||||
*vgr venom 10.85 9.72 13.33 12.51 ? 3 CEs, no vectors
|
||||
_
|
||||
Rays venom 1732.9 853.2 645.4 560.1 ? Concentrix 3.0,
|
||||
*vgr venom 14.59 13.15 17.68 16.38 ? 4 CEs, no vectors
|
||||
_
|
||||
Rays bob 1856.7 801.9 574.1 500.3 ? 1 CPU, UNICOS 3.0,
|
||||
*vgr bob 15.63 12.36 15.73 15.62 ? CC -O
|
||||
_
|
||||
Rays vector 1952.1 881.7 647.6 578.8 ? Concentrix 3.0,
|
||||
*vgr vector 16.43 13.58 17.74 16.92 ? 3 ACEs, no vectors
|
||||
_
|
||||
Rays venom 2158.4 1031.3 797.3 703.1 ? Concentrix 3.0,
|
||||
*vgr venom 18.17 15.89 21.84 20.56 ? 5 CEs, no vectors
|
||||
_
|
||||
Rays bob 2346.1 1127.4 751.0 677.2 ? 1 CPU UNICOS 4.0
|
||||
*vgr bob 19.75 17.37 20.57 19.80 ? CC -O
|
||||
_
|
||||
Rays bob 2423.5 1045.7 719.3 609.4 ? 1 CPU, UNICOS 3.0,
|
||||
*vgr bob 20.40 16.11 19.71 17.82 ? VCC -O
|
||||
_
|
||||
Rays vector 2546.2 1170.0 867.2 758.7 ? Concentrix 3.0,
|
||||
*vgr vector 21.43 18.03 23.76 22.18 ? 4 ACEs, no vectors
|
||||
_
|
||||
Rays venom 2633.7 1232.7 943.4 839.5 ? Concentrix 3.0,
|
||||
*vgr venom 22.17 18.99 25.85 24.55 ? 6 CEs, no vectors
|
||||
_
|
||||
Rays venom 2769.4 1393.3 1098.1 971.6 ? Concentrix 3.0,
|
||||
*vgr venom 23.31 21.47 30.08 28.41 ? 7 CEs, no vectors
|
||||
_
|
||||
Rays vector 3131.2 1453.8 1065.8 945.4 ? Concentrix 3.0,
|
||||
*vgr vector 26.36 22.40 29.20 27.64 ? 5 ACEs, no vectors
|
||||
_
|
||||
Rays venom 3368.7 1605.3 1231.3 1095.11 ? Concentrix 3.0,
|
||||
*vgr venom 28.36 24.73 33.73 32.02 ? 8 CEs, no vectors
|
||||
_
|
||||
Rays patton 3456.5 1691.8 1169.0 1043.6 ? 1 CPU, UNICOS 2.1
|
||||
*vgr patton 29.10 26.07 32.03 30.51 ? no vectors
|
||||
_
|
||||
Rays vector 3686.4 1688.6 1259.1 1129.0 ? Concentrix 3.0,
|
||||
*vgr vector 31.03 26.02 34.49 33.01 ? 6 ACEs, no vectors
|
||||
_
|
||||
Rays vector 4140.3 1953.0 1463.3 1299.7 ? Concentrix 3.0,
|
||||
*vgr vector 34.85 30.09 40.09 38.00 ? 7 ACEs, no vectors
|
||||
_
|
||||
Rays bob 4641.7 2243.4 1498.2 1358.1 ? 2 CPUs, UNICOS 4.0
|
||||
*vgr bob 39.07 34.57 41.05 39.71 ? CC -O
|
||||
_
|
||||
Rays vector 4712.2 2226.3 1649.0 1469.7 ? Concentrix 3.0,
|
||||
*vgr vector 39.66 34.30 45.18 42.97 ? 8 ACEs, no vectors
|
||||
_
|
||||
Rays bob 6884.9 3422.4 2267.7 2034.3 ? 3 CPUs, UNICOS 4.0
|
||||
*vgr bob 57.95 52.73 62.13 59.48 ? CC -O
|
||||
_
|
||||
Rays bob 9477.1 4484.7 2947.0 2832.9 ? 4 CPUs, UNICOS 4.0
|
||||
*vgr bob 79.77 69.10 80.76 82.83 ? CC -O
|
||||
.TE
|
||||
.NH 1
|
||||
RELEASE 3.0 STATISTICS (10-Oct-1988)
|
||||
.LP
|
||||
.TS H
|
||||
expand box;
|
||||
l l | n n n n | n | l.
|
||||
A/* H/W Moss World Star Bldg Mean S/W Notes
|
||||
_
|
||||
.TH
|
||||
Abs vgr 138.85 67.15 54.48 49.11 77.39 BSD 4.3
|
||||
*vgr vgr 1.00 1.00 1.00 1.00 1.00 w/FPA
|
||||
_
|
||||
Abs sdm 163.56 76.98 59.79 52.51 88.21 SunOS 3.4
|
||||
*vgr sdm 1.17 1.14 1.09 1.06 1.11 w/68881
|
||||
_
|
||||
Abs ardec-3 417.95 212.43 177.01 160.73 242.03 9820, OSx 4.1
|
||||
*vgr ardec-3 3.01 3.16 3.24 3.27 3.17 -P 1
|
||||
_
|
||||
Abs spark 443.84 216.92 190.42 192.82 261.00 UTX 2.0
|
||||
*vgr spark 3.19 3.23 3.49 3.92 3.37 no MACC
|
||||
_
|
||||
Abs vmb 482.28 226.33 191.52 193.04 273.29 UTX 2.0
|
||||
*vgr vmb 3.47 3.37 3.51 3.93 3.57 no MACC
|
||||
_
|
||||
Abs sws2 546.23 255.45 183.10 163.85 287.15 Convex 6.2.32.2
|
||||
*vgr sws2 3.93 3.80 3.36 3.33 3.60 /bin/cc
|
||||
_
|
||||
Abs sun4 767.7 373.7 315.5 284.5 435.6 Unix 3.5
|
||||
*vgr sun4 5.52 5.56 5.79 5.79 5.62 -O2 optim
|
||||
_
|
||||
Abs video 940.33 469.30 399.21 367.64 544.12 UNIX 2.0
|
||||
*vgr video 6.77 6.98 7.32 7.48 7.13 -O2
|
||||
_
|
||||
Abs vhs 954.81 471.90 409.78 392.55 557.26 IRix 3.1
|
||||
*vgr vhs 6.87 7.02 7.52 7.99 7.45 Parallel, -P1
|
||||
_
|
||||
Abs bob 2602.68 1078.25 712.39 642.42 1258.93 UNICOS 4.0, /bin/cc
|
||||
*vgr bob 21.22 18.17 15.39 13.98 17.19 -P 1
|
||||
_
|
||||
Abs vector 3811.68 1469.80 1060.50 921.21 1815.79 Alliant 3.0
|
||||
*vgr vector 27.45 21.88 19.46 18.75 21.88 -P 5
|
||||
_
|
||||
Abs vector 4515.09 1751.94 1266.49 1090.85 2156.09 Alliant 3.0
|
||||
*vgr vector 32.51 26.08 23.24 22.21 26.01 -P 6
|
||||
_
|
||||
Abs patton 4550.67 1920.15 1298.61 1153.02 2230.61 UNICOS 3.0, /bin/cc
|
||||
*vgr patton 37.10 32.36 28.05 25.09 30.65 -P 1
|
||||
_
|
||||
Abs vector 5130.74 2004.49 1438.97 1261.36 2458.89 Alliant 3.0
|
||||
*vgr vector 36.95 29.85 26.41 25.68 29.72 -P 7
|
||||
_
|
||||
Abs bob 5186.24 2132.17 1409.10 1273.72 2500.30 UNICOS 4.0, /bin/cc
|
||||
*vgr bob 42.28 35.93 30.44 27.71 34.09 -P 2
|
||||
_
|
||||
Abs vector 5813.76 2260.61 1638.31 1422.82 2783.87 Alliant 3.0
|
||||
*vgr vector 41.87 33.66 30.07 28.97 33.64 -P 8
|
||||
_
|
||||
Abs amber 5901.29 2702.65 2096.35 1893.41 3148.42
|
||||
*vgr amber 42.50 40.24 38.47 38.55 39.94 -P 1
|
||||
_
|
||||
Abs bob 7934.12 3392.98 2119.11 1929.74 3843.98 UNICOS 4.0, /bin/cc
|
||||
*vgr bob 64.69 57.18 45.78 41.99 52.41 -P 3
|
||||
_
|
||||
Abs patton 8898.79 3782.55 2559.48 2292.13 4383.23 UNICOS 3.0, /bin/cc
|
||||
*vgr patton 72.56 63.75 55.30 49.88 60.37 -P 2
|
||||
_
|
||||
Abs bob 10734.52 4436.61 2883.53 2617.47 5168.03 UNICOS 4.0, /bin/cc
|
||||
*vgr bob 87.52 74.77 62.30 56.96 70.38 -P 4
|
||||
_
|
||||
Abs patton 13078.79 5631.95 3832.88 3416.90 6490.13 UNICOS 3.0, /bin/cc
|
||||
*vgr patton 106.64 94.92 82.81 74.36 89.68 -P 3
|
||||
_
|
||||
Abs patton 17157.78 7437.55 5073.58 4531.25 8550.04 UNICOS 3.0, /bin/cc
|
||||
*vgr patton 139.90 125.35 109.62 98.61 118.37 -P 4
|
||||
.TE
|
||||
.bp
|
||||
.NH 1
|
||||
RELEASE 3.7 STATISTICS (19-June-1989)
|
||||
.LP
|
||||
.TS H
|
||||
expand box;
|
||||
l l | n n n n n | n | l.
|
||||
A/* H/W Moss World Star Bldg M35 Mean CPU
|
||||
_
|
||||
.TH
|
||||
Abs vgr 128.64 54.47 45.17 40.35 49.02 63.53 1
|
||||
*vgr vgr 1.00 1.00 1.00 1.00 1.00 1.00
|
||||
_
|
||||
Abs rh2 1704.56 791.31 599.81 549.74 589.01 846.88 1
|
||||
*vgr rh2 13.25 14.52 13.27 13.62 12.01 13.33
|
||||
_
|
||||
Abs spark 435.69 208.59 176.76 177.69 174.67 234.68 1
|
||||
*vgr spark 3.53 3.61 4.17 4.29 3.40 3.80
|
||||
_
|
||||
Abs vhs 973.11 475.00 384.62 351.12 343.44 505.45 1
|
||||
*vgr vhs 7.56 8.72 8.51 8.70 7.00 8.09
|
||||
_
|
||||
Abs whisper 1118.35 561.81 473.52 439.76 509.26 620.54 1
|
||||
*vgr whisper 8.69 10.31 10.48 10.89 10.38 10.15
|
||||
_
|
||||
Abs nova 2024.80 976.01 790.17 732.35 ? 1130.83 1
|
||||
*vgr nova 15.74 17.92 17.49 18.15 ? 17.32
|
||||
_
|
||||
Abs ovoyage 1969.57 1001.21 862.77 809.61 786.11 1085.85 2
|
||||
*vgr ovoyage 15.31 18.38 19.10 20.06 16.03 17.77
|
||||
_
|
||||
Abs taylor 2446.98 1076.24 912.03 837.56 799.58 1214.47 1
|
||||
*vgr taylor 19.02 19.75 20.19 20.75 16.31 19.20
|
||||
_
|
||||
Abs worm 2671.46 1218.49 966.76 859.61 932.18 1329.70 1
|
||||
*vgr worm 20.76 22.36 21.40 21.30 19.01 20.96
|
||||
_
|
||||
Abs viper 3255.73 1368.96 1102.71 1039.37 1008.15 1554.98 8
|
||||
*vgr viper 25.30 25.13 24.41 25.75 20.56 24.23
|
||||
_
|
||||
Abs vector 3956.86 1625.23 1234.03 1137.36 1121.41 1814.97 8
|
||||
*vgr vector 30.75 29.83 27.31 28.18 22.87 27.78
|
||||
_
|
||||
Abs taylor 4730.05 2225.56 1742.09 1590.57 1551.78 2368.01 2
|
||||
*vgr taylor 36.76 40.85 38.56 39.41 31.65 37.44
|
||||
_
|
||||
Abs worm 5017.85 2309.86 1894.92 1708.27 1791.11 2544.40 2
|
||||
*vgr worm 39.00 42.40 41.95 42.33 36.53 40.44
|
||||
_
|
||||
Abs worm 7082.79 3359.99 2740.50 2502.03 2594.37 3655.93 3
|
||||
*vgr worm 55.05 61.68 60.67 62.00 52.92 58.46
|
||||
_
|
||||
Abs worm 8664.78 4162.53 3323.46 3115.36 3378.75 4528.97 4
|
||||
*vgr worm 67.35 76.41 73.57 77.20 68.92 72.69
|
||||
_
|
||||
Abs worm 10072.1 5016.57 4032.60 3855.90 4043.11 5404.06 5
|
||||
*vgr worm 78.29 92.09 89.27 95.56 82.47 87.53
|
||||
_
|
||||
Abs worm 11678.4 5752.20 4758.80 4493.16 4700.52 6276.60 6
|
||||
*vgr worm 90.78 105.60 105.35 111.35 95.88 101.79
|
||||
_
|
||||
Abs worm 12282.3 6021.31 5394.36 4908.98 5141.71 6749.72 7
|
||||
*vgr worm 95.47 110.54 119.42 121.65 104.89 110.39
|
||||
_
|
||||
Abs worm 12158.3 5913.50 5784.67 5327.66 5505.71 6937.96 8
|
||||
*vgr worm 94.51 108.56 128.06 132.03 112.31 115.09
|
||||
_
|
||||
Abs patton 16028.8 7289.7 4827.9 4392.5 20829.2 53368.1 4
|
||||
*vgr patton 124.6 133.83 106.88 108.85 106.23 116.07
|
||||
.TE
|
||||
.bp
|
||||
.NH 1
|
||||
RELEASE 4.0 STATISTICS
|
||||
.LP
|
||||
.TS H
|
||||
expand box;
|
||||
l l | n n n n n | n | l.
|
||||
A/* H/W Moss World Star Bldg M35 Mean CPU
|
||||
_
|
||||
.TH
|
||||
Abs vgr 137.82 67.23 56.39 53.91 69.25 76.92 1
|
||||
*vgr vgr 1.00 1.00 1.00 1.00 1.00 1.00
|
||||
_
|
||||
Abs slc1 153.63 80.95 62.94 60.48 ? 71.60 1
|
||||
*vgr slc1 1.12 1.20 1.12 1.13 ? .91
|
||||
_
|
||||
Abs vision 165.85 89.78 76.44 75.78 96.18 100.80 1
|
||||
*vgr vision 1.21 1.33 1.36 1.42 1.36 1.33
|
||||
_
|
||||
Abs vmb 381.92 195.11 178.78 186.62 214.31 231.34 1
|
||||
*vgr vmb 2.78 2.90 3.18 3.49 3.03 3.07
|
||||
_
|
||||
Abs sws1 636.26 288.76 212.99 210.18 271.02 323.84 1
|
||||
*vgr sws1 4.64 4.30 3.79 3.93 3.83 4.09
|
||||
_
|
||||
Abs veto 827.25 436.38 361.89 348.99 422.19 479.34 1
|
||||
*vgr veto 6.03 6.50 6.45 6.54 5.97 6.29
|
||||
_
|
||||
Abs vhs 1040.44 500.52 436.90 415.15 496.30 577.86 1
|
||||
*vgr vhs 7.59 7.46 7.79 7.78 7.02 7.52
|
||||
_
|
||||
Abs cor3 1203.14 553.22 445.45 398.79 534.18 626.95 1
|
||||
*vgr cor3 8.78 8.24 7.94 7.47 7.55 7.99
|
||||
_
|
||||
Abs wilted 1556.66 800.18 722.95 708.21 858.90 929.38 1
|
||||
*vgr wilted 11.36 11.93 12.89 13.27 12.15 12.32
|
||||
_
|
||||
Abs shpcrc2 2274.36 1041.79 915.99 854.30 1110.23 1239.33 1
|
||||
*vgr shpcrc2 16.59 15.53 16.33 16.01 15.70 16.03
|
||||
_
|
||||
Abs walrus 2291.38 1094.04 960.07 892.67 1066.31 1260.89 1
|
||||
*vgr walrus 16.72 16.31 17.12 16.72 15.08 16.39
|
||||
_
|
||||
Abs walrus 4010.55 2019.34 1767.75 1685.19 2029.78 2302.52 2
|
||||
*vgr walrus 29.27 30.11 31.52 31.58 28.71 30.23
|
||||
_
|
||||
Abs patton 5235.87 2108.02 1509.85 1507.81 2132.01 2498.71 1
|
||||
*vgr patton 38.21 31.43 26.92 28.25 30.15 30.99
|
||||
_
|
||||
Abs crim 4679.97 2246.04 2143.07 1936.85 2224.65 2646.11 1
|
||||
*vgr crim 34.15 33.49 38.22 36.29 31.47 34.72
|
||||
_
|
||||
Abs uy1 6220.79 2474.97 1742.33 1748.73 2464.90 2930.34 1
|
||||
*vgr uy1 45.40 36.90 31.07 32.77 34.86 36.20
|
||||
_
|
||||
Abs wiltse 5785.83 2737.06 2473.66 2310.58 2699.06 3201.23 1
|
||||
*vgr wiltse 42.22 40.81 44.11 43.30 38.18 41.72 -mips1
|
||||
_
|
||||
Abs walrus 5743.85 2938.73 2513.24 2446.85 2858.84 3300.30 3
|
||||
*vgr walrus 41.92 43.82 44.82 45.85 40.44 43.37
|
||||
_
|
||||
Abs wiltse 7093.51 3458.89 2887.77 2730.62 3199.08 3873.97 1
|
||||
*vgr wiltse 51.77 51.57 51.50 51.17 45.25 50.25 -mips2
|
||||
_
|
||||
Abs walrus 7131.48 3613.02 3262.01 3048.77 3594.35 4129.92 4
|
||||
*vgr walrus 52.05 53.87 58.17 57.13 50.84 54.41
|
||||
_
|
||||
Abs whiz 7159.01 3655.65 3355.85 3132.36 3655.02 4191.57 4
|
||||
*vgr whiz 52.25 54.51 59.85 58.70 51.70 55.40
|
||||
_
|
||||
Abs walrus 7698.43 4119.06 3889.37 3690.27 4244.30 4728.28 5
|
||||
*vgr walrus 56.18 61.42 69.36 69.15 60.04 63.23
|
||||
_
|
||||
Abs walrus 8718.08 4625.56 4469.49 4295.53 4765.40 5374.81 6
|
||||
*vgr walrus 63.63 68.97 79.71 80.50 67.41 72.04
|
||||
_
|
||||
Abs walrus 8937.71 4882.66 4911.99 4601.09 5335.14 5733.71 7
|
||||
*vgr walrus 65.23 72.81 87.60 86.22 75.47 77.46
|
||||
_
|
||||
Abs walrus 9300.31 5136.17 5243.14 5112.23 5318.45 6022.06 8
|
||||
*vgr walrus 67.88 76.59 93.51 95.80 75.23 81.80
|
||||
_
|
||||
.TE
|
||||
.bp
|
||||
.NH 1
|
||||
ADDITIONAL STATISTICS
|
||||
.PP
|
||||
It would be greatly appreciated if you would e-mail any statistics
|
||||
that you gather to the BRL-CAD developers, including: the ``summary''
|
||||
file produced by the benchmark script, which BRL-CAD release was used,
|
||||
the manufacturer of the machine, hardware model name/number, software
|
||||
version numbers (OS and compiler), presence or absence of floating
|
||||
point hardware, processor cache sizes, bus and memory speeds, and the
|
||||
local host name (preferably an Internet or UUCP host name) of the
|
||||
specific machine used.
|
||||
+29
-33
@@ -1,27 +1,17 @@
|
||||
# We need various configuration files set up for DocBook processing tools
|
||||
file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/resources/brlcad/)
|
||||
# Define a build target that builds a no-op executable, so we can ensure
|
||||
# a target for generator expression use regardless of other changes elsewhere
|
||||
# in the build system
|
||||
add_executable(db_dir_info db_dir_info.c)
|
||||
set_target_properties(db_dir_info PROPERTIES FOLDER "DocBook")
|
||||
|
||||
# First, define the commands to expand the third party components we will need to handle
|
||||
# DocBook processing from their archives into the build directory
|
||||
include(${CMAKE_CURRENT_SOURCE_DIR}/resources/other/expand.cmake)
|
||||
# We need various configuration files set up for DocBook processing tools
|
||||
add_subdirectory(resources)
|
||||
|
||||
# Rework CMake binary and source paths for DocBook templates - if we
|
||||
# have spaces in the paths, they will cause a problem.
|
||||
string(REPLACE " " "%20" DOCBOOK_BINARY_DIR "${CMAKE_BINARY_DIR}")
|
||||
string(REPLACE " " "%20" DOCBOOK_SOURCE_DIR "${CMAKE_SOURCE_DIR}")
|
||||
|
||||
# Common stylesheets for all DocBook sources
|
||||
if(BRLCAD_EXTRADOCS_HTML OR BRLCAD_EXTRADOCS_PDF OR BRLCAD_EXTRADOCS_MAN OR BRLCAD_EXTRADOCS_PHP OR BRLCAD_EXTRADOCS_PPT)
|
||||
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/resources/brlcad/brlcad-common.xsl.in
|
||||
${CMAKE_CURRENT_BINARY_DIR}/resources/brlcad/brlcad-common.xsl)
|
||||
# Fonts definition
|
||||
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/resources/brlcad/brlcad-fonts.xsl.in
|
||||
${CMAKE_CURRENT_BINARY_DIR}/resources/brlcad/brlcad-fonts.xsl)
|
||||
# Wordpress
|
||||
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/resources/brlcad/wordpress.xsl.in
|
||||
${CMAKE_CURRENT_BINARY_DIR}/resources/brlcad/wordpress.xsl)
|
||||
endif(BRLCAD_EXTRADOCS_HTML OR BRLCAD_EXTRADOCS_PDF OR BRLCAD_EXTRADOCS_MAN OR BRLCAD_EXTRADOCS_PHP OR BRLCAD_EXTRADOCS_PPT)
|
||||
|
||||
# Files for PDF products
|
||||
if(BRLCAD_EXTRADOCS_PDF)
|
||||
# Apache FOP needs a couple of config files set up
|
||||
@@ -29,32 +19,38 @@ if(BRLCAD_EXTRADOCS_PDF)
|
||||
configure_file(${CMAKE_SOURCE_DIR}/doc/docbook/fop.xconf.in ${CMAKE_BINARY_DIR}/doc/docbook/fop.xconf)
|
||||
endif(BRLCAD_EXTRADOCS_PDF)
|
||||
|
||||
# For the html files, we need brlcad.css
|
||||
add_custom_command(
|
||||
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/brlcad_css-${CMAKE_CFG_INTDIR}-done
|
||||
COMMAND "${CMAKE_COMMAND}" -E copy_if_different ${CMAKE_CURRENT_SOURCE_DIR}/css/brlcad.css $<TARGET_FILE_DIR:db_dir_info>/${RBIN_DIR}/${DOC_DIR}/html/css/brlcad.css
|
||||
COMMAND "${CMAKE_COMMAND}" -E touch ${CMAKE_CURRENT_BINARY_DIR}/brlcad_css-${CMAKE_CFG_INTDIR}-done
|
||||
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/css/brlcad.css
|
||||
)
|
||||
add_custom_target(brlcad_css DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/brlcad_css-${CMAKE_CFG_INTDIR}-done)
|
||||
set_target_properties(brlcad_css PROPERTIES FOLDER "DocBook")
|
||||
install(FILES css/brlcad.css DESTINATION ${DOC_DIR}/html/css)
|
||||
DISTCLEAN(${CMAKE_CFG_INTDIR}/${DOC_DIR}/html/css/brlcad.css)
|
||||
|
||||
# Include CMake macros for DocBook.
|
||||
include(${BRLCAD_SOURCE_DIR}/misc/CMake/DocBook.cmake)
|
||||
|
||||
# For the html files, we need brlcad.css
|
||||
if(NOT CMAKE_CONFIGURATION_TYPES)
|
||||
configure_file(css/brlcad.css ${CMAKE_BINARY_DIR}/${DOC_DIR}/html/css/brlcad.css)
|
||||
else(NOT CMAKE_CONFIGURATION_TYPES)
|
||||
foreach(CFG_TYPE ${CMAKE_CONFIGURATION_TYPES})
|
||||
string(TOUPPER "${CFG_TYPE}" CFG_TYPE_UPPER)
|
||||
configure_file(css/brlcad.css ${CMAKE_BINARY_DIR_${CFG_TYPE_UPPER}}/${DOC_DIR}/html/css/brlcad.css)
|
||||
endforeach(CFG_TYPE ${CMAKE_CONFIGURATION_TYPES})
|
||||
endif(NOT CMAKE_CONFIGURATION_TYPES)
|
||||
install(FILES css/brlcad.css DESTINATION ${DOC_DIR}/html/css)
|
||||
|
||||
add_subdirectory(articles)
|
||||
add_subdirectory(books)
|
||||
add_subdirectory(lessons)
|
||||
add_subdirectory(presentations)
|
||||
add_subdirectory(resources)
|
||||
add_subdirectory(specifications)
|
||||
add_subdirectory(system)
|
||||
|
||||
CMAKEFILES(README fop.xconf.in log4j.properties)
|
||||
CMAKEFILES(README.DB_authors_notes)
|
||||
CMAKEFILES(css/brlcad.css)
|
||||
CMAKEFILES(CMakeLists.txt)
|
||||
set(ignore_files
|
||||
CMakeLists.txt
|
||||
README
|
||||
README.DB_authors_notes
|
||||
css/brlcad.css
|
||||
db_dir_info.c
|
||||
fop.xconf.in
|
||||
log4j.properties
|
||||
)
|
||||
CMAKEFILES(${ignore_files})
|
||||
|
||||
# Local Variables:
|
||||
# tab-width: 8
|
||||
|
||||
+4
-44
@@ -149,51 +149,11 @@ See this link for help in installing fop 1.0 and saxon-he on Ubuntu:
|
||||
VALIDATION
|
||||
----------
|
||||
|
||||
It is possible to add a validation step to DocBook compilation by
|
||||
defining the CMake variable BRLCAD_EXTRADOCS_VALIDATE to ON.
|
||||
|
||||
By default, this will use xmllint to validate the xml files as
|
||||
they are built.
|
||||
|
||||
In order to use a different validation program the user must obtain some
|
||||
external tools that are not presently part of the BRL-CAD package:
|
||||
|
||||
For the 'msv' validation method (a recommended method):
|
||||
|
||||
* msv
|
||||
Oracle Multi-Schema XML Validator (MSV) (see http://msv.java.net/)
|
||||
|
||||
* Java
|
||||
a working Java run-time environment
|
||||
|
||||
For the 'nvdl' validation method:
|
||||
|
||||
* onvdl.jar
|
||||
a Java jar file with the oNVDL validation tool (see
|
||||
https://sourceforge.net/projects/onvdl/
|
||||
|
||||
* Java
|
||||
a working Java run-time environment
|
||||
|
||||
For the 'rnv' validation method:
|
||||
|
||||
* rnv
|
||||
http://sourceforge.net/projects/rnv/
|
||||
|
||||
* expat library
|
||||
present in most Linux/Unix distributions, see
|
||||
http://expat.sourceforge.net/
|
||||
|
||||
To use these tools, a <toolname>.cmake.in file must be present
|
||||
in the misc/CMake source directory. This file tells CMake how
|
||||
to run the tool in question. Examples for msv and rnv are already
|
||||
present - see misc/CMake/rnv.cmake.in and misc/CMake/msv.cmake.in
|
||||
|
||||
Once the correct file is present, configure CMake with options
|
||||
similar to the following (alter for your specific tool):
|
||||
|
||||
cmake .. -DBRLCAD_EXTRADOCS_VALIDATE=ON -DVALIDATE_EXECUTABLE=msv
|
||||
It is possible to add a validation step to DocBook compilation by defining the
|
||||
CMake variable BRLCAD_EXTRADOCS_VALIDATE to ON. This will use xmllint to
|
||||
validate the xml files as they are built.
|
||||
|
||||
By default, this option is enable if the BRL-CAD strict build is enabled.
|
||||
|
||||
OTHER CONSIDERATIONS
|
||||
--------------------
|
||||
|
||||
@@ -0,0 +1,32 @@
|
||||
/* D B _ D I R _ I N F O . C
|
||||
* BRL-CAD
|
||||
*
|
||||
* Published in 2020 by the United States Government.
|
||||
* This work is in the public domain.
|
||||
*
|
||||
*/
|
||||
/** @file dir_info.c
|
||||
*
|
||||
* This is a stub file, whose purpose is to provide the Docbook logic with an
|
||||
* add_executable build target that can be passed to scripts in order to decode
|
||||
* at runtime what the location of BR-CAD's build directory is.
|
||||
*
|
||||
* Unlike most other BRL-CAD logic, Docbook building may be done without any
|
||||
* software build targets needing to be processed if the necessary system
|
||||
* tools are in place. Since it is otherwise difficult to reliably get the
|
||||
* location of the current build directory in multiconfig build tools, this
|
||||
* file is used to provide a db_dir_info build target to reference in CMake.
|
||||
*/
|
||||
|
||||
int main() {
|
||||
}
|
||||
|
||||
/*
|
||||
* Local Variables:
|
||||
* tab-width: 8
|
||||
* mode: C
|
||||
* indent-tabs-mode: t
|
||||
* c-file-style: "stroustrup"
|
||||
* End:
|
||||
* ex: shiftwidth=4 tabstop=8
|
||||
*/
|
||||
@@ -1,62 +1,11 @@
|
||||
set(dr_ignore_files
|
||||
add_subdirectory(brlcad)
|
||||
add_subdirectory(other)
|
||||
|
||||
set(ignore_files
|
||||
CMakeLists.txt
|
||||
README
|
||||
brlcad/brlcad-article-fo-stylesheet.xsl.in
|
||||
brlcad/brlcad-article-xhtml-stylesheet.xsl.in
|
||||
brlcad/brlcad-book-fo-stylesheet.xsl.in
|
||||
brlcad/brlcad-book-xhtml-stylesheet.xsl.in
|
||||
brlcad/brlcad-common.xsl.in
|
||||
brlcad/brlcad-fo-stylesheet.xsl.in
|
||||
brlcad/brlcad-fonts.xsl.in
|
||||
brlcad/brlcad-gendata.xsl
|
||||
brlcad/brlcad-lesson-fo-stylesheet.xsl.in
|
||||
brlcad/brlcad-lesson-xhtml-stylesheet.xsl.in
|
||||
brlcad/brlcad-man-fo-stylesheet.xsl.in
|
||||
brlcad/brlcad-man-stylesheet.xsl.in
|
||||
brlcad/brlcad-man-xhtml-stylesheet.xsl.in
|
||||
brlcad/brlcad-presentation-fo-stylesheet.xsl.in
|
||||
brlcad/brlcad-presentation-xhtml-stylesheet.xsl.in
|
||||
brlcad/brlcad-specification-fo-stylesheet.xsl.in
|
||||
brlcad/brlcad-specification-xhtml-stylesheet.xsl.in
|
||||
brlcad/brlcad-xhtml-header-navigation.xsl
|
||||
brlcad/brlcad-xhtml-stylesheet.xsl.in
|
||||
brlcad/center-table-print.xsl
|
||||
brlcad/images/brlcad-logo-669966.svg
|
||||
brlcad/images/brlcad-logo-6699cc.svg
|
||||
brlcad/images/brlcad-logo-blue.svg
|
||||
brlcad/images/brlcad-logo-cc6666.svg
|
||||
brlcad/images/brlcad-logo-cc9966.svg
|
||||
brlcad/images/brlcad-logo-green.svg
|
||||
brlcad/images/brlcad-logo-limegreen.svg
|
||||
brlcad/images/brlcad-logo-red.svg
|
||||
brlcad/images/logo-vm-gears.png
|
||||
brlcad/images/logo-vm-gears.svg
|
||||
brlcad/presentation.xsl.in
|
||||
brlcad/tutorial-cover-template.xsl.in
|
||||
brlcad/tutorial-template.xsl.in
|
||||
brlcad/wordpress.xsl.in
|
||||
other/README.schema
|
||||
other/docbook-5.0.tar.bz2
|
||||
other/docbook5xi.rnc
|
||||
other/docbookxi.nvdl
|
||||
other/expand.cmake
|
||||
other/fonts/README
|
||||
other/fonts/dejavu-lgc-fonts.tar.bz2
|
||||
other/fonts/dejavu_COPYING.txt
|
||||
other/fonts/stix-fonts.tar.bz2
|
||||
other/fonts/stix_COPYING.txt
|
||||
other/fonts/y14.5.tar.bz2
|
||||
other/fonts/y14.5_COPYING.txt
|
||||
other/offo/README.offo
|
||||
other/offo/licenses.txt
|
||||
other/offo/offo-2.0.tar.bz2
|
||||
other/standard/README.svg
|
||||
other/standard/README.xsl
|
||||
other/standard/docbook-xsl-ns.tar.bz2
|
||||
other/standard/met-fonts.xsl
|
||||
other/standard/w3_svg_dtd.tar.bz2
|
||||
)
|
||||
CMAKEFILES(${dr_ignore_files})
|
||||
CMAKEFILES(${ignore_files})
|
||||
|
||||
# Local Variables:
|
||||
# tab-width: 8
|
||||
|
||||
@@ -0,0 +1,68 @@
|
||||
file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/resources/brlcad/)
|
||||
|
||||
# Rework CMake binary and source paths for DocBook templates - if we
|
||||
# have spaces in the paths, they will cause a problem.
|
||||
string(REPLACE " " "%20" DOCBOOK_BINARY_DIR "${CMAKE_BINARY_DIR}")
|
||||
string(REPLACE " " "%20" DOCBOOK_SOURCE_DIR "${CMAKE_SOURCE_DIR}")
|
||||
|
||||
# Because the core resources for Docbook are not different between the various
|
||||
# build configurations, we maintain one copy of the "set up" files for all
|
||||
# configurations rather than building the entire resources setup per-config.
|
||||
|
||||
# Common xsl for all outputs
|
||||
configure_file(brlcad-common.xsl.in ${CMAKE_CURRENT_BINARY_DIR}/brlcad-common.xsl)
|
||||
|
||||
# Fonts definition
|
||||
configure_file(brlcad-fonts.xsl.in ${CMAKE_CURRENT_BINARY_DIR}/brlcad-fonts.xsl)
|
||||
|
||||
# Wordpress
|
||||
configure_file(wordpress.xsl.in ${CMAKE_CURRENT_BINARY_DIR}/wordpress.xsl)
|
||||
|
||||
# Make sure distcheck knows about all files in directory
|
||||
set(ignore_files
|
||||
CMakeLists.txt
|
||||
brlcad-article-fo-stylesheet.xsl.in
|
||||
brlcad-article-xhtml-stylesheet.xsl.in
|
||||
brlcad-book-fo-stylesheet.xsl.in
|
||||
brlcad-book-xhtml-stylesheet.xsl.in
|
||||
brlcad-common.xsl.in
|
||||
brlcad-fo-stylesheet.xsl.in
|
||||
brlcad-fonts.xsl.in
|
||||
brlcad-gendata.xsl
|
||||
brlcad-lesson-fo-stylesheet.xsl.in
|
||||
brlcad-lesson-xhtml-stylesheet.xsl.in
|
||||
brlcad-man-fo-stylesheet.xsl.in
|
||||
brlcad-man-stylesheet.xsl.in
|
||||
brlcad-man-xhtml-stylesheet.xsl.in
|
||||
brlcad-presentation-fo-stylesheet.xsl.in
|
||||
brlcad-presentation-xhtml-stylesheet.xsl.in
|
||||
brlcad-specification-fo-stylesheet.xsl.in
|
||||
brlcad-specification-xhtml-stylesheet.xsl.in
|
||||
brlcad-xhtml-header-navigation.xsl
|
||||
brlcad-xhtml-stylesheet.xsl.in
|
||||
center-table-print.xsl
|
||||
images/brlcad-logo-669966.svg
|
||||
images/brlcad-logo-6699cc.svg
|
||||
images/brlcad-logo-blue.svg
|
||||
images/brlcad-logo-cc6666.svg
|
||||
images/brlcad-logo-cc9966.svg
|
||||
images/brlcad-logo-green.svg
|
||||
images/brlcad-logo-limegreen.svg
|
||||
images/brlcad-logo-red.svg
|
||||
images/logo-vm-gears.png
|
||||
images/logo-vm-gears.svg
|
||||
presentation.xsl.in
|
||||
tutorial-cover-template.xsl.in
|
||||
tutorial-template.xsl.in
|
||||
wordpress.xsl.in
|
||||
)
|
||||
|
||||
CMAKEFILES(${ignore_files})
|
||||
|
||||
# Local Variables:
|
||||
# tab-width: 8
|
||||
# mode: cmake
|
||||
# indent-tabs-mode: t
|
||||
# End:
|
||||
# ex: shiftwidth=2 tabstop=8
|
||||
|
||||
@@ -0,0 +1,117 @@
|
||||
|
||||
# Define the commands to expand the third party components we will need to handle
|
||||
# DocBook processing from their archives into the build directory
|
||||
file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/docbook-schema)
|
||||
DISTCLEAN(${CMAKE_CURRENT_BINARY_DIR}/docbook-schema)
|
||||
file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/fonts/dejavu-lgc)
|
||||
DISTCLEAN(${CMAKE_CURRENT_BINARY_DIR}/fonts/dejavu-lgc)
|
||||
file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/fonts/stix)
|
||||
DISTCLEAN(${CMAKE_CURRENT_BINARY_DIR}/fonts/stix)
|
||||
file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/offo)
|
||||
DISTCLEAN(${CMAKE_CURRENT_BINARY_DIR}/offo/source)
|
||||
DISTCLEAN(${CMAKE_CURRENT_BINARY_DIR}/offo/binary)
|
||||
DISTCLEAN(${CMAKE_CURRENT_BINARY_DIR}/offo/README)
|
||||
file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/standard/svg)
|
||||
DISTCLEAN(${CMAKE_CURRENT_BINARY_DIR}/standard/svg)
|
||||
file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/standard/xsl)
|
||||
DISTCLEAN(${CMAKE_CURRENT_BINARY_DIR}/standard/xsl)
|
||||
|
||||
add_custom_command(
|
||||
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/docbook-schema/schema.sentinel
|
||||
COMMAND ${CMAKE_COMMAND} -E tar xjf ${CMAKE_CURRENT_SOURCE_DIR}/docbook-5.0.tar.bz2
|
||||
COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/docbookxi.nvdl ${CMAKE_CURRENT_BINARY_DIR}/docbook-schema/docbookxi.nvdl
|
||||
COMMAND ${CMAKE_COMMAND} -E touch ${CMAKE_CURRENT_BINARY_DIR}/docbook-schema/schema.sentinel
|
||||
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/docbookxi.nvdl ${CMAKE_CURRENT_SOURCE_DIR}/docbook-5.0.tar.bz2
|
||||
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
|
||||
)
|
||||
add_custom_target(schema-expand DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/docbook-schema/schema.sentinel)
|
||||
SetTargetFolder(schema-expand "DocBook")
|
||||
|
||||
add_custom_command(
|
||||
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/fonts/dejavu-lgc/dejavu-lgc.sentinel
|
||||
COMMAND ${CMAKE_COMMAND} -E tar xjf ${CMAKE_CURRENT_SOURCE_DIR}/fonts/dejavu-lgc-fonts.tar.bz2
|
||||
COMMAND ${CMAKE_COMMAND} -E touch ${CMAKE_CURRENT_BINARY_DIR}/fonts/dejavu-lgc/dejavu-lgc.sentinel
|
||||
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/fonts/dejavu-lgc-fonts.tar.bz2
|
||||
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/fonts
|
||||
)
|
||||
add_custom_target(fonts-dejavu-expand DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/fonts/dejavu-lgc/dejavu-lgc.sentinel)
|
||||
SetTargetFolder(fonts-dejavu-expand "DocBook")
|
||||
|
||||
add_custom_command(
|
||||
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/fonts/stix/stix.sentinel
|
||||
COMMAND ${CMAKE_COMMAND} -E tar xjf ${CMAKE_CURRENT_SOURCE_DIR}/fonts/stix-fonts.tar.bz2
|
||||
COMMAND ${CMAKE_COMMAND} -E touch ${CMAKE_CURRENT_BINARY_DIR}/fonts/stix/stix.sentinel
|
||||
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/fonts/stix-fonts.tar.bz2
|
||||
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/fonts
|
||||
)
|
||||
add_custom_target(fonts-stix-expand DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/fonts/stix/stix.sentinel)
|
||||
SetTargetFolder(fonts-stix-expand "DocBook")
|
||||
|
||||
add_custom_command(
|
||||
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/offo/offo2_0.sentinel
|
||||
COMMAND ${CMAKE_COMMAND} -E tar xjf ${CMAKE_CURRENT_SOURCE_DIR}/offo/offo-2.0.tar.bz2
|
||||
COMMAND ${CMAKE_COMMAND} -E touch ${CMAKE_CURRENT_BINARY_DIR}/offo/offo2_0.sentinel
|
||||
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/offo/offo-2.0.tar.bz2
|
||||
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/
|
||||
)
|
||||
add_custom_target(offo-2-expand DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/offo/offo2_0.sentinel)
|
||||
SetTargetFolder(offo-2-expand "DocBook")
|
||||
|
||||
add_custom_command(
|
||||
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/standard/svg/svg.sentinel
|
||||
COMMAND ${CMAKE_COMMAND} -E tar xjf ${CMAKE_CURRENT_SOURCE_DIR}/standard/w3_svg_dtd.tar.bz2
|
||||
COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/standard/met-fonts.xsl ${CMAKE_CURRENT_BINARY_DIR}/standard/svg/met-fonts.xsl
|
||||
COMMAND ${CMAKE_COMMAND} -E touch ${CMAKE_CURRENT_BINARY_DIR}/standard/svg/svg.sentinel
|
||||
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/standard/met-fonts.xsl ${CMAKE_CURRENT_SOURCE_DIR}/standard/w3_svg_dtd.tar.bz2
|
||||
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/standard
|
||||
)
|
||||
add_custom_target(svg-dtd-expand DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/standard/svg/svg.sentinel)
|
||||
SetTargetFolder(svg-dtd-expand "DocBook")
|
||||
|
||||
add_custom_command(
|
||||
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/standard/xsl/xsl.sentinel
|
||||
COMMAND ${CMAKE_COMMAND} -E tar xjf ${CMAKE_CURRENT_SOURCE_DIR}/standard/docbook-xsl-ns.tar.bz2
|
||||
COMMAND ${CMAKE_COMMAND} -E touch ${CMAKE_CURRENT_BINARY_DIR}/standard/xsl/xsl.sentinel
|
||||
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/standard/docbook-xsl-ns.tar.bz2
|
||||
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/standard
|
||||
)
|
||||
add_custom_target(xsl-expand DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/standard/xsl/xsl.sentinel)
|
||||
SetTargetFolder(xsl-expand "DocBook")
|
||||
|
||||
# Build up the set of targets defining resources, and write it to the cache
|
||||
# immediately so targets in other directories can see it
|
||||
set(DOCBOOK_RESOURCE_FILES schema-expand fonts-dejavu-expand fonts-stix-expand offo-2-expand svg-dtd-expand xsl-expand)
|
||||
set(DOCBOOK_RESOURCE_FILES "${DOCBOOK_RESOURCE_FILES}" CACHE STRING "DocBook target list")
|
||||
mark_as_advanced(DOCBOOK_RESOURCE_FILES)
|
||||
|
||||
set(ignore_files
|
||||
CMakeLists.txt
|
||||
README.schema
|
||||
docbook-5.0.tar.bz2
|
||||
docbook5xi.rnc
|
||||
docbookxi.nvdl
|
||||
fonts/README
|
||||
fonts/dejavu-lgc-fonts.tar.bz2
|
||||
fonts/dejavu_COPYING.txt
|
||||
fonts/stix-fonts.tar.bz2
|
||||
fonts/stix_COPYING.txt
|
||||
fonts/y14.5.tar.bz2
|
||||
fonts/y14.5_COPYING.txt
|
||||
offo/README.offo
|
||||
offo/licenses.txt
|
||||
offo/offo-2.0.tar.bz2
|
||||
standard/README.svg
|
||||
standard/README.xsl
|
||||
standard/docbook-xsl-ns.tar.bz2
|
||||
standard/met-fonts.xsl
|
||||
standard/w3_svg_dtd.tar.bz2
|
||||
)
|
||||
CMAKEFILES(${ignore_files})
|
||||
|
||||
|
||||
# Local Variables:
|
||||
# tab-width: 8
|
||||
# mode: cmake
|
||||
# indent-tabs-mode: t
|
||||
# End:
|
||||
# ex: shiftwidth=2 tabstop=8
|
||||
@@ -1,81 +0,0 @@
|
||||
|
||||
# Define the commands to expand the third party components we will need to handle
|
||||
# DocBook processing from their archives into the build directory
|
||||
file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/resources/other/docbook-schema)
|
||||
DISTCLEAN(${CMAKE_CURRENT_BINARY_DIR}/resources/other/docbook-schema)
|
||||
file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/resources/other/fonts/dejavu-lgc)
|
||||
DISTCLEAN(${CMAKE_CURRENT_BINARY_DIR}/resources/other/fonts/dejavu-lgc)
|
||||
file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/resources/other/fonts/stix)
|
||||
DISTCLEAN(${CMAKE_CURRENT_BINARY_DIR}/resources/other/fonts/stix)
|
||||
file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/resources/other/offo)
|
||||
DISTCLEAN(${CMAKE_CURRENT_BINARY_DIR}/resources/other/offo/source)
|
||||
DISTCLEAN(${CMAKE_CURRENT_BINARY_DIR}/resources/other/offo/binary)
|
||||
DISTCLEAN(${CMAKE_CURRENT_BINARY_DIR}/resources/other/offo/README)
|
||||
file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/resources/other/standard/svg)
|
||||
DISTCLEAN(${CMAKE_CURRENT_BINARY_DIR}/resources/other/standard/svg)
|
||||
file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/resources/other/standard/xsl)
|
||||
DISTCLEAN(${CMAKE_CURRENT_BINARY_DIR}/resources/other/standard/xsl)
|
||||
|
||||
add_custom_command(
|
||||
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/resources/other/docbook-schema/schema.sentinel
|
||||
COMMAND ${CMAKE_COMMAND} -E tar xjf ${CMAKE_CURRENT_SOURCE_DIR}/resources/other/docbook-5.0.tar.bz2
|
||||
COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/resources/other/docbookxi.nvdl ${CMAKE_CURRENT_BINARY_DIR}/resources/other/docbook-schema/docbookxi.nvdl
|
||||
COMMAND ${CMAKE_COMMAND} -E touch ${CMAKE_CURRENT_BINARY_DIR}/resources/other/docbook-schema/schema.sentinel
|
||||
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/resources/other/docbookxi.nvdl ${CMAKE_CURRENT_SOURCE_DIR}/resources/other/docbook-5.0.tar.bz2
|
||||
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/resources/other
|
||||
)
|
||||
add_custom_target(schema-expand DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/resources/other/docbook-schema/schema.sentinel)
|
||||
SetTargetFolder(schema-expand "DocBook")
|
||||
|
||||
add_custom_command(
|
||||
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/resources/other/fonts/dejavu-lgc/dejavu-lgc.sentinel
|
||||
COMMAND ${CMAKE_COMMAND} -E tar xjf ${CMAKE_CURRENT_SOURCE_DIR}/resources/other/fonts/dejavu-lgc-fonts.tar.bz2
|
||||
COMMAND ${CMAKE_COMMAND} -E touch ${CMAKE_CURRENT_BINARY_DIR}/resources/other/fonts/dejavu-lgc/dejavu-lgc.sentinel
|
||||
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/resources/other/fonts/dejavu-lgc-fonts.tar.bz2
|
||||
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/resources/other/fonts
|
||||
)
|
||||
add_custom_target(fonts-dejavu-expand DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/resources/other/fonts/dejavu-lgc/dejavu-lgc.sentinel)
|
||||
SetTargetFolder(fonts-dejavu-expand "DocBook")
|
||||
|
||||
add_custom_command(
|
||||
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/resources/other/fonts/stix/stix.sentinel
|
||||
COMMAND ${CMAKE_COMMAND} -E tar xjf ${CMAKE_CURRENT_SOURCE_DIR}/resources/other/fonts/stix-fonts.tar.bz2
|
||||
COMMAND ${CMAKE_COMMAND} -E touch ${CMAKE_CURRENT_BINARY_DIR}/resources/other/fonts/stix/stix.sentinel
|
||||
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/resources/other/fonts/stix-fonts.tar.bz2
|
||||
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/resources/other/fonts
|
||||
)
|
||||
add_custom_target(fonts-stix-expand DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/resources/other/fonts/stix/stix.sentinel)
|
||||
SetTargetFolder(fonts-stix-expand "DocBook")
|
||||
|
||||
add_custom_command(
|
||||
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/resources/other/offo/offo2_0.sentinel
|
||||
COMMAND ${CMAKE_COMMAND} -E tar xjf ${CMAKE_CURRENT_SOURCE_DIR}/resources/other/offo/offo-2.0.tar.bz2
|
||||
COMMAND ${CMAKE_COMMAND} -E touch ${CMAKE_CURRENT_BINARY_DIR}/resources/other/offo/offo2_0.sentinel
|
||||
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/resources/other/offo/offo-2.0.tar.bz2
|
||||
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/resources/other/
|
||||
)
|
||||
add_custom_target(offo-2-expand DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/resources/other/offo/offo2_0.sentinel)
|
||||
SetTargetFolder(offo-2-expand "DocBook")
|
||||
|
||||
add_custom_command(
|
||||
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/resources/other/standard/svg/svg.sentinel
|
||||
COMMAND ${CMAKE_COMMAND} -E tar xjf ${CMAKE_CURRENT_SOURCE_DIR}/resources/other/standard/w3_svg_dtd.tar.bz2
|
||||
COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/resources/other/standard/met-fonts.xsl ${CMAKE_CURRENT_BINARY_DIR}/resources/other/standard/svg/met-fonts.xsl
|
||||
COMMAND ${CMAKE_COMMAND} -E touch ${CMAKE_CURRENT_BINARY_DIR}/resources/other/standard/svg/svg.sentinel
|
||||
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/resources/other/standard/met-fonts.xsl ${CMAKE_CURRENT_SOURCE_DIR}/resources/other/standard/w3_svg_dtd.tar.bz2
|
||||
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/resources/other/standard
|
||||
)
|
||||
add_custom_target(svg-dtd-expand DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/resources/other/standard/svg/svg.sentinel)
|
||||
SetTargetFolder(svg-dtd-expand "DocBook")
|
||||
|
||||
add_custom_command(
|
||||
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/resources/other/standard/xsl/xsl.sentinel
|
||||
COMMAND ${CMAKE_COMMAND} -E tar xjf ${CMAKE_CURRENT_SOURCE_DIR}/resources/other/standard/docbook-xsl-ns.tar.bz2
|
||||
COMMAND ${CMAKE_COMMAND} -E touch ${CMAKE_CURRENT_BINARY_DIR}/resources/other/standard/xsl/xsl.sentinel
|
||||
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/resources/other/standard/docbook-xsl-ns.tar.bz2
|
||||
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/resources/other/standard
|
||||
)
|
||||
add_custom_target(xsl-expand DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/resources/other/standard/xsl/xsl.sentinel)
|
||||
SetTargetFolder(xsl-expand "DocBook")
|
||||
|
||||
set(DOCBOOK_RESOURCE_FILES schema-expand fonts-dejavu-expand fonts-stix-expand offo-2-expand svg-dtd-expand xsl-expand)
|
||||
@@ -346,7 +346,7 @@
|
||||
coordinates, distances, or sizes are input. The units may be changed to accommodate
|
||||
input files of differing units, but the output from a particular run will reflect
|
||||
whatever the units were set to when the <command>execute</command> command was
|
||||
given. One argument is expected out of the following list snd must be spelled
|
||||
given. One argument is expected out of the following list and must be spelled
|
||||
correctly: millimeters, centimeters, meters, inches and feet. The default units are
|
||||
millimeters.
|
||||
</para>
|
||||
|
||||
@@ -56,6 +56,10 @@
|
||||
<para>(three-way diff) Report objects that are different in left_model.g and/or right_model.g relative to ancestor.g</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><option>-q</option></term>
|
||||
<listitem><para>Decrease the verbosity of the output. Additional specifications will further decrease the output provided. (Opposite effect of <option>v</option> option.) All settings for this option will respect other constraints applied to the reporting output.</para></listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><option>-u</option></term>
|
||||
<listitem>
|
||||
@@ -64,8 +68,8 @@
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><option>-v #</option></term>
|
||||
<listitem><para>Control the verbosity of the output. Zero will suppress all reporting and only the return value of the program will contain information, one will provide categorized lists of objects but no details on what changed, two will list each changed object preceded by a modifier, three will print more details for changed objects, and four will print all available information. All settings for this option will respect other constraints applied to the reporting output.</para></listitem>
|
||||
<term><option>-v</option></term>
|
||||
<listitem><para>Increase the verbosity of the output. Additional specifications will further increase the output provided. (Opposite effect of <option>q</option> option.) All settings for this option will respect other constraints applied to the reporting output.</para></listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><option>-t #</option></term>
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
set(man3_EN
|
||||
libfb.xml
|
||||
libplot3.xml
|
||||
libpkg.xml
|
||||
librt.xml
|
||||
libwdb.xml
|
||||
redblack.xml
|
||||
|
||||
@@ -0,0 +1,489 @@
|
||||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<refentry xmlns="http://docbook.org/ns/docbook" version="5.0" xml:id="libpkg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<refmeta>
|
||||
<refentrytitle>LIBPKG</refentrytitle>
|
||||
<manvolnum>3</manvolnum>
|
||||
<refmiscinfo class='source'>BRL-CAD</refmiscinfo>
|
||||
</refmeta>
|
||||
|
||||
<refnamediv>
|
||||
<refname>libpkg</refname>
|
||||
<refpurpose>
|
||||
Message passing abstraction library supporting communication between
|
||||
cooperating processes over TCP connections
|
||||
</refpurpose>
|
||||
</refnamediv>
|
||||
|
||||
<refsect1 xml:id='pkg_background'>
|
||||
<title>BACKGROUND</title>
|
||||
<para>
|
||||
The following is a description of the libpkg routines kindly provided
|
||||
by Peter B. Shames on 26 Sept 1986, and updated 14 Nov 1986 by PC Dykstra to reflect
|
||||
BRL extensions since the first writing. It was intended that an RFC
|
||||
be published at some point, but at this point this document (plus the
|
||||
source code) is all we have. In the CAD distribution, the remote
|
||||
framebuffer interface (libfb/if_remote.c) and server (fbserv),
|
||||
communicate using this protocol.
|
||||
</para>
|
||||
</refsect1>
|
||||
|
||||
<refsect1 xml:id='pkg_overview'>
|
||||
<title>Overview</title>
|
||||
<para>
|
||||
A prototype interface that implements a fairly simple message passing
|
||||
abstraction between cooperating processes running over TCP connections
|
||||
has been developed by Mike Muuss, Charles Kennedy, and Phillip Dykstra
|
||||
at BRL. Some experiments have been run at STScI to implement this
|
||||
interface on a DECnet link with good success. A few changes have been
|
||||
suggested to improve network throughput for data flows that consist of
|
||||
short message traffic or byte-stream traffic.
|
||||
</para>
|
||||
<para>
|
||||
This note describes the motivation for developing such an interface and
|
||||
describes the subroutine interfaces and functionality. The interface
|
||||
routine descriptions and portions of the textual descriptions have been
|
||||
taken directly from the source code provided by Muuss and Kennedy
|
||||
which has been the only available description to date.
|
||||
</para>
|
||||
</refsect1>
|
||||
|
||||
<refsect1 xml:id='why_pkg'>
|
||||
<title>Why a message interface?</title>
|
||||
<para>
|
||||
The interface - PKG provides a simple interface for managing
|
||||
client/server connections in a distributed environment. A server task
|
||||
is initialized to wait for incoming requests from clients. Clients open
|
||||
a connection to the server task which executes on some host processor
|
||||
waiting for incoming requests. Messages with identifying type codes are
|
||||
passed between processes, with optional appended data blocks. The
|
||||
interface is non-blocking and accepts arbitrary data messages of
|
||||
arbitrary length.
|
||||
</para>
|
||||
<para>
|
||||
An example - interaction with a remote data archive may require request
|
||||
for services, user authentication, permission granting, index hierarchy
|
||||
queries - with manipulation of results, archive request processing,
|
||||
delivery of output products - electronically or otherwise. The archive
|
||||
is a server that responds to service requests from clients, how many
|
||||
may be served at one time and whether public access and private services
|
||||
are supported is an implementation issue. Since no direct interactive
|
||||
support is required (if smart client agents are in use) the message
|
||||
paradigm can support the requirements.
|
||||
</para>
|
||||
<para>
|
||||
A [counter] example - Athena's XWindow uses a client-server model to
|
||||
provide screen/window management services for distributed processes.
|
||||
XWindow is very permissive of different window management policies and
|
||||
provides hooks for implementing various user interfaces. At the lowest
|
||||
level, XWindow requires a reliable duplex byte-stream, which can be
|
||||
implemented in many operating environments. Because XWindow wants to
|
||||
manage all process-window communications directly, it builds its own block
|
||||
stream protocol to manage the connection. This permits the interactive
|
||||
update required by some processes, but basically is the same paradigm as
|
||||
PKG, defined within the window system.
|
||||
</para>
|
||||
</refsect1>
|
||||
|
||||
<refsect1 xml:id='pkg_desc'>
|
||||
<title>PKG Interface description</title>
|
||||
<para>
|
||||
The PKG interface implements an client-server network connection that
|
||||
multiplexes synchronous and asynchronous messages across stream
|
||||
connections. Connection control is provided by open/ close routines,
|
||||
where the client authentication is handled prior to establishing the
|
||||
connection. Server side actions include initialization, client connection,
|
||||
and client request servicing. Client side actions include server request,
|
||||
reply processing, possible connection negotiation, and data transfer
|
||||
processing.
|
||||
</para>
|
||||
<para>
|
||||
A connection is established when a client issues an open to a server,
|
||||
running on some host. Which hosts provide required services must be
|
||||
determined prior to connection requests, using some service directory.
|
||||
Default connection processing is stream oriented, where a process may
|
||||
get data as it is available on the connection. A blocking read may
|
||||
also be issued, waiting for any complete message, or just for messages
|
||||
of a specified type. The connection remains open until explicitly
|
||||
closed by either client or server.
|
||||
</para>
|
||||
<para>
|
||||
Once the connection is established it may be used to process a full-
|
||||
duplex asynchronous byte stream, or a buffered, synchronous query/reply
|
||||
exchange. Message type multiplexing supports user actions based upon
|
||||
message type, where the multiplexing is handled in the interface.
|
||||
Different message type streams may operate using different flow control
|
||||
over the same connection. Multiplexing is handled in the interface by
|
||||
pre-pending a header block to the message before transmitting it
|
||||
to the reader. Data is transmitted as received, but the header is
|
||||
transmitted in Internet network byte/bit order.
|
||||
</para>
|
||||
<para>
|
||||
An package connection may incur significant overhead if
|
||||
many short messages are passed between processes, so
|
||||
a buffered stream connection may be requested. The
|
||||
application calls the pkg_stream interface rather than the usual pkg_send
|
||||
request, and PKG builds a message buffer and passes it to the
|
||||
client as it gets filled. A stream buffer may be flushed with an
|
||||
explicit call to the pkg_flush routine.
|
||||
</para>
|
||||
</refsect1>
|
||||
|
||||
<refsect1 xml:id='pkg_def'>
|
||||
<title>PKG Interface Definition</title>
|
||||
<para>
|
||||
Control Interfaces:
|
||||
|
||||
<variablelist>
|
||||
|
||||
<varlistentry><term>PKG_OPEN - Open a connection to a host</term>
|
||||
<listitem>
|
||||
<literallayout>
|
||||
pkg_open( host, service, protocol, uname, passwd, pkg_switch, errlog )
|
||||
returns ptr_to_connection
|
||||
</literallayout>
|
||||
<para>
|
||||
We are a client, make a connection to a server running on some host.
|
||||
The return value is the connection handle. Protocol, username, and
|
||||
password are optional.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry><term>PKG_CLOSE - Close a connection</term>
|
||||
<listitem>
|
||||
<literallayout>
|
||||
pkg_close( ptr_to_connection )
|
||||
returns VOID
|
||||
</literallayout>
|
||||
<para>
|
||||
We are a client or server wishing to gracefully close a connection.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry><term>PKG_TRANSERVER - Become a one-time network server on the already accepted connection.</term>
|
||||
<listitem>
|
||||
<literallayout>
|
||||
pkg_transerver( pkg_switch, errlog )
|
||||
returns ptr_to_connection
|
||||
</literallayout>
|
||||
<para>
|
||||
Given an established connection, this routine creates a pkg_conn
|
||||
structure for it and initializes it to use the given pkg_switch
|
||||
and error logging function. This routine is needed by servers
|
||||
which get created by some other process after the connection is
|
||||
established. Processes started by the UNIX "inetd" are one example.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry><term>PKG_PERMSERVER - Create a network server and listen for connections</term>
|
||||
<listitem>
|
||||
<literallayout>
|
||||
pkg_permserver( service, protocol, backlog )
|
||||
returns listen_file_desc
|
||||
</literallayout>
|
||||
<para>
|
||||
The service port is determined and a listen is hung on the port
|
||||
that is bound to the socket. The return value is the file descriptor
|
||||
of the socket. For this kind of server, pkg_getclient is used to
|
||||
accept connections from clients.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry><term>PKG_GETCLIENT - Used by a server to accept a client connection</term>
|
||||
<listitem>
|
||||
<literallayout>
|
||||
pkg_getclient( listen_file_desc, pkg_switch, errlog, nodelay_flag )
|
||||
returns ptr_to_connection or NULL or ERROR
|
||||
</literallayout>
|
||||
<para>
|
||||
If possible, the connection request from the client is accepted,
|
||||
a pkg_connection block is created and a ptr to it is returned to
|
||||
the server. The server may request non-blocked service by
|
||||
setting the nodelay_flag TRUE.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
|
||||
</variablelist>
|
||||
</para>
|
||||
|
||||
<para>
|
||||
I/O Interfaces:
|
||||
|
||||
<variablelist>
|
||||
|
||||
<varlistentry><term>PKG_GET - Read bytes from connection, assembling message</term>
|
||||
<listitem>
|
||||
<literallayout>
|
||||
pkg_get( ptr_to_connection ) returns
|
||||
returns message_arrived, more_data_coming or ERROR.
|
||||
</literallayout>
|
||||
<para>
|
||||
Get waits until a message header is received and the calls the user
|
||||
specified message handler for that message type. This routine
|
||||
should be called by a program whenever there is data waiting on a
|
||||
connection and the program is not otherwise waiting on a specific
|
||||
message type. The routine will return directly to the caller if
|
||||
no header is available or if only a partial message is received,
|
||||
otherwise it calls the user specified message type handler.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
|
||||
<varlistentry><term>PKG_SEND - Send a message on the connection</term>
|
||||
<listitem>
|
||||
<literallayout>
|
||||
pkg_send( message_type, data_buff, buff_len, ptr_to_connection )
|
||||
returns bytes_sent or ERROR
|
||||
</literallayout>
|
||||
<para>
|
||||
Send constructs a message header for the data buffer and transmits
|
||||
it on the connection. If only part of the message can be sent the
|
||||
actual number of bytes transmitted returned. Any data in the stream
|
||||
buffer is first flushed. If the stream buffer needs flushing, and
|
||||
the message is less than MAXQLEN (currently 512) bytes long, and
|
||||
sufficient room is left in the stream buffer, this message gets
|
||||
"piggybacked" on by copying it to the buffer before flushing. If
|
||||
available, "writev" is used to send the header and data with one
|
||||
syscall.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry><term>PKG_2SEND - Send a two part message on the connection</term>
|
||||
<listitem>
|
||||
<literallayout>
|
||||
pkg_2send( message_type, data_buff1, buff1_len, data_buff2, buff2_len, ptr_to_connection )
|
||||
returns bytes_sent or ERROR
|
||||
</literallayout>
|
||||
<para>
|
||||
2Send performs the same job as pkg_send except the data comes in
|
||||
two parts. This is often the case for say a command followed by
|
||||
user data. User data copies can be avoided while still allowing
|
||||
a single trip in and out of the kernel on the receiving end.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry><term>PKG_STREAM - Send a buffered data stream on the connection</term>
|
||||
<listitem>
|
||||
<literallayout>
|
||||
pkg_stream( message_type, data_buff, buff_len, ptr_to_connection )
|
||||
returns bytes_sent or ERROR
|
||||
</literallayout>
|
||||
<para>
|
||||
Pkg_stream connections provide a low network overhead connection
|
||||
where interactive responsiveness is not required.
|
||||
</para>
|
||||
<para>
|
||||
Connections have a PKG_STREAMLEN (currently 4096) byte stream
|
||||
buffer. If the current message is less than MAXQLEN (currently
|
||||
512) bytes in length, and space remains for it, it will be
|
||||
appended onto the end of this buffer. Otherwise the buffer is
|
||||
implicitly flushed by sending this message via PKG_SEND.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry><term>PKG_FLUSH - Flush the stream buffer out on the connection</term>
|
||||
<listitem>
|
||||
<literallayout>
|
||||
pkg_flush( ptr_to_connection )
|
||||
returns bytes_sent or ERROR
|
||||
</literallayout>
|
||||
<para>
|
||||
Flush takes the current contents of the stream buffer being
|
||||
constructed by stream and flushes it to the connection. This
|
||||
allows programs explicit control over the stream interface
|
||||
where required.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry><term>PKG_BLOCK - Wait for a complete message of any type</term>
|
||||
<listitem>
|
||||
<literallayout>
|
||||
pkg_block( ptr_to_connection )
|
||||
returns message_arrived or ERROR
|
||||
</literallayout>
|
||||
<para>
|
||||
This routine blocks, waiting for a complete message of ant type
|
||||
to arrive on the connection. The user message handler is called
|
||||
to process the message. This routine can be called in a loop
|
||||
waiting for asynchronous messages or for the arrival of messages
|
||||
of uncertain type.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry><term>PKG_WAITFOR - Wait for a message of specific type, return in user buffer</term>
|
||||
<listitem>
|
||||
<literallayout>
|
||||
pkg_waitfor( message_type, user_buff, buff_len, ptr_to_connection )
|
||||
returns buff_len or ERROR
|
||||
</literallayout>
|
||||
<para>
|
||||
This routine does a blocking read on the connection until a message
|
||||
of message_type is received. Asynchronous messages and messages of
|
||||
other types are processed while this routine waits. The message is
|
||||
returned in the user's buffer.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry><term>PKG_BWAITFOR - Wait for a message of specific type, return in allocated buffer</term>
|
||||
<listitem>
|
||||
<literallayout>
|
||||
pkg_bwaitfor( message_type, ptr_to_connection )
|
||||
returns ptr_to_buffer or ERROR
|
||||
</literallayout>
|
||||
<para>
|
||||
This routine does a blocking read on the connection until a message
|
||||
of message_type is received. Asynchronous messages and messages of
|
||||
other types are processed while this routine waits. The message is
|
||||
returned in a newly allocated buffer that the caller must free.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
|
||||
</para>
|
||||
|
||||
<para>
|
||||
|
||||
User Message Handler Interface:
|
||||
|
||||
<variablelist>
|
||||
|
||||
<varlistentry><term>PKG_SWITCH - Table of User Message Handler Pointers</term>
|
||||
<listitem>
|
||||
<literallayout>
|
||||
struct pkg_switch {
|
||||
unsigned short pks_type; /* Type code */
|
||||
int (*pks_handler)(); /* Message Handler */
|
||||
char *pks_title; /* Description */
|
||||
};
|
||||
pks_handler( ptr_to_connection, message_buff )
|
||||
returns ignored int
|
||||
</literallayout>
|
||||
<para>
|
||||
The user may specify handlers for one or more message types. When
|
||||
these routines are called they are passed a pointer to the connection
|
||||
and a pointer to a buffer that contains the message. The user message
|
||||
handler routine is responsible for freeing the message buffer after
|
||||
processing it. If there is no message handler for that message type
|
||||
the message is discarded and the buffered freed. The switch routine
|
||||
uses an external message handler array, created by the caller, that
|
||||
defines message types, handler entry points, and a message descriptor
|
||||
field.
|
||||
</para>
|
||||
<para>
|
||||
The pkg_switch list which is passed to some of the above functions
|
||||
is a NULL terminated array of structures containing the message type,
|
||||
a pointer to an function which handles messages of that type, and a
|
||||
descriptive string. A separate pkg_switch array is kept for each
|
||||
connection so that several entirely different PKG conversations can
|
||||
be carried out by a single application at the same time.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry><term>PKG_CONN - Connection block structure</term>
|
||||
<listitem>
|
||||
<literallayout>
|
||||
struct pkg_conn {
|
||||
pkg_file_desc, pkg_magic, mess_len, ptr_to_buffer,
|
||||
curr_buffer_pos, pkg_switch, errlog, stream_buff,
|
||||
curr_stream_pos
|
||||
};
|
||||
</literallayout>
|
||||
<para>
|
||||
Connection block structures are created by pkg_open or pkg_getclient
|
||||
when a connection is established, and are freed when a connection is
|
||||
closed. This connection block is used during all I/O requests and
|
||||
contains the pointer to the start of the current buffer and to the
|
||||
current position in the buffer for incomplete read or writes. The
|
||||
mess_len field specifies the number of bytes expected by get. The
|
||||
pkg_switch array, and a pointer to an error logging function for this
|
||||
connection is included. The stream buffer is also contained in the
|
||||
structure.
|
||||
</para>
|
||||
<para>
|
||||
See pkg.h for the actual names of the structure elements.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
</variablelist>
|
||||
|
||||
</para>
|
||||
|
||||
</refsect1>
|
||||
|
||||
<refsect1 xml:id='pkg_impl_notes'><title>Implementation Notes</title>
|
||||
<para>
|
||||
At least two implementations of the PKG interface have been done, one based on
|
||||
TCP/IP connections, the other based on DECnet connections. Future releases of
|
||||
PKG will be layered on top of a virtual stream library known as NET.
|
||||
</para>
|
||||
<para>
|
||||
The implementation running on 4.2BSD UNIX takes advantage of the "writev"
|
||||
syscall which can output the header and data in a single syscall/TCP_PUSH
|
||||
cycle. The advantage of the short data copy is realized only when writev
|
||||
can not be used, or when a pkg_flush is not required (a la PKG_STREAM).]
|
||||
</para>
|
||||
</refsect1>
|
||||
|
||||
<refsect1 xml:id='pkg_future_devel'><title>Future Developments</title>
|
||||
<para>
|
||||
Further development of the lower levels of the interface will be provided
|
||||
so that this message passing abstraction can be provided on top of both
|
||||
DECnet and TCP/IP network layers, with other implementations provided as
|
||||
required. The program interface layer is to be as described in the body
|
||||
of this note, the lower layers will interface to the network layers using
|
||||
whatever subroutine interfaces are most appropriate for the system hosting
|
||||
the interface. A simple read/write/open/close abstraction may be provided
|
||||
at a lower layer to further isolate the network layers from the message
|
||||
handling layer.
|
||||
</para>
|
||||
<para>
|
||||
Where it is necessary to cross network protocol boundaries, message relay
|
||||
processes will be created to reside on a Janus host that straddles the two
|
||||
domains. Domain routing and relay point information will be maintained
|
||||
above the network layer within the extended PKG interface. Clients and
|
||||
servers will need to determine server host id information from some available
|
||||
database. Server names must either carry domain information or such
|
||||
information must be available as part of the server database. Within the
|
||||
extended PKG interface routing information for domain boundary transits
|
||||
must be maintained, and appropriate Janus host systems connected to provide
|
||||
relay services.
|
||||
</para>
|
||||
<para>
|
||||
It is not anticipated that full asynchronous I/O implementation will work
|
||||
particularly well across domain boundaries, but all other forms of message
|
||||
transfer should work quite well. As already noted, buffered stream I/O
|
||||
may be perfectly satisfactory for many applications where full interaction
|
||||
is not required. Where applicable, this mode of interface is to be
|
||||
preferred over full asynchronous I/O. Further development of this interface
|
||||
layer on other protocol families is possible, perhaps even on low level
|
||||
networks like BITNET and certainly on connection oriented X.25 or OSI
|
||||
networks.
|
||||
</para>
|
||||
</refsect1>
|
||||
|
||||
<refsect1 xml:id='author'><title>AUTHOR</title>
|
||||
<para>Peter B. Shames</para>
|
||||
</refsect1>
|
||||
|
||||
<refsect1 xml:id='bug_reports'><title>BUG REPORTS</title>
|
||||
<para>
|
||||
Reports of inaccuracies should be submitted via electronic
|
||||
mail to <email>devs@brlcad.org</email>
|
||||
</para>
|
||||
</refsect1>
|
||||
</refentry>
|
||||
@@ -22,6 +22,7 @@ set_target_properties(attr_std_list_xml PROPERTIES FOLDER "DocBook")
|
||||
set(man5_EN
|
||||
dsp.xml
|
||||
${CMAKE_CURRENT_BINARY_DIR}/attributes.xml
|
||||
benchmark.xml
|
||||
burst_point_library.xml
|
||||
burst_shotline_files.xml
|
||||
bw.xml
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -184,6 +184,7 @@ set(mann_EN
|
||||
rtcheck.xml
|
||||
saveview.xml
|
||||
sca.xml
|
||||
screengrab.xml
|
||||
search.xml
|
||||
sed.xml
|
||||
setview.xml
|
||||
|
||||
@@ -18,28 +18,32 @@
|
||||
<refsynopsisdiv xml:id="synopsis">
|
||||
<cmdsynopsis sepchar=" ">
|
||||
<command>eac</command>
|
||||
<arg choice="opt" rep="norepeat">aircodes</arg>
|
||||
<arg choice="req" rep="norepeat"><replaceable>aircodes</replaceable></arg>
|
||||
<arg choice="req" rep="norepeat"><replaceable>air_code(s)</replaceable></arg>
|
||||
</cmdsynopsis>
|
||||
</refsynopsisdiv>
|
||||
|
||||
<refsection xml:id="description"><title>DESCRIPTION</title>
|
||||
|
||||
<para>Adds all the regions in the current model that have one of the aircodes in the argument list to the display list so that they will appear on the <emphasis>MGED</emphasis> display. Regions that have nonzero ident numbers will not be listed by this command. The <command>whichair</command> command will perform the same search, but just lists the results.
|
||||
<para>Adds all the regions in the current model that have any of the
|
||||
specified aircodes to the display list so that they will appear on
|
||||
the <emphasis>MGED</emphasis> display. Regions that have nonzero
|
||||
region identifiers will not be listed by this command. The
|
||||
<command>whichair</command> command performs a similarsearch, but
|
||||
just lists the results.
|
||||
</para>
|
||||
</refsection>
|
||||
|
||||
<refsection xml:id="examples"><title>EXAMPLES</title>
|
||||
|
||||
<para>The example shows the use of the <command>eac</command> command to draw all regions having particular air codes.
|
||||
</para>
|
||||
<example><title>Draw all regions having particular air codes.</title>
|
||||
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term><prompt>mged></prompt> <userinput>eac 1 2 3</userinput></term>
|
||||
<listitem>
|
||||
<para>Draws all regions with <emphasis>aircodes</emphasis> 1, 2, or 3 in the <emphasis>MGED</emphasis> display.</para>
|
||||
<para>Draws all regions with
|
||||
<emphasis>aircodes</emphasis> 1, 2, or 3 in the
|
||||
<emphasis>MGED</emphasis> display.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
<command>edcomb</command>
|
||||
|
||||
<arg choice="req" rep="norepeat"><replaceable>combname</replaceable></arg>
|
||||
<arg choice="opt" rep="norepeat"><replaceable>regionflag region_id air_code los material_id</replaceable></arg>
|
||||
<arg choice="opt" rep="norepeat"><replaceable>regionflag regionID airID los% materialID</replaceable></arg>
|
||||
</cmdsynopsis>
|
||||
</refsynopsisdiv>
|
||||
|
||||
|
||||
@@ -17,10 +17,19 @@
|
||||
<refsynopsisdiv xml:id="synopsis">
|
||||
<cmdsynopsis sepchar=" ">
|
||||
<command>item</command>
|
||||
<arg choice="req" rep="norepeat"><replaceable>region_name ident_number</replaceable></arg>
|
||||
<arg choice="opt" rep="norepeat"><replaceable>air_code</replaceable></arg>
|
||||
<arg choice="opt" rep="norepeat"><replaceable>material_code</replaceable></arg>
|
||||
<arg choice="opt" rep="norepeat"><replaceable>LOS</replaceable></arg>
|
||||
<arg choice="req" rep="norepeat"><replaceable>region_name</replaceable></arg>
|
||||
<arg choice="req" rep="norepeat">
|
||||
<replaceable>regionID</replaceable>
|
||||
<arg choice="opt" rep="norepeat">
|
||||
<replaceable>airID</replaceable>
|
||||
<arg choice="opt" rep="norepeat">
|
||||
<replaceable>materialID</replaceable>
|
||||
<arg choice="opt" rep="norepeat">
|
||||
<replaceable>los%</replaceable>
|
||||
</arg>
|
||||
</arg>
|
||||
</arg>
|
||||
</arg>
|
||||
</cmdsynopsis>
|
||||
</refsynopsisdiv>
|
||||
|
||||
|
||||
@@ -1,67 +1,132 @@
|
||||
<refentry xmlns="http://docbook.org/ns/docbook" version="5.0" xml:id="overlay">
|
||||
|
||||
<refmeta>
|
||||
<refentrytitle>OVERLAY</refentrytitle>
|
||||
<manvolnum>nged</manvolnum>
|
||||
<refmiscinfo class="source">BRL-CAD</refmiscinfo>
|
||||
<refmiscinfo class="manual">BRL-CAD User Commands</refmiscinfo>
|
||||
</refmeta>
|
||||
<refmeta>
|
||||
<refentrytitle>OVERLAY</refentrytitle>
|
||||
<manvolnum>nged</manvolnum>
|
||||
<refmiscinfo class="source">BRL-CAD</refmiscinfo>
|
||||
<refmiscinfo class="manual">BRL-CAD User Commands</refmiscinfo>
|
||||
</refmeta>
|
||||
|
||||
<refnamediv xml:id="name">
|
||||
<refname>overlay</refname>
|
||||
<refpurpose>Plots the specified UNIX <emphasis>plot_file</emphasis> in the MGED display.
|
||||
</refpurpose>
|
||||
</refnamediv>
|
||||
<refnamediv xml:id="name">
|
||||
<refname>overlay</refname>
|
||||
<refpurpose>
|
||||
Plots the specified UNIX <emphasis>plot_file</emphasis>
|
||||
in the MGED display.
|
||||
</refpurpose>
|
||||
</refnamediv>
|
||||
|
||||
<!-- body begins here -->
|
||||
<refsynopsisdiv xml:id="synopsis">
|
||||
<cmdsynopsis sepchar=" ">
|
||||
<command>overlay</command>
|
||||
<arg choice="req" rep="norepeat"><replaceable>plot_file</replaceable></arg>
|
||||
<arg choice="opt" rep="norepeat"><replaceable>name</replaceable></arg>
|
||||
</cmdsynopsis>
|
||||
</refsynopsisdiv>
|
||||
<!-- body begins here -->
|
||||
<refsynopsisdiv xml:id="synopsis">
|
||||
<cmdsynopsis sepchar=" ">
|
||||
<command>overlay</command>
|
||||
<arg choice="opt" rep="norepeat"><replaceable>-s #</replaceable></arg>
|
||||
<arg choice="req" rep="norepeat"><replaceable>plot_file</replaceable></arg>
|
||||
<arg choice="opt" rep="norepeat"><replaceable>name</replaceable></arg>
|
||||
</cmdsynopsis>
|
||||
<cmdsynopsis sepchar=" ">
|
||||
<command>overlay -F</command>
|
||||
<arg choice="opt" rep="norepeat"><replaceable>-i</replaceable></arg>
|
||||
<arg choice="opt" rep="norepeat"><replaceable>-c</replaceable></arg>
|
||||
<arg choice="opt" rep="norepeat"><replaceable>-z</replaceable></arg>
|
||||
<arg choice="opt" rep="norepeat"><replaceable>-X #</replaceable></arg>
|
||||
<arg choice="opt" rep="norepeat"><replaceable>-Y #</replaceable></arg>
|
||||
<arg choice="opt" rep="norepeat"><replaceable>-w #</replaceable></arg>
|
||||
<arg choice="opt" rep="norepeat"><replaceable>-n #</replaceable></arg>
|
||||
<arg choice="opt" rep="norepeat"><replaceable>-S #</replaceable></arg>
|
||||
<arg choice="opt" rep="norepeat"><replaceable>--format fmt</replaceable></arg>
|
||||
<arg choice="req" rep="norepeat"><replaceable>img_file</replaceable></arg>
|
||||
</cmdsynopsis>
|
||||
</refsynopsisdiv>
|
||||
|
||||
<refsection xml:id="description"><title>DESCRIPTION</title>
|
||||
|
||||
<para>Plots the specified UNIX <emphasis>plot_file</emphasis> in the
|
||||
MGED display. Multiple files may be specified using a pattern match
|
||||
(e.g., <command>overlay</command> <emphasis>*.plot</emphasis>).
|
||||
</para>
|
||||
|
||||
<para>Phony object names are created for each part of the plot file
|
||||
that is in a unique color. The names are created by adding a color
|
||||
to the specified <emphasis>name</emphasis>, or to _PLOT_OVER
|
||||
if no name is provided. The color suffix is built by converting the
|
||||
RGB color to a six-digit hex number. Each color corresponds to 2 hex
|
||||
digits, so that white becomes "ffffff," red becomes "ff0000," green
|
||||
is "00ff00," etc.
|
||||
</para>
|
||||
</refsection>
|
||||
|
||||
<refsection xml:id="examples"><title>EXAMPLES</title>
|
||||
|
||||
<para>The example shows the use of the <command>overlay</command> command to plot a specified UNIX plot file in the MGED display.
|
||||
</para>
|
||||
|
||||
<example><title>Plot a UNIX plot file in the MGED display.</title>
|
||||
|
||||
<para>
|
||||
<prompt>mged></prompt><userinput>overlay plot.upl tmp</userinput>
|
||||
</para>
|
||||
<para>Plots the UNIX plot file <emphasis>plot.upl</emphasis> in the MGED display, using <emphasis>tmp</emphasis> as the base for the phony object names.
|
||||
</para>
|
||||
</example>
|
||||
|
||||
</refsection>
|
||||
|
||||
<refsection xml:id="author"><title>AUTHOR</title><para>BRL-CAD Team</para></refsection>
|
||||
|
||||
<refsection xml:id="bug_reports"><title>BUG REPORTS</title>
|
||||
<refsection xml:id="description"><title>DESCRIPTION</title>
|
||||
|
||||
<para>
|
||||
Reports of bugs or problems should be submitted via electronic
|
||||
mail to <email>devs@brlcad.org</email>
|
||||
Plots the specified UNIX <emphasis>plot_file</emphasis> in the current
|
||||
application display or the specified <emphasis>image file</emphasis> in
|
||||
the current application embedded framebuffer. When displaying plot
|
||||
files, multiple files may be specified using a pattern match (e.g.,
|
||||
<command>overlay</command> <emphasis>*.plot</emphasis>).
|
||||
</para>
|
||||
</refsection>
|
||||
|
||||
<para>
|
||||
When displaying plot files, phony object names are created for each
|
||||
part of the plot file(s) with a unique color. The names are created
|
||||
by adding a color to the specified <emphasis>name</emphasis>, or to
|
||||
_PLOT_OVERLAY_ if no name is provided. The color suffix is built by
|
||||
converting the RGB color to a six-digit hex number. Each color
|
||||
corresponds to 2 hex digits, so that white becomes "ffffff," red
|
||||
becomes "ff0000," green is "00ff00," etc.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
Image files will be display in the currently active framebuffer. Currently
|
||||
multiple images cannot be specified by a single <command>overlay</command>
|
||||
command (but as the images would overrwrite each other this feature would
|
||||
not be terribly useful in any case.) However, mulitiple images can be written
|
||||
in succession to the same framebuffer using the <option>-X</option> and
|
||||
<option>-Y</option> offset specification options to offset their positions
|
||||
for simultaneous display. Alternately, if the user wishes to reset the framebuffer
|
||||
before drawing the new image the <option>-c</option> option may be specified.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
The <option>-w</option>, <option>-n</option>, and <option>-S</option> options
|
||||
are used to specify image size for formats such as PIX that do not encode the
|
||||
image size in their own data. Similarly, <option>--format</option> may be
|
||||
used to explicitly specify an image format if the filename does not make the
|
||||
format clear.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
By default, images are displayed in the framebuffer using their original size.
|
||||
If the users wishes to use all available space in the image window to display
|
||||
an image, the <option>-z</option> may be specified to focus the framebuffer on
|
||||
the image. The <option>-i</option> option may be used to invert an image's
|
||||
display in the y (vertical) direction.
|
||||
</para>
|
||||
</refsection>
|
||||
|
||||
<refsection xml:id="examples">
|
||||
<title>EXAMPLES</title>
|
||||
|
||||
<example>
|
||||
<title>Plot a UNIX plot file in the MGED display.</title>
|
||||
|
||||
<para>
|
||||
<prompt>mged></prompt><userinput>overlay plot.upl tmp</userinput>
|
||||
</para>
|
||||
<para>
|
||||
Plots the UNIX plot file <emphasis>plot.upl</emphasis> in the MGED
|
||||
display, using <emphasis>tmp</emphasis> as the base for the phony
|
||||
object names.
|
||||
</para>
|
||||
</example>
|
||||
|
||||
<example>
|
||||
<title>Plot a PNG file in the MGED framebuffer.</title>
|
||||
|
||||
<para>
|
||||
<prompt>mged></prompt><userinput>overlay -c -F image.png</userinput>
|
||||
</para>
|
||||
<para>
|
||||
Plots the image file <emphasis>image.png</emphasis> in the MGED
|
||||
framebuffer, first clearing any pre-existing images in the framebuffer.
|
||||
</para>
|
||||
</example>
|
||||
</refsection>
|
||||
|
||||
<refsection xml:id="author">
|
||||
<title>AUTHOR</title>
|
||||
<para>
|
||||
BRL-CAD Team
|
||||
</para>
|
||||
</refsection>
|
||||
|
||||
<refsection xml:id="bug_reports">
|
||||
<title>BUG REPORTS</title>
|
||||
<para>
|
||||
Reports of bugs or problems should be submitted via electronic
|
||||
mail to <email>devs@brlcad.org</email>
|
||||
</para>
|
||||
</refsection>
|
||||
</refentry>
|
||||
|
||||
@@ -17,13 +17,13 @@
|
||||
<refsynopsisdiv xml:id="synopsis">
|
||||
<cmdsynopsis sepchar=" ">
|
||||
<command>regdef</command>
|
||||
<arg choice="req" rep="norepeat"><replaceable>item</replaceable></arg>
|
||||
<arg choice="req" rep="norepeat"><replaceable>regionID</replaceable></arg>
|
||||
<arg choice="opt" rep="norepeat">
|
||||
<replaceable>air </replaceable>
|
||||
<replaceable>airID</replaceable>
|
||||
<arg choice="opt" rep="norepeat">
|
||||
<replaceable>los</replaceable>
|
||||
<replaceable>los%</replaceable>
|
||||
<arg choice="opt" rep="norepeat">
|
||||
<replaceable>material_code</replaceable>
|
||||
<replaceable>materialID</replaceable>
|
||||
</arg>
|
||||
</arg>
|
||||
</arg>
|
||||
|
||||
@@ -23,16 +23,17 @@
|
||||
<arg choice="plain" rep="norepeat"><replaceable>num</replaceable></arg>
|
||||
</group>
|
||||
</group>
|
||||
<arg choice="req" rep="norepeat">assembly</arg>
|
||||
<arg choice="req" rep="norepeat">comb</arg>
|
||||
<arg choice="req" rep="norepeat">regionID</arg>
|
||||
</cmdsynopsis>
|
||||
</refsynopsisdiv>
|
||||
|
||||
<refsection xml:id="description"><title>DESCRIPTION</title>
|
||||
<para>The 'reid' command sequentially renumbers the 'region_id' attribute
|
||||
of all regions within a group. Optionally the increment between consecutive
|
||||
'region_id' can be specified. Once the command is complete, the highest
|
||||
'region_id' set is reported.</para>
|
||||
<para>The 'reid' command sequentially assigns the 'region_id'
|
||||
attribute value for all regions within a specified combination.
|
||||
Optionally, the increment between consecutive 'region_id' can be
|
||||
specified. Once the command is complete, the highest 'region_id' set
|
||||
is reported.</para>
|
||||
</refsection>
|
||||
|
||||
<refsection xml:id="options"><title>OPTIONS</title>
|
||||
@@ -41,15 +42,16 @@
|
||||
<term><option>-n num</option></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Increment between consecutive 'region_id'. The default is one.
|
||||
Increment to use between consecutive region identifiers.
|
||||
The default is 1.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><option>assembly</option></term>
|
||||
<term><option>comb</option></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Group name
|
||||
Name of the combination to search for regions.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
@@ -57,7 +59,7 @@
|
||||
<term><option>regionID</option></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Renumber start number
|
||||
Region ID to start re-numbering with.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
@@ -0,0 +1,73 @@
|
||||
<refentry xmlns="http://docbook.org/ns/docbook" version="5.0" xml:id="screengrab">
|
||||
|
||||
<refmeta>
|
||||
<refentrytitle>SCREENGRAB</refentrytitle>
|
||||
<manvolnum>nged</manvolnum>
|
||||
<refmiscinfo class="source">BRL-CAD</refmiscinfo>
|
||||
<refmiscinfo class="manual">BRL-CAD User Commands</refmiscinfo>
|
||||
</refmeta>
|
||||
|
||||
<refnamediv xml:id="name">
|
||||
<refname>screengrab</refname>
|
||||
<refpurpose>
|
||||
Save the current MGED display visual or framebuffer contents to an image file.
|
||||
</refpurpose>
|
||||
</refnamediv>
|
||||
|
||||
<!-- body begins here -->
|
||||
<refsynopsisdiv xml:id="synopsis">
|
||||
<cmdsynopsis sepchar=" ">
|
||||
<command>screengrab</command>
|
||||
<arg choice="opt" rep="norepeat"><replaceable>-F</replaceable></arg>
|
||||
<arg choice="opt" rep="norepeat"><replaceable>--format fmt</replaceable></arg>
|
||||
<arg choice="req" rep="norepeat"><replaceable>image_file</replaceable></arg>
|
||||
</cmdsynopsis>
|
||||
</refsynopsisdiv>
|
||||
|
||||
<refsection xml:id="description"><title>DESCRIPTION</title>
|
||||
|
||||
<para>
|
||||
Generates an image file containing either the current application display
|
||||
manager's visual representation of the current scene or (when the
|
||||
<option>-F</option> option is specified) the contents of the current
|
||||
application embedded framebuffer.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
The output format of the image file will be deduced from the filename, but
|
||||
if the caller wishes to ensure a specific format the <option>--format</option>
|
||||
may be used.
|
||||
</para>
|
||||
</refsection>
|
||||
|
||||
<refsection xml:id="examples">
|
||||
<title>EXAMPLES</title>
|
||||
|
||||
<example>
|
||||
<title>Write a PNG image file of the MGED framebuffer contents.</title>
|
||||
|
||||
<para>
|
||||
<prompt>mged></prompt><userinput>screengrab -F fb.png</userinput>
|
||||
</para>
|
||||
<para>
|
||||
Writes the contents of the active MGED framebuffer to the image file
|
||||
<emphasis>fb.png</emphasis>.
|
||||
</para>
|
||||
</example>
|
||||
</refsection>
|
||||
|
||||
<refsection xml:id="author">
|
||||
<title>AUTHOR</title>
|
||||
<para>
|
||||
BRL-CAD Team
|
||||
</para>
|
||||
</refsection>
|
||||
|
||||
<refsection xml:id="bug_reports">
|
||||
<title>BUG REPORTS</title>
|
||||
<para>
|
||||
Reports of bugs or problems should be submitted via electronic
|
||||
mail to <email>devs@brlcad.org</email>
|
||||
</para>
|
||||
</refsection>
|
||||
</refentry>
|
||||
@@ -9,7 +9,7 @@
|
||||
|
||||
<refnamediv xml:id="name">
|
||||
<refname>whichid</refname>
|
||||
<refpurpose>Lists all the regions that use one of the idents specified.
|
||||
<refpurpose>Reports information relating to usage of the region_id property on regions.
|
||||
</refpurpose>
|
||||
</refnamediv>
|
||||
|
||||
@@ -17,32 +17,135 @@
|
||||
<refsynopsisdiv xml:id="synopsis">
|
||||
<cmdsynopsis sepchar=" ">
|
||||
<command>whichid</command>
|
||||
|
||||
<arg choice="req" rep="norepeat"><replaceable>idents</replaceable></arg>
|
||||
|
||||
<arg choice="opt" rep="norepeat"><replaceable>options ...</replaceable></arg>
|
||||
<arg choice="req" rep="repeat"><replaceable>ident[-ident]</replaceable></arg>
|
||||
</cmdsynopsis>
|
||||
</refsynopsisdiv>
|
||||
|
||||
<refsection xml:id="description"><title>DESCRIPTION</title>
|
||||
|
||||
<para>Lists all the regions that use one of the idents specified.
|
||||
<para>
|
||||
Reports information about the usage of the <emphasis>region_id</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.
|
||||
|
||||
</para>
|
||||
If the <option>U</option> is specified, the reporting is inverted and the command
|
||||
will report the ranges of <emphasis>unused</emphasis> ids rather than the regions
|
||||
using various ids.
|
||||
</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 id 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>
|
||||
|
||||
</refsection>
|
||||
|
||||
|
||||
<refsection xml:id="examples"><title>EXAMPLES</title>
|
||||
|
||||
<para>The example shows the use of the <command>whichid</command> command to list all the regions that use one of the specified idents.
|
||||
</para>
|
||||
<para>
|
||||
For these examples the geometry file used is the standard <emphasis>ktank.g</emphasis>
|
||||
included with BRL-CAD.
|
||||
</para>
|
||||
|
||||
<example><title>List all regions having the specified idents.</title>
|
||||
<example>
|
||||
<title>Report all regions using region ids between 4000 and 7000.</title>
|
||||
<para>
|
||||
<prompt>mged></prompt><userinput>whichid 4000-7000</userinput>
|
||||
<literallayout class="normal">
|
||||
Region[s] with ident 4001:
|
||||
r23
|
||||
r25
|
||||
Region[s] with ident 4050:
|
||||
r24
|
||||
r26
|
||||
Region[s] with ident 6001:
|
||||
r210
|
||||
Region[s] with ident 6002:
|
||||
r212
|
||||
</literallayout>
|
||||
</para>
|
||||
</example>
|
||||
|
||||
<para>
|
||||
<prompt>mged></prompt><userinput>whichid 1002 1003</userinput>
|
||||
</para>
|
||||
<para>Lists all regions having idents of 1002 or 1003.
|
||||
</para>
|
||||
</example>
|
||||
<example>
|
||||
<title>Report all regions using region ids between 1000-2000 and 4000-5000.</title>
|
||||
<para>
|
||||
<prompt>mged></prompt><userinput>whichid 1000-2000 4000-5000</userinput>
|
||||
<literallayout class="normal">
|
||||
Region[s] with ident 1010:
|
||||
r213
|
||||
Region[s] with ident 1011:
|
||||
r214
|
||||
Region[s] with ident 4001:
|
||||
r23
|
||||
r25
|
||||
Region[s] with ident 4050:
|
||||
r24
|
||||
r26
|
||||
</literallayout>
|
||||
</para>
|
||||
</example>
|
||||
|
||||
<example>
|
||||
<title>Report all regions using region ids between 1000-2000 and 4000-5000, limiting
|
||||
results to regions in the <emphasis>tank</emphasis> geomtry tree.</title>
|
||||
<para>
|
||||
<prompt>mged></prompt><userinput>whichid --root tank 1000-2000 4000-5000</userinput>
|
||||
<literallayout class="normal">
|
||||
Region[s] with ident 4001:
|
||||
r23
|
||||
r25
|
||||
Region[s] with ident 4050:
|
||||
r24
|
||||
r26
|
||||
</literallayout>
|
||||
</para>
|
||||
</example>
|
||||
|
||||
<example>
|
||||
<title>Report all unused region_id ranges in the database between 1 and 1000.</title>
|
||||
<para>
|
||||
<prompt>mged></prompt><userinput>whichid -U 1-1000</userinput>
|
||||
<literallayout class="normal">
|
||||
Unused idents:
|
||||
1
|
||||
4
|
||||
6-99
|
||||
105-109
|
||||
112-114
|
||||
116-119
|
||||
122-159
|
||||
161-164
|
||||
166-204
|
||||
210-224
|
||||
226-504
|
||||
519-609
|
||||
620-719
|
||||
730-829
|
||||
840-939
|
||||
950-1000
|
||||
</literallayout>
|
||||
</para>
|
||||
</example>
|
||||
|
||||
</refsection>
|
||||
|
||||
|
||||
-1181
File diff suppressed because it is too large
Load Diff
@@ -71,7 +71,6 @@ set(manuals_mged_HTML
|
||||
manuals/mged/brlcad_solids.html
|
||||
manuals/mged/build_def_index.sh
|
||||
manuals/mged/cmd_line_ed.html
|
||||
manuals/mged/concl.html
|
||||
manuals/mged/contents.html
|
||||
manuals/mged/coord-axes.gif
|
||||
manuals/mged/cup.g
|
||||
@@ -95,7 +94,6 @@ set(manuals_mged_HTML
|
||||
manuals/mged/handle.jpg
|
||||
manuals/mged/index.html
|
||||
manuals/mged/mged.html
|
||||
manuals/mged/mged1.html
|
||||
manuals/mged/mged2.html
|
||||
manuals/mged/mged3.html
|
||||
manuals/mged/mged_callbacks.html
|
||||
@@ -110,8 +108,6 @@ set(manuals_mged_HTML
|
||||
manuals/mged/mug_camo.jpg
|
||||
manuals/mged/mug_green.gif
|
||||
manuals/mged/mug_green.jpg
|
||||
manuals/mged/notes.html
|
||||
manuals/mged/outline
|
||||
manuals/mged/peewee.gif
|
||||
manuals/mged/peewee.jpg
|
||||
manuals/mged/preface.html
|
||||
@@ -119,7 +115,6 @@ set(manuals_mged_HTML
|
||||
manuals/mged/rim.gif
|
||||
manuals/mged/rim.jpg
|
||||
manuals/mged/shaders.html
|
||||
manuals/mged/skipped
|
||||
manuals/mged/tex-html.tcl
|
||||
)
|
||||
ADD_DOC(manuals_mged_HTML html/manuals/mged)
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,214 +1,222 @@
|
||||
<HTML>
|
||||
|
||||
<HEAD>
|
||||
<TITLE>BRL­CAD Primitive Solids </Title>
|
||||
</HEAD>
|
||||
|
||||
<BODY BGCOLOR="#E0D8c8" Text="#000000">
|
||||
|
||||
<H1>BRL­CAD Primitive Solids</H1>
|
||||
|
||||
<HR>
|
||||
|
||||
<DT><a NAME="ARB"><B>ARB</B></DT>
|
||||
|
||||
<DD>The <I>ARB</I> is a planar-faced convex solid with between four and eight unique vertices. The specific type of <I>ARB</I> is often referred
|
||||
to by adding the number of unique vertices to the word <I>ARB</I>. For example, an <I>ARB8</I>
|
||||
is the usual solid block, an <I>ARB4</I> is a tetrahedron, and an <I>ARB6</I>
|
||||
may be a wedge shape.
|
||||
|
||||
</DD>
|
||||
<HR>
|
||||
|
||||
<DT><a NAME="ARS"><B>arbitrary faceted solid</B></DT>
|
||||
|
||||
<DD>The <I>arbitrary faceted solid</I> (Also referred to as <I>ARS</I>)
|
||||
is a planar-faced solid defined by any number of curves (more precisely closed polylines). These curves are typically
|
||||
planar <I>waterline</I> or <I>station</I> curves, but they are not restricted to
|
||||
being planar. Each curve in a particular <I>ARS</I> must have the same number of points.
|
||||
The first and last curves are normally degenerate,
|
||||
each consisting of repetitions of
|
||||
a single point to make up the correct number of points for a curve. Faces are built
|
||||
by connecting corresponding points on adjacent curves. Since the curves are assumed to be closed,
|
||||
the last point on any curve is implicitly connected to the first point on the same curve
|
||||
|
||||
</DD>
|
||||
<HR>
|
||||
|
||||
<DT><a NAME="ARBN"><B>ARBN</B></DT>
|
||||
|
||||
<DD>The <I>ARBN</I> is a planar faced convex solid defined by any number of
|
||||
bounding planes.
|
||||
|
||||
</DD>
|
||||
<HR>
|
||||
|
||||
<DT><a NAME="BOT"><B>BOT</B></DT>
|
||||
|
||||
<DD>The <I>BOT</I> solid is a collection of triangular facets. It may represent a zero thickness surface,
|
||||
a finite thickness plate, or a solid volume bounded by the triangles. The surface normal for each triangle may be
|
||||
unoriented, oriented according to the right-hand rule, or oriented according to the left-hand rule.
|
||||
|
||||
</DD>
|
||||
<HR>
|
||||
|
||||
<DT><a NAME="ELL"><B>ellipsoid</B></DT>
|
||||
|
||||
<DD>The <I>ellipsoid</I> is a solid defined by three
|
||||
mutually perpendicular semi­axes. When the axes are
|
||||
of unequal length, an ellipsoid is generated. When the axes
|
||||
are all the same length, a sphere is generated.
|
||||
</DD>
|
||||
<HR>
|
||||
|
||||
<DT><a NAME="EHY"><B>elliptical hyperboloid</B></DT>
|
||||
|
||||
<DD>The <I>elliptical hyperboloid</I> (also referred to as <I>EHY</I>)
|
||||
is a solid with an elliptical base the remainder of the surface of which
|
||||
is defined by hyperbolas that run from any point on the ellipse through
|
||||
a common vertex at a specified distance from the ellipse and back to the ellipse
|
||||
at the point diametrically opposite the starting point.
|
||||
Further control of the surface may be obtained
|
||||
by specifying the distance from the hyperbolas to the vertex of the asymptotes.
|
||||
</DD>
|
||||
<HR>
|
||||
|
||||
<DT><a NAME="EPA"><B>elliptical paraboloid</B></DT>
|
||||
|
||||
<DD>The <I>elliptical paraboloid</I> (also referred to as <I>EPA</I>)
|
||||
is a solid with an elliptical base the remainder of the surface of which
|
||||
is defined by parabolas that run from any point on the ellipse through
|
||||
a common vertex at a specified distance from the ellipse and back to the ellipse
|
||||
at a point diametrically opposite the starting point.
|
||||
</DD>
|
||||
<HR>
|
||||
|
||||
<DT><a NAME="ETO"><B>elliptical torus</B></DT>
|
||||
|
||||
<DD>The <I>Elliptical Torus</I> (Also referred to as <I>ETO</I>)
|
||||
is defined by sweeping an ellipse through a circular path. The plane of the ellipse
|
||||
and the plane of the circular path are mutually perpendicular.
|
||||
</DD>
|
||||
<HR>
|
||||
|
||||
<DT><a NAME="EBM"><B>extruded bitmap</B></DT>
|
||||
|
||||
<DD>The <I>extruded bitmap</I> (also referred to as <I>EBM</I>)
|
||||
is a solid based on a greyscale bitmap. The bitmap is an array of unsigned char values,
|
||||
see bw(5), and is extruded by some distance. The <I>EBM</I> solid requires
|
||||
the dimensions of the bitmap file (height and width in bytes), an extrusion length,
|
||||
and a transformation matrix to position the <I>EBM</I>. Each byte in the
|
||||
bitmap file is treated as the base of a cell that is extruded by the specified
|
||||
extrusion length. If the value of the byte is non­zero, then that cell is considered solid.
|
||||
</DD>
|
||||
<HR>
|
||||
|
||||
<DT><a NAME="HAF"><B>half space</B></DT>
|
||||
|
||||
<DD>A <I>half space</I> is the portion of space on one side of a plane.
|
||||
It is represented by its boundary (the plane) and its outward-pointing normal vector.
|
||||
</DD>
|
||||
<HR>
|
||||
|
||||
<DT><a NAME="HF"><B>height field</B></DT>
|
||||
|
||||
<DD>The <I>height field</I> is a solid defined by a series of height measurements on
|
||||
a regular grid. In addition to a file of height measurements, this solid also requires
|
||||
a location vector, width and height direction vectors, and some scale factors.
|
||||
</DD>
|
||||
<HR>
|
||||
|
||||
<DT><a NAME="NMG"><B><I>n</I>­manifold geometry</B></DT> (also referred to as <I>NMG</I>)
|
||||
|
||||
<DD>The <I>n­manifold geometry</I> solid,
|
||||
sometimes known as a <I>non­manifold geometry</I>,
|
||||
is based on the description by
|
||||
Kevin Weiler in ``The Radial Edge Structure: A Topological Representation
|
||||
for Non­Manifold Geometric Modeling'' from <I>Geometric Modeling for CAD Applications</I>
|
||||
(Springer Verlag, 1987).
|
||||
A useful reference for the <I>NMG</I> solid
|
||||
is
|
||||
<a href="http://ftp.arl.army.mil/~mike/papers/90nmg"><I>Combinatorial
|
||||
Solid Geometry, Boundary Representations, and Non_Manifold Geometry</I></a>.
|
||||
</DD>
|
||||
<HR>
|
||||
|
||||
<DT><a NAME="PART"><B>particle</B></DT>
|
||||
|
||||
<DD>The <I>particle</I> solid is a lozenge-shaped object defined by
|
||||
a vertex, a height vector and radii at both ends. The body of the <I>particle</I>
|
||||
is either a cylinder or a truncated cone, depending on the values of the radii.
|
||||
Each end of the <I>particle</I> is a hemisphere of the specified radius.
|
||||
</DD>
|
||||
<HR>
|
||||
|
||||
<DT><a NAME="PIPE"><B>pipe</B></DT>
|
||||
|
||||
<DD>The <I>pipe</I> solid is defined by a sequence of control points, each
|
||||
with values for inner radius, outer radius, and bend radius. The actual <I>pipe</I>
|
||||
starts at the first control point and ends at the last control point.
|
||||
The intervening control points are replaced by circular bends with the
|
||||
specified bend radius, so the <I>pipe</I> is not likely to actually pass through
|
||||
these points. An inner radius of zero indicates a solid <I>pipe</I> or wire.
|
||||
</DD>
|
||||
<HR>
|
||||
|
||||
<DT><a NAME="PG"><B>polysolid</B></DT>
|
||||
|
||||
<DD>The <I>polysolid</I> is defined by a set of planar polygons. Each polygon
|
||||
may have up to 5 unique vertices. The vertices of each polygon must be in
|
||||
counter­clockwise order when viewed from outside the solid. The set of polygons
|
||||
must completely enclose the interior of the <I>polysolid</I>.
|
||||
</DD>
|
||||
<HR>
|
||||
|
||||
<DT><a NAME="RHC"><B>right hyperbolic cylinder</B></DT>
|
||||
|
||||
<DD>The <I>right hyperbolic cylinder</I> (also referred to as <I>RHC</I>)
|
||||
is a solid built by extruding a truncated hyperbola through a height vector.
|
||||
</DD>
|
||||
<HR>
|
||||
|
||||
<DT><a NAME="RPC"><B>right parabolic cylinder</B></DT>
|
||||
|
||||
<DD>The <I>right parabolic cylinder</I> (also referred to as <I>RPC</I>)
|
||||
is a solid built by extruding a truncated parabola through a height vector.
|
||||
</DD>
|
||||
<HR>
|
||||
|
||||
<DT><a NAME="SPLINE"><B>spline</B></DT>
|
||||
|
||||
<DD>The <I>spline</I> solid is defined by a set of non­uniform rational
|
||||
<I>B</I>­spline surfaces (NURBs). There are no trimming curves in the <I>spline</I>
|
||||
solid, so each NURB surface must exactly adjoin its neighbor so that the
|
||||
interior of the <I>spline</I> solid is completely enclosed and no parts of any NURB
|
||||
surface are dangling outside the solid.
|
||||
</DD>
|
||||
<HR>
|
||||
|
||||
<DT><a NAME="TOR"><B>torus</B></DT>
|
||||
|
||||
<DD>The <I>torus</I> is defined by sweeping one circle through a larger circular path.
|
||||
The planes of the circles are mutually perpendicular.
|
||||
</DD>
|
||||
<HR>
|
||||
|
||||
<DT><a NAME="TGC"><B>truncated general cone</B></DT> (also referred to as <I>TGC</I>)
|
||||
|
||||
<DD>The <I>TGC</I> solid is a truncated cone with elliptical (or circular) base and top.
|
||||
The base and top must be parallel, but the height vector connecting the center of
|
||||
the base with the center of the top does not need to be perpendicular to them.
|
||||
</DD>
|
||||
<HR>
|
||||
|
||||
<DT><a NAME="VOL"><B>vol</B></DT>
|
||||
|
||||
<DD>The <I>vol</I> solid is defined by a 3-dimensional array of unsigned char values.
|
||||
The solid requires a file of these values, the extent of the file (in bytes) in each dimension, the
|
||||
size of each cell, and high and low thresholds. Any value in the file that is between the
|
||||
thresholds (inclusive) represents a solid cell.
|
||||
</DD>
|
||||
<HR>
|
||||
|
||||
</BODY>
|
||||
</HTML>
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>BRLCAD Primitive Solids</title>
|
||||
<style type="text/css">
|
||||
body {
|
||||
background-color: #E0D8C8;
|
||||
color: #000000;
|
||||
}
|
||||
a.c2 {font-style: italic}
|
||||
a.c1 {font-weight: bold}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<h1>BRLCAD Primitive Solids</h1>
|
||||
<hr>
|
||||
<dt>
|
||||
<a class="c1" name="ARB" id="ARB">ARB</a>
|
||||
</dt>
|
||||
<dd>The <i>ARB</i> is a planar-faced convex solid with between
|
||||
four and eight unique vertices. The specific type of <i>ARB</i>
|
||||
is often referred to by adding the number of unique vertices to
|
||||
the word <i>ARB</i>. For example, an <i>ARB8</i> is the usual
|
||||
solid block, an <i>ARB4</i> is a tetrahedron, and an <i>ARB6</i>
|
||||
may be a wedge shape.</dd>
|
||||
<hr>
|
||||
<dt>
|
||||
<a class="c1" name="ARS" id="ARS">arbitrary faceted solid</a>
|
||||
</dt>
|
||||
<dd>The <i>arbitrary faceted solid</i> (Also referred to as
|
||||
<i>ARS</i>) is a planar-faced solid defined by any number of
|
||||
curves (more precisely closed polylines). These curves are
|
||||
typically planar <i>waterline</i> or <i>station</i> curves, but
|
||||
they are not restricted to being planar. Each curve in a
|
||||
particular <i>ARS</i> must have the same number of points. The
|
||||
first and last curves are normally degenerate, each consisting of
|
||||
repetitions of a single point to make up the correct number of
|
||||
points for a curve. Faces are built by connecting corresponding
|
||||
points on adjacent curves. Since the curves are assumed to be
|
||||
closed, the last point on any curve is implicitly connected to
|
||||
the first point on the same curve</dd>
|
||||
<hr>
|
||||
<dt>
|
||||
<a class="c1" name="ARBN" id="ARBN">ARBN</a>
|
||||
</dt>
|
||||
<dd>The <i>ARBN</i> is a planar faced convex solid defined by any
|
||||
number of bounding planes.</dd>
|
||||
<hr>
|
||||
<dt>
|
||||
<a class="c1" name="BOT" id="BOT">BOT</a>
|
||||
</dt>
|
||||
<dd>The <i>BOT</i> solid is a collection of triangular facets. It
|
||||
may represent a zero thickness surface, a finite thickness plate,
|
||||
or a solid volume bounded by the triangles. The surface normal
|
||||
for each triangle may be unoriented, oriented according to the
|
||||
right-hand rule, or oriented according to the left-hand
|
||||
rule.</dd>
|
||||
<hr>
|
||||
<dt>
|
||||
<a class="c1" name="ELL" id="ELL">ellipsoid</a>
|
||||
</dt>
|
||||
<dd>The <i>ellipsoid</i> is a solid defined by three mutually
|
||||
perpendicular semiaxes. When the axes are of unequal length, an
|
||||
ellipsoid is generated. When the axes are all the same length, a
|
||||
sphere is generated.</dd>
|
||||
<hr>
|
||||
<dt>
|
||||
<a class="c1" name="EHY" id="EHY">elliptical hyperboloid</a>
|
||||
</dt>
|
||||
<dd>The <i>elliptical hyperboloid</i> (also referred to as
|
||||
<i>EHY</i>) is a solid with an elliptical base the remainder of
|
||||
the surface of which is defined by hyperbolas that run from any
|
||||
point on the ellipse through a common vertex at a specified
|
||||
distance from the ellipse and back to the ellipse at the point
|
||||
diametrically opposite the starting point. Further control of the
|
||||
surface may be obtained by specifying the distance from the
|
||||
hyperbolas to the vertex of the asymptotes.</dd>
|
||||
<hr>
|
||||
<dt>
|
||||
<a class="c1" name="EPA" id="EPA">elliptical paraboloid</a>
|
||||
</dt>
|
||||
<dd>The <i>elliptical paraboloid</i> (also referred to as
|
||||
<i>EPA</i>) is a solid with an elliptical base the remainder of
|
||||
the surface of which is defined by parabolas that run from any
|
||||
point on the ellipse through a common vertex at a specified
|
||||
distance from the ellipse and back to the ellipse at a point
|
||||
diametrically opposite the starting point.</dd>
|
||||
<hr>
|
||||
<dt>
|
||||
<a class="c1" name="ETO" id="ETO">elliptical torus</a>
|
||||
</dt>
|
||||
<dd>The <i>Elliptical Torus</i> (Also referred to as <i>ETO</i>)
|
||||
is defined by sweeping an ellipse through a circular path. The
|
||||
plane of the ellipse and the plane of the circular path are
|
||||
mutually perpendicular.</dd>
|
||||
<hr>
|
||||
<dt>
|
||||
<a class="c1" name="EBM" id="EBM">extruded bitmap</a>
|
||||
</dt>
|
||||
<dd>The <i>extruded bitmap</i> (also referred to as <i>EBM</i>)
|
||||
is a solid based on a greyscale bitmap. The bitmap is an array of
|
||||
unsigned char values, see bw(5), and is extruded by some
|
||||
distance. The <i>EBM</i> solid requires the dimensions of the
|
||||
bitmap file (height and width in bytes), an extrusion length, and
|
||||
a transformation matrix to position the <i>EBM</i>. Each byte in
|
||||
the bitmap file is treated as the base of a cell that is extruded
|
||||
by the specified extrusion length. If the value of the byte is
|
||||
nonzero, then that cell is considered solid.</dd>
|
||||
<hr>
|
||||
<dt>
|
||||
<a class="c1" name="HAF" id="HAF">half space</a>
|
||||
</dt>
|
||||
<dd>A <i>half space</i> is the portion of space on one side of a
|
||||
plane. It is represented by its boundary (the plane) and its
|
||||
outward-pointing normal vector.</dd>
|
||||
<hr>
|
||||
<dt>
|
||||
<a class="c1" name="HF" id="HF">height field</a>
|
||||
</dt>
|
||||
<dd>The <i>height field</i> is a solid defined by a series of
|
||||
height measurements on a regular grid. In addition to a file of
|
||||
height measurements, this solid also requires a location vector,
|
||||
width and height direction vectors, and some scale factors.</dd>
|
||||
<hr>
|
||||
<dt>
|
||||
<a class="c1" name="NMG" id="NMG"><i>n</i>manifold
|
||||
geometry</a>
|
||||
</dt>(also referred to as <i>NMG</i>)
|
||||
<dd>
|
||||
The <i>nmanifold geometry</i> solid, sometimes known as a
|
||||
<i>nonmanifold geometry</i>, is based on the description by
|
||||
Kevin Weiler in ``The Radial Edge Structure: A Topological
|
||||
Representation for NonManifold Geometric Modeling'' from
|
||||
<i>Geometric Modeling for CAD Applications</i> (Springer
|
||||
Verlag, 1987). A useful reference for the <i>NMG</i> solid is
|
||||
<a class="c2" href=
|
||||
"http://ftp.arl.army.mil/~mike/papers/90nmg">Combinatorial
|
||||
Solid Geometry, Boundary Representations, and Non_Manifold
|
||||
Geometry</a>.
|
||||
</dd>
|
||||
<hr>
|
||||
<dt>
|
||||
<a class="c1" name="PART" id="PART">particle</a>
|
||||
</dt>
|
||||
<dd>The <i>particle</i> solid is a lozenge-shaped object defined
|
||||
by a vertex, a height vector and radii at both ends. The body of
|
||||
the <i>particle</i> is either a cylinder or a truncated cone,
|
||||
depending on the values of the radii. Each end of the
|
||||
<i>particle</i> is a hemisphere of the specified radius.</dd>
|
||||
<hr>
|
||||
<dt>
|
||||
<a class="c1" name="PIPE" id="PIPE">pipe</a>
|
||||
</dt>
|
||||
<dd>The <i>pipe</i> solid is defined by a sequence of control
|
||||
points, each with values for inner radius, outer radius, and bend
|
||||
radius. The actual <i>pipe</i> starts at the first control point
|
||||
and ends at the last control point. The intervening control
|
||||
points are replaced by circular bends with the specified bend
|
||||
radius, so the <i>pipe</i> is not likely to actually pass through
|
||||
these points. An inner radius of zero indicates a solid
|
||||
<i>pipe</i> or wire.</dd>
|
||||
<hr>
|
||||
<dt>
|
||||
<a class="c1" name="PG" id="PG">polysolid</a>
|
||||
</dt>
|
||||
<dd>The <i>polysolid</i> is defined by a set of planar polygons.
|
||||
Each polygon may have up to 5 unique vertices. The vertices of
|
||||
each polygon must be in counterclockwise order when viewed from
|
||||
outside the solid. The set of polygons must completely enclose
|
||||
the interior of the <i>polysolid</i>.</dd>
|
||||
<hr>
|
||||
<dt>
|
||||
<a class="c1" name="RHC" id="RHC">right hyperbolic cylinder</a>
|
||||
</dt>
|
||||
<dd>The <i>right hyperbolic cylinder</i> (also referred to as
|
||||
<i>RHC</i>) is a solid built by extruding a truncated hyperbola
|
||||
through a height vector.</dd>
|
||||
<hr>
|
||||
<dt>
|
||||
<a class="c1" name="RPC" id="RPC">right parabolic cylinder</a>
|
||||
</dt>
|
||||
<dd>The <i>right parabolic cylinder</i> (also referred to as
|
||||
<i>RPC</i>) is a solid built by extruding a truncated parabola
|
||||
through a height vector.</dd>
|
||||
<hr>
|
||||
<dt>
|
||||
<a class="c1" name="SPLINE" id="SPLINE">spline</a>
|
||||
</dt>
|
||||
<dd>The <i>spline</i> solid is defined by a set of nonuniform
|
||||
rational <i>B</i>spline surfaces (NURBs). There are no trimming
|
||||
curves in the <i>spline</i> solid, so each NURB surface must
|
||||
exactly adjoin its neighbor so that the interior of the
|
||||
<i>spline</i> solid is completely enclosed and no parts of any
|
||||
NURB surface are dangling outside the solid.</dd>
|
||||
<hr>
|
||||
<dt>
|
||||
<a class="c1" name="TOR" id="TOR">torus</a>
|
||||
</dt>
|
||||
<dd>The <i>torus</i> is defined by sweeping one circle through a
|
||||
larger circular path. The planes of the circles are mutually
|
||||
perpendicular.</dd>
|
||||
<hr>
|
||||
<dt>
|
||||
<a class="c1" name="TGC" id="TGC">truncated general cone</a>
|
||||
</dt>(also referred to as <i>TGC</i>)
|
||||
<dd>The <i>TGC</i> solid is a truncated cone with elliptical (or
|
||||
circular) base and top. The base and top must be parallel, but
|
||||
the height vector connecting the center of the base with the
|
||||
center of the top does not need to be perpendicular to them.</dd>
|
||||
<hr>
|
||||
<dt>
|
||||
<a class="c1" name="VOL" id="VOL">vol</a>
|
||||
</dt>
|
||||
<dd>The <i>vol</i> solid is defined by a 3-dimensional array of
|
||||
unsigned char values. The solid requires a file of these values,
|
||||
the extent of the file (in bytes) in each dimension, the size of
|
||||
each cell, and high and low thresholds. Any value in the file
|
||||
that is between the thresholds (inclusive) represents a solid
|
||||
cell.</dd>
|
||||
<hr>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -1,120 +1,355 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<title>Command Line Editing</title>
|
||||
</HEAD>
|
||||
<BODY BGCOLOR="#E0D8c8" TEXT="#000000">
|
||||
<html>
|
||||
<head>
|
||||
<title>Command Line Editing</title>
|
||||
<style type="text/css">
|
||||
body {
|
||||
background-color: #E0D8C8;
|
||||
color: #000000;
|
||||
}
|
||||
div.c1 {text-align: center}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="c1">
|
||||
<h2>Command Line Editing</h2>
|
||||
</div><a name="emacs"></a>
|
||||
<div class="c1">
|
||||
<h3>Emacs Bindings</h3>
|
||||
</div>
|
||||
<table>
|
||||
<tr>
|
||||
<th align="left">Key Sequence</th>
|
||||
<th align="left">Function</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">BackSpace</td>
|
||||
<td align="left">backward delete character</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">Delete</td>
|
||||
<td align="left">backward delete character</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">Left</td>
|
||||
<td align="left">backward character</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">Right</td>
|
||||
<td align="left">forward character</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">Up</td>
|
||||
<td align="left">previous command</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">Down</td>
|
||||
<td align="left">next command</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">Home</td>
|
||||
<td align="left">beginning of line</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">End</td>
|
||||
<td align="left">end of line</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">C-a</td>
|
||||
<td align="left">move to beginning of line</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">C-b</td>
|
||||
<td align="left">move back one character</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">C-c</td>
|
||||
<td align="left">interrupt</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">C-d</td>
|
||||
<td align="left">delete character at cursor</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">C-e</td>
|
||||
<td align="left">move to end of line</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">C-f</td>
|
||||
<td align="left">move forward one character</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">C-h</td>
|
||||
<td align="left">backward delete character</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">C-k</td>
|
||||
<td align="left">delete to end of line</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">C-n</td>
|
||||
<td align="left">next history command</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">C-p</td>
|
||||
<td align="left">previous history command</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">C-t</td>
|
||||
<td align="left">transpose characters</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">C-u</td>
|
||||
<td align="left">delete whole line</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">C-w</td>
|
||||
<td align="left">backward delete word</td>
|
||||
</tr>
|
||||
</table><br>
|
||||
<hr>
|
||||
<br>
|
||||
<a name="vi"></a>
|
||||
<div class="c1">
|
||||
<h3>VI Bindings</h3>
|
||||
</div>
|
||||
<table>
|
||||
<caption>
|
||||
<strong>Insert and Command Mode</strong>
|
||||
</caption>
|
||||
<tr>
|
||||
<th align="left">Key Sequence</th>
|
||||
<th align="left">Function</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">Delete</td>
|
||||
<td align="left">backward delete character</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">Up</td>
|
||||
<td align="left">previous command</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">Down</td>
|
||||
<td align="left">next command</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">Home</td>
|
||||
<td align="left">beginning of line</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">End</td>
|
||||
<td align="left">end of line</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">Control-a</td>
|
||||
<td align="left">beginning of line</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">Control-b</td>
|
||||
<td align="left">backward character</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">Control-c</td>
|
||||
<td align="left">interrupt command</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">Control-e</td>
|
||||
<td align="left">end of line</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">Control-f</td>
|
||||
<td align="left">forward character</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">Control-h</td>
|
||||
<td align="left">backward delete character</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">Control-k</td>
|
||||
<td align="left">delete end of line</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">Control-n</td>
|
||||
<td align="left">next command</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">Control-p</td>
|
||||
<td align="left">previous command</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">Control-t</td>
|
||||
<td align="left">transpose</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">Control-u</td>
|
||||
<td align="left">delete to beginning of line</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">Control-w</td>
|
||||
<td align="left">backward delete word</td>
|
||||
</tr>
|
||||
</table>
|
||||
<pre>
|
||||
|
||||
<CENTER><H2>Command Line Editing</H2></CENTER>
|
||||
</pre>
|
||||
<table>
|
||||
<caption>
|
||||
<strong>Insert Mode</strong>
|
||||
</caption>
|
||||
<tr>
|
||||
<th align="left">Key Sequence</th>
|
||||
<th align="left">Function</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">Escape</td>
|
||||
<td align="left">command</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">Left</td>
|
||||
<td align="left">backward character, command</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">Right</td>
|
||||
<td align="left">forward character, command</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">BackSpace</td>
|
||||
<td align="left">backward delete character</td>
|
||||
</tr>
|
||||
</table>
|
||||
<pre>
|
||||
|
||||
<A NAME="emacs">
|
||||
<CENTER><H3>Emacs Bindings</H3></CENTER>
|
||||
<TABLE>
|
||||
<TR><TH ALIGN=LEFT>Key Sequence</TH><TH ALIGN=LEFT>Function</TH>
|
||||
<TR><TD ALIGN=LEFT>BackSpace</TD><TD ALIGN=LEFT>backward delete character</TD>
|
||||
<TR><TD ALIGN=LEFT>Delete</TD><TD ALIGN=LEFT>backward delete character</TD>
|
||||
<TR><TD ALIGN=LEFT>Left</TD><TD ALIGN=LEFT>backward character</TD>
|
||||
<TR><TD ALIGN=LEFT>Right</TD><TD ALIGN=LEFT>forward character</TD>
|
||||
<TR><TD ALIGN=LEFT>Up</TD><TD ALIGN=LEFT>previous command</TD>
|
||||
<TR><TD ALIGN=LEFT>Down</TD><TD ALIGN=LEFT>next command</TD>
|
||||
<TR><TD ALIGN=LEFT>Home</TD><TD ALIGN=LEFT>beginning of line</TD>
|
||||
<TR><TD ALIGN=LEFT>End</TD><TD ALIGN=LEFT>end of line</TD>
|
||||
<TR><TD ALIGN=LEFT>C-a</TD><TD ALIGN=LEFT>move to beginning of line</TD>
|
||||
<TR><TD ALIGN=LEFT>C-b</TD><TD ALIGN=LEFT>move back one character</TD>
|
||||
<TR><TD ALIGN=LEFT>C-c</TD><TD ALIGN=LEFT>interrupt</TD>
|
||||
<TR><TD ALIGN=LEFT>C-d</TD><TD ALIGN=LEFT>delete character at cursor</TD>
|
||||
<TR><TD ALIGN=LEFT>C-e</TD><TD ALIGN=LEFT>move to end of line</TD>
|
||||
<TR><TD ALIGN=LEFT>C-f</TD><TD ALIGN=LEFT>move forward one character</TD>
|
||||
<TR><TD ALIGN=LEFT>C-h</TD><TD ALIGN=LEFT>backward delete character</TD>
|
||||
<TR><TD ALIGN=LEFT>C-k</TD><TD ALIGN=LEFT>delete to end of line</TD>
|
||||
<TR><TD ALIGN=LEFT>C-n</TD><TD ALIGN=LEFT>next history command</TD>
|
||||
<TR><TD ALIGN=LEFT>C-p</TD><TD ALIGN=LEFT>previous history command</TD>
|
||||
<TR><TD ALIGN=LEFT>C-t</TD><TD ALIGN=LEFT>transpose characters</TD>
|
||||
<TR><TD ALIGN=LEFT>C-u</TD><TD ALIGN=LEFT>delete whole line</TD>
|
||||
<TR><TD ALIGN=LEFT>C-w</TD><TD ALIGN=LEFT>backward delete word</TD>
|
||||
</TABLE>
|
||||
|
||||
<BR>
|
||||
<HR>
|
||||
<BR>
|
||||
|
||||
<A NAME="vi">
|
||||
<CENTER><H3>VI Bindings</H3></CENTER>
|
||||
<TABLE>
|
||||
<CAPTION><STRONG>Insert and Command Mode</STRONG></CAPTION>
|
||||
<TR><TH ALIGN=LEFT>Key Sequence</TH><TH ALIGN=LEFT>Function</TH>
|
||||
<TR><TD ALIGN=LEFT>Delete</TD><TD ALIGN=LEFT>backward delete character</TD>
|
||||
<TR><TD ALIGN=LEFT>Up</TD><TD ALIGN=LEFT>previous command</TD>
|
||||
<TR><TD ALIGN=LEFT>Down</TD><TD ALIGN=LEFT>next command</TD>
|
||||
<TR><TD ALIGN=LEFT>Home</TD><TD ALIGN=LEFT>beginning of line</TD>
|
||||
<TR><TD ALIGN=LEFT>End</TD><TD ALIGN=LEFT>end of line</TD>
|
||||
<TR><TD ALIGN=LEFT>Control-a</TD><TD ALIGN=LEFT>beginning of line</TD>
|
||||
<TR><TD ALIGN=LEFT>Control-b</TD><TD ALIGN=LEFT>backward character</TD>
|
||||
<TR><TD ALIGN=LEFT>Control-c</TD><TD ALIGN=LEFT>interrupt command</TD>
|
||||
<TR><TD ALIGN=LEFT>Control-e</TD><TD ALIGN=LEFT>end of line</TD>
|
||||
<TR><TD ALIGN=LEFT>Control-f</TD><TD ALIGN=LEFT>forward character</TD>
|
||||
<TR><TD ALIGN=LEFT>Control-h</TD><TD ALIGN=LEFT>backward delete character</TD>
|
||||
<TR><TD ALIGN=LEFT>Control-k</TD><TD ALIGN=LEFT>delete end of line</TD>
|
||||
<TR><TD ALIGN=LEFT>Control-n</TD><TD ALIGN=LEFT>next command</TD>
|
||||
<TR><TD ALIGN=LEFT>Control-p</TD><TD ALIGN=LEFT>previous command</TD>
|
||||
<TR><TD ALIGN=LEFT>Control-t</TD><TD ALIGN=LEFT>transpose</TD>
|
||||
<TR><TD ALIGN=LEFT>Control-u</TD><TD ALIGN=LEFT>delete to beginning of line</TD>
|
||||
<TR><TD ALIGN=LEFT>Control-w</TD><TD ALIGN=LEFT>backward delete word</TD>
|
||||
</TABLE>
|
||||
|
||||
<PRE>
|
||||
|
||||
</PRE>
|
||||
|
||||
<TABLE>
|
||||
<CAPTION><STRONG>Insert Mode</STRONG></CAPTION>
|
||||
<TR><TH ALIGN=LEFT>Key Sequence</TH><TH ALIGN=LEFT>Function</TH>
|
||||
<TR><TD ALIGN=LEFT>Escape</TD><TD ALIGN=LEFT>command</TD>
|
||||
<TR><TD ALIGN=LEFT>Left</TD><TD ALIGN=LEFT>backward character, command</TD>
|
||||
<TR><TD ALIGN=LEFT>Right</TD><TD ALIGN=LEFT>forward character, command</TD>
|
||||
<TR><TD ALIGN=LEFT>BackSpace</TD><TD ALIGN=LEFT>backward delete character</TD>
|
||||
</TABLE>
|
||||
|
||||
<PRE>
|
||||
|
||||
</PRE>
|
||||
|
||||
<TABLE>
|
||||
<CAPTION><STRONG>Command Mode</STRONG></CAPTION>
|
||||
<CENTER>
|
||||
<TR><TH ALIGN=LEFT>Key Sequence</TH><TH ALIGN=LEFT>Function</TH>
|
||||
<TR><TD ALIGN=LEFT>Left</TD><TD ALIGN=LEFT>backward character</TD>
|
||||
<TR><TD ALIGN=LEFT>Right</TD><TD ALIGN=LEFT>forward character</TD>
|
||||
<TR><TD ALIGN=LEFT>BackSpace</TD><TD ALIGN=LEFT>backward character</TD>
|
||||
<TR><TD ALIGN=LEFT>Space</TD><TD ALIGN=LEFT>forward character</TD>
|
||||
<TR><TD ALIGN=LEFT>A</TD><TD ALIGN=LEFT>end of line, insert (i.e. append to end of line)</TD>
|
||||
<TR><TD ALIGN=LEFT>C</TD><TD ALIGN=LEFT>delete to end of line, insert</TD>
|
||||
<TR><TD ALIGN=LEFT>D</TD><TD ALIGN=LEFT>delete to end of line</TD>
|
||||
<TR><TD ALIGN=LEFT>F</TD><TD ALIGN=LEFT>search backward character</TD>
|
||||
<TR><TD ALIGN=LEFT>I</TD><TD ALIGN=LEFT>beginning of line, insert</TD>
|
||||
<TR><TD ALIGN=LEFT>R</TD><TD ALIGN=LEFT>overwrite</TD>
|
||||
<TR><TD ALIGN=LEFT>X</TD><TD ALIGN=LEFT>backward delete character</TD>
|
||||
<TR><TD ALIGN=LEFT>0</TD><TD ALIGN=LEFT>beginning of line</TD>
|
||||
<TR><TD ALIGN=LEFT>$</TD><TD ALIGN=LEFT>end of line</TD>
|
||||
<TR><TD ALIGN=LEFT>;</TD><TD ALIGN=LEFT>continue search in same direction</TD>
|
||||
<TR><TD ALIGN=LEFT>,</TD><TD ALIGN=LEFT>continue search in opposite direction</TD>
|
||||
<TR><TD ALIGN=LEFT>a</TD><TD ALIGN=LEFT>forward character, insert (i.e. append)</TD>
|
||||
<TR><TD ALIGN=LEFT>b</TD><TD ALIGN=LEFT>backward word</TD>
|
||||
<TR><TD ALIGN=LEFT>c</TD><TD ALIGN=LEFT>change</TD>
|
||||
<TR><TD ALIGN=LEFT>d</TD><TD ALIGN=LEFT>delete</TD>
|
||||
<TR><TD ALIGN=LEFT>e</TD><TD ALIGN=LEFT>end of word</TD>
|
||||
<TR><TD ALIGN=LEFT>f</TD><TD ALIGN=LEFT>search forward character</TD>
|
||||
<TR><TD ALIGN=LEFT>h</TD><TD ALIGN=LEFT>backward character</TD>
|
||||
<TR><TD ALIGN=LEFT>i</TD><TD ALIGN=LEFT>insert</TD>
|
||||
<TR><TD ALIGN=LEFT>j</TD><TD ALIGN=LEFT>next command</TD>
|
||||
<TR><TD ALIGN=LEFT>k</TD><TD ALIGN=LEFT>previous command</TD>
|
||||
<TR><TD ALIGN=LEFT>l</TD><TD ALIGN=LEFT>forward character</TD>
|
||||
<TR><TD ALIGN=LEFT>r</TD><TD ALIGN=LEFT>replace character</TD>
|
||||
<TR><TD ALIGN=LEFT>s</TD><TD ALIGN=LEFT>delete character, insert</TD>
|
||||
<TR><TD ALIGN=LEFT>w</TD><TD ALIGN=LEFT>forward word</TD>
|
||||
<TR><TD ALIGN=LEFT>x</TD><TD ALIGN=LEFT>delete character</TD>
|
||||
</CENTER>
|
||||
</TABLE>
|
||||
|
||||
</BODY>
|
||||
</HTML>
|
||||
</pre>
|
||||
<table>
|
||||
<caption>
|
||||
<strong>Command Mode</strong>
|
||||
</caption>
|
||||
<tr>
|
||||
<th align="left">Key Sequence</th>
|
||||
<th align="left">Function</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">Left</td>
|
||||
<td align="left">backward character</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">Right</td>
|
||||
<td align="left">forward character</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">BackSpace</td>
|
||||
<td align="left">backward character</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">Space</td>
|
||||
<td align="left">forward character</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">A</td>
|
||||
<td align="left">end of line, insert (i.e. append to end of
|
||||
line)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">C</td>
|
||||
<td align="left">delete to end of line, insert</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">D</td>
|
||||
<td align="left">delete to end of line</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">F</td>
|
||||
<td align="left">search backward character</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">I</td>
|
||||
<td align="left">beginning of line, insert</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">R</td>
|
||||
<td align="left">overwrite</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">X</td>
|
||||
<td align="left">backward delete character</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">0</td>
|
||||
<td align="left">beginning of line</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">$</td>
|
||||
<td align="left">end of line</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">;</td>
|
||||
<td align="left">continue search in same direction</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">,</td>
|
||||
<td align="left">continue search in opposite direction</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">a</td>
|
||||
<td align="left">forward character, insert (i.e. append)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">b</td>
|
||||
<td align="left">backward word</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">c</td>
|
||||
<td align="left">change</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">d</td>
|
||||
<td align="left">delete</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">e</td>
|
||||
<td align="left">end of word</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">f</td>
|
||||
<td align="left">search forward character</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">h</td>
|
||||
<td align="left">backward character</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">i</td>
|
||||
<td align="left">insert</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">j</td>
|
||||
<td align="left">next command</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">k</td>
|
||||
<td align="left">previous command</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">l</td>
|
||||
<td align="left">forward character</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">r</td>
|
||||
<td align="left">replace character</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">s</td>
|
||||
<td align="left">delete character, insert</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">w</td>
|
||||
<td align="left">forward word</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">x</td>
|
||||
<td align="left">delete character</td>
|
||||
</tr>
|
||||
</table>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -1,6 +0,0 @@
|
||||
<HEAD></HEAD><BODY BGCOLOR="#E0D8c8" TEXT="#000000">
|
||||
<h1>Conclusion</h1>
|
||||
<p>Some pontifications
|
||||
<hr>
|
||||
<a href="chapt3.html"><-Previous</a>
|
||||
</BODY>
|
||||
@@ -1,28 +1,80 @@
|
||||
<HEAD></HEAD>
|
||||
<BODY BGCOLOR="#E0D8c8" TEXT="#000000">
|
||||
<center><h1><font color="#000080">Table of Contents</font></h1></center>
|
||||
|
||||
<font size=-1>
|
||||
<dl>
|
||||
<a href="VolumeII-Introduction_to_MGED.pdf"> <dt>PDF Mged tutorial</a>
|
||||
<a href="preface.html" target="doc"> <dt>Preface</a>
|
||||
<a href="mged.html#csg" target="doc"> <dt>Modeling_with_CSG</a>
|
||||
<a href="mged.html#starting" target="doc"> <dt>Starting MGED</a>
|
||||
<a href="mged.html#coord" target="doc"> <dt>Screen Coordinates</a>
|
||||
<a href="mged.html#create" target="doc"> <dt>Creating Geometry: The Cup</a>
|
||||
<dt><br>
|
||||
<a href="mged2.html#solidedit" target="doc"> <dt>Editing Solids</a>
|
||||
<a href="mged2.html#handle" target="doc"> <dt>Fixing the Handle</a>
|
||||
<a href="mged2.html#base" target="doc"> <dt>Adding a Base</a>
|
||||
<a href="mged2.html#fillet" target="doc"> <dt>Adding a Fillet</a>
|
||||
<dt><br>
|
||||
<a href="mged_gui.html" target="doc"> <dt>MGED's New GUI</a>
|
||||
<a href="cmd_line_ed.html" target="doc"> <dt>Command Line Editing</a>
|
||||
<a href="mged_cmd_index.html" target="doc"> <dt>MGED Commands</a>
|
||||
<a href="mged_tcl_vars.html" target="doc"> <dt>MGED Tcl Variables</a>
|
||||
<a href="mged_env_vars.html" target="doc"> <dt>MGED Environment Variables</a>
|
||||
<a href="mged_callbacks.html" target="doc"> <dt>MGED Callbacks</a>
|
||||
<a href="brlcad_glossary.html" target="doc"> <dt>Glossary</a>
|
||||
</dl>
|
||||
</font>
|
||||
</BODY>
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>Table of Contents</title>
|
||||
<style type="text/css">
|
||||
body {
|
||||
background-color: #E0D8C8;
|
||||
color: #000000;
|
||||
}
|
||||
div.c2 {text-align: center}
|
||||
h1.c1 {color: #000080}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="c2">
|
||||
<h1 class="c1">Table of Contents</h1>
|
||||
</div>
|
||||
<dl>
|
||||
<dt>
|
||||
<a href="preface.html" target="doc">
|
||||
<dl>
|
||||
<dt>Preface</dt>
|
||||
</dl></a> <a href="mged.html#csg" target="doc">
|
||||
<dl>
|
||||
<dt>Modeling_with_CSG</dt>
|
||||
</dl></a> <a href="mged.html#starting" target="doc">
|
||||
<dl>
|
||||
<dt>Starting MGED</dt>
|
||||
</dl></a> <a href="mged.html#coord" target="doc">
|
||||
<dl>
|
||||
<dt>Screen Coordinates</dt>
|
||||
</dl></a> <a href="mged.html#create" target="doc">
|
||||
<dl>
|
||||
<dt>Creating Geometry: The Cup</dt>
|
||||
</dl></a>
|
||||
</dt>
|
||||
<dt>
|
||||
<br>
|
||||
<a href="mged2.html#solidedit" target="doc">
|
||||
<dl>
|
||||
<dt>Editing Solids</dt>
|
||||
</dl></a> <a href="mged2.html#handle" target="doc">
|
||||
<dl>
|
||||
<dt>Fixing the Handle</dt>
|
||||
</dl></a> <a href="mged2.html#base" target="doc">
|
||||
<dl>
|
||||
<dt>Adding a Base</dt>
|
||||
</dl></a> <a href="mged2.html#fillet" target="doc">
|
||||
<dl>
|
||||
<dt>Adding a Fillet</dt>
|
||||
</dl></a>
|
||||
</dt>
|
||||
<dt>
|
||||
<br>
|
||||
<a href="mged_gui.html" target="doc">
|
||||
<dl>
|
||||
<dt>MGED's New GUI</dt>
|
||||
</dl></a> <a href="cmd_line_ed.html" target="doc">
|
||||
<dl>
|
||||
<dt>Command Line Editing</dt>
|
||||
</dl></a> <a href="mged_cmd_index.html" target="doc">
|
||||
<dl>
|
||||
<dt>MGED Commands</dt>
|
||||
</dl></a> <a href="mged_tcl_vars.html" target="doc">
|
||||
<dl>
|
||||
<dt>MGED Tcl Variables</dt>
|
||||
</dl></a> <a href="mged_env_vars.html" target="doc">
|
||||
<dl>
|
||||
<dt>MGED Environment Variables</dt>
|
||||
</dl></a> <a href="mged_callbacks.html" target="doc">
|
||||
<dl>
|
||||
<dt>MGED Callbacks</dt>
|
||||
</dl></a> <a href="brlcad_glossary.html" target="doc">
|
||||
<dl>
|
||||
<dt>Glossary</dt>
|
||||
</dl></a>
|
||||
</dt>
|
||||
</dl>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -1,57 +1,248 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<title>Default Key Bindings</title>
|
||||
</HEAD>
|
||||
<BODY>
|
||||
<h1>Default Key Bindings</h1>
|
||||
<TABLE COLS=3 RULES=all BORDER=1 CELLPADDING=3>
|
||||
<TR><TH ALIGN=LEFT>Key<TH ALIGN=LEFT>Command<TH ALIGN=LEFT>Description
|
||||
<TR><TD ALIGN=LEFT>a <TD ALIGN=LEFT>adc <TD ALIGN=LEFT>toggle adc cursor
|
||||
<TR><TD ALIGN=LEFT>e <TD ALIGN=LEFT>set e_axes ! <TD ALIGN=LEFT>toggle edit axes
|
||||
<TR><TD ALIGN=LEFT>v <TD ALIGN=LEFT>set v_axes ! <TD ALIGN=LEFT>toggle view axes
|
||||
<TR><TD ALIGN=LEFT>w <TD ALIGN=LEFT>set w_axes ! <TD ALIGN=LEFT>toggle world axes
|
||||
<TR><TD ALIGN=LEFT>i <TD ALIGN=LEFT>aip f <TD ALIGN=LEFT>advance illumination pointer forward
|
||||
<TR><TD ALIGN=LEFT>I <TD ALIGN=LEFT>aip b <TD ALIGN=LEFT>advance illumination pointer backward
|
||||
<TR><TD ALIGN=LEFT>p <TD ALIGN=LEFT>M 1 0 0 <TD ALIGN=LEFT>simulate mouse click
|
||||
<TR><TD ALIGN=LEFT>3 <TD ALIGN=LEFT>press 35,25 <TD ALIGN=LEFT>set view azimuth/elevation to 35/25
|
||||
<TR><TD ALIGN=LEFT>4 <TD ALIGN=LEFT>press 45,45 <TD ALIGN=LEFT>set view azimuth/elevation to 45/45
|
||||
<TR><TD ALIGN=LEFT>f <TD ALIGN=LEFT>press front <TD ALIGN=LEFT>set view azimuth/elevation to 0/0
|
||||
<TR><TD ALIGN=LEFT>t <TD ALIGN=LEFT>press top <TD ALIGN=LEFT>set view azimuth/elevation to -90/90
|
||||
<TR><TD ALIGN=LEFT>b <TD ALIGN=LEFT>press bottom <TD ALIGN=LEFT>set view azimuth/elevation to -90/-90
|
||||
<TR><TD ALIGN=LEFT>l <TD ALIGN=LEFT>press left <TD ALIGN=LEFT>set view azimuth/elevation to 90/0
|
||||
<TR><TD ALIGN=LEFT>r <TD ALIGN=LEFT>press right <TD ALIGN=LEFT>set view azimuth/elevation to 270/0
|
||||
<TR><TD ALIGN=LEFT>R <TD ALIGN=LEFT>press rear <TD ALIGN=LEFT>set view azimuth/elevation to 180/0
|
||||
<TR><TD ALIGN=LEFT>s <TD ALIGN=LEFT>press sill <TD ALIGN=LEFT>solid illuminate
|
||||
<TR><TD ALIGN=LEFT>o <TD ALIGN=LEFT>press oill <TD ALIGN=LEFT>object illuminate
|
||||
<TR><TD ALIGN=LEFT>q <TD ALIGN=LEFT>press reject <TD ALIGN=LEFT>reject edit
|
||||
<TR><TD ALIGN=LEFT>u <TD ALIGN=LEFT>svb <TD ALIGN=LEFT>set view reference base
|
||||
<TR><TD ALIGN=LEFT><F1> <TD ALIGN=LEFT>dm set depthcue ! <TD ALIGN=LEFT>toggle depth cue
|
||||
<TR><TD ALIGN=LEFT><F2> <TD ALIGN=LEFT>dm set zclip ! <TD ALIGN=LEFT>toggle zclip
|
||||
<TR><TD ALIGN=LEFT><F3> <TD ALIGN=LEFT>dm set perspective ! <TD ALIGN=LEFT>toggle perspective
|
||||
<TR><TD ALIGN=LEFT><F4> <TD ALIGN=LEFT>dm set zbuffer ! <TD ALIGN=LEFT>toggle zbuffer
|
||||
<TR><TD ALIGN=LEFT><F5> <TD ALIGN=LEFT>dm set lighting ! <TD ALIGN=LEFT>toggle lighting
|
||||
<TR><TD ALIGN=LEFT><F6> <TD ALIGN=LEFT>dm set set_perspective !<TD ALIGN=LEFT>next perspective angle
|
||||
<TR><TD ALIGN=LEFT><F7> <TD ALIGN=LEFT>set faceplate ! <TD ALIGN=LEFT>toggle faceplate
|
||||
<TR><TD ALIGN=LEFT><F8> <TD ALIGN=LEFT>set orig_gui ! <TD ALIGN=LEFT>toggle menu
|
||||
<TR><TD ALIGN=LEFT><F9> <TD ALIGN=LEFT>set send_key ! <TD ALIGN=LEFT>toggle send_key mode
|
||||
<TR><TD ALIGN=LEFT><F12> <TD ALIGN=LEFT>knob zero <TD ALIGN=LEFT>zero knobs
|
||||
<TR><TD ALIGN=LEFT><Left> <TD ALIGN=LEFT>knob -i ay -$mged_rotate_factor<TD ALIGN=LEFT>negative rotation about the y axis
|
||||
<TR><TD ALIGN=LEFT><Right> <TD ALIGN=LEFT>knob -i ay $mged_rotate_factor<TD ALIGN=LEFT>positive rotation about the y axis
|
||||
<TR><TD ALIGN=LEFT><Down> <TD ALIGN=LEFT>knob -i ax $mged_rotate_factor<TD ALIGN=LEFT>positive rotation about the x axis
|
||||
<TR><TD ALIGN=LEFT><Up> <TD ALIGN=LEFT>knob -i ax -$mged_rotate_factor<TD ALIGN=LEFT>negative rotation about the x axis
|
||||
<TR><TD ALIGN=LEFT><Shift-Left> <TD ALIGN=LEFT>knob -i aX $mged_tran_factor<TD ALIGN=LEFT>positive translation in X
|
||||
<TR><TD ALIGN=LEFT><Shift-Right> <TD ALIGN=LEFT>knob -i aX -$mged_tran_factor<TD ALIGN=LEFT>negative translation in X
|
||||
<TR><TD ALIGN=LEFT><Shift-Down> <TD ALIGN=LEFT>knob -i aZ -$mged_tran_factor<TD ALIGN=LEFT>negative translation in Z
|
||||
<TR><TD ALIGN=LEFT><Shift-Up> <TD ALIGN=LEFT>knob -i aZ $mged_tran_factor<TD ALIGN=LEFT>positive translation in Z
|
||||
<TR><TD ALIGN=LEFT><Control-Shift-Left> <TD ALIGN=LEFT>knob -i az $mged_rotate_factor<TD ALIGN=LEFT>positive rotation about the z axis
|
||||
<TR><TD ALIGN=LEFT><Control-Shift-Right> <TD ALIGN=LEFT>knob -i az -$mged_rotate_factor<TD ALIGN=LEFT>negative rotation about the z axis
|
||||
<TR><TD ALIGN=LEFT><Control-Shift-Down> <TD ALIGN=LEFT>knob -i aY $mged_rotate_factor<TD ALIGN=LEFT>positive translation in Y
|
||||
<TR><TD ALIGN=LEFT><Control-Shift-Up> <TD ALIGN=LEFT>knob -i aY -$mged_rotate_factor<TD ALIGN=LEFT>negative translation in Y
|
||||
<TR><TD ALIGN=LEFT><Control-n> <TD ALIGN=LEFT>set view 1 <TD ALIGN=LEFT>advance to next view
|
||||
<TR><TD ALIGN=LEFT><Control-p> <TD ALIGN=LEFT>set view 0 <TD ALIGN=LEFT>advance to previous view
|
||||
<TR><TD ALIGN=LEFT><Control-v> <TD ALIGN=LEFT>set view ! <TD ALIGN=LEFT>toggle between current view and previous view
|
||||
<TR><TD ALIGN=LEFT><Escape> <TD ALIGN=LEFT>knob zero; press reject<TD ALIGN=LEFT>stop interactive rotation and reject any edits
|
||||
</TABLE>
|
||||
</BODY>
|
||||
</HTML>
|
||||
<html>
|
||||
<head>
|
||||
<title>Default Key Bindings</title>
|
||||
</head>
|
||||
<body>
|
||||
<h1>Default Key Bindings</h1>
|
||||
<table cols="3" rules="all" border="1" cellpadding="3">
|
||||
<tr>
|
||||
<th align="left">Key</th>
|
||||
<th align="left">Command</th>
|
||||
<th align="left">Description</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">a</td>
|
||||
<td align="left">adc</td>
|
||||
<td align="left">toggle adc cursor</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">e</td>
|
||||
<td align="left">set e_axes !</td>
|
||||
<td align="left">toggle edit axes</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">v</td>
|
||||
<td align="left">set v_axes !</td>
|
||||
<td align="left">toggle view axes</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">w</td>
|
||||
<td align="left">set w_axes !</td>
|
||||
<td align="left">toggle world axes</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">i</td>
|
||||
<td align="left">aip f</td>
|
||||
<td align="left">advance illumination pointer forward</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">I</td>
|
||||
<td align="left">aip b</td>
|
||||
<td align="left">advance illumination pointer backward</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">p</td>
|
||||
<td align="left">M 1 0 0</td>
|
||||
<td align="left">simulate mouse click</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">3</td>
|
||||
<td align="left">press 35,25</td>
|
||||
<td align="left">set view azimuth/elevation to 35/25</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">4</td>
|
||||
<td align="left">press 45,45</td>
|
||||
<td align="left">set view azimuth/elevation to 45/45</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">f</td>
|
||||
<td align="left">press front</td>
|
||||
<td align="left">set view azimuth/elevation to 0/0</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">t</td>
|
||||
<td align="left">press top</td>
|
||||
<td align="left">set view azimuth/elevation to -90/90</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">b</td>
|
||||
<td align="left">press bottom</td>
|
||||
<td align="left">set view azimuth/elevation to -90/-90</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">l</td>
|
||||
<td align="left">press left</td>
|
||||
<td align="left">set view azimuth/elevation to 90/0</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">r</td>
|
||||
<td align="left">press right</td>
|
||||
<td align="left">set view azimuth/elevation to 270/0</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">R</td>
|
||||
<td align="left">press rear</td>
|
||||
<td align="left">set view azimuth/elevation to 180/0</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">s</td>
|
||||
<td align="left">press sill</td>
|
||||
<td align="left">solid illuminate</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">o</td>
|
||||
<td align="left">press oill</td>
|
||||
<td align="left">object illuminate</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">q</td>
|
||||
<td align="left">press reject</td>
|
||||
<td align="left">reject edit</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">u</td>
|
||||
<td align="left">svb</td>
|
||||
<td align="left">set view reference base</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">n</td>
|
||||
<td align="left">nirt -b</td>
|
||||
<td align="left">shoot NIRT ray at center of view</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left"><F1></td>
|
||||
<td align="left">dm set depthcue !</td>
|
||||
<td align="left">toggle depth cue</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left"><F2></td>
|
||||
<td align="left">dm set zclip !</td>
|
||||
<td align="left">toggle zclip</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left"><F3></td>
|
||||
<td align="left">dm set perspective !</td>
|
||||
<td align="left">toggle perspective</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left"><F4></td>
|
||||
<td align="left">dm set zbuffer !</td>
|
||||
<td align="left">toggle zbuffer</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left"><F5></td>
|
||||
<td align="left">dm set lighting !</td>
|
||||
<td align="left">toggle lighting</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left"><F6></td>
|
||||
<td align="left">dm set set_perspective !</td>
|
||||
<td align="left">next perspective angle</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left"><F7></td>
|
||||
<td align="left">set faceplate !</td>
|
||||
<td align="left">toggle faceplate</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left"><F8></td>
|
||||
<td align="left">set orig_gui !</td>
|
||||
<td align="left">toggle menu</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left"><F9></td>
|
||||
<td align="left">set send_key !</td>
|
||||
<td align="left">toggle send_key mode</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left"><F12></td>
|
||||
<td align="left">knob zero</td>
|
||||
<td align="left">zero knobs</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left"><Left></td>
|
||||
<td align="left">knob -i ay -$mged_rotate_factor</td>
|
||||
<td align="left">negative rotation about the y axis</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left"><Right></td>
|
||||
<td align="left">knob -i ay $mged_rotate_factor</td>
|
||||
<td align="left">positive rotation about the y axis</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left"><Down></td>
|
||||
<td align="left">knob -i ax $mged_rotate_factor</td>
|
||||
<td align="left">positive rotation about the x axis</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left"><Up></td>
|
||||
<td align="left">knob -i ax -$mged_rotate_factor</td>
|
||||
<td align="left">negative rotation about the x axis</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left"><Shift-Left></td>
|
||||
<td align="left">knob -i aX $mged_tran_factor</td>
|
||||
<td align="left">positive translation in X</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left"><Shift-Right></td>
|
||||
<td align="left">knob -i aX -$mged_tran_factor</td>
|
||||
<td align="left">negative translation in X</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left"><Shift-Down></td>
|
||||
<td align="left">knob -i aZ -$mged_tran_factor</td>
|
||||
<td align="left">negative translation in Z</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left"><Shift-Up></td>
|
||||
<td align="left">knob -i aZ $mged_tran_factor</td>
|
||||
<td align="left">positive translation in Z</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left"><Control-Shift-Left></td>
|
||||
<td align="left">knob -i az $mged_rotate_factor</td>
|
||||
<td align="left">positive rotation about the z axis</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left"><Control-Shift-Right></td>
|
||||
<td align="left">knob -i az -$mged_rotate_factor</td>
|
||||
<td align="left">negative rotation about the z axis</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left"><Control-Shift-Down></td>
|
||||
<td align="left">knob -i aY $mged_rotate_factor</td>
|
||||
<td align="left">positive translation in Y</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left"><Control-Shift-Up></td>
|
||||
<td align="left">knob -i aY -$mged_rotate_factor</td>
|
||||
<td align="left">negative translation in Y</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left"><Control-n></td>
|
||||
<td align="left">set view 1</td>
|
||||
<td align="left">advance to next view</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left"><Control-p></td>
|
||||
<td align="left">set view 0</td>
|
||||
<td align="left">advance to previous view</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left"><Control-v></td>
|
||||
<td align="left">set view !</td>
|
||||
<td align="left">toggle between current view and previous
|
||||
view</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left"><Escape></td>
|
||||
<td align="left">knob zero; press reject</td>
|
||||
<td align="left">stop interactive rotation and reject any
|
||||
edits</td>
|
||||
</tr>
|
||||
</table>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -1,75 +1,265 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<title>Default Mouse Bindings</title>
|
||||
</HEAD>
|
||||
<BODY>
|
||||
<h1>Default Mouse Bindings</h1>
|
||||
<TABLE COLS=3 RULES=all BORDER=1 CELLPADDING=3>
|
||||
<TR><TH ALIGN=LEFT>Mouse Button<TH ALIGN=LEFT>Command<TH ALIGN=LEFT>Description
|
||||
<TR><TD ALIGN=LEFT><1><TD ALIGN=LEFT>zoom 0.5<TD ALIGN=LEFT>zoom out
|
||||
<TR><TD ALIGN=LEFT><2><TD ALIGN=LEFT>dm m %b %x %y<TD ALIGN=LEFT>slew view
|
||||
<TR><TD ALIGN=LEFT><3><TD ALIGN=LEFT>zoom 2.0<TD ALIGN=LEFT>zoom in
|
||||
<TR><TD ALIGN=LEFT><TD ALIGN=LEFT><TD ALIGN=LEFT>
|
||||
<TR><TD ALIGN=LEFT><ButtonRelease><TD ALIGN=LEFT>dm idle<TD ALIGN=LEFT>stop drag operation
|
||||
<TR><TD ALIGN=LEFT><KeyRelease-Control_L><TD ALIGN=LEFT>dm idle<TD ALIGN=LEFT>stop drag operation
|
||||
<TR><TD ALIGN=LEFT><KeyRelease-Control_R><TD ALIGN=LEFT>dm idle<TD ALIGN=LEFT>stop drag operation
|
||||
<TR><TD ALIGN=LEFT><KeyRelease-Shift_L><TD ALIGN=LEFT>dm idle<TD ALIGN=LEFT>stop drag operation
|
||||
<TR><TD ALIGN=LEFT><KeyRelease-Shift_R><TD ALIGN=LEFT>dm idle<TD ALIGN=LEFT>stop drag operation
|
||||
<TR><TD ALIGN=LEFT><KeyRelease-Alt_L><TD ALIGN=LEFT>dm idle<TD ALIGN=LEFT>stop drag operation
|
||||
<TR><TD ALIGN=LEFT><KeyRelease-Alt_R><TD ALIGN=LEFT>dm idle<TD ALIGN=LEFT>stop drag operation
|
||||
<TR><TD ALIGN=LEFT><TD ALIGN=LEFT><TD ALIGN=LEFT>
|
||||
<TR><TD ALIGN=LEFT><Shift-ButtonPress-1><TD ALIGN=LEFT>dm am t %x %y<TD ALIGN=LEFT>start translation
|
||||
<TR><TD ALIGN=LEFT><Shift-ButtonPress-2><TD ALIGN=LEFT>dm am t %x %y<TD ALIGN=LEFT>start translation
|
||||
<TR><TD ALIGN=LEFT><Shift-ButtonPress-3><TD ALIGN=LEFT>dm am t %x %y<TD ALIGN=LEFT>start translation
|
||||
|
||||
<TR><TD ALIGN=LEFT><Control-ButtonPress-1><TD ALIGN=LEFT>dm am r %x %y<TD ALIGN=LEFT>start rotation
|
||||
<TR><TD ALIGN=LEFT><Control-ButtonPress-2><TD ALIGN=LEFT>dm am r %x %y<TD ALIGN=LEFT>start rotation
|
||||
<TR><TD ALIGN=LEFT><Control-ButtonPress-3><TD ALIGN=LEFT>dm am r %x %y<TD ALIGN=LEFT>start rotation
|
||||
|
||||
<TR><TD ALIGN=LEFT><Shift-Control-ButtonPress-1><TD ALIGN=LEFT>dm am s %x %y<TD ALIGN=LEFT>start scale
|
||||
<TR><TD ALIGN=LEFT><Shift-Control-ButtonPress-2><TD ALIGN=LEFT>dm am s %x %y<TD ALIGN=LEFT>start scale
|
||||
<TR><TD ALIGN=LEFT><Shift-Control-ButtonPress-3><TD ALIGN=LEFT>dm am s %x %y<TD ALIGN=LEFT>start scale
|
||||
|
||||
<TR><TD ALIGN=LEFT><Alt-Shift-ButtonPress-1><TD ALIGN=LEFT>dm con t x %x %y<TD ALIGN=LEFT>start constrained X translation
|
||||
<TR><TD ALIGN=LEFT><Alt-Shift-ButtonPress-2><TD ALIGN=LEFT>dm con t y %x %y<TD ALIGN=LEFT>start constrained Y translation
|
||||
<TR><TD ALIGN=LEFT><Alt-Shift-ButtonPress-3><TD ALIGN=LEFT>dm con t z %x %y<TD ALIGN=LEFT>start constrained Z translation
|
||||
|
||||
<TR><TD ALIGN=LEFT><Alt-Control-ButtonPress-1><TD ALIGN=LEFT>dm con r x %x %y<TD ALIGN=LEFT>start constrained X rotation
|
||||
<TR><TD ALIGN=LEFT><Alt-Control-ButtonPress-2><TD ALIGN=LEFT>dm con r y %x %y<TD ALIGN=LEFT>start constrained Y rotation
|
||||
<TR><TD ALIGN=LEFT><Alt-Control-ButtonPress-3><TD ALIGN=LEFT>dm con r z %x %y<TD ALIGN=LEFT>start constrained Z rotation
|
||||
|
||||
<TR><TD ALIGN=LEFT><Alt-Shift-Control-ButtonPress-1><TD ALIGN=LEFT>dm con s x %x %y<TD ALIGN=LEFT>start constrained X scale
|
||||
<TR><TD ALIGN=LEFT><Alt-Shift-Control-ButtonPress-2><TD ALIGN=LEFT>dm con s y %x %y<TD ALIGN=LEFT>start constrained Y scale
|
||||
<TR><TD ALIGN=LEFT><Alt-Shift-Control-ButtonPress-3><TD ALIGN=LEFT>dm con s z %x %y<TD ALIGN=LEFT>start constrained Z scale
|
||||
</TABLE>
|
||||
|
||||
<BR><BR>
|
||||
<h3>Custom Mouse Bindings for the Angle Distance Cursor</h3>
|
||||
<TABLE COLS=3 RULES=all BORDER=1 CELLPADDING=3>
|
||||
<TR><TH ALIGN=LEFT>Mouse Button<TH ALIGN=LEFT>Command<TH ALIGN=LEFT>Description
|
||||
<TR><TD ALIGN=LEFT><Shift-ButtonPress-1><TD ALIGN=LEFT>dm adc t %x %y<TD ALIGN=LEFT>translate
|
||||
<TR><TD ALIGN=LEFT><Shift-ButtonPress-2><TD ALIGN=LEFT>dm adc t %x %y<TD ALIGN=LEFT>translate
|
||||
<TR><TD ALIGN=LEFT><Shift-ButtonPress-3><TD ALIGN=LEFT>dm adc d %x %y<TD ALIGN=LEFT>move tick
|
||||
|
||||
<TR><TD ALIGN=LEFT><Control-ButtonPress-1><TD ALIGN=LEFT>dm adc 1 %x %y<TD ALIGN=LEFT>move angle 1
|
||||
<TR><TD ALIGN=LEFT><Control-ButtonPress-2><TD ALIGN=LEFT>dm adc 2 %x %y<TD ALIGN=LEFT>move angle 2
|
||||
<TR><TD ALIGN=LEFT><Control-ButtonPress-3><TD ALIGN=LEFT>dm adc d %x %y<TD ALIGN=LEFT>move tick
|
||||
|
||||
<TR><TD ALIGN=LEFT><Shift-Control-ButtonPress-1><TD ALIGN=LEFT>dm adc d %x %y<TD ALIGN=LEFT>move tick
|
||||
<TR><TD ALIGN=LEFT><Shift-Control-ButtonPress-2><TD ALIGN=LEFT>dm adc d %x %y<TD ALIGN=LEFT>move tick
|
||||
<TR><TD ALIGN=LEFT><Shift-Control-ButtonPress-3><TD ALIGN=LEFT>dm adc d %x %y<TD ALIGN=LEFT>move tick
|
||||
|
||||
<TR><TD ALIGN=LEFT><Alt-Shift-ButtonPress-1><TD ALIGN=LEFT>dm con a x %x %y<TD ALIGN=LEFT>constrained translate in X
|
||||
<TR><TD ALIGN=LEFT><Alt-Shift-ButtonPress-2><TD ALIGN=LEFT>dm con a y %x %y<TD ALIGN=LEFT>constrained translate in Y
|
||||
<TR><TD ALIGN=LEFT><Alt-Shift-ButtonPress-3><TD ALIGN=LEFT>dm con a d %x %y<TD ALIGN=LEFT>constrained tick movement
|
||||
|
||||
<TR><TD ALIGN=LEFT><Alt-Control-ButtonPress-1><TD ALIGN=LEFT>dm con a 1 %x %y<TD ALIGN=LEFT>constrained angle 1 movement
|
||||
<TR><TD ALIGN=LEFT><Alt-Control-ButtonPress-2><TD ALIGN=LEFT>dm con a 2 %x %y<TD ALIGN=LEFT>constrained angle 2 movement
|
||||
<TR><TD ALIGN=LEFT><Alt-Control-ButtonPress-3><TD ALIGN=LEFT>dm con a d %x %y<TD ALIGN=LEFT>constrained tick movement
|
||||
|
||||
<TR><TD ALIGN=LEFT><Alt-Shift-Control-ButtonPress-1><TD ALIGN=LEFT>dm con a d %x %y<TD ALIGN=LEFT>constrained tick movement
|
||||
<TR><TD ALIGN=LEFT><Alt-Shift-Control-ButtonPress-2><TD ALIGN=LEFT>dm con a d %x %y<TD ALIGN=LEFT>constrained tick movement
|
||||
<TR><TD ALIGN=LEFT><Alt-Shift-Control-ButtonPress-3><TD ALIGN=LEFT>dm con a d %x %y<TD ALIGN=LEFT>constrained tick movement
|
||||
</TABLE>
|
||||
</BODY>
|
||||
<html>
|
||||
<head>
|
||||
<title>Default Mouse Bindings</title>
|
||||
</head>
|
||||
<body>
|
||||
<h1>Default Mouse Bindings</h1>
|
||||
<table cols="3" rules="all" border="1" cellpadding="3">
|
||||
<tr>
|
||||
<th align="left">Mouse Button</th>
|
||||
<th align="left">Command</th>
|
||||
<th align="left">Description</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left"><1></td>
|
||||
<td align="left">zoom 0.5</td>
|
||||
<td align="left">zoom out</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left"><2></td>
|
||||
<td align="left">dm m %b %x %y</td>
|
||||
<td align="left">slew view</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left"><3></td>
|
||||
<td align="left">zoom 2.0</td>
|
||||
<td align="left">zoom in</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left"></td>
|
||||
<td align="left"></td>
|
||||
<td align="left"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left"><ButtonRelease></td>
|
||||
<td align="left">dm idle</td>
|
||||
<td align="left">stop drag operation</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left"><KeyRelease-Control_L></td>
|
||||
<td align="left">dm idle</td>
|
||||
<td align="left">stop drag operation</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left"><KeyRelease-Control_R></td>
|
||||
<td align="left">dm idle</td>
|
||||
<td align="left">stop drag operation</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left"><KeyRelease-Shift_L></td>
|
||||
<td align="left">dm idle</td>
|
||||
<td align="left">stop drag operation</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left"><KeyRelease-Shift_R></td>
|
||||
<td align="left">dm idle</td>
|
||||
<td align="left">stop drag operation</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left"><KeyRelease-Alt_L></td>
|
||||
<td align="left">dm idle</td>
|
||||
<td align="left">stop drag operation</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left"><KeyRelease-Alt_R></td>
|
||||
<td align="left">dm idle</td>
|
||||
<td align="left">stop drag operation</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left"></td>
|
||||
<td align="left"></td>
|
||||
<td align="left"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left"><Shift-ButtonPress-1></td>
|
||||
<td align="left">dm am t %x %y</td>
|
||||
<td align="left">start translation</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left"><Shift-ButtonPress-2></td>
|
||||
<td align="left">dm am t %x %y</td>
|
||||
<td align="left">start translation</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left"><Shift-ButtonPress-3></td>
|
||||
<td align="left">dm am t %x %y</td>
|
||||
<td align="left">start translation</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left"><Control-ButtonPress-1></td>
|
||||
<td align="left">dm am r %x %y</td>
|
||||
<td align="left">start rotation</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left"><Control-ButtonPress-2></td>
|
||||
<td align="left">dm am r %x %y</td>
|
||||
<td align="left">start rotation</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left"><Control-ButtonPress-3></td>
|
||||
<td align="left">dm am r %x %y</td>
|
||||
<td align="left">start rotation</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left"><Shift-Control-ButtonPress-1></td>
|
||||
<td align="left">dm am s %x %y</td>
|
||||
<td align="left">start scale</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left"><Shift-Control-ButtonPress-2></td>
|
||||
<td align="left">dm am s %x %y</td>
|
||||
<td align="left">start scale</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left"><Shift-Control-ButtonPress-3></td>
|
||||
<td align="left">dm am s %x %y</td>
|
||||
<td align="left">start scale</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left"><Alt-Shift-ButtonPress-1></td>
|
||||
<td align="left">dm con t x %x %y</td>
|
||||
<td align="left">start constrained X translation</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left"><Alt-Shift-ButtonPress-2></td>
|
||||
<td align="left">dm con t y %x %y</td>
|
||||
<td align="left">start constrained Y translation</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left"><Alt-Shift-ButtonPress-3></td>
|
||||
<td align="left">dm con t z %x %y</td>
|
||||
<td align="left">start constrained Z translation</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left"><Alt-Control-ButtonPress-1></td>
|
||||
<td align="left">dm con r x %x %y</td>
|
||||
<td align="left">start constrained X rotation</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left"><Alt-Control-ButtonPress-2></td>
|
||||
<td align="left">dm con r y %x %y</td>
|
||||
<td align="left">start constrained Y rotation</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left"><Alt-Control-ButtonPress-3></td>
|
||||
<td align="left">dm con r z %x %y</td>
|
||||
<td align="left">start constrained Z rotation</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left"><Alt-Shift-Control-ButtonPress-1></td>
|
||||
<td align="left">dm con s x %x %y</td>
|
||||
<td align="left">start constrained X scale</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left"><Alt-Shift-Control-ButtonPress-2></td>
|
||||
<td align="left">dm con s y %x %y</td>
|
||||
<td align="left">start constrained Y scale</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left"><Alt-Shift-Control-ButtonPress-3></td>
|
||||
<td align="left">dm con s z %x %y</td>
|
||||
<td align="left">start constrained Z scale</td>
|
||||
</tr>
|
||||
</table><br>
|
||||
<br>
|
||||
<h3>Custom Mouse Bindings for the Angle Distance Cursor</h3>
|
||||
<table cols="3" rules="all" border="1" cellpadding="3">
|
||||
<tr>
|
||||
<th align="left">Mouse Button</th>
|
||||
<th align="left">Command</th>
|
||||
<th align="left">Description</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left"><Shift-ButtonPress-1></td>
|
||||
<td align="left">dm adc t %x %y</td>
|
||||
<td align="left">translate</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left"><Shift-ButtonPress-2></td>
|
||||
<td align="left">dm adc t %x %y</td>
|
||||
<td align="left">translate</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left"><Shift-ButtonPress-3></td>
|
||||
<td align="left">dm adc d %x %y</td>
|
||||
<td align="left">move tick</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left"><Control-ButtonPress-1></td>
|
||||
<td align="left">dm adc 1 %x %y</td>
|
||||
<td align="left">move angle 1</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left"><Control-ButtonPress-2></td>
|
||||
<td align="left">dm adc 2 %x %y</td>
|
||||
<td align="left">move angle 2</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left"><Control-ButtonPress-3></td>
|
||||
<td align="left">dm adc d %x %y</td>
|
||||
<td align="left">move tick</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left"><Shift-Control-ButtonPress-1></td>
|
||||
<td align="left">dm adc d %x %y</td>
|
||||
<td align="left">move tick</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left"><Shift-Control-ButtonPress-2></td>
|
||||
<td align="left">dm adc d %x %y</td>
|
||||
<td align="left">move tick</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left"><Shift-Control-ButtonPress-3></td>
|
||||
<td align="left">dm adc d %x %y</td>
|
||||
<td align="left">move tick</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left"><Alt-Shift-ButtonPress-1></td>
|
||||
<td align="left">dm con a x %x %y</td>
|
||||
<td align="left">constrained translate in X</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left"><Alt-Shift-ButtonPress-2></td>
|
||||
<td align="left">dm con a y %x %y</td>
|
||||
<td align="left">constrained translate in Y</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left"><Alt-Shift-ButtonPress-3></td>
|
||||
<td align="left">dm con a d %x %y</td>
|
||||
<td align="left">constrained tick movement</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left"><Alt-Control-ButtonPress-1></td>
|
||||
<td align="left">dm con a 1 %x %y</td>
|
||||
<td align="left">constrained angle 1 movement</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left"><Alt-Control-ButtonPress-2></td>
|
||||
<td align="left">dm con a 2 %x %y</td>
|
||||
<td align="left">constrained angle 2 movement</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left"><Alt-Control-ButtonPress-3></td>
|
||||
<td align="left">dm con a d %x %y</td>
|
||||
<td align="left">constrained tick movement</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left"><Alt-Shift-Control-ButtonPress-1></td>
|
||||
<td align="left">dm con a d %x %y</td>
|
||||
<td align="left">constrained tick movement</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left"><Alt-Shift-Control-ButtonPress-2></td>
|
||||
<td align="left">dm con a d %x %y</td>
|
||||
<td align="left">constrained tick movement</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left"><Alt-Shift-Control-ButtonPress-3></td>
|
||||
<td align="left">dm con a d %x %y</td>
|
||||
<td align="left">constrained tick movement</td>
|
||||
</tr>
|
||||
</table>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+5259
-6338
File diff suppressed because it is too large
Load Diff
@@ -1,14 +1,19 @@
|
||||
<HTML><HEAD><TITLE>Frames</TITLE></HEAD>
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>MGED Overview</title>
|
||||
</head>
|
||||
<!-- Target names:
|
||||
_blank (new, unnamed window)
|
||||
_self (same frame as element that refers to target)
|
||||
_parent
|
||||
_top (Full, original window)
|
||||
_blank (new, unnamed window)
|
||||
_self (same frame as element that refers to target)
|
||||
_parent
|
||||
_top (Full, original window)
|
||||
-->
|
||||
<FRAMESET cols="23%, 77%">
|
||||
<FRAME name="toc" src="contents.html">
|
||||
<FRAME name="doc" src="preface.html" >
|
||||
<NOFRAMES>
|
||||
<!--#include file="mged.html" -->
|
||||
</NOFRAMES>
|
||||
</FRAMESET>
|
||||
<frameset cols="23%, 77%">
|
||||
<frame name="toc" src="contents.html">
|
||||
<frame name="doc" src="preface.html">
|
||||
<noframes>
|
||||
<!--#include file="mged.html" -->
|
||||
</noframes>
|
||||
</frameset>
|
||||
</html>
|
||||
|
||||
+583
-533
File diff suppressed because it is too large
Load Diff
@@ -1,880 +0,0 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>Mged User's Manual</TITLE>
|
||||
</HEAD><BODY BGCOLOR="#E0D8c8" Text="#000000">
|
||||
<h1 align=center><font size="+3" color="#4040ff">Mged User's Manual</font></h1>
|
||||
|
||||
<A NAME="csg"><H2>Modeling With CSG</H2></a>
|
||||
In BRL-CAD objects are constructed using a technique known as ``Combinatorial
|
||||
Solid Geometry'' or ``Constructive Solid Geometry'' or simply ``CSG''
|
||||
In the CSG approach to modeling
|
||||
This technique involves creating objects
|
||||
by combining primitive shapes together to form complex objects.
|
||||
The primitive shapes are called ``solids''.
|
||||
Each one occupies a volume of three dimensional space.
|
||||
BRL-CAD currently has many primitive solid types.
|
||||
These include:
|
||||
<P>
|
||||
<center>
|
||||
<table border>
|
||||
<tr><th>Primitive Shape</th> <th>BRL-CAD Name</th>
|
||||
</tr>
|
||||
<tr><td>Arbitrary Convex Polyhedron</td> <td>arbn</td>
|
||||
<tr><td>Arbitrary Convex Polyhedron (8pt or less)</td> <td>arb</td>
|
||||
<tr><td>Extruded Bitmap *</td> <td>ebm * </td>
|
||||
<tr><td>Elliptical Hyperboloid</td> <td>ehy</td>
|
||||
<tr><td>Ellipsoid</td> <td>ell</td>
|
||||
<tr><td>Elliptical Paraboloid</td> <td>epa</td>
|
||||
<tr><td>Elliptical Torus</td> <td>eto</td>
|
||||
<tr><td>Halfspace</td> <td>half</td>
|
||||
<tr><td>Height-Field *</td> <td>hf *</td>
|
||||
<tr><td>N-Manifold Geometry *</td> <td>nmg *</td>
|
||||
<tr><td>Non-Uniform Rational B-spline *</td> <td>nurb *</td>
|
||||
<tr><td>particle *</td> <td>part *</td>
|
||||
<tr><td>polygonal object</td> <td>polygon</td>
|
||||
<tr><td>pipe *</td> <td>pipe *</td>
|
||||
<tr><td>Right Elliptical Cylinder</td> <td>rec</td>
|
||||
<tr><td>Right Hyperbolic Cylinder</td> <td>rhc</td>
|
||||
<tr><td>Right Parabolic Cylinder</td> <td>rpc</td>
|
||||
<tr><td>Sphere</td> <td>sph</td>
|
||||
<tr><td>Truncated General Cone</td> <td>tgc</td>
|
||||
<tr><td>Torus</td> <td>tor</td>
|
||||
<tr><td>Volume/Voxel *</td> <td>vol *</td>
|
||||
<caption align=bottom>* = Implementation known to be incomplete as of this writing</caption>
|
||||
</table>
|
||||
</center>
|
||||
<P>
|
||||
<center><img src="prims.gif" alt="primitive solids"></center>
|
||||
<p>
|
||||
These primitives can be combined using boolean operators to create complex
|
||||
shapes. The three boolean operations supported are union, difference
|
||||
(or subtraction), and
|
||||
intersection. Any number of primitives may be combined to produce a shape.
|
||||
The union (u) of two solids is defined as the volume in either of the solids.
|
||||
The difference (-) of two solids is the volume of the first solid which is not
|
||||
in the volume of the second solid. The intersection (+) of two solids is
|
||||
the volume that is contained in both solids.
|
||||
|
||||
<center><img src="bool.gif" alt="boolean operations"></center>
|
||||
<p>
|
||||
|
||||
The result of performing a set of boolean operations is a new
|
||||
shape.
|
||||
In BRL-CAD this new shape is known as a ``<a href="brlcad_glossary.html#COMBINATION">combination</a>''.
|
||||
This is frequently abbreviated as ``comb''.
|
||||
A ``comb'' can be further combined with other shapes
|
||||
to create still more complex shapes. For example, the shape of a simple
|
||||
cup might be created by subtracting a cylinder from a slightly larger
|
||||
cylinder.
|
||||
From this ``comb'' shape, the shape of a mug
|
||||
could be created by adding a handle. The handle might be
|
||||
composed of an elliptical torus with the part of the torus that would
|
||||
be inside the cup removed.
|
||||
Logically this is:
|
||||
<p>
|
||||
<a name="cup.sh">
|
||||
<center>
|
||||
Cup = Outside - Inside<br><br>
|
||||
Handle = Ring - Outside<br><br>
|
||||
Mug = Cup <i>union</i> Handle
|
||||
</center></a>
|
||||
<p>
|
||||
<center>
|
||||
<a href="cup_and_mug.gif"><img src="cup_and_mug_small.gif" alt="cup and mug">
|
||||
</a></center>
|
||||
<p>
|
||||
|
||||
In this way the shape of objects are built up from components.
|
||||
<p>
|
||||
When the desired shape of an object is attained,
|
||||
a special combination called a ``<a href="brlcad_glossary.html#REGION">region</a>'' is created.
|
||||
A ``<a href="brlcad_glossary.html#REGION">region</a>'' represents an actual material component of the model.
|
||||
It represents an item which is made from a homogeneous type of material.
|
||||
In the example above two combinations are created: Cup and Handle.
|
||||
These two are brought together to form an object (Mug)
|
||||
which is made of a single
|
||||
material (such as ceramic or bone china).
|
||||
Material properties such as color, texture, transparency, reflectivity, etc.
|
||||
are assigned to regions.
|
||||
<p>
|
||||
|
||||
The model is built up as a tree-like structure known as a <i><a
|
||||
href="brlcad_glossary.html#DAG">Directed Acyclic Graph</a></i> or
|
||||
<i>DAG</i>. It is permissible for a node to be referenced by different
|
||||
parts of the model. In the mug example, the solid "Outside" is a part of
|
||||
two different combinations: Cup and Handle. In this example the graph of
|
||||
the mug object looks like this:
|
||||
|
||||
<pre>
|
||||
Torus
|
||||
/
|
||||
Handle (-)
|
||||
/ \
|
||||
Mug (u) Cylinder
|
||||
\ /
|
||||
Cup -- (-)
|
||||
\
|
||||
Insides
|
||||
</pre>
|
||||
|
||||
It is possible to refer to combinations and regions multiple times as
|
||||
well. For example, if a modeler were trying to create a cupboard
|
||||
containing three separate identical mugs, he might create a structure as
|
||||
follows:
|
||||
|
||||
<pre>
|
||||
Mug 1 Ring
|
||||
/ \ /
|
||||
/ \ Handle (-)
|
||||
(u) \ / \
|
||||
Mugs (u)- Mug 2--Mug (u) Outside
|
||||
(u) / \ /
|
||||
\ / Cup -- (-)
|
||||
\ / \
|
||||
Mug 3 Inside
|
||||
|
||||
</pre>
|
||||
|
||||
<p>
|
||||
|
||||
Users familiar with other CAD software may prefer to think of the ``region''
|
||||
as a ``part''. Combinations containing of ``regions'' may be thought of as
|
||||
``assemblies''.
|
||||
|
||||
|
||||
|
||||
<a name="starting"><H2>Starting MGED</H2></a>
|
||||
<p>
|
||||
All the geometry for a particular model or application
|
||||
is generally stored in a single file
|
||||
called a <i>database</i>. Each database may contain many different objects.
|
||||
By convention, the files containing BRL-CAD
|
||||
geometry have an extension of ``.g''.
|
||||
<p>
|
||||
Before starting mged the user should assure that the X-Windows <B>DISPLAY</B>
|
||||
environment variable has been properly set. This indicates where applications
|
||||
should display the windows they create.
|
||||
<p>
|
||||
We use the following conventions for denoting text:
|
||||
<pre>
|
||||
<B><FONT color="#20a020">Text typed by the user</FONT></B>
|
||||
<tt>Text output by the program</tt>
|
||||
</pre>
|
||||
|
||||
To edit or create a geometry file,
|
||||
the user starts mged from the shell by giving the command:
|
||||
<pre>
|
||||
<tt>%</tt> <B><FONT color="#20a020">mged -c cup.g</FONT></B>
|
||||
</pre>
|
||||
The filename is required. Unlike many programs which allow the user to create
|
||||
a new document or database in memory, mged always keeps everything on disk.
|
||||
After each user command, the contents of the disk file are brought up to date.
|
||||
By doing this, the amount of work lost in the event of a system crash is
|
||||
minimized.
|
||||
<p>
|
||||
When mged is started, it prints out the release number and date of
|
||||
compilation. When multiple versions of mged are installed on a machine, this
|
||||
allows the user to verify that the proper version is being started.
|
||||
<p>
|
||||
If the file specified does not exist when mged is started,
|
||||
it will stop and ask if the user wishes to create a new database:
|
||||
<pre>
|
||||
<tt>%</tt> <B><FONT color="#20a020">mged -c cup.g</FONT></B><tt>
|
||||
BRL-CAD Release 4.5 Graphics Editor (MGED)
|
||||
Mon May 19 16:31:32 EDT 1997, Compilation 5377
|
||||
bparker@vapor.arl.mil:/m/cad/.mged.6d
|
||||
|
||||
cup.g: No such file or directory
|
||||
Create new database (y|n)[n]? </tt>
|
||||
</pre>
|
||||
|
||||
At this point pressing the ``y'' key followed by a return will create the new
|
||||
database. Any other (non-y) keys (followed by a return)
|
||||
will cause mged to quit without creating the database.
|
||||
|
||||
<pre>
|
||||
<tt>%</tt> <B><FONT color="#20a020">mged -c cup.g</FONT></B><tt>
|
||||
BRL-CAD Release 4.5 Graphics Editor (MGED)
|
||||
Mon May 19 16:31:32 EDT 1997, Compilation 5377
|
||||
bparker@vapor.arl.mil:/m/cad/.mged.6d
|
||||
|
||||
cup.g: No such file or directory
|
||||
Create new database (y|n)[n]? </tt><B><FONT color="#20a020">y</FONT></B><tt>
|
||||
Creating new database "cup.g"
|
||||
Untitled MGED Database (units=mm)
|
||||
attach (nu|X|ogl|glx)[nu]? </tt>
|
||||
</pre>
|
||||
<A name="#foobar">At</a> this point, mged is asking what type of geometry display window you
|
||||
would like. The default is always ``nu'' for Null or ``no geometry display''.
|
||||
If you are creating geometry, it is desirable to be able to see it.
|
||||
The common choices are:
|
||||
<center>
|
||||
<table border>
|
||||
<tr><th colspan=2>MGED Geometry Display Types</td></tr>
|
||||
<tr><th>Name</th><th>Display Type</th></tr>
|
||||
<tr><td align=center>X</td><td>X Windows</td></tr>
|
||||
<tr><td align=center>glx</td><td>Iris gl under X Windows</td></tr>
|
||||
<tr><td align=center>ogl</td><td>OpenGL under X Windows</td></tr>
|
||||
</table></center>
|
||||
Enter one of the names listed followed by a return.
|
||||
<pre>
|
||||
<tt>%</tt> <B><FONT color="#20a020">mged -c cup.g</FONT></B><tt>
|
||||
BRL-CAD Release 4.5 Graphics Editor (MGED)
|
||||
Mon May 19 16:31:32 EDT 1997, Compilation 5377
|
||||
bparker@vapor.arl.mil:/m/cad/.mged.6d
|
||||
|
||||
cup.g: No such file or directory
|
||||
Create new database (y|n)[n]? </tt><B><FONT color="#20a020">y</FONT></B><tt>
|
||||
Creating new database "cup.g"
|
||||
Untitled MGED Database (units=mm)
|
||||
attach (nu|X|ogl|glx)[nu]? </tt><B><FONT color="#20a020">ogl</FONT></B><tt>
|
||||
mged> </tt>
|
||||
</pre>
|
||||
At this point you should have a window that looks something like this:
|
||||
<center><a href="faceplate.gif"><img src="faceplate_sm.gif" alt="faceplate"></a></center><br>
|
||||
When the MGED program has a display window or device attached, it
|
||||
displays a border around the region of the screen being used
|
||||
along with some ancillary status information. Together, this
|
||||
information is termed the editor ``faceplate''.
|
||||
<p>
|
||||
In the upper left corner of the window is a small enclosed area which
|
||||
is used to display the current editor state. The current editor state
|
||||
indicates whether objects are selected for editing and what modeling
|
||||
operations are allowed.
|
||||
<p>
|
||||
Underneath the state display is a zone in which three ``pop-up'' menus
|
||||
may appear.
|
||||
The top menu is termed the ``button menu,'' as it
|
||||
contains menu items which duplicate many functions which
|
||||
were originally available via an external <a href="button box">button box</a>
|
||||
peripheral.
|
||||
Having these frequently used
|
||||
functions available on a pop-up menu
|
||||
can greatly decrease the number of times that the user needs to remove
|
||||
his hand from the pointing device (either mouse or tablet puck)
|
||||
to reach for the buttons.
|
||||
<p>
|
||||
Below is an example of the
|
||||
faceplate and first level menu.
|
||||
<center><a href="faceplate_menu.gif"><img src="faceplate_menu_sm.gif" alt="faceplate with menu"></a></center>
|
||||
<p>
|
||||
The second menu is used primarily for the various editing states,
|
||||
at which time it contains all the editing operations which are generic
|
||||
across all objects (scaling, rotation, and translation).
|
||||
The third menu contains selections for object-specific editing operations.
|
||||
The choices on these menus are <a href="Edit Menus">detailed below</a>.
|
||||
<p>
|
||||
Running across the entire bottom of the faceplate is a thin rectangular
|
||||
display area which holds two lines of text.
|
||||
The first line always contains a numeric display of the model-space
|
||||
coordinates of the center of the view and the current size of
|
||||
the viewing cube, both of which are displayed in the currently
|
||||
selected editing units.
|
||||
The first line also contains the current rotation rates.
|
||||
<p>
|
||||
The second line has several uses, depending on editor mode.
|
||||
In various editing states this second line will
|
||||
contain certain path selection information.
|
||||
When the angle/distance cursor function is activated, the second
|
||||
line will be used to display the current settings of the cursor.
|
||||
<p>
|
||||
All numeric interaction between
|
||||
the user and the editor are in terms of user-selected
|
||||
display units.
|
||||
The user may select from millimeters, centimeters, meters, inches, and
|
||||
feet, and the currently active display units are noted in the first
|
||||
display line.
|
||||
One important implementation detail is that all numeric values are stored
|
||||
in the database in millimeters. When MGED interacts with the user, it converts
|
||||
values from the database into the units selected by the user before displaying
|
||||
them. Likewise, values that the user enters are converted to millimeters
|
||||
before being written to the database.
|
||||
<p><a name="coord"><H2>The Screen Coordinate System</H2></a>
|
||||
<p>
|
||||
|
||||
Objects drawn on the screen are clipped in X, Y, and Z, to the size
|
||||
indicated on the first status line.
|
||||
This creates a conceptual ``viewing cube''. Only objects inside this
|
||||
cube are visible.
|
||||
|
||||
This feature allows objects within the cube to be seen, without cluttering
|
||||
the display with objects which are
|
||||
within view
|
||||
in X and Y, but quite far away in the Z direction.
|
||||
This is especially useful when the display is zoomed
|
||||
in on a small portion of the geometry.
|
||||
On some displays Z axis clipping can be selectively enabled and disabled
|
||||
as a viewing aid.
|
||||
<p>
|
||||
The MGED editor uses the standard right-handed
|
||||
screen coordinate system shown in the figure below.
|
||||
<p>
|
||||
<CENTER>
|
||||
<IMG SRC="coord-axes.gif" ALT="coord-axes"><br>
|
||||
<B><FONT color="#20a020"> The Screen Coordinate System.</FONT></B>
|
||||
|
||||
</CENTER>
|
||||
<p>
|
||||
The Z axis is perpendicular to the screen and the positive Z direction is
|
||||
out of the screen towards the viewer. The directions of positive (+) and negative (-) axis
|
||||
rotations are also indicated. For these rotations, the ``Right
|
||||
Hand Rule'' applies: Point the thumb of the right hand along the direction
|
||||
of +X axis and the other fingers will describe the sense of positive
|
||||
rotation.
|
||||
|
||||
|
||||
<H2>Creating Geometry: The Cup</h2>
|
||||
<p>
|
||||
Let's look at the commands needed to build the
|
||||
<a href="mged.html#cup">cup geometry</a>
|
||||
described in the first section. The following MGED editing session
|
||||
contains all the commands needed to create the mug.
|
||||
|
||||
Each command will be explained below.
|
||||
|
||||
<pre>
|
||||
<tt>% </tt><B><FONT color="#20a020">newmged Mug.g</FONT></B><tt>
|
||||
BRL-CAD Release 4.5 Graphics Editor (MGED)
|
||||
Tue May 20 10:33:44 EDT 1997, Compilation 5378
|
||||
jra@vapor.arl.mil:/m/cad/.mged.6d
|
||||
|
||||
Mug.g: No such file or directory
|
||||
Create new database (y|n)[n]? </tt><B><FONT color="#20a020">y</FONT></B><tt>
|
||||
Creating new database "Mug.g"
|
||||
Untitled MGED Database (units=mm)
|
||||
attach (nu|X|ogl|glx)[nu]? </tt><B><FONT color="#20a020">ogl</FONT></B><tt>
|
||||
mged> </tt><B><FONT color="#20a020">title MGED Tutorial Geometry</FONT></B><tt>
|
||||
mged> </tt><B><FONT color="#20a020">units in</FONT></B><tt>
|
||||
New editing units = 'in'
|
||||
mged> </tt><B><FONT color="#20a020">in outside.s rcc</FONT></B><tt>
|
||||
Enter X, Y, Z of vertex: </tt><B><FONT color="#20a020">0 0 0</FONT></B><tt>
|
||||
Enter X, Y, Z of height (H) vector: </tt><B><FONT color="#20a020">0 0 3.5</FONT></B><tt>
|
||||
Enter radius: </tt><B><FONT color="#20a020">1.75</FONT></B><tt>
|
||||
42 vectors in 0.006435 sec
|
||||
mged> </tt><B><FONT color="#20a020">in inside.s rcc 0 0 0.25 0 0 3.5 1.5</FONT></B><tt>
|
||||
42 vectors in 0.006435 sec
|
||||
mged> </tt><B><FONT color="#20a020">in ring.s eto 0 2.5 1.75 1 0 0</FONT></B><tt>
|
||||
Enter X, Y, Z, of vector C: </tt><B><FONT color="#20a020">.6 0 0</FONT></B><tt>
|
||||
Enter radius of revolution, r: </tt><B><FONT color="#20a020">1.45</FONT></B><tt>
|
||||
Enter elliptical semi-minor axis, d: </tt><B><FONT color="#20a020">0.2</FONT></B><tt>
|
||||
2479 vectors in 0.087375 sec
|
||||
mged> </tt><B><FONT color="#20a020">comb cup.c u outside.s - inside.s</FONT></B><tt>
|
||||
mged> </tt><B><FONT color="#20a020">comb handle.c u ring.s - outside.s</FONT></B><tt>
|
||||
mged> </tt><B><FONT color="#20a020">r mug.r u cup.c u handle.c</FONT></B><tt>
|
||||
Defaulting item number to 1002
|
||||
Creating region id=1001, air=0, los=100, GIFTmaterial=1</tt>
|
||||
</pre>
|
||||
<p>
|
||||
|
||||
<p>
|
||||
The first step in preparing a new database is to provide a title which
|
||||
describes the contents of the database. This is an important opportunity
|
||||
to describe the contents and purpose of the database. Setting the title
|
||||
is done with the <a href="mged_cmds.html#title">title</a> command in MGED.
|
||||
<pre>
|
||||
<tt>mged> </tt><B><FONT color="#20a020">Title MGED Tutorial Geometry</FONT></B>
|
||||
</pre>
|
||||
<p>
|
||||
When the database is first created, the default editing units are set to millimeters.
|
||||
For this example, we want to specify the dimensions of the object in inches.
|
||||
To arrange this, the <a href="mged_cmds.html#units">units</a> command
|
||||
<pre>
|
||||
<tt>mged> </tt><B><FONT color="#20a020">units in</FONT></B>
|
||||
</pre>
|
||||
|
||||
|
||||
|
||||
<!-- XXX We need to continue describing line-by-line here -->
|
||||
|
||||
|
||||
|
||||
|
||||
<p>
|
||||
Now we can create our first solid. There are two techniques for creating
|
||||
geometry in MGED. The commands for these two techniques are
|
||||
<a href="mged_cmds.html#make"><em>make</em></a>
|
||||
and <a href="mged_cmds.html#in"><em>in</em></a> (for ``insert'').
|
||||
For precision modeling the <em>in</em> command offers the greatest control
|
||||
over the definition of the solid. This is the approach we will use.
|
||||
|
||||
<p>
|
||||
The ``in'' command can take all of its arguments on the command line,
|
||||
or it will prompt you for any missing portions.
|
||||
Remembering what parameters need to be specified for each solid can be
|
||||
difficult at best. All that you really need to enter is the command
|
||||
name. Mged will prompt you for the rest of the parameters.
|
||||
|
||||
<p>
|
||||
In the first example
|
||||
above we specify the name of the solid we are creating (``outside.s'') and the
|
||||
type of solid to create (``rcc''). Then mged prompts for the remaining
|
||||
arguments (vertex, height vector, and radius):
|
||||
<pre><tt>
|
||||
mged> </tt><B><FONT color="#20a020">in outside.s rcc</FONT></B><tt>
|
||||
Enter X, Y, Z of vertex: </tt><B><FONT color="#20a020">0 0 0</FONT></B><tt>
|
||||
Enter X, Y, Z of height (H) vector: </tt><B><FONT color="#20a020">0 0 3.5</FONT></B><tt>
|
||||
Enter radius: </tt><B><FONT color="#20a020">1.75</FONT></B>
|
||||
</tt></pre>
|
||||
|
||||
<p> For the solid ``inside.s'' we specify all the parameters on the command
|
||||
line, so mged does not prompt us for additional arguments. In the case
|
||||
of the solid ``ring.s'' we specify some, but not all of the parameters, and
|
||||
mged prompts us for the missing ones:
|
||||
<pre>
|
||||
<tt>
|
||||
mged> </tt><B><FONT color="#20a020">in inside.s rcc 0 0 0.25 0 0 3.5 1.5</FONT></B><tt>
|
||||
42 vectors in 0.006435 sec
|
||||
mged> </tt><B><FONT color="#20a020">in ring.s eto 0 2.5 1.75 1 0 0</FONT></B><tt>
|
||||
Enter X, Y, Z, of vector C: </tt><B><FONT color="#20a020">.6 0 0</FONT></B><tt>
|
||||
Enter radius of revolution, r: </tt><B><FONT color="#20a020">1.45</FONT></B><tt>
|
||||
Enter elliptical semi-minor axis, d: </tt><B><FONT color="#20a020">0.2</FONT></B><tt>
|
||||
2479 vectors in 0.087375 sec
|
||||
</tt>
|
||||
</pre>
|
||||
|
||||
<p>
|
||||
As a minimal example, if we wanted to create a sphere called ``ball.s''
|
||||
we could simply type the ``in'' command and let mged prompt us for
|
||||
everything else:
|
||||
<pre>
|
||||
<tt>mged> </tt><B><FONT color="#20a020">in</FONT></B><tt>
|
||||
Enter name of solid:</tt> <B><FONT color="#20a020">ball.s</FONT></B><tt>
|
||||
Enter solid type: </tt> <B><FONT color="#20a020">sph</FONT></B><tt>
|
||||
Enter X, Y, Z of vertex: </tt> <B><FONT color="#20a020">0 0 0</FONT></B><tt>
|
||||
Enter radius: </tt> <B><FONT color="#20a020">3</FONT></B><tt>
|
||||
51 vectors in 0.117187 sec</tt>
|
||||
</pre>
|
||||
|
||||
<p> The three boolean operators supported are union, subtraction and
|
||||
intersection. These operations are denoted by the operators <em>u, -</em> and
|
||||
<em>+</em> respectively. Mged uses these in a sort of prefix notation. In
|
||||
this notation the union operator has higher precedence than either subtraction
|
||||
or intersection. Hence the following boolean sequence
|
||||
<pre>
|
||||
(A union B) subtract C
|
||||
|
||||
is written as
|
||||
|
||||
u A - C u B - C
|
||||
</pre>
|
||||
<p>
|
||||
The <em>comb</em> command creates a boolean combination. In our example
|
||||
we use this to create the shape of the outside of the cup called ``cup.s''
|
||||
Reading the command above that creates cup.c, we note that cup.c is formed
|
||||
from the <em>union</em> of the volume defined by the solid ``outside.s'' and
|
||||
the <em>subtraction</em> of the volume defined by the solid ``inside.s''.
|
||||
|
||||
<p> The <a href="mged_cmds.html#r">r</a> command creates a
|
||||
``<a href="brlcad_glossary.html#REGION">region</a>''.
|
||||
It is just like creating a
|
||||
<a href="brlcad_glossary.html#COMBINATION">combination</a>,
|
||||
but the results are a volume of one logical material type.
|
||||
|
||||
<p>
|
||||
Assigning material properties is done with the
|
||||
<em><a href="mged_cmds.html#mater">mater</a></em>
|
||||
or
|
||||
<em><a href="mged_cmds.html#shader">shader</a></em>
|
||||
command. Here
|
||||
we define which <a href="brlcad_glossary.html#SHADER">shader</a> should be used when rendering the object, and the
|
||||
parameters for the shader. The simplest shader is the ``<a href="shaders.html#plastic">plastic</a>'' shader
|
||||
which uses a Phong lighting model. For our mug this will be fine.
|
||||
We specify the plastic shader and set the color to a shade of green.
|
||||
|
||||
<pre>
|
||||
<tt> mged> </tt><B><FONT color="#20a020">mater mug.r</FONT></B><tt>
|
||||
Shader =
|
||||
Shader? ('del' to delete, CR to skip) </tt><B><FONT color="#20a020">plastic</FONT></B><tt>
|
||||
Color = (No color specified)
|
||||
Color R G B (0..255)? ('del' to delete, CR to skip) </tt><B><FONT color="#20a020">32 128 32</FONT></B><tt>
|
||||
Inherit = 0: lower nodes (towards leaves) override
|
||||
Inheritance (0|1)? (CR to skip) <B><FONT color="#20a020">0</FONT></B>
|
||||
</tt>
|
||||
</pre>
|
||||
|
||||
The Inheritance option should be left 0.
|
||||
This option will be discussed later.
|
||||
|
||||
<p> Once we have created our geometry, it would be nice to look at the
|
||||
wireframe from a variety of angles. By clicking on the button menu
|
||||
box a set of options is displayed.
|
||||
The buttons labeled "35,25", "Top", "Right", "Front", and "45,45" offer
|
||||
a set of standard views.
|
||||
|
||||
<p> It is possible to raytrace the current view from within mged.
|
||||
But to do so we need a place to display the image. We start up a
|
||||
framebuffer server (number 1) to accommodate this:
|
||||
|
||||
<pre> <tt>
|
||||
mged> </tt><B><FONT color="#20a020">exec fbserv 1 /dev/sgip &</FONT></B>
|
||||
</pre>
|
||||
|
||||
<p>This runs the ``fbserv'' program which will maintain a framebuffer window
|
||||
for us. Now we are ready to raytrace an image. First we'll clear the
|
||||
geometry window of all the primitives and combinations and regions we've
|
||||
created. Then we display the region we want to raytrace with the
|
||||
``<a href="mged_cmds.html#e">draw</a>'' command.
|
||||
Finally, we'll select a nice viewing angle of azimuth 35 elevation 25.
|
||||
|
||||
<pre>
|
||||
<tt>
|
||||
mged> </tt><B><FONT color="#20a020">Z</FONT></B><tt>
|
||||
mged> </tt><B><FONT color="#20a020">draw mug.r</FONT></B><tt>
|
||||
mged> </tt><B><FONT color="#20a020">ae 35 25</FONT></B>
|
||||
</pre>
|
||||
|
||||
Now we are ready to raytrace an image. The ``rt'' command starts the
|
||||
raytracer on the geometry. We must tell it where we want the pixels displayed
|
||||
with the ``-F'' option, and the size of the image with the -s option:
|
||||
|
||||
<pre>
|
||||
|
||||
<tt> mged> </tt><B><FONT color="#20a020">rt -F:1 -s 512</FONT></B>
|
||||
</pre>
|
||||
|
||||
The rt program prints a variety of information when it runs:
|
||||
<pre><font size=-2>
|
||||
rt -F:0 -s 512
|
||||
rt -s50 -M -F:0 -s 512 cup.g mug.r
|
||||
mged> BRL-CAD Release 4.4 Ray-Tracer
|
||||
Thu Jan 5 10:08:14 EST 1995, Compilation 1
|
||||
mike@wilson.arl.mil:/vld/src/brlcad/rt
|
||||
|
||||
db title: MGED Tutorial Geometry
|
||||
initial dynamic memory use=131072.
|
||||
GETTREE: cpu = 0.001619 sec, elapsed = 0.004842 sec
|
||||
parent: 0.0user 0.0sys 0:00real 0% 0i+0d 2100maxrss 0+27pf 0+1csw
|
||||
children: 0.0user 0.0sys 0:00real 0% 0i+0d 0maxrss 0+0pf 0+0csw
|
||||
Additional dynamic memory used=0. bytes
|
||||
|
||||
...................Frame 0...................
|
||||
PREP: cpu = 0.001296 sec, elapsed = 0.003973 sec
|
||||
parent: 0.0user 0.0sys 0:00real 0% 0i+0d 2100maxrss 0+7pf 1+0csw
|
||||
children: 0.0user 0.0sys 0:00real 0% 0i+0d 0maxrss 0+0pf 0+0csw
|
||||
Additional dynamic memory used=0. bytes
|
||||
Tree: 3 solids in 1 regions
|
||||
Model: X(-45,45), Y(-45,116), Z(-8,97)
|
||||
View: 35 azimuth, 25 elevation off of front view
|
||||
Orientation: 0.248097, 0.476591, 0.748097, 0.389435
|
||||
Eye_pos: 87.6646, 90.5654, 97.5286
|
||||
Size: 236.164mm
|
||||
Grid: (0.461258, 0.461258) mm, (512, 512) pixels
|
||||
Beam: radius=0.230629 mm, divergence=0 mm/1mm
|
||||
Dynamic scanline buffering
|
||||
Lighting: Ambient = 40%
|
||||
Implicit light 0: (155.394, -35.3438, 49.9036), aimed at (0, 0, -1)
|
||||
Implicit light 0: invisible, no shadows, 1000 lumens (83%), halfang=180
|
||||
|
||||
SHOT: cpu = 6.66068 sec, elapsed = 7.33342 sec
|
||||
parent: 6.6user 0.0sys 0:07real 91% 0i+0d 2100maxrss 0+20pf 0+251csw
|
||||
children: 0.0user 0.0sys 0:07real 0% 0i+0d 0maxrss 0+0pf 0+0csw
|
||||
Additional dynamic memory used=0. bytes
|
||||
154520 solid/ray intersections: 94456 hits + 60064 miss
|
||||
pruned 61.1%: 151248 model RPP, 0 dups skipped, 50361 solid RPP
|
||||
Frame 0: 262144 pixels in 6.66 sec = 39356.94 pixels/sec
|
||||
Frame 0: 262144 rays in 6.66 sec = 39356.94 rays/sec (RTFM)
|
||||
Frame 0: 262144 rays in 6.66 sec = 39356.94 rays/CPU_sec
|
||||
Frame 0: 262144 rays in 7.33 sec = 35746.50 rays/sec (wallclock)
|
||||
|
||||
</font></pre>
|
||||
|
||||
|
||||
If all goes well, you will get an image of a green mug on a black
|
||||
background.
|
||||
<br>
|
||||
<center><a href="mug_green.jpg"><img src="mug_green.gif" alt="green mug"></a></center>
|
||||
|
||||
<p>
|
||||
Now let's improve on our basic cup.
|
||||
The lip of this cup looks a little too squared off.
|
||||
To fix this, we'll add a rounded top to the lip.
|
||||
To do this we create a circular torus solid positioned
|
||||
at exactly the top of the cup. Then we can
|
||||
add it to the combination ``cup.c''.
|
||||
|
||||
<pre><tt>
|
||||
mged> </tt><B><FONT color="#20a020">in rim.s tor 0 0 3.5 0 0 1 1.625 0.125</FONT></B><tt>
|
||||
214 vectors in 0.001814 sec
|
||||
mged> </tt><B><FONT color="#20a020">comb cup.c u rim.s</FONT></B>
|
||||
</pre>
|
||||
|
||||
|
||||
Now we have a unique condition. The solid rim.s was added to the list
|
||||
of objects being displayed when it was created.
|
||||
However, now it is also a part of mug.r (via cup.c).
|
||||
<!-- XXX mged should update the display of combinations when they are changed too -->
|
||||
If we raytrace the current view we will have 2 copies of this
|
||||
solid.
|
||||
The raytracer will complain that they overlap.
|
||||
The best way to fix this is to clear the display, redisplay the new,
|
||||
complete object, and then raytrace.
|
||||
The ``<a href="mged_cmds.html#Z">Z</a>'' command clears all
|
||||
objects from the display. Then we can redisplay the objects we want to raytrace
|
||||
with the ``<a href="mged_cmds.html#e">draw</a>'' command.
|
||||
|
||||
<pre><tt>
|
||||
mged> </tt><B><FONT color="#20a020">Z</FONT></B><tt>
|
||||
mged> </tt><B><FONT color="#20a020">draw mug.r</FONT></B>
|
||||
</pre>
|
||||
|
||||
Since this is a frequent operation (clear the display list and draw something new)
|
||||
there is a shortcut:
|
||||
|
||||
<pre><tt>
|
||||
mged> </tt><B><FONT color="#20a020">B mug.r</FONT></B>
|
||||
</pre>
|
||||
|
||||
The ``<a href="mged_cmds.html#B">B</a>'' is not very easy to remember, (one
|
||||
suggested mnemonic is "blast") but it is quite useful.
|
||||
|
||||
<p>
|
||||
Now we are ready to raytrace again.
|
||||
<pre><font size=-2><tt>
|
||||
mged> </tt><B><FONT color="#20a020">rt -F:1 -s 512</FONT></B><tt>
|
||||
rt -s50 -M -F:1 -s 512 mug.g mug.r
|
||||
BRL-CAD Release 4.4 Ray-Tracer
|
||||
Thu Jan 5 10:08:14 EST 1995, Compilation 1
|
||||
mike@wilson.arl.mil:/vld/src/brlcad/rt
|
||||
|
||||
db title: MGED Tutorial Geometry
|
||||
initial dynamic memory use=131072.
|
||||
GETTREE: cpu = 0.001785 sec, elapsed = 0.005385 sec
|
||||
parent: 0.0user 0.0sys 0:00real 0% 0i+0d 2152maxrss 0+31pf 0+1csw
|
||||
children: 0.0user 0.0sys 0:00real 0% 0i+0d 0maxrss 0+0pf 0+0csw
|
||||
Additional dynamic memory used=0. bytes
|
||||
|
||||
...................Frame 0...................
|
||||
PREP: cpu = 0.001468 sec, elapsed = 0.004084 sec
|
||||
parent: 0.0user 0.0sys 0:00real 0% 0i+0d 2152maxrss 0+7pf 1+0csw
|
||||
children: 0.0user 0.0sys 0:00real 0% 0i+0d 0maxrss 0+0pf 0+0csw
|
||||
Additional dynamic memory used=0. bytes
|
||||
Tree: 4 solids in 1 regions
|
||||
Model: X(-45,45), Y(-45,116), Z(-8,97)
|
||||
View: 35 azimuth, 25 elevation off of front view
|
||||
Orientation: 0.248097, 0.476591, 0.748097, 0.389435
|
||||
Eye_pos: 87.6646, 90.5654, 116.579
|
||||
Size: 236.164mm
|
||||
Grid: (0.461258, 0.461258) mm, (512, 512) pixels
|
||||
Beam: radius=0.230629 mm, divergence=0 mm/1mm
|
||||
Dynamic scanline buffering
|
||||
Lighting: Ambient = 40%
|
||||
Implicit light 0: (155.394, -35.3438, 49.9036), aimed at (0, 0, -1)
|
||||
Implicit light 0: invisible, no shadows, 1000 lumens (83%), halfang=180
|
||||
|
||||
SHOT: cpu = 7.26825 sec, elapsed = 7.94901 sec
|
||||
parent: 7.2user 0.0sys 0:07real 92% 0i+0d 2152maxrss 0+22pf 1+270csw
|
||||
children: 0.0user 0.0sys 0:07real 0% 0i+0d 0maxrss 0+0pf 0+0csw
|
||||
Additional dynamic memory used=0. bytes
|
||||
170747 solid/ray intersections: 99501 hits + 71246 miss
|
||||
pruned 58.3%: 151252 model RPP, 0 dups skipped, 64892 solid RPP
|
||||
Frame 0: 262144 pixels in 7.27 sec = 36067.02 pixels/sec
|
||||
Frame 0: 262144 rays in 7.27 sec = 36067.02 rays/sec (RTFM)
|
||||
Frame 0: 262144 rays in 7.27 sec = 36067.02 rays/CPU_sec
|
||||
Frame 0: 262144 rays in 7.95 sec = 32978.18 rays/sec (wallclock)
|
||||
|
||||
</font></tt></pre>
|
||||
<center><a href="rim.jpg"><img src="rim.gif" alt="rounded rim cup"></a></center>
|
||||
|
||||
<hr>
|
||||
<center><font size=+3>Under Construction</font></center>
|
||||
<a name="solidedit"><h2>Editing Solids</h2></a>
|
||||
<p>
|
||||
So far we've focused on creating primitive solids and combinations. Now
|
||||
let's look at ways of altering and deleting things that already exist.
|
||||
We'll continue with our example mug geometry. There are a number of
|
||||
changes that need to be made to make it more realistic.
|
||||
|
||||
<ul>
|
||||
<li>
|
||||
The handle for the mug is a little awkward.
|
||||
It sticks out too far from the
|
||||
side of the mug, and it is too wide.
|
||||
<li>
|
||||
The bottom is perfectly flat.
|
||||
If this were a real cup, any imperfection in the table top would cause it
|
||||
to wobble.
|
||||
<li>
|
||||
The inside bottom corner is too sharp. We need to create a "fillet" at the
|
||||
seam between side and bottom.
|
||||
</ul>
|
||||
|
||||
<a name="solid
|
||||
<p>
|
||||
|
||||
<p>
|
||||
|
||||
<a name="ListingObjects"><h3>Listing Objects</h3></a>
|
||||
|
||||
Now let's take a look at what we have. The
|
||||
``<a href="mged_cmds.html#l">l</a>''
|
||||
command lists the definition of a combination
|
||||
or primitive solid.
|
||||
|
||||
<pre><tt>
|
||||
mged> </tt><B><FONT color="#20a020">l mug.r</FONT></B><tt>
|
||||
mug.r: REGION id=1000 (air=0, los=100, GIFTmater=1) --
|
||||
Shader 'plastic'
|
||||
Color 32 128 32
|
||||
u cup.c
|
||||
handle.c
|
||||
</tt></pre>
|
||||
This tells us that mug.r is a <a href="brlcad_glossary.html#REGION">region</a>
|
||||
and that it uses the <a href="shaders.html#plastic">plastic</a> shader.
|
||||
The color of the object is "32 128 32", and it is made up of the union of two
|
||||
objects: cup.c and handle.c
|
||||
|
||||
<p>
|
||||
If we look at cup.c we get:
|
||||
<pre><tt>
|
||||
mged> </tt><B><FONT color="#20a020">l cup.c</FONT></B><tt>
|
||||
cup.c: --
|
||||
u - outside.s
|
||||
inside.s
|
||||
rim.s
|
||||
</tt></pre>
|
||||
Note that this is not a <a href="brlcad_glossary.html#REGION">region</a>
|
||||
so there are no material properties. The boolean tree indicates that the
|
||||
object consists of: (outside.s - inside.s) u rim.s which in graph form looks
|
||||
like:
|
||||
<pre>
|
||||
outside.s
|
||||
/
|
||||
(-)
|
||||
/ \
|
||||
/ inside.s
|
||||
cup.c -- (u)
|
||||
\
|
||||
rim.s
|
||||
</pre>
|
||||
The text output of the boolean tree lines up the indentation of the operands
|
||||
with the operator. So here, because outside.s and inside.s are indented
|
||||
together, they are the operands to the subtraction operator.
|
||||
The subtraction operator and rim.s are indented the same amount, so the
|
||||
result of the subtraction, and rim.s are the operands of the union operator.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a name="shaders1"><H2>An Introduction to Shaders</h2></a>
|
||||
<p>
|
||||
In the example above, we specified that the mug should be rendered with
|
||||
the ``plastic'' shader. This implements a simple ``phong'' lighting model.
|
||||
The result can be altered by adjusting parameters that define how the shader
|
||||
operates. These parameters are:
|
||||
<center><table border=1>
|
||||
<tr><th align=left>Parameter</th> <th>Abbrev</th><th>Type</th><th>Range</th><th>default</th></tr>
|
||||
<tr><th align=left>Shine</th> <th>sh</th><td>int</td> <td>4 .. 20</td><td>10</td></tr>
|
||||
<tr><th align=left>diffuse</th> <th>di</th><td>float</td><td>0 .. 1</td><td>0.3</td></tr>
|
||||
<tr><th align=left>specular</th> <th>sp</th><td>float</td><td>0 .. 1</td><td>0.7</td></tr>
|
||||
<tr><th align=left>transmission</th><th>tr</th><td>float</td><td>0 .. 1</td><td>0.0</td></tr>
|
||||
<tr><th align=left>reflection</th> <th>re</th><td>float</td><td>0 .. 1</td><td>0.0</td></tr>
|
||||
</table></center>
|
||||
|
||||
|
||||
We can alter the look of our mug a bit by specifying some of the parameters to
|
||||
the plastic shader:
|
||||
|
||||
<pre>
|
||||
<tt>mged> </tt><B><FONT color="#20a020">mater mug.r</FONT></B><tt>
|
||||
Shader =
|
||||
Shader? ('del' to delete, CR to skip) </tt><B><FONT color="#20a020">plastic di=.9 sh=4</FONT></B><tt>
|
||||
Color = (No color specified)
|
||||
Color R G B (0..255)? ('del' to delete, CR to skip) </tt><B><FONT color="#20a020">32 128 32</FONT></B><tt>
|
||||
Inherit = 0: lower nodes (towards leaves) override
|
||||
Inheritance (0|1)? (CR to skip)
|
||||
mged></tt>
|
||||
</pre>
|
||||
|
||||
<p>If we raytrace the mug now, it has a different appearance.
|
||||
<!--- XXX raytrace and show --->
|
||||
|
||||
|
||||
|
||||
<p> Sometimes it is useful to combine the effects of two shaders. The
|
||||
``stack'' shader was created for this situation. For example, we might want
|
||||
to apply a blotchy camouflage-like color pattern to the mug. The ``camo''
|
||||
shader provides the color pattern, while the ``plastic'' shader provides the
|
||||
lighting model.
|
||||
|
||||
<pre>
|
||||
<tt>mged> </tt><B><FONT color="#20a020">mater mug.r</FONT></B><tt>
|
||||
Shader = plastic
|
||||
Shader? ('del' to delete, CR to skip) </tt><B><FONT
|
||||
color="#20a020">stack camo s=10;plastic</FONT></B><tt>
|
||||
Color = 32 128 32
|
||||
Color R G B (0..255)? ('del' to delete, CR to skip)
|
||||
Inherit = 0: lower nodes (towards leaves) override
|
||||
Inheritance (0|1)? (CR to skip)
|
||||
mged> </tt>
|
||||
</pre>
|
||||
|
||||
The ``camo'' shader creates a color pattern using a procedural noise
|
||||
technique. It computes a fBm value based upon the point being shaded. To
|
||||
compute this value it needs to be able to map coordinates in model space
|
||||
into a noise space. The most important parameter to specify is ``size''.
|
||||
This tells the shader what the spacing is (in millimeters) of grid points
|
||||
from the noise space. It also gives us a rough bound on the size of the blobs
|
||||
of color it creates.
|
||||
|
||||
<center>
|
||||
<table border=1>
|
||||
<tr><th align=left>Parameter</th> <th>abbrev</th><th>type</th><th>default</th></tr>
|
||||
<tr><th align=left>Lacunarity</th> <th>l</th> <td>float</td><td>2.1753974</td></tr>
|
||||
<tr><th align=left>H_value</th> <th>H</th> <td>float</td><td>1.0</td></tr>
|
||||
<tr><th align=left>octaves</th> <th>o</th> <td>int</td><td>4</td></tr>
|
||||
<tr><th align=left>delta</th> <th>d</th> <td>float vector</td><td>1000.0, 1000.0, 1000.0</td></tr>
|
||||
<tr><th align=left>Threshold 1</th><th>t1</td><td>float</td><td>-0.25</td></tr>
|
||||
<tr><th align=left>Threshold 2</th><th>t2</td><td>float</td><td>0.25</td></tr>
|
||||
<tr><th align=left>size</th> <th>s</th> <td>float</td><td>1.0</td></tr>
|
||||
<tr><th align=left>color 1</th> <th>c1</td><td>int vector</td><td>97, 74, 41</td></tr>
|
||||
<tr><th align=left>color 2</th> <th>c2</td><td>int vector</td><td>26, 77, 10</td></tr>
|
||||
<tr><th align=left>color 3</th> <th>c3</td><td>int vector</td><td>38, 38, 38</td></tr>
|
||||
|
||||
</table></center>
|
||||
|
||||
<p>This time we will raytrace the image with a grey background instead of
|
||||
black. We specify this with the -C option:
|
||||
|
||||
<pre>
|
||||
<tt> mged> </tt><B><FONT color="#20a020">rt -F:1 -s 128 -C100/100/100</FONT></B>
|
||||
</pre>
|
||||
<a href="mug_camo.jpg"><img src="mug_camo.gif" alt="camouflage mug"></a>
|
||||
|
||||
<p>
|
||||
Mged can save a shell script to raytrace the current view. This is done with
|
||||
the ``saveview'' command.
|
||||
|
||||
<pre>
|
||||
<tt> mged> </tt><B><FONT color="#20a020">saveview mug_camo</FONT></B>
|
||||
</pre>
|
||||
|
||||
If we exit mged we will find a file called ``mug_camo'' in the current
|
||||
directory. Running this script will start the ``rt'' program to create a file
|
||||
called mug_camo.pix. If you do not specify the size of the image on the
|
||||
command line, it will default to a 512x512 image. This file can be displayed
|
||||
in your framebuffer server window using the ``pix-fb'' command.
|
||||
|
||||
<pre>
|
||||
<tt> % </tt><B><FONT color="#20a020">./mug_camo</FONT></B>
|
||||
<tt> % </tt><B><FONT color="#20a020">pix-fb mug_camo.pix</FONT></B>
|
||||
</pre>
|
||||
|
||||
<p>When you are done with the framebuffer, you can dismiss the window with
|
||||
the ``fbfree'' command.
|
||||
|
||||
</BODY></HTML>
|
||||
@@ -1,28 +1,32 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
|
||||
<HTML>
|
||||
<HEAD><TITLE>Mged User's Manual</TITLE></HEAD>
|
||||
<BODY BGCOLOR="#E0D8c8" Text="#000000">
|
||||
<a name="solidedit"><h2>Editing Solids</h2></a>
|
||||
<p>
|
||||
So far we've focused on creating primitive solids and combinations. Now
|
||||
let's look at ways of altering and deleting things that already exist.
|
||||
We'll continue with our example mug geometry. There are a number of
|
||||
changes that need to be made to make it more realistic.
|
||||
<ul>
|
||||
<li>
|
||||
The handle for the mug is a little awkward.
|
||||
It sticks out too far from the side of the mug, and it is too wide.
|
||||
<li>
|
||||
The bottom is perfectly flat.
|
||||
Any imperfection in the table top would cause it to wobble.
|
||||
<li>
|
||||
The inside bottom corner is too sharp. We need to create a "fillet" at the
|
||||
seam between side and bottom.
|
||||
</ul>
|
||||
|
||||
|
||||
<a name="handle"><h3>Fixing the Handle</h3></a>
|
||||
<pre>
|
||||
<html>
|
||||
<head>
|
||||
<title>Mged User's Manual</title>
|
||||
<style type="text/css">
|
||||
body {
|
||||
background-color: #E0D8C8;
|
||||
color: #000000;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<h2><a name="solidedit">Editing Solids</a></h2>
|
||||
<p>So far we've focused on creating primitive solids and
|
||||
combinations. Now let's look at ways of altering and
|
||||
deleting things that already exist. We'll continue with our
|
||||
example mug geometry. There are a number of changes that
|
||||
need to be made to make it more realistic.</p>
|
||||
<ul>
|
||||
<li>The handle for the mug is a little awkward. It sticks
|
||||
out too far from the side of the mug, and it is too
|
||||
wide. </li>
|
||||
<li>The bottom is perfectly flat. Any imperfection in the
|
||||
table top would cause it to wobble.</li>
|
||||
<li>The inside bottom corner is too sharp. We need to create a
|
||||
"fillet" at the seam between side and bottom.</li>
|
||||
</ul>
|
||||
<h3><a name="handle">Fixing the Handle</a></h3>
|
||||
<pre>
|
||||
kill handle.c
|
||||
kill ring.s
|
||||
in handle_01.s eto 0 2.25 1.25 1 0 0 .75 0.3 0 0 .15
|
||||
@@ -32,11 +36,10 @@ in handle_04.s eto 0 2.25 2.5 1 0 0 .75 0.3 0 0 .15
|
||||
|
||||
comb handle.c u handle_01.s - handle_02.s - outside.s u handle_04.s - handle_02.s - outside.s u handle_03.s
|
||||
|
||||
</pre>
|
||||
<a href="handle.jpg"><img src="handle.gif" alt="new handle"></a>
|
||||
|
||||
<a name="base"><h3>Adding a Base</h3></a>
|
||||
<pre>
|
||||
</pre><a href="handle.jpg"><img src="handle.gif" alt=
|
||||
"new handle"></a>
|
||||
<h3><a name="base">Adding a Base</a></h3>
|
||||
<pre>
|
||||
mvall outside.s outside_01.s
|
||||
in outside_02.s tor 0 0 0 0 0 1 1.6875 .0625
|
||||
comb cup.c u outside_02.s
|
||||
@@ -52,10 +55,8 @@ ae 170 -52 120
|
||||
rt -s 512 -F :1
|
||||
<a href="base.jpg"><img src="base.gif" alt="new base"></a>
|
||||
</pre>
|
||||
|
||||
|
||||
<a name="fillet"><h3>Adding a fillet</h3></a>
|
||||
<pre>
|
||||
<h3><a name="fillet">Adding a fillet</a></h3>
|
||||
<pre>
|
||||
mvall inside.s inside.c
|
||||
mv inside.c inside_01.s
|
||||
solid edit bottom of inside_01.s up to 0 0 0.3125
|
||||
@@ -66,7 +67,7 @@ B mug.r
|
||||
ae 35 85
|
||||
size 5
|
||||
rt -s 512 -F :1
|
||||
</pre>
|
||||
<a href="fillet.jpg"><img src="fillet.gif" alt="inside fillet"></a>
|
||||
|
||||
</BODY></HTML>
|
||||
</pre><a href="fillet.jpg"><img src="fillet.gif" alt=
|
||||
"inside fillet"></a>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+220
-155
@@ -1,178 +1,243 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
|
||||
<HTML>
|
||||
<HEAD><TITLE>Mged User's Manual</TITLE></HEAD>
|
||||
<BODY BGCOLOR="#E0D8c8" Text="#000000">
|
||||
<a name="ListingObjects"><h3>Listing Objects</h3></a>
|
||||
|
||||
Now let's take a look at what we have. The
|
||||
``<a href="mged_cmds.html#l">l</a>''
|
||||
command lists the definition of a combination
|
||||
or primitive solid.
|
||||
|
||||
<pre><tt>
|
||||
mged> </tt><B><FONT color="#20a020">l mug.r</FONT></B><tt>
|
||||
<html>
|
||||
<head>
|
||||
<title>Mged User's Manual</title>
|
||||
<style type="text/css">
|
||||
body {
|
||||
background-color: #E0D8C8;
|
||||
color: #000000;
|
||||
}
|
||||
div.c2 {text-align: center}
|
||||
span.c1 {color: #20A020}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<h3><a name="ListingObjects">Listing Objects</a></h3>Now let's
|
||||
take a look at what we have. The ``<a href=
|
||||
"mged_cmd_index.html#l">l</a>'' command lists the definition of a
|
||||
combination or primitive solid.
|
||||
<pre><tt>
|
||||
mged> </tt><b><span class="c1">l mug.r</span></b><tt>
|
||||
mug.r: REGION id=1000 (air=0, los=100, GIFTmater=1) --
|
||||
Shader 'plastic'
|
||||
Color 32 128 32
|
||||
u cup.c
|
||||
handle.c
|
||||
</tt></pre>
|
||||
This tells us that mug.r is a <a href="brlcad_glossary.html#REGION">region</a>
|
||||
and that it uses the <a href="shaders.html#plastic">plastic</a> shader.
|
||||
The color of the object is "32 128 32", and it is made up of the union of two
|
||||
</tt></pre>This tells us that mug.r is a <a href=
|
||||
"brlcad_glossary.html#REGION">region</a> and that it uses the
|
||||
<a href="shaders.html#plastic">plastic</a> shader. The color of the
|
||||
object is "32 128 32", and it is made up of the union of two
|
||||
objects: cup.c and handle.c
|
||||
|
||||
<p>
|
||||
If we look at cup.c we get:
|
||||
<pre><tt>
|
||||
mged> </tt><B><FONT color="#20a020">l cup.c</FONT></B><tt>
|
||||
<p>If we look at cup.c we get:</p>
|
||||
<pre><tt>
|
||||
mged> </tt><b><span class="c1">l cup.c</span></b><tt>
|
||||
cup.c: --
|
||||
u - outside.s
|
||||
inside.s
|
||||
rim.s
|
||||
</tt></pre>
|
||||
Note that this is not a <a href="brlcad_glossary.html#REGION">region</a>
|
||||
so there are no material properties. The boolean tree indicates that the
|
||||
object consists of: (outside.s - inside.s) u rim.s which in graph form looks
|
||||
like:
|
||||
<pre>
|
||||
outside.s
|
||||
/
|
||||
(-)
|
||||
/ \
|
||||
/ inside.s
|
||||
</tt></pre>Note that this is not a <a href=
|
||||
"brlcad_glossary.html#REGION">region</a> so there are no material
|
||||
properties. The boolean tree indicates that the object consists of:
|
||||
(outside.s - inside.s) u rim.s which in graph form looks like:
|
||||
<pre>
|
||||
outside.s
|
||||
/
|
||||
(-)
|
||||
/ \
|
||||
/ inside.s
|
||||
cup.c -- (u)
|
||||
\
|
||||
rim.s
|
||||
</pre>
|
||||
The text output of the boolean tree lines up the indentation of the operands
|
||||
with the operator. So here, because outside.s and inside.s are indented
|
||||
together, they are the operands to the subtraction operator.
|
||||
The subtraction operator and rim.s are indented the same amount, so the
|
||||
result of the subtraction, and rim.s are the operands of the union operator.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a name="shaders1"><H2>An Introduction to Shaders</h2></a>
|
||||
<p>
|
||||
In the example above, we specified that the mug should be rendered with
|
||||
the ``plastic'' shader. This implements a simple ``phong'' lighting model.
|
||||
The result can be altered by adjusting parameters that define how the shader
|
||||
operates. These parameters are:
|
||||
<center><table border=1>
|
||||
<tr><th align=left>Parameter</th> <th>Abbrev</th><th>Type</th><th>Range</th><th>default</th></tr>
|
||||
<tr><th align=left>Shine</th> <th>sh</th><td>int</td> <td>4 .. 20</td><td>10</td></tr>
|
||||
<tr><th align=left>diffuse</th> <th>di</th><td>float</td><td>0 .. 1</td><td>0.3</td></tr>
|
||||
<tr><th align=left>specular</th> <th>sp</th><td>float</td><td>0 .. 1</td><td>0.7</td></tr>
|
||||
<tr><th align=left>transmission</th><th>tr</th><td>float</td><td>0 .. 1</td><td>0.0</td></tr>
|
||||
<tr><th align=left>reflection</th> <th>re</th><td>float</td><td>0 .. 1</td><td>0.0</td></tr>
|
||||
</table></center>
|
||||
|
||||
|
||||
We can alter the look of our mug a bit by specifying some of the parameters to
|
||||
the plastic shader:
|
||||
|
||||
<pre>
|
||||
<tt>mged> </tt><B><FONT color="#20a020">mater mug.r</FONT></B><tt>
|
||||
\
|
||||
rim.s
|
||||
</pre>The text output of the boolean tree lines up the indentation
|
||||
of the operands with the operator. So here, because outside.s
|
||||
and inside.s are indented together, they are the operands to the
|
||||
subtraction operator. The subtraction operator and rim.s are
|
||||
indented the same amount, so the result of the subtraction, and
|
||||
rim.s are the operands of the union operator.
|
||||
<h2><a name="shaders1">An Introduction to Shaders</a></h2>
|
||||
<p>In the example above, we specified that the mug should be
|
||||
rendered with the ``plastic'' shader. This implements a
|
||||
simple ``phong'' lighting model. The result can be altered by
|
||||
adjusting parameters that define how the shader operates.
|
||||
These parameters are:</p>
|
||||
<div class="c2">
|
||||
<table border="1">
|
||||
<tr>
|
||||
<th align="left">Parameter</th>
|
||||
<th>Abbrev</th>
|
||||
<th>Type</th>
|
||||
<th>Range</th>
|
||||
<th>default</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<th align="left">Shine</th>
|
||||
<th>sh</th>
|
||||
<td>int</td>
|
||||
<td>4 .. 20</td>
|
||||
<td>10</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th align="left">diffuse</th>
|
||||
<th>di</th>
|
||||
<td>float</td>
|
||||
<td>0 .. 1</td>
|
||||
<td>0.3</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th align="left">specular</th>
|
||||
<th>sp</th>
|
||||
<td>float</td>
|
||||
<td>0 .. 1</td>
|
||||
<td>0.7</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th align="left">transmission</th>
|
||||
<th>tr</th>
|
||||
<td>float</td>
|
||||
<td>0 .. 1</td>
|
||||
<td>0.0</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th align="left">reflection</th>
|
||||
<th>re</th>
|
||||
<td>float</td>
|
||||
<td>0 .. 1</td>
|
||||
<td>0.0</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>We can alter the look of our mug a bit by specifying some
|
||||
of the parameters to the plastic shader:
|
||||
<pre>
|
||||
<tt>mged> </tt><b><span class="c1">mater mug.r</span></b><tt>
|
||||
Shader =
|
||||
Shader? ('del' to delete, CR to skip) </tt><B><FONT color="#20a020">plastic di=.9 sh=4</FONT></B><tt>
|
||||
Shader? ('del' to delete, CR to skip) </tt><b><span class=
|
||||
"c1">plastic di=.9 sh=4</span></b><tt>
|
||||
Color = (No color specified)
|
||||
Color R G B (0..255)? ('del' to delete, CR to skip) </tt><B><FONT color="#20a020">32 128 32</FONT></B><tt>
|
||||
Color R G B (0..255)? ('del' to delete, CR to skip) </tt><b><span class="c1">32 128 32</span></b><tt>
|
||||
Inherit = 0: lower nodes (towards leaves) override
|
||||
Inheritance (0|1)? (CR to skip)
|
||||
mged></tt>
|
||||
mged></tt>
|
||||
</pre>
|
||||
|
||||
<p>If we raytrace the mug now, it has a different appearance.
|
||||
<!--- XXX raytrace and show --->
|
||||
|
||||
|
||||
|
||||
<p> Sometimes it is useful to combine the effects of two shaders. The
|
||||
``stack'' shader was created for this situation. For example, we might want
|
||||
to apply a blotchy camouflage-like color pattern to the mug. The ``camo''
|
||||
shader provides the color pattern, while the ``plastic'' shader provides the
|
||||
lighting model.
|
||||
|
||||
<pre>
|
||||
<tt>mged> </tt><B><FONT color="#20a020">mater mug.r</FONT></B><tt>
|
||||
<p>If we raytrace the mug now, it has a different appearance.
|
||||
<!--= XXX raytrace and show =--></p>
|
||||
<p>Sometimes it is useful to combine the effects of two
|
||||
shaders. The ``stack'' shader was created for this
|
||||
situation. For example, we might want to apply a blotchy
|
||||
camouflage-like color pattern to the mug. The ``camo''
|
||||
shader provides the color pattern, while the ``plastic'' shader
|
||||
provides the lighting model. </p>
|
||||
<pre>
|
||||
<tt>mged> </tt><b><span class="c1">mater mug.r</span></b><tt>
|
||||
Shader = plastic
|
||||
Shader? ('del' to delete, CR to skip) </tt><B><FONT
|
||||
color="#20a020">stack camo s=10;plastic</FONT></B><tt>
|
||||
Shader? ('del' to delete, CR to skip) </tt><b><span class=
|
||||
"c1">stack camo s=10;plastic</span></b><tt>
|
||||
Color = 32 128 32
|
||||
Color R G B (0..255)? ('del' to delete, CR to skip)
|
||||
Inherit = 0: lower nodes (towards leaves) override
|
||||
Inheritance (0|1)? (CR to skip)
|
||||
mged> </tt>
|
||||
mged> </tt>
|
||||
</pre>The ``camo'' shader creates a color pattern using a
|
||||
procedural noise technique. It computes a fBm value based
|
||||
upon the point being shaded. To compute this value it needs
|
||||
to be able to map coordinates in model space into a noise
|
||||
space. The most important parameter to specify is
|
||||
``size''. This tells the shader what the spacing is (in
|
||||
millimeters) of grid points from the noise space. It also
|
||||
gives us a rough bound on the size of the blobs of color it
|
||||
creates.
|
||||
<div class="c2">
|
||||
<table border="1">
|
||||
<tr>
|
||||
<th align="left">Parameter</th>
|
||||
<th>abbrev</th>
|
||||
<th>type</th>
|
||||
<th>default</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<th align="left">Lacunarity</th>
|
||||
<th>l</th>
|
||||
<td>float</td>
|
||||
<td>2.1753974</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th align="left">H_value</th>
|
||||
<th>H</th>
|
||||
<td>float</td>
|
||||
<td>1.0</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th align="left">octaves</th>
|
||||
<th>o</th>
|
||||
<td>int</td>
|
||||
<td>4</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th align="left">delta</th>
|
||||
<th>d</th>
|
||||
<td>float vector</td>
|
||||
<td>1000.0, 1000.0, 1000.0</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th align="left">Threshold 1</th>
|
||||
<th>t1</th>
|
||||
<td>float</td>
|
||||
<td>-0.25</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th align="left">Threshold 2</th>
|
||||
<th>t2</th>
|
||||
<td>float</td>
|
||||
<td>0.25</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th align="left">size</th>
|
||||
<th>s</th>
|
||||
<td>float</td>
|
||||
<td>1.0</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th align="left">color 1</th>
|
||||
<th>c1</th>
|
||||
<td>int vector</td>
|
||||
<td>97, 74, 41</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th align="left">color 2</th>
|
||||
<th>c2</th>
|
||||
<td>int vector</td>
|
||||
<td>26, 77, 10</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th align="left">color 3</th>
|
||||
<th>c3</th>
|
||||
<td>int vector</td>
|
||||
<td>38, 38, 38</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<p>This time we will raytrace the image with a grey background
|
||||
instead of black. We specify this with the -C option:</p>
|
||||
<pre>
|
||||
<tt> mged> </tt><b><span class=
|
||||
"c1">rt -F:1 -s 128 -C100/100/100</span></b>
|
||||
</pre><a href="mug_camo.jpg"><img src="mug_camo.gif" alt=
|
||||
"camouflage mug"></a>
|
||||
<p>Mged can save a shell script to raytrace the current
|
||||
view. This is done with the ``saveview'' command. </p>
|
||||
<pre>
|
||||
<tt> mged> </tt><b><span class=
|
||||
"c1">saveview mug_camo</span></b>
|
||||
</pre>If we exit mged we will find a file called ``mug_camo'' in
|
||||
the current directory. Running this script will start the
|
||||
``rt'' program to create a file called mug_camo.pix. If you
|
||||
do not specify the size of the image on the command line, it will
|
||||
default to a 512x512 image. This file can be displayed in
|
||||
your framebuffer server window using the ``pix-fb'' command.
|
||||
<pre>
|
||||
<tt> % </tt><b><span class="c1">./mug_camo</span></b>
|
||||
<tt> % </tt><b><span class="c1">pix-fb mug_camo.pix</span></b>
|
||||
</pre>
|
||||
|
||||
The ``camo'' shader creates a color pattern using a procedural noise
|
||||
technique. It computes a fBm value based upon the point being shaded. To
|
||||
compute this value it needs to be able to map coordinates in model space
|
||||
into a noise space. The most important parameter to specify is ``size''.
|
||||
This tells the shader what the spacing is (in millimeters) of grid points
|
||||
from the noise space. It also gives us a rough bound on the size of the blobs
|
||||
of color it creates.
|
||||
|
||||
<center>
|
||||
<table border=1>
|
||||
<tr><th align=left>Parameter</th> <th>abbrev</th><th>type</th><th>default</th></tr>
|
||||
<tr><th align=left>Lacunarity</th> <th>l</th> <td>float</td><td>2.1753974</td></tr>
|
||||
<tr><th align=left>H_value</th> <th>H</th> <td>float</td><td>1.0</td></tr>
|
||||
<tr><th align=left>octaves</th> <th>o</th> <td>int</td><td>4</td></tr>
|
||||
<tr><th align=left>delta</th> <th>d</th> <td>float vector</td><td>1000.0, 1000.0, 1000.0</td></tr>
|
||||
<tr><th align=left>Threshold 1</th><th>t1</td><td>float</td><td>-0.25</td></tr>
|
||||
<tr><th align=left>Threshold 2</th><th>t2</td><td>float</td><td>0.25</td></tr>
|
||||
<tr><th align=left>size</th> <th>s</th> <td>float</td><td>1.0</td></tr>
|
||||
<tr><th align=left>color 1</th> <th>c1</td><td>int vector</td><td>97, 74, 41</td></tr>
|
||||
<tr><th align=left>color 2</th> <th>c2</td><td>int vector</td><td>26, 77, 10</td></tr>
|
||||
<tr><th align=left>color 3</th> <th>c3</td><td>int vector</td><td>38, 38, 38</td></tr>
|
||||
|
||||
</table></center>
|
||||
|
||||
<p>This time we will raytrace the image with a grey background instead of
|
||||
black. We specify this with the -C option:
|
||||
|
||||
<pre>
|
||||
<tt> mged> </tt><B><FONT color="#20a020">rt -F:1 -s 128 -C100/100/100</FONT></B>
|
||||
</pre>
|
||||
<a href="mug_camo.jpg"><img src="mug_camo.gif" alt="camouflage mug"></a>
|
||||
|
||||
<p>
|
||||
Mged can save a shell script to raytrace the current view. This is done with
|
||||
the ``saveview'' command.
|
||||
|
||||
<pre>
|
||||
<tt> mged> </tt><B><FONT color="#20a020">saveview mug_camo</FONT></B>
|
||||
</pre>
|
||||
|
||||
If we exit mged we will find a file called ``mug_camo'' in the current
|
||||
directory. Running this script will start the ``rt'' program to create a file
|
||||
called mug_camo.pix. If you do not specify the size of the image on the
|
||||
command line, it will default to a 512x512 image. This file can be displayed
|
||||
in your framebuffer server window using the ``pix-fb'' command.
|
||||
|
||||
<pre>
|
||||
<tt> % </tt><B><FONT color="#20a020">./mug_camo</FONT></B>
|
||||
<tt> % </tt><B><FONT color="#20a020">pix-fb mug_camo.pix</FONT></B>
|
||||
</pre>
|
||||
|
||||
<p>When you are done with the framebuffer, you can dismiss the window with
|
||||
the ``fbfree'' command.
|
||||
|
||||
</BODY></HTML>
|
||||
<p>When you are done with the framebuffer, you can dismiss the
|
||||
window with the ``fbfree'' command. </p>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -1,44 +1,43 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
|
||||
<HTML>
|
||||
|
||||
<HEAD>
|
||||
<TITLE>MGED Callbacks</Title>
|
||||
</HEAD>
|
||||
|
||||
<BODY BGCOLOR="#E0D8c8" Text="#000000">
|
||||
<CENTER><H2>MGED Callbacks</H2></CENTER>
|
||||
MGED has several callbacks that get called at strategic
|
||||
times in order to give the GUI a chance to update itself
|
||||
after something important has happened.
|
||||
|
||||
<UL>
|
||||
<LI>opendb_callback - this is called after opening a database
|
||||
to update the command windows' title bar and
|
||||
to update the raytrace control panel.
|
||||
|
||||
<LI>begin_edit_callback - this is called at the start of an edit
|
||||
to reconfigure the GUI's edit menus and to initialize
|
||||
other parts of the GUI with information about the solid/object
|
||||
being edited.
|
||||
|
||||
<LI>active_edit_callback - this is called during an active edit,
|
||||
after MGED perceives a change to the solid/object being edited,
|
||||
to continuously update GUI components during an edit.
|
||||
|
||||
<LI>end_edit_callback - this is called at the end of an edit
|
||||
to reconfigure the GUI to a non-edit configuration.
|
||||
|
||||
<LI>output_callback - this is called when things need to be printed
|
||||
to the command window(s) (i.e. after issuing a command).
|
||||
|
||||
<LI>solid_list_callback - this is called whenever MGED's internal
|
||||
solid list changes. Note - the solid list changes whenever
|
||||
solids/objects are
|
||||
<a href="mged_cmd_index.html#e">e'd</a>
|
||||
up or when they are
|
||||
<a href="mged_cmd_index.html#d">deleted</a>
|
||||
from the display.
|
||||
</UL>
|
||||
|
||||
</BODY>
|
||||
</HTML>
|
||||
<html>
|
||||
<head>
|
||||
<title>MGED Callbacks</title>
|
||||
<style type="text/css">
|
||||
body {
|
||||
background-color: #E0D8C8;
|
||||
color: #000000;
|
||||
}
|
||||
div.c1 {text-align: center}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="c1">
|
||||
<h2>MGED Callbacks</h2>
|
||||
</div>MGED has several callbacks that get called at strategic
|
||||
times in order to give the GUI a chance to update itself after
|
||||
something important has happened.
|
||||
<ul>
|
||||
<li>opendb_callback - this is called after opening a database
|
||||
to update the command windows' title bar and to update the
|
||||
raytrace control panel.</li>
|
||||
<li>begin_edit_callback - this is called at the start of an
|
||||
edit to reconfigure the GUI's edit menus and to initialize
|
||||
other parts of the GUI with information about the solid/object
|
||||
being edited.</li>
|
||||
<li>active_edit_callback - this is called during an active
|
||||
edit, after MGED perceives a change to the solid/object being
|
||||
edited, to continuously update GUI components during an
|
||||
edit.</li>
|
||||
<li>end_edit_callback - this is called at the end of an edit to
|
||||
reconfigure the GUI to a non-edit configuration.</li>
|
||||
<li>output_callback - this is called when things need to be
|
||||
printed to the command window(s) (i.e. after issuing a
|
||||
command).</li>
|
||||
<li>solid_list_callback - this is called whenever MGED's
|
||||
internal solid list changes. Note - the solid list changes
|
||||
whenever solids/objects are <a href=
|
||||
"mged_cmd_index.html#e">e'd</a> up or when they are <a href=
|
||||
"mged_cmd_index.html#d">deleted</a> from the display.</li>
|
||||
</ul>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+8798
-4066
File diff suppressed because it is too large
Load Diff
@@ -1,31 +1,38 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
|
||||
<HTML>
|
||||
|
||||
<HEAD>
|
||||
<TITLE>MGED Environment Variables</Title>
|
||||
</HEAD>
|
||||
|
||||
<BODY BGCOLOR="#E0D8c8" Text="#000000">
|
||||
<CENTER><H2>MGED Environment Variables</H2></CENTER>
|
||||
|
||||
<DT><a NAME="DISPLAY"><B>DISPLAY</B></DT>
|
||||
<DD><I>DISPLAY</I> specifies where to draw the windows.
|
||||
</DD>
|
||||
<BR><BR>
|
||||
|
||||
<DT><a NAME="BRLCAD_ROOT"><B>BRLCAD_ROOT</B></DT>
|
||||
<DD><I>BRLCAD_ROOT</I> specifies where to find the root
|
||||
directory of the installed BRL-CAD package.
|
||||
</DD>
|
||||
<BR><BR>
|
||||
|
||||
<DT><a NAME="EDITOR"><B>EDITOR</B></DT>
|
||||
<DD><I>EDITOR</I> specifies which external editor to use
|
||||
when one is required.
|
||||
</DD>
|
||||
<BR><BR>
|
||||
|
||||
<!--
|
||||
<html>
|
||||
<head>
|
||||
<title>MGED Environment Variables</title>
|
||||
<style type="text/css">
|
||||
body {
|
||||
background-color: #E0D8C8;
|
||||
color: #000000;
|
||||
}
|
||||
a.c2 {font-weight: bold}
|
||||
div.c1 {text-align: center}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="c1">
|
||||
<h2>MGED Environment Variables</h2>
|
||||
</div>
|
||||
<dl>
|
||||
<dt><a class="c2" name="DISPLAY">DISPLAY</a></dt>
|
||||
<dd><a name="DISPLAY"><i>DISPLAY</i> specifies where to draw
|
||||
the windows.</a></dd>
|
||||
<dt><a name="DISPLAY"><br>
|
||||
<br></a></dt>
|
||||
<dt><a class="c2" name="BRLCAD_ROOT">BRLCAD_ROOT</a></dt>
|
||||
<dd><a name="BRLCAD_ROOT"><i>BRLCAD_ROOT</i> specifies where to
|
||||
find the root directory of the installed BRL-CAD
|
||||
package.</a></dd>
|
||||
<dt><a name="BRLCAD_ROOT"><br>
|
||||
<br></a></dt>
|
||||
<dt><a class="c2" name="EDITOR">EDITOR</a></dt>
|
||||
<dd><a name="EDITOR"><i>EDITOR</i> specifies which external
|
||||
editor to use when one is required.</a></dd>
|
||||
<dt><a name="EDITOR"><br>
|
||||
<br>
|
||||
<!--
|
||||
<DT><a NAME="MGED_RCFILE"><B>MGED_RCFILE</B></DT>
|
||||
<DD><I>MGED_RCFILE</I> specifies the full path of an
|
||||
MGED startup file. If this file exists, it is
|
||||
@@ -47,25 +54,24 @@
|
||||
for viewing documentation.
|
||||
</DD>
|
||||
<BR><BR>
|
||||
-->
|
||||
|
||||
<DT><a NAME="FB_FILE"><B>FB_FILE</B></DT>
|
||||
<DD><I>FB_FILE</I> specifies the framebuffer to use when
|
||||
using applications that require a framebuffer.
|
||||
</DD>
|
||||
<BR><BR>
|
||||
|
||||
<DT><a NAME="TCL_LIBRARY"><B>TCL_LIBRARY</B></DT>
|
||||
<DD><I>TCL_LIBRARY</I> specifies where to look for
|
||||
Tcl files.
|
||||
</DD>
|
||||
<BR><BR>
|
||||
|
||||
<DT><a NAME="TK_LIBRARY"><B>TK_LIBRARY</B></DT>
|
||||
<DD><I>TK_LIBRARY</I> specifies where to look for
|
||||
Tk files.
|
||||
</DD>
|
||||
<BR><BR>
|
||||
|
||||
</BODY>
|
||||
</HTML>
|
||||
--></a></dt>
|
||||
<dt><a class="c2" name="FB_FILE">FB_FILE</a></dt>
|
||||
<dd><a name="FB_FILE"><i>FB_FILE</i> specifies the framebuffer
|
||||
to use when using applications that require a
|
||||
framebuffer.</a></dd>
|
||||
<dt><a name="FB_FILE"><br>
|
||||
<br></a></dt>
|
||||
<dt><a class="c2" name="TCL_LIBRARY">TCL_LIBRARY</a></dt>
|
||||
<dd><a name="TCL_LIBRARY"><i>TCL_LIBRARY</i> specifies where to
|
||||
look for Tcl files.</a></dd>
|
||||
<dt><a name="TCL_LIBRARY"><br>
|
||||
<br></a></dt>
|
||||
<dt><a class="c2" name="TK_LIBRARY">TK_LIBRARY</a></dt>
|
||||
<dd><a name="TK_LIBRARY"><i>TK_LIBRARY</i> specifies where to
|
||||
look for Tk files.</a></dd>
|
||||
<dt><a name="TK_LIBRARY"><br>
|
||||
<br></a></dt>
|
||||
<dt><a name="TK_LIBRARY"></a></dt>
|
||||
</dl>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+2225
-1374
File diff suppressed because it is too large
Load Diff
@@ -1,241 +1,296 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
|
||||
<HTML>
|
||||
|
||||
<HEAD>
|
||||
<TITLE>MGED Tcl Variables</Title>
|
||||
</HEAD>
|
||||
|
||||
<BODY BGCOLOR="#E0D8c8" Text="#000000">
|
||||
<CENTER><H2>MGED Tcl Variables</H2></CENTER>
|
||||
|
||||
The use of <I>pathName</I> in this document refers to the Tcl/Tk pathname of
|
||||
a display manager window.<br><br>
|
||||
|
||||
<DT><a NAME="local2base"><B>local2base</B></DT>
|
||||
<DD><I>local2base</I> specifies the conversion factor that converts local units
|
||||
to base units (i.e. millimeters).
|
||||
</DD>
|
||||
<BR><BR>
|
||||
|
||||
<DT><a NAME="base2local"><B>base2local</B></DT>
|
||||
<DD><I>base2local</I> specifies the conversion factor that converts base units (i.e. millimeters)
|
||||
to local units.
|
||||
</DD>
|
||||
<BR><BR>
|
||||
|
||||
<DT><a NAME="localunit"><B>localunit</B></DT>
|
||||
<DD><I>localunit</I> indicates the local units.
|
||||
</DD>
|
||||
<BR><BR>
|
||||
|
||||
<DT><a NAME="edit_class"><B>edit_class</B></DT>
|
||||
<DD><I>edit_class</I> specifies the class of edit that is in effect.
|
||||
For example, 0 signifies none, 1 signifies translation, 2
|
||||
signifies rotation and 3 signifies scale.
|
||||
</DD>
|
||||
<BR><BR>
|
||||
|
||||
<DT><a NAME="edit_solid_flag"><B>edit_solid_flag</B></DT>
|
||||
<DD><I>edit_solid_flag</I> specifies the type of edit to perform on
|
||||
the solid being edited. <I>edit_solid_flag</I> is linked to
|
||||
MGED's internal variable es_edflag.
|
||||
</DD>
|
||||
<BR><BR>
|
||||
|
||||
<DT><a NAME="edit_object_flag"><B>edit_object_flag</B></DT>
|
||||
<DD><I>edit_object_flag</I> specifies the type of edit to perform on
|
||||
the object being edited. <I>edit_object_flag</I> is linked to
|
||||
MGED's internal variable edobj.
|
||||
</DD>
|
||||
<BR><BR>
|
||||
|
||||
<DT><a NAME="edit_info"><B>edit_info</B></DT>
|
||||
<DD><I>edit_info</I> contains detailed information about the current
|
||||
solid/object being edited.
|
||||
</DD>
|
||||
<BR><BR>
|
||||
|
||||
<DT><a NAME="glob_compat_mode"><B>glob_compat_mode</B></DT>
|
||||
<DD><I>glob_compat_mode</I> indicates whether or not to perform
|
||||
globbing against the database.
|
||||
</DD>
|
||||
<BR><BR>
|
||||
|
||||
<DT><a NAME="mged_display(state)"><B>mged_display(state)</B></DT>
|
||||
<DD><I>mged_display(state)</I> specifies the state of MGED. The state string
|
||||
will be one of the six values listed below.
|
||||
|
||||
<UL>
|
||||
<LI>VIEWING
|
||||
<LI>SOL PICK
|
||||
<LI>SOL EDIT
|
||||
<LI>OBJ PICK
|
||||
<LI>OBJ PATH
|
||||
<LI>OBJ EDIT
|
||||
</UL>
|
||||
</DD>
|
||||
<BR><BR>
|
||||
|
||||
<DT><a NAME="mged_display(pathName,fps)"><B>mged_display(pathName,fps)</B></DT>
|
||||
<DD><I>mged_display(pathName,fps)</I> specifies the frames per second that MGED
|
||||
is able to display.
|
||||
</DD>
|
||||
<BR><BR>
|
||||
|
||||
<DT><a NAME="mged_display(pathName,aet)"><B>mged_display(pathName,aet)</B></DT>
|
||||
<DD><I>mged_display(pathName,aet)</I> specifies the current azimuth, elevation and
|
||||
twist for <I>pathName</I>.
|
||||
</DD>
|
||||
<BR><BR>
|
||||
|
||||
<DT><a NAME="mged_display(pathName,ang)"><B>mged_display(pathName,ang)</B></DT>
|
||||
<DD><I>mged_display(pathName,ang)</I> indicates the rates of view rotation.
|
||||
</DD>
|
||||
<BR><BR>
|
||||
|
||||
<DT><a NAME="mged_display(pathName,center)"><B>mged_display(pathName,center)</B></DT>
|
||||
<DD><I>mged_display(pathName,center)</I> indicates the view center.
|
||||
</DD>
|
||||
<BR><BR>
|
||||
|
||||
<DT><a NAME="mged_display(pathName,size)"><B>mged_display(pathName,size)</B></DT>
|
||||
<DD><I>mged_display(pathName,size)</I> indicates the view size.
|
||||
</DD>
|
||||
<BR><BR>
|
||||
|
||||
<DT><a NAME="mged_display(pathName,adc)"><B>mged_display(pathName,adc)</B></DT>
|
||||
<DD><I>mged_display(pathName,adc)</I> specifies information about the angle distance cursor.
|
||||
</DD>
|
||||
<BR><BR>
|
||||
|
||||
<DT><a NAME="mged_display(path_lhs)"><B>mged_display(path_lhs)</B></DT>
|
||||
<DD><I>mged_display(path_lhs)</I> indicates the left hand side path.
|
||||
</DD>
|
||||
<BR><BR>
|
||||
|
||||
<DT><a NAME="mged_display(path_rhs)"><B>mged_display(path_rhs)</B></DT>
|
||||
<DD><I>mged_display(path_rhs)</I> indicates the right hand side path.
|
||||
</DD>
|
||||
<BR><BR>
|
||||
|
||||
<DT><a NAME="mged_display(units)"><B>mged_display(units)</B></DT>
|
||||
<DD><I>mged_display(units)</I> indicates the local units.
|
||||
</DD>
|
||||
<BR><BR>
|
||||
|
||||
<DT><a NAME="mged_display(keypoint)"><B>mged_display(keypoint)</B></DT>
|
||||
<DD><I>mged_display(keypoint)</I> indicates the point from which
|
||||
edits will take place.
|
||||
</DD>
|
||||
<BR><BR>
|
||||
|
||||
<DT><a NAME="mged_default(geom)"><B>mged_default(geom)</B></DT>
|
||||
<DD><I>mged_default(geom)</I> is used to specify the size and
|
||||
position of the command window.
|
||||
</DD>
|
||||
<BR><BR>
|
||||
|
||||
<DT><a NAME="mged_default(ggeom)"><B>mged_default(ggeom)</B></DT>
|
||||
<DD><I>mged_default(ggeom)</I> is used to specify the size and
|
||||
position of the geometry window.
|
||||
</DD>
|
||||
<BR><BR>
|
||||
|
||||
<DT><a NAME="mged_default(id)"><B>mged_default(id)</B></DT>
|
||||
<DD><I>mged_default(id)</I> indicates the base id to use if
|
||||
the user didn't provide an id to the
|
||||
<a href="mged_cmd_index.html#gui">gui</a>
|
||||
command. For example, if mged_default(id) is set to myId,
|
||||
then the following id's will be created as needed: myId_0,
|
||||
myId_1, myId_2 etc.
|
||||
</DD>
|
||||
<BR><BR>
|
||||
|
||||
<DT><a NAME="mged_default(pane)"><B>mged_default(pane)</B></DT>
|
||||
<DD><I>mged_default(pane)</I> indicates the initial active pane. The
|
||||
keywords, ul, ur, ll, and lr are the only acceptable values.
|
||||
The keywords refer to ''upper left'', ''upper right'',
|
||||
''lower left'' and ''lower right'' respectively.
|
||||
</DD>
|
||||
<BR><BR>
|
||||
|
||||
<DT><a NAME="mged_default(multi_pane)"><B>mged_default(multi_pane)</B></DT>
|
||||
<DD><I>mged_default(multi_pane)</I> indicates whether to show
|
||||
four smaller geometry windows at the same time or to show
|
||||
one larger geometry window.
|
||||
</DD>
|
||||
<BR><BR>
|
||||
|
||||
<DT><a NAME="mged_default(config)"><B>mged_default(config)</B></DT>
|
||||
<DD><I>mged_default(config)</I> indicates the initial configuration
|
||||
of the MGED GUI. A value of ''g'' indicates that only the
|
||||
geometry window is shown, ''c'' indicates that only the
|
||||
command window is shown, and ''b'' indicates that both the
|
||||
geometry and command windows are shown.
|
||||
Note - this initial configuration specification
|
||||
only has affect when the command window and geometry windows are
|
||||
combined together in a single top level window. See the
|
||||
<a href="mged_tcl_vars.html#mged_default(comb)">mged_default(comb)</a> variable.
|
||||
</DD>
|
||||
<BR><BR>
|
||||
|
||||
<DT><a NAME="mged_default(display)"><B>mged_default(display)</B></DT>
|
||||
<DD><I>mged_default(display)</I> indicates where to display the
|
||||
command window and other tools.
|
||||
</DD>
|
||||
<BR><BR>
|
||||
|
||||
<DT><a NAME="mged_default(gdisplay)"><B>mged_default(gdisplay)</B></DT>
|
||||
<DD><I>mged_default(gdisplay)</I> indicates where to display the
|
||||
geometry window if not combined with the command window. See the
|
||||
<a href="mged_tcl_vars.html#mged_default(comb)">mged_default(comb)</a> variable.
|
||||
</DD>
|
||||
<BR><BR>
|
||||
|
||||
<DT><a NAME="mged_default(dm_type)"><B>mged_default(dm_type)</B></DT>
|
||||
<DD><I>mged_default(dm_type)</I> indicates the default display manager type.
|
||||
</DD>
|
||||
<BR><BR>
|
||||
|
||||
<DT><a NAME="mged_default(comb)"><B>mged_default(comb)</B></DT>
|
||||
<DD><I>mged_default(comb)</I> indicates whether or not to combine the
|
||||
command window with the geometry window in a single top level
|
||||
window.
|
||||
</DD>
|
||||
<BR><BR>
|
||||
|
||||
<DT><a NAME="mged_default(edit_style)"><B>mged_default(edit_style)</B></DT>
|
||||
<DD><I>mged_default(edit_style)</I> indicates the initial edit style.
|
||||
The edit style determines the behavior of command
|
||||
line editing. The two possible values are ''emacs'' and ''vi''.
|
||||
</DD>
|
||||
<BR><BR>
|
||||
|
||||
<DT><a NAME="mged_default(num_lines)"><B>mged_default(num_lines)</B></DT>
|
||||
<DD><I>mged_default(num_lines)</I> indicates the number of lines to
|
||||
use in the command window.
|
||||
</DD>
|
||||
<BR><BR>
|
||||
|
||||
<DT><a NAME="mged_default(tearoff_menus)"><B>mged_default(tearoff_menus)</B></DT>
|
||||
<DD><I>mged_default(tearoff_menus)</I> indicates whether or not
|
||||
to use tearoff menus. A tearoff menu is one that has the
|
||||
ability to become a top level window. That is, it can
|
||||
remain active and be placed anywhere on the screen.
|
||||
</DD>
|
||||
<BR><BR>
|
||||
|
||||
<DT><a NAME="mged_default(html_dir)"><B>mged_default(html_dir)</B></DT>
|
||||
<DD><I>mged_default(html_dir)</I> indicates the directory wherein
|
||||
to look for the MGED manual.
|
||||
</DD>
|
||||
<BR><BR>
|
||||
|
||||
<DT><a NAME="mged_default(web_browser)"><B>mged_default(web_browser)</B></DT>
|
||||
<DD><I>mged_default(web_browser)</I> indicates the web browser to use
|
||||
for viewing documentation.
|
||||
</DD>
|
||||
<BR><BR>
|
||||
|
||||
</BODY>
|
||||
</HTML>
|
||||
<html>
|
||||
<head>
|
||||
<title>MGED Tcl Variables</title>
|
||||
<style type="text/css">
|
||||
body {
|
||||
background-color: #E0D8C8;
|
||||
color: #000000;
|
||||
}
|
||||
a.c2 {font-weight: bold}
|
||||
div.c1 {text-align: center}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="c1">
|
||||
<h2>MGED Tcl Variables</h2>
|
||||
</div>The use of <i>pathName</i> in this document refers to the
|
||||
Tcl/Tk pathname of a display manager window.<br>
|
||||
<br>
|
||||
<dl>
|
||||
<dt><a class="c2" name="local2base">local2base</a></dt>
|
||||
<dd><a name="local2base"><i>local2base</i> specifies the
|
||||
conversion factor that converts local units to base units (i.e.
|
||||
millimeters).</a></dd>
|
||||
<dt><a name="local2base"><br>
|
||||
<br></a></dt>
|
||||
<dt><a class="c2" name="base2local">base2local</a></dt>
|
||||
<dd><a name="base2local"><i>base2local</i> specifies the
|
||||
conversion factor that converts base units (i.e. millimeters)
|
||||
to local units.</a></dd>
|
||||
<dt><a name="base2local"><br>
|
||||
<br></a></dt>
|
||||
<dt><a class="c2" name="localunit">localunit</a></dt>
|
||||
<dd><a name="localunit"><i>localunit</i> indicates the local
|
||||
units.</a></dd>
|
||||
<dt><a name="localunit"><br>
|
||||
<br></a></dt>
|
||||
<dt><a class="c2" name="edit_class">edit_class</a></dt>
|
||||
<dd><a name="edit_class"><i>edit_class</i> specifies the class
|
||||
of edit that is in effect. For example, 0 signifies none, 1
|
||||
signifies translation, 2 signifies rotation and 3 signifies
|
||||
scale.</a></dd>
|
||||
<dt><a name="edit_class"><br>
|
||||
<br></a></dt>
|
||||
<dt><a class="c2" name=
|
||||
"edit_solid_flag">edit_solid_flag</a></dt>
|
||||
<dd><a name="edit_solid_flag"><i>edit_solid_flag</i> specifies
|
||||
the type of edit to perform on the solid being edited.
|
||||
<i>edit_solid_flag</i> is linked to MGED's internal variable
|
||||
es_edflag.</a></dd>
|
||||
<dt><a name="edit_solid_flag"><br>
|
||||
<br></a></dt>
|
||||
<dt><a class="c2" name=
|
||||
"edit_object_flag">edit_object_flag</a></dt>
|
||||
<dd><a name="edit_object_flag"><i>edit_object_flag</i>
|
||||
specifies the type of edit to perform on the object being
|
||||
edited. <i>edit_object_flag</i> is linked to MGED's internal
|
||||
variable edobj.</a></dd>
|
||||
<dt><a name="edit_object_flag"><br>
|
||||
<br></a></dt>
|
||||
<dt><a class="c2" name="edit_info">edit_info</a></dt>
|
||||
<dd><a name="edit_info"><i>edit_info</i> contains detailed
|
||||
information about the current solid/object being
|
||||
edited.</a></dd>
|
||||
<dt><a name="edit_info"><br>
|
||||
<br></a></dt>
|
||||
<dt><a class="c2" name=
|
||||
"glob_compat_mode">glob_compat_mode</a></dt>
|
||||
<dd><a name="glob_compat_mode"><i>glob_compat_mode</i>
|
||||
indicates whether or not to perform globbing against the
|
||||
database.</a></dd>
|
||||
<dt><a name="glob_compat_mode"><br>
|
||||
<br></a></dt>
|
||||
<dt><a class="c2" name=
|
||||
"mged_display(state)">mged_display(state)</a></dt>
|
||||
<dd><a name="mged_display(state)"><i>mged_display(state)</i>
|
||||
specifies the state of MGED. The state string will be one of
|
||||
the six values listed below.</a></dd>
|
||||
</dl>
|
||||
<ul>
|
||||
<li>VIEWING</li>
|
||||
<li>SOL PICK</li>
|
||||
<li>SOL EDIT</li>
|
||||
<li>OBJ PICK</li>
|
||||
<li>OBJ PATH</li>
|
||||
<li>OBJ EDIT</li>
|
||||
</ul>
|
||||
<dl>
|
||||
<dd><br>
|
||||
<br></dd>
|
||||
<dt><a class="c2" name=
|
||||
"mged_display(pathName,fps)">mged_display(pathName,fps)</a></dt>
|
||||
<dd><a name=
|
||||
"mged_display(pathName,fps)"><i>mged_display(pathName,fps)</i>
|
||||
specifies the frames per second that MGED is able to
|
||||
display.</a></dd>
|
||||
<dt><a name="mged_display(pathName,fps)"><br>
|
||||
<br></a></dt>
|
||||
<dt><a class="c2" name=
|
||||
"mged_display(pathName,aet)">mged_display(pathName,aet)</a></dt>
|
||||
<dd><a name=
|
||||
"mged_display(pathName,aet)"><i>mged_display(pathName,aet)</i>
|
||||
specifies the current azimuth, elevation and twist for
|
||||
<i>pathName</i>.</a></dd>
|
||||
<dt><a name="mged_display(pathName,aet)"><br>
|
||||
<br></a></dt>
|
||||
<dt><a class="c2" name=
|
||||
"mged_display(pathName,ang)">mged_display(pathName,ang)</a></dt>
|
||||
<dd><a name=
|
||||
"mged_display(pathName,ang)"><i>mged_display(pathName,ang)</i>
|
||||
indicates the rates of view rotation.</a></dd>
|
||||
<dt><a name="mged_display(pathName,ang)"><br>
|
||||
<br></a></dt>
|
||||
<dt><a class="c2" name=
|
||||
"mged_display(pathName,center)">mged_display(pathName,center)</a></dt>
|
||||
<dd><a name=
|
||||
"mged_display(pathName,center)"><i>mged_display(pathName,center)</i>
|
||||
indicates the view center.</a></dd>
|
||||
<dt><a name="mged_display(pathName,center)"><br>
|
||||
<br></a></dt>
|
||||
<dt><a class="c2" name=
|
||||
"mged_display(pathName,size)">mged_display(pathName,size)</a></dt>
|
||||
<dd><a name=
|
||||
"mged_display(pathName,size)"><i>mged_display(pathName,size)</i>
|
||||
indicates the view size.</a></dd>
|
||||
<dt><a name="mged_display(pathName,size)"><br>
|
||||
<br></a></dt>
|
||||
<dt><a class="c2" name=
|
||||
"mged_display(pathName,adc)">mged_display(pathName,adc)</a></dt>
|
||||
<dd><a name=
|
||||
"mged_display(pathName,adc)"><i>mged_display(pathName,adc)</i>
|
||||
specifies information about the angle distance cursor.</a></dd>
|
||||
<dt><a name="mged_display(pathName,adc)"><br>
|
||||
<br></a></dt>
|
||||
<dt><a class="c2" name=
|
||||
"mged_display(path_lhs)">mged_display(path_lhs)</a></dt>
|
||||
<dd><a name=
|
||||
"mged_display(path_lhs)"><i>mged_display(path_lhs)</i>
|
||||
indicates the left hand side path.</a></dd>
|
||||
<dt><a name="mged_display(path_lhs)"><br>
|
||||
<br></a></dt>
|
||||
<dt><a class="c2" name=
|
||||
"mged_display(path_rhs)">mged_display(path_rhs)</a></dt>
|
||||
<dd><a name=
|
||||
"mged_display(path_rhs)"><i>mged_display(path_rhs)</i>
|
||||
indicates the right hand side path.</a></dd>
|
||||
<dt><a name="mged_display(path_rhs)"><br>
|
||||
<br></a></dt>
|
||||
<dt><a class="c2" name=
|
||||
"mged_display(units)">mged_display(units)</a></dt>
|
||||
<dd><a name="mged_display(units)"><i>mged_display(units)</i>
|
||||
indicates the local units.</a></dd>
|
||||
<dt><a name="mged_display(units)"><br>
|
||||
<br></a></dt>
|
||||
<dt><a class="c2" name=
|
||||
"mged_display(keypoint)">mged_display(keypoint)</a></dt>
|
||||
<dd><a name=
|
||||
"mged_display(keypoint)"><i>mged_display(keypoint)</i>
|
||||
indicates the point from which edits will take place.</a></dd>
|
||||
<dt><a name="mged_display(keypoint)"><br>
|
||||
<br></a></dt>
|
||||
<dt><a class="c2" name=
|
||||
"mged_default(geom)">mged_default(geom)</a></dt>
|
||||
<dd><a name="mged_default(geom)"><i>mged_default(geom)</i> is
|
||||
used to specify the size and position of the command
|
||||
window.</a></dd>
|
||||
<dt><a name="mged_default(geom)"><br>
|
||||
<br></a></dt>
|
||||
<dt><a class="c2" name=
|
||||
"mged_default(ggeom)">mged_default(ggeom)</a></dt>
|
||||
<dd><a name="mged_default(ggeom)"><i>mged_default(ggeom)</i> is
|
||||
used to specify the size and position of the geometry
|
||||
window.</a></dd>
|
||||
<dt><a name="mged_default(ggeom)"><br>
|
||||
<br></a></dt>
|
||||
<dt><a class="c2" name=
|
||||
"mged_default(id)">mged_default(id)</a></dt>
|
||||
<dd><a name="mged_default(id)"><i>mged_default(id)</i>
|
||||
indicates the base id to use if the user didn't provide an id
|
||||
to the</a><a name="mged_default(id)"></a> <a href=
|
||||
"mged_cmd_index.html#gui">gui</a> command. For example, if
|
||||
mged_default(id) is set to myId, then the following id's will
|
||||
be created as needed: myId_0, myId_1, myId_2 etc.</dd>
|
||||
<dd><br>
|
||||
<br></dd>
|
||||
<dt><a class="c2" name=
|
||||
"mged_default(pane)">mged_default(pane)</a></dt>
|
||||
<dd><a name="mged_default(pane)"><i>mged_default(pane)</i>
|
||||
indicates the initial active pane. The keywords, ul, ur, ll,
|
||||
and lr are the only acceptable values. The keywords refer to
|
||||
''upper left'', ''upper right'', ''lower left'' and ''lower
|
||||
right'' respectively.</a></dd>
|
||||
<dt><a name="mged_default(pane)"><br>
|
||||
<br></a></dt>
|
||||
<dt><a class="c2" name=
|
||||
"mged_default(multi_pane)">mged_default(multi_pane)</a></dt>
|
||||
<dd><a name=
|
||||
"mged_default(multi_pane)"><i>mged_default(multi_pane)</i>
|
||||
indicates whether to show four smaller geometry windows at the
|
||||
same time or to show one larger geometry window.</a></dd>
|
||||
<dt><a name="mged_default(multi_pane)"><br>
|
||||
<br></a></dt>
|
||||
<dt><a class="c2" name=
|
||||
"mged_default(config)">mged_default(config)</a></dt>
|
||||
<dd><a name="mged_default(config)"><i>mged_default(config)</i>
|
||||
indicates the initial configuration of the MGED GUI. A value of
|
||||
''g'' indicates that only the geometry window is shown, ''c''
|
||||
indicates that only the command window is shown, and ''b''
|
||||
indicates that both the geometry and command windows are shown.
|
||||
Note - this initial configuration specification only has affect
|
||||
when the command window and geometry windows are combined
|
||||
together in a single top level window. See the</a><a name=
|
||||
"mged_default(config)"></a> <a href=
|
||||
"mged_tcl_vars.html#mged_default(comb)">mged_default(comb)</a>
|
||||
variable.</dd>
|
||||
<dd><br>
|
||||
<br></dd>
|
||||
<dt><a class="c2" name=
|
||||
"mged_default(display)">mged_default(display)</a></dt>
|
||||
<dd><a name=
|
||||
"mged_default(display)"><i>mged_default(display)</i> indicates
|
||||
where to display the command window and other tools.</a></dd>
|
||||
<dt><a name="mged_default(display)"><br>
|
||||
<br></a></dt>
|
||||
<dt><a class="c2" name=
|
||||
"mged_default(gdisplay)">mged_default(gdisplay)</a></dt>
|
||||
<dd><a name=
|
||||
"mged_default(gdisplay)"><i>mged_default(gdisplay)</i>
|
||||
indicates where to display the geometry window if not combined
|
||||
with the command window. See the</a><a name=
|
||||
"mged_default(gdisplay)"></a> <a href=
|
||||
"mged_tcl_vars.html#mged_default(comb)">mged_default(comb)</a>
|
||||
variable.</dd>
|
||||
<dd><br>
|
||||
<br></dd>
|
||||
<dt><a class="c2" name=
|
||||
"mged_default(dm_type)">mged_default(dm_type)</a></dt>
|
||||
<dd><a name=
|
||||
"mged_default(dm_type)"><i>mged_default(dm_type)</i> indicates
|
||||
the default display manager type.</a></dd>
|
||||
<dt><a name="mged_default(dm_type)"><br>
|
||||
<br></a></dt>
|
||||
<dt><a class="c2" name=
|
||||
"mged_default(comb)">mged_default(comb)</a></dt>
|
||||
<dd><a name="mged_default(comb)"><i>mged_default(comb)</i>
|
||||
indicates whether or not to combine the command window with the
|
||||
geometry window in a single top level window.</a></dd>
|
||||
<dt><a name="mged_default(comb)"><br>
|
||||
<br></a></dt>
|
||||
<dt><a class="c2" name=
|
||||
"mged_default(edit_style)">mged_default(edit_style)</a></dt>
|
||||
<dd><a name=
|
||||
"mged_default(edit_style)"><i>mged_default(edit_style)</i>
|
||||
indicates the initial edit style. The edit style determines the
|
||||
behavior of command line editing. The two possible values are
|
||||
''emacs'' and ''vi''.</a></dd>
|
||||
<dt><a name="mged_default(edit_style)"><br>
|
||||
<br></a></dt>
|
||||
<dt><a class="c2" name=
|
||||
"mged_default(num_lines)">mged_default(num_lines)</a></dt>
|
||||
<dd><a name=
|
||||
"mged_default(num_lines)"><i>mged_default(num_lines)</i>
|
||||
indicates the number of lines to use in the command
|
||||
window.</a></dd>
|
||||
<dt><a name="mged_default(num_lines)"><br>
|
||||
<br></a></dt>
|
||||
<dt><a class="c2" name=
|
||||
"mged_default(tearoff_menus)">mged_default(tearoff_menus)</a></dt>
|
||||
<dd><a name=
|
||||
"mged_default(tearoff_menus)"><i>mged_default(tearoff_menus)</i>
|
||||
indicates whether or not to use tearoff menus. A tearoff menu
|
||||
is one that has the ability to become a top level window. That
|
||||
is, it can remain active and be placed anywhere on the
|
||||
screen.</a></dd>
|
||||
<dt><a name="mged_default(tearoff_menus)"><br>
|
||||
<br></a></dt>
|
||||
<dt><a class="c2" name=
|
||||
"mged_default(html_dir)">mged_default(html_dir)</a></dt>
|
||||
<dd><a name=
|
||||
"mged_default(html_dir)"><i>mged_default(html_dir)</i>
|
||||
indicates the directory wherein to look for the MGED
|
||||
manual.</a></dd>
|
||||
<dt><a name="mged_default(html_dir)"><br>
|
||||
<br></a></dt>
|
||||
<dt><a class="c2" name=
|
||||
"mged_default(web_browser)">mged_default(web_browser)</a></dt>
|
||||
<dd><a name=
|
||||
"mged_default(web_browser)"><i>mged_default(web_browser)</i>
|
||||
indicates the web browser to use for viewing
|
||||
documentation.</a></dd>
|
||||
<dt><a name="mged_default(web_browser)"><br>
|
||||
<br></a></dt>
|
||||
<dt><a name="mged_default(web_browser)"></a></dt>
|
||||
</dl>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -1,13 +0,0 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>Mged Notes</TITLE>
|
||||
</HEAD>
|
||||
<BODY BGCOLOR="#E0D8c8" Text="#000000">
|
||||
<H1>Mged Notes</H1>
|
||||
<UL>
|
||||
<LI>Long lines in a Tk text widget are very expensive.
|
||||
This flaw/feature gets passed on to MGED's command window.
|
||||
</UL>
|
||||
</BODY>
|
||||
</HTML>
|
||||
@@ -1,47 +0,0 @@
|
||||
<!--
|
||||
|
||||
|
||||
|
||||
Whole vehicles, small groups ("Philosophy" section)
|
||||
|
||||
|
||||
Modeling
|
||||
Geometry: Form, Volume, Shape
|
||||
Primitive Shapes
|
||||
Boolean Combinations
|
||||
DAG, Structure
|
||||
boolean arcs
|
||||
matrices
|
||||
Materials and Appearance
|
||||
Material types.
|
||||
Visual Shaders
|
||||
|
||||
Creating and Editing Models with MGED
|
||||
Startup
|
||||
|
||||
The display
|
||||
Faceplate
|
||||
State Display
|
||||
Button Menu
|
||||
Status bar
|
||||
|
||||
Displaying Geometry
|
||||
e
|
||||
|
||||
The View
|
||||
Screen Coordinates
|
||||
Bounding Volume
|
||||
Perspective
|
||||
displaying axes
|
||||
|
||||
Creating Solids
|
||||
in
|
||||
make
|
||||
Creating boolean combinations
|
||||
comb
|
||||
g
|
||||
r
|
||||
Editing Solids
|
||||
Editing combinations
|
||||
Editing Matrices
|
||||
-->
|
||||
@@ -1,14 +1,22 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>Mged User's Manual</TITLE>
|
||||
</HEAD><BODY BGCOLOR="#E0D8c8" Text="#000000">
|
||||
<h1 align=center><font size="+3" color="#4040ff">User's Manual</font></h1>
|
||||
<p>
|
||||
<h1>Preface</h1>
|
||||
<p>This manual is designed to get the user familiar with BRL-CAD and
|
||||
the facilities available for creating and using geometry. To accomplish
|
||||
this, we start with an introduction to the geometry editor, <em>MGED</em>.
|
||||
<br>
|
||||
<a href="mged.html">Next-></a>
|
||||
</BODY>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
|
||||
<html>
|
||||
<head>
|
||||
<title>Mged User's Manual</title>
|
||||
<style type="text/css">
|
||||
body {
|
||||
background-color: #E0D8C8;
|
||||
color: #000000;
|
||||
}
|
||||
h1.c1 {color: #4040FF; font-size: 172%; text-align: center}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<h1 class="c1">User's Manual</h1>
|
||||
<h1>Preface</h1>
|
||||
<p>This manual is designed to get the user familiar with BRL-CAD
|
||||
and the facilities available for creating and using geometry. To
|
||||
accomplish this, we start with an introduction to the geometry
|
||||
editor, <em>MGED</em>.<br>
|
||||
<a href="mged.html">Next-></a></p>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+1232
-722
File diff suppressed because it is too large
Load Diff
@@ -1,2 +0,0 @@
|
||||
joint
|
||||
solids_on_ray
|
||||
-169
@@ -1,169 +0,0 @@
|
||||
.de HD
|
||||
'sp |1.0i
|
||||
..
|
||||
.de FO
|
||||
.ft R
|
||||
.tl ''%''
|
||||
'bp
|
||||
..
|
||||
.wh 0 HD
|
||||
.wh -1.00i FO
|
||||
.ps 10
|
||||
.vs 12
|
||||
.ll 6.6i
|
||||
.po .8i
|
||||
.fi
|
||||
.\" 27 October 1992 - Update to put in troff format.
|
||||
.\" Last Update to File: 22 February 1993 - to put in info about
|
||||
.\" all_sf.
|
||||
.\" Last Update to File: 1 April 1993 - to put in info about firpass
|
||||
.\" & secpass being able to fire 3 sets of orthogonal rays.
|
||||
.\" To Print:
|
||||
.\" troff -Ti300 irprep.tr | dimp -P imt2 &
|
||||
.ft B
|
||||
.ce
|
||||
IRPREP
|
||||
.sp 2
|
||||
.ft R
|
||||
.ce 3
|
||||
Susan A. Coates
|
||||
The Army Research Laboratory
|
||||
ARL-SLAD-BVLD-VMB
|
||||
.sp 2
|
||||
This document lists the differences between the IRPREP set of programs in
|
||||
the BRL-CAD release 4.0 and the set in the subsequent BRL-CAD releases.
|
||||
.sp 2
|
||||
.ft B
|
||||
firpass
|
||||
.in 0.75i
|
||||
.ft R
|
||||
1. Region number and name file is created for use with shapefact
|
||||
and display.
|
||||
.sp
|
||||
2. Make region numbering the same across all files, i.e. region
|
||||
numbers start at 1 not 0. This affects the diagnostic file,
|
||||
the second pass file, and the error file.
|
||||
.sp
|
||||
3. When there is engine air area this number is printed in the
|
||||
radius field of the PRISM facet file.
|
||||
.sp
|
||||
4. The user is given a choice of PRISM file format (2.0
|
||||
or 3.0 format).
|
||||
.sp
|
||||
5. Additional airs have been added: closed compartment air
|
||||
(air type 6), exhaust air (air type 7), generic air 1 (air
|
||||
type 8), and generic air 2 (air type 9).
|
||||
.sp
|
||||
6. An additional line was added to the end of the facet file
|
||||
to indicate the end of the file. PRISM requires this line.
|
||||
.sp
|
||||
7. Write out the total surface area when there is no exterior
|
||||
surface area in the PRISM facet file. This is done because
|
||||
PRISM will not accept a zero in the exterior surface area
|
||||
field. (FRED seems to do the same thing.)
|
||||
.sp
|
||||
8. Allows three sets of orthogonal rays to be fired. (The user
|
||||
may still fire only one set of rays if desired.)
|
||||
.sp 2
|
||||
.ft B
|
||||
.in -0.75i
|
||||
secpass
|
||||
.sp
|
||||
.ft R
|
||||
.in 0.75i
|
||||
1. Make the numbering scheme for regions the same throughout
|
||||
all irprep programs i.e. region numbers start at 1 not 0.
|
||||
In particular this affects the diagnostic file and the error
|
||||
file.
|
||||
.sp
|
||||
2. Correct the format of the conductivity table for PRISM,
|
||||
it was not in the correct PRISM format (the larger region
|
||||
must come first).
|
||||
.sp
|
||||
3. The user is given a choice of PRISM file format (2.0
|
||||
or 3.0 format).
|
||||
.sp
|
||||
4. Some diagnostic information is no longer printed out.
|
||||
.sp
|
||||
5. Allows three sets of orthogonal rays to be fired. (The user may
|
||||
still fire only one set of rays if desired.)
|
||||
.sp 2
|
||||
.ft B
|
||||
.in -0.75i
|
||||
shapefact
|
||||
.ft R
|
||||
.in 0.75i
|
||||
.sp
|
||||
1. The region number and name file is read so that the
|
||||
numbering of regions is consistent across all irprep
|
||||
programs.
|
||||
.sp
|
||||
2. A generic output file may now be written.
|
||||
.sp
|
||||
3. An error file is written.
|
||||
.sp
|
||||
4. The format of the regular output file has been changed.
|
||||
.sp 2
|
||||
.ft B
|
||||
.in -0.75i
|
||||
all_sf
|
||||
.sp
|
||||
.ft R
|
||||
A completely new program that finds the shapefactors for all regions
|
||||
of an mged file (not just engine regions). This program does not
|
||||
take in to account any air. Therefore, in order to have the regions
|
||||
numbered the same as firpass and secpass air should always be listed
|
||||
after all other regions. This program creates three files: an
|
||||
output file, a longwave radiation exchange file, and an error file.
|
||||
The output file lists the shapefactors between each region. The
|
||||
longwave radiation exchange file if for use with PRISM. This file
|
||||
is not PRISM ready and the user must fill in the missing parameters
|
||||
if this file is to be used with PRISM. The error file is basically
|
||||
used for checking errors in the program and will probably not be
|
||||
used by the average user.
|
||||
.sp 2
|
||||
.ft B
|
||||
.in -0.75i
|
||||
display
|
||||
.sp
|
||||
.ft R
|
||||
A completely new program designed to take a PRISM temperature output
|
||||
file or a generic temperature output file along with an mged file and
|
||||
ray trace the mged file and assign temperatures to each pixel. A
|
||||
file is then written that can be read by Analyzer2, see, and see2.
|
||||
This file contains a temperature for each pixel written on a different
|
||||
line.
|
||||
.sp 2
|
||||
.ft B
|
||||
see
|
||||
.sp
|
||||
.ft R
|
||||
A new program that displays the output from the program display in an
|
||||
X-windows environment.
|
||||
.sp 2
|
||||
.ft B
|
||||
see2
|
||||
.sp
|
||||
.ft R
|
||||
A new program that displays the output from the program display on an
|
||||
SGI machine.
|
||||
.sp 2
|
||||
.ft B
|
||||
pictx
|
||||
.sp
|
||||
.ft R
|
||||
A new program that combines the programs display and see for use in
|
||||
an X-windows environment.
|
||||
.sp 2
|
||||
.ft B
|
||||
pictsgi
|
||||
.sp
|
||||
.ft R
|
||||
A new program that combines the programs display and see2 for use on
|
||||
an SGI machine.
|
||||
.sp 2
|
||||
See the manual pages for firpass, secpass, shapefact, display, see,
|
||||
see2, pictx, and pictsgi for more information. Also see the User's
|
||||
Manual for IRPREP (BRL Special Publication BRL-SP-96, September 1992)
|
||||
and the report Computer Programs for Generating an Input File for
|
||||
PRISM and Displaying PRISM Results (BRL report in progress).
|
||||
@@ -1,5 +1,7 @@
|
||||
set(embedded_licenses
|
||||
alphanum.txt
|
||||
apple.txt
|
||||
appleseed.txt
|
||||
art.txt
|
||||
ayam.txt
|
||||
b64.txt
|
||||
@@ -17,14 +19,19 @@ set(embedded_licenses
|
||||
fontstash.txt
|
||||
gct.txt
|
||||
gecode.txt
|
||||
gdal_gcv_plugin.txt
|
||||
gdal_gcv_plugin1.txt
|
||||
gdal_gcv_plugin2.txt
|
||||
glm.txt
|
||||
halfedge.txt
|
||||
humanize.txt
|
||||
hv3.txt
|
||||
hv3_combobox.txt
|
||||
hv3_snit.txt
|
||||
Inconsolata.txt
|
||||
libtermlib.txt
|
||||
lseg_lseg.txt
|
||||
lseg_pt.txt
|
||||
lz4.txt
|
||||
marching_cubes.txt
|
||||
msinttypes.txt
|
||||
mt19937ar.txt
|
||||
@@ -35,12 +42,15 @@ set(embedded_licenses
|
||||
OpenNURBS.txt
|
||||
osg.txt
|
||||
osl.txt
|
||||
ParaView.txt
|
||||
pbrt.txt
|
||||
point_in_polygon.txt
|
||||
point_in_polyhedron.txt
|
||||
polygonizer.txt
|
||||
pstdint.txt
|
||||
qsort.txt
|
||||
QFlowLayout.txt
|
||||
QtADS.txt
|
||||
QuickHull.txt
|
||||
realpath.txt
|
||||
rply.txt
|
||||
|
||||
@@ -0,0 +1,88 @@
|
||||
SIL OPEN FONT LICENSE
|
||||
|
||||
Version 1.1 - 26 February 2007
|
||||
PREAMBLE
|
||||
|
||||
The goals of the Open Font License (OFL) are to stimulate worldwide
|
||||
development of collaborative font projects, to support the font creation
|
||||
efforts of academic and linguistic communities, and to provide a free and
|
||||
open framework in which fonts may be shared and improved in partnership
|
||||
with others.
|
||||
|
||||
The OFL allows the licensed fonts to be used, studied, modified and
|
||||
redistributed freely as long as they are not sold by themselves. The
|
||||
fonts, including any derivative works, can be bundled, embedded,
|
||||
redistributed and/or sold with any software provided that any reserved
|
||||
names are not used by derivative works. The fonts and derivatives,
|
||||
however, cannot be released under any other type of license. The
|
||||
requirement for fonts to remain under this license does not apply
|
||||
to any document created using the fonts or their derivatives.
|
||||
DEFINITIONS
|
||||
|
||||
"Font Software" refers to the set of files released by the Copyright
|
||||
Holder(s) under this license and clearly marked as such. This may
|
||||
include source files, build scripts and documentation.
|
||||
|
||||
"Reserved Font Name" refers to any names specified as such after the
|
||||
copyright statement(s).
|
||||
|
||||
"Original Version" refers to the collection of Font Software components as
|
||||
distributed by the Copyright Holder(s).
|
||||
|
||||
"Modified Version" refers to any derivative made by adding to, deleting,
|
||||
or substituting — in part or in whole — any of the components of the
|
||||
Original Version, by changing formats or by porting the Font Software to a
|
||||
new environment.
|
||||
|
||||
"Author" refers to any designer, engineer, programmer, technical
|
||||
writer or other person who contributed to the Font Software.
|
||||
PERMISSION & CONDITIONS
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining
|
||||
a copy of the Font Software, to use, study, copy, merge, embed, modify,
|
||||
redistribute, and sell modified and unmodified copies of the Font
|
||||
Software, subject to the following conditions:
|
||||
|
||||
1) Neither the Font Software nor any of its individual components,
|
||||
in Original or Modified Versions, may be sold by itself.
|
||||
|
||||
2) Original or Modified Versions of the Font Software may be bundled,
|
||||
redistributed and/or sold with any software, provided that each copy
|
||||
contains the above copyright notice and this license. These can be
|
||||
included either as stand-alone text files, human-readable headers or
|
||||
in the appropriate machine-readable metadata fields within text or
|
||||
binary files as long as those fields can be easily viewed by the user.
|
||||
|
||||
3) No Modified Version of the Font Software may use the Reserved Font
|
||||
Name(s) unless explicit written permission is granted by the corresponding
|
||||
Copyright Holder. This restriction only applies to the primary font name as
|
||||
presented to the users.
|
||||
|
||||
4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
|
||||
Software shall not be used to promote, endorse or advertise any
|
||||
Modified Version, except to acknowledge the contribution(s) of the
|
||||
Copyright Holder(s) and the Author(s) or with their explicit written
|
||||
permission.
|
||||
|
||||
5) The Font Software, modified or unmodified, in part or in whole,
|
||||
must be distributed entirely under this license, and must not be
|
||||
distributed under any other license. The requirement for fonts to
|
||||
remain under this license does not apply to any document created
|
||||
using the Font Software.
|
||||
TERMINATION
|
||||
|
||||
This license becomes null and void if any of the above conditions are
|
||||
not met.
|
||||
DISCLAIMER
|
||||
|
||||
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
|
||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
|
||||
OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
|
||||
COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
||||
INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
|
||||
DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
|
||||
OTHER DEALINGS IN THE FONT SOFTWARE.
|
||||
|
||||
file:/src/qged/fonts/Inconsolata.otf
|
||||
@@ -0,0 +1,85 @@
|
||||
Copyright (c) 2005-2008 Sandia Corporation, Kitware Inc.
|
||||
|
||||
Sandia National Laboratories, New Mexico PO Box 5800 Albuquerque, NM 87185
|
||||
|
||||
Kitware Inc.
|
||||
28 Corporate Drive
|
||||
Clifton Park, NY 12065
|
||||
USA
|
||||
|
||||
Under the terms of Contract DE-AC04-94AL85000, there is a non-exclusive license
|
||||
for use of this work by or on behalf of the U.S. Government.
|
||||
|
||||
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 Kitware nor the names of any 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 AUTHORS 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/qged/pqConsoleWidget.cpp
|
||||
file:/src/qged/pqConsoleWidget.h
|
||||
|
||||
|
||||
|
||||
Copyright (c)1993-2013 Ken Martin, Will Schroeder, Bill Lorensen
|
||||
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 name of Ken Martin, Will Schroeder, or Bill Lorensen nor the
|
||||
names of any 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 AUTHORS 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.
|
||||
|
||||
This software is distributed WITHOUT ANY WARRANTY; without even
|
||||
the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
||||
PURPOSE. See the above copyright notice for more information.
|
||||
|
||||
-------------------------------------------------------------------------
|
||||
Copyright 2009 Sandia Corporation.
|
||||
Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation,
|
||||
the U.S. Government retains certain rights in this software.
|
||||
-------------------------------------------------------------------------
|
||||
|
||||
file:/src/qged/cadconsole.cpp
|
||||
file:/src/qged/cadconsole.h
|
||||
|
||||
@@ -0,0 +1,39 @@
|
||||
Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
|
||||
Contact: http://www.qt-project.org/legal
|
||||
|
||||
This file is part of the examples of the Qt Toolkit.
|
||||
|
||||
$QT_BEGIN_LICENSE:BSD$
|
||||
You may use this file under the terms of the BSD license as follows:
|
||||
|
||||
"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 Digia Plc and its Subsidiary(-ies) 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."
|
||||
|
||||
$QT_END_LICENSE$
|
||||
|
||||
file:/src/qged/QFlowLayout.cpp
|
||||
file:/src/qged/QFlowLayout.h
|
||||
|
||||
@@ -0,0 +1,548 @@
|
||||
Advanced Docking System for Qt
|
||||
https://github.com/githubuser0xFFFF/Qt-Advanced-Docking-System
|
||||
Copyright (C) 2017-2020 Uwe Kindler
|
||||
|
||||
GNU LESSER GENERAL PUBLIC LICENSE
|
||||
Version 2.1, February 1999
|
||||
|
||||
Copyright (C) 1991, 1999 Free Software Foundation, Inc.
|
||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this license document, but changing it is not allowed.
|
||||
|
||||
[This is the first released version of the Lesser GPL. It also counts
|
||||
as the successor of the GNU Library Public License, version 2, hence
|
||||
the version number 2.1.]
|
||||
|
||||
Preamble
|
||||
|
||||
The licenses for most software are designed to take away your
|
||||
freedom to share and change it. By contrast, the GNU General Public
|
||||
Licenses are intended to guarantee your freedom to share and change
|
||||
free software--to make sure the software is free for all its users.
|
||||
|
||||
This license, the Lesser General Public License, applies to some
|
||||
specially designated software packages--typically libraries--of the
|
||||
Free Software Foundation and other authors who decide to use it. You
|
||||
can use it too, but we suggest you first think carefully about whether
|
||||
this license or the ordinary General Public License is the better
|
||||
strategy to use in any particular case, based on the explanations below.
|
||||
|
||||
When we speak of free software, we are referring to freedom of use,
|
||||
not price. Our General Public Licenses are designed to make sure that
|
||||
you have the freedom to distribute copies of free software (and charge
|
||||
for this service if you wish); that you receive source code or can get
|
||||
it if you want it; that you can change the software and use pieces of
|
||||
it in new free programs; and that you are informed that you can do
|
||||
these things.
|
||||
|
||||
To protect your rights, we need to make restrictions that forbid
|
||||
distributors to deny you these rights or to ask you to surrender these
|
||||
rights. These restrictions translate to certain responsibilities for
|
||||
you if you distribute copies of the library or if you modify it.
|
||||
|
||||
For example, if you distribute copies of the library, whether gratis
|
||||
or for a fee, you must give the recipients all the rights that we gave
|
||||
you. You must make sure that they, too, receive or can get the source
|
||||
code. If you link other code with the library, you must provide
|
||||
complete object files to the recipients, so that they can relink them
|
||||
with the library after making changes to the library and recompiling
|
||||
it. And you must show them these terms so they know their rights.
|
||||
|
||||
We protect your rights with a two-step method: (1) we copyright the
|
||||
library, and (2) we offer you this license, which gives you legal
|
||||
permission to copy, distribute and/or modify the library.
|
||||
|
||||
To protect each distributor, we want to make it very clear that
|
||||
there is no warranty for the free library. Also, if the library is
|
||||
modified by someone else and passed on, the recipients should know
|
||||
that what they have is not the original version, so that the original
|
||||
author's reputation will not be affected by problems that might be
|
||||
introduced by others.
|
||||
|
||||
Finally, software patents pose a constant threat to the existence of
|
||||
any free program. We wish to make sure that a company cannot
|
||||
effectively restrict the users of a free program by obtaining a
|
||||
restrictive license from a patent holder. Therefore, we insist that
|
||||
any patent license obtained for a version of the library must be
|
||||
consistent with the full freedom of use specified in this license.
|
||||
|
||||
Most GNU software, including some libraries, is covered by the
|
||||
ordinary GNU General Public License. This license, the GNU Lesser
|
||||
General Public License, applies to certain designated libraries, and
|
||||
is quite different from the ordinary General Public License. We use
|
||||
this license for certain libraries in order to permit linking those
|
||||
libraries into non-free programs.
|
||||
|
||||
When a program is linked with a library, whether statically or using
|
||||
a shared library, the combination of the two is legally speaking a
|
||||
combined work, a derivative of the original library. The ordinary
|
||||
General Public License therefore permits such linking only if the
|
||||
entire combination fits its criteria of freedom. The Lesser General
|
||||
Public License permits more lax criteria for linking other code with
|
||||
the library.
|
||||
|
||||
We call this license the "Lesser" General Public License because it
|
||||
does Less to protect the user's freedom than the ordinary General
|
||||
Public License. It also provides other free software developers Less
|
||||
of an advantage over competing non-free programs. These disadvantages
|
||||
are the reason we use the ordinary General Public License for many
|
||||
libraries. However, the Lesser license provides advantages in certain
|
||||
special circumstances.
|
||||
|
||||
For example, on rare occasions, there may be a special need to
|
||||
encourage the widest possible use of a certain library, so that it becomes
|
||||
a de-facto standard. To achieve this, non-free programs must be
|
||||
allowed to use the library. A more frequent case is that a free
|
||||
library does the same job as widely used non-free libraries. In this
|
||||
case, there is little to gain by limiting the free library to free
|
||||
software only, so we use the Lesser General Public License.
|
||||
|
||||
In other cases, permission to use a particular library in non-free
|
||||
programs enables a greater number of people to use a large body of
|
||||
free software. For example, permission to use the GNU C Library in
|
||||
non-free programs enables many more people to use the whole GNU
|
||||
operating system, as well as its variant, the GNU/Linux operating
|
||||
system.
|
||||
|
||||
Although the Lesser General Public License is Less protective of the
|
||||
users' freedom, it does ensure that the user of a program that is
|
||||
linked with the Library has the freedom and the wherewithal to run
|
||||
that program using a modified version of the Library.
|
||||
|
||||
The precise terms and conditions for copying, distribution and
|
||||
modification follow. Pay close attention to the difference between a
|
||||
"work based on the library" and a "work that uses the library". The
|
||||
former contains code derived from the library, whereas the latter must
|
||||
be combined with the library in order to run.
|
||||
|
||||
GNU LESSER GENERAL PUBLIC LICENSE
|
||||
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
||||
|
||||
0. This License Agreement applies to any software library or other
|
||||
program which contains a notice placed by the copyright holder or
|
||||
other authorized party saying it may be distributed under the terms of
|
||||
this Lesser General Public License (also called "this License").
|
||||
Each licensee is addressed as "you".
|
||||
|
||||
A "library" means a collection of software functions and/or data
|
||||
prepared so as to be conveniently linked with application programs
|
||||
(which use some of those functions and data) to form executables.
|
||||
|
||||
The "Library", below, refers to any such software library or work
|
||||
which has been distributed under these terms. A "work based on the
|
||||
Library" means either the Library or any derivative work under
|
||||
copyright law: that is to say, a work containing the Library or a
|
||||
portion of it, either verbatim or with modifications and/or translated
|
||||
straightforwardly into another language. (Hereinafter, translation is
|
||||
included without limitation in the term "modification".)
|
||||
|
||||
"Source code" for a work means the preferred form of the work for
|
||||
making modifications to it. For a library, complete source code means
|
||||
all the source code for all modules it contains, plus any associated
|
||||
interface definition files, plus the scripts used to control compilation
|
||||
and installation of the library.
|
||||
|
||||
Activities other than copying, distribution and modification are not
|
||||
covered by this License; they are outside its scope. The act of
|
||||
running a program using the Library is not restricted, and output from
|
||||
such a program is covered only if its contents constitute a work based
|
||||
on the Library (independent of the use of the Library in a tool for
|
||||
writing it). Whether that is true depends on what the Library does
|
||||
and what the program that uses the Library does.
|
||||
|
||||
1. You may copy and distribute verbatim copies of the Library's
|
||||
complete source code as you receive it, in any medium, provided that
|
||||
you conspicuously and appropriately publish on each copy an
|
||||
appropriate copyright notice and disclaimer of warranty; keep intact
|
||||
all the notices that refer to this License and to the absence of any
|
||||
warranty; and distribute a copy of this License along with the
|
||||
Library.
|
||||
|
||||
You may charge a fee for the physical act of transferring a copy,
|
||||
and you may at your option offer warranty protection in exchange for a
|
||||
fee.
|
||||
|
||||
2. You may modify your copy or copies of the Library or any portion
|
||||
of it, thus forming a work based on the Library, and copy and
|
||||
distribute such modifications or work under the terms of Section 1
|
||||
above, provided that you also meet all of these conditions:
|
||||
|
||||
a) The modified work must itself be a software library.
|
||||
|
||||
b) You must cause the files modified to carry prominent notices
|
||||
stating that you changed the files and the date of any change.
|
||||
|
||||
c) You must cause the whole of the work to be licensed at no
|
||||
charge to all third parties under the terms of this License.
|
||||
|
||||
d) If a facility in the modified Library refers to a function or a
|
||||
table of data to be supplied by an application program that uses
|
||||
the facility, other than as an argument passed when the facility
|
||||
is invoked, then you must make a good faith effort to ensure that,
|
||||
in the event an application does not supply such function or
|
||||
table, the facility still operates, and performs whatever part of
|
||||
its purpose remains meaningful.
|
||||
|
||||
(For example, a function in a library to compute square roots has
|
||||
a purpose that is entirely well-defined independent of the
|
||||
application. Therefore, Subsection 2d requires that any
|
||||
application-supplied function or table used by this function must
|
||||
be optional: if the application does not supply it, the square
|
||||
root function must still compute square roots.)
|
||||
|
||||
These requirements apply to the modified work as a whole. If
|
||||
identifiable sections of that work are not derived from the Library,
|
||||
and can be reasonably considered independent and separate works in
|
||||
themselves, then this License, and its terms, do not apply to those
|
||||
sections when you distribute them as separate works. But when you
|
||||
distribute the same sections as part of a whole which is a work based
|
||||
on the Library, the distribution of the whole must be on the terms of
|
||||
this License, whose permissions for other licensees extend to the
|
||||
entire whole, and thus to each and every part regardless of who wrote
|
||||
it.
|
||||
|
||||
Thus, it is not the intent of this section to claim rights or contest
|
||||
your rights to work written entirely by you; rather, the intent is to
|
||||
exercise the right to control the distribution of derivative or
|
||||
collective works based on the Library.
|
||||
|
||||
In addition, mere aggregation of another work not based on the Library
|
||||
with the Library (or with a work based on the Library) on a volume of
|
||||
a storage or distribution medium does not bring the other work under
|
||||
the scope of this License.
|
||||
|
||||
3. You may opt to apply the terms of the ordinary GNU General Public
|
||||
License instead of this License to a given copy of the Library. To do
|
||||
this, you must alter all the notices that refer to this License, so
|
||||
that they refer to the ordinary GNU General Public License, version 2,
|
||||
instead of to this License. (If a newer version than version 2 of the
|
||||
ordinary GNU General Public License has appeared, then you can specify
|
||||
that version instead if you wish.) Do not make any other change in
|
||||
these notices.
|
||||
|
||||
Once this change is made in a given copy, it is irreversible for
|
||||
that copy, so the ordinary GNU General Public License applies to all
|
||||
subsequent copies and derivative works made from that copy.
|
||||
|
||||
This option is useful when you wish to copy part of the code of
|
||||
the Library into a program that is not a library.
|
||||
|
||||
4. You may copy and distribute the Library (or a portion or
|
||||
derivative of it, under Section 2) in object code or executable form
|
||||
under the terms of Sections 1 and 2 above provided that you accompany
|
||||
it with the complete corresponding machine-readable source code, which
|
||||
must be distributed under the terms of Sections 1 and 2 above on a
|
||||
medium customarily used for software interchange.
|
||||
|
||||
If distribution of object code is made by offering access to copy
|
||||
from a designated place, then offering equivalent access to copy the
|
||||
source code from the same place satisfies the requirement to
|
||||
distribute the source code, even though third parties are not
|
||||
compelled to copy the source along with the object code.
|
||||
|
||||
5. A program that contains no derivative of any portion of the
|
||||
Library, but is designed to work with the Library by being compiled or
|
||||
linked with it, is called a "work that uses the Library". Such a
|
||||
work, in isolation, is not a derivative work of the Library, and
|
||||
therefore falls outside the scope of this License.
|
||||
|
||||
However, linking a "work that uses the Library" with the Library
|
||||
creates an executable that is a derivative of the Library (because it
|
||||
contains portions of the Library), rather than a "work that uses the
|
||||
library". The executable is therefore covered by this License.
|
||||
Section 6 states terms for distribution of such executables.
|
||||
|
||||
When a "work that uses the Library" uses material from a header file
|
||||
that is part of the Library, the object code for the work may be a
|
||||
derivative work of the Library even though the source code is not.
|
||||
Whether this is true is especially significant if the work can be
|
||||
linked without the Library, or if the work is itself a library. The
|
||||
threshold for this to be true is not precisely defined by law.
|
||||
|
||||
If such an object file uses only numerical parameters, data
|
||||
structure layouts and accessors, and small macros and small inline
|
||||
functions (ten lines or less in length), then the use of the object
|
||||
file is unrestricted, regardless of whether it is legally a derivative
|
||||
work. (Executables containing this object code plus portions of the
|
||||
Library will still fall under Section 6.)
|
||||
|
||||
Otherwise, if the work is a derivative of the Library, you may
|
||||
distribute the object code for the work under the terms of Section 6.
|
||||
Any executables containing that work also fall under Section 6,
|
||||
whether or not they are linked directly with the Library itself.
|
||||
|
||||
6. As an exception to the Sections above, you may also combine or
|
||||
link a "work that uses the Library" with the Library to produce a
|
||||
work containing portions of the Library, and distribute that work
|
||||
under terms of your choice, provided that the terms permit
|
||||
modification of the work for the customer's own use and reverse
|
||||
engineering for debugging such modifications.
|
||||
|
||||
You must give prominent notice with each copy of the work that the
|
||||
Library is used in it and that the Library and its use are covered by
|
||||
this License. You must supply a copy of this License. If the work
|
||||
during execution displays copyright notices, you must include the
|
||||
copyright notice for the Library among them, as well as a reference
|
||||
directing the user to the copy of this License. Also, you must do one
|
||||
of these things:
|
||||
|
||||
a) Accompany the work with the complete corresponding
|
||||
machine-readable source code for the Library including whatever
|
||||
changes were used in the work (which must be distributed under
|
||||
Sections 1 and 2 above); and, if the work is an executable linked
|
||||
with the Library, with the complete machine-readable "work that
|
||||
uses the Library", as object code and/or source code, so that the
|
||||
user can modify the Library and then relink to produce a modified
|
||||
executable containing the modified Library. (It is understood
|
||||
that the user who changes the contents of definitions files in the
|
||||
Library will not necessarily be able to recompile the application
|
||||
to use the modified definitions.)
|
||||
|
||||
b) Use a suitable shared library mechanism for linking with the
|
||||
Library. A suitable mechanism is one that (1) uses at run time a
|
||||
copy of the library already present on the user's computer system,
|
||||
rather than copying library functions into the executable, and (2)
|
||||
will operate properly with a modified version of the library, if
|
||||
the user installs one, as long as the modified version is
|
||||
interface-compatible with the version that the work was made with.
|
||||
|
||||
c) Accompany the work with a written offer, valid for at
|
||||
least three years, to give the same user the materials
|
||||
specified in Subsection 6a, above, for a charge no more
|
||||
than the cost of performing this distribution.
|
||||
|
||||
d) If distribution of the work is made by offering access to copy
|
||||
from a designated place, offer equivalent access to copy the above
|
||||
specified materials from the same place.
|
||||
|
||||
e) Verify that the user has already received a copy of these
|
||||
materials or that you have already sent this user a copy.
|
||||
|
||||
For an executable, the required form of the "work that uses the
|
||||
Library" must include any data and utility programs needed for
|
||||
reproducing the executable from it. However, as a special exception,
|
||||
the materials to be distributed need not include anything that is
|
||||
normally distributed (in either source or binary form) with the major
|
||||
components (compiler, kernel, and so on) of the operating system on
|
||||
which the executable runs, unless that component itself accompanies
|
||||
the executable.
|
||||
|
||||
It may happen that this requirement contradicts the license
|
||||
restrictions of other proprietary libraries that do not normally
|
||||
accompany the operating system. Such a contradiction means you cannot
|
||||
use both them and the Library together in an executable that you
|
||||
distribute.
|
||||
|
||||
7. You may place library facilities that are a work based on the
|
||||
Library side-by-side in a single library together with other library
|
||||
facilities not covered by this License, and distribute such a combined
|
||||
library, provided that the separate distribution of the work based on
|
||||
the Library and of the other library facilities is otherwise
|
||||
permitted, and provided that you do these two things:
|
||||
|
||||
a) Accompany the combined library with a copy of the same work
|
||||
based on the Library, uncombined with any other library
|
||||
facilities. This must be distributed under the terms of the
|
||||
Sections above.
|
||||
|
||||
b) Give prominent notice with the combined library of the fact
|
||||
that part of it is a work based on the Library, and explaining
|
||||
where to find the accompanying uncombined form of the same work.
|
||||
|
||||
8. You may not copy, modify, sublicense, link with, or distribute
|
||||
the Library except as expressly provided under this License. Any
|
||||
attempt otherwise to copy, modify, sublicense, link with, or
|
||||
distribute the Library is void, and will automatically terminate your
|
||||
rights under this License. However, parties who have received copies,
|
||||
or rights, from you under this License will not have their licenses
|
||||
terminated so long as such parties remain in full compliance.
|
||||
|
||||
9. You are not required to accept this License, since you have not
|
||||
signed it. However, nothing else grants you permission to modify or
|
||||
distribute the Library or its derivative works. These actions are
|
||||
prohibited by law if you do not accept this License. Therefore, by
|
||||
modifying or distributing the Library (or any work based on the
|
||||
Library), you indicate your acceptance of this License to do so, and
|
||||
all its terms and conditions for copying, distributing or modifying
|
||||
the Library or works based on it.
|
||||
|
||||
10. Each time you redistribute the Library (or any work based on the
|
||||
Library), the recipient automatically receives a license from the
|
||||
original licensor to copy, distribute, link with or modify the Library
|
||||
subject to these terms and conditions. You may not impose any further
|
||||
restrictions on the recipients' exercise of the rights granted herein.
|
||||
You are not responsible for enforcing compliance by third parties with
|
||||
this License.
|
||||
|
||||
11. If, as a consequence of a court judgment or allegation of patent
|
||||
infringement or for any other reason (not limited to patent issues),
|
||||
conditions are imposed on you (whether by court order, agreement or
|
||||
otherwise) that contradict the conditions of this License, they do not
|
||||
excuse you from the conditions of this License. If you cannot
|
||||
distribute so as to satisfy simultaneously your obligations under this
|
||||
License and any other pertinent obligations, then as a consequence you
|
||||
may not distribute the Library at all. For example, if a patent
|
||||
license would not permit royalty-free redistribution of the Library by
|
||||
all those who receive copies directly or indirectly through you, then
|
||||
the only way you could satisfy both it and this License would be to
|
||||
refrain entirely from distribution of the Library.
|
||||
|
||||
If any portion of this section is held invalid or unenforceable under any
|
||||
particular circumstance, the balance of the section is intended to apply,
|
||||
and the section as a whole is intended to apply in other circumstances.
|
||||
|
||||
It is not the purpose of this section to induce you to infringe any
|
||||
patents or other property right claims or to contest validity of any
|
||||
such claims; this section has the sole purpose of protecting the
|
||||
integrity of the free software distribution system which is
|
||||
implemented by public license practices. Many people have made
|
||||
generous contributions to the wide range of software distributed
|
||||
through that system in reliance on consistent application of that
|
||||
system; it is up to the author/donor to decide if he or she is willing
|
||||
to distribute software through any other system and a licensee cannot
|
||||
impose that choice.
|
||||
|
||||
This section is intended to make thoroughly clear what is believed to
|
||||
be a consequence of the rest of this License.
|
||||
|
||||
12. If the distribution and/or use of the Library is restricted in
|
||||
certain countries either by patents or by copyrighted interfaces, the
|
||||
original copyright holder who places the Library under this License may add
|
||||
an explicit geographical distribution limitation excluding those countries,
|
||||
so that distribution is permitted only in or among countries not thus
|
||||
excluded. In such case, this License incorporates the limitation as if
|
||||
written in the body of this License.
|
||||
|
||||
13. The Free Software Foundation may publish revised and/or new
|
||||
versions of the Lesser General Public License from time to time.
|
||||
Such new versions will be similar in spirit to the present version,
|
||||
but may differ in detail to address new problems or concerns.
|
||||
|
||||
Each version is given a distinguishing version number. If the Library
|
||||
specifies a version number of this License which applies to it and
|
||||
"any later version", you have the option of following the terms and
|
||||
conditions either of that version or of any later version published by
|
||||
the Free Software Foundation. If the Library does not specify a
|
||||
license version number, you may choose any version ever published by
|
||||
the Free Software Foundation.
|
||||
|
||||
14. If you wish to incorporate parts of the Library into other free
|
||||
programs whose distribution conditions are incompatible with these,
|
||||
write to the author to ask for permission. For software which is
|
||||
copyrighted by the Free Software Foundation, write to the Free
|
||||
Software Foundation; we sometimes make exceptions for this. Our
|
||||
decision will be guided by the two goals of preserving the free status
|
||||
of all derivatives of our free software and of promoting the sharing
|
||||
and reuse of software generally.
|
||||
|
||||
NO WARRANTY
|
||||
|
||||
15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
|
||||
WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
|
||||
EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
|
||||
OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
|
||||
KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
|
||||
LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
|
||||
THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
|
||||
|
||||
16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
|
||||
WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
|
||||
AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
|
||||
FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
|
||||
CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
|
||||
LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
|
||||
RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
|
||||
FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
|
||||
SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
|
||||
DAMAGES.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
How to Apply These Terms to Your New Libraries
|
||||
|
||||
If you develop a new library, and you want it to be of the greatest
|
||||
possible use to the public, we recommend making it free software that
|
||||
everyone can redistribute and change. You can do so by permitting
|
||||
redistribution under these terms (or, alternatively, under the terms of the
|
||||
ordinary General Public License).
|
||||
|
||||
To apply these terms, attach the following notices to the library. It is
|
||||
safest to attach them to the start of each source file to most effectively
|
||||
convey the exclusion of warranty; and each file should have at least the
|
||||
"copyright" line and a pointer to where the full notice is found.
|
||||
|
||||
<one line to give the library's name and a brief idea of what it does.>
|
||||
Copyright (C) <year> <name of author>
|
||||
|
||||
This library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Lesser General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 2.1 of the License, or (at your option) any later version.
|
||||
|
||||
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 library; if not, write to the Free Software
|
||||
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301
|
||||
USA
|
||||
|
||||
Also add information on how to contact you by electronic and paper mail.
|
||||
|
||||
You should also get your employer (if you work as a programmer) or your
|
||||
school, if any, to sign a "copyright disclaimer" for the library, if
|
||||
necessary. Here is a sample; alter the names:
|
||||
|
||||
Yoyodyne, Inc., hereby disclaims all copyright interest in the
|
||||
library `Frob' (a library for tweaking knobs) written by James Random
|
||||
Hacker.
|
||||
|
||||
<signature of Ty Coon>, 1 April 1990
|
||||
Ty Coon, President of Vice
|
||||
|
||||
That's all there is to it!
|
||||
|
||||
file:/src/qged/qtads/ads_globals.cpp
|
||||
file:/src/qged/qtads/ads_globals.h
|
||||
file:/src/qged/qtads/CMakeLists.txt
|
||||
file:/src/qged/qtads/DockAreaTabBar.cpp
|
||||
file:/src/qged/qtads/DockAreaTabBar.h
|
||||
file:/src/qged/qtads/DockAreaTitleBar.cpp
|
||||
file:/src/qged/qtads/DockAreaTitleBar.h
|
||||
file:/src/qged/qtads/DockAreaTitleBar_p.h
|
||||
file:/src/qged/qtads/DockAreaWidget.cpp
|
||||
file:/src/qged/qtads/DockAreaWidget.h
|
||||
file:/src/qged/qtads/DockComponentsFactory.cpp
|
||||
file:/src/qged/qtads/DockComponentsFactory.h
|
||||
file:/src/qged/qtads/DockContainerWidget.cpp
|
||||
file:/src/qged/qtads/DockContainerWidget.h
|
||||
file:/src/qged/qtads/DockFocusController.cpp
|
||||
file:/src/qged/qtads/DockFocusController.h
|
||||
file:/src/qged/qtads/DockingStateReader.cpp
|
||||
file:/src/qged/qtads/DockingStateReader.h
|
||||
file:/src/qged/qtads/DockManager.cpp
|
||||
file:/src/qged/qtads/DockManager.h
|
||||
file:/src/qged/qtads/DockOverlay.cpp
|
||||
file:/src/qged/qtads/DockOverlay.h
|
||||
file:/src/qged/qtads/DockSplitter.cpp
|
||||
file:/src/qged/qtads/DockSplitter.h
|
||||
file:/src/qged/qtads/DockWidget.cpp
|
||||
file:/src/qged/qtads/DockWidget.h
|
||||
file:/src/qged/qtads/DockWidgetTab.cpp
|
||||
file:/src/qged/qtads/DockWidgetTab.h
|
||||
file:/src/qged/qtads/ElidingLabel.cpp
|
||||
file:/src/qged/qtads/ElidingLabel.h
|
||||
file:/src/qged/qtads/FloatingDockContainer.cpp
|
||||
file:/src/qged/qtads/FloatingDockContainer.h
|
||||
file:/src/qged/qtads/FloatingDragPreview.cpp
|
||||
file:/src/qged/qtads/FloatingDragPreview.h
|
||||
file:/src/qged/qtads/IconProvider.cpp
|
||||
file:/src/qged/qtads/IconProvider.h
|
||||
file:/src/qged/qtads/linux/FloatingWidgetTitleBar.h
|
||||
file:/src/qged/qtads/linux/FloatingWidgetTitleBar.cpp
|
||||
|
||||
@@ -0,0 +1,34 @@
|
||||
The Alphanum Algorithm is an improved sorting algorithm for strings
|
||||
containing numbers. Instead of sorting numbers in ASCII order like a
|
||||
standard sort, this algorithm sorts numbers in numeric order.
|
||||
|
||||
The Alphanum Algorithm is discussed at http://www.DaveKoelle.com
|
||||
|
||||
This implementation is Copyright (c) 2008 Dirk Jagdmann <doj@cubic.org>.
|
||||
It is a cleanroom implementation of the algorithm and not derived by
|
||||
other's works. In contrast to the versions written by Dave Koelle this
|
||||
source code is distributed with the libpng/zlib license.
|
||||
|
||||
This software is provided 'as-is', without any express or implied
|
||||
warranty. In no event will the authors be held liable for any damages
|
||||
arising from the use of this software.
|
||||
|
||||
Permission is granted to anyone to use this software for any purpose,
|
||||
including commercial applications, and to alter it and redistribute it
|
||||
freely, subject to the following restrictions:
|
||||
|
||||
1. The origin of this software must not be misrepresented; you
|
||||
must not claim that you wrote the original software. If you use
|
||||
this software in a product, an acknowledgment in the product
|
||||
documentation would be appreciated but is not required.
|
||||
|
||||
2. Altered source versions must be plainly marked as such, and
|
||||
must not be misrepresented as being the original software.
|
||||
|
||||
3. This notice may not be removed or altered from any source
|
||||
distribution.
|
||||
|
||||
Source:
|
||||
https://github.com/facontidavide/PlotJuggler/blob/master/include/PlotJuggler/alphanum.hpp
|
||||
|
||||
file:/src/libged/alphanum.h
|
||||
@@ -0,0 +1,58 @@
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2010-2013 Francois Beaune, Jupiter Jazz Limited
|
||||
Copyright (c) 2014-2016 The appleseedhq Organization
|
||||
|
||||
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/images/appleseed/checkbox_checked_disabled.png
|
||||
file:/src/qged/images/appleseed/checkbox_checked_enabled.png
|
||||
file:/src/qged/images/appleseed/checkbox_indeterminate_disabled.png
|
||||
file:/src/qged/images/appleseed/checkbox_indeterminate_enabled.png
|
||||
file:/src/qged/images/appleseed/checkbox_unchecked_disabled.png
|
||||
file:/src/qged/images/appleseed/checkbox_unchecked_enabled.png
|
||||
file:/src/qged/images/appleseed/combobox_arrow_down_disabled.png
|
||||
file:/src/qged/images/appleseed/combobox_arrow_down_enabled.png
|
||||
file:/src/qged/images/appleseed/combobox_arrow_down_selected.png
|
||||
file:/src/qged/images/appleseed/header_arrow_down_disabled.png
|
||||
file:/src/qged/images/appleseed/header_arrow_down_enabled.png
|
||||
file:/src/qged/images/appleseed/header_arrow_up_disabled.png
|
||||
file:/src/qged/images/appleseed/header_arrow_up_enabled.png
|
||||
file:/src/qged/images/appleseed/menu_arrow_right_disabled.png
|
||||
file:/src/qged/images/appleseed/menu_arrow_right_enabled.png
|
||||
file:/src/qged/images/appleseed/menu_arrow_right_selected.png
|
||||
file:/src/qged/images/appleseed/radiobutton_checked_disabled.png
|
||||
file:/src/qged/images/appleseed/radiobutton_checked_enabled.png
|
||||
file:/src/qged/images/appleseed/radiobutton_checked_enabled_hover.png
|
||||
file:/src/qged/images/appleseed/radiobutton_unchecked_disabled.png
|
||||
file:/src/qged/images/appleseed/radiobutton_unchecked_enabled.png
|
||||
file:/src/qged/images/appleseed/radiobutton_unchecked_enabled_hover.png
|
||||
file:/src/qged/images/appleseed/scrollbar_arrow_down_disabled.png
|
||||
file:/src/qged/images/appleseed/scrollbar_arrow_down_enabled.png
|
||||
file:/src/qged/images/appleseed/scrollbar_arrow_left_disabled.png
|
||||
file:/src/qged/images/appleseed/scrollbar_arrow_left_enabled.png
|
||||
file:/src/qged/images/appleseed/scrollbar_arrow_right_disabled.png
|
||||
file:/src/qged/images/appleseed/scrollbar_arrow_right_enabled.png
|
||||
file:/src/qged/images/appleseed/scrollbar_arrow_up_disabled.png
|
||||
file:/src/qged/images/appleseed/scrollbar_arrow_up_enabled.png
|
||||
file:/src/qged/images/appleseed/spinbox_arrow_down_disabled.png
|
||||
file:/src/qged/images/appleseed/spinbox_arrow_down_enabled.png
|
||||
file:/src/qged/images/appleseed/spinbox_arrow_up_disabled.png
|
||||
file:/src/qged/images/appleseed/spinbox_arrow_up_enabled.png
|
||||
|
||||
@@ -14,5 +14,5 @@ freely, subject to the following restrictions:
|
||||
misrepresented as being the original software.
|
||||
3. This notice may not be removed or altered from any source distribution.
|
||||
|
||||
file:/src/libdm/fontstash/fontstash.h
|
||||
file:/src/libdm/fontstash/glfontstash.h
|
||||
file:/src/libdm/osgl/fontstash/fontstash.h
|
||||
file:/src/libdm/osgl/fontstash/glfontstash.h
|
||||
|
||||
@@ -0,0 +1,23 @@
|
||||
Copyright (c) 1998, Frank Warmerdam
|
||||
Copyright (c) 2007-2015, Even Rouault <even.rouault at spatialys.com>
|
||||
Copyright (c) 2015, Faza Mahamood
|
||||
|
||||
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/libgcv/plugins/gdal/gdal_ll.cpp
|
||||
@@ -0,0 +1,314 @@
|
||||
================================================================================
|
||||
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
|
||||
|
||||
@@ -0,0 +1,31 @@
|
||||
https://www.geometrictools.com/GTE/Mathematics/DistPointSegment.h
|
||||
|
||||
David Eberly, Geometric Tools, Redmond WA 98052
|
||||
Copyright (c) 1998-2020
|
||||
|
||||
Boost Software License - Version 1.0 - August 17th, 2003
|
||||
|
||||
Permission is hereby granted, free of charge, to any person or organization
|
||||
obtaining a copy of the software and accompanying documentation covered by
|
||||
this license (the "Software") to use, reproduce, display, distribute,
|
||||
execute, and transmit the Software, and to prepare derivative works of the
|
||||
Software, and to permit third-parties to whom the Software is furnished to
|
||||
do so, all subject to the following:
|
||||
|
||||
The copyright notices in the Software and this entire statement, including
|
||||
the above license grant, this restriction and the following disclaimer,
|
||||
must be included in all copies of the Software, in whole or in part, and
|
||||
all derivative works of the Software, unless such copies or derivative
|
||||
works are solely in the form of machine-executable object code generated by
|
||||
a source language processor.
|
||||
|
||||
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, TITLE AND NON-INFRINGEMENT. IN NO EVENT
|
||||
SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
|
||||
FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN 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/libbg/lseg_pt.c
|
||||
|
||||
@@ -22,3 +22,5 @@ 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/librt/cache_lz4.c
|
||||
@@ -577,5 +577,5 @@ necessary. Here is a sample; alter the names:
|
||||
|
||||
That's all there is to it!
|
||||
|
||||
file:/src/libfb/osg_fb_manipulator.h
|
||||
file:/src/libdm/osgl/osg_fb_manipulator.h
|
||||
|
||||
|
||||
@@ -15,4 +15,4 @@ 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/libdm/fontstash/stb_truetype.h
|
||||
file:/src/libdm/osgl/fontstash/stb_truetype.h
|
||||
|
||||
@@ -17,5 +17,5 @@ AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER
|
||||
IS ON AN "AS IS" BASIS, AND SUN MICROSYSTEMS INC. HAS NO OBLIGATION TO
|
||||
PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
|
||||
|
||||
file:/src/libfb/if_X24.c
|
||||
file:/src/libdm/X/if_X24.c
|
||||
|
||||
|
||||
@@ -12,7 +12,6 @@ set(other_licenses
|
||||
libvds.txt
|
||||
libz.txt
|
||||
linenoise.txt
|
||||
lz4.txt
|
||||
OpenNURBS.txt
|
||||
openscenegraph.txt
|
||||
poly2tri.txt
|
||||
|
||||
@@ -1,116 +0,0 @@
|
||||
.de HD
|
||||
'sp |1.0i
|
||||
..
|
||||
.de FO
|
||||
.ft R
|
||||
.tl ''%''
|
||||
'bp
|
||||
..
|
||||
.wh 0 HD
|
||||
.wh -1.00i FO
|
||||
.sp 10
|
||||
.vs 12
|
||||
.ll 6.6i
|
||||
.po .8i
|
||||
.nf
|
||||
.\" Last Update to File: 27 October 1992 - to put in troff format
|
||||
.\" To Print:
|
||||
.\" troff -Ti300 mk.tr | dimp -P imt2 &
|
||||
.ft B
|
||||
.ce
|
||||
Make Programs
|
||||
.sp 2
|
||||
.ft R
|
||||
.ce 3
|
||||
Susan A. Coates
|
||||
The Army Research Laboratory
|
||||
ARL-SLAD-BVLD-VMB
|
||||
.sp 2
|
||||
.fi
|
||||
This document lists some new programs in BRL-CAD release 4.4 that
|
||||
create common objects used in mged databases. These programs are
|
||||
located in the directory proc-db.
|
||||
.sp
|
||||
For a more complete description see the manual pages for each program.
|
||||
.sp 2
|
||||
.ft B
|
||||
.nf
|
||||
mk_bolt
|
||||
.fi
|
||||
.ft R
|
||||
This program creates an mged data base of bolts. There are four types
|
||||
of bolts that can be created but only one type can be in the data base
|
||||
at a time. The four types of bolts that may be created are listed
|
||||
below.
|
||||
.sp
|
||||
.in 0.5i
|
||||
.nf
|
||||
bolt head
|
||||
bolt head and washer
|
||||
bolt head, washer, and bolt stem
|
||||
bolt head and bolt stem
|
||||
.fi
|
||||
.sp
|
||||
.in -0.5i
|
||||
Up to twenty-six bolts may be created in one data base. The user may
|
||||
run this program interactively or he may specify options on a command
|
||||
line.
|
||||
.sp 2
|
||||
.ft B
|
||||
.nf
|
||||
mk_handle
|
||||
.fi
|
||||
.ft R
|
||||
This program creates up to twenty-six handles of one size and places
|
||||
them in a new mged data base. The handles are composed of three
|
||||
cylinders, two tori, and two arb8s. The top of the handle and the
|
||||
sides are composed of cylinders. The two bends in the handles are
|
||||
made by using tori. The arb8s define which part of the tori are to be
|
||||
used. This program may be run interactively or the user may specify
|
||||
options on a command line.
|
||||
.sp 2
|
||||
.ft B
|
||||
.nf
|
||||
mk_window
|
||||
.fi
|
||||
.ft R
|
||||
This program creates an mged data base containing up to twenty-six
|
||||
windows of the same size. The window is rectangular in shape with
|
||||
rounded corners. The user may run the program interactively or he may
|
||||
specify options on the command line.
|
||||
.sp 2
|
||||
.ft B
|
||||
.nf
|
||||
mk_winfrm
|
||||
.fi
|
||||
.ft R
|
||||
This program creates an mged data base of window frames. Up to
|
||||
twenty- six window frames of the same size my be created. The window
|
||||
frame is rectangular in shape with rounded corners. Again, this
|
||||
program may be run interactively or the user may specify options on
|
||||
the command line.
|
||||
.sp 2
|
||||
.ft B
|
||||
.nf
|
||||
mk_gastank
|
||||
.fi
|
||||
.ft R
|
||||
This program creates a solid gas tank with rounded corners. The
|
||||
object is appropriate for use with radar signature models. It is not
|
||||
appropriate for infra red models or vulnerability models since the
|
||||
tank is solid. Again, this program will create up to twenty-six gas
|
||||
tanks of the same size and place them in a new mged data base. The
|
||||
user may run the program interactively or he may specify options on
|
||||
the command line.
|
||||
.sp 2
|
||||
.ft B
|
||||
.nf
|
||||
mk_wire
|
||||
.fi
|
||||
.ft R
|
||||
This program is used to create up to ten solid wire or fuel segments
|
||||
by entering the starting and ending points of each segment and the
|
||||
radius at these points. The maximum number of segments may be
|
||||
extended to 100 by changing the variable MAXSEG.
|
||||
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user