00:30.55 |
``Erik |
interesting |
00:31.22 |
``Erik |
"and sometimes osx" |
02:57.05 |
brlcad |
downloaded the osx binary, no
go (must be intel me thinks, at a ppc atm) |
06:08.41 |
*** join/#brlcad clock_
(n=clock@77-56-92-186.dclient.hispeed.ch) |
07:12.23 |
*** join/#brlcad clock_
(n=clock@zux221-122-143.adsl.green.ch) |
07:45.03 |
*** join/#brlcad d_rossberg
(n=rossberg@bz.bzflag.bz) |
08:16.18 |
*** join/#brlcad Axman6
(n=Axman6@pdpc/supporter/student/Axman6) |
09:48.58 |
*** join/#brlcad mafm
(n=mafm@elnet-111.lip.pt) |
09:49.23 |
mafm |
hallo |
09:56.47 |
*** join/#brlcad Elperion
(n=Bary@p5B14CA61.dip.t-dialin.net) |
10:01.14 |
*** join/#brlcad dtidrow
(n=dtidrow@c-69-255-182-248.hsd1.va.comcast.net) |
10:42.11 |
*** join/#brlcad elite01
(n=elite01@dslb-088-071-040-234.pools.arcor-ip.net) |
11:15.42 |
*** join/#brlcad Elperion
(n=Bary@p5B14CA61.dip.t-dialin.net) [NETSPLIT
VICTIM] |
11:15.42 |
*** join/#brlcad archivist
(n=archivis@host81-149-119-172.in-addr.btopenworld.com) [NETSPLIT
VICTIM] |
11:15.42 |
*** join/#brlcad poolio
(n=poolio@bz.bzflag.bz) [NETSPLIT VICTIM] |
11:15.49 |
*** join/#brlcad b0ef
(n=b0ef@062016141231.customer.alfanett.no) [NETSPLIT
VICTIM] |
11:17.05 |
*** join/#brlcad brlcad
(n=sean@pdpc/supporter/silver/brlcad) |
11:17.05 |
*** join/#brlcad yukonbob
(i=1000@s142-179-54-198.bc.hsia.telus.net) [NETSPLIT
VICTIM] |
11:17.05 |
*** join/#brlcad starseeker
(n=starseek@bz.bzflag.bz) [NETSPLIT VICTIM] |
11:17.05 |
*** join/#brlcad cosurgi
(i=janek@irc.cool.waw.pl) [NETSPLIT VICTIM] |
11:17.05 |
*** mode/#brlcad [+o brlcad]
by irc.freenode.net |
11:17.06 |
*** join/#brlcad elite01
(n=elite01@dslb-088-071-040-234.pools.arcor-ip.net) [NETSPLIT
VICTIM] |
11:17.06 |
*** join/#brlcad dtidrow
(n=dtidrow@c-69-255-182-248.hsd1.va.comcast.net) [NETSPLIT
VICTIM] |
11:17.18 |
*** join/#brlcad ChanServ
(ChanServ@services.) |
11:17.18 |
*** join/#brlcad ``Erik
(i=erik@c-68-54-174-162.hsd1.md.comcast.net) [NETSPLIT
VICTIM] |
11:17.18 |
*** join/#brlcad clock_
(n=clock@zux221-122-143.adsl.green.ch) [NETSPLIT
VICTIM] |
11:17.18 |
*** join/#brlcad mafm
(n=mafm@elnet-111.lip.pt) [NETSPLIT VICTIM] |
11:17.18 |
*** join/#brlcad Axman6
(n=Axman6@pdpc/supporter/student/Axman6) [NETSPLIT
VICTIM] |
11:17.18 |
*** join/#brlcad d_rossberg
(n=rossberg@bz.bzflag.bz) [NETSPLIT VICTIM] |
11:17.19 |
*** join/#brlcad PrezKennedy
(i=Matthew@whitecalf.net) [NETSPLIT VICTIM] |
11:17.19 |
*** join/#brlcad CIA-22
(n=CIA@208.69.182.149) [NETSPLIT VICTIM] |
11:17.19 |
*** join/#brlcad alex_joni
(n=juve@emc/board-of-directors/alexjoni) [NETSPLIT
VICTIM] |
11:17.19 |
*** mode/#brlcad [+o ChanServ]
by irc.freenode.net |
11:18.56 |
*** join/#brlcad punkrockgirl
(n=Pandora@c-69-243-244-154.hsd1.mo.comcast.net) |
11:18.57 |
*** join/#brlcad
MinuteEl1ctron (n=MinuteEl@bz.bzflag.bz) |
11:18.57 |
*** join/#brlcad vedge
(n=vedge@205-237-251-204.ilesdelamadeleine.ca) |
11:23.37 |
*** join/#brlcad elite01
(n=elite01@dslb-088-071-040-234.pools.arcor-ip.net) [NETSPLIT
VICTIM] |
11:23.37 |
*** join/#brlcad dtidrow
(n=dtidrow@c-69-255-182-248.hsd1.va.comcast.net) [NETSPLIT
VICTIM] |
11:35.16 |
*** join/#brlcad vedge
(n=vedge@205-237-251-204.ilesdelamadeleine.ca) |
12:07.43 |
*** join/#brlcad elite01
(n=elite01@dslb-088-071-040-234.pools.arcor-ip.net) [NETSPLIT
VICTIM] |
12:07.43 |
*** join/#brlcad dtidrow
(n=dtidrow@c-69-255-182-248.hsd1.va.comcast.net) [NETSPLIT
VICTIM] |
12:14.46 |
CIA-22 |
BRL-CAD: 03homovulgaris * r31550
10/brlcad/trunk/ (1124 files in 80 dirs): Boost (header only
include library) initial import, using bcp |
12:32.59 |
brlcad |
heh, wow, that's big for header only
:) |
12:33.14 |
brlcad |
initial import of what? |
12:42.27 |
mafm |
brlcad: did you have the chance to test the
branch |
12:42.28 |
mafm |
? |
13:19.05 |
*** join/#brlcad docelic
(n=docelic@78.134.197.96) |
13:21.07 |
*** join/#brlcad pacman87
(n=Timothy@71.170.63.120) |
13:27.52 |
pacman87 |
morning, all |
13:31.28 |
mafm |
'allo pacman87 :) |
13:36.24 |
d_rossberg |
morning pacman97 |
13:37.54 |
pacman87 |
d_rossberg: i've looked into the sketch
primitive, and there's 4 types of segments to deal with: line
segment, circular arc, bezier spline, and nurbs |
13:40.04 |
pacman87 |
for now, i'm thinking it would be best to
limit the order of the splines to be able to solve intersetions
analytically |
13:40.20 |
d_rossberg |
right, and in the extrude the nurb isn't
implemented, probable because it isn't trivial |
13:41.20 |
pacman87 |
so my overall plan is to start with just line
segments, and get them working, before moving on the the more
complex ones |
13:41.23 |
d_rossberg |
i would say you have to multiply the degree of
the sketch with the one of the spline to get the order of the
surface |
13:41.48 |
pacman87 |
'degree of the sketch'? |
13:42.28 |
d_rossberg |
i mean the degree of the segments (line is 1,
arc is 2 etc.) |
13:43.09 |
pacman87 |
and the spline is for sweeping |
13:43.20 |
pacman87 |
sorry, i'm still just thinking revolve at the
moment |
13:44.17 |
d_rossberg |
it depends on where your priorities are, i
would start with a degree 2 sketch and degree 2 spline (or
revolve) |
13:44.31 |
d_rossberg |
i.e. both build from 3 point beziers |
13:45.02 |
pacman87 |
so do you think revolve should only be a
subset of sweep? |
13:45.35 |
pacman87 |
like how sph is really an ell? |
13:45.50 |
d_rossberg |
you can reach a revolve effect from a sweep on
a circle |
13:46.13 |
d_rossberg |
however, i like the idea to have a distinct
revolve primitive |
13:46.38 |
pacman87 |
right, because then i can make
revolve-specific performance enhancements |
13:46.47 |
pacman87 |
that dont' necessarliy apply to all
sweeps |
13:48.38 |
CIA-22 |
BRL-CAD: 03mafm * r31551
10/rt^3/trunk/src/other/rbgui/Gui/Source/PosixPlatformManager.cpp:
Fix for lame error preventing the fix for autorepeat behaviour to
work -- the huge amounts of unimportant warnings were masking
this. |
13:50.19 |
d_rossberg |
if you once got the revolve you could perhaps
develop the sweep from it like: "revolves" along a spline |
13:50.28 |
pacman87 |
one problem i see is determine which segments
to test for intersection, or to test all of them |
13:51.12 |
d_rossberg |
in a first attempt: all segments |
13:52.00 |
pacman87 |
my general plan is to essentially take the
'reverse' of the sweep path, and apply that transformation to the
ray, and project the ray onto the 2d sketch surface |
13:52.45 |
pacman87 |
ie, if you 'unbend' a revolve, the ray becomes
a hyperbola |
13:53.56 |
d_rossberg |
your plan sounds still good :) |
13:54.02 |
pacman87 |
and looking toward sweep, is there already a
way to store a 3d spline, or will i have to creat something for
that specifically? |
13:57.09 |
pacman87 |
should the 3d path spline be created/edited
seperately, or inside the sweep only? |
13:58.26 |
d_rossberg |
store the spline: hard to say, it depends on
the spline, there is the bu_list but this may be not
optimal |
13:58.51 |
pacman87 |
could that be its own primitive, like
sketch? |
13:59.55 |
pacman87 |
so if you want two parallel sweeps, you
specify the same sketch and path, and change the vertex |
14:00.30 |
d_rossberg |
it could be an own primitive but this also
means that it is its own live in some sense |
14:00.50 |
d_rossberg |
(3D sketch) |
14:01.32 |
d_rossberg |
you could get two parallel sweeps by copying
the primitive ... |
14:02.54 |
pacman87 |
if you copy, and have to edit the path, will
those changes affect both? |
14:03.13 |
d_rossberg |
no |
14:04.09 |
pacman87 |
and if you wanted that behavior, you could
copy the path |
14:04.13 |
d_rossberg |
but you could add a primitive twice to the
geometry with different matrices |
14:06.37 |
pacman87 |
what problems do you see with storing the path
seperately? |
14:07.06 |
d_rossberg |
but you have a point there: i would be a nice
feature to be able to sweep different shapes along a sweep
line |
14:07.41 |
d_rossberg |
with the sweep path the problem might not be
so big: |
14:08.24 |
d_rossberg |
because you define it, you may define it in a
way you won't get any problems with your sweep primitive |
14:09.08 |
d_rossberg |
i.e. "a 3D sketch has at most degree 2 spline
segments" |
14:09.58 |
pacman87 |
would there be a practical use for a 3d sketch
besides the sweep? |
14:11.18 |
d_rossberg |
i would expect it to have a practical use
because the large CAD packages have this |
14:12.22 |
pacman87 |
the only thing i remember using 3d sketches
for is for sweeps/lofts |
14:13.33 |
pacman87 |
but if there are other uses, i'd be better to
not restrict the path, and just have a flag for
isSweepable |
14:14.27 |
d_rossberg |
the sketches in BRL-CAD have a "comment" role,
but i can't see why these "comments" should be 2D only |
14:14.57 |
pacman87 |
wasnt' that on the list of
improvements? |
14:17.25 |
d_rossberg |
i don't like the idea with the flag, this
would make it possible to destroy the sweeps
inadvertently |
14:18.22 |
pacman87 |
while editing the path? |
14:19.03 |
d_rossberg |
i'm not sure but could the
parametrics/constraint help? |
14:19.58 |
pacman87 |
i think the p/c stuff is about physical
relationships, and the problem here is with the math behind it
all |
14:21.02 |
pacman87 |
it's also possible to set the isSweepable flag
when you create the path, and require the user to explicitly change
it |
14:21.10 |
pacman87 |
so if it's set, it doesnt allow changes to
break it |
14:21.33 |
pacman87 |
but then that becomes close to a whole
different primitive |
14:21.45 |
pacman87 |
ie, path vs 3dsketch |
14:22.32 |
d_rossberg |
the is-a relationship works only in one
direction |
14:23.02 |
pacman87 |
path is a sketch3d |
14:23.13 |
d_rossberg |
right |
14:23.16 |
pacman87 |
with additional restrictions |
14:25.24 |
d_rossberg |
an other solution would be to have default
replacements for "unknown" segments (e.g. build a spline of line
segments from a nurb curve) |
14:26.42 |
pacman87 |
using a bezier curve would require fewer
segments |
14:26.54 |
pacman87 |
and keep the surface curvature
better |
14:27.35 |
pacman87 |
since i'll have to check each segment in the
sketch |
14:27.45 |
d_rossberg |
only if you have an algorithm for converting a
nurb into a bezier spline |
14:27.56 |
pacman87 |
true :) |
14:29.33 |
pacman87 |
the other issue with is-a is that C doesnt
really do inheritance |
14:30.22 |
pacman87 |
i suppose it'd be done using the
functab |
14:31.06 |
d_rossberg |
you may get the beziers if you attach the
border conditions to the line segments |
14:32.06 |
d_rossberg |
functab: this is more an replacement for a
switch ... case |
14:33.05 |
d_rossberg |
i.e. switch (object_type) ... case hyp:
... |
14:34.14 |
pacman87 |
well, if path just references the sketch3d
functions when it doesnt' need to change them, and references its
own functions when there are changes |
14:38.38 |
d_rossberg |
this would only mean you are reusing code but
actual you have two diferent primitives |
14:39.47 |
pacman87 |
is that a problem? |
14:41.45 |
d_rossberg |
reusing code isn't a problem but it looks like
you should care for the path and if there is a 3dsketch it might
reuse your code |
14:42.51 |
d_rossberg |
we would need something like a validator
connected to the primitives |
14:43.14 |
clock_ |
win 12 |
14:45.14 |
*** join/#brlcad prasad_
(n=psilva@h-67-103-183-185.mclnva23.covad.net) |
14:45.57 |
pacman87 |
so just get the path working now, and worry
about sketch3d later |
14:46.07 |
d_rossberg |
this validator could be implemented as a new
functab method (if this don't go to far away) |
14:46.21 |
d_rossberg |
path vs. sketch3d: yes |
14:46.25 |
pacman87 |
what would be validated? |
14:46.34 |
d_rossberg |
the primitive |
14:46.37 |
pacman87 |
order of sketch and path? |
14:47.09 |
d_rossberg |
a validator is a funktion which returns for a
primitive true or false |
14:47.25 |
d_rossberg |
true if it's ok, false if not |
14:47.31 |
pacman87 |
ah, ok |
14:48.12 |
d_rossberg |
i.e. an editor has to call the validator to
test the changed primitive |
14:48.24 |
pacman87 |
like how primitives do basic checking before
prep() and others |
14:48.40 |
pacman87 |
but moved to it's own function |
14:48.43 |
pacman87 |
make sense |
14:48.46 |
pacman87 |
makes* |
14:50.56 |
d_rossberg |
but in practice it's not so easy e.g. there
should be a hint to the user if the validator fails |
14:57.59 |
pacman87 |
right |
14:58.43 |
pacman87 |
i think i've answered your email question, is
there anything else i missed? |
14:59.51 |
pacman87 |
i'll update the wiki for revolve, and create a
page for sweep to outline everything |
15:06.12 |
d_rossberg |
this is what i wanted to ask you for: document
your plans for revolve and sweep on the brlcad.org wiki |
15:07.09 |
d_rossberg |
i'm full of hope :) |
15:15.45 |
*** join/#brlcad Axman6
(n=Axman6@pdpc/supporter/student/Axman6) |
16:15.57 |
CIA-22 |
BRL-CAD: 03mafm * r31552
10/rt^3/trunk/src/g3d/ (5 files): Adding window which will act as
taskbar. Only the skeleton, at the moment. |
16:16.20 |
*** join/#brlcad archivist
(n=archivis@host81-149-119-172.in-addr.btopenworld.com) |
16:22.38 |
CIA-22 |
BRL-CAD: 03mafm * r31553
10/rt^3/trunk/src/g3d/GuiTaskbar.h: Fixing doxygen
comments. |
16:45.23 |
*** join/#brlcad prasad1
(n=psilva@h-72-245-122-226.mclnva23.covad.net) |
16:58.50 |
*** join/#brlcad pacman87
(n=timothy@71.170.63.120) |
17:14.56 |
*** join/#brlcad dtidrow_
(n=dtidrow@c-69-255-182-248.hsd1.va.comcast.net) |
17:39.30 |
CIA-22 |
BRL-CAD: 03mafm * r31554
10/rt^3/trunk/src/g3d/CMakeLists.txt: Removing debugging
messages |
17:40.36 |
CIA-22 |
BRL-CAD: 03starseeker * r31555
10/brlcad/trunk/doc/docbook/ (17 files in 4 dirs): Add includes and
graphics through Lesson 5 |
17:41.42 |
CIA-22 |
BRL-CAD: 03starseeker * r31556
10/brlcad/trunk/doc/docbook/lessons/mged/learning_boolean_expressions.xml:
Whoopsie, add the xml file as well as the images |
17:48.46 |
CIA-22 |
BRL-CAD: 03mafm * r31557
10/rt^3/trunk/src/g3d/ (8 files): |
17:48.46 |
CIA-22 |
BRL-CAD: Introducing Window Base class, so the
rest of the windows are derived from it. |
17:48.46 |
CIA-22 |
BRL-CAD: This allows to have some operations
factored out, and to have lists of windows |
17:48.46 |
CIA-22 |
BRL-CAD: present and so on (which is
immediately useful for the taskbar, in example). |
18:05.28 |
CIA-22 |
BRL-CAD: 03mafm * r31558
10/rt^3/trunk/src/g3d/ (6 files): Delegating more functionality in
the windows base class. |
18:08.34 |
mafm |
brlcad, are you back? |
18:15.19 |
pacman87 |
what's the best (ie, user friendly) way to
specify the start/end planes of the revolve? |
18:17.46 |
starseeker |
Are your start/end planes constrained relative
to each other? |
18:18.18 |
pacman87 |
i know i need the revolve axis (point +
vector) |
18:18.37 |
pacman87 |
and a way to specify which plane passing
though that axis is the start plane |
18:20.08 |
pacman87 |
they could be constrained relativly by giving
the first plane, and an agnle |
18:20.09 |
pacman87 |
angle |
18:20.26 |
starseeker |
Hmm - I'd guess for full generality you'd need
to specify another vector perpendicular to the revolve axis, but
that's just off the cuff |
18:20.36 |
pacman87 |
that's what i was thinking too |
18:20.46 |
starseeker |
yes, once the start plane is identified the
end plane could be identified by an angle |
18:21.03 |
pacman87 |
would you perfer an angle, or a second vector
to define the end plane? |
18:21.08 |
starseeker |
angle |
18:21.09 |
pacman87 |
ok |
18:21.38 |
starseeker |
you might optionally take a second vector, if
there is a way to work it |
18:22.11 |
pacman87 |
i dont' think you can overload 'in' |
18:22.53 |
pacman87 |
though i suppose once the p/c is fully
integrated with the primitives, you could jsut use that |
18:23.11 |
*** join/#brlcad dtidrow_
(n=dtidrow@c-69-255-182-248.hsd1.va.comcast.net) |
18:23.40 |
starseeker |
well, you could do like ell1 and
ell2 |
18:24.05 |
starseeker |
er ell and ell1 rather |
18:24.16 |
starseeker |
have a sweep and sweep1 primitive |
18:24.33 |
pacman87 |
what should i name the revolve? |
18:24.35 |
pacman87 |
rev? |
18:24.54 |
starseeker |
iirc, ell and ell1 exist because they take
different parameters for the same geometric shape |
18:25.33 |
starseeker |
hmm. rev is less typing, but extrude uses
the full name... |
18:25.49 |
pacman87 |
but ext is a filesystem |
18:25.59 |
starseeker |
and rev is revision :-) |
18:26.03 |
pacman87 |
right |
18:26.17 |
pacman87 |
rvl |
18:26.35 |
starseeker |
It's a brlcad question, but my sense would be
to go ahead and use revolve to keep it consistent with
extrude |
18:26.49 |
pacman87 |
and sweep instead of swp |
18:26.57 |
pacman87 |
swp looks like swap |
18:27.18 |
starseeker |
right - extrude needs a sketch, and so will
revolve/sweep yes? |
18:27.23 |
pacman87 |
yes |
18:28.25 |
pacman87 |
i'll have to specify the point/axis in both
the 3D side, and the 2D sketch side |
18:28.30 |
starseeker |
I think pipe is the only non-sketch based
primitive with a full name... |
18:28.42 |
starseeker |
yeah, check with brlcad |
18:28.44 |
pacman87 |
sketch is too |
18:29.06 |
starseeker |
heh - is sketch sketch based? :-P |
18:29.41 |
starseeker |
probably not, strictly speaking |
18:29.49 |
pacman87 |
no, it doesnt' reference a sketch |
18:30.07 |
starseeker |
My instinct is to go with full names as being
more descriptive, now that we have tab completion |
18:30.26 |
starseeker |
although I don't know if that works for
primitive type, come to think of it |
18:32.52 |
CIA-22 |
BRL-CAD: 03mafm * r31559
10/rt^3/trunk/src/g3d/ (GuiConsole.cxx GuiConsole.h): Properly
center console vertically |
18:57.08 |
CIA-22 |
BRL-CAD: 03mafm * r31560
10/rt^3/trunk/src/g3d/ (GuiTaskbar.cxx GuiTaskbar.h): Implementing
the buttons in the task bar (not complete) |
18:57.19 |
mafm |
I have to go now, see you guys |
18:58.40 |
CIA-22 |
BRL-CAD: 03starseeker * r31561
10/brlcad/trunk/doc/docbook/ (10 files in 3 dirs): Add lesson
6 |
19:04.16 |
CIA-22 |
BRL-CAD: 03bob1961 * r31562 10/brlcad/trunk/
(12 files in 5 dirs): Remove tcl.c from libged. Added ged_obj.c to
libtclcad. Call Ged_Init from Tclcad_Init. Added struct ged_obj to
tclcad.h. |
19:19.06 |
CIA-22 |
BRL-CAD: 03bob1961 * r31563
10/brlcad/trunk/src/libged/ (CMakeLists.txt Makefile.am): Added
ged.c to Makefile.am. Added erase.c and erase_all.c to
CMakeLists.txt |
19:21.08 |
CIA-22 |
BRL-CAD: 03starseeker * r31564
10/brlcad/trunk/doc/docbook/ (7 files in 3 dirs): Add Lessson
7 |
19:40.57 |
*** join/#brlcad elite01
(n=elite01@dslb-088-071-040-234.pools.arcor-ip.net) |
19:51.53 |
*** join/#brlcad dtidrow
(n=dtidrow@c-69-255-182-248.hsd1.va.comcast.net) |
20:04.10 |
CIA-22 |
BRL-CAD: 03starseeker * r31565
10/brlcad/trunk/doc/docbook/ (9 files in 3 dirs): Add Lesson
8 |
20:33.39 |
CIA-22 |
BRL-CAD: 03starseeker * r31566
10/brlcad/trunk/doc/docbook/ (9 files in 3 dirs): Add Lesson
9 |
20:33.58 |
*** join/#brlcad Elperion
(n=Bary@p5B14CA61.dip.t-dialin.net) |
20:34.24 |
starseeker |
attempts to uncross
eyeballs |
20:51.41 |
CIA-22 |
BRL-CAD: 03starseeker * r31567
10/brlcad/trunk/doc/docbook/ (4 files in 3 dirs): Add Lesson
10 |
20:55.28 |
CIA-22 |
BRL-CAD: 03bob1961 * r31568 10/brlcad/trunk/
(6 files in 4 dirs): Split out the ls command from wdb_obj. Added
the ls command to ged_obj. |
21:06.40 |
CIA-22 |
BRL-CAD: 03starseeker * r31569
10/brlcad/trunk/doc/docbook/ (5 files in 3 dirs): Add Lesson
11 |
22:05.00 |
CIA-22 |
BRL-CAD: 03starseeker * r31570
10/brlcad/trunk/doc/docbook/ (8 files in 3 dirs): Add Lesson
12 |
22:37.58 |
CIA-22 |
BRL-CAD: 03starseeker * r31571
10/brlcad/trunk/doc/docbook/ (12 files in 3 dirs): Add Lesson
13 |
23:09.43 |
CIA-22 |
BRL-CAD: 03starseeker * r31572
10/brlcad/trunk/doc/docbook/ (11 files in 3 dirs): Add Lesson
14 |
23:30.32 |
pacman87 |
so there's a 2d point, but no 2d
vector? |
23:46.46 |
pacman87 |
make[2]: *** No rule to make target
`solver_test.c', needed by `solver_test.o'. Stop. |
23:49.21 |
poolio |
pacman87: distclean :) I had that same
issue |
23:49.36 |
pacman87 |
poolio: thanks |
23:53.33 |
CIA-22 |
BRL-CAD: 03starseeker * r31573
10/brlcad/trunk/doc/docbook/ (15 files in 3 dirs): Add Lesson
15 |