00:01.09 |
kunigami_ |
If anyone confirm that I'll change
it |
00:03.16 |
kunigami_ |
oops ignore the operator & there |
00:22.42 |
brlcad |
abhi2011: wanting to "write a basic plugin"
can mean many many things to a package as large as
brl-cad |
00:23.06 |
abhi2011 |
ok |
00:23.29 |
brlcad |
could be new object type, new shaders, new
commands, new tools, ... |
00:23.31 |
abhi2011 |
so I am trying to learn how to compile
plugins |
00:23.41 |
abhi2011 |
i just want to print something |
00:23.48 |
abhi2011 |
on the console and exit |
00:23.55 |
brlcad |
from what? |
00:24.13 |
abhi2011 |
from inside the plugin |
00:24.19 |
abhi2011 |
this is for the physics engine |
00:24.22 |
brlcad |
still, a plugin to *what* :) |
00:24.33 |
abhi2011 |
we were discussing in the mailing
list |
00:24.35 |
brlcad |
brl-cad is a suite of applications |
00:24.49 |
brlcad |
okay, so probably a new command |
00:24.54 |
abhi2011 |
yes |
00:24.58 |
brlcad |
commands go into libged |
00:25.06 |
abhi2011 |
so something like ged_physics() |
00:25.46 |
bhinesley |
src/libged/zap.c is a small example |
00:26.57 |
abhi2011 |
1 sec i ll ok |
00:27.05 |
bhinesley |
or version.c |
00:27.10 |
abhi2011 |
ok |
00:27.14 |
brlcad |
yeah, there are about 400 examples in
there |
00:27.30 |
abhi2011 |
ok....is there any doc which discusses how to
compile the plugin |
00:27.39 |
abhi2011 |
that is after i have setup the tcl code and c
code |
00:27.48 |
brlcad |
add them to src/mged/setup.c and you'll have
it available in mged |
00:27.59 |
abhi2011 |
ah ok |
00:28.08 |
abhi2011 |
well i actually wanted to make a plugin for
archer |
00:28.47 |
abhi2011 |
the plugin will allow simple physics
ultmately |
00:28.48 |
brlcad |
adding to archer is a bit more involved, save
that for later |
00:28.57 |
abhi2011 |
ok |
00:29.11 |
brlcad |
it's easy, but that's code that's in flux, so
no need to waste time |
00:29.37 |
abhi2011 |
so to compile the code I guess something like
: cc -I/usr/brlcad/include/brlcad -L/usr/brlcad/lib -o rtexample
rtexample.c -lbu -lrt -lm |
00:29.42 |
brlcad |
if a new physics command does what you're
proposing it will do, then can look into archer hooks |
00:29.43 |
abhi2011 |
should do ? |
00:30.06 |
brlcad |
you could do that, assumes a brl-cad install
but better would be to add it to the build logic |
00:30.23 |
abhi2011 |
ok |
00:30.34 |
brlcad |
if you're doing an autotools compile, you edit
the Makefile.am; or if you're doing a cmake compile, it's the
CMakeLists.txt file |
00:30.37 |
brlcad |
then just make |
00:30.48 |
abhi2011 |
ok |
00:30.59 |
brlcad |
(after running autogen.sh or cmake or
configure, depends on which build system you use and your
platform) |
00:31.08 |
brlcad |
INSTALL and INSTALL.cmake have
details |
00:31.16 |
abhi2011 |
ok |
00:31.54 |
abhi2011 |
by the way I was trying out the example from
http://brlcad.org/w/images/3/3d/Application_Development.pdf |
00:32.04 |
abhi2011 |
the rtexample.c file |
00:32.06 |
brlcad |
kunigami_: good find if it is the bug, but I'm
not familiar with that shader -- ``Erik wrote it |
00:32.15 |
abhi2011 |
if i compile using cc
-I/usr/brlcad/include/brlcad -L/usr/brlcad/lib -o rtexample
rtexample.c -lbu -lrt -lm |
00:32.16 |
brlcad |
abhi2011: yes? |
00:32.20 |
abhi2011 |
then i get |
00:32.37 |
abhi2011 |
no bio.h file |
00:32.57 |
brlcad |
need to also include
/usr/brlcad/include |
00:33.00 |
abhi2011 |
and this header is indeed not present in
/usr/include/brlcad |
00:33.33 |
abhi2011 |
ah ok |
00:33.43 |
brlcad |
actually, you're right |
00:33.50 |
brlcad |
bio.h is considered a private header |
00:34.06 |
abhi2011 |
yah |
00:34.11 |
abhi2011 |
i dont c it there either |
00:34.26 |
abhi2011 |
in /usr/brlcad/include i mean |
00:34.46 |
abhi2011 |
there is a file called fbio.h |
00:35.01 |
abhi2011 |
in /usr/brlcad/include/brlcad |
00:35.19 |
abhi2011 |
i popped that in instead :P |
00:35.51 |
CIA-62 |
BRL-CAD: 03brlcad * r45559
10/brlcad/trunk/src/rt/rtexample.c: doesn't seem to be a real need
for bio.h here. remove it since this is an example application
meant to compile outside brl-cad's build system. thx abhi2011 for
the catch. |
00:36.15 |
abhi2011 |
ok |
00:36.18 |
abhi2011 |
np |
00:36.40 |
brlcad |
technically, http://brlcad.org/w/images/3/3d/Application_Development.pdf
doesn't reference bio.h ;) |
00:36.57 |
abhi2011 |
ah ok |
00:37.09 |
abhi2011 |
well no tcl.h now |
00:37.21 |
abhi2011 |
[abhi@abhi rt]$ cc
-I/usr/brlcad/include/brlcad -L/usr/brlcad/lib -o rtexample
rtexample.c -lbu -lrt -lm |
00:37.22 |
abhi2011 |
In file included from
/usr/brlcad/include/brlcad/vmath.h:85:0, |
00:37.24 |
abhi2011 |
<PROTECTED> |
00:37.25 |
abhi2011 |
/usr/brlcad/include/brlcad/bu.h:216:58: fatal
error: tcl.h: No such file or directory |
00:37.27 |
abhi2011 |
compilation terminated. |
00:37.51 |
brlcad |
that's system dependent |
00:37.58 |
abhi2011 |
ah ok got it |
00:38.00 |
brlcad |
either in /usr/brlcad/include or somewhere
else on your system |
00:38.06 |
abhi2011 |
yes right |
00:38.09 |
abhi2011 |
will put it in |
00:38.11 |
brlcad |
that compile line is just supposed to be
notional, no way to make it work for everyone |
00:38.20 |
abhi2011 |
right |
00:49.20 |
abhi2011 |
ok got rtexample.c compiled with cc
-I/usr/brlcad/include/brlcad -I/usr/brlcad/include-L/usr/brlcad/lib
-o rtexample rtexample.c -lbu -lrt -lm |
00:49.58 |
abhi2011 |
now there is a shared library error with
brlcad utility library |
00:50.01 |
abhi2011 |
[abhi@abhi rt]$ ./rtexample sphere.g
sph1.s |
00:50.03 |
abhi2011 |
./rtexample: error while loading shared
libraries: libbu.so.19: cannot open shared object file: No such
file or directory |
00:51.03 |
abhi2011 |
perhaps its not looking in
/usr/brlcad/lib |
00:51.17 |
abhi2011 |
where i can see the library is
present |
00:52.29 |
abhi2011 |
hmm....I have given the lib path correctly
during compiling though |
00:59.35 |
abhi2011 |
probably load library path |
00:59.51 |
*** join/#brlcad Stattrav
(~Stattrav@117.192.137.87) |
00:59.51 |
*** join/#brlcad Stattrav
(~Stattrav@unaffiliated/stattrav) |
01:03.02 |
kunigami_ |
abhi2011: which OS? |
01:03.11 |
abhi2011 |
right finally got rtexample working |
01:03.16 |
brlcad |
your example line has a typo, before the
-L |
01:03.18 |
abhi2011 |
fedora 15 |
01:03.26 |
brlcad |
(no space) |
01:03.48 |
abhi2011 |
yes i corrected that |
01:04.25 |
abhi2011 |
the $LD_LIBRARY_PATH was not pointing to
/usr/brlcad/lib |
01:04.36 |
abhi2011 |
i put that in , now it runs |
01:04.53 |
brlcad |
not particularly relevant for implementing a
physics engine command, but here's a similar example that shows one
of the interfaces for creating procedural geometry:
http://brlcad.svn.sourceforge.net/viewvc/brlcad/brlcad/trunk/src/proc-db/wdb_example.c?revision=45559&view=markup |
01:05.07 |
brlcad |
LD_LIBRARY_PATH shouldn't need to point to
/usr/brlcad/lib |
01:05.13 |
brlcad |
unless you already had is set |
01:05.49 |
brlcad |
LD_LIBRARY_PATH overrides whatever the binary
was compiled to look in, if it was set then the solution was
probably to just unset it |
01:06.03 |
brlcad |
unless you have it set due to other apps or
something like that |
01:06.07 |
abhi2011 |
well ok i ll try unsetting it |
01:06.13 |
abhi2011 |
it was blank before |
01:06.23 |
brlcad |
set or blank? |
01:06.31 |
brlcad |
er, unset or blank? |
01:06.41 |
brlcad |
empty is not the same as unset |
01:06.49 |
abhi2011 |
it was blank...but the program was complaining
when it was blank |
01:07.12 |
abhi2011 |
hmm....it was printing a blank line when i
echoed it |
01:07.45 |
brlcad |
so what are you studying? |
01:08.06 |
abhi2011 |
i am doing computer engineering |
01:08.17 |
brlcad |
undergrad or grad? |
01:08.22 |
abhi2011 |
grad |
01:08.39 |
abhi2011 |
you are studying as well ? |
01:08.52 |
brlcad |
always ;) |
01:08.58 |
abhi2011 |
hehe |
01:09.00 |
brlcad |
but not in a university setting any
more |
01:09.07 |
abhi2011 |
ok |
01:09.17 |
abhi2011 |
hmm..same error again |
01:09.29 |
abhi2011 |
./rtexample: error while loading shared
libraries: libbu.so.19: cannot open shared object file: No such
file or directory |
01:10.00 |
abhi2011 |
but i think the gcc linker will link it in as
a static library |
01:10.16 |
brlcad |
ldd rtexample |
01:10.26 |
abhi2011 |
yep abt to do tht |
01:10.47 |
abhi2011 |
hmm |
01:10.52 |
abhi2011 |
[abhi@abhi rt]$ ldd rtexample |
01:10.52 |
brlcad |
there's no reason it shouldn't work non-static
and without LD_LIBRARY_PATH set |
01:10.53 |
abhi2011 |
linux-gate.so.1 => (0x00339000) |
01:10.56 |
abhi2011 |
libbu.so.19 => not found |
01:10.57 |
abhi2011 |
librt.so.19 => not found |
01:10.58 |
abhi2011 |
libm.so.6 => /lib/libm.so.6
(0x4d18c000) |
01:11.00 |
abhi2011 |
libc.so.6 => /lib/libc.so.6
(0x4cfd1000) |
01:11.02 |
abhi2011 |
/lib/ld-linux.so.2 (0x4cfb0000) |
01:11.54 |
brlcad |
what does it report if you just run this: cc
-I/usr/brlcad/include/brlcad -I/usr/brlcad/include
-L/usr/brlcad/lib -o rtexample rtexample.c |
01:12.51 |
abhi2011 |
lots of undefined references |
01:13.08 |
abhi2011 |
[abhi@abhi rt]$ cc
-I/usr/brlcad/include/brlcad -I/usr/brlcad/include
-L/usr/brlcad/lib -o rtexample rtexample.c |
01:13.10 |
abhi2011 |
/tmp/cchQUtho.o: In function `hit': |
01:13.12 |
abhi2011 |
rtexample.c:(.text+0x58): undefined reference
to `bu_log' |
01:13.13 |
abhi2011 |
rtexample.c:(.text+0x133): undefined reference
to `bu_badmagic' |
01:13.15 |
abhi2011 |
rtexample.c:(.text+0x1a8): undefined reference
to `bu_badmagic' |
01:13.17 |
abhi2011 |
rtexample.c:(.text+0x226): undefined reference
to `bu_badmagic' |
01:13.18 |
abhi2011 |
..... |
01:14.04 |
abhi2011 |
hmm the -L flag should be enough to specify
the library path |
01:14.06 |
brlcad |
so then: cc -I/usr/brlcad/include/brlcad
-I/usr/brlcad/include -L/usr/brlcad/lib -o rtexample rtexample.c
-lrt -lbu -lm |
01:15.04 |
abhi2011 |
that command compiles successfully |
01:15.22 |
brlcad |
but then ldd still says not found? |
01:15.31 |
abhi2011 |
yep |
01:15.33 |
abhi2011 |
[abhi@abhi rt]$ cc
-I/usr/brlcad/include/brlcad -I/usr/brlcad/include
-L/usr/brlcad/lib -o rtexample rtexample.c -lrt -lbu -lm |
01:15.35 |
abhi2011 |
[abhi@abhi rt]$ ldd rtexample |
01:15.37 |
abhi2011 |
linux-gate.so.1 => (0x00b43000) |
01:15.38 |
abhi2011 |
librt.so.19 => not found |
01:15.40 |
abhi2011 |
libbu.so.19 => not found |
01:15.41 |
abhi2011 |
libm.so.6 => /lib/libm.so.6
(0x4d18c000) |
01:15.43 |
abhi2011 |
libc.so.6 => /lib/libc.so.6
(0x4cfd1000) |
01:15.44 |
abhi2011 |
/lib/ld-linux.so.2 (0x4cfb0000) |
01:15.46 |
abhi2011 |
[abhi@abhi rt]$ |
01:15.52 |
brlcad |
then something with your ld setup doesn't seem
standard |
01:16.19 |
abhi2011 |
hmm..its a fresh fedora install |
01:16.44 |
brlcad |
set > file |
01:16.50 |
brlcad |
pastebin the file |
01:16.56 |
abhi2011 |
ok |
01:17.15 |
brlcad |
cc --version |
01:17.43 |
brlcad |
fwiw, it doesn't really matter (at least in
terms of getting work done) |
01:18.06 |
brlcad |
it's something particular to either your setup
and system or fedora in general |
01:18.16 |
brlcad |
usual integration is to mod the build
system |
01:18.26 |
abhi2011 |
ok |
01:18.39 |
abhi2011 |
by the way...what do you mean by paste binning
the file |
01:18.45 |
abhi2011 |
i ll just paste it here ? |
01:18.48 |
brlcad |
~pastebin |
01:18.48 |
ibot |
[~pastebin] A "pastebin" is a web-based
service where you should paste anything over 3 lines so you don't
flood the channel. Here are links to a few : http://www.pastebin.com , http://pastebin.ca , http://channels.debian.net/paste
, http://paste.lisp.org ,
http://bin.cakephp.org/ ,
http://asterisk.pastey.net/ , or
install pastebinit with yum or aptitude. |
01:18.57 |
brlcad |
don't use the first one |
01:19.36 |
abhi2011 |
ok |
01:20.33 |
abhi2011 |
http://bin.cakephp.org/view/1242653996 |
01:23.12 |
abhi2011 |
[abhi@abhi rt]$ cc --version |
01:23.14 |
abhi2011 |
cc (GCC) 4.6.0 20110530 (Red Hat
4.6.0-9) |
01:23.16 |
abhi2011 |
Copyright (C) 2011 Free Software Foundation,
Inc. |
01:25.27 |
abhi2011 |
dont try to hack my system :P |
01:32.49 |
brlcad |
why would I bother with that? :P |
01:33.07 |
brlcad |
so you DO have LD_LIBRARY_PATH set to
empty |
01:33.14 |
brlcad |
try: unset LD_LIBRARY_PATH |
01:33.19 |
brlcad |
then ./rtexample |
01:36.14 |
abhi2011 |
haha just kidding :) |
01:36.27 |
abhi2011 |
ok yah i ll try that |
01:38.45 |
*** join/#brlcad Stattrav
(~Stattrav@unaffiliated/stattrav) |
01:42.06 |
abhi2011 |
[abhi@abhi rt]$ unset
LD_LIBRARY_PATH |
01:42.08 |
abhi2011 |
[abhi@abhi rt]$ ./rtexample |
01:42.10 |
abhi2011 |
./rtexample: error while loading shared
libraries: librt.so.19: cannot open shared object file: No such
file or directory |
01:42.12 |
abhi2011 |
[abhi@abhi rt]$ echo
$LD_LIBRARY_PATH |
01:42.52 |
abhi2011 |
seems that its unable to find the library
without the library path being set |
01:47.46 |
kunigami_ |
Did you try: export
LD_LIBRARY_PATH=/usr/brlcad/lib ? |
01:50.31 |
abhi2011 |
yes that does work of course |
01:50.57 |
abhi2011 |
ok so I am trying to add a command to
Mged |
01:51.28 |
abhi2011 |
i copied src/libged/zap.c to test.c |
01:51.37 |
abhi2011 |
and i have modified it to : |
01:52.06 |
abhi2011 |
http://bin.cakephp.org/view/118439282 |
01:52.36 |
abhi2011 |
then in setup.c i added a cmd below the zap
command |
01:52.47 |
abhi2011 |
<PROTECTED> |
01:52.49 |
abhi2011 |
<PROTECTED> |
01:52.50 |
abhi2011 |
{"T", cmd_test, GED_FUNC_PTR_NULL}, |
01:52.52 |
abhi2011 |
<PROTECTED> |
01:52.55 |
abhi2011 |
the T command for testing |
01:53.17 |
abhi2011 |
now I guess i need to compile these 2
files |
01:53.33 |
abhi2011 |
so do I compile like I did for rtexample.c
? |
01:54.00 |
CIA-62 |
BRL-CAD: 03bhinesley * r45560
10/brlcad/trunk/src/librt/db_fullpath.c: |
01:54.00 |
CIA-62 |
BRL-CAD: db_string_to_path() will trim all
leading slashes, but only one trailing slash; |
01:54.00 |
CIA-62 |
BRL-CAD: then it fails when more than one
trailing slash is given. I can think of no |
01:54.00 |
CIA-62 |
BRL-CAD: reason why it shouldn't remove all
trailing slashes, so now it does. |
01:55.11 |
abhi2011 |
i think the cmd_test still needs to be defined
though |
01:59.25 |
bhinesley |
abhi2011: actually, mged isn't using libged
for that one... |
02:00.18 |
bhinesley |
you need a better example :) |
02:01.36 |
bhinesley |
archer is using ged_zap, while mged is using
cmd_zap |
02:04.24 |
bhinesley |
ged_cat in cat.c is another short
one |
02:05.14 |
bhinesley |
what you'll need is something like {"T",
cmd_ged_plain_wrapper, ged_test} |
02:13.55 |
brlcad |
abhi2011: the thing is, the library path is
supposed to be set in the binary (unless ld or gcc are configured
otherwise) |
02:14.35 |
brlcad |
like I said, might be a fedora-specific
setting or something different with gcc 4.6 |
02:15.03 |
brlcad |
either way, really doesn't matter -- that's
not the usual compile method -- we use a build system |
02:15.27 |
brlcad |
so first step is to compile and install all of
brl-cad -- there is a checklist on the wiki of things to
do |
02:15.47 |
brlcad |
as for the command, everything bhinesley is
saying is spot on :) |
02:55.58 |
*** join/#brlcad kunigami_
(~kunigami@201.53.206.27) |
04:26.07 |
*** join/#brlcad Stattrav
(~Stattrav@117.202.21.215) |
04:26.07 |
*** join/#brlcad Stattrav
(~Stattrav@unaffiliated/stattrav) |
04:31.06 |
*** join/#brlcad Stattrav
(~Stattrav@117.202.23.74) |
04:31.06 |
*** join/#brlcad Stattrav
(~Stattrav@unaffiliated/stattrav) |
04:58.47 |
*** join/#brlcad Stattrav
(~Stattrav@117.202.23.74) |
04:58.47 |
*** join/#brlcad Stattrav
(~Stattrav@unaffiliated/stattrav) |
06:39.46 |
CIA-62 |
BRL-CAD: 03bhinesley * r45561
10/brlcad/trunk/src/libged/edit.c: Fixed a bunch of logic bugs.
Implemented 'quiet' flagging for edit_str_to_arg, and allowed for
conversions to be silently attempted whenever a string *might*
contain an arg. |
06:54.21 |
*** join/#brlcad merzo
(~merzo@193.254.217.44) |
07:08.41 |
*** join/#brlcad Stattrav
(~Stattrav@unaffiliated/stattrav) |
07:17.12 |
CIA-62 |
BRL-CAD: 03bhinesley * r45562
10/brlcad/trunk/src/libbu/bomb.c: "not validating 'write' return
value; missed this in r45542" |
07:24.37 |
*** join/#brlcad Stattrav
(~Stattrav@117.213.184.187) |
07:24.40 |
*** join/#brlcad Stattrav
(~Stattrav@unaffiliated/stattrav) |
07:39.31 |
*** join/#brlcad epileg
(~epileg@unaffiliated/epileg) |
10:25.26 |
*** join/#brlcad kunigami_
(~kunigami@201.53.206.27) |
10:28.32 |
*** join/#brlcad merzo
(~merzo@193.254.217.44) |
10:55.19 |
tharis20 |
brlcad: does fixing a broken link on your wiki
count as a useful patch? :p |
11:07.40 |
abhi2011 |
brlcad: well i have installed all of
brlcad |
11:08.44 |
abhi2011 |
and I have setup a new file in
src\libged |
11:08.54 |
abhi2011 |
src\libged\test.c |
11:09.57 |
abhi2011 |
so I want it to be a new command to
mged |
11:10.29 |
abhi2011 |
i inserted a new command into
setup.c |
11:10.59 |
abhi2011 |
{"T", cmd_ged_plain_wrapper,
ged_test}, |
11:12.01 |
abhi2011 |
my question is how do I now compile both the
files : setup.c and test.c, so that they become available in
mged |
11:18.59 |
kunigami_ |
add test.c to LIBGED_SOURCES at
libged/CMakeLists.txt |
11:19.37 |
CIA-62 |
BRL-CAD: 03brlcad * r45563
10/brlcad/trunk/src/libbu/bomb.c: write() returns an ssize_t,
simplify test |
11:22.55 |
brlcad |
tharis20: can I apply the fix with the patch
command? |
11:23.27 |
brlcad |
abhi2011: did you compile/install using
cmake? |
11:24.02 |
brlcad |
if so, then what kunigami_ said, recompile,
and test.c should get built |
11:24.14 |
brlcad |
if you used autotool, edit
src/libged/Makefile.am, then recompile |
11:32.16 |
abhi2011 |
umm no i nstalled brlcad from the
rpm |
11:32.32 |
abhi2011 |
so should i build brlcad from source
? |
11:32.51 |
abhi2011 |
is there no way to compile plugins without
compiling all of brlcad ? |
11:39.30 |
tharis20 |
in the features request tracker there are some
marked open which are already solved |
11:41.41 |
brlcad |
abhi2011: have you ever worked with open
source (development) before? |
11:42.00 |
brlcad |
tharis20: yeah, they've not been reviewed in a
little while, couple months out of sync |
11:42.33 |
brlcad |
better are the BUGS and TODO files in the
source code, or run the tools until you encounter an
issue |
11:44.00 |
tharis20 |
I was reading them so that I could choose one
to try to implement and I was always "Ok, I don't understand
this... isn't this already implemented? No, otherwise it would be
closed. It's probably me not understading..." |
11:44.01 |
brlcad |
abhi2011: you can compile plugins without
compiling all of brlcad but if it's not obvious how to do that,
then you should build the package from source |
11:44.12 |
abhi2011 |
well i have installed open source software
before and I know how to compile softwares from source |
11:44.27 |
abhi2011 |
but no i havent actually worked on an open
source project |
11:45.27 |
brlcad |
we make compiling brl-cad about as simple as
it gets, especially for a package this big, including adding
additions -- but yes, you could set up your own build module
outside our build system if you wanted using whatever tools you
like |
11:45.55 |
brlcad |
it's just a lot easier to explain the
integrated approach and socis will be entirely focused on an
integrated approach anyways |
11:46.16 |
abhi2011 |
ok yes, I am fine with that |
11:46.32 |
abhi2011 |
so by the integrated approach you mean using
cmake right ? |
11:46.40 |
brlcad |
fwiw, stand-alone development is highly
frowned upon around here, we all work together so there should be
no hesitation to add to the core |
11:46.41 |
abhi2011 |
using cmake to build brlcad from source
? |
11:46.51 |
brlcad |
cmake or autotools |
11:46.55 |
brlcad |
we have two major build systems |
11:47.10 |
brlcad |
autotools is the older more established, but
we're in the process (right now) replacing it with a cmake
build |
11:47.45 |
abhi2011 |
yes of course..I do not want to do stand-alone
development, i want to do this with the community :) |
11:47.47 |
brlcad |
every major feature we remove, though, goes
through a proper deprecation removal process so it's not just
yanked out from under our users |
11:48.09 |
brlcad |
so autotools is now considered deprecated, and
in a few months there will be only cmake |
11:48.16 |
abhi2011 |
ok |
11:48.30 |
abhi2011 |
all I want to do is learn how to make plugins
in brlcad |
11:48.41 |
brlcad |
but in the time being, either/both work (and
if you make it into socis, you'd be expected to update
both) |
11:48.42 |
abhi2011 |
so I can move on to real development of the
physics |
11:48.58 |
abhi2011 |
ok yes i understand |
11:49.53 |
brlcad |
like I said yesterday, we have at least a
dozen different concepts of a plugin and they all get hooked in
differently -- for libged commands, it's (not necessary, but)
easiest to just add to the existing build |
11:50.07 |
brlcad |
tharis20: which feature? |
11:50.38 |
brlcad |
abhi2011: have you looked over http://brlcad.org/wiki/Summer_of_Code/Checklist
? |
11:50.49 |
tharis20 |
brlcad: fbclear, for example |
11:51.11 |
brlcad |
link? |
11:51.38 |
abhi2011 |
ah no not yet. right I ll have a
look |
11:52.09 |
tharis20 |
http://sourceforge.net/tracker/?func=detail&aid=3238193&group_id=105292&atid=640805 |
11:52.27 |
tharis20 |
this one also
http://sourceforge.net/tracker/?func=detail&aid=3279756&group_id=105292&atid=640805 |
11:52.41 |
brlcad |
tharis20: as far as I know, mged doesn't sport
an fbclear command still |
11:53.27 |
brlcad |
the latter for the mater command was a bug and
is fixed |
11:53.49 |
tharis20 |
I thought it did, in the Introduction to MGED,
it mentions this command |
11:53.53 |
tharis20 |
let me check again |
11:54.27 |
brlcad |
theres a gui fbclear button |
11:54.29 |
brlcad |
but no command |
11:56.07 |
tharis20 |
is the function of the wanted command the same
of the button? |
11:57.14 |
abhi2011 |
ok I have a question about the Application
requirements for SOCIS |
11:57.39 |
abhi2011 |
so is submitting a patch required for being
accepted |
12:05.00 |
abhi2011 |
right I have read through the
requirements |
12:07.33 |
abhi2011 |
To write a successful propsal, I am trying to
compile brlcad from source and write a basic plugin |
12:09.54 |
abhi2011 |
given the tight timeline for SOCIS, how
strictly will the acceptance requirements be followed ? |
12:10.24 |
abhi2011 |
especially submitting a patch within the short
timeframe would be really tight |
12:11.25 |
``Erik |
the patch is just to prove that you can
compile the code, follow the coding guidelines in the HACKING file
and interface with subversion, it doesn't have to be a major
change |
12:18.29 |
abhi2011 |
ok I understand...right I ll get on
it |
12:29.33 |
tharis20 |
if there's an app doing something and I just
want to make a command that uses that app, what's the best
approach? |
12:30.46 |
tharis20 |
system call to that app (I don't think that's
a good idea), although the GUI uses it or copying and pasting that
part that matters of the code of the original app, or ? |
12:37.52 |
*** join/#brlcad abhi2011
(~chatzilla@wlan-145-94-187-000.wlan.tudelft.nl) |
13:12.56 |
tharis20 |
besides adding a line in setup.c, editing
src/libged/Makefile.am, what else do I need to do to compile with a
new command? is there anything else I need to update? |
13:16.33 |
kunigami_ |
tharis20: I think it's enough. Have you tried
compiling with these changes? |
13:17.03 |
tharis20 |
yes, and I always get that the function is
undeclared |
13:19.55 |
kunigami_ |
paste the error in a patebin, http://paste.ubuntu.com/, for
example |
13:22.15 |
tharis20 |
http://pastebin.com/7pBuvvhJ |
13:23.28 |
tharis20 |
I've also noticed that in libged there's no
fbclear.o or fbclear.lo |
13:53.01 |
*** join/#brlcad kunigami_
(~kunigami@201.53.206.27) |
13:56.08 |
CIA-62 |
BRL-CAD: 03erikgreenwald * r45564
10/brlcad/trunk/src/libbu/bomb.c: fix signed/unsigned
warning |
14:06.33 |
*** join/#brlcad tharis20_
(~tharis@bl21-60-39.dsl.telepac.pt) |
14:06.57 |
tharis20_ |
brlcad: can you help me? ^ |
14:48.43 |
brlcad |
tharis20: if it were, there wouldn't be the
need for an fbclear command ;) |
14:48.56 |
brlcad |
it calls through some private api to clear the
framebuffer |
14:49.46 |
brlcad |
abhi2011: the patch doesn't have to be related
to your project proposal, it can be anything -- the point as ``Erik
mentioned is to show competency |
14:50.36 |
abhi2011 |
ok yes. I am compiling the brlcad source now
from the instructions in INSTALL.cmake file |
14:51.18 |
brlcad |
so the better your patch, the better your
proposal, but even a one-line patch that fixes a hard bug can be as
amazing or more than a 1000 line patch that implements some new
feature |
14:51.28 |
tharis20 |
brlcad: so, the button fbclear doesn't do the
same as the command of the feature request |
14:51.46 |
brlcad |
tharis20: it does the desired
operation |
14:52.00 |
brlcad |
but you can't use the api that the button uses
for the command |
14:52.14 |
brlcad |
they're in different sections of
code |
14:52.23 |
tharis20 |
but the command calls the application fbclear
through a system call |
14:52.38 |
brlcad |
yes, it eventually gets to that |
14:52.39 |
tharis20 |
*the button |
14:52.54 |
brlcad |
that's kinda lame for a command |
14:53.05 |
abhi2011 |
right i understand, thanks brlcad |
14:53.37 |
brlcad |
it's just as much logic to set up a connection
to fork/exec the fbclear binary as it is to open a connection to
the framebuffer and issue a clear command |
14:53.53 |
tharis20 |
exactly, that's why I asked what's the best
way, trying to avoid the system call |
14:53.53 |
brlcad |
probably < 20 lines of code |
14:54.13 |
brlcad |
basically, the guts to the fbclear command,
with some simplification |
14:54.21 |
brlcad |
s/command/tool/ |
14:54.54 |
tharis20 |
ok, I created a fbclear.c in
src/libged |
14:55.06 |
tharis20 |
and added it to Makefile.am |
14:55.29 |
brlcad |
the issue in terms of encapsulation is that
there "shouldn't" be a direct call into libfb from libged |
14:55.44 |
tharis20 |
what else do I need to do so that when I
compile, mged will recognize the command? |
14:55.49 |
brlcad |
so you shouldn't just call fb_clear() .. it
should get passed in through the struct ged |
14:56.10 |
brlcad |
you'll need to add a binding for the function
in src/mged/setup.c |
14:56.22 |
tharis20 |
yes, I also did that |
14:58.32 |
brlcad |
fwiw, calling the binary would be better than
calling the libfb api directly if you can't figure out how to get
to the framebuffer through the struct ged |
14:59.17 |
brlcad |
(ged_fbsp) |
15:00.02 |
brlcad |
tharis20: pastebin.com is the worst pastebin
service out there and inaccessible to many of us (network
blocked) |
15:00.06 |
tharis20 |
I'm calling the binary
src/fb/fbclear |
15:00.20 |
brlcad |
if you have a declaration problem, that means
what? |
15:00.41 |
tharis20 |
http://pastebin.ubuntu.com/649203/ |
15:01.10 |
tharis20 |
that means I'm not including something, I
guess |
15:01.12 |
brlcad |
so what does that error mean? |
15:01.21 |
brlcad |
not exactly |
15:01.28 |
brlcad |
it means something isn't declared |
15:01.47 |
brlcad |
and it tells you exactly what's not
declared |
15:01.56 |
brlcad |
so you just need to find where declarations
go |
15:05.46 |
tharis20 |
ok, so now it's the linker giving an
error |
15:05.56 |
tharis20 |
since fbclear.c was not compiled |
15:06.58 |
CIA-62 |
BRL-CAD: 03brlcad * r45565
10/brlcad/trunk/src/libbu/bomb.c: strlen() returns and write()
takes a size_t, so keep the higher precision as far as we can even
through write() requires the stupid return type |
16:32.15 |
*** join/#brlcad kunigami_
(~kunigami@201.53.206.27) |
17:16.52 |
brlcad |
``Erik: |
17:16.53 |
brlcad |
simd.c:29: error: can't find a register in
class 'BREG' while reloading 'asm' |
17:47.34 |
*** join/#brlcad Stattrav
(~Stattrav@117.192.147.252) |
17:47.34 |
*** join/#brlcad Stattrav
(~Stattrav@unaffiliated/stattrav) |
18:31.32 |
kunigami_ |
question on calculating the visibility of the
light: if the normal of the surface points in the same "direction"
of the light, then that light is not visible. In this case the
function light_obs returns early without setting sw_visible to
NULL |
18:32.18 |
kunigami_ |
I made a test. In the following image,
whenever there's a visible light in the given point, I shade it
white. look the result |
18:32.53 |
kunigami_ |
http://dl.dropbox.com/u/1399996/GSoC/light_obs.png |
18:35.21 |
kunigami_ |
this also seem to be the cause of the strange
behavior of the toon shader: http://dl.dropbox.com/u/1399996/GSoC/toon_result.png |
18:36.00 |
kunigami_ |
look how the blue light seems to be casting a
shadow in the portion that should be illuminated by the yellow
one |
18:36.51 |
kunigami_ |
without the blue light: http://dl.dropbox.com/u/1399996/GSoC/toon_result_2.png |
18:42.50 |
*** join/#brlcad Stattrav
(~Stattrav@117.192.147.252) |
18:42.50 |
*** join/#brlcad Stattrav
(~Stattrav@unaffiliated/stattrav) |
18:52.40 |
*** join/#brlcad Stattrav
(~Stattrav@117.192.147.252) |
18:52.40 |
*** join/#brlcad Stattrav
(~Stattrav@unaffiliated/stattrav) |
19:08.44 |
*** join/#brlcad Stattrav
(~Stattrav@117.192.147.252) |
19:08.44 |
*** join/#brlcad Stattrav
(~Stattrav@unaffiliated/stattrav) |
19:12.29 |
*** join/#brlcad abhi2011
(~chatzilla@ip170-79-211-87.adsl2.static.versatel.nl) |
20:09.28 |
kunigami_ |
strange... the result is still this image
http://dl.dropbox.com/u/1399996/GSoC/toon_result.png
even when I initialize sw_visible to NULL (before calling
light_obs). |
20:10.03 |
kunigami_ |
the problem is only solved when I replace
sw_tolight by sw_tolight + 3*i (as mentioned yesterday) |
20:10.59 |
kunigami_ |
http://dl.dropbox.com/u/1399996/GSoC/toon_result_3.png |
20:12.13 |
kunigami_ |
I'm not really sure if my changes are the
right ones to do. I'll send an email to dev-list asking for a
review |
20:32.24 |
*** join/#brlcad Stattrav
(~Stattrav@117.192.147.252) |
20:32.25 |
*** join/#brlcad Stattrav
(~Stattrav@unaffiliated/stattrav) |
20:39.51 |
*** join/#brlcad Stattrav
(~Stattrav@117.192.147.252) |
20:39.51 |
*** join/#brlcad Stattrav
(~Stattrav@unaffiliated/stattrav) |
21:01.03 |
CIA-62 |
BRL-CAD: 03bhinesley * r45566
10/brlcad/trunk/src/libged/edit.c: |
21:01.04 |
CIA-62 |
BRL-CAD: added detection of objects without
slashes, nullified dangling |
21:01.04 |
CIA-62 |
BRL-CAD: pointers, misc cleanup |
21:07.03 |
brlcad |
kunigami_: the toon shader is very new, might
just have some bugs |
21:08.21 |
brlcad |
``Erik wrote it, best to ask him |
21:08.53 |
brlcad |
from your images, looks like it is a bug, but
not familiar with that shader myself |
21:12.03 |
``Erik |
should probably eventually
finish that shader |
21:20.04 |
CIA-62 |
BRL-CAD: 03erikgreenwald * r45567
10/brlcad/trunk/src/libbu/simd.c: ia32 seems to be unhappy about
trying to address ebx at all in PIC mode, so simplify by completely
duplicating the asm section to contain all the
specialisms |
21:22.13 |
brlcad |
build succeeded here |
21:22.41 |
``Erik |
yeah, i386 PIC asm code confuses gcc |
21:24.58 |
CIA-62 |
BRL-CAD: 03brlcad * r45568
10/brlcad/trunk/TODO: reports of crashes. red with multiple blank
lines and illuminate+Z. |
21:36.55 |
*** join/#brlcad Elrohir
(~kvirc@p5B14A10B.dip.t-dialin.net) |
23:10.44 |
*** join/#brlcad Stattrav_
(~Stattrav@117.192.135.247) |
23:15.46 |
*** join/#brlcad Stattrav
(~Stattrav@117.192.134.79) |
23:15.46 |
*** join/#brlcad Stattrav
(~Stattrav@unaffiliated/stattrav) |
23:31.08 |
CIA-62 |
BRL-CAD: 03r_weiss * r45569
10/brlcad/trunk/src/libbn/plane.c: |
23:31.09 |
CIA-62 |
BRL-CAD: Updated the prototype version of
function bn_isect_line_lseg and |
23:31.09 |
CIA-62 |
BRL-CAD: bn_isect_line3_line3_new within the
libbn library within file plane.c. These |
23:31.09 |
CIA-62 |
BRL-CAD: changes are disabled by default.
These functions support the prototype function |
23:31.09 |
CIA-62 |
BRL-CAD: nmg_triangulate_fu. Made changes to
code logic and performed code cleanup. This |
23:31.09 |
CIA-62 |
BRL-CAD: is a work in progress. |
23:56.23 |
CIA-62 |
BRL-CAD: 03r_weiss * r45570
10/brlcad/trunk/src/librt/primitives/nmg/nmg_fuse.c: |
23:56.23 |
CIA-62 |
BRL-CAD: Updated function
nmg_radial_build_list within file nmg_fuse.c. These
changes |
23:56.23 |
CIA-62 |
BRL-CAD: support the prototype version of
nmg_triangulate_fu. This change corrects a |
23:56.23 |
CIA-62 |
BRL-CAD: problem when the edge radial pointers
are not already sorted. These changes are |
23:56.23 |
CIA-62 |
BRL-CAD: disabled by default. This is a work
in progress. |