IRC log for #brlcad on 20070618

01:05.57 *** join/#brlcad poolio_ (n=poolio@c-69-251-3-107.hsd1.md.comcast.net)
01:38.42 *** join/#brlcad Twingy (n=justin@74.92.144.217)
03:46.29 *** join/#brlcad poolio_ (n=poolio@c-69-251-3-107.hsd1.md.comcast.net)
03:51.04 *** join/#brlcad poolio_ (n=poolio@c-69-251-3-107.hsd1.md.comcast.net)
04:39.38 CIA-4 BRL-CAD: 03johnranderson * 10brlcad/src/gtools/g_diff.c:
04:39.38 CIA-4 BRL-CAD: Added calls to wdb_create_command() since it had been removed from wdb_obj_init().
04:39.38 CIA-4 BRL-CAD: Also fixed a small bug where -f option would miss differences.
04:48.53 CIA-4 BRL-CAD: 03johnranderson * 10brlcad/src/ (7 files in 6 dirs):
04:48.53 CIA-4 BRL-CAD: Eliminated more instances of direct access of interp->result (not allowed
04:48.53 CIA-4 BRL-CAD: since tcl 8.0)
05:16.49 brlcad woot
05:18.38 yukonbob brlcad: BRL-CAD heavily uses [incr tcl], right?
05:19.10 brlcad mged and rtwizard heavily use incrTcl
05:19.17 brlcad and archer iirc
05:19.29 yukonbob =) -- what I mean is sit idly by --- hopefully I'll be able to contribute some useful code sometime :)
05:19.30 brlcad i.e. the gui tools do, but not the rest
05:19.36 yukonbob ah...
05:19.52 yukonbob but the 7.10 is dependent on the (still beta) tcl 8.5, right?
05:20.17 brlcad there are hundreds of "processing tools" that work in a unix fashion (can be chained together, perform rather isolated tasks, command-driven, etc)
05:20.29 brlcad right
05:21.00 brlcad 8.4 can be made to work, but there are about a dozen lines of code that would need to be back-updated
05:21.18 brlcad s/back-updated/patched/
05:21.29 yukonbob is there a changelog 7.8->7.10?
05:21.53 brlcad 8.5 is needed for the tk aqua fixes on os x though among a few other significant fixes
05:22.23 brlcad yes, see the NEWS file for user-visible changes or the ChangeLog for all commits release-to-release
05:22.41 brlcad speaking of the news file...
05:23.04 yukonbob brlcad: 8.5 gets it's own native OO, iirc, kinda bases on Xotcl and snit... that's why I was asking about [incr tcl]...
05:23.21 yukonbob /bases/based/
05:25.03 brlcad hm, I've not seen anything related to that actually
05:25.10 CIA-4 BRL-CAD: 03brlcad * 10brlcad/TODO:
05:25.10 CIA-4 BRL-CAD: john fixed the units command, woot. it was an issue with interp->result being
05:25.10 CIA-4 BRL-CAD: used where apparently it was an object instead of a string. this apparently
05:25.10 CIA-4 BRL-CAD: only now biting us, probably due to the 8.5 upgrade, though tcl.h says to stop
05:25.10 CIA-4 BRL-CAD: using it since 8.0
05:25.16 brlcad i know tk picked up that entire theming package
05:26.21 brlcad and a couple of the core tcl guys still work on incr tcl so it's quite far from dead (i'm on their commits and tracker lists)
05:29.26 CIA-4 BRL-CAD: 03brlcad * 10brlcad/NEWS:
05:29.26 CIA-4 BRL-CAD: john fixed the units command, woot. it was an issue with interp->result being
05:29.26 CIA-4 BRL-CAD: used where apparently it was an object instead of a string. this apparently
05:29.26 CIA-4 BRL-CAD: only now biting us, probably due to the 8.5 upgrade, though tcl.h says to stop
05:29.26 CIA-4 BRL-CAD: using it since 8.0
06:11.42 *** join/#brlcad Laniakea (i=clock@217-162-204-122.dclient.hispeed.ch)
06:15.02 *** join/#brlcad tofu (n=sean@bz.bzflag.bz)
06:18.23 *** join/#brlcad elite01 (n=elite01@195.37.106.60)
06:21.14 CIA-4 BRL-CAD: 03brlcad * 10brlcad/src/tclscripts/helplib.tcl: can get/set with units command
06:23.21 *** mode/#brlcad [+o brlcad] by ChanServ
06:31.33 CIA-4 BRL-CAD: 03brlcad * 10brlcad/NEWS: john fixed a g_diff bug where -f option missed differences -- now only calls atof the values actually seem to be numbers.
06:44.16 *** join/#brlcad ak__ (n=ak@ll-81-222-164-251.awanti.ru)
06:51.29 yukonbob brlcad: you on?
07:16.33 *** join/#brlcad yukonbob_ (n=bch@whthyt247-240.northwestel.net)
07:18.11 *** join/#brlcad Laniakea (n=clock@zux221-122-143.adsl.green.ch)
08:11.24 *** join/#brlcad ak__ (n=ak@ll-81-222-164-251.awanti.ru)
08:16.48 *** join/#brlcad ak__ (n=ak@ll-81-222-164-251.awanti.ru)
08:54.13 *** join/#brlcad cad72 (n=5b0bd657@bz.bzflag.bz)
10:33.55 *** join/#brlcad poolio (n=poolio@c-69-251-3-107.hsd1.md.comcast.net)
11:02.02 *** join/#brlcad akreal (n=ak@87.249.56.197)
11:50.09 *** join/#brlcad docelic (n=docelic@212.91.116.101)
12:22.50 *** join/#brlcad cris (n=cris@200.223.157.187)
12:24.11 cris hi, I am an AutoCAD user, and I'm searching for a CAD "4 Linux". Please, what do you know about BRL-CAD? is it a good CAD? is it good for civil engiinering projects ?
12:28.34 Laniakea cris: it's not good for CE because it doesn't have dimensions blueprint anything
12:29.27 Laniakea cris: look at Qcad but that's 2D only
12:29.32 cris Laniakea, hum... :-( ok, thank you. but, do you know a CAD for Linux?
12:29.57 Laniakea I know just BRL-CAD and Qcad
12:30.05 Laniakea I doubt there is a 3D cad with blueprints and arrows
12:30.27 Laniakea I use BRL-CAD and Qcad on my mechanics project
12:30.43 cris yes, I know QCad, but I dont like it, it isn't like autocad ... :-)
12:30.44 Laniakea what is CE? Is it building houses? Or making machines?
12:31.04 cris Laniakea -> CE = civil engennering
12:31.24 Laniakea what is it?
12:34.45 cris Laniakea -> I'm asking for a cad 4 linux to work with civil engennering
12:36.04 cris Laniakea -> please, forget the last speak , CE = building houses
12:39.47 cris Laniakea -> thank you
12:48.53 Laniakea oh houses
12:49.01 Laniakea no I never did houses, only mechanical stuff
12:53.38 ``Erik heh, we could model the geometry, and I think we just got hte ability to convert to nastran for FAE type activities, and we have an approximation of edge drawing, and we can even do 2d overlay stuff... but there's no "measurement" tool to generate dimension info
12:57.20 Laniakea ``Erik: I just don't care about dims - I am happy that I am getting at least what I am getting from BRL-CAD :)
12:59.40 ``Erik just noting where it falls short :
12:59.41 ``Erik :)
12:59.51 ``Erik sure as hell ain't gonna do shit about it right now, I'm on vacation :D
13:06.38 archivist after his holiday of course
13:06.50 poolio anyone know if brlcad is going to be back today?
13:12.40 ``Erik he seems to be back every day, is it something that someone else can help with? O.o
13:19.55 poolio ``Erik: Maybe, I'm starting work today and have a steady stream of questions :P
13:25.58 poolio Most of them I'm able to answer myself if I spend the itme, it just would be a lot faster with someone who knew the codebase
13:31.48 ``Erik some others of us have some familiarity :)
13:32.07 poolio Yeah but I didn't want to interrupt you :)
13:32.27 ``Erik aight, but if it's a 5 second thing *shrug* I'll help where I can
13:33.33 poolio ``Erik: I'm mainly trying to get how to go about converting a CSG shape into voxel data. So at the moment I'm trying to understand how to get a bounding box
13:34.18 ``Erik uhm, after you prep geometry, there's bounding box and bounding sphere information
13:34.41 poolio Yeah I see that, but I don't need all the other rt stuff
13:34.50 brlcad yeah, he's around
13:35.02 poolio Like I'm looking at g_qa.c and it looks like rt_prep_parallel does all the grunt work
13:35.06 poolio brlcad: morning :)
13:36.09 ``Erik g_qa, heh
13:36.16 *** join/#brlcad elite01 (n=elite01@dslc-082-082-092-241.pools.arcor-ip.net)
13:37.47 poolio Also. it appears make_bb in mged doesn't actually make the correct bounding box
13:38.06 poolio Or more likely, I'm doing it wrong
13:38.11 brlcad how so ?
13:38.43 brlcad it's AABB, not an OBB
13:39.28 poolio Ah oops, the issue was that I hadn't updated the framebuffer
13:39.36 poolio d'oh
13:54.15 poolio brlcad: Do you think it's an OK starting point if I just took g_qa and stripped it down to what i needed and worked off that code base for the csg --> voxel-like form?
13:54.55 brlcad yeah, that's viable
13:55.54 brlcad note, though, what part this actually is -- voxelization is one aspect of your fitness function
13:58.31 poolio and the aabb is also needed for generation of the initial population
13:58.58 poolio along with eliminating invalid mutations
13:59.24 brlcad sure, though does g_qa help with getting the aabb?
14:00.03 poolio brlcad: No, but it shows me how to do all the prepping I need to do in order to get it
14:00.55 poolio Although I think I'd have to try to eliminate rt_prep and do something at a more lower level as the fitness function is going to be the main bottleneck of the GA
14:08.27 poolio Oh man, I'm going to have to touch up on semaphores with all this multiple cpu stuff :P
14:14.04 brlcad that's actually one of the nice aspects of g_qa is that it's already fully multithreaded
14:15.06 brlcad librt's multithreading stuff isn't too complicated, you grab a semaphore to protect your data accesses, then release it when you're done
14:17.30 brlcad those routines are being run in parallel via that bu_parallel routine, which says to call plane_worker() for N threads (ncpu)
14:18.02 poolio brlcad: Yeah I got that :)
14:19.04 poolio I'm trying to understand plane_worker and don't see why you shoot all the rays in the first row, but then every other in the next row
14:22.10 brlcad ah, that's a particular aspect of g_qa .. it's a refinement grid
14:22.26 brlcad since the model isn't changing.. it's shooting a grid that is more and more refined
14:22.31 poolio So meaning the grid spacing is decreeased and refined
14:22.34 poolio yeah
14:22.36 brlcad right
14:22.44 brlcad so it doesn't need to reshoot the spacings it already shot at
14:22.58 brlcad big performance savings
14:23.00 poolio Ans so because it halves the size each time you can eliminate re-shooting every other one?
14:23.08 brlcad right
14:23.15 poolio Ah ok, thanks
14:23.43 brlcad not sure if that will be any use to you since the models will be different every iteration
14:23.53 brlcad but shooting the grid certainly will be
14:24.27 poolio Well it will be useful in the brief time you generate the voxel data for the original unchanging model
14:26.13 brlcad ah, true
14:26.25 brlcad shooting a 4x4, then a 8x8, ...
14:26.47 poolio but I'd have to modify it to not do that optimization for all the other thousands (millions?) of times it runs on the population
14:27.34 brlcad right, they're just going to shoot at a given resolution for a given iteration
14:27.51 brlcad and you could then progressively refine that resolution as the fitness gets better
14:28.13 poolio I remember you were talking a little while ago about when shooting the rays I'll want to do a "slingshot" type thing to get a vector of the ray and all the points it passes through. does g_qa implement that?
14:34.38 poolio one region = one ray?
14:40.46 *** join/#brlcad thing0 (n=ric@203-59-121-145.dyn.iinet.net.au)
14:41.03 thing0 hey allll
14:49.27 brlcad howdy thing0
14:49.45 thing0 hey brlcad
14:49.50 thing0 how you doing?
14:49.58 brlcad poolio: not sure what you mean by slingshot
14:50.11 brlcad it does do shoot-through rays
14:50.17 poolio brlcad: Firing a ray and having it return a vector
14:50.19 poolio yeah that :)
14:50.27 poolio I don't know why the word slingshot came to mind
14:50.34 thing0 brlcad: did you see my discussion with ``elite01 yesterday?
14:51.04 brlcad thing0: probably
14:51.16 thing0 hehe
14:51.18 brlcad whether it meant anything to me that I'd remember is a different question ;)
14:51.24 thing0 the bit about http://www.ode.org/
14:51.33 thing0 BRLCAD should connect with this
14:51.35 thing0 ;)
14:51.38 brlcad hm, i might have missed that
14:51.51 brlcad yeah, ode's been "on the list"
14:51.59 thing0 ahh ok
14:52.36 brlcad thing0: http://my.brlcad.org/~sean/ideas.html .. "Material Properties" section, third bullet
14:53.01 poolio somehow I feel like what I'm doing isn't very useful ;)
15:00.06 poolio brlcad: Is there some sort of example with shoot-through rays? I'm having some issues trying to understand all of rt_shootray()
15:01.19 thing0 brlcad: I dunno if Alias still has that format anymore
15:01.27 thing0 being bought by Autodesk and all
15:03.08 brlcad poolio: are you kidding? if this works, it will be amazingly useful
15:04.26 brlcad being able to go from mesh and/or voxel explicit representations to an implicit and/or boundary representation is very useful
15:05.04 ``Erik that's some heavy stuff
15:05.15 ``Erik 3d version of computer image recognition, yo
15:05.49 brlcad it's a means to heal geometry, compress representations, reduce data, recognize patterns, .. any one of those alone are worthwhile
15:07.19 ``Erik and advancing the science of that is doctorate worthy shtuff, I'd imagine :)
15:08.20 poolio brlcad: Key words _"if this works"_
15:10.04 brlcad even if you implement the approach fully/correctly and it turns out to be a disaster, that's still good research
15:10.34 brlcad finding out that a technique doesn't work well is just as useful as one that works well
15:10.59 brlcad that said, given the results seen to date, I actually expect this will work very well for some models
15:11.29 brlcad implementing the approach fully/correctly is the trick, and the brunt of the hard work ;)
15:12.57 poolio eh, first I have to understand the basics of 3d shapes, then i might have a chance
15:14.14 poolio Could you gie me a hand understanding some of this terminology?
15:14.50 brlcad ~hand poolio
15:14.56 poolio hoorah.
15:15.08 brlcad hrm, no literal for that one, shucks
15:15.12 poolio So a partition in the contex of a ray is the segment of the ray that intersected a solid?
15:15.22 poolio hah
15:16.25 brlcad ~hand $who is <action> gives $who a hand, then promptly chops it off
15:16.25 ibot brlcad: okay
15:16.30 brlcad ~hand poolio
15:16.31 ibot ACTION gives brlcad a hand, then promptly chops it off
15:16.36 brlcad heh, oops
15:16.56 poolio dangling modifier too
15:19.32 thing0 hehe
15:21.24 brlcad ~no, hand $target is <action> gives $target a hand, then promptly chops it off
15:22.19 brlcad hm
15:22.24 brlcad ~hand pooolio
15:22.24 ibot ACTION gives pooolio a hand, then promptly chops it off
15:22.32 brlcad good enough
15:22.32 poolio thanks.
15:22.44 thing0 ~hand thing0
15:22.45 ibot ACTION gives thing0 a hand, then promptly chops it off
15:22.51 thing0 yay!
15:23.12 brlcad ~whaleslap thing0
15:23.12 ibot ACTION beats thing0 upside and over the head with a freakishly huge killer whale named Hugh
15:23.24 brlcad a classic
15:23.48 thing0 nice
15:24.44 poolio brlcad: so rt_shootray() passes to hit/miss a circularly linked list of "partitions" where each partition represents a segment of the ray vector where it intersected a solid?
15:25.50 thing0 sleep now me
15:26.11 poolio thing0: what time is it?
15:26.19 thing0 2326
15:26.52 poolio wow. 12 hours ahead of me. across the globe--->
15:27.33 thing0 yeah
15:27.55 thing0 36 hours and I'll be on a plane
15:28.05 thing0 to a place with limited net access
15:28.06 thing0 so yeah
15:28.16 thing0 If I am not here for like 3 weeks
15:28.16 poolio enjoy?
15:28.23 thing0 you'll know why
15:28.28 thing0 yeah it will be awesome
15:28.42 thing0 I'll be able to work less hours and get paid more
15:28.43 thing0 hehe
15:29.05 thing0 but
15:29.06 thing0 yeah
15:29.09 thing0 got my lapto
15:29.13 thing0 got some movies
15:29.19 thing0 got ut2004
15:29.19 poolio funf un
15:29.26 poolio good times
15:29.27 thing0 autodesk inventor
15:29.31 thing0 yeah
15:29.45 thing0 but
15:29.51 thing0 I get one week off when I get back
15:29.54 thing0 so that'll be good
15:29.59 thing0 alrighty guys
15:30.04 thing0 i'll cya later
15:30.13 thing0 hopefully decent enough connection down there
15:30.20 thing0 otherwise 3 weeks
15:30.21 thing0 hehe
15:30.23 thing0 have fun
15:30.25 thing0 bye
15:30.35 brlcad wooo
15:30.37 poolio cya, have fun.
15:30.39 brlcad cya thing0
15:30.59 brlcad ~bed thing0
15:31.00 ibot ACTION tucks thing0 into a warm bed.
15:31.09 poolio brlcad: What matrix math is VJOIN1?
15:31.38 brlcad see include/vmath.h
15:32.38 brlcad VJOIN1(A,B,c,D) is A = B + cD
15:33.10 brlcad where A, B, and D are vectores, c is a constant
15:33.17 poolio I saw that, the thing is I don't quite get what it meant in terms of the code.
15:33.37 brlcad basically joins to vectors, scaling one of the vectors
15:33.41 brlcad s/to/two/
15:34.17 brlcad ah, in terms of the code it's even easier
15:34.20 poolio Ah I think I see what it's doing. Calculating the point where the ray entered and exited a certain partition
15:34.38 brlcad yep
15:35.03 brlcad a ray fired from a given point, in a given direction, with a hit along some distance
15:35.03 poolio geez, I need to start using my brain more
15:35.15 brlcad VJOIN1 basically gives you that hit point
15:35.46 poolio Any suggestions on how to store the ray data? should I just store the linked list of parititons?
15:36.07 brlcad B:[a ray fired from a given point], D:[in a given direction], with c:[a hit along some distance]
15:36.11 brlcad just to clarify ;)
15:36.23 poolio Yes yes, thank you
15:36.49 brlcad no suggestions, whatever works for you
15:37.07 poolio I think I might just not store it at all
15:37.11 brlcad linked list of partitions should be lightweight enough, maybe store them as an array of linked list
15:37.42 brlcad 2d array of segments.. basically a list per grid line
15:37.46 poolio Meaning I calculate the fitness of a given model one ray at a time
15:38.14 poolio That way the need to store the data is eliminated
15:38.53 brlcad that could work
15:39.47 poolio Because for debugging I'd have the original model(in real life this would theoretically just be voxel data), and the proposed GA model, so I don't really need the rt stuff as I can just check it in mged
15:42.13 poolio But on the downside it'd mean I'd have to write a separate function to shoot rays at the original model
15:42.38 poolio Although that could be a benefit
15:42.41 poolio ah many things to think about :)
15:43.40 brlcad i'd think you want to shoot at the original model
15:43.56 brlcad that way you can convert arbitrary models to proposed csg solutions
15:44.33 brlcad so your same algorithm will work on a volumetric model, or a polygonal model, or even another CSG model
15:45.51 poolio Well yes I want to shoot at the original model, I was just thinking how you could have the same function to shoot rays at the original and the models, but I think it's better seperate, as you have said, so that if you want to work with other data it's easy to implement
15:45.53 brlcad that's what I meant about starting with something like a simple CSG sphere as your input model .. you'd raytrace that to stash your list of segments .. then kick off the GA, evaluating via ray-tracing and comparing rays to those stashed
15:46.04 poolio Yes exactly :)
15:46.06 brlcad ideally, you'll get back a model that is almost exact
15:46.57 poolio The one thing I'm kind of concerned about is that the way I'd evaluate the fitenss -- ray by ray -- would make a shifted but identical model be completely unfit
15:47.13 brlcad the ray-tracer simply returns segment lists and doesn't care if it's shooting at voxels or triangles or primitives, makes it a nice encapsulation layer
15:47.30 poolio yeah, librt++
15:47.33 brlcad yes, well position is just as important as shape
15:47.37 brlcad so that model is unfit
15:47.57 brlcad likewise for orientation
15:48.06 poolio yeah
15:48.42 brlcad which is why your genotype really will probably need to be a CSG tree solution (which has operators, matrices, and primitive nodes)
15:49.29 poolio and what does the term "region" mean in terms of a ray? the area that the ray has passed through?
15:50.01 poolio brlcad: Yeah, I was looking at the tree.c stuff. I'd definitely try to have the genome be something along those lines
15:50.56 brlcad another research paper for you to look over in your copious spare time: http://my.brlcad.org/~sean/trunkpacking2005.pdf
15:51.23 brlcad it's a much more advanced paper, but is even closer in methodology to what you're trying to do
15:51.31 brlcad and its results were spectacular
15:51.49 poolio cool
15:52.07 brlcad you could throw simmulated annealing into yours down the road maybe, but I wouldn't worry about that part for now ;)
15:52.19 poolio eeeek.
15:52.23 brlcad similarly, if the math gets too deep, just shelve it
15:53.27 brlcad they basically solved the same problem you were solving but with just one primitive, didn't allow overlap, but did allow arbitrary orientation -- and they fit an input shape tightly
15:53.46 brlcad better than a human could even, using a GA/SA approach
15:54.33 brlcad they won best paper just a couple years ago at the ACM SPM conference
15:54.40 poolio ah cool.
15:55.02 poolio The thing I'm worried about with CSG is the boolean operators...I think that could cause some substantial problems/increase in problem space
15:55.18 brlcad which is why you're starting without operators :)
15:55.23 poolio jah.
15:55.53 brlcad it does substantially increase the space, but then that's what GAs are notorious for searching for solutions over
15:56.26 brlcad it's just a matter of how many evolutions, and is your convergence a local minima
15:56.45 brlcad getting stuck on a local minima is generally a problem (and where SA helps save the day)
15:57.07 poolio I'll have to read up on SAs if I get that far, I know absolutely nil about them at this point
15:57.19 brlcad they're probably way beyond the scope of this
15:57.50 poolio is brl-cad conform to c89 or can I use // comments?
15:58.15 brlcad http://en.wikipedia.org/wiki/Simulated_annealing
15:58.33 poolio brlcad: I know where to go to look for SA info, I just don't want to write now :D
15:58.42 brlcad k, good man ;)
15:58.51 poolio *right
15:58.57 poolio geez. all the code is frying my brain
15:59.34 *** join/#brlcad Elperion (n=Bary@p548768AB.dip.t-dialin.net)
15:59.35 brlcad you can probably use // comments for this
15:59.50 poolio as it's not really ever going to be integrated into the main codebase
15:59.56 brlcad but i'd still try to minimize their use
16:00.12 brlcad no, it will be integrated .. you'll be working off the main codebase even
16:00.23 poolio oh woah
16:00.31 brlcad there's just plans to move up to c99 at year's end when we kick over to subversion
16:00.36 poolio speaking of which, is there anywhere in particular you want me to move stuff to?
16:00.45 poolio but for now... cvs?
16:00.50 brlcad yes, cvs
16:01.25 brlcad there's // in the code base now .. so I'm sure the compile will fail in some c89 environments
16:02.27 brlcad mipspro is one of the last remaining vestiges, though, so i'm not too concerned with it being c99
16:02.42 *** join/#brlcad cadguy (n=cadguy@c-67-166-125-250.hsd1.ut.comcast.net)
16:03.11 brlcad hello cadguy
16:03.23 brlcad how's youtall?
16:08.51 cadguy Whacked out.
16:09.14 cadguy Exterminator arrives in a few hours. I've got to finish clearing part of the house for them to do their work.
16:09.36 brlcad heh
16:09.53 brlcad can't be great if the status begins with an exterminator
16:10.37 brlcad how's the course(s)?
16:11.08 brlcad lots of folks asking how you all have been doing
16:11.58 cadguy Doing better since we got THOR going realtime.
16:12.05 brlcad Ralf Muuss sends his regards
16:12.09 cadguy Un, make that "interactive"
16:12.19 brlcad had lunch with him, chuck, bob, carol last week
16:12.35 cadguy Got a nice note from him. Working on a reasonable response amidst the office move today.
16:13.02 cadguy Ah, good. So you were in on the lunch. Rolf mentioned it. He really enjoyed it.
16:13.26 brlcad sorry, rolf, can't seem to remember that spelling for some reason
16:13.37 cadguy np
16:14.11 cadguy Anyone check out the video I sent?
16:14.52 brlcad oh yeah
16:15.01 brlcad talked about it for quite a while
16:15.11 brlcad the bit about being from MS was funny
16:15.41 *** join/#brlcad thing0 (n=ric@203-59-121-145.dyn.iinet.net.au)
16:16.32 cadguy Yeah, that was funny. I was actually thinking about the THOR vid.
16:18.27 brlcad ooh
16:18.31 brlcad when'd you send it?
16:19.15 cadguy Hmmm. Friday or saturday. It's in my account on Xon.
16:19.19 brlcad i've not checked e-mail since wednesday .. a trend likely to only continue with the plans to shut things down
16:19.22 cadguy Friday I think.
16:19.25 brlcad k
16:19.44 cadguy Shut things down? You mean *nix or the "great scrub"
16:25.41 poolio Is there some sort of builtin function to compare rays?
16:27.20 cadguy What do you mean by "compare rays"?
16:27.22 brlcad hm, not that I'm aware of
16:31.39 brlcad poolio: you're going to have to write that one, and it's very much tailored to what you're doing .. amount matching and amount not matching
16:32.17 brlcad cadguy: he means comparing two shotlines against two different models, how similar are the results (e.g. for comparing two models)
16:34.16 poolio that's gonna be a slight pain.
16:34.19 poolio I think I might do that today
16:36.01 poolio I'm thinking project both rays onto another ray and do something like a reverse boolean intersection, the union of the differences
16:38.26 brlcad you'll get back evaluated segments, you don't have to do the csg evaluation on the shotlines
16:38.29 brlcad it's done for you
16:39.13 brlcad so you're really just comparing two segment lists
16:39.19 poolio I know that, but I'm talking about doing that on two different shotlines
16:39.42 poolio well yes, but to compare them isn't really straightforward
16:40.01 brlcad not too horrible, a couple for loops ;)
16:40.29 brlcad could even do it with just one methinks
16:41.26 brlcad merge the two lists into just one list of entry and exit points .. count your entries and exits and you'll know where they overlap or where there's a miss
16:42.02 poolio Ah yeah. smart.
16:44.41 brlcad poolio: more documentation to read probably worth your time is to read the librt manpage
16:44.58 brlcad it talks about partitions, segments, shooting rays, the application structure, etc
16:45.11 poolio sounds helpful :)
16:45.40 brlcad as well as the first two links on http://brlcad.org/example_app.php
17:30.44 poolio woah brlcad, sudden realization
17:30.50 poolio translation is irrelevant
17:31.03 brlcad relative translation isn't
17:31.11 brlcad but global, yeah
17:31.28 brlcad as is scale
17:31.28 poolio what do you mean relative translation? as in translation of different shapes within the model's tree?
17:32.15 poolio yeah true
17:32.21 brlcad e.g. the translation of two spheres being unioned together .. their position relative to each other matters a lot, but where they're positioned in 3-space won't necessarily if you set up matching grids
17:32.48 poolio yeah because i'm using AABB they will be the same wherever they are (globally)
17:33.20 brlcad so long as you shoot adaptive to the scale/position of the AABB, and not global size (like fixed 1mm grid)
17:33.41 poolio yeah
17:34.46 poolio so in terms of randomly creating a population, you don't care where it is, you just want all the shapes to intersect an arbitrary bounding box
17:35.44 poolio well maybe not arbitrary, maybe the first shape in the hierarchy or something
17:57.40 *** join/#brlcad Laniakea (i=clock@217-162-207-165.dclient.hispeed.ch)
18:28.11 poolio ah nooooo. nothing like segfaults.
18:33.31 ``Erik I'd much rather have a sig11 than a logic bug :)
18:33.42 ``Erik gdb and efence make seggies and bus faults easy to track
18:33.49 poolio I found the issue
18:35.13 poolio Is there a way to copy the partition passed to a_hit ?
18:35.17 poolio memcpy?
18:38.03 ``Erik um, that'd be a way, but there're pointers that may be deallocated, soooo if you're expecting it to be there out of scope (like if you're threaded), it could be very bad
18:38.16 poolio Yeah, I am :(
18:38.36 ``Erik I don't recall seeing any kinda partition copy function... might be a good patch unless brlcad can think of an alternative
18:38.36 poolio Basically I'm trying to store a partition from a previous ray that I know will have been already calculated, and then compare that ray to future rays
18:39.08 poolio Well an alternative for me would be to copy the values that I need into a different data structure
18:39.11 poolio which might be smarter anyway
18:39.16 ``Erik (now the region pointers should exist until you free the rtip, ... but *shrug*)
18:40.16 *** join/#brlcad cadguy (n=cadguy@c-67-166-125-250.hsd1.ut.comcast.net)
18:49.46 *** join/#brlcad irt (n=cadguy@c-67-166-125-250.hsd1.ut.comcast.net)
18:59.08 poolio brlcad: any way to duplicate a partititon? I'm trying to test out my ray comparison function
19:08.13 *** join/#brlcad jimmyz (n=asd@host81-129-128-152.range81-129.btcentralplus.com)
19:08.34 brlcad poolio: hmm, pretty simple to iterate over it and manually create a copy, but .. i'm not sure you even need to do that
19:09.12 brlcad i believe for a given ray-trace application that the partition lists may be all stored in the application structure
19:13.45 poolio brlcad: is it the "a_FINAL_Part_hdp" ?
19:15.15 brlcad I think
19:15.28 brlcad it's been a long while since I looked ath what is stashed in there
19:15.31 poolio and the index values are the # ray / total rays?
19:15.42 brlcad index values?
19:15.50 brlcad it's a bu_list
19:15.57 poolio of parititions?
19:17.01 brlcad yeah
19:17.40 brlcad bu_lists are "inverted" .. you add bu_list as the first element to any structure and it gives you a linked list of that structure
19:18.25 poolio yeah I was just reading the bu.h header about them because I'll probably use one to store the data
19:18.36 poolio but if I can figure out the a_final_part_hdp stuff than there's no need in duplicating it
19:18.53 brlcad that's why a_Final_Part_hdp is a "head pointer", you can iterate over head pointers like: for( BU_LIST_FOR( pp, partition, (struct bu_list *)PartHeadp ) ) { ... }
19:19.39 brlcad in your comparison function, have it print out the contents of the application pointer's a_Final_Part_hdp using a for loop like that
19:19.46 poolio yeah, g_qa used BU_LISTs for storing region groups
19:20.08 poolio well, I'm just going to print out the total linear difference
19:20.09 brlcad bu_lists are used everywhere
19:20.44 brlcad ratio of right to wrong
19:21.06 brlcad weighted by absolute length perhaps
19:22.34 poolio well yeah, this is mainly to see if the comparison is working, not the finalized part of the fitness function
19:24.53 brlcad whadayaknow .. there is a macro for copying partitions, RT_DUP_PT
19:25.55 poolio hoorah.
19:25.55 brlcad include/raytrace.h has the details
19:25.56 poolio thanks
19:26.20 brlcad but like I said, I'm really not sure you even need to
19:27.44 poolio also -- shouldn't a_Final_Part_hdp be a linked list of linked lists(partitions for each ray)?
19:29.55 *** join/#brlcad Elperion (n=Bary@p548768AB.dip.t-dialin.net) [NETSPLIT VICTIM]
19:29.55 *** join/#brlcad akreal (n=ak@87.249.56.197) [NETSPLIT VICTIM]
19:29.55 *** join/#brlcad archivist (n=archivis@host217-35-76-52.in-addr.btopenworld.com) [NETSPLIT VICTIM]
19:31.13 poolio need to what?
19:31.13 *** join/#brlcad akreal (n=ak@87.249.56.197)
19:31.14 *** join/#brlcad jack- (i=jack@83.137.193.141) [NETSPLIT VICTIM]
19:31.16 brlcad a_Final might just be the last ray .. would have to debug/test to see
19:33.34 *** join/#brlcad elite01 (n=elite01@dslc-082-082-092-241.pools.arcor-ip.net) [NETSPLIT VICTIM]
19:34.11 poolio brlcad: I might just abandon the pursuit of doing all the ray comparison in hit() and move it to plane_worker where the individual rays are shot
19:35.32 poolio and just pass back an array of pt_inhit and pt_outhits
19:35.52 brlcad should/could work either way ;)
19:35.58 brlcad whatever works out easiest for ya
19:36.33 poolio yeah I suppose. It's just segfaulting cause of memory issues and I think half the issue was I started coding before I understood the data structures
19:38.24 *** join/#brlcad jimmyz (n=asd@host81-129-128-152.range81-129.btcentralplus.com) [NETSPLIT VICTIM]
19:38.24 *** join/#brlcad Maloeran (n=maloeran@glvortex.net) [NETSPLIT VICTIM]
19:38.28 poolio ALso, it seems like there is a lot of overhead for features I don't need in librt. Is it worth rewriting a lot of code and trying to get it faster or should I just try to get it working first?
19:46.16 brlcad try to get it working first
19:53.06 akreal hello brlcad!
19:53.20 brlcad howdy akreal
19:55.04 akreal i'm a student and i hope to do some cad practice with BRL-CAD, maybe you remember me ;)
19:55.14 akreal are there any jobs now?
19:57.09 brlcad akreal: I certainly remember your nick, though not so much what we were talkinga bout
19:58.00 akreal brlcad: yes, it is so
19:58.47 brlcad so what have you been up to?
20:04.19 akreal you said the most interesting question was BREP objects, i've got math book with some formulas about it, but i'm not sure that i'm able to put them to BRL-CAD code
20:04.43 akreal i'm a looser in production C-coding
20:06.11 brlcad you saw the ideas page?
20:07.14 akreal yes, i read it some times
20:08.00 brlcad anything catch your interest?
20:08.10 *** join/#brlcad poolio_ (n=poolio@c-69-251-3-107.hsd1.md.comcast.net)
20:08.13 brlcad it's had a few items added since too, though nothing small
20:11.48 akreal could you give me URL? i can't find it
20:14.31 CIA-4 BRL-CAD: 03jlowenz * 10brlcad/src/conv/iges/brlcad.hpp: remove hard-coded output filename
20:15.29 CIA-4 BRL-CAD: 03jlowenz * 10brlcad/src/conv/iges/brlcad_brep.cpp: remove hard-coded output filename
20:16.45 CIA-4 BRL-CAD: 03jlowenz * 10brlcad/src/conv/iges/nmain.cpp: pass output file on command line and remove hard-coded output file
20:17.16 brlcad akreal: http://my.brlcad.org/~sean/ideas.html
20:18.46 CIA-4 BRL-CAD: 03jlowenz * 10brlcad/src/librt/g_brep.cpp: sort the hits (need to look into this further); remove some debugging output
20:20.38 CIA-4 BRL-CAD: 03jlowenz * 10brlcad/src/other/openNURBS/opennurbs.h: add some stupid simple debugging capability to openNURBS
20:21.42 brlcad ttk, that's the new theming stuff I couldn't remember
20:23.09 CIA-4 BRL-CAD: 03jlowenz * 10brlcad/src/other/openNURBS/ (opennurbs_nurbscurve.h opennurbs_nurbscurve.cpp): fix NumIntersectionsWith to properly override virtual method from ON_Curve
20:24.12 poolio brlcad: I've utterly failed at merging two strings of numbers. :P
20:24.33 CIA-4 BRL-CAD: 03jlowenz * 10brlcad/src/other/openNURBS/ (opennurbs_curve.cpp opennurbs_bezier.cpp): add some debugging statements; trying to find out why the trimming is not working properly
20:25.49 brlcad poolio: hehe
20:26.13 poolio All the logic checks out in my brain, but the code segfaults.
20:27.43 brlcad where does it segfault?
20:27.55 brlcad don't fear the gdb ;)
20:28.11 poolio yeah yeah. i'm more of a fan of printf debugging though
20:29.07 brlcad that's one of the best habits to break ;)
20:29.41 brlcad becoming intimately familiar with your debugger will save you days of your life, though
20:38.38 akreal brlcad: i checked the ideas list and saw it'd growed. geometry processing is interested me most, and volume (etc.) routins looks for me more suitable than others
20:39.26 akreal its's because i understand what's it about... but maybe you could suggest smth better for newbe?
20:39.58 brlcad it's really hard to say without knowing what you're capable of, what your experience is
20:40.25 brlcad maybe try working on a little patch or two, or fix a bug.. see how far you get
20:40.50 *** join/#brlcad poolio_ (n=poolio@c-69-251-3-107.hsd1.md.comcast.net)
20:41.27 akreal fixing bug looks like nice thing to start
20:42.00 akreal i know it helps a lot to get into the codebase :)
21:38.23 *** join/#brlcad poolio (n=poolio@c-69-251-3-107.hsd1.md.comcast.net)
21:38.30 *** join/#brlcad cadguy (n=cadguy@c-67-166-125-250.hsd1.ut.comcast.net)
21:56.26 *** join/#brlcad jimmyz (n=asd@host81-129-128-152.range81-129.btcentralplus.com)
22:18.38 *** join/#brlcad poolio (n=poolio@c-69-251-3-107.hsd1.md.comcast.net)
22:25.43 CIA-4 BRL-CAD: 03brlcad * 10brlcad/autogen.sh: report the directory when we can't find configure.ac
22:59.40 *** join/#brlcad poolio (n=poolio@c-69-251-3-107.hsd1.md.comcast.net)
23:37.27 *** join/#brlcad poolio_ (n=poolio@c-69-251-3-107.hsd1.md.comcast.net)
23:43.32 *** join/#brlcad Twingy (n=justin@74.92.144.217)

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