| 00:48.50 | starseeker | kanzure: openNURBS isn't just a container format, they do have some useful functions - in particular, evaluating UV coordinates into 3-space points is something we get from openNURBS |
| 00:51.59 | starseeker | as well as their bounding box routines |
| 00:53.29 | kanzure | right |
| 00:53.49 | kanzure | that's true, i didn't mention the point evaluation stuff |
| 00:53.56 | kanzure | probably unfair of me |
| 00:54.43 | starseeker | I've thought about expanding on openNURBS or designing a new geometry library using theirs as a guide (hence the libnurbs project on sourceforge) but it is not an easy task and for BRL-CAD's purposes it usually makes more sense to go "straight for the throat" to implement the feature we need |
| 00:55.20 | kanzure | for sure |
| 00:55.37 | starseeker | and if I'm doing it for fun on my own time, I'd probably want to make it a Knuth style literate program |
| 00:55.43 | kanzure | it's somewhat startling though that we can't figure this out |
| 00:55.52 | starseeker | which is enough to drive away just about anybody :-) |
| 00:56.02 | kanzure | we might not be the smartest tools in the shed, but we seem to be well versed in cad programming |
| 00:56.02 | starseeker | kanzure: what, the surface/surface stuff? |
| 00:56.05 | kanzure | yeah |
| 00:56.12 | kanzure | if we haven't implemented it yet, then who else would ? heh |
| 00:56.15 | starseeker | we haven't attacked it seriously yet |
| 00:56.21 | kanzure | hmm |
| 00:56.23 | starseeker | (we being BRL-CAD) |
| 00:56.26 | kanzure | right |
| 00:56.34 | kanzure | well, what would your strategy be? |
| 00:56.49 | starseeker | kanzure: you're aware of the research papers published on the topic? |
| 00:57.11 | kanzure | i know many.. |
| 00:57.25 | starseeker | none of them give you what you need? |
| 00:57.25 | kanzure | although they are often without source code |
| 00:57.28 | starseeker | sure |
| 00:57.41 | kanzure | the esolid papers are pretty nice, it's not nurbs exactly but it's definitely bounded surface manipulation |
| 00:57.49 | starseeker | my starting point would be to study things like this: http://www.cs.berkeley.edu/~hling/research/paper/intersection.htm |
| 00:58.48 | kanzure | yeah this looks standard basd on what i've seen |
| 00:59.10 | kanzure | there's a gap between me reading this, me implementhing this completely, and the stuff in the middle (which is where i screw up) |
| 00:59.19 | kanzure | for instance you can't just sit down and write code for 2 weeks and expect it to work |
| 01:00.16 | starseeker | sure |
| 01:00.55 | starseeker | having tried to implement some of the written strategies, what are the tough points you're running into? |
| 01:01.35 | kanzure | unit tests |
| 01:01.41 | kanzure | confirming that intermediate components work |
| 01:02.04 | starseeker | you mean formulating them? |
| 01:02.15 | kanzure | what? |
| 01:02.53 | starseeker | are you having problems devising the tests, or problems with them failing when you run them? |
| 01:03.01 | kanzure | devising tests |
| 01:04.07 | kanzure | also, formulating a relatively sane api |
| 01:04.21 | kanzure | the end-user-exposed api is simple enough, but not the internal api |
| 01:04.36 | kanzure | (i mean the stuff under the hood in the actual "intersect" methods) |
| 01:05.36 | starseeker | in that situation, I'd probably start by listing all of the component "bits" that go into solving the problem, and see if they start to group into common conceptual areas |
| 01:08.24 | *** join/#brlcad jordisayol (~jordisayo@unaffiliated/jordisayol) | |
| 01:10.22 | starseeker | kanzure: refresh my memory - for your purposes GPL is out, right? |
| 01:13.25 | kanzure | GPL is fine |
| 01:16.18 | starseeker | kanzure: have you looked at SISL? |
| 01:16.57 | starseeker | they claim surface/surface intersection, IIRC |
| 01:17.28 | starseeker | http://www.sintef.no/sisl |
| 01:17.49 | starseeker | even has a CMake build |
| 01:18.57 | kanzure | yes i've heard of it |
| 01:19.01 | kanzure | but iirc they had licensing issues too |
| 01:19.02 | kanzure | "SISL is avalable for non-commercial use under the GPL license." |
| 01:19.06 | starseeker | that library is probably #1 on my "I wish I could try this library for BRL-CAD, but it's ruled out by the GPL" list |
| 01:19.14 | kanzure | no it's not even "GPL" |
| 01:19.19 | starseeker | kanzure: check the actual license text |
| 01:19.19 | kanzure | it's "non-commercial use only" |
| 01:19.39 | kanzure | uhh |
| 01:20.02 | kanzure | hrm looks i have it installed already |
| 01:20.24 | starseeker | kanzure: my hunch is they mean "if you want to bundle use with your commercial app, you need to pay us" |
| 01:20.41 | kanzure | yeah.. that's not what the GPL is supposed to do |
| 01:20.59 | starseeker | it does have that effect though |
| 01:21.01 | kanzure | nope.. |
| 01:21.06 | kanzure | you can easily GPL your commercial app |
| 01:21.11 | kanzure | they are smoking something pretty strong over there |
| 01:21.34 | starseeker | hmm? You can't link a GPL library with non-GPL-compatible code and distribute the result |
| 01:22.05 | starseeker | ah - yeah I doubt the notion of a GPL app that is also sold (or at least supported) commercially has occurred to them |
| 01:22.26 | kanzure | uhuh |
| 01:22.35 | starseeker | let's face it - for most of the history of the CAD industry the notion would probably have gotten you subjected to a drug test |
| 01:22.51 | kanzure | sure.. |
| 01:23.14 | kanzure | what on earth are all these files |
| 01:23.20 | starseeker | kanzure: what about the GPL license in their source tarball - do they add any non-commercial clauses? |
| 01:23.29 | kanzure | s1906.c s1907.c s1908.c .. |
| 01:23.38 | starseeker | ah - the various routines |
| 01:23.42 | kanzure | starseeker: i looked, didn't see anything, but should run a diff |
| 01:23.44 | kanzure | those are horrible names |
| 01:23.48 | starseeker | heh |
| 01:24.01 | starseeker | kanzure: if you're unsure about it, you can probably contact them to clarify |
| 01:24.27 | starseeker | kanzure: here's the cheat-sheet: http://www.sintef.no/upload/IKT/9011/geometri/sisl/manual.pdf |
| 01:24.28 | kanzure | REFERENCES: Fortran version: T.Dokken, SI, 1981-11 |
| 01:24.37 | kanzure | damn has anyone actually written any of this in the last 5 years |
| 01:24.43 | kanzure | even parasolid is ancient |
| 01:24.44 | starseeker | doubt it |
| 01:25.57 | starseeker | kinda neat - SISL has its origins in code almost as old as BRL-CAD :-) |
| 01:26.19 | starseeker | that PDF manual's table of contents is a decent overview of what's in there |
| 01:27.32 | starseeker | not sure why the (admittedly crappy) naming scheme |
| 01:28.04 | starseeker | unless it is in fact left over from the FORTRAN days when such names were standard... |
| 01:30.36 | kanzure | are these guys still alive? could i just hire them |
| 01:30.50 | kanzure | to write a sane library |
| 01:31.12 | starseeker | uh... you mean the original fortran devs? |
| 01:31.38 | starseeker | kanzure: here's a page with more detail on their licensing options: |
| 01:31.44 | starseeker | http://www.sintef.no/Informasjons--og-kommunikasjonsteknologi-IKT/Anvendt-matematikk/Fagomrader/Geometri/Prosjekter/The-SISL-Nurbs-Library/SISL-Licensing/ |
| 01:32.57 | kanzure | hmm why would "comments" cost more? |
| 01:33.06 | kanzure | maybe the gpl version doesn't have the comments? fuck this |
| 01:33.08 | kanzure | blahhh |
| 01:33.11 | starseeker | because, as you correctly note, the names are blegh |
| 01:33.23 | kanzure | gpl source looks like it has some comments.. |
| 01:34.00 | starseeker | yeah, I doubt they're worried about the GPL case - commercial CAD licensees that they are probably marketing to would avoid GPL like the plague |
| 01:39.06 | starseeker | GPL v2 in fact, so also brings up the v2 vs. v3 incompatibility on top of everything else... |
| 01:40.12 | starseeker | kanzure: you might also look at this if the SISL level API is annoying - might be better: |
| 01:40.16 | starseeker | http://www.sintef.no/Projectweb/Geometry-Toolkits/GoTools/ |
| 01:40.51 | kanzure | i don't understand why they have a separate library? |
| 01:41.53 | starseeker | shrugs - probably have customers using the SISL api, so they developed the GoTools thing on top of it? |
| 01:42.06 | starseeker | keeps everybody happy |
| 01:43.45 | starseeker | anyway - a comment-stripped SISL would be pretty darn useless for doing anything except what the library already does (barring a prohibitive amount of code reading) so I'm sure they consider it a "safer" thing to give to commercial customers |
| 01:43.55 | kanzure | :/ |
| 01:44.05 | kanzure | it looks like anyone who has written this sort of library has a phd |
| 01:44.09 | kanzure | so if i write one, i am going to demand a phd |
| 01:44.21 | starseeker | kanzure: SISL won't work for you? |
| 01:44.29 | kanzure | still looking |
| 01:45.13 | kanzure | their download page is taking forever to load |
| 01:45.18 | kanzure | screw it i'm gonna go get a burrito |
| 03:36.15 | *** join/#brlcad phoenixyjll (3b941b48@gateway/web/freenode/ip.59.148.27.72) | |
| 05:32.25 | *** join/#brlcad Stattrav_ (~Stattrav@61.12.114.82) | |
| 07:41.56 | *** join/#brlcad Neil___ (~chatzilla@117.229.60.198) | |
| 07:54.57 | *** join/#brlcad ksuzee (~ksuzee91@193.151.107.42) | |
| 08:05.23 | *** join/#brlcad andrei (~andrei@188.25.173.190) | |
| 09:50.17 | *** part/#brlcad ksuzee (~ksuzee91@193.151.107.42) | |
| 10:21.37 | *** join/#brlcad Stattrav_ (~Stattrav@61.12.114.82) | |
| 10:34.38 | *** join/#brlcad Stattrav_ (~Stattrav@61.12.114.82) | |
| 11:02.18 | *** join/#brlcad merzo (~merzo@127-87-132-95.pool.ukrtel.net) | |
| 11:56.05 | *** join/#brlcad merzo (~merzo@169-244-92-178.pool.ukrtel.net) | |
| 12:26.16 | *** join/#brlcad Neil___ (~chatzilla@117.229.71.96) | |
| 12:27.20 | *** join/#brlcad Neil___ (~chatzilla@117.229.71.96) | |
| 12:55.32 | *** join/#brlcad Neil___ (~chatzilla@117.229.71.96) | |
| 13:20.49 | *** join/#brlcad Neil___ (~chatzilla@117.229.50.22) | |
| 13:22.35 | *** join/#brlcad Neil_ (~chatzilla@117.229.50.22) | |
| 14:08.43 | *** join/#brlcad jordisayol (~jordisayo@unaffiliated/jordisayol) | |
| 17:41.00 | *** join/#brlcad crdueck (~cdk@d173-238-127-19.home4.cgocable.net) | |
| 17:48.17 | *** join/#brlcad ksuzee (~ksuzee91@46.149.82.166) | |
| 18:04.09 | *** join/#brlcad Stattrav_ (~Stattrav@61.12.114.82) | |
| 18:32.34 | *** join/#brlcad ``Erik_ (~erik@pool-108-3-159-149.bltmmd.fios.verizon.net) | |
| 18:45.30 | *** join/#brlcad archivist (~archivist@host81-149-189-98.in-addr.btopenworld.com) | |
| 19:15.06 | *** join/#brlcad abhi2011 (~chatzilla@209.201.113.2) | |
| 19:15.53 | *** join/#brlcad abhi (~chatzilla@209.201.113.2) | |
| 19:20.22 | *** join/#brlcad abhi (~chatzilla@209.201.113.2) | |
| 19:56.56 | *** join/#brlcad abhi_ (~chatzilla@209.201.113.2) | |
| 20:04.14 | *** join/#brlcad abhi (~chatzilla@209.201.113.2) | |
| 20:11.35 | *** join/#brlcad Neil___ (~chatzilla@117.229.29.38) | |