00:00.00 |
``Erik |
yeah, my -current box at home |
00:00.15 |
brlcad |
that sounds pretty gaydar :) |
00:00.23 |
``Erik |
O.o |
00:00.32 |
brlcad |
now .. vigor :) |
00:00.44 |
``Erik |
heh, pheer my norse mythology
machines. |
00:00.58 |
``Erik |
vidar == god of vengence |
00:01.22 |
stevegt_ |
was confused: the line of
code in nirt.c which i thought turns on onehit is turning it off
instead -- i must be doing something else wrong
though |
00:02.09 |
``Erik |
or onehit doesn't quite do what you think it
does :) |
00:03.12 |
brlcad |
assume you've seen:
http://brlcad.org/w/images/f/fe/Interactive_Raytracing_-_The_nirt_Command.pdf |
00:03.44 |
stevegt_ |
wonders if he has to actually
configure some 'fmt' commands to get nirt to show anything past the
first hit |
00:03.47 |
brlcad |
starseeker wrote a pretty extensive guide to
using and configuring nirt |
00:05.11 |
stevegt_ |
brlcad: no, i hadn't seen that PDF yet -- very
cool |
00:05.26 |
brlcad |
linked from http://brlcad.org/wiki/Documentation |
00:05.39 |
brlcad |
yeah.. not well organized on the doc front
still :) |
00:05.55 |
brlcad |
there's still a lot more not even uploaded,
but it'd just get even more messy |
00:07.56 |
brlcad |
stevegt_: I intentionally didn't add
distribute() to the header since it was basically being used as an
implementation detail and not part of the interface |
00:08.15 |
brlcad |
doesn't matter much at this point, but worth
noting |
00:17.51 |
stevegt_ |
brlcad: the docs that aren't uploaded -- are
they in svn? |
00:20.41 |
brlcad |
some are, many aren't.. docs accumulated over
the years |
00:21.09 |
brlcad |
figure a 1M codebase, 25 or so years .. lot of
docs, presentations, papers, etc have been written |
00:22.04 |
stevegt_ |
yep -- and i'm assuming some only exist on
paper at this point |
00:22.06 |
*** join/#brlcad BigAToo
(n=BigAToo@pool-96-230-124-218.sbndin.btas.verizon.net) |
00:23.29 |
stevegt_ |
i'm noticed that google can't find some of the
papers referred to in the bottom of man pages |
00:23.35 |
stevegt_ |
s/i'm/i've/ |
00:24.46 |
stevegt_ |
now *there's* a possible GSoC project --
organize, scan stuff in... |
00:25.44 |
brlcad |
heh, I wish.. gsoc has to be coding |
00:25.52 |
brlcad |
ghop perhaps |
00:26.19 |
brlcad |
I try to get new folks introduced by having
them work on docs, but they tend to get quickly absorbed into
coding *ahem* |
00:27.28 |
brlcad |
still think our greatest accelleration of
activity could be gained by putting (a LOT of) effort into well
organized docs and sources, even without new features or improved
gui |
00:27.38 |
stevegt_ |
yes |
00:28.13 |
stevegt_ |
i've been spending > 50% of my time reading
code 'cause i can't find what i'm looking for in docs |
00:28.26 |
stevegt_ |
that's gotta be a hurdle ;-) |
00:28.40 |
brlcad |
tis a major project, though .. and major
organization feat, and not very exciting work for most :) |
00:28.50 |
brlcad |
yeah |
00:29.03 |
brlcad |
getting the new website up certainly helped a
lot, but even that was just a start |
00:37.47 |
yukonbob |
hello, cadheadsw |
00:37.50 |
yukonbob |
*cadheads |
00:39.39 |
stevegt_ |
goes to get the kids --
bbl |
00:40.40 |
brlcad |
howdy yukonbob! .. half hoped you might clean
up all that wiki spam we got :) |
00:40.44 |
brlcad |
cya stevegt_ |
00:56.01 |
yukonbob |
brlcad: /me hadn't seen spam |
00:56.25 |
yukonbob |
brlcad: how's it going? Long time, no
chat |
00:58.00 |
brlcad |
going pretty good |
00:59.48 |
yukonbob |
doesn't see
spam... |
01:01.01 |
dtidrow |
brlcad: i see that Lee is doing some
OpenSceneGraph work - is he back from his 'sabbatical'? |
01:09.08 |
brlcad |
dtidrow: yep, he's back |
01:09.20 |
brlcad |
been back for nearly a year now? |
01:09.41 |
dtidrow |
heh - that's how far out of the loop I've been
;-) |
01:09.49 |
brlcad |
yeah, maybe more than a year actually
.. |
01:10.03 |
brlcad |
yukonbob: I took care of it all
already |
01:10.08 |
dtidrow |
so what's he doing with OSG/ |
01:10.11 |
dtidrow |
? |
01:10.48 |
dtidrow |
(note to self - get new keyboard to fix sticky
shift key...) |
01:20.09 |
yukonbob |
is there anybody else who isn't loving
compiling opennurbs (i.e. isn't successfull)? |
01:24.14 |
``Erik |
hasnt had issues with
opennurbs, just libpc :/ |
01:45.41 |
brlcad |
dtidrow: interactive visualization, related to
his research project back in utah |
01:46.09 |
brlcad |
yukonbob: yeah, no problems here nor have I
heard of any |
01:51.07 |
yukonbob |
will
pursue... |
02:07.15 |
brlcad |
``Erik: woo hoo .. feels like it's an order of
magnitude slower now, but no problems observed thusfar |
02:12.13 |
starseeker |
indianlarry: does the nurbs_sphere.s test case
work for you with latest svn? |
02:14.50 |
``Erik |
it is much slower, the speed now is mostly
dependent on the smallest field strength |
02:15.20 |
``Erik |
irregardless of the bounding sphere
diameter |
02:15.37 |
``Erik |
so a small control point in a big bounding
sphere does a LOT more point checks |
02:20.16 |
CIA-32 |
BRL-CAD: 03ralith * r35043
10/rt^3/trunk/src/g3d/ (CMakeLists.txt OgreScene.cxx OgreScene.h):
Split Ogre/Qt work off into a separate target (make
ogretest). |
02:20.20 |
Ralith |
can someone build g3d to see if it's survived
my hackery? My updated ogre install here breaks RBGui so I can't
easily test myself. |
02:24.07 |
Ralith |
it *should* be okay; the only error I'm
getting is the one concerning RBGui/Ogre unhappiness, but it would
be nice to be sure. |
02:39.12 |
CIA-32 |
BRL-CAD: 03erikgreenwald * r35044
10/rt^3/trunk/include/GE/io/DataStream.h: include sys/types.h for
definition of uint |
02:39.40 |
*** join/#brlcad stevegt_
(n=stevegt@c-24-130-122-25.hsd1.ca.comcast.net) |
03:41.02 |
Ralith |
ooh, I think I've found a way to step Qt
without reimplementing QApplication! |
03:42.17 |
Ralith |
this should make the ogre-centric approach
much easier. |
03:48.08 |
Ralith |
wait, what |
03:51.43 |
Ralith |
that's funny... |
03:56.45 |
Ralith |
oh wow, I think ogre's been flipping buffers
this whole time after all |
04:00.34 |
Ralith |
DAMN. |
04:00.36 |
Ralith |
that didn't solve it. |
04:07.04 |
CIA-32 |
BRL-CAD: 03ralith * r35045
10/rt^3/trunk/src/g3d/ogretest.cxx: Added a file forgotten from my
previous commit. |
04:08.07 |
Ralith |
on the up side... |
04:08.11 |
Ralith |
custom event loop works |
04:08.16 |
Ralith |
mainloop* |
04:08.24 |
CIA-32 |
BRL-CAD: 03ralith * r35046
10/rt^3/trunk/src/g3d/OgreScene.cxx: |
04:08.31 |
CIA-32 |
BRL-CAD: Removed a call that was causing Ogre
to go through a full render sequence (undesirable, as it involves
buffer flipping and possibly |
04:08.37 |
CIA-32 |
BRL-CAD: other actions based on the assumption
that Ogre is the only user of the context), and disabled Ogre
rendering altogether to test Qt |
04:08.44 |
CIA-32 |
BRL-CAD: operation with a custom event loop
(successful). |
04:33.53 |
CIA-32 |
BRL-CAD: 03ralith * r35047
10/rt^3/trunk/src/g3d/QtRenderListener.h: Beginnings of the
QtRenderListener, which should eventually allow Qt to render
cleanly on Ogre's terms. |
04:34.01 |
Ralith |
grabs food |
05:22.35 |
Ralith |
returns and starts hacking on
the impl |
06:02.11 |
*** join/#brlcad IriX64
(n=WarLock@bas2-sudbury98-1096600735.dsl.bell.ca) |
07:32.48 |
*** join/#brlcad _clock_
(n=_sushi_@77-58-151-159.dclient.hispeed.ch) |
08:47.08 |
CIA-32 |
BRL-CAD: 03ralith * r35048
10/rt^3/trunk/src/g3d/ (QtRenderListener.cxx QtRenderListener.h):
First-try implementation of QtRenderListener, which should allow Qt
to be safely rendered without conflicting with Ogre. |
08:48.42 |
Ralith |
hokay, semi-ogre centric (managed to rely on
Qt more than I had initially expected) implementation put together;
now to rewrite the test code to find out if it works. |
08:51.43 |
CIA-32 |
BRL-CAD: 03ralith * r35049
10/rt^3/trunk/src/g3d/QtRenderListener.cxx: Added a safety check to
prevent any attempt to use the listener with a non-OpenGL Ogre
backend. |
09:23.11 |
*** join/#brlcad _clock_
(n=_sushi_@77-58-151-159.dclient.hispeed.ch) |
09:30.52 |
CIA-32 |
BRL-CAD: 03d_rossberg * r35050
10/brlcad/trunk/src/librt/opennurbs_ext.cpp: |
09:30.53 |
CIA-32 |
BRL-CAD: fixed crash on MS Windows with
brlcad.dll |
09:30.57 |
CIA-32 |
BRL-CAD: trim.m_ei = -1 => this trim lies
on a portion of a singular surface side |
09:30.59 |
CIA-32 |
BRL-CAD: (see
src\other\openNURBS\example_brep\example_brep.cpp) |
09:32.18 |
CIA-32 |
BRL-CAD: 03d_rossberg * r35051
10/brlcad/trunk/src/librt/primitives/brep/brep.cpp: fixed crash on
MS Windows with brlcad.dll and nurbs_test.g |
09:41.21 |
CIA-32 |
BRL-CAD: 03d_rossberg * r35052
10/brlcad/trunk/src/nirt/ (Makefile.am nirt.dsp): MSVC 6.0 isn't
supported any more |
10:14.28 |
CIA-32 |
BRL-CAD: 03Ralith 07http://brlcad.org * r1557
10/wiki/User:Ralith: Logs for 2009-07-08 and 2009-07-09 |
10:41.35 |
*** join/#brlcad mafm
(n=mafm@74.Red-83-42-152.dynamicIP.rima-tde.net) |
11:23.54 |
*** join/#brlcad BigAToo
(n=BigAToo@pool-96-230-124-211.sbndin.btas.verizon.net) |
11:31.53 |
*** join/#brlcad cosurgi
(n=cosurgi@atak.bl.pg.gda.pl) |
11:42.56 |
*** join/#brlcad alex_joni
(n=alex_jon@emc/board-of-directors/alexjoni) |
12:09.35 |
*** join/#brlcad mafm_
(n=mafm@74.Red-83-42-152.dynamicIP.rima-tde.net) |
12:32.01 |
*** join/#brlcad BigAToo1
(n=BigAToo@pool-96-230-124-211.sbndin.btas.verizon.net) |
12:35.20 |
*** join/#brlcad BigAToo
(n=BigAToo@pool-96-230-124-211.sbndin.btas.verizon.net) |
12:35.56 |
*** join/#brlcad docelic_
(n=docelic@78.134.192.197) |
12:46.17 |
CIA-32 |
BRL-CAD: 03irpguardian * r35053
10/brlcad/trunk/BUGS: Fixed a couple spelling errors |
13:02.49 |
*** join/#brlcad BigAToo
(n=BigAToo@pool-96-230-124-211.sbndin.btas.verizon.net) |
13:05.26 |
CIA-32 |
BRL-CAD: 03erikgreenwald * r35054
10/brlcad/trunk/BUGS: metaball scalloping was fixed last night (I
hope) |
13:07.56 |
``Erik |
*mumble* |
13:18.10 |
*** join/#brlcad elena
(n=elena@89.136.118.141) |
13:38.17 |
CIA-32 |
BRL-CAD: 03erikgreenwald * r35055
10/rtcmp/trunk/tri.c: fix typo in comment |
13:39.02 |
*** join/#brlcad cosurgi
(n=cosurgi@atak.bl.pg.gda.pl) |
13:43.29 |
*** join/#brlcad d_rossberg
(n=rossberg@bz.bzflag.bz) |
13:50.50 |
*** join/#brlcad cosurgi
(n=cosurgi@atak.bl.pg.gda.pl) |
14:10.05 |
CIA-32 |
BRL-CAD: 03d_rossberg * r35056
10/brlcad/trunk/src/nirt/nirt.c: |
14:10.07 |
CIA-32 |
BRL-CAD: no extra setmode for MS
Windows |
14:10.09 |
CIA-32 |
BRL-CAD: we need the O_TEXT mode here: it
converts the CR-LF from the input stream to a single LF (and vice
versa for the output) |
14:16.58 |
CIA-32 |
BRL-CAD: 03d_rossberg * r35057
10/brlcad/trunk/ (4 files in 3 dirs): include the nirt program in
the MS Windows CMake build |
14:18.56 |
*** join/#brlcad samrose
(n=samrose@24.11.214.181) |
14:34.04 |
``Erik |
explains what sleep() does to
his officemate. *sigh*. |
14:34.56 |
brlcad |
heh |
14:35.33 |
brlcad |
better to teach him what "man 3 sleep"
does |
14:35.41 |
CIA-32 |
BRL-CAD: 03irpguardian * r35058
10/brlcad/trunk/src/proc-db/human.c: Cleanup of some of the vector
equations, and some reworking of the method the human is
generated. |
14:35.47 |
``Erik |
ah, theboy, that, um, line wasn't in the
history file |
14:36.00 |
``Erik |
if'n ya noticed my sudo spaz earlier |
14:40.14 |
``Erik |
huh, no joy :/ |
14:41.33 |
``Erik |
ahhhhhhh |
14:41.41 |
``Erik |
was using the wrong username heh |
15:28.16 |
*** join/#brlcad cosurgi
(n=cosurgi@atak.bl.pg.gda.pl) |
15:29.43 |
*** part/#brlcad Witch_Doc
(n=me@69.196.64.50) |
16:37.16 |
*** join/#brlcad elena
(n=elena@89.136.118.141) |
17:27.32 |
brlcad |
hello elena |
17:28.27 |
elena |
hi. |
17:28.45 |
elena |
how are you? |
17:28.56 |
brlcad |
great! |
17:29.26 |
brlcad |
playing with the metaballs example tool at the
moment |
17:30.41 |
brlcad |
was hoping the recent fix worked ... and it
almost does .. but not quite, has lots of anamolies still |
17:30.51 |
elena |
bugs are not funny. |
17:30.52 |
brlcad |
albeit on a massive metaball dataset.. 10k
points :) |
17:32.50 |
elena |
i don't know what's that. |
17:36.35 |
brlcad |
they're "blobby" shapes that are defined by
points and threshold/weighting factors |
17:36.42 |
brlcad |
example: http://brlcad.org/tmp/metaball.png |
17:37.06 |
elena |
i've notice a lot of talk around them
lately. |
17:37.35 |
brlcad |
yeah, I was putting together an example of
using them in code |
17:37.48 |
brlcad |
found a handfull of issues that we've been
working on fixing |
17:40.26 |
brlcad |
http://brlcad.org/tmp/metaball2.png
even better example |
17:41.47 |
elena |
nice. |
17:42.05 |
elena |
the former was the funnier :) |
17:42.56 |
brlcad |
hehe |
17:46.23 |
``Erik |
since it's a sampling algo instead of a
solver, there'll always be 'anomalies', it's a tradeoff between how
many and how fast :( |
17:46.56 |
elena |
nice. |
17:46.56 |
``Erik |
mebbe the initial and final step sizes should
be user specifiable |
17:49.15 |
CIA-32 |
BRL-CAD: 03brlcad * r35059
10/brlcad/trunk/BUGS: the lingering ogl framebuffer after an rt is
consuming 100% cpu (sometimes?) until the window is closed. needs
to sleep/select instead of spin. |
17:49.53 |
CIA-32 |
BRL-CAD: 03brlcad * r35060
10/brlcad/trunk/src/proc-db/metaball.c: |
17:49.55 |
CIA-32 |
BRL-CAD: add the ability to be able to specify
how many points you want instead of just |
17:50.01 |
CIA-32 |
BRL-CAD: the previous hard-coded value. uses
1/111, 10/111, and 100/111 for the three |
17:50.03 |
CIA-32 |
BRL-CAD: datasets it creates (with at least 1
per set) so that the final is close to the |
17:50.07 |
CIA-32 |
BRL-CAD: requested value (plus one or two
more). |
17:55.01 |
brlcad |
``Erik: http://brlcad.org/tmp/mbug/mbug3.png
.. it's pretty close, just a little chewing |
17:55.21 |
brlcad |
and it didn't take as long as it seemed, maybe
5-10 min |
17:55.56 |
brlcad |
granted, with some partitioning, that'd
probably be down to less than a min :) |
17:56.18 |
``Erik |
making the initstep size smaller will
alleviate that... feel free to come up with a better formula, it's
not computed per ray anymore, so there's no need to make it simple
and fast *shrug* |
17:56.35 |
``Erik |
it's now in _prep |
17:56.36 |
``Erik |
:D |
17:57.28 |
``Erik |
figuring out which formula is being used might
be important O.o |
17:58.00 |
``Erik |
is guessing there is an
"unreasonably small" point in your cloud forcing it into t he
bounding volume algo |
17:59.55 |
brlcad |
hehe, just printed/sorted all balls |
18:00.03 |
brlcad |
smalles is 0.000574094 |
18:00.53 |
brlcad |
20 or so are an order "bigger", then
everything else is an order larger (0.01+) still |
18:01.12 |
brlcad |
largest is 51.1789 |
18:01.31 |
``Erik |
and the bounding volume radius? a couple
thousand? heh |
18:05.32 |
CIA-32 |
BRL-CAD: 03starseeker * r35061
10/brlcad/trunk/ (3 files in 3 dirs): Continue tweaking opennurbs
cleanup files |
18:11.17 |
*** join/#brlcad b0ef
(n=b0ef@084202026157.customer.alfanett.no) |
18:19.53 |
*** join/#brlcad b0ef
(n=b0ef@084202026157.customer.alfanett.no) |
18:22.10 |
CIA-32 |
BRL-CAD: 03irpguardian * r35062
10/brlcad/trunk/src/proc-db/human.c: |
18:22.14 |
CIA-32 |
BRL-CAD: Made arms, legs use human_data_t
struct for limb positioning |
18:22.20 |
CIA-32 |
BRL-CAD: Made arms get limb positioning
externally of arm function. |
18:22.22 |
CIA-32 |
BRL-CAD: Added command line attribute to make
premade stances, '-s#' |
18:22.24 |
CIA-32 |
BRL-CAD: -s0 = stand -s1 = sit, -s2 =
drive |
18:30.50 |
*** join/#brlcad jdoliner
(n=jdoliner@c-68-51-75-169.hsd1.il.comcast.net) |
18:38.38 |
CIA-32 |
BRL-CAD: 03bob1961 * r35063
10/brlcad/trunk/src/tclscripts/mged/text.tcl: Update tab_expansion
proc to work with the new expand behavior (i.e. expand returns an
empty string if nothing suitable is found in the
database). |
19:02.33 |
CIA-32 |
BRL-CAD: 03irpguardian * r35064
10/brlcad/trunk/src/proc-db/human.c: |
19:02.34 |
CIA-32 |
BRL-CAD: Added roundness to shoulder
area. |
19:02.36 |
CIA-32 |
BRL-CAD: Also refined some poses, so there are
now 4 programed- |
19:02.40 |
CIA-32 |
BRL-CAD: stand, sit, drive, arms out, fancy
sit |
19:07.10 |
*** join/#brlcad BigAToo
(n=BigAToo@pool-96-230-124-211.sbndin.btas.verizon.net) |
19:54.59 |
CIA-32 |
BRL-CAD: 03Ebautu 07http://brlcad.org * r1558
10/wiki/More_Changelog: /* July 7 - Today */ |
20:08.21 |
CIA-32 |
BRL-CAD: 03starseeker * r35065
10/brlcad/trunk/ (3 files in 3 dirs): More nurbs tweaks - getting
visual artifacts in the sphere when I use sane flatness settings
that are due to intersection failures on the hierarchy - so far
haven't successfully tracked down the problem. |
20:09.40 |
CIA-32 |
BRL-CAD: 03bob1961 * r35066
10/brlcad/trunk/misc/win32-msvc8/librt/librt.vcproj: Added
brep_debug to the librt build. |
20:12.56 |
starseeker |
growls in
frustration |
20:13.51 |
*** join/#brlcad jdoliner
(n=jdoliner@c-68-51-75-169.hsd1.il.comcast.net) |
20:20.07 |
*** join/#brlcad cosurgi
(n=cosurgi@chello089079134153.chello.pl) |
20:24.19 |
CIA-32 |
BRL-CAD: 03bob1961 * r35067
10/brlcad/trunk/src/libged/3ptarb.c: Free memory. |
20:27.16 |
CIA-32 |
BRL-CAD: 03bob1961 * r35068 10/brlcad/trunk/
(56 files in 5 dirs): |
20:27.18 |
CIA-32 |
BRL-CAD: These changes fix bug 2278126 (i.e.
rt doesn't get geometry path right). The |
20:27.20 |
CIA-32 |
BRL-CAD: tact was to replace the solids list
with a display list where each item in the |
20:27.22 |
CIA-32 |
BRL-CAD: list refers to what was asked to be
drawn. Each of these display list items has |
20:27.26 |
CIA-32 |
BRL-CAD: its own solids list. |
20:30.55 |
*** join/#brlcad stevegt_
(n=stevegt@cislunar.TerraLuna.Org) |
20:39.42 |
jdoliner |
what tools does brlcad already have for
polynomial manipulation, solving evaluating etc? |
20:41.40 |
jdoliner |
aha libbn/poly.c |
20:45.43 |
jdoliner |
is there support for multivariate polynomial
anywhere? |
20:46.26 |
pacman87 |
jdoliner: not that i found, and the solver is
limited to 4th order |
21:14.34 |
jdoliner |
well I definitely need those to
proceed |
21:15.01 |
pacman87 |
what are you trying to do with multivariable
polynomials? |
21:15.05 |
pacman87 |
systems of equations? |
21:15.11 |
jdoliner |
yes |
21:15.35 |
jdoliner |
nurbs surface intersection |
21:15.39 |
jdoliner |
to be precise |
21:16.00 |
pacman87 |
two second-order two-variable equations can be
combined to get a fourth order single-variable equation for one
variable |
21:17.15 |
pacman87 |
if you need higher-order polynomials, you may
have to use an iterative solver |
21:18.00 |
jdoliner |
In the literature they use the dixon
resultant |
21:18.31 |
jdoliner |
we don't have any such solvers already
implemented do we? |
21:18.46 |
pacman87 |
i don't know enough to answer that |
21:19.51 |
jdoliner |
k |
21:20.25 |
jdoliner |
brlcad impart some wisdom? |
21:25.45 |
``Erik |
told him to look at
irc |
21:26.17 |
jdoliner |
thanks |
21:44.43 |
CIA-32 |
BRL-CAD: 03irpguardian * r35069
10/brlcad/trunk/src/proc-db/human.c: Cleaned up some code |
21:51.27 |
CIA-32 |
BRL-CAD: 03bob1961 * r35070 10/brlcad/trunk/
(5 files in 4 dirs): Changes to get things building on
MSVC8. |
21:59.48 |
CIA-32 |
BRL-CAD: 03r_weiss * r35071
10/brlcad/trunk/src/libged/make_pnts.c: improved error messages,
logic cleanup |
22:02.31 |
*** join/#brlcad BigAToo
(n=BigAToo@pool-96-230-124-211.sbndin.btas.verizon.net) |
22:40.30 |
stevegt_ |
is pondering two
alternatives: (1) write his 2d laser cutter toolpath generation
tool as a C executable (2) write it as a python wrapper around nirt
and mged |
22:42.01 |
stevegt_ |
given my python currency and C rustiness, I'm
favoring the latter, but don't want to make people go "ooooh,
yuck" |
22:42.20 |
stevegt_ |
s/the latter/the python route/ |
22:45.45 |
stevegt_ |
seems like brl-cad's history has favored
special-purpose C executables in ./bin, rather than special-purpose
scripting around fewer, more general-purpose C cores |
22:46.50 |
Ralith |
stevegt_: a wrapper around nirt and mged would
be a very strange thing to do, considering that you'll want to
interact with rt directly. |
22:47.18 |
Ralith |
what you could do instead would be write a
python API for rt and whatever else you need, and then use that in
python. |
22:47.38 |
stevegt_ |
Ralith: so far it's looking like nirt's custom
outputs can give me everything i need |
22:47.42 |
stevegt_ |
other than speed ;-) |
22:48.06 |
Ralith |
stevegt_: still a very strange thing to do,
and probably relatively slow at that. |
22:48.06 |
Ralith |
using the API directly would be immensely
cleaner |
22:48.14 |
Ralith |
and probably less prone to breakage |
22:49.55 |
stevegt_ |
i agree that the "right" thing to have would
be python bindings for librt and/or libged etc. -- but that give me
a much longer lead time to get the machine design project done that
i'm actually supposed to be working on |
22:50.08 |
stevegt_ |
i'm already getting pressure to "just use
solidworks" ;-) |
22:50.14 |
Ralith |
actually, wrapping a C API in your language of
choice is usually trivial |
22:50.20 |
stevegt_ |
s/give/gives/ |
22:50.43 |
Ralith |
I'm not familiar with python's relevant
facilities, but it's generally a task so straightforward as to be
easily automated :P |
22:50.48 |
Ralith |
in fact... |
22:51.04 |
stevegt_ |
Ralith: brl-cad's use of macros for function
names makes SWIG less straightforward to run |
22:51.19 |
stevegt_ |
afaict anyway |
22:51.26 |
Ralith |
that would be odd; it's a perfectly reasonable
thing to do |
22:51.47 |
Ralith |
things like POSIX actually explicitly state
that macros can be used interchangably with functions in many
contexts |
22:51.53 |
stevegt_ |
SWIG doesn't run cpp |
22:52.01 |
Ralith |
good thing the API you'd be wrapping is C
:P |
22:52.26 |
stevegt_ |
so it's "easier" to just write a new .h,
rather than use e.g. raytrace.h or ged.h |
22:52.37 |
Ralith |
wat |
22:53.11 |
Ralith |
stevegt_: like I said, the API is all
C. |
22:53.16 |
Ralith |
there's no C++. |
22:53.19 |
stevegt_ |
when i say "cpp" i mean "the C
preprocessor" |
22:53.27 |
Ralith |
oh :P |
22:53.31 |
Ralith |
that's a highly ambiguous term |
22:54.11 |
Ralith |
so run SWIG on the functions and rewrite the
macros in python? |
22:54.30 |
``Erik |
heh, only to retards who fuck up terminology
and think cpp means c++, instead of using .c++, .C, .cxx,
... |
22:54.32 |
``Erik |
:D |
22:54.33 |
``Erik |
*duck* |
22:55.00 |
Ralith |
:[ |
22:55.19 |
Ralith |
.C is a bad idea |
22:55.24 |
Ralith |
given the existence of case insensitive
filesystems |
22:55.26 |
stevegt_ |
deletes a line about
"dinosaurs like me who think of C++ as a new
language" |
22:56.29 |
stevegt_ |
s/new/new and unproven/ |
22:57.01 |
Ralith |
stevegt_: and of course a pure C
implementation would be cool too, simply because of the drastically
smaller overhead, but if you're not comfortable in C and don't have
the time to become so then it's not worth the effort |
22:59.51 |
stevegt_ |
Ralith: I think it's one of those things where
I'd better go ahead and do it the fastest way, lest it not get done
at all ;-) |
23:00.01 |
Ralith |
reasonable. |
23:00.21 |
stevegt_ |
or at least try -- the parsing of mged output
might slow things down enough that i'd have to go to pure C
anyway |
23:00.56 |
Ralith |
what do you need mged for? |
23:01.02 |
stevegt_ |
depends on how many rays I wind up working
with for a reasonably-complex assembly |
23:01.38 |
stevegt_ |
I *think* I need mged just to list the basic
shapes, so I know I'm hitting all of them while discovering holes
and other booleans |
23:02.45 |
Ralith |
er |
23:02.51 |
Ralith |
all you should need to know is the region
you're targeting |
23:02.58 |
Ralith |
which the user is supposed to
provide |
23:06.08 |
stevegt_ |
i need to be able to make sure that any grid
or other pattern is fine-grained enough to hit hairline features --
they are easy to machine with a laser, and do get used |
23:06.46 |
Ralith |
the way you do that is by shooting enough rays
that your resultant toolpath is guaranteed to be more precise than
the machine can produce |
23:09.12 |
*** join/#brlcad Axman6
(n=Axman6@pdpc/supporter/student/Axman6) |
23:11.39 |
``Erik |
you can ignore mged and write a treewalk
routine to collect all the region names. |
23:12.15 |
stevegt_ |
Ralith: i guess i'm (possibly prematurely)
trying to optimize, was thinking about adaptively sizing a tight
grid around edges, ignoring the rest -- if i just to a uniform
grid, then we're looking at about a half-billion rays for a 20"
square |
23:12.18 |
``Erik |
db_walk_tree() or one of that family |
23:12.23 |
stevegt_ |
the laser precision is 50 um |
23:12.52 |
Ralith |
stevegt_: did you expect you wouldn't be using
a lot of rays? :P |
23:12.52 |
stevegt_ |
``Erik: in python |
23:12.55 |
Ralith |
don't optimize prematurely. |
23:13.04 |
Ralith |
make it work, THEN make it fast. |
23:13.50 |
stevegt_ |
Ralith: i'm going to have to do some
performance proof of concepts up front -- maybe i don't need the
adaptive grid |
23:14.42 |
Ralith |
stevegt_: unless you're trying to shoot rays
via calling an external tool one ray at a time it should be
fine. |
23:17.19 |
Ralith |
<PROTECTED> |
23:18.12 |
stevegt_ |
i'm thinking to essentially drive nirt as a
filter, control both stdin and stdout/err from the python script,
so it only needs to fork once, keep it fed with a stream of
rays |
23:19.52 |
stevegt_ |
i'll test the speed of all this this weekend,
see if it makes sense at all |
23:22.39 |
stevegt_ |
anyway, Ralith, ``Erik, thanks for being a
sounding board -- i can see now that i need to do the performance
testing next, before i decide anything else |
23:33.56 |
Ralith |
np |
23:33.58 |
Ralith |
best of luck! |