01:01.04 |
*** join/#brlcad Zhao_Anqing
(clouddrift@222.205.19.237) |
01:17.40 |
Notify |
03BRL-CAD:zhaoanqing * 62036 NIL: create a new
dictionary for NMG codes alone. |
01:25.01 |
Notify |
03BRL-CAD:zhaoanqing * 62037
(brlcad/branches/nmgreorg/src/librt/CMakeLists.txt
brlcad/branches/nmgreorg/src/librt/bbox.c and 8 others): remove
some files from librt. They will be added into libnmg. |
01:26.24 |
Notify |
03BRL-CAD:zhaoanqing * 62038
brlcad/branches/nmgreorg/src/CMakeLists.txt: update CMakeLists.txt
in src to config for new-created libnmg. |
01:51.17 |
Notify |
03BRL-CAD:zhaoanqing * 62039
(brlcad/branches/nmgreorg/src/libnmg/CMakeLists.txt
===================================================================
and 119 others): move files from librt into libnmg. |
01:57.02 |
Notify |
03BRL-CAD:zhaoanqing * 62040
(brlcad/branches/nmgreorg/src/libnmg/primitives/bspline/nurb_basis.c
===================================================================
and 117 others): move nmg/bspline parts from librt into
libnmg. |
01:58.40 |
Notify |
03BRL-CAD:zhaoanqing * 62041
brlcad/branches/nmgreorg/include/raytrace.h: update raytrace.h to
fit the movement from librt to libnmg. |
03:12.56 |
Notify |
03BRL-CAD Wiki:Inderpreet * 7650
/wiki/User:Inderpreet/GSoC14/logs: /* Week 12 */ |
04:06.59 |
*** join/#brlcad Zhao_Anqing
(~clouddrif@183.157.160.15) |
05:00.43 |
Notify |
03BRL-CAD:zhaoanqing * 62042
(brlcad/branches/nmgreorg/include/raytrace.h
brlcad/branches/nmgreorg/src/librt/comb/comb.c): remove some
tree/rt_comb functions which are not used. |
06:21.59 |
*** join/#brlcad devinder
(~chatzilla@122.173.165.174) |
06:22.38 |
*** join/#brlcad devinder
(~chatzilla@122.173.165.174) |
06:53.19 |
*** join/#brlcad konrado
(~konrado@195.24.209.22) |
07:12.20 |
*** join/#brlcad pandrei
(~pandrei@86.121.194.74) |
07:19.32 |
*** join/#brlcad mihaineacsu
(~mihaineac@92.85.29.79) |
09:23.08 |
*** join/#brlcad teepee-
(bc5c2133@gateway/web/freenode/ip.188.92.33.51) |
10:24.00 |
*** join/#brlcad teepee-
(bc5c2133@gateway/web/freenode/ip.188.92.33.51) |
10:30.11 |
*** join/#brlcad FreezingCold
(~FreezingC@135.0.41.14) |
10:51.39 |
*** join/#brlcad zxq9
(~ceverett@FL9-125-199-207-150.okn.mesh.ad.jp) |
11:21.30 |
*** join/#brlcad clock
(~clock@77-58-143-135.dclient.hispeed.ch) |
11:43.53 |
*** join/#brlcad teepee-
(bc5c2133@gateway/web/freenode/ip.188.92.33.51) |
12:13.00 |
*** join/#brlcad vladbogo
(~vlad@86.121.97.131) |
12:13.53 |
*** join/#brlcad teepee-
(bc5c2133@gateway/web/freenode/ip.188.92.33.51) |
12:30.30 |
ries |
any mentors here going to GSoC? |
12:45.32 |
Notify |
03BRL-CAD:vladbogo * 62043
brlcad/trunk/src/libfb/if_qt.cpp: Implemented the qt_read,
qt_readrect and qt_writerect functions. |
12:54.31 |
*** join/#brlcad archivist
(~archivist@host81-149-189-98.in-addr.btopenworld.com) |
13:09.28 |
Notify |
03BRL-CAD:vladbogo * 62044
brlcad/trunk/src/libfb/if_qt.cpp: Handle mouse events |
13:19.15 |
*** join/#brlcad vladbogo
(~vlad@86.121.97.131) |
13:25.58 |
Notify |
03BRL-CAD:zhaoanqing * 62045
brlcad/branches/nmgreorg/src/libnmg/primitives/nmg/nmg_plot.c:
remove a sentence of test code. |
13:50.30 |
*** join/#brlcad Izakey
(~Izakey@195.24.220.16) |
13:59.18 |
*** join/#brlcad konrado
(~konrado@195.24.209.21) |
13:59.34 |
*** join/#brlcad teepee
(~teepee@gateway/tor-sasl/teepee) |
14:16.15 |
*** join/#brlcad clock
(~clock@77-58-143-135.dclient.hispeed.ch) |
14:30.07 |
*** join/#brlcad teepee
(~teepee@gateway/tor-sasl/teepee) |
14:39.48 |
tofu_ |
ries: going |
14:40.03 |
brlcad |
along with three others for brl-cad |
14:40.05 |
ries |
brlcad: Hey Sean |
14:40.21 |
ries |
brlcad: it would be nice to meet |
14:43.22 |
brlcad |
absolutely, it'll be kind of hard to miss each
other actually :) |
14:44.26 |
ries |
sounds like a date? |
14:45.08 |
brlcad |
sure |
14:45.42 |
ries |
great.. I will confirm to GSoC that I am
going |
14:46.17 |
brlcad |
this year is going to be very different from
past years, so it'll be interesting |
14:50.02 |
ries |
brlcad: I wouldnât know.. but I would be
very intersted to see some faces behind the names |
14:50.13 |
ries |
meet some smart people... |
14:55.46 |
*** join/#brlcad Zhao_Anqing
(~clouddrif@183.157.160.9) |
15:03.27 |
*** join/#brlcad clock
(~clock@77-58-143-135.dclient.hispeed.ch) |
15:20.26 |
Notify |
03BRL-CAD:ejno * 62046
brlcad/trunk/src/conv/3dm/conv3dm-g.cpp: use
ONX_Model::WireframeColor() rather than looking up colors |
15:33.57 |
brlcad |
ries: it's a really interesting event, one of
my favorite I look forward to every year |
15:35.19 |
brlcad |
you do get to meet lots of interesting people
across a huge spectrum of software development, but all open source
proponents |
15:35.34 |
brlcad |
just about every major project represented in
some form, often with the leads of those projects there |
15:37.18 |
Notify |
03BRL-CAD:ejno * 62047
brlcad/trunk/src/libgcv/bot_solidity.h: use
__BEGIN_DECLS/__END_DECLS in bot_solidity.h |
15:48.11 |
Notify |
03BRL-CAD:starseeker * 62048
(brlcad/branches/framebuffer-experiment/include/fb.h
brlcad/branches/framebuffer-experiment/src/libdm/dm_obj.c and 5
others): do a bit of refactoring, start thinking about interface to
replace the open_existing setup... |
15:53.05 |
Notify |
03BRL-CAD:starseeker * 62049
(brlcad/branches/framebuffer-experiment/include/fb.h
brlcad/branches/framebuffer-experiment/src/libdm/dm_obj.c and 5
others): Whoops, broke something - revert |
16:00.07 |
ries |
brlcad: great! We are working here at home to
make it happen |
16:02.50 |
Notify |
03BRL-CAD:carlmoore * 62050
(brlcad/trunk/doc/docbook/system/man1/en/pixtile.xml
brlcad/trunk/src/util/pixtile.c): remove -h highresolution in
pixtile; implement -h and -? for help; touch up the man page (and
remove -h usage from it) |
16:04.30 |
brlcad |
starseeker: a struct containing a magic number
and a void* should work for open_existing |
16:04.54 |
Notify |
03BRL-CAD:starseeker * 62051
brlcad/branches/framebuffer-experiment/src/libfb/fb_generic.c:
Consolidate the lists - needed to offset to account for the /dev/
in the if_name for string comparison. |
16:05.05 |
brlcad |
the implementation can validate that the right
type of data was passed with the magic number, cast it from void to
a proper type to work with it |
16:05.58 |
brlcad |
is excited by the libfb
cleanup |
16:08.47 |
starseeker |
brlcad: so we just have separate definitions
of the container structs that get fed to the void* in libdm and
libfb? |
16:09.18 |
starseeker |
keep them in sync so everthing works, but
internal to each lib and not part of the public API? |
16:09.56 |
brlcad |
sounds reasonable for something low level like
this |
16:10.00 |
brlcad |
would suggest on the fb vs. fb_s to make fb be
the public instead of fb_s, and the former fbio/fb struct becoming
something obvious like fb_impl or fb_private |
16:10.15 |
starseeker |
nods |
16:10.18 |
brlcad |
could even make libdm depend on libfb (but not
the other way around) |
16:10.25 |
brlcad |
so it could use the same struct |
16:10.38 |
brlcad |
if dm needs to know about fb's then that make
sense |
16:10.39 |
starseeker |
you mean allow libdm to use libfb's private
API? |
16:10.56 |
brlcad |
no, this would be public fb api |
16:11.17 |
starseeker |
is trying not to have any
platform specific details in either public API (that's the goal,
anyway...) |
16:11.26 |
brlcad |
right |
16:11.32 |
brlcad |
that's the point of the magic+void* |
16:11.52 |
starseeker |
right, but the container struct by definition
will have platform specific details |
16:12.05 |
brlcad |
it's a public struct in libfb like struct
fb_platform_specific { int32_t magic; void *interface; } |
16:12.07 |
starseeker |
if it's part of libfb's public API too (so
libdm can use the same definition) we're back in the soup |
16:12.25 |
brlcad |
then open_existing takes a struct
fb_platform_specific* |
16:12.50 |
starseeker |
but the interface has to have the right
X11/ogl/whatever voodo, and both libdm and libfb have to know about
that voodo |
16:13.03 |
starseeker |
(internally) |
16:13.14 |
brlcad |
when X11_open_existing gets that "fpsp", it
makes sure fpsp->magic is an X11 magic, casts interface to
whatever X11 thingy it needs |
16:13.28 |
brlcad |
only each interface needs to know about their
type |
16:13.36 |
starseeker |
brlcad: it's not one X11 thing though, as near
as I can tell - it's a set |
16:14.39 |
brlcad |
but that's fine .. the void* can be
anything |
16:14.56 |
brlcad |
the if_* defines what that void*interface is
expected to be |
16:15.06 |
brlcad |
could be a struct with 1000 pointers specific
to that interface |
16:15.07 |
starseeker |
sure, but my point is both libfb and libdm
need to know about what's inside the void - that needs to be shared
info |
16:15.26 |
starseeker |
but not expressed explicitly in the libfb
API |
16:15.41 |
brlcad |
bingo |
16:16.01 |
brlcad |
it's all about hiding the type .. obviously at
some point they need to know and have platform specific types to
work with |
16:16.07 |
brlcad |
no way around that :) |
16:16.37 |
brlcad |
this just makes both api's type-agnostic to
any platform-specific detail while letting the front-end
application do back-end work for the library |
16:17.15 |
starseeker |
nods |
16:17.34 |
brlcad |
so long as the app is creating the context,
and not the lib, there's no way around it |
16:17.40 |
brlcad |
s/the lib/a lib/ |
16:18.04 |
starseeker |
that's what I thought |
16:18.22 |
brlcad |
but you can entirely hide that type |
16:18.25 |
starseeker |
so we add the magic number for validation, and
the void* hids the messy details for libfb to unpack |
16:18.33 |
brlcad |
by just making it "data" |
16:19.02 |
starseeker |
OK, I think I see now |
16:19.08 |
brlcad |
the app creates a context, turns it into data
(casts to void and stashes it in a struct or a struct in a
struct) |
16:19.23 |
starseeker |
and sets the magic so libfb knows what to
do |
16:19.25 |
brlcad |
the app WILL need to know what the fb
interface is expecting |
16:19.29 |
brlcad |
that's the point of the magic number |
16:19.47 |
brlcad |
if it's not the right magic number, then
something is WAY off... :) |
16:20.44 |
starseeker |
but what it's expecting (the platform specific
details) aren't called out in libfb's public API but are internal
to each backend, and it's the responsibility of the libdm front-end
to check that and handle it |
16:20.44 |
*** join/#brlcad konrado
(~konrado@195.24.209.20) |
16:21.21 |
brlcad |
it's called out in libfb in terms of data, not
API |
16:22.05 |
starseeker |
doesn't quite follow - do
(for example) the Display and Window types specific to X11 need to
be visible anywhere in fb.h? |
16:23.11 |
starseeker |
is hoping not, even though
that does make "syncing" the libdm and libfb communications
expectations more difficult... |
16:23.12 |
brlcad |
so somewhere, it'll be written .. whether in a
text file or some header or some comment that 0x1234aabb means that
void* is a struct containing an X11 Display* and Window* |
16:23.32 |
brlcad |
0x1234aabb being a magic number |
16:23.46 |
starseeker |
maybe fb/X11.h, which is included by libdm's
dm-X.c but not by fb.h? |
16:24.33 |
brlcad |
my gut says make it part of the doxygen
comment for fb_open_existing() with a list of the currently known
mappings |
16:24.52 |
brlcad |
or whatever function, whereever it ends
up |
16:25.39 |
brlcad |
it's like documenting that printf's first
parameter is a format string ... and there's this wierd set of "%"
symbols followed by characters that it understands |
16:25.49 |
brlcad |
so it could even be in a man page |
16:26.46 |
brlcad |
it only needs to live in one place as
documentation, and any time someone changes an interface, they
should also change the magic number |
16:27.06 |
starseeker |
is having an fb/X11.h header that's included
locally in libdm's individual back-end implementations not a good
approach then? was liking that, since the compiler can still check
that the libfb and libdm backends are correct even though the
struct definition isn't part of the public fb.h... |
16:27.08 |
brlcad |
it's not great, but it's really one of only a
few ways possible without exposting the type |
16:28.42 |
brlcad |
that sort of / technically makes it public fb
API though |
16:28.50 |
brlcad |
the issue there is that it exposes the X11
types in the header if you actually declare the struct anywhere
besides the front-end or back-end |
16:29.17 |
brlcad |
by itself, not an issue, but it's not very
dissimilar from what we currently do |
16:29.28 |
starseeker |
brlcad: what if we wrap the header (like how
we're talking about doing for the individual bu/bn/etc. headers) so
inclusion fails outside of BRL-CAD? |
16:29.56 |
starseeker |
fb.h wouldn't have it, so someone would have
to dive for it specifically |
16:30.14 |
brlcad |
if it's useful to us, then it'd be just as
useful to anyone else wanting to make use of an open_existing
interface, no? |
16:30.30 |
brlcad |
give it a try |
16:30.32 |
starseeker |
ideally, we'd be the only ones who ever need
open_existing |
16:31.15 |
brlcad |
nah, that's a *really* common operation if
you're building an application |
16:31.20 |
starseeker |
if someone else *does* need open_existing,
then they're presumably doing their on "libdm-ish" work |
16:31.28 |
brlcad |
at least if you work with more than one
toolkit |
16:31.38 |
brlcad |
(e.g., Qt and OGRE) .. |
16:32.03 |
brlcad |
both have means to get at the context so you
can work with it instead of having to go through them for that very
reason |
16:32.13 |
brlcad |
granted, not always a polished interface, lots
of caveats |
16:32.28 |
starseeker |
will do some experimenting -
obviously, my goal is to make the openscenegraph
framebuffer/display manager integration a bit
easier |
16:32.47 |
brlcad |
fairly certain the known embeddings of libdm
in 4-5 other apps use the open_existing interface today |
16:32.52 |
starseeker |
since I had to understand how all this works
anyway, figured I'd start by trying some clean-up |
16:33.14 |
brlcad |
especially those java apps |
16:33.21 |
starseeker |
nods |
16:34.03 |
starseeker |
brlcad: I'm almost dead certain this will
break external codes, so should I hold off merging back to trunk
until after the 7.26.0 release? |
16:34.23 |
brlcad |
almost certainly :) |
16:34.47 |
``Erik |
yeesh, activity explosion when ya'll should be
at lunch O.o :) |
16:35.04 |
brlcad |
to me, the point is to make the
interface-specfic construct "data" and pass it blindly to the
library .. where/how the construct is documented almost doesn't
matter as long as it's separate from what we'd call public libfb
API |
16:35.48 |
starseeker |
can't wait to see how this
goes... merge from framebuffer branch to osg branch, then merge
that whole thing into trunk (eventually) |
16:35.53 |
starseeker |
brlcad: makes sense |
16:35.55 |
brlcad |
a header would be convenient, but then have to
take steps to make sure those are never included |
16:36.03 |
starseeker |
nods |
16:36.06 |
starseeker |
``Erik: howdy stranger |
16:36.12 |
starseeker |
how's life? |
16:36.28 |
brlcad |
"the safe way" is to just put it in a comment
and let apps "fill out their format string correctly" |
16:37.01 |
``Erik |
ticking along O.o with the api, keep ffi in
the back of your mind, lcd may not feel great, but ffi likes
it |
16:37.26 |
starseeker |
lcd? |
16:37.32 |
``Erik |
lowest common denominator |
16:37.34 |
starseeker |
ah |
16:38.17 |
``Erik |
note that every time something like c++ creeps
into the api, ffi gets at least an order of mangitude
uglier/trickier :) |
16:38.37 |
starseeker |
nods - shouldn't be any C++
at the fb.h/dm.h level |
16:39.18 |
``Erik |
it's an example, take it as such :) |
16:39.33 |
starseeker |
``Erik: do void pointers to data also cause
trouble? |
16:39.47 |
starseeker |
doesn't see a way around that
here |
16:40.14 |
starseeker |
is there an ffi routine in swig that takes a
text description of how to unpack a C struct from a void? |
16:40.25 |
starseeker |
or parse a doxygen comment even? |
16:40.27 |
``Erik |
if the api ever views the void* as anything
other than a magic box, yes... if it's never cast to anything,
no |
16:40.53 |
``Erik |
hand waves some over that
statement to reduce his queasiness |
16:41.16 |
starseeker |
that should only come up if someone wants to
replace either the libfb or the libdm component with their own
foreign language replacement |
16:41.24 |
starseeker |
speaking of feeling queasy |
16:41.29 |
``Erik |
swig 2 is actually pretty good at dealing with
basic c++ |
16:42.41 |
``Erik |
(opennurbs is not basic c++, and has been an
issue recently here) |
16:43.45 |
starseeker |
``Erik: the solution is obvious - re-code
openNURBS as a C library ;-) |
16:44.05 |
starseeker |
even have the libnurbs sourceforge project
page |
16:44.38 |
``Erik |
heh, obviously :D or wrap it in a C interface,
as that's still the lingua franca of computer interfaces |
16:45.35 |
``Erik |
<-- kinda thought libbrep was working
towards being a C wrapper for opennurbs |
16:46.19 |
starseeker |
might evolve that way - right now, it's the
holding container for all the NURBS bits we need to write that
openNURBS yanked out or otherwise doesn't provide |
16:47.59 |
Notify |
03BRL-CAD:carlmoore * 62052
(brlcad/trunk/doc/docbook/system/man1/en/pixuntile.xml
brlcad/trunk/src/util/pixuntile.c): make similar changes for
pixuntile program & man page; also, change 'chucks' to
'chunks' |
16:48.03 |
``Erik |
I rememeber the good old days when ya just had
triangles... sometimes tristrips and trifans... |
16:49.16 |
starseeker |
heh |
16:49.18 |
``Erik |
I also remember a thing called lunch, might be
worth scheduling in the next couple of weeks |
16:49.24 |
starseeker |
agrees |
16:49.29 |
``Erik |
cuz ya'll don't seem to be doing it
anymore |
16:53.25 |
starseeker |
heeds ``Erik's prodding and
goes to hunt down lunch |
16:57.53 |
``Erik |
not today, of course... I have taters baking
in the oven :D |
16:58.29 |
``Erik |
or rather, no with me today |
17:07.02 |
Notify |
03BRL-CAD:starseeker * 62053
brlcad/branches/framebuffer-experiment/include/fb.h: Stub in Sean's
idea of an fb_platform_specific container with magic
number. |
17:15.29 |
brlcad |
``Erik: possibly/probably another offsite week
of the 18th |
17:27.02 |
Notify |
03BRL-CAD:zhaoanqing * 62054
(brlcad/branches/nmgreorg/include/raytrace.h
brlcad/branches/nmgreorg/src/CMakeLists.txt and 11 others):
reverting changes back to 62036 in order to preserve the file
histories |
19:03.56 |
*** join/#brlcad andrei_
(~IceChat77@188.25.162.94) |
19:07.45 |
*** join/#brlcad konrado
(~konrado@195.24.209.22) |
19:09.23 |
konrado |
brlcad: hello |
19:10.54 |
*** join/#brlcad clock
(~clock@77-58-143-135.dclient.hispeed.ch) |
19:13.14 |
*** join/#brlcad konrado_
(~konrado@195.24.209.22) |
19:19.40 |
*** join/#brlcad konrado
(~konrado@195.24.209.22) |
19:36.12 |
Notify |
03BRL-CAD:carlmoore * 62055
(brlcad/trunk/doc/docbook/system/man1/en/bw3-pix.xml
brlcad/trunk/doc/docbook/system/man1/en/pix-bw3.xml): for bw3-pix
and pix-bw3, use <command> when the text references the
command being described |
20:21.34 |
*** join/#brlcad konrado
(~konrado@195.24.209.22) |
20:58.22 |
*** join/#brlcad konrado
(~konrado@195.24.209.22) |
21:44.38 |
*** join/#brlcad konrado
(~konrado@195.24.209.22) |
22:59.45 |
*** join/#brlcad konrado
(~konrado@195.24.209.22) |
23:14.49 |
Notify |
03BRL-CAD Wiki:Vladbogolin * 7651
/wiki/User:Vladbogolin/GSoC2014/Logs: /* Week 12 */ |
23:33.59 |
*** join/#brlcad ankesh11
(sid8015@gateway/web/irccloud.com/x-lucrjkqshsybwqgn) |