| 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) | |