IRC log for #brlcad on 20120712

01:23.25 CIA-23 BRL-CAD: 03Al Da Best 07http://brlcad.org * r4156 10/wiki/User:Al_Da_Best/devlog: Update 11th July
01:23.25 CIA-23 BRL-CAD: 03Cprecup 07http://brlcad.org * r4157 10/wiki/User:Cprecup/GSoC2012_progress: 10-11/07/2012 - removed entries from the hash table; memory for *value* allocated outside the hash table; freed memory for these values
01:24.12 *** join/#brlcad ibot (~ibot@rikers.org)
01:24.12 *** topic/#brlcad is BRL-CAD Open Source Solid Modeling || http://brlcad.org || logs: http://ibot.rikers.org/%23brlcad/ || Congratulations to our 11 accepted GSoC students!!
01:24.47 CIA-23 BRL-CAD: 03cprecup * r51462 10/brlcad/trunk/src/libged/dag.cpp: Don't allocate space for the *value* field inside the bu_hash_entry. Instead, use a copy of a pointer for the outside allocated memory. Added a method that frees the space allocated for the *value* field.
01:47.49 brlcad andrei_: toasted??? what happened (and that was too long)
01:48.16 brlcad andrei_: 1-2048 in steps of 2 should be better if you restart -- plot what you had
02:01.44 andrei_ It overheated and I found it shut down. Now seems to be working. I did what you said ( steps of two ) and i also decreased the average tests from 10 to 5
02:02.15 andrei_ the other script ( the one with files loop aswell ) is moving so much better.
02:02.17 brlcad kanzure: as far as I know, none of the big commercial CAD engines perform truly exact evaluation
02:02.50 brlcad even the watertight "exact" ones are merely exact "within tolerance", which is pretty much as good as we're going to get with floating point arithmetic
02:03.09 kanzure what is the definition of tolerance here?
02:03.13 brlcad even with sampling methods, you can sample below 0.0005 precision
02:03.21 brlcad which is our baseline tolerance
02:03.32 kanzure like i can define a tolerance on a dimension, but what is the tolerance in the context of an intersection curve?
02:04.57 brlcad I'm referring to baseline computation tolerance -- not engineering tolerances that might go on a model
02:05.13 brlcad the CAD system's built-in absolute tolerance
02:05.19 brlcad they all have that
02:05.28 brlcad some are 0.1, 0.01, etc
02:06.00 brlcad I used to have a paper that described all the major kernel computation tolerances
02:06.53 kanzure i'd be interested in seeing that. i still don't understand this tolerance.
02:08.13 brlcad generally speaking, it's akin to ULP with floating point
02:08.33 kanzure ?
02:08.40 brlcad it's the minimum difference between two numbers for them to be considered different
02:08.55 brlcad floating point hardware is ULP, but CAD systems are much more coarse
02:09.21 brlcad http://en.wikipedia.org/wiki/Unit_in_the_last_place
02:10.29 brlcad basically if i have a 3D point at 0,0,0 and 0.1,0.0 -- are they the same point?
02:10.36 brlcad for some CAD kernels, the answer is yes
02:11.02 brlcad for some it's 0.01,0,0 for others still it's 0.001,0,0 etc
02:11.19 brlcad for BRL-CAD, our default absolute tolerance is 0.0005
02:12.58 brlcad 32-bit single precision floating point hardware is around 0.0000001 ULP so that's the best one might hope to be able to achieve (with values near zero), but in practice it's a number much bigger -- most are between 0.01 and 0.0001
02:13.44 brlcad what that means, from an algorithm development standpoint
02:15.20 brlcad is that I can subdivide to some given flatness and then sample or use triangles or curve approximations, but the stepping/sampling have to go below the absolute tolernace (step size of 0.0005 in our case) and you will be effectively watertight and numerically robust (to the quality of your input data)
02:16.45 brlcad segmenting to polylines generally sucks, for example, but if I walk a NURBS curve in increments less than 0.0005, it will be exact "within tolerance"
02:17.11 brlcad (it'll be slow too, you have to balance numbers and do some other tricks like the subdivisioning)
02:17.22 kanzure i see
02:17.26 kanzure that makes sense, thank you
02:19.22 brlcad that said, I agree that getting the bounding subdivision working is more work so the natural first step
02:19.49 kanzure is more work than calculating intersection curves?
02:19.55 brlcad once we've isolated a "region of interest", we can look into what method(s) make sense to get the calculations as precise as we need
02:20.21 kanzure i'm a little unclear on how to handle all the edge cases, like singularities and other misfeatures
02:20.42 brlcad yeah, because zoomed out the curves are not well-behaved
02:20.45 kanzure does that happen in the surface merging step, or does that raise an exception during intersection?
02:20.54 brlcad once you subdivide to a tiny region, things get really stable
02:21.10 kanzure sure
02:21.53 kanzure but is a well-behaved algorithm supposed to fail for singularities (like single point intersections)?
02:25.17 brlcad the curve and/or surface evaluations are well-behaved
02:25.49 brlcad what you do with the result is a completely separate matter... for that I'm a proponent of stable building blocks
02:30.02 brlcad a solid boundary representation based on euler operators, point+point, point+curve, point+surface, curve+curve, curve+surface, surface+surface
03:18.45 kanzure is that an order of preference?
03:43.06 *** join/#brlcad petaflot (~root@85-218-19-88.dclient.lsne.ch)
03:51.17 *** join/#brlcad anuragmurty (~anurag@14.139.128.11)
04:15.31 CIA-23 BRL-CAD: 0314.139.128.11 07http://brlcad.org * r4158 10/wiki/User:Anuragmurty: /* Development Log */
04:58.26 *** part/#brlcad anuragmurty (~anurag@14.139.128.11)
06:34.37 andrei_ brlcad : the script seems to be a bit faster now, I hope it will finish today ( it s at 1200 now)
06:35.54 andrei_ if there s time, could you please have a look on the test unit that I pasted. It s only one function so it should be easy to review. Thank you
07:19.04 andrei_ brlcad : Sorry, I just saw your e-mail. I shall take a closer look into the patches I submitted and make sure they are all ok.
08:52.45 CIA-23 BRL-CAD: 03phoenixyjll * r51463 10/brlcad/trunk/src/librt/ (opennurbs_ext.cpp opennurbs_ext.h): Add a surface-surface intersection function (WIP). Surface trees are generated and intersections of bounding boxes are calculated.
09:00.48 CIA-23 BRL-CAD: 03Phoenix 07http://brlcad.org * r4159 10/wiki/User:Phoenix/GSoc2012/Reports: /* Week 8 */
09:02.06 CIA-23 BRL-CAD: 03Phoenix 07http://brlcad.org * r4160 10/wiki/User:Phoenix/GSoc2012/Reports: /* Week 8 */
09:11.00 andrei_ Sorry to bother but I downloaded the test_rbtree from sourceforge to fix it. I did but when I try to recompile ( using make test_rbtree) I get two erros in parallel.c : function bu_nice_set
09:11.16 andrei_ error : Implicit declaration of function getpriority & setpriority
09:12.42 andrei_ is anyone else working on that ? should I fix it ?
11:27.53 CIA-23 BRL-CAD: 03brlcad * r51464 10/brlcad/trunk/src/librt/opennurbs_ext.cpp: extern is practically meaningless on the function definition, it's for prototype declarations prior to definitions or other compilation units. consistency, return type goes on separate line too.
11:34.22 brlcad andrei_: I don't think anyone else is getting that -- cmake should have detected and enabled/disabled
11:34.41 brlcad so yeah, feel free to fix it, or run make test_rbtree/fast
13:59.43 *** join/#brlcad andrei_ (~andrei@188.25.27.225)
14:18.05 CIA-23 BRL-CAD: 03anrgmrty * r51465 10/brlcad/trunk/src/libged/voxelize.c: voxelize.c for voxelize command
14:18.53 CIA-23 BRL-CAD: 03anrgmrty * r51466 10/brlcad/trunk/src/libged/CMakeLists.txt: CMakelist including the voxelize file
14:19.30 CIA-23 BRL-CAD: 03anrgmrty * r51467 10/brlcad/trunk/src/libged/Makefile.am: Makefile.am including the voxelize file
16:04.24 CIA-23 BRL-CAD: 03starseeker * r51468 10/brlcad/trunk/ (46 files in 45 dirs): Get MAN_DIR working with both DocBook and regular man pages, and put both in man instead of down in the data directory.
16:48.00 CIA-23 BRL-CAD: 03n_reed * r51469 10/brlcad/trunk/src/ (adrt/CMakeLists.txt mged/CMakeLists.txt): ignore some files
16:52.41 brlcad kanzure: I'd say that's an order of need, but you could arguably skip the point+* functions
16:53.08 brlcad by implementing them, though, you can deal with a whole class of topology singularities
16:55.40 CIA-23 BRL-CAD: 03n_reed * r51470 10/brlcad/trunk/src/other/ (3 files in 3 dirs): Include fedex_python subdir to make it easier to build fedex_python for testing. Make paths relative to avoid CMAKEFILES warning.
17:09.38 kanzure okay
17:35.24 CIA-23 BRL-CAD: 03n_reed * r51471 10/brlcad/trunk/src/other/step/src/fedex_python/src/ (5 files): update fedex_python sources to SCL git 7ffbb73 versions, but use the classes.h declaration of the FundamentalType func for consistency
17:51.35 CIA-23 BRL-CAD: 03n_reed * r51472 10/brlcad/trunk/src/other/step/ (5 files in 4 dirs): apply changes for fedex_python from SCL git 10999e7 and 2dcfaed
18:12.41 CIA-23 BRL-CAD: 03n_reed * r51473 10/brlcad/trunk/src/other/step/src/fedex_python/ (17 files in 2 dirs): update python scripts to SCL git ee13526 versions
19:10.23 *** part/#brlcad piksi (piksi@pi-xi.net)
19:35.18 CIA-23 BRL-CAD: 03r_weiss * r51474 10/brlcad/trunk/include/analyze.h: Update to "analyze.h" to allow "analyze.c" to build on Windows with Visual Studio 2008.
19:36.23 CIA-23 BRL-CAD: 03r_weiss * r51475 10/brlcad/trunk/src/libged/analyze.c: Update to "analyze.c" to allow building on Windows with Visual Studio 2008.
19:41.58 CIA-23 BRL-CAD: 03starseeker * r51476 10/brlcad/trunk/src/other/step/ (12 files in 3 dirs): Start building towards an SCL build that can work with or without perplex/re2c/lemon. Fair bit more work to do - these are just the fundamental essentials.
19:43.14 brlcad http://www.cise.ufl.edu/research/SurfLab/papers/1109reyes.pdf
19:44.09 brlcad maybe of interest, a method to guarantee that you sample below a specified tolerance
19:55.19 CIA-23 BRL-CAD: 03starseeker * r51477 10/brlcad/trunk/src/brlman/ (CMakeLists.txt brlman.tcl brlman.tcl.in): Generalize the brlman script - need to deal with potentially arbitrary man dir locations.
19:56.25 CIA-23 BRL-CAD: 03starseeker * r51478 10/brlcad/trunk/misc/CMake/ (5 files): Sync the Find and Util scripts for perplex/lemon/re2c.
20:01.09 CIA-23 BRL-CAD: 03starseeker * r51479 10/brlcad/trunk/src/other/perplex/perplex.cpp: Add missing newline
20:05.33 CIA-23 BRL-CAD: 03Stattrav 07http://brlcad.org * r4161 10/wiki/User:Stattrav/GSoC2012_log: Updation of the logs. Frontend
20:06.18 CIA-23 BRL-CAD: 03Stattrav 07http://brlcad.org * r4162 10/wiki/User:Stattrav/GSoC2012_log: Updation of the logs. Frontend
20:10.23 CIA-23 BRL-CAD: 03n_reed * r51480 10/brlcad/trunk/src/other/perplex/scanner_template.c: remove var 'abs' to avoid shadowing a global symbol of the same name
20:22.55 CIA-23 BRL-CAD: 03starseeker * r51481 10/brlcad/trunk/ (10 files in 4 dirs): Don't want a BRL-CAD path hardcoded into the perplex CMake macros, now that the prospect of them being used elsewhere is real.
20:32.44 CIA-23 BRL-CAD: 03starseeker * r51482 10/brlcad/trunk/ (2 files in 2 dirs): Try to be a little more helpful with the template error message.
20:54.27 CIA-23 BRL-CAD: 03starseeker * r51483 10/brlcad/trunk/src/other/perplex/perplex.cpp: Teach perplex to output a version number.
21:00.56 CIA-23 BRL-CAD: 03starseeker * r51484 10/brlcad/trunk/src/other/perplex/perplex.cpp: Fix tabbing on perplex usage
21:24.33 CIA-23 BRL-CAD: 03n_reed * r51485 10/brlcad/trunk/src/other/step/src/express/ (expparse.y token_type.h): use generated lemon variables to avoid unused warnings
22:42.45 CIA-23 BRL-CAD: 03n_reed * r51486 10/brlcad/trunk/src/other/step/src/clstepcore/ (7 files): missed ws and doxification changes from SCL git f9b9383

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