IRC log for #brlcad on 20090617

00:36.07 CIA-32 BRL-CAD: 0389.136.118.141 07http://brlcad.org * r1482 10/wiki/More_Changelog: /* April, 20 ??? May, 23 - Bonding period */
00:38.02 ``Erik effing broke my wrist :(
00:38.13 brlcad que? como?
00:39.15 brlcad hehe, I think you're doing it wrong. *ahem* :)
00:39.22 CIA-32 BRL-CAD: 0389.136.118.141 07http://brlcad.org * r1483 10/wiki/User:EBautu:
00:39.29 ``Erik heh
00:40.23 ``Erik was drunk rough-housing, put the hand down to keep my an the kids skull from smackng ground
00:41.21 ``Erik extended sick leave in an unfun way :(
00:42.08 ``Erik unless I can coerce daytona and bparker into carrying my
00:42.08 ``Erik me
00:42.42 ``Erik (which is an unsubtle hint for you to chatter them)
00:42.46 ``Erik :D
00:43.22 ``Erik or anyone else who can talk to 'em *shrug*
00:45.03 brlcad you can't drive with one arm? I manage it all the time ;)
00:45.14 ``Erik right arm is out
00:45.17 brlcad knee + left-hand shift
00:45.19 brlcad ;)
00:45.37 ``Erik heh
00:45.45 brlcad isn't kidding <cackle>
00:46.32 ``Erik clipped a piece off the cup
00:46.49 brlcad and there are already plans for chinese buffet 'morrow :)
00:47.10 ``Erik which?
00:47.25 ``Erik lee's hunan is one I can skip
00:47.26 brlcad er, not family
00:47.38 brlcad ah, then you won't miss anything :)
00:48.09 ``Erik I think that spaghetti at grmpys had chicken
00:48.18 brlcad man is this ceviche awesome!
00:48.31 ``Erik heh, bring some up!
00:49.26 brlcad dont think any will be left, only got a pound of orange roughy which will probably be gone after tonight
00:49.42 ``Erik hey, what kinda stuff does tidewater have? I really wanna go, ... but am not 100%
00:49.50 brlcad have to make a nother batch
00:50.17 ``Erik you should bring some into work :)
00:50.25 brlcad specialty is seafood, but also have other stuff -- steak, salad, soups, etc
00:50.49 ``Erik so a harbor snob shop
00:50.57 brlcad http://www.thetidewatergrille.com/menus/lunch-dinner-menu.html
00:51.41 ``Erik heh, the have an extra e :)
00:52.15 brlcad it's so they can charge you more ;)
00:52.33 brlcad mm.. that ribeye sounds really good
00:53.19 ``Erik I'll keep the page open an see how my hand is doing in a couple days
00:53.35 ``Erik I doubt steak is in my near future :(
01:06.59 starseeker ``Erik: broken broken or just hurt?
02:56.52 *** join/#brlcad Axman6 (n=Axman6@pdpc/supporter/student/Axman6)
02:57.48 *** join/#brlcad louipc (n=louipc@archlinux/trusteduser/louipc)
04:18.49 *** join/#brlcad IriX64 (n=IriX64@bas2-sudbury98-1128564968.dsl.bell.ca)
07:15.15 *** join/#brlcad madant (n=d@117.196.139.80)
07:17.44 madant heh http://www.flickr.com/photos/39304894@N05/3618699986/in/photostream/
07:19.30 *** join/#brlcad madant (n=d@117.196.139.80)
08:06.34 *** join/#brlcad madant (n=d@117.196.133.218)
08:56.32 *** join/#brlcad _clock_ (n=_sushi_@77-58-151-159.dclient.hispeed.ch)
09:00.38 *** join/#brlcad madant (n=d@117.196.131.144)
09:17.33 *** join/#brlcad _clock__ (n=_sushi_@77-58-151-159.dclient.hispeed.ch)
09:37.55 *** join/#brlcad madant (n=d@117.196.130.166)
09:46.47 CIA-32 BRL-CAD: 03Jdoliner 07http://brlcad.org * r1484 10/wiki/User:Jdoliner: Updated with 3 days worth of progress.
11:14.46 *** join/#brlcad mafm (n=mafm@199.Red-88-26-141.staticIP.rima-tde.net)
11:47.21 madant brlcad: where exactly does mged search for the tab autocompletion ?
11:49.06 archivist does it use readline...wherever that stores its data
11:50.10 ``Erik um, there's a list in tcl, daytona added it
11:52.43 ``Erik tab expansion in src/tclscripts/mged
11:56.49 madant ``Erik: yay.. thanks :)
12:03.40 *** join/#brlcad BigAToo (n=BigAToo@pool-96-230-124-203.sbndin.btas.verizon.net)
12:21.17 *** join/#brlcad _clock_ (n=_sushi_@77-58-151-159.dclient.hispeed.ch)
12:36.47 brlcad ~seen elena
12:36.48 ibot elena <n=elena@89.136.118.141> was last seen on IRC in channel #brlcad, 1d 19h 52m 37s ago, saying: 'ok. i will.'.
12:37.16 brlcad madant: trust you found it, yes?
12:38.25 brlcad tab-completion needs to be refactored into more of a C component at some point, or at least a tcl component that is auto-loaded (you'll get an error presently if you run classic-mode without installing)
12:39.45 brlcad Ralith: fyi, you're getting beyond danger zone at this point .. really gotta kick up the activity in a massive way
12:40.02 brlcad pacman87: same for you too...
12:41.13 brlcad it's easy to get distracted with other priorities, but there's going to be no possible way to recover if there are more days of inactivity
12:43.03 brlcad really don't want to have to establish probationary failure criteria in order to keep the activity going, but it might have to come to that given folks aren't putting anywhere near full-time effort in yet
12:58.30 madant brlcad: hmm.. not really.. still figuring it out :)
12:59.05 madant i was making the first command in libged. lscon for listing constraint objects in a databse
12:59.52 madant it works in mged now ( prints "Hi" that is) except for the autocompletion
13:16.00 mafm brlcad: slap them with a large trout!
13:34.46 mafm bah, nobody likes my MIRC reference :'(
13:35.07 madant cheers mafm :P
13:35.40 mafm cries, only gets cheers for pitiness...
13:35.53 madant has to go shopping with MOM
13:36.19 madant has to go shopping wiht MOM RIGHT NOW :P talk about pity :P
13:37.39 mafm lol
13:37.50 mafm I got a free day from mom today
13:38.03 mafm she went with her ex-workmates :P
13:38.08 _clock_ MOM RIGHT NOW is it sume subspecies of MOM?
13:39.01 mafm yep _clock_, it's the most aggresive
13:39.06 mafm worse than polar bear mums
13:46.47 brlcad mafm: slapped
13:46.56 *** join/#brlcad mafm_ (n=mafm@199.Red-88-26-141.staticIP.rima-tde.net)
13:47.42 brlcad hopefully that message will convey the sheer urgency of the situation
13:52.31 brlcad as a workaholic, I too-often tend to assume folks will simply work more/harder/better when they miss time in order to get caught up, but that's not been the case thusfar
13:53.15 brlcad thankfully, e-mail does not lend itself well to a blink tag ;)
13:54.17 mafm_ IMPORTANT SUBJECTS OMG would not help either, they to directly to spam :P
13:54.26 brlcad DEFEAT DOES NOT EXIST IN THIS DOJO, DOES IT?! (NO SENSEI!)
13:54.40 mafm_ :D
13:55.51 mafm_ I've been a bit sidetracked in the past weeks too
13:56.20 mafm_ but I managed to produce something regularly
13:57.55 *** join/#brlcad BigAToo (n=BigAToo@64.74.225.82)
14:27.41 pacman87 is guilty as charged
14:32.39 CIA-32 BRL-CAD: 03ebautu * r34728 10/web/trunk/htdocs/more/sites/all/modules/filefield/ (34 files in 7 dirs): filefield 2.4 (initial commit)
14:49.51 madant anybody else having all these Makefile.in and m4 scripts cropping up in the other/step during svn status check. should i edit the svn:ignore property ?
14:50.33 madant same goes for some htmls in docbook/lessons/mged
14:51.39 starseeker the step stuff yeah, I see it too - go for it on the property changes
14:51.58 starseeker dunno about docbook/lessons/mged - thought I had all that - but if not go for it
14:55.54 madant starseeker: for instance lessons/mged/mug_through_gui.html
14:56.17 madant could i go for svn:ignore *.html in lessons/mged ? :)
14:56.42 starseeker sure
14:58.10 madant kewl.. and whats with all these m4 scripts m4/libtool.m4 .. creepy ..
15:01.08 ``Erik urses
15:01.09 ``Erik curses, even
15:01.11 starseeker step is a full fledged subconfigure
15:01.31 starseeker it can actually build as a standalone library
15:01.54 ``Erik all imports can (src/other)
15:04.13 starseeker I don't think most of them do the whole autogen -> configure stage on their own as a standalone checkout
15:05.29 starseeker what I ment was if you were to checkout just trunk/src/other/step from our svn tree you don't need any of the top level autogen/configure scripts - it's self contained
15:06.00 starseeker I'm not sure about that for all of the src/other libs
15:06.05 starseeker particularly opennurbs
15:06.30 madant boost doesn't even need building :)
15:17.52 CIA-32 BRL-CAD: 03homovulgaris * r34729 10/brlcad/trunk/ (13 files in 13 dirs): svn:ignore set for various files
15:18.50 CIA-32 BRL-CAD: 03ebautu * r34730 10/web/trunk/htdocs/more/sites/all/modules/filefield/filefield.module: Add option to filefield fields to select local files (required for ftp model uploading)
15:56.17 ``Erik ´no, many are not aumomake
15:57.23 CIA-32 BRL-CAD: 03ebautu * r34731 10/web/trunk/htdocs/more/sites/all/modules/filefield/filefield.module: Add handler to filefield fields to select local files (required for ftp model uploading)
16:00.54 mafm can see some relationship between brlcad's blackmailing and the current surge in activity :D
16:01.50 ``Erik heh
16:07.04 ``Erik cept it aint blackmail, it's step up or step off
16:08.07 starseeker yep
16:10.12 mafm he made them an offer that they can't refuse
16:10.19 mafm il padrino
16:11.17 madant :)
16:11.40 madant il padrino indeed :P
16:13.44 madant oh wait my commit didn't even have a single line change :P
16:32.40 *** join/#brlcad Elrohir (n=kvirc@p5B14E6CB.dip.t-dialin.net)
16:33.19 CIA-32 BRL-CAD: 03ebautu * r34732 10/web/trunk/htdocs/more/sites/all/modules/filefield/filefield.module: Implement copy/move/link for local files in filefield fields (in order to cope with huge 1GB+ files)
16:35.34 CIA-32 BRL-CAD: 03homovulgaris * r34733 10/brlcad/trunk/src/ (39 files in 39 dirs): svn:ignore further directories and files - step, adrt,proc-db and src/conv related
16:53.23 madant brlcad: my autogen.sh adds these files to the m4 in root as well as src/other/step/m4 - libtool.m4, lt~obsolete.m4, ltsugar.m4 ltversion.m4 ltoptions.m4 should they be added to the svn:ignore individually ?
17:02.45 *** join/#brlcad BigAToo (n=BigAToo@pool-96-230-124-203.sbndin.btas.verizon.net)
17:13.45 brlcad madant: it adds files to m4?? what version of libtool do you have?
17:16.49 brlcad otherwise, yes -- you can/should individually (not globbed) add any files generated during autogen.sh or configure
17:23.40 *** join/#brlcad jdoliner (n=jdoliner@c-68-51-75-169.hsd1.il.comcast.net)
17:24.13 brlcad jdoliner: hey jd -- did you see indianlarry's message about the patch not compiling?
17:25.48 jdoliner yeah, updating right now
17:26.03 jdoliner although it did still compile
17:26.03 brlcad how'd it compile for you? :)
17:26.05 jdoliner atleast for me
17:27.04 brlcad hum
17:28.05 jdoliner make brepintersect
17:28.16 jdoliner worked for me
17:29.31 jdoliner which in retrospect is kinda weird I guess
17:30.47 brlcad but that gave you a brepintersect program that you could run?
17:31.01 jdoliner yeah
17:31.07 brlcad it should fail outright during autogen.sh
17:31.24 brlcad (which you should run whenever you edit a Makefile.am or the configure.ac file)
17:31.42 jdoliner I see I didn't know that
17:31.54 jdoliner yeah "make brepintersect"
17:32.15 jdoliner was working exactly how I wanted it to so I didn't think twice
17:32.56 jdoliner okay just uploaded the changes I made to the make file
17:33.01 brlcad no problem
17:33.09 brlcad pretty minor issue
17:33.28 brlcad not exactly within scope to become an expert on build systems and make ;)
17:33.53 indianlarry jdoliner: i take a look at now
17:34.02 jdoliner thanks
17:34.14 brlcad i'm just surprised make is actually producing a product for which there isn't a rule, using some default rules :) .. maybe a gnumake feature, never seen that with bsdmake
17:34.53 brlcad the patch is still the old one or did you just upload something now?
17:35.20 jdoliner I just uploaded something new
17:36.20 brlcad k
17:38.10 indianlarry jdoliner: where's your header file?
17:38.21 indianlarry jdoliner: not in patch
17:38.35 jdoliner k
17:38.40 jdoliner coming forth with
17:38.56 jdoliner forgot to svn add that :?
17:39.33 brlcad if you run "svn status", it'll tell you the state of files including files it doesn't know about annotated with ?
17:39.33 indianlarry jdoliner: no problem just let me know when it's up
17:40.02 brlcad svn status goes hand in hand with running svn diff when making a patch to make sure you've included everything
17:40.42 brlcad and that's *not* just for patches .. you do the same for commits too .. otherwise you're going to hose other developers and the compilability of the code (especially for svn add's)
17:43.27 madant brlcad ltmain.sh (GNU libtool) 2.2.6
17:43.28 jdoliner k uploaded
17:43.36 indianlarry jdoliner: on it
17:44.00 brlcad madant: libtoolize --version
17:44.11 brlcad same thing?
17:44.28 madant yep
17:44.35 brlcad okay, interesting then
17:44.44 brlcad that's the newest libtool I've seen
17:45.18 madant it basically adds the same m4 scripts to the root m4 and the one in step
17:46.41 brlcad madant, indianlarry, pacman87: you all should have tracker rights now to update any tracker item data for any tracker item
17:46.52 brlcad just fyi
17:47.08 madant yippeeee :)
17:47.22 pacman87 ok
17:47.22 madant ok i should start acting more matured around here
17:47.51 brlcad just shouldn't add/change any groups or categories (as they are permanent and cannot be unchanged)
17:47.59 brlcad at least without discussion
17:48.02 madant brlcad what is the intaval at src/other ?
17:48.37 brlcad intaval is a geometry file format used in the UK -- it builds an importer (tgf-g)
17:49.20 brlcad madant: it's no longer in src/other though...
17:49.47 brlcad you probably just have a stale directory (svn won't remove the dir if they have files in them (like the generated Makefile))
17:49.55 madant yeah it has an empty directory with a Makefile and Makefile.in :P
17:50.09 indianlarry jdoliner: hey all built okay, brlcad gave you commit access, make me proud ;^)
17:51.11 jdoliner yippee
17:51.12 madant jdoliner: congrats :)
17:51.31 madant i was very thrilled when i got my commit access
17:51.41 madant broke the build within a week i think :P stupid boost
17:51.45 brlcad jdoliner: go ahead and commit your patch to make sure commit access is set up okay, include useful commit message, etc
17:51.49 brlcad hehe madant
17:51.51 madant i meant boostlib
17:53.03 brlcad yeah, jdoliner -- don't expect you to get everything right, and accidental breakage from time to time will occur, but do expect you 1) to try to not break it, 2) to fix it quickly when you do break it and 3) to talk with the other devs, especially if you're unsure or have questions ;)
17:53.15 brlcad otherwise, congrats! :)
17:53.18 jdoliner thanks
17:53.24 jdoliner password is my sourceforge password?
17:53.32 brlcad I sure hope so
17:53.33 madant jdoliner: yep
17:54.00 madant at some point i want to shift my name from stupid homovulgaris to madant at sourceforge
17:54.03 brlcad one you set it, it'll cache the password so you don't have to keep entering it
18:00.15 CIA-32 BRL-CAD: 03jdoliner * r34734 10/brlcad/trunk/src/proc-db/ (Makefile.am brepintersect.cpp brepintersect.h):
18:00.20 CIA-32 BRL-CAD: Initial commit for breponbrep CSG support. Adds the functions PointInTriangle,
18:00.20 brlcad woo hoo
18:00.24 CIA-32 BRL-CAD: SegmentSegmentIntersect, SegmentTriangleIntersect, TriangleTriangleIntersect,
18:00.26 CIA-32 BRL-CAD: and stub for TriangleBrepIntersect in brepintersect.cpp. Also adds
18:00.28 CIA-32 BRL-CAD: brepintersect.h, the header file for brepintersect.cpp. And modifies the
18:00.30 CIA-32 BRL-CAD: Makefiles.
18:00.35 brlcad nice
18:00.40 jdoliner oh baby
18:00.49 indianlarry why to go jdoliner
18:01.03 jdoliner thanks guys
18:02.04 madant brlcad types too fast didn't even give CIA time to finish :P
18:02.25 ``Erik effin blankety blank
18:02.27 brlcad CIA-32 is slow
18:02.57 pacman87 time to upgrade to v33?
18:04.03 brlcad heh
18:14.45 CIA-32 BRL-CAD: 03homovulgaris * r34735 10/brlcad/trunk/ (9 files in 5 dirs): adding the framework for lscon (list constraints) command to libged, associated tab-completion in mged
18:15.11 madant mafm: step up or step off always works :D
18:18.10 madant brlcad, elena: how do i access this more system ? i mean what do i do at brlcad.org/more ?
18:24.43 brlcad madant: patience :)
18:25.34 brlcad she's been installing extension modules that are needed/useful
18:25.56 brlcad then comes configuration, then comes stubbing out a new module with functionality
18:38.41 *** join/#brlcad jdoliner (n=jdoliner@c-68-51-75-169.hsd1.il.comcast.net)
18:44.54 madant brlcad: ok :)
18:58.24 mafm yay for stepping up!
19:09.31 madant mafm: moi ? not sure if i did :)
19:12.43 mafm only il padrino knows
19:19.20 ``Erik woot, gratz jdoliner
19:19.55 jdoliner oh thanks eric
19:20.25 ``Erik k...
20:26.42 Ralith brlcad: thanks for the notice
20:27.23 *** join/#brlcad andax (n=andax__@d213-102-41-56.cust.tele2.ch)
20:34.11 Ralith today, if all goes well, I should get RBGUI in Ogre in Qt to work
20:34.39 Ralith then it's on to the task of rendering Qt widgets within Ogre in Qt, which should be easy.
20:36.55 CIA-32 BRL-CAD: 03ebautu * r34736 10/web/trunk/htdocs/more/sites/all/modules/captcha/ (30 files in 5 dirs): captcha initial commit (3.2)
20:39.13 *** join/#brlcad samrose (n=samrose@c-24-11-214-181.hsd1.mi.comcast.net)
20:39.34 Ralith mafm: you around?
20:45.17 CIA-32 BRL-CAD: 03ebautu * r34737 10/web/trunk/htdocs/more/sites/all/modules/fivestar/ (92 files in 15 dirs): fivestar initial commit (1.15)
20:47.23 Ralith ffffff
20:47.31 Ralith great time for my wm to lose all semblance of stability >:|
20:47.53 *** join/#brlcad elena (n=elena@89.136.118.141)
20:49.32 CIA-32 BRL-CAD: 03ebautu * r34738 10/web/trunk/htdocs/more/sites/all/modules/flag/ (21 files in 3 dirs): flag module initial commit (1.1)
20:51.51 jdoliner ralith: my window manager just detached one of the windows from its shadows
20:52.12 jdoliner it felt so reminiscent of Peter Pan
20:52.18 Ralith heh
20:52.34 CIA-32 BRL-CAD: 03ebautu * r34739 10/web/trunk/htdocs/more/sites/all/modules/imageapi/ (13 files): imageapi module initial commit (1.5)
20:53.34 Ralith hokay, functionality restored
20:53.35 Ralith back to work
20:54.55 CIA-32 BRL-CAD: 03ebautu * r34740 10/web/trunk/htdocs/more/sites/all/modules/imagefield/ (12 files in 2 dirs): imagefield module initial commit (2.6)
20:55.25 brlcad Ralith: sure, and good to hear -- great info for your wiki log after today ;)
20:55.55 Ralith yeah. I think I need to buy this machine a new ramstick, though.
20:55.59 CIA-32 BRL-CAD: 03jdoliner * r34741 10/brlcad/trunk/src/proc-db/brepintersect.cpp: Added tests for SegmentTriangleIntersect. Fixed a bug in SegmentTriangleIntersect
20:56.06 Ralith if I don't kill FF, just runninng g++ is going to drag me to a halt
20:56.19 pacman87 Ralith: what are you running now?
20:57.00 Ralith one 512MB stick
20:57.20 Ralith just loading file menu to exit cleanly took a minute :|
20:57.28 Ralith I did not know building C++ took up this much RAM.
20:59.09 Ralith firefox annoyance #1: it doesn't exit when you think it's exited
20:59.15 Ralith breaks out the kill -9
20:59.39 Ralith watches half his memory free up :D
21:01.40 *** join/#brlcad BigAToo (n=BigAToo@pool-96-230-124-203.sbndin.btas.verizon.net)
21:02.30 CIA-32 BRL-CAD: 03ebautu * r34742 10/web/trunk/htdocs/more/sites/all/modules/mimedetect/ (9 files): mimedetect module initial commit (1.3)
21:27.51 CIA-32 BRL-CAD: 03ralith * r34743 10/rt^3/trunk/src/g3d/ (OgreGLWidget.cxx OgreGLWidget.h): Added temporary accessors for Ogre-related pointers to ease RBGui->Qt transition.
21:28.22 Ralith argh.
21:41.00 CIA-32 BRL-CAD: 0389.136.118.141 07http://brlcad.org * r1485 10/wiki/More_Changelog:
21:41.03 Ralith ...ahah!
21:42.05 Ralith yay! progress!
21:42.24 CIA-32 BRL-CAD: 0389.136.118.141 07http://brlcad.org * r1486 10/wiki/More_Changelog:
21:44.03 CIA-32 BRL-CAD: 03ralith * r34744 10/rt^3/trunk/src/g3d/OgreGLWidget.cxx: Perform OGRE initialization in constructor so that OGRE's various singletons exist before the application formally starts.
22:08.54 Ralith argh.
22:09.10 Ralith I'm going to have to drag all the RBGui stuff into OgreGLWidget until RBGui is completely purged >:|
22:17.59 starseeker Ralith: well, it's in a state of flux anyway :-)
22:18.19 Ralith yeah, but it's making my nice tidy widget implemenation all messy.
22:18.36 starseeker Ralith: Ah :-)
22:22.56 elena hi Cliff.
22:23.09 starseeker hey elena - how goes it?
22:23.32 elena fine. did you had a change to look at the activity log?
22:23.38 elena is it ok how it is?
22:24.40 starseeker yep, looks goog
22:24.42 starseeker er good
22:24.51 elena ok. thank you.
22:25.05 elena i'm working now on the multiple upload methods.
22:25.34 starseeker very good :-)
22:26.23 elena :)
22:54.47 elena going to bed.
22:54.54 starseeker ok, night!
22:54.59 elena bye. have a nice day.
23:00.36 *** join/#brlcad Elrohir (n=kvirc@p5B14EE79.dip.t-dialin.net)
23:21.29 *** join/#brlcad jdoliner (n=jdoliner@c-68-51-75-169.hsd1.il.comcast.net)
23:29.54 brlcad ~ralith++
23:29.59 brlcad hooray for progress :)
23:33.41 starseeker brlcad: up for a C++ question?
23:33.48 brlcad always
23:33.59 brlcad answer is probably "don't do it!"
23:34.10 brlcad s/it/whatever/ :)
23:34.12 starseeker hehe
23:35.05 starseeker OK, we currently have BANodes and BVNodes defined for the curve and surface trees. There are typedef statements that appear to be linking each of those to ON_BoundingBox, e.g. typedef BANode<ON_BoundingBox> BRNode;
23:35.59 brlcad sorta, but continue
23:37.16 brlcad BANode<ON_BoundingBox> can be thought of as a type of it's own, hence the typedef -- more specifically, BANode is a template class, apparently a node comprised of an ON_BoundingBox object
23:38.29 starseeker OK, so that node gets ON_BoundingBox + whatever was defined in BANode?
23:39.10 starseeker or is it JUST a ON_BoundingBox that can be treated as also being of type BANode?
23:39.11 brlcad really all it means is that BANodes use an ON_BoundingBox in some fashion
23:39.27 brlcad depends entirely on how it was used
23:39.33 starseeker OK.
23:39.38 mafm Ralith: intermittently :D
23:39.51 brlcad the thing between the <>'s is any type, used in some way by the class
23:40.33 brlcad for example, BANode<int> could conceivably work, for example
23:40.34 starseeker brlcad: The functional consequence appears to be to allow the m_node.m_min statements to actually return something, because m_min is defined in ON_BoundingBox and is nowhere defined in opennurbs_ext.h that I can see
23:41.48 brlcad can sort of think of the thing between the <>'s, e.g. <FOO> as a #define FOO ON_BoundingBox .. and the BANode class uses FOO in various places in its header
23:41.49 starseeker and in the class definition of BANode m_node is defined thusly: BA m_node;
23:42.06 brlcad so when you say BANode<Whatever> it substitutes all the FOO's with Whatever
23:42.32 starseeker Ah, OK
23:43.50 brlcad templates really are sorta similar to the preprocessor, just instead it's a language intrinsic that the compiler knows about so it can actually continue to perform proper type checking
23:43.58 starseeker so that definition means anything of class BA will satisfy the type requirements and can be assigned to m_node?
23:44.38 brlcad it means m_node is of type <WHATEVER>
23:45.34 brlcad so that m_node.m_min is only valid for classes that have a m_min data member, and trying to use a type like BANode<float> for example, will result in a compile error
23:46.10 brlcad because it's like saying: float foo; foo.m_min = blah;
23:46.21 starseeker ah. OK
23:46.31 brlcad instead it's like: ON_BoundingBox foo; foo.m_min = blah;
23:46.37 brlcad since that's what was in the <>'s
23:47.04 brlcad somewhere in the definition you should see a line that says template <class BA>
23:47.08 starseeker erm. what is the advantage of the typedef then over just using ON_BoundingBox?
23:47.10 starseeker yes
23:48.31 starseeker is missing something...
23:48.41 brlcad 'class' is a compiler hint saying it needs to be a class type, not some basic type like int/float/etc; BA is the "#define BA ..." symbol
23:49.20 brlcad so then the "BA m_node;" line can be thought of as being substituted by the <> class type
23:50.23 starseeker resulting on ON_BoundingBox m_node; ?
23:50.29 starseeker s/on/in
23:50.32 brlcad yep
23:51.19 starseeker now I REALLY don't get why he didn't just use a straight up ON_BoundingBox declaration
23:51.49 brlcad templates are quite powerful and can be very beautiful, allowing very flexible and tuned performance
23:52.02 brlcad template errors are a spawn of the devil and cause premature aging
23:52.43 brlcad probably because he wasn't sure he wanted to couple his class so strongly to an ON class
23:53.20 brlcad as a template, he theoretically has to change very minimal to use his own BB class, for example, or something highly optimized, etc
23:53.28 starseeker oh, so he could just change that one line and avoid having to rewire all the explicit ON_BoundingBox references?
23:53.34 brlcad right
23:53.54 mafm premature aging, calculus is the kidneys, vomits and sometimes diarrhea
23:53.55 brlcad he would just have to make a class that has a m_min data member and he would only have to change one line
23:53.58 brlcad that's pretty cool
23:55.40 starseeker proceeds to document that, no matter if it's overly basic and only helpful for C++ ignoramuses...
23:55.54 brlcad thinks starseeker will probably become a fan of boost for their mathematical rigor once he gets the hang of templates
23:56.15 starseeker probably :-)
23:57.45 starseeker brlcad: thanks for clearing that up - I was trying to see how all that wired together and was having a bit of a time of i t
23:58.50 mafm do you want to learn the basics about templates? probably some of the functions like std::max and the like are easy to grasp, and then some of the classic data structures (lists, queues...)
23:59.06 brlcad and yes, fwiw, that's exceedingly basic c++ to be a persistent comment -- one intro course and that comment becomes the equivalent of explaining "#define FOO bar" replaces all instances of FOO with bar

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