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