00:26.48 |
*** join/#brlcad kintel
(~kintel@unaffiliated/kintel) |
01:20.08 |
*** join/#brlcad merzo
(~merzo@139-2-133-95.pool.ukrtel.net) |
01:40.57 |
starseeker |
brlcad: I suspect there's some aspect to this
that I'm not properly understanding - I scrubbed down librt's
inclusion of bu.h and added the subheaders where needed - it does
in fact compile, but trying to link anything with it results in a
bunch of missing bu functions |
01:41.32 |
starseeker |
how is it compiling if it can't find the
appropriate bu functions? |
02:09.08 |
starseeker |
added bu headers to all the
libged files that included mater.h and didn't include bu.h - still
complaining about bu_vls_trunk |
02:09.20 |
starseeker |
bu_vls_trunc rather |
02:23.17 |
starseeker |
ah, wait a minute |
02:35.09 |
Notify |
03BRL-CAD:starseeker * 60054
(brlcad/trunk/include/bu/avs.h brlcad/trunk/include/bu/bitv.h and
20 others): Turns out the __BEGIN_DECLS and __END_DECLS statements
really do matter. |
02:45.16 |
brlcad |
starseeker: it doesn't know that they're
missing, assumes you're going to link in the symbol later |
02:46.15 |
brlcad |
the compiler only warns when the implicit
default type (int) conflicts with how it's being used and most of
the bu functions return an int |
03:23.07 |
starseeker |
nods - I needed the
BEGIN_DECLS/END_DECLS wrappers. Didn't tidy them up initially,
should have |
03:40.18 |
brlcad |
yeah, that demangles the name for C++
linkage |
03:45.54 |
Notify |
03BRL-CAD Wiki:Sean * 6535
/wiki/Google_Summer_of_Code/Project_Ideas: /* Infrastructure
*/ |
03:49.31 |
Notify |
03BRL-CAD Wiki:Sean * 6536
/wiki/Google_Summer_of_Code/Project_Ideas: /* Web Development
*/ |
03:54.08 |
Notify |
03BRL-CAD Wiki:Sean * 6537
/wiki/Google_Summer_of_Code/Project_Ideas: /* Infrastructure */
PCL |
03:58.10 |
Notify |
03BRL-CAD:starseeker * 60055
(brlcad/trunk/include/mater.h brlcad/trunk/include/nmg.h and 145
others): Get bu.h out of (most of) the toplevel include headers.
Still a ton of individual files including bu.h, but it's a
start. |
03:58.57 |
Notify |
03BRL-CAD Wiki:Sean * 6538
/wiki/Google_Summer_of_Code/Project_Ideas: /* Infrastructure */
annotations |
04:58.25 |
Notify |
03BRL-CAD:starseeker * 60056
(brlcad/trunk/src/librt/attributes.c brlcad/trunk/src/librt/bbox.c
and 45 others): remove bu.h inclusions from librt. Right now these
files are getting a lot of libbu from raytrace.h - when that header
is broken out, it is likely that there will be more specific bu
inclusions for most of these files. |
05:07.24 |
Notify |
03BRL-CAD:starseeker * 60057
(brlcad/trunk/src/libged/adc.c brlcad/trunk/src/libged/analyze.c
and 38 others): remove bu.h inclusions from libged files. Similar
to librt - getting a lot from headers currently, but will boil down
as they are broken up. |
05:16.02 |
Notify |
03BRL-CAD:starseeker * 60058
(brlcad/trunk/src/adrt/isst_tcltk.c
brlcad/trunk/src/adrt/librender/camera.c and 19 others): Remove
bu.h inclusions from adrt. |
05:21.33 |
*** join/#brlcad kintel
(~kintel@unaffiliated/kintel) |
06:51.17 |
Notify |
03BRL-CAD:brlcad * 60059
brlcad/trunk/include/bu/file.h: lost this include when moved
interface to bu/ subdir. necessary for the dynamic loader symbols,
used in liboptical and elsewhere. |
06:53.00 |
*** join/#brlcad deepak
(~chatzilla@202.164.53.117) |
06:53.09 |
Notify |
03BRL-CAD:brlcad * 60060
brlcad/trunk/include/bio.h: stub in an empty setmode() call for
non-windows platforms. this lets the code blend in seamlessly in
the calling code while providing the functionality needed on
windows. |
06:56.40 |
Notify |
03BRL-CAD:brlcad * 60061
brlcad/trunk/src/librtserver/rtserver.c: missing bu/cv.h |
07:06.28 |
*** join/#brlcad deepak
(~chatzilla@202.164.53.117) |
07:07.02 |
Notify |
03BRL-CAD:brlcad * 60062
brlcad/trunk/include/rtserver.h: there's a bu_vlb used in the
interface here |
07:11.18 |
Notify |
03BRL-CAD:brlcad * 60063
(brlcad/trunk/src/conv/asc/asc2pix.c
brlcad/trunk/src/conv/asc/g2asc.c and 28 others): fix regression
test breakage introduced in 60016 (can no longer introduce new
_WIN32's) by eliminating all of the WIN32 blocks around setmode()
calls. we can just make that function a no-op for now, but might
consider a bu_setmode_binary() or similar if it causes confusion.
for now, go with the simplest |
07:11.20 |
Notify |
solution. eliminates 30 of them. |
07:41.24 |
Notify |
03BRL-CAD:brlcad * 60064
brlcad/trunk/regress/repository.sh: the platform symbol checks were
not finding symbols that were at the start or end of lines and were
apparently not checking for _WIN32 and _WIN64 at all. detecting our
existing raises our count to an even 200 |
07:45.17 |
Notify |
03BRL-CAD:brlcad * 60065
brlcad/trunk/src/conv/dxf/g-dxf.c: save all files, removed _WIN32
wrappage |
08:07.26 |
*** join/#brlcad _zxq9_
(~ceverett@FL9-125-199-207-150.okn.mesh.ad.jp) |
09:00.57 |
*** join/#brlcad harmanpreet
(~harman@198.199.108.236) |
09:00.57 |
*** join/#brlcad Anaphaxeton
(~george@unaffiliated/anaphaxeton) |
09:12.52 |
*** join/#brlcad witness___
(uid10044@gateway/web/irccloud.com/session) |
09:12.52 |
*** join/#brlcad witness___
(uid10044@gateway/web/irccloud.com/x-qcbejwnrfjcrylkt) |
11:29.58 |
*** join/#brlcad teepee_
(bc5c2134@gateway/web/freenode/ip.188.92.33.52) |
11:40.10 |
*** join/#brlcad FreezingCold
(~FreezingC@135.0.41.14) |
11:52.56 |
*** join/#brlcad ankesh11_
(sid8015@gateway/web/irccloud.com/x-myznsqzxfyjeghiu) |
11:56.54 |
*** join/#brlcad archivist
(~archivist@host81-149-189-98.in-addr.btopenworld.com) |
11:58.00 |
*** join/#brlcad FreezingCold
(~FreezingC@135.0.41.14) |
12:06.47 |
*** join/#brlcad yizhen_
(~yizhen@c-98-206-167-91.hsd1.il.comcast.net) |
12:33.09 |
*** join/#brlcad ries
(~ries@190.9.171.121) |
12:34.26 |
Notify |
03BRL-CAD:n_reed * 60066
brlcad/trunk/src/libbrep/intersect.cpp: fix my less than correct
comments |
13:42.31 |
Notify |
03BRL-CAD:n_reed * 60067
brlcad/trunk/src/libbrep/intersect.cpp: move duplicated Subsurface
subdivision code to separate function |
14:15.46 |
*** join/#brlcad rotad
(~user@unaffiliated/rotad) |
14:25.47 |
*** join/#brlcad FreezingCold
(~FreezingC@135.0.41.14) |
14:34.14 |
*** join/#brlcad hoiji
(~hoiji@117.201.93.118) |
14:36.38 |
Notify |
03BRL-CAD:carlmoore * 60068
brlcad/trunk/src/libdm/dm-ogl.c: remove trailing
blank/tab |
15:14.16 |
*** join/#brlcad kintel
(~kintel@unaffiliated/kintel) |
15:46.10 |
*** join/#brlcad kintel
(~kintel@unaffiliated/kintel) |
16:48.20 |
Notify |
03BRL-CAD:n_reed * 60069
brlcad/trunk/src/libbrep/intersect.cpp: use suffix to distinguish
surface A/B parameters instead of uv/st convention |
17:04.28 |
*** join/#brlcad FreezingCold
(~FreezingC@135.0.41.14) |
17:11.29 |
*** join/#brlcad FreezingCold
(~FreezingC@135.0.41.14) |
17:13.52 |
*** join/#brlcad FreezingAlt
(~FreezingC@135.0.41.14) |
17:19.00 |
Notify |
03BRL-CAD:starseeker * 60070
(brlcad/trunk/include/dm/dm-ogl.h brlcad/trunk/include/dm/dm-osg.h
and 16 others): Start setting up to allow setting a log file for
display manager debugging output. |
17:32.33 |
*** join/#brlcad teepee_
(5084559b@gateway/web/freenode/ip.80.132.85.155) |
18:24.18 |
*** join/#brlcad kesha
(~kesha@14.139.122.114) |
18:41.47 |
*** join/#brlcad javampire
(~ncsaba@p4FF75642.dip0.t-ipconnect.de) |
19:28.33 |
*** join/#brlcad FreezingAlt
(~FreezingC@205.211.50.163) |
20:40.00 |
*** join/#brlcad javampire
(~ncsaba@p4FF75642.dip0.t-ipconnect.de) |
20:40.48 |
javampire |
anybody around experienced in libdm
? |
20:41.49 |
javampire |
I would like to try to wrap it from
python-brlcad, and I wonder how much of setup-work I need to do
before it could display anything |
20:42.32 |
javampire |
I'm not even sure I understand what it does at
all - the documentation in dm.h is pretty thin |
20:43.02 |
*** join/#brlcad KimK
(~Kim__@ip24-255-223-153.ks.ks.cox.net) |
20:56.31 |
*** join/#brlcad merzo
(~merzo@139-2-133-95.pool.ukrtel.net) |
21:10.03 |
javampire |
after some code checking seems the better bet
would be to wrap libged, and simply attach a display manager using
that... |
21:21.47 |
*** join/#brlcad ushoroh
(~ushoroh@193.105.245.158) |
21:43.00 |
javampire |
ok, I managed to open a geometry file using
libged in python, it was actually much easier than I thought - but
I see now that the "mged_attach" function is not defined publicly
in a header file |
21:43.48 |
javampire |
I guess it is still in the library so I
probably will be able to call it if I insist, but I wonder what is
the reason why it is not published ? |
21:44.27 |
javampire |
or perhaps I'm mistaken and it is really not
in libged ? |
21:47.13 |
brlcad |
javampire: howdy |
21:47.36 |
brlcad |
javampire: we were just talking about libdm
for the past couple hours ... heh |
21:47.48 |
brlcad |
I wouldn't suggest wrapping it just yet since
we plan on changing it |
21:47.59 |
brlcad |
libged is where the money is at |
21:48.15 |
javampire |
brlcad: hi Sean |
21:48.16 |
brlcad |
that's basically 99% of our command
API |
21:48.35 |
javampire |
yep, I see now, but I thought it's much harder
to do the wrapping |
21:48.49 |
javampire |
there were so many functions in it that I
missed the open call :-) |
21:49.00 |
brlcad |
it's probably the easiest lib we have
:) |
21:49.12 |
brlcad |
they're nearly all ged_command(int ac, char
*av[]); |
21:49.39 |
brlcad |
(they should all be that except for open/close
... some turds to clean up) |
21:49.44 |
javampire |
yes, but for me right now the most important
thing would be to actually display something |
21:49.57 |
brlcad |
ahh, yes |
21:50.17 |
javampire |
so even if I need to rewrite it twice, I would
prefer to do that |
21:50.33 |
brlcad |
well you could wrap the libdm bits for that,
or wrap some more abstract "gimmie data" interface and display it
yourself |
21:51.12 |
brlcad |
keep in mind that you can change our APIs if
some change or improvement makes it easier for you to use
it |
21:51.28 |
brlcad |
they aren't set in stone, so don't feel you
have to work around something if you see a wart |
21:51.32 |
brlcad |
we can burn those suckers off |
21:51.58 |
javampire |
well I would have been real happy if the
attach command would have worked :-) |
21:53.08 |
javampire |
but I could just do that directly in python I
guess, and do whatever the attach command does |
21:53.19 |
brlcad |
attach isn't in libged, right? |
21:53.26 |
javampire |
well I think not |
21:53.34 |
brlcad |
pretty sure it's not |
21:53.47 |
javampire |
and it's likely because it would mean
depending on dm |
21:53.51 |
brlcad |
interesting idea, but that is very "front-end"
specific |
21:54.15 |
brlcad |
yeah, it's not supposed to be dependent upon
dm .. it's a command library |
21:54.19 |
javampire |
well what is dm anyway ? |
21:54.30 |
brlcad |
display management library |
21:54.45 |
javampire |
it's the display where the wire-frames are
shown, or something else ? |
21:54.59 |
javampire |
is it the menus too ? |
21:55.08 |
javampire |
it's hard to tell from the library code
:-) |
21:55.17 |
javampire |
I mean from the headers |
21:55.18 |
brlcad |
manages the notion of a "display" which is
usuallya window+graphics context, but can be any context including
things like a network socket or a plot file |
21:55.31 |
brlcad |
not the menus |
21:55.35 |
javampire |
ok, but what is it doing ? |
21:55.38 |
brlcad |
just the graphics portions |
21:55.52 |
javampire |
so if I say Zip in ged, what will it do
? |
21:55.59 |
brlcad |
for mged, it's the black window where geometry
is drawn |
21:56.04 |
javampire |
it needs an attached display I guess, and will
clear it ? |
21:56.14 |
brlcad |
Zap |
21:56.22 |
javampire |
zap, sorry :-) |
21:56.25 |
brlcad |
zip won't do anything ;) |
21:56.56 |
brlcad |
libged does keep track of what needs to be
drawn, the data being drawn |
21:57.02 |
javampire |
well that's exactly what I need currently, to
select something using ged, then display it |
21:57.06 |
brlcad |
so you can "draw object" in libged |
21:57.26 |
brlcad |
and it'll load the geometry wireframes or
polygons or whatever defined for draw |
21:57.46 |
brlcad |
the application (mged) then takes that data
and tells libdm to draw it |
21:58.11 |
javampire |
ok, but libged is then not aware of the
display manager at all ? |
21:58.16 |
brlcad |
so you could probably do something
similar |
21:58.22 |
brlcad |
it's not supposed to be |
21:58.41 |
javampire |
ok, now I start to see how it works |
21:58.51 |
brlcad |
I believe one or two commands cheat and talk
to libdm directly (e.g., "screenshot"), but they need to burn in
hell |
21:58.59 |
javampire |
so libged is simply keeping a list of objects,
and mged passes that on dm ? |
21:59.07 |
brlcad |
basically |
21:59.10 |
javampire |
aha |
21:59.34 |
javampire |
ok, so I would need to rewrite that part in
python then, right ? |
21:59.58 |
brlcad |
yeah, I could see you doing something cool
with a pygame context or something |
22:00.19 |
javampire |
hmm, I would need to check pygame for
that |
22:00.22 |
brlcad |
in fact, you could try bypassing libdm for a
first test |
22:00.31 |
brlcad |
just |
22:00.49 |
brlcad |
"draw sphere", pull the data out of the struct
ged, and pass it to pygame (or whatever) |
22:00.57 |
javampire |
aha |
22:01.12 |
brlcad |
"pull the data out" might be
oversimplifying |
22:01.26 |
brlcad |
it's been a while since I've seen where/how
that is all currently stashed |
22:01.36 |
javampire |
ok, I will investigate what's easier, using
libdm or some python lib... |
22:01.47 |
brlcad |
it was originally very simple with a clean
design, but it grew and grew as commands got migrated |
22:02.10 |
javampire |
well I will start with attach.c and find the
rest too :-) |
22:02.33 |
brlcad |
libdm is certainly not hard .. we have
examples bound through Tcl, C, and Java |
22:02.57 |
javampire |
hmm, where should I look for the Java examples
? |
22:03.08 |
javampire |
that's something I will navigate
easier |
22:03.21 |
brlcad |
knew you'd ask about that
one |
22:03.26 |
javampire |
:-) |
22:03.28 |
brlcad |
can't share that one, not mine to
share |
22:03.33 |
javampire |
ok |
22:03.46 |
brlcad |
but it does exist and was reportedly very easy
(just a day or something) |
22:03.55 |
javampire |
ok |
22:04.50 |
javampire |
brlcad: thanks for the help, I think I have
enough to do for the next week :-) |
22:05.16 |
brlcad |
haha, no problem |
22:05.24 |
brlcad |
love to hear the progress :) |
22:05.50 |
javampire |
well I hope it will actually be
useful/used |
22:06.33 |
javampire |
I plan to implement that "sweep" thing, it is
a nice challange :-) |
22:06.49 |
brlcad |
wow awesome |
22:06.53 |
*** join/#brlcad teepee
(~teepee@gateway/tor-sasl/teepee) |
22:07.35 |
brlcad |
let me know how i can help.. primitives are a
specialty ;) |
22:07.42 |
javampire |
on the python side I will also do some
experiments with constraint based geometry building - but that's a
bit more complex in the sense it is not yet clear to me either how
I want it to work :-) |
22:07.50 |
brlcad |
that's a doosey, but doable |
22:08.12 |
brlcad |
you could help work on implementing
constraints in our core |
22:08.34 |
brlcad |
there's a fair bit written up in our todo
file |
22:08.44 |
javampire |
well I have some initial thoughts (related the
sweep) which on second thought are not enough, but I will come up
with a complete specification including algorithms |
22:09.24 |
javampire |
related the constraints - I will want to do
some actual geometry examples using it and that way refine the
ideas |
22:09.43 |
javampire |
that's why python is better, I can easily
write some throw-away code |
22:09.44 |
brlcad |
you could aleways cheat and tessellate a sweep
parametrically on the fly (ala openscad/blender) |
22:10.01 |
javampire |
nope, I want it analytically solved |
22:10.10 |
javampire |
it must be possible |
22:10.15 |
brlcad |
implementing ray evaluation for sweep is whats
hard |
22:10.45 |
brlcad |
at least iyou keep it in an implicit
form |
22:10.57 |
brlcad |
s/iyou/if you/ |
22:10.59 |
javampire |
yes, I know, but if well defined then the ray
can be projected as an analytical shape on the plane of the
sketch |
22:11.10 |
javampire |
for each segment of the path |
22:11.23 |
brlcad |
assuming you only support sweeping sketches..
;) |
22:11.41 |
javampire |
yes, but you can always reduce a shape to it's
projection on a plane |
22:11.49 |
javampire |
then sweep that, and fix endings |
22:11.55 |
brlcad |
true.. yet another project! |
22:12.09 |
teepee |
just heard openscad and
wonders now what sweep is |
22:12.32 |
brlcad |
sweeping a shape |
22:12.51 |
javampire |
anyway, the problem with 3D paths is that the
orientation of the sketch related to the path is not well
defined |
22:12.53 |
*** join/#brlcad FreezingAlt
(~FreezingC@135.0.41.14) |
22:13.07 |
brlcad |
basically a generalized extrusion along a path
parametrically |
22:13.45 |
javampire |
the plane normal can always be well defined in
terms of the path tangent, but then you can rotate the sketch
around that normal and there's no "natural" default
orientation |
22:13.52 |
teepee |
sounds a bit like the thing I'm thinking about
https://github.com/openscad/openscad/wiki/OEP1%3A-Generalized-extrusion-module |
22:14.02 |
brlcad |
path in 3D that might twist and turn, shape
might scale/rotate as its translated along the path |
22:14.16 |
javampire |
yes, but what is angle 0 ? |
22:14.20 |
javampire |
for the twist |
22:16.24 |
javampire |
for a 2D path it's easy, you take the angle 0
vector as the normal to the tangent in the plane of the
path |
22:16.48 |
javampire |
but for a 3D path there's no natural 0
plane |
22:18.30 |
javampire |
also you can't reliably set one arbitrary
plane or direction as reference, as the tangent could always just
be parallel with that one |
22:18.50 |
brlcad |
could always take tangent to the path and
treat the up vector as your basis |
22:19.02 |
javampire |
and what if the tangent show up ? |
22:19.16 |
brlcad |
then allow transformsa relative to that
orientation |
22:19.54 |
javampire |
no, the tangent shows up, reference vector is
up, now the sketch can again rotate around the up vector without a
deterministic position |
22:21.02 |
javampire |
ok, it's somewhat hard to explain without
drawing it |
22:21.19 |
brlcad |
could pick you next axis for that
case |
22:21.30 |
javampire |
yes, but it's then all jumpy |
22:21.36 |
brlcad |
its the gimble lock problem |
22:21.49 |
javampire |
one point has the sketch in this orientation,
the next one could have it all different |
22:23.09 |
javampire |
BTW, if the algorithm defines a good
"Sweepable" interface, it doesn't need to be a sketch, could be any
function |
22:23.30 |
javampire |
I only expect it will need to be a 2D
structure |
22:23.40 |
javampire |
otherwise the algorithm gets too
complex |
22:23.55 |
brlcad |
you're still starting with an object and a
path, and transformations along that path (probably
parametric) |
22:24.19 |
javampire |
hmm, I wouldn't do it that way |
22:24.22 |
brlcad |
so while you might not know your orientation
at a given position directly, you can infer it from the starting
point parametrically |
22:25.05 |
brlcad |
i.e., any 't' value along the path also feeds
into your parametric deformation(s) |
22:25.24 |
brlcad |
so you can transform the object as
described |
22:25.25 |
javampire |
I would project the ray on the sketch
plane |
22:25.45 |
javampire |
considering the plane trajectory based on the
path |
22:26.02 |
javampire |
I didn't do the math, but it should be some
transformation of the ray based on the path |
22:26.35 |
javampire |
then intersect the transformed ray with the
sketch |
22:26.39 |
javampire |
then transform back |
22:26.41 |
brlcad |
well, look forward to seeing what you come up
with ;) |
22:27.14 |
javampire |
if I figure it out with this "twist" |
22:27.18 |
brlcad |
especially if it can handle scale/rotate
(translate?) along the path |
22:27.30 |
javampire |
well it could |
22:27.42 |
brlcad |
rotate with 3D seems considerably
harder |
22:27.53 |
brlcad |
presuming you allow more than planar
rotation |
22:28.02 |
javampire |
not sure, the maths are similar |
22:28.15 |
javampire |
only it needs to be well defined |
22:28.54 |
brlcad |
extracting a brep from this is going to be a
trick too :) |
22:29.03 |
brlcad |
polys, not so hard |
22:29.43 |
brlcad |
gotta run ttyl! |
22:30.52 |
*** join/#brlcad javampire_
(~ncsaba@p4FF75642.dip0.t-ipconnect.de) |
22:31.08 |
javampire_ |
sorry, was disconnected |
22:31.34 |
javampire_ |
in any case, I think once the problem is well
defined, it can be solved |
22:32.16 |
javampire_ |
the twist could be possibly defined based on
some kind of continuity requirement |
22:32.34 |
javampire_ |
I will think about it, but it's for
later |
22:33.06 |
javampire_ |
right now I want to get python-brlcad up with
ged and dm... |
22:33.23 |
javampire_ |
ok, I'll leave now, late here - see you
! |
23:33.01 |
``Erik |
http://cmorse.org/missiongen/
semi-random mission statement generator |
23:52.53 |
Notify |
03BRL-CAD:starseeker * 60071
brlcad/trunk/src/libbu/fchmod.c: fchmod.c needs bu/str.h on
Windows |