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