IRC log for #brlcad on 20080602

00:21.21 PrezzKennedy better than setting the servers on fire
01:38.22 *** join/#brlcad dtidrow_ (n=dtidrow@c-69-255-182-248.hsd1.va.comcast.net)
02:03.38 poolio Uh oh. Am I going to be set on fire? :(
04:38.58 brlcad poolio: only if you're lucky ;)
04:57.22 poolio steps under a ladder
05:27.59 brlcad yeesh, thousands of anonymous ftp connections
05:28.50 brlcad firewalls the idiot with a .in addr
05:53.15 poolio ruh roh.
06:13.03 *** join/#brlcad clock_ (n=clock@77-56-94-176.dclient.hispeed.ch)
07:09.08 *** join/#brlcad clock_ (n=clock@zux221-122-143.adsl.green.ch)
07:27.21 *** join/#brlcad d_rossberg (n=rossberg@bz.bzflag.bz)
07:33.57 d_rossberg brlcad: thank you for your reply to my C++ question
07:34.47 d_rossberg (both e-mail and rikers.org ;-)
07:36.50 d_rossberg i figured out that starting line 12 with "class " helps too, but i didn't know that the other compiler choice was "value"
07:37.45 d_rossberg the thing what confused me was that it works if i replace "Type" in line 12 by "int"
07:39.10 d_rossberg therefore it looks like the gcc needs some help above a certain level of complexity
07:42.26 clock_ d_rossberg: are you bringing C++ into brl-cad?
07:50.10 *** join/#brlcad thing1 (n=ric@123.208.241.91)
07:57.16 d_rossberg clock_: i would like to do it, however this problem arised in my "real" work
08:00.40 *** join/#brlcad thing1 (n=ric@123.208.227.186)
09:08.07 *** join/#brlcad thing0 (n=ric@124-169-237-118.dyn.iinet.net.au)
11:00.43 *** join/#brlcad thing1 (n=ric@124-169-237-118.dyn.iinet.net.au)
14:10.55 ``Erik wait, what? we're NOT allowed to set the interns on fire? damnit
14:54.21 brlcad d_rossberg: yeah, that was a pretty hard problem .. took me a while to figure out what was up
14:54.39 brlcad I rewrote it a couple times testing out what the compiler was doing
14:57.03 *** join/#brlcad prasad_ (n=psilva@h-72-245-122-226.mclnva23.covad.net)
14:59.08 brlcad wasn't until I narrowed it down to http://brlcad.org/~sean/tmp/typename.cpp that it became obvious
15:02.23 d_rossberg brlcad: it turns out that (nested) templates need special attention in writing portable code
15:05.28 brlcad nods
15:05.36 brlcad that's something I used to run into a lot with VC6
15:06.06 brlcad would often have to unnest them to get VC6 to work with them at all if it was a complex structure
15:06.41 d_rossberg (another issue is that MSVC allowes temporary objets as non-const reference parameter)
15:06.53 brlcad oh yeah, that's a big one
15:07.30 brlcad our windows devs for bzflag are *constantly* passing in temp objects that have to be fixed :)
15:07.51 brlcad rather frustrating as it's convenient for them, but invalid per standard
15:08.02 brlcad fortunately the fix is easy
15:08.31 brlcad just sometimes rather hard to identify as the errors messages are rather obscure sometimes
15:11.39 d_rossberg yes, it was a "multiple choice" error message (i.e. something like "do you mean method A or B")
15:13.02 brlcad on the Mac, it would actually compile just fine but result in a run-time error -- memory corruption accessing non-existant temporary memory in the called function
15:13.17 brlcad usually std template types
15:14.09 pacman87 hi d_rossberg, brlcad
15:14.14 brlcad howdy pacman87
15:14.25 brlcad how goes the progress?
15:14.30 d_rossberg moin moin pacman87
15:14.38 pacman87 fixing up import/exprort for the hyp now
15:14.51 brlcad pacman87: I'm about to move some files on you, restructuring librt
15:15.01 brlcad specifically the primitives
15:15.07 pacman87 how so?
15:15.15 brlcad they're moving into a subdir
15:15.35 brlcad shouldn't be a problem, just let me know if you run into any problems with your changes
15:15.44 pacman87 ok, thanks for the heads up
15:16.20 brlcad if you commit frequently, the impact may even be nil
15:17.57 brlcad the work is a precursor for the new brep() callbacks for each primitive that poolio is working on, given the guts to those callbacks are C++ they need to be separated out
15:18.22 brlcad aside from just being useful organization for librt
15:18.36 poolio mornin' brlcad et al
15:18.44 pacman87 morning, poolio
15:19.47 poolio pacman87: how's the summer of code going? Has it officially started yet?
15:19.54 pacman87 yeah, last week
15:20.29 pacman87 my dev log, and some pretty pictures, are at http://brlcad.org/wiki/User:Pacman87
15:21.51 poolio brlcad: is the rt raytracing going to give me a place to put the brep code?
15:22.01 poolio brlcad: I can't read. Woopsy :)
15:25.35 CIA-21 BRL-CAD: 03brlcad * r31258 10/brlcad/trunk/ (80 files in 5 dirs):
15:25.35 CIA-21 BRL-CAD: beginning of librt restructuring that places all primitives into a 'primitives'
15:25.35 CIA-21 BRL-CAD: subdirectory. keeping it non-recursive make for performance reasons and further
15:25.35 CIA-21 BRL-CAD: breakouts and restructuring is on the way in support of a new brep() callback
15:25.35 CIA-21 BRL-CAD: for all primitives. still have to move nurbs and nmg sources.
15:36.18 CIA-21 BRL-CAD: 03brlcad * r31259 10/brlcad/trunk/ (7 files in 4 dirs): make bot.h a public header for now since at least one tool (bot_shell-vtk) requires the header for the bot_specific data type as well as related functions
15:37.19 pacman87 two brlcad commits later and i'm still compiling :(
15:44.47 *** join/#brlcad Elperion (n=Bary@p54875FC6.dip.t-dialin.net)
15:49.11 brlcad pacman87: and I'm not anywhere near done
15:51.30 louipc whoa
15:51.47 brlcad doing it piecewise just to show the progression, make sure each step works piecewise, and *then* get to the actual break-up
15:52.44 brlcad seriously need to disable dependency tracking .. it's getting annoying to have to depclean each time
16:00.31 CIA-21 BRL-CAD: 03brlcad * r31260 10/brlcad/trunk/ (51 files in 4 dirs):
16:00.31 CIA-21 BRL-CAD: move the nurbs/bspline surfaces into src/librt/primitives/nurb using 'nurb' as
16:00.31 CIA-21 BRL-CAD: the dir instead of 'bspline' for now even though the table.c shorthand for the
16:00.31 CIA-21 BRL-CAD: primitive's name is bspline. table.c's label name seems to be the
16:00.34 CIA-21 BRL-CAD: inconsistency.
16:09.13 CIA-21 BRL-CAD: 03brlcad * r31261 10/brlcad/trunk/ (51 files in 4 dirs): follow suit and move all of the nmg sources into src/librt/primitives/nmg
17:10.17 *** join/#brlcad PrezKennedy (i=Matthew@74.86.45.130)
17:20.51 starseeker crosses his fingers and does a svn update...
17:40.13 poolio brlcad: so are you done destroying everything yet? ;)
17:40.26 ``Erik he never is
17:40.36 poolio ``Erik: ouch.
17:40.40 ``Erik :D
17:41.05 ``Erik watches the compiles keep chugging
17:43.26 pacman87 apparently my hyp always returns 0 from shot()
17:45.22 poolio It's invisible!
17:45.41 pacman87 negative index of refraction?
17:46.24 ``Erik there are real materials with that property now O.o
17:47.18 pacman87 what's the easiest way to print to console in the middle of a rt?
17:47.55 ``Erik how do you mean? like inside of the shot function or something?
17:48.00 pacman87 yes
17:48.05 ``Erik bu_log() should do it
17:48.41 ``Erik printf or fprintf should work, too... 'nirt' might be worth messing with to debug a shot routine
17:49.53 pacman87 ok, thanks
17:57.17 pacman87 i dont' think my shot() is even getting called...
17:58.09 brlcad yup, never done
17:58.33 ``Erik fire up gdb and put a breakpoint on your function?
17:59.03 pacman87 yeah, that's what i'm trying now
17:59.04 brlcad pacman87: prep has to define the bounding cube or it will be an early-exit miss
17:59.25 brlcad make sure prep is right (compare to others)
18:00.16 pacman87 i stored the bounding rpp in stp->st_min/max[X/Y/Z]
18:00.38 ``Erik needs both the aabb and bounding sphere, I think
18:00.52 poolio brlcad: so, is there going to be a brep/ folder?
18:01.03 poolio or would it be in primitives?
18:01.18 brlcad there are two things ..
18:01.31 brlcad a brep primitive will live in a primitives/brep/ folder
18:01.49 brlcad there will eventually be one folder for each primitive with the routines for that primitive
18:02.24 brlcad you're adding an additional brep() routine to each of those folders
18:02.37 brlcad it'll be more clear, I'm working on arb now
18:02.49 poolio ah ok. So I don't need to write any of the arb schtuff?
18:07.57 CIA-21 BRL-CAD: 03brlcad * r31262 10/brlcad/trunk/ (6 files in 5 dirs):
18:07.57 CIA-21 BRL-CAD: recant, make the subdir match the table primitive type so s/nurb/bspline/ for
18:07.57 CIA-21 BRL-CAD: the directory name. keep the files named as nurb_. it's a minor point, but the
18:07.58 CIA-21 BRL-CAD: short name can't be easily renamed so go with the table label.
18:07.59 brlcad you're going to be adding a file for *each* primitive, including arb
18:08.25 brlcad that's the main point, to have a new hook function
18:08.58 pacman87 gdb shows neither rt_hyp_prep() nor rt_hyp_shot() are being called
18:09.47 pacman87 i set a breakpoint for rt_hyp_plot() too, to make sure i was using gdb properly, and it caught that one
18:16.14 ``Erik do your bounding box and sphere make sense? is the ray actually intersecting both?
18:19.09 brlcad pacman87: set ft_use_rpp to 0 in table.c, see if prep is called
18:21.04 pacman87 brlcad: cant' find ft_use_rpp in src/librt/table.c
18:21.06 brlcad you can single step a ray easily with nirt or rt -Q
18:21.27 brlcad pacman87: that's because you just use the value there
18:21.40 brlcad look at the rt_functab structure
18:22.05 brlcad your primitive is hooked into an rt_functab table with a slew of settings and callbacks
18:24.50 pacman87 where is rt_functab defined?
18:25.04 brlcad raytrace.h
18:28.49 starseeker begins to see how it's very nice to have cmake generate cross-platform build logic...
19:00.27 CIA-21 BRL-CAD: 03bob1961 * r31263 10/brlcad/trunk/ (3 files in 3 dirs): Added bu_copy_argv, bu_copyinsert_argv and bu_free_argv.
19:01.49 *** join/#brlcad PrezKennedy (i=Matthew@74.86.45.130)
19:05.18 CIA-21 BRL-CAD: 03bob1961 * r31264 10/brlcad/trunk/src/mged/rtif.c: Modified f_nirt() to pass along the use_air setting.
19:10.08 *** join/#brlcad thing0 (n=ric@124-169-237-118.dyn.iinet.net.au)
19:19.06 brlcad hrms and looks at bob's argvage
19:21.10 pacman87 after changing it to 0, prep() still isnt' called
19:25.06 brlcad hum hum hum.. that implies you have something else wrong of course -- like the primitive ID doesn't match the table entry or something
19:26.23 pacman87 do i need it in idmap[]?
19:26.37 pacman87 there's a lot of ID_NULLs in there
19:35.12 brlcad shouldn't need to
19:35.26 brlcad that's a v4 to v5 conversion table
19:38.41 pacman87 how do i check in g_hyp.c now? i'm getting a 'svn: file not found'
19:39.17 pacman87 will an update move my files to the right place?
19:48.16 CIA-21 BRL-CAD: 03pacman87 * r31265 10/brlcad/trunk/src/librt/table.c: implemented import5() and export5(); corrected the bounding radius in prep()
19:50.37 CIA-21 BRL-CAD: 03pacman87 * r31266 10/brlcad/trunk/src/librt/primitives/g_hyp.c: try 2: implemented import5(), export5(), and describe(); corrected the bounding radius in prep()
19:50.41 pacman87 there we go
19:50.59 *** join/#brlcad clock_ (n=clock@217-162-109-235.dclient.hispeed.ch)
19:51.05 pacman87 hi clock_
19:52.15 clock_ hi
19:54.06 pacman87 make[2]: *** No rule to make target `g_arb.c', needed by `g_arb.lo'. Stop.
19:55.33 pacman87 i'll try "make clean && ./autogen.sh && ./configure --enable-all && make"
19:55.46 pacman87 i'll check back in 30 min
19:57.51 CIA-21 BRL-CAD: 03bob1961 * r31267 10/brlcad/trunk/ (25 files in 3 dirs): Mods to use "struct ged" instead of "struct rt_wdb"
20:14.09 brlcad pacman87: that's dependency tracking, you make have to "make distclean" and rerun from autogen.sh
20:14.32 pacman87 make clean isnt' enough?
20:14.43 brlcad not usually
20:15.04 pacman87 you couldn't tell me this 15 minutes ago :)
20:16.20 brlcad is not sure he likes breaking up the g_ files
20:18.50 louipc how are you breaking them up?
20:18.51 brlcad about a half-hour of tedius refactoring, increases the compile time by more than an order, and the benefit seems wibbly on the surface for just the C funcs
20:19.08 brlcad basically putting each callback into it's own file
20:19.58 louipc hm
20:20.00 brlcad e.g. http://pastebin.bzflag.bz/md128a9b
20:20.51 brlcad so I think it works really well for objects like nurbs, nmgs that have dozens of files
20:21.34 brlcad kinda torn now, need separation for the C++ code
20:22.35 louipc oh yea
20:22.59 brlcad will have to think about this some more
20:27.27 poolio brlcad: Keep me posted :)
20:28.24 poolio mkdir src/librt/brep_cpp_crap
20:30.42 louipc darn nurbs
20:54.20 pacman87 36m12.754s to recompile everything
20:55.34 CIA-21 BRL-CAD: 03bob1961 * r31268 10/brlcad/trunk/src/libbu/ (CMakeLists.txt Makefile.am): Add reference to argv.c
21:01.15 pacman87 /home/timothy/brlcad/brlcad/src/mged/rtif.c:1788: undefined reference to `bu_copyinsert_argv'
21:01.15 pacman87 /home/timothy/brlcad/brlcad/src/mged/rtif.c:1791: undefined reference to `bu_free_argv'
21:01.28 starseeker fixed by bob in that last commit
21:01.48 pacman87 thanks, starseeker
21:01.59 starseeker np - building myself at the moment :-)
21:02.37 pacman87 how long does it take you to build all, and on what hardware?
21:05.13 louipc takes me like 1.5 hr on 866MHz pIII
21:26.45 CIA-21 BRL-CAD: 03starseeker * r31269 10/brlcad/trunk/src/nirt/nirt.c: no argument supplied to bu_log string variable - command strings are printed below so assuming this should be just a label. Fixes crash with bus error for nirt -X 2 debug case.
22:14.46 brlcad the machines I compile on range from about 3 minutes to 3 hours to compile with --enable-all
22:15.02 brlcad of course tends to prefer the 3 minute system
22:15.28 brlcad curious to retry ccache or distcc now that "make fast" is in place
22:18.35 brlcad okay, I think I have a workable compromise wrt to the primitive breakouts
22:26.06 pacman87 brlcad: what hardware is the 3 minute on?
22:33.22 ``Erik thinks a 12 core altix with something like 16g ram and a big 15krpm scsi raid
22:33.27 ``Erik mebbe 32g
22:33.49 ``Erik it's a beastly machine, if it weren't for sgi's twisted version of suse, it'd be nice :)
22:34.56 ``Erik I think I'm running ~4 minutes on a quad core opteron running fbsd8 with sata disks, but I'm not building png, tcl or tk with that
22:36.49 pacman87 on another note, i'm really confused about rt
22:37.01 pacman87 i added breaks for rt_ehy_prep
22:37.27 pacman87 and rt_ehy_shot; and did rt on a simple ehy, and neither on caught
22:37.44 pacman87 s/neither on/neither one/
22:38.48 ``Erik hrm, did the breaks take?
22:39.02 pacman87 yeah, gdb said they were resolved
22:39.17 pacman87 and adding a break on rt_xxx_plot works fine
22:39.19 ``Erik usually I have to break main, start rt, then add library breaks and continue, since stuff in librt does not exist before rt is executed
22:39.26 ``Erik hrm, weird
22:40.00 pacman87 and if i try a ctrl-c and 'where' in the middle, i just get into tcl stuff
22:40.05 ``Erik try making geometry with both a sphere and and an ehy, break both preps and run it to see if both are being caught?
22:43.15 pacman87 neither prep is caught
22:44.51 ``Erik does it render them ok?
22:44.54 pacman87 yes
22:45.55 pacman87 http://pastebin.bzflag.bz/m4340ef3c
22:46.29 pacman87 that's my gdb run, i did ctrl+c in the middle of rt
23:02.51 *** join/#brlcad thing0 (n=ric@123.208.172.171)

Generated by irclog2html.pl Modified by Tim Riker to work with infobot.