00:43.20 |
*** join/#brlcad Tecan
(~fasdf@unaffiliated/unit41) |
00:46.57 |
Tecan |
its installed how do i run ? |
00:47.13 |
Tecan |
brlman has little / no effect |
00:47.36 |
Tecan |
sets a small fire in a corner
to keep warm while waiting |
00:50.06 |
Tecan |
mged |
00:53.28 |
Tecan |
neat stuff |
00:55.27 |
Tecan |
is there a book on this stuff ? |
01:05.12 |
*** join/#brlcad mpictor_
(~mpictor_@2601:d:b280:9:35a3:eb2d:dc1f:917b) |
01:44.25 |
*** join/#brlcad zero_level
(~zero_leve@117.205.27.20) |
02:47.08 |
*** join/#brlcad zero_level
(~zero_leve@117.205.19.181) |
03:19.01 |
*** join/#brlcad Tecan
(~fasdf@unaffiliated/unit41) |
03:40.48 |
*** join/#brlcad zero_level
(~zero_leve@117.212.24.35) |
03:52.51 |
*** join/#brlcad brlcad
(~sean@66-118-151-70.static.sagonet.net) |
03:52.52 |
*** join/#brlcad starseeker
(~starseeke@66-118-151-70.static.sagonet.net) |
03:53.44 |
*** join/#brlcad Notify
(~notify@66-118-151-70.static.sagonet.net) |
03:55.42 |
*** join/#brlcad brlcad
(~sean@66-118-151-70.static.sagonet.net) |
03:55.43 |
*** join/#brlcad starseeker
(~starseeke@66-118-151-70.static.sagonet.net) |
04:45.14 |
*** join/#brlcad zero_level
(~zero_leve@117.220.12.178) |
05:02.58 |
*** join/#brlcad zero_level
(~zero_leve@117.220.12.187) |
05:46.25 |
*** join/#brlcad zero_level
(~zero_leve@117.205.30.60) |
05:52.15 |
*** join/#brlcad Tecan
(~fasdf@unaffiliated/unit41) |
06:04.24 |
*** join/#brlcad zero_level
(~zero_leve@117.205.18.113) |
07:03.29 |
*** join/#brlcad harmanpreet
(~chatzilla@202.164.53.117) |
07:16.54 |
*** join/#brlcad dtidrow
(~dtidrow@c-68-84-167-135.hsd1.mi.comcast.net) |
07:32.22 |
*** join/#brlcad harmanpreet
(~chatzilla@202.164.53.117) |
07:37.28 |
*** join/#brlcad zero_level
(~zero_leve@117.212.27.99) |
07:59.24 |
*** join/#brlcad harmanpreet
(~chatzilla@202.164.53.117) |
08:08.36 |
*** join/#brlcad kesha
(~kesha@49.249.200.67) |
08:13.59 |
*** join/#brlcad zero_level
(~zero_leve@117.212.31.132) |
08:32.33 |
*** join/#brlcad harmanpreet
(~chatzilla@202.164.53.117) |
08:49.08 |
harmanpreet |
? |
08:58.45 |
*** join/#brlcad zero_level
(~zero_leve@117.205.27.235) |
09:17.09 |
Notify |
03BRL-CAD Wiki:KeshaSShah * 5439
/wiki/User:KeshaSShah/GSoC13/Reports: /* Week 1 */ |
09:23.07 |
Notify |
03BRL-CAD Wiki:KeshaSShah * 5440
/wiki/User:KeshaSShah/GSoC13/Reports: /* June 18 */ |
09:25.54 |
*** join/#brlcad zero_level
(~zero_leve@117.205.29.19) |
10:06.44 |
*** join/#brlcad zero_level
(~zero_leve@117.212.28.39) |
10:18.53 |
*** join/#brlcad zero_level
(~zero_leve@117.212.28.39) |
10:22.06 |
*** join/#brlcad harmanpreet
(~chatzilla@202.164.53.117) |
10:43.15 |
*** join/#brlcad zero_level
(75d41c27@gateway/web/freenode/ip.117.212.28.39) |
10:43.50 |
*** join/#brlcad harmanpreet
(~chatzilla@202.164.53.117) |
10:44.12 |
*** join/#brlcad mpictor_
(~mpictor_@2600:1015:b113:4dff:0:f:2df:b101) |
11:06.44 |
*** join/#brlcad harmanpreet
(~chatzilla@202.164.53.117) |
11:10.14 |
*** join/#brlcad zero_level
(~zero_leve@117.205.30.171) |
11:35.33 |
*** join/#brlcad harmanpreet
(~chatzilla@202.164.53.117) |
11:49.59 |
*** join/#brlcad zero_level
(~zero_leve@117.220.14.195) |
12:01.51 |
zero_level |
hi brlcad: ``Erik: |
12:02.03 |
zero_level |
among the utilities in the /src/util
folder |
12:02.16 |
zero_level |
i am creating a utility to test my conversion
functions. |
12:02.49 |
zero_level |
i compiled the source code as i did previously
as illustrated in INSTALL file |
12:03.20 |
zero_level |
but the new test utility didnt get compiled
! |
12:03.34 |
zero_level |
do i have to add the information in some file
? where ? |
12:28.00 |
*** join/#brlcad zero_level
(~zero_leve@117.212.26.179) |
12:38.03 |
*** join/#brlcad mpictor
(~mpictor_@2600:1015:b10f:860d:0:f:2e6:7301) |
12:47.56 |
*** join/#brlcad zero_level
(~zero_leve@117.205.24.226) |
13:16.49 |
*** join/#brlcad harmanpreet
(~chatzilla@124.253.78.126) |
13:43.15 |
*** join/#brlcad zero_level
(~zero_leve@117.205.24.192) |
14:10.14 |
brlcad |
zero_level: yes, see the CMakeLists.txt
file |
14:10.31 |
brlcad |
there's one in pretty much every directory
that describes how to compile things in that directory |
14:10.51 |
zero_level |
also i guess Makefile.am |
14:10.55 |
brlcad |
if you're creating test tools, you may want to
mirror the testing infrastructure in src/libbu/tests |
14:11.03 |
brlcad |
there are no longer Makefile.am
files |
14:11.10 |
brlcad |
if you have them, you're not up to
date |
14:11.16 |
zero_level |
ok |
14:11.24 |
zero_level |
i have 7.23.1 |
14:11.31 |
zero_level |
do i download 7.24 ? |
14:11.40 |
brlcad |
er.... no |
14:12.11 |
brlcad |
you should be working from a subversion
checkout |
14:12.20 |
brlcad |
~cadsvn |
14:12.20 |
ibot |
To obtain BRL-CAD from Subversion: svn
checkout https://svn.code.sourceforge.net/p/brlcad/code/brlcad/trunk
brlcad |
14:12.38 |
brlcad |
that's the slow but sure way |
14:12.55 |
zero_level |
ok. i did this .. but days(months_)
back |
14:12.58 |
brlcad |
for the faster svn+ssh:// method, go to the
sf.net project page |
14:13.00 |
zero_level |
updating now |
14:13.07 |
brlcad |
okay, so then you need to run "svn
up" |
14:13.22 |
brlcad |
you should run svn up every day, several times
throughout the day |
14:13.53 |
brlcad |
basically every time you Notify write a
message in here, there's an update to be received |
14:14.17 |
brlcad |
that means someone commited a change |
14:15.44 |
*** join/#brlcad harman
(~harman@202.164.53.122) |
14:18.17 |
Notify |
03BRL-CAD:brlcad * 55797
brlcad/trunk/src/libbn/tcl.c: like this, zero_level (ws) |
14:20.23 |
zero_level |
i saw libbu now. where are the test tools
installed ? |
14:20.49 |
zero_level |
didnt find them among the binaries |
14:20.52 |
zero_level |
brlcad: |
14:37.59 |
*** join/#brlcad zero_level
(~zero_leve@117.205.30.149) |
14:43.35 |
brlcad |
zero_level: they're not installed, but they
are available after compilation in the build directory |
14:43.41 |
brlcad |
bin directory |
14:56.31 |
zero_level |
brlcad: also about committing changes! do i
have the access to ? |
14:57.01 |
brlcad |
zero_level: considering you just today learned
about "svn up", I'm not sure you're ready for commit access
:) |
14:57.28 |
zero_level |
i used to do svn update |
14:57.33 |
zero_level |
:-) |
14:57.35 |
zero_level |
svn status |
14:57.39 |
brlcad |
keep submitting your work (daily) as patches
and get folks to review them |
14:57.45 |
zero_level |
ok |
14:57.58 |
brlcad |
we have a backlog because of release |
14:58.06 |
zero_level |
ok |
14:58.08 |
brlcad |
used to ... but didn't in months? :) |
14:58.22 |
brlcad |
or weeks at least |
14:59.25 |
zero_level |
brlcad: also can we disucss about this mail
http://sourceforge.net/mailarchive/message.php?msg_id=31038788 |
15:05.10 |
brlcad |
zero_level: big e-mails provoke big
responses |
15:05.18 |
brlcad |
big responses take considerable time |
15:05.33 |
brlcad |
see aforementioned comment about there being a
backlog because of release :) |
15:19.11 |
*** join/#brlcad zero_level
(~zero_leve@117.205.17.127) |
15:20.08 |
*** join/#brlcad vladbogo
(~vlad@188.25.101.47) |
15:27.01 |
Notify |
03BRL-CAD Wiki:Vladbogolin * 5441
/wiki/User:Vladbogolin/GSoC2013/Logs: |
15:45.04 |
brlcad |
if you have questions, ask them here and get
your answer ... don't wait |
15:45.34 |
brlcad |
zero_level: big e-mails provoke big responses,
big responses take lots of time -- see aforementioned comment about
there being a backlog |
15:45.50 |
vladbogo |
hi all |
15:46.15 |
vladbogo |
i was working on the integration of qt in the
cmake build yesterday |
15:46.17 |
brlcad |
that's part what makes IRC much more effective
if you stay logged in, because we can answer quick questions
easily |
15:46.27 |
brlcad |
hi vladbogo how goes it? |
15:46.37 |
vladbogo |
as i saw there is a slight difference between
qt4 and qt5 |
15:47.02 |
vladbogo |
i successfully built a small project using
qt5 |
15:47.30 |
vladbogo |
i wanted to ask you what version of qt should
I use? |
15:48.44 |
vladbogo |
i still have to find out a way to determine
the path to the qt installation. Hopefully I will find out that
today |
15:49.01 |
brlcad |
you should use the very latest |
15:49.22 |
vladbogo |
that's what I used but I wanted to be
sure |
15:50.29 |
brlcad |
definitely 5 |
15:51.23 |
brlcad |
vladbogo: for your project, build system
issues are secondary -- you can/should get by with as little effort
as possible |
15:51.37 |
brlcad |
once you have things working, we can hook up
the build system properly very quickly |
15:52.05 |
brlcad |
unless you really want to understand the build
system |
15:52.08 |
brlcad |
become a cmake guru |
15:52.31 |
brlcad |
otherwise, you can get away with just adding
some compile/linker flags in your specific directory |
15:53.09 |
vladbogo |
ok then I will leave other details for later
(such as determining the fact that qt is installed) |
15:53.34 |
brlcad |
yep |
15:53.41 |
brlcad |
just assume it's installed, use it |
15:53.54 |
brlcad |
when it comes time to commit, we can sort out
the build |
15:54.04 |
brlcad |
vladbogo: where are your patches? |
15:54.15 |
brlcad |
can you provide the links? |
15:54.29 |
brlcad |
I know you have them down in a few
places |
15:54.40 |
vladbogo |
immediately |
15:55.09 |
vladbogo |
this one is the latest |
15:55.10 |
vladbogo |
http://sourceforge.net/p/brlcad/patches/189/ |
15:55.47 |
vladbogo |
and also the qt patch |
15:55.49 |
vladbogo |
http://sourceforge.net/p/brlcad/patches/185/ |
15:56.11 |
vladbogo |
which is an improved version of the txt
display manager |
15:56.30 |
vladbogo |
should I also provide the link to the ones I
have done in the application period? |
16:01.16 |
Notify |
03BRL-CAD:brlcad * 55798
brlcad/trunk/src/conv/g-voxel.c: accept sf patch 189 (Optional
arguments g-voxel.c) from Vlad Bogolin which provides the same
optional arguments as libged's voxelize command. |
16:07.36 |
Notify |
03BRL-CAD:brlcad * 55799 brlcad/trunk/AUTHORS:
accepted patch from vlad bogolin to clean up g-voxel, other patches
pending too. he's a gsoc 2013 participant. |
16:16.28 |
brlcad |
vladbogo: per your mailing list comment, who
did you talk with? |
16:17.20 |
brlcad |
I don't want to step in the way of their plans
if they want you spending time working on proper integration early
rather than later |
16:18.16 |
brlcad |
I just tend to like reactive, not
anticipatory |
16:18.22 |
vladbogo |
D. Rossberg |
16:19.09 |
brlcad |
and the build isn't technically strictly
necessary until it comes time to enable that code, so it can happen
now or later |
16:19.11 |
brlcad |
okay |
16:19.50 |
brlcad |
so keep on then, but just don't let yourself
get stuck -- we have a lot of cmake expertise here |
16:19.58 |
vladbogo |
we haven't discussed in what degree the
integration should be done |
16:20.04 |
brlcad |
there should be a find qt macro that you can
run |
16:20.19 |
brlcad |
we're not bundling qt, it's too big |
16:20.37 |
vladbogo |
I found that but in order to work I have to
specify the path in the CMAKE_PREFIX_PATH |
16:20.42 |
brlcad |
so the build system needs to simply test for
it, similar to how it currently tests for X11, and if it's
available, it builds your interface |
16:21.46 |
brlcad |
where is qt installed on your system |
16:21.59 |
vladbogo |
in the home directory |
16:22.43 |
brlcad |
so that's something cmake could never find on
its own, you have to tell it |
16:22.57 |
brlcad |
did you read
http://qt-project.org/quarterly/view/using_cmake_to_build_qt_projects
? |
16:23.12 |
brlcad |
and http://www.kdab.com/using-cmake-with-qt-5/ |
16:23.35 |
vladbogo |
yes this are exactly the pages I
used |
16:23.56 |
brlcad |
okay great |
16:24.56 |
brlcad |
so then try just setting the prefix
path |
16:25.08 |
brlcad |
CMAKE_PREFIX_PATH=~/path/to/Qt cmake
.. |
16:25.32 |
brlcad |
or cmake -DCMAKE_PREFIX_PATH=~/path/to/Qt
.. |
16:25.40 |
vladbogo |
like this it works |
16:26.17 |
brlcad |
then you just need to use the right variables
to enable/disable your files |
16:27.40 |
brlcad |
follow the logic for BRLCAD_ENABLE_X11 as I
expect you'll need to add similar lines for
BRLCAD_ENABLE_QT |
16:27.57 |
brlcad |
in the top-level CMakeLists.txt file and
src/libdm/CMakeLists.txt file |
16:29.14 |
vladbogo |
i will look then there. Now (in the qt-dm
patch) the BRLCAD_ENABLE_QT is always set |
16:29.56 |
vladbogo |
this was planned for today |
16:30.15 |
brlcad |
k |
16:30.38 |
brlcad |
vladbogo: curious, looking over your dm-txt
patch -- why do you export all of the functions? |
16:32.39 |
vladbogo |
that was a misunderstanding |
16:32.50 |
vladbogo |
the txt dm patch needs some reviews |
16:33.49 |
vladbogo |
i focused on solving the problems on the
qt-dm |
16:35.10 |
vladbogo |
should I fix the dm-txt patch? |
16:54.21 |
brlcad |
yes please |
16:54.43 |
brlcad |
probably end up not even needing that new
header |
16:54.52 |
vladbogo |
yes |
16:55.17 |
vladbogo |
i did all the changes in the qt dm which at
the moment is basically the same |
16:56.13 |
brlcad |
nods |
17:01.09 |
vladbogo |
i will start working to the txt dm |
17:07.03 |
vladbogo |
also I want to ask you how should I approach
the existence of the txt dm? Is it ok if it's the same as the null
dm and the macro is defined in dm.h? |
17:09.15 |
harman |
brlcad: Hi, I was working for making a patch
to add feature requested at: http://sourceforge.net/p/brlcad/feature-requests/130/.
I read your comment on this link to get some idea, but I am not
getting; from which to which file I am suppose to move? |
17:10.26 |
brlcad |
vladbogo: what macro? |
17:10.52 |
brlcad |
if it's got a macro that has to be published,
that would be a reason for it to have a header |
17:11.29 |
brlcad |
harman: sourceforge is apparently having
problems today .. site is really slow |
17:13.09 |
vladbogo |
brlcad: dm.h (line 53) (#define DM_NULL
(struct dm *)NULL) I used the same approach to determine that the
txt dm exists and defined it there. Being a debug dm I suppose it
is ok because it has to be present anytime |
17:13.47 |
brlcad |
vladbogo: DM_NULL is just a typecast
NULL |
17:13.57 |
brlcad |
for older compilers |
17:14.16 |
brlcad |
that could/should basically be NULL
nowadays |
17:14.32 |
brlcad |
i don't see what that has to do with your txt
dm though.. |
17:16.04 |
brlcad |
harman: okay, 130 finally displayed -- the
task involves the journal command in mged, yes? |
17:16.15 |
harman |
yes.. |
17:16.28 |
brlcad |
harman: so where is the journal command
sources? |
17:16.58 |
brlcad |
aside from asking, how might you go about
finding it? |
17:18.00 |
harman |
actually.. I read your comment and was trying
to follow what you said. |
17:18.25 |
brlcad |
okay |
17:18.38 |
harman |
i searched for bu_log_add_hook |
17:18.46 |
vladbogo |
brlcad: nevermind. I was thinking at something
wrong |
17:18.51 |
harman |
and I found it on log.c |
17:18.53 |
harman |
ok |
17:19.23 |
brlcad |
okay, that's where that particular function is
implemented, and? |
17:21.21 |
harman |
means.. I found this in log.c |
17:32.34 |
brlcad |
heh |
17:34.10 |
brlcad |
harman: if I'm trying to help you with
something, you have to actually ask a question or you'll have to
follow down a line of reasoning to help you understand what you
need to do next |
17:35.26 |
brlcad |
you wrote "from which to which file I am
suppose to move?" which I started to help you with, and you
redirected onto my comment about bu_log_add_hook, so my response
followed "and?" and so what? you found the sources for that log
function. now what? |
17:37.10 |
brlcad |
glad to help, but I'm not just going to try
and guess or be a professor on a white board telling you all there
is to know about bu logging or the journal command or mged's
command infrastructure and hope that something I say is something
you were needing to hear |
17:37.17 |
brlcad |
that'd be inefficient, right? |
17:37.32 |
brlcad |
so I'll help you get to where you're going,
but I'm not going to drive the car :) |
17:39.12 |
brlcad |
you have the right idea, obviously you should
try to understand my reply to the feature request since I basically
say how to do it |
17:39.30 |
brlcad |
but you must first understand and reproduce
the problem so you know what it is you're trying to
change |
17:39.40 |
brlcad |
have you run the journal command? |
17:39.56 |
harman |
oh.. I was away from system.. |
17:40.04 |
brlcad |
you're allowed to do that |
17:40.08 |
brlcad |
:) |
17:40.09 |
harman |
yes. |
17:40.20 |
harman |
i run it |
17:40.28 |
brlcad |
do you understand the problem as tom stated
it? |
17:40.32 |
harman |
yes |
17:40.43 |
brlcad |
do you know where/how the journal command is
implemented? |
17:41.01 |
harman |
no |
17:41.18 |
brlcad |
so there's your first step before trying to
understand my reply since that's part of the problem statement
scope |
17:41.31 |
harman |
okay.. |
17:41.34 |
brlcad |
do you know how to go about finding
it? |
17:41.56 |
brlcad |
variety of ways |
17:44.34 |
harman |
I basically do file search |
17:46.16 |
brlcad |
okay, that's a fine starting point, so what
does that tell you? |
17:46.22 |
harman |
but that does not give produce any
result.. |
17:47.32 |
brlcad |
how are you searching? |
17:47.54 |
brlcad |
you're clearly able to run the journal command
so SOMEWHERE in the source tree there should be at least one
reference to the word journal |
17:48.56 |
harman |
history.c? |
17:49.32 |
brlcad |
I assume you more specifically mean
src/mged/history.c |
17:50.03 |
harman |
yes yes |
17:50.45 |
brlcad |
that sounds like the place, and if you
followed a different approach for finding the command, it would be
confirmed |
17:51.20 |
harman |
i used grep command |
17:51.29 |
brlcad |
good |
17:51.43 |
brlcad |
if you looked in src/mged, you would have
found a reference to "journal" and and f_journal function |
17:52.21 |
brlcad |
that piece of code should look very much like
a command table, and would have been strong evidences that you
"found" where the command is hooked in |
17:52.35 |
brlcad |
that f_journal function becomes the starting
point |
17:52.48 |
brlcad |
from there, you find the implementation in
history.c |
17:53.24 |
brlcad |
okay, so now you should try to follow the
logic in that file, starting with f_journal(), to see if you have a
basic understanding of what it's doing |
17:53.39 |
harman |
okay.. |
17:53.40 |
brlcad |
then re-read my response about how to possibly
go about fixing it |
17:53.51 |
harman |
ok |
17:55.37 |
harman |
i will do it |
17:55.53 |
brlcad |
once you have a basic understanding of the
command, that should really help with figuring out what you can do
to fix it |
17:56.09 |
brlcad |
at which point my comments may help or you may
even end up with a better idea |
17:56.24 |
brlcad |
that command was very quickly implemented,
terrible code, so there's lots of room for improvement |
17:56.33 |
brlcad |
you could simply start by making a patch that
cleans up the code |
17:56.49 |
harman |
okay.. |
17:56.55 |
brlcad |
refactoring and improving code while you read
it is a great way to learn the code too |
17:57.11 |
harman |
thanks for the tip |
17:57.32 |
brlcad |
just make sure any "cleanup" changes you make
are not mixed with any feature request changes |
17:57.40 |
brlcad |
(a patch should do just one thing, not many
things) |
17:58.21 |
harman |
i will keep it in mind |
17:58.30 |
brlcad |
same thing with commits |
17:58.54 |
harman |
okay.. |
18:00.40 |
*** join/#brlcad caen23_
(~caen23@92.81.220.39) |
18:00.45 |
harman |
you were talking about ideas you and other
developers have idea to improve project scope |
18:00.45 |
brlcad |
vladbogo: your patches are looking great,
daniel was happy too |
18:01.01 |
brlcad |
vladbogo: you now have commit access, test
commit some small change now if you would please |
18:01.20 |
vladbogo |
brlcad: thanks |
18:01.28 |
brlcad |
vladbogo: and (re)read the HACKING section on
dev responsibilities |
18:02.01 |
vladbogo |
brlcad: i have also submitted the txt dm with
fixes |
18:02.22 |
brlcad |
harman: yeah, actually it was from another dev
who really frowned on the proposed interface approach, but liked
the idea of a web interface overall |
18:02.24 |
vladbogo |
brlcad: i will read the HACKING
again |
18:02.38 |
brlcad |
vladbogo: excellent |
18:04.13 |
brlcad |
vladbogo: so patch 179 is curious... |
18:04.38 |
zero_level |
brlcad: i am posting few issues from the mail
her |
18:04.42 |
zero_level |
*here |
18:05.09 |
zero_level |
brlcad #Proposal Time Line
Modifications |
18:05.35 |
zero_level |
I wish to remove group 10-11 from my proposal.
I believe this will help in more time for the import/export tools
and increases feasibility of the project. |
18:05.48 |
zero_level |
My Update proposal time line is here http://brlcad.org/wiki/User:Level_zero/GSOC13/timeline |
18:07.13 |
vladbogo |
brlcad: i think that approach should be
discussed in order to make the best decision. That is just an idea
I had in order to reduce the #ifdefs |
18:07.39 |
brlcad |
vladbogo: it seems like an incomplete patch?
you leave dm_open() and add a new function and a new MY_*() macro
(bad name) |
18:08.47 |
brlcad |
zero_level: what were groups 10-11? |
18:08.57 |
vladbogo |
I know it's a bad name. My idea would be to
modify DM_OPEN as MY_DM_OPEN but as I only did the refactoring for
the X dm that was not possible |
18:09.34 |
brlcad |
I think that's the "incomplete" I'm
seeing |
18:09.39 |
zero_level |
http://brlcad.org/wiki/User:Level_zero/GSOC13/Refinements#Merge_or_Split_.28GROUP.2310.29 |
18:10.23 |
vladbogo |
brlcad: adding a comment for the first commit
it's ok? |
18:11.58 |
vladbogo |
brlcad: I didn't knew if my idea for the patch
it's better than the actual implementation so I submitted the patch
and if you think that it is useful to finish it I will work on
refactoring all the dm's |
18:12.06 |
zero_level |
brlcad u will find information regarding that
on the web link |
18:12.08 |
brlcad |
vladbogo: as long as it's a useful comment or
improving a comment, sure |
18:14.08 |
brlcad |
vladbogo: now that you have commit, you can
think about it from a different approach and incrementally get
there |
18:15.54 |
brlcad |
for example, one commit could add the new
dm_open callback to the struct, and NULL entries for all of the
DM's (with nothing using them) |
18:16.32 |
brlcad |
zero_level: brevity instead of links is nice
;) but that's a good question to ask your reviewing
mentor |
18:16.52 |
zero_level |
is he around today ? |
18:17.05 |
brlcad |
zero_level: technically speaking, I'm much
more concerned that you end up with a solid API design, framework
for growth, and completely migrated commands -- not works in
progress |
18:17.24 |
brlcad |
so most of your groups are secondary towards
design |
18:17.29 |
zero_level |
ok |
18:17.48 |
brlcad |
already told you during evals that you were
being way too ambitious/presumptuous :) |
18:18.19 |
brlcad |
your schedule should reflect where all your
time is still going though regardless |
18:18.51 |
harman |
brlcad: okay... you mentioned in the message
that focusing on NURBS instead of reinventing the wheel with basic
shapes would improve scope. Can you please tell how can I invlove
NURBS in my project? |
18:19.14 |
zero_level |
brlcad yesterday i submitted a patch regarding
icv_structures. patch num = 192. link = http://sourceforge.net/p/brlcad/patches/192/ |
18:20.42 |
vladbogo |
brlcad: yes I know what you mean but I don't
know if the select_dm function is the best approach because it
still has ifdefs. |
18:22.02 |
brlcad |
harman: yeah, and that is probably an involved
discussion |
18:22.37 |
brlcad |
but the basic notion is that we still don't
think you fully get what you're proposing with editing
representations on the front-end and boolean operations ....
:) |
18:23.05 |
brlcad |
and we really don't want to end up with a idea
that is never put into production use or just ends up being a neat
demo |
18:23.25 |
brlcad |
or that duplicates existing functionality
unnecessarily! so many concerns. ;) |
18:24.03 |
brlcad |
which leaves us introspecting what sort of
interface WOULD be useful that we do not readily have that might
make sense in a browser |
18:24.22 |
brlcad |
and still fits within scope |
18:24.53 |
brlcad |
zero_level: I saw it |
18:25.01 |
zero_level |
brlcad : ok |
18:25.17 |
brlcad |
vladbogo: that is true, twas another
critique |
18:25.25 |
zero_level |
am i going right there ? |
18:25.30 |
brlcad |
the whole point of those structure callback
tables is to avoid the ifdefs |
18:26.11 |
brlcad |
vladbogo: perhaps another approach would be a
callback that returns the type ... depends on how it's used,
right? |
18:26.23 |
zero_level |
brlcad: today i am making test functions for
my convert patches |
18:26.53 |
zero_level |
also working on group 1 (Croping) test
compiles. |
18:27.00 |
brlcad |
zero_level: you just submitted that, there are
some others ahead of it... :) |
18:27.11 |
zero_level |
ok |
18:27.16 |
vladbogo |
brlcad: I know but there still has to be a way
to select the dm. A new callback that returns the type sounds like
a good idea. |
18:27.30 |
brlcad |
if your old patches aren't perfect, i'd
suggest giving them a look over once again (and make them
perfect) |
18:27.52 |
brlcad |
vladbogo: maybe .. it just depends what that
type is used for |
18:28.01 |
brlcad |
ideally we'd fully hide the type, it shouldn't
matter |
18:28.58 |
brlcad |
at most, callers really only need a few things
like whether OpenGL is available, whether there are events, maybe
whether it's current,e tc |
18:29.10 |
zero_level |
also brlcad: i have created an index page on
wiki which contains all the info. I hope u have seen that. the link
is here http://brlcad.org/wiki/User:Level_zero/ |
18:29.31 |
vladbogo |
brlcad: i will consider this and think about a
better solution |
18:30.51 |
brlcad |
zero_level: no I hadn't seen that because that
trailing slash isn't the convention for user dirs |
18:30.55 |
brlcad |
http://brlcad.org/wiki/User:Level_zero |
18:31.05 |
brlcad |
should move the page |
18:31.53 |
Notify |
03BRL-CAD Wiki:Level zero * 0
/wiki/User:Level_zero/: trailing slash is not the
convention |
18:32.19 |
zero_level |
brlcad : here it is http://brlcad.org/wiki/User:Level_zero/index |
18:33.33 |
harman |
brlcad: ok.. if it is an invloved discussion
then I can start discussion over mailing list and in the mean time
I should work on patches. Is it OK? |
18:34.39 |
zero_level |
brlcad : our bwhisteq uses the same method as
histeq. But the mapping is done as such it avoids the closed form
function to find the new map. |
18:37.17 |
brlcad |
harman: it's more an extension of your
proposal discussion |
18:37.34 |
brlcad |
on
http://www.google-melange.com/gsoc/proposal/review/google/gsoc2013/harman052/15001#c46001 |
18:38.36 |
brlcad |
zero_level: closed form... avoids what?
statement doesn't say anything to me as worded other than our
bwhisteq tool matches matlabs histeq function |
18:39.26 |
brlcad |
"But the mapping is done as such it avoids the
closed form function to find the new map." ... which mapping? what
is it? new map from what? how is closed form relevant?
:) |
18:40.04 |
harman |
brlcad: sorry, i didn't get you. |
18:40.50 |
brlcad |
harman: i'm saying that you probably don't
have enough to start a discussion... :) |
18:41.02 |
brlcad |
and just asking for people to talk isn't
likely going to start a discussion |
18:41.39 |
harman |
then what next? |
18:43.00 |
brlcad |
so I've got a little time now, lets discuss
where we left off |
18:43.19 |
*** join/#brlcad kesha
(~kesha@49.202.239.196) |
18:43.20 |
brlcad |
I get how you're planning on displaying
projected rpps in four views |
18:44.12 |
brlcad |
but then what? you used that in response to
my concerns about how that applies to the general case that you are
reportedly aiming for |
18:44.23 |
brlcad |
but your description doesn't
generalize |
18:44.49 |
brlcad |
it only works for rpps because an un-rotated
projected rpp is just a rectangle and the web tech deals with
drawing rectangles fine |
18:45.39 |
brlcad |
even with rpps, I don't think your description
deals with the visualization aspect |
18:46.12 |
brlcad |
if I move an rpp in just one view and subtract
it, what does that mean? how is the subtraction
performed? |
18:46.22 |
brlcad |
the result is not an rpp any longer |
18:49.03 |
brlcad |
I think to make progress on a different
direction, you're going to need to understand what this problem is
about geometry representation types, what data you actually have to
work with, and what it is exactly that is being
accomplished |
18:49.38 |
brlcad |
and this is very much not feeling like a
discussion. hello? |
18:50.01 |
harman |
i am reading and thinking |
18:51.55 |
brlcad |
taking a step back, the overarching goal was
stated as a web interface to BRL-CAD |
18:52.12 |
harman |
yes.. |
18:52.27 |
brlcad |
that's obviously very open-ended, with a lot
of room for doing something really interesting and useful and not
held back by our current usability limitations |
18:52.32 |
brlcad |
that part I think we all get :) |
18:53.53 |
brlcad |
however to "shift all features and
functionality of desktop software to browser" is a very big
statement from your proposal that begs for understanding why this
is a problem now |
18:54.41 |
brlcad |
why does BRL-CAD currently not have OpenGL
shaded display visualizations of geometry? |
18:55.28 |
harman |
"shift all features and functionality of
desktop software to browser is the ultimate goal. |
18:55.47 |
brlcad |
yes, I realize this is meant as a small
stepping stone, just a start |
18:55.58 |
harman |
yes |
18:56.10 |
vladbogo |
brlcad: I am trying to make my first commit
but I don't know how to specify my sourceforge username(I am trying
svn commit --username). Can you give me a hint? |
18:56.24 |
brlcad |
but there still seems to be a fundamental
realization that is yet to be attained... :) |
18:56.51 |
brlcad |
vladbogo: just run svn commit, it'll prompt a
password, hit enter, it should prompt a username |
18:57.42 |
brlcad |
harman: so to my question -- why don't we
already have pretty opengl shaded views? |
18:58.52 |
harman |
please explain.. |
18:59.18 |
brlcad |
your proposal addresses a fundamental issue in
BRL-CAD |
18:59.41 |
brlcad |
it's hard to use, the interface is not
"modern" or pretty or shaded ( you get wireframes ) |
18:59.45 |
brlcad |
why do we display wireframes |
18:59.50 |
brlcad |
why not something else? |
19:00.00 |
harman |
you said.. wireframes |
19:00.03 |
vladbogo |
brlcad: i tried that and it does not prompt
neither password or username: simply opens the editor and after
writing the comment prompts svn: Authorization failed |
19:00.20 |
harman |
has mathematical reason behind their
implementation |
19:01.16 |
brlcad |
vladbogo: it'll depend what method you used to
check out -- go to the sf.net page and get a read/write checkout
url |
19:01.35 |
vladbogo |
brlcad: thanks |
19:01.44 |
brlcad |
harman: wireframes don't have mathematical
reasoning behind them |
19:01.52 |
brlcad |
wireframes are just a bunch of 3d line
segments |
19:02.10 |
harman |
okay |
19:02.26 |
brlcad |
if I open up the editor, create a sphere,
create a cylinder that runs into the sphere, create another sphere
on the other end, and union the shape together (like a barbell) ...
what's the problem displaying that? |
19:02.30 |
brlcad |
o-o |
19:02.41 |
brlcad |
or better: O=O |
19:03.27 |
brlcad |
is there a problem? |
19:03.33 |
harman |
with wireframes? |
19:03.51 |
brlcad |
no, we obviously already show the
wireframe |
19:03.58 |
brlcad |
but why the wireframe |
19:04.02 |
brlcad |
why not show the geometry shaded |
19:04.13 |
harman |
yes.. I too wanted to know |
19:04.14 |
brlcad |
like games or blender or any other
3D |
19:04.14 |
harman |
as |
19:04.22 |
harman |
there are so many CAd softwares |
19:04.24 |
brlcad |
this is what you're missing :) |
19:04.28 |
harman |
like FreeCAD |
19:04.37 |
brlcad |
mhmm, so why? |
19:04.42 |
harman |
:-) |
19:05.02 |
harman |
you can explain better.. ;-) |
19:05.16 |
brlcad |
"you're going to need to understand what this
problem is about geometry representation types" |
19:05.28 |
brlcad |
geometry representation |
19:05.56 |
brlcad |
what does it mean to be a representation of
geometry .. what is your data .. what is your representation
type |
19:06.07 |
brlcad |
take a simple sphere |
19:06.18 |
brlcad |
a point (0,0,0) and a radius (10) |
19:06.25 |
harman |
hmm |
19:06.25 |
brlcad |
now display it |
19:06.38 |
brlcad |
what do you do? |
19:07.33 |
brlcad |
for sake of relevance, say we're using your
web interface even, nice snazzy html5 canvas or webgl, doesn't
matter |
19:08.06 |
harman |
1. user select primitive (sphere). |
19:08.24 |
harman |
2. fill radius and name of object. |
19:08.51 |
harman |
in input boxes (that appear after
selection) |
19:08.58 |
brlcad |
that's what the user does, sure fine |
19:09.02 |
brlcad |
now what do YOU do |
19:09.15 |
brlcad |
you being the code you wrote to ultimately
display the sphere |
19:09.25 |
harman |
wait.. |
19:10.03 |
brlcad |
user does #1, does #2 (specifies radius 10),
now how is it actually displayed? |
19:10.03 |
harman |
3. this will draw a circular shape in the
windows.. |
19:10.03 |
brlcad |
how? |
19:10.30 |
harman |
now at this time.. only circular shape made in
html5 or js is drawn |
19:10.47 |
brlcad |
and for clarity, we're not drawing a 2d circle
and pretending it's a sphere, we want a 3d shaded sphere |
19:10.54 |
harman |
that represent sphere (it's 2D view) |
19:11.51 |
brlcad |
we can have this exact same explanation in 2D
if you'd like, but the goal was not 2D |
19:12.17 |
harman |
that's why we provide 4 windows to see 2D
different views of 3D object |
19:13.42 |
brlcad |
which is why you're not understanding the
problem :) |
19:13.51 |
brlcad |
okay, so lets simplify this to 2D |
19:13.52 |
harman |
?? |
19:14.23 |
brlcad |
the 4 views doesn't have anything to do with
representation |
19:14.36 |
brlcad |
they're just views |
19:14.48 |
harman |
yes |
19:14.56 |
harman |
they are just views |
19:14.57 |
brlcad |
so lets say we have a view that is
100x100 |
19:15.05 |
harman |
ok |
19:15.30 |
brlcad |
and the view is centered at 0,0 |
19:15.37 |
brlcad |
so -50,-50 to 50,50 |
19:15.52 |
brlcad |
and we're now working with 2D
geometry |
19:16.04 |
harman |
hmm |
19:16.08 |
brlcad |
your geometry is a 2D circle defined with
origin (0,0) and radius (10) |
19:16.24 |
brlcad |
you want to visualize it, what do you
do? |
19:16.59 |
brlcad |
i don't mean what does the user do |
19:17.07 |
brlcad |
what do YOU make the code do to display
it? |
19:17.29 |
harman |
Oh I see.. |
19:18.18 |
harman |
you mean how we will visualize it in 3D
world? |
19:18.44 |
brlcad |
we're sticking with 2D at the moment |
19:18.55 |
brlcad |
pretending BRL-CAD is a fully 2D CAD
system |
19:19.10 |
Notify |
03BRL-CAD:vladbogo * 55800
brlcad/trunk/src/conv/g-voxel.c: Added comment to
src/conv/g-voxel.c to highlight the optional parameters
section. |
19:19.21 |
brlcad |
we show an outline of a circle, outlines of
boxes, etc. .. wireframes only, and we're trying to figure out
why |
19:19.54 |
brlcad |
you're making a new fancy web interface to
show off this 2D system but don't want to just display
wireframes |
19:20.02 |
harman |
yes.. in that case we will have
outlines |
19:20.23 |
brlcad |
so user specifies a circle, how do you display
it? |
19:20.24 |
harman |
filled with colour |
19:20.34 |
brlcad |
HOW |
19:20.51 |
harman |
html5 is capable to make such shapes |
19:20.55 |
brlcad |
c'mon man, you're a dev, talk code to me
:) |
19:21.23 |
brlcad |
better, okay so you plan to use html5 to
display such a shape (2d circle) |
19:22.05 |
harman |
yes |
19:22.11 |
brlcad |
now the user creates another circle half
offset from the first |
19:22.27 |
brlcad |
you again draw the second with html5 |
19:23.27 |
brlcad |
that's all fine, yes? |
19:23.37 |
harman |
yes |
19:23.39 |
brlcad |
now the user requests an intersection boolean
operation |
19:23.43 |
brlcad |
what do you do? |
19:23.43 |
harman |
ok |
19:25.17 |
harman |
i mentioned in the proposal that |
19:25.30 |
brlcad |
forget the proposal, we're talking here and
now :) |
19:25.56 |
brlcad |
i have two circles defined and an
intersection, what do you do? |
19:26.01 |
brlcad |
how do you visualize that? |
19:26.12 |
harman |
order of selction will matter |
19:26.27 |
brlcad |
for an intersection order does not
matter |
19:26.38 |
harman |
suppose circle A and circle B.. |
19:26.39 |
brlcad |
a ^ b |
19:27.23 |
harman |
we will be keeping a function behind the scene
that holds the command of intersection |
19:27.43 |
harman |
in which we just need to fill the names of
objects |
19:27.50 |
Notify |
03BRL-CAD Wiki:Vladbogolin * 5444
/wiki/User:Vladbogolin/GSoC2013/Logs: |
19:28.12 |
brlcad |
okay, so "comb intersection a + b" in BRL-CAD
parlance ... we still need to visualize this |
19:28.29 |
harman |
means? |
19:29.34 |
brlcad |
i've asked how you visualize that
shape |
19:29.44 |
harman |
the resulted shape? |
19:30.00 |
brlcad |
whatever you want to display |
19:30.23 |
brlcad |
user created two spheres and asked for an
intersection, what do you do to show them that? |
19:30.49 |
brlcad |
you've told me you have a function that holds
a command .. that obviously doesn't show them that |
19:30.53 |
brlcad |
what do you do to show them that? |
19:31.20 |
brlcad |
sorry, two circles |
19:34.17 |
harman |
we have event handlers in javascript that can
be used to show result on the browser |
19:34.33 |
harman |
after user finishes |
19:34.36 |
brlcad |
you're goin to again make me ask HOW aren't
you :) |
19:35.30 |
brlcad |
how is the result of that action
displayed? |
19:36.15 |
brlcad |
hums a song |
19:39.16 |
brlcad |
harman: this is entirely about data and
algorithm, not toolkits or user interface |
19:40.14 |
brlcad |
your inability to answer is getting at the
heart of the problem |
19:42.20 |
harman |
yes.. algorithm and all that to be faced at
later stage not now. i know it is possible but and can be done
using above mentioned tools. |
19:42.37 |
brlcad |
i'm going to have to go soon, but think about
it for a while -- how do you actually show the result of an
intersection of two circles? how is the evaluation performed?
what is the resulting data? |
19:42.50 |
brlcad |
no you don't know that |
19:43.11 |
brlcad |
because it's not possible with just the
mentioned tools ... without you implementing everything that's
missing |
19:43.34 |
brlcad |
the algorithm is not to be sorted out later,
it's central to the ENTIRE problem |
19:44.13 |
*** join/#brlcad caen23
(~caen23@92.81.220.39) |
19:44.15 |
harman |
that flow i already explained, the function
holds intersection command |
19:44.16 |
brlcad |
you don't yet understand why and that was fine
during the proposal review |
19:44.21 |
brlcad |
but now it's critical |
19:44.29 |
brlcad |
okay, it holds a command |
19:44.48 |
brlcad |
and then what? |
19:45.06 |
brlcad |
that doesn't show anything |
19:45.22 |
brlcad |
that doesn't even calculate anything from an
algorithmic perspective as described |
19:46.09 |
harman |
user's selection picks the names of objects
and supply to function that fills into command. |
19:46.32 |
harman |
that command is written into file. |
19:47.41 |
brlcad |
we could have this same discussion with pen
and paper .. draw a circle on a piece of paper then draw another
overlapping circle ... now I ask for you to draw me the
intersection |
19:47.55 |
brlcad |
here's your piece of paper, what do you
do? |
19:50.14 |
harman |
it is already drawn when both circles
overlapped. :-) |
19:50.27 |
brlcad |
no, that's the union |
19:50.44 |
harman |
omg |
19:51.01 |
harman |
sorry |
19:51.05 |
brlcad |
http://mathworld.wolfram.com/Circle-CircleIntersection.html |
19:51.13 |
brlcad |
see image under (16) |
19:52.16 |
harman |
i know intersection.. actually your
questions.. |
19:52.19 |
harman |
:-) |
19:52.34 |
brlcad |
hm? |
19:52.50 |
brlcad |
not following |
19:52.51 |
harman |
erase the non overlapping part |
19:53.00 |
harman |
we got intersection |
19:53.02 |
brlcad |
i gave you a new sheet of paper |
19:53.12 |
brlcad |
how do you draw just the
intersection? |
19:54.27 |
brlcad |
you're on the right track, but technically
insufficient |
19:58.16 |
brlcad |
harman: alright, times up, gotta run |
19:58.20 |
brlcad |
please do continue to this about
this |
19:58.31 |
brlcad |
think about how it pertains to 2D
circles |
19:58.51 |
brlcad |
think about how it extends to arbitrary shapes
(non-circles) |
19:59.24 |
brlcad |
where/how the evaluation is performed, how
you're actually showing a result, where that data comes from ...
and then how that all extends into 3D! |
19:59.44 |
brlcad |
we can talk more later, but this is THE
central issue |
19:59.49 |
harman |
okay |
20:00.16 |
brlcad |
s/please do continue to this about this/please
do continue to THINK about this/ |
20:00.45 |
brlcad |
I'll be waiting to hear what you've understood
the next time we talk |
20:00.58 |
harman |
sure |
20:01.03 |
brlcad |
in the meantime, work on a good patch or three
;) |
20:01.40 |
harman |
hmmm |
20:09.02 |
Notify |
03BRL-CAD:brlcad * 55801
(brlcad/trunk/include/dm.h brlcad/trunk/src/libdm/CMakeLists.txt
and 3 others): accept sf patch 163 (Added a text DM) by Vlad
Bogolin which implements a non-graphical text debugging interface
to libdm. |
20:13.48 |
brlcad |
vladbogo: so I'd call 55800 an unuseful
comment as that's pretty much exactly what the code says too.
comments should say what the code does not. (and there's probably
not much to be said about a getopt block) |
20:14.18 |
brlcad |
might as well say /* do some stuff */
:) |
20:25.30 |
vladbogo |
brlcad: sorry about that. I will be more
careful in the future and I will remove when I change the
txt_open_dm() |
20:29.38 |
Notify |
03BRL-CAD:starseeker * 55802
brlcad/trunk/src/librt/primitives/bot/bot_wireframe.cpp: Start
trying to figure out how to speed up the sparse bot wireframe
drawing |
20:30.36 |
*** join/#brlcad mpictor
(~mark@2601:d:b280:9:d63d:7eff:fe2d:2505) |
20:34.31 |
Notify |
03BRL-CAD:starseeker * 55803
brlcad/trunk/src/librt/primitives/bot/bot_wireframe.cpp: memset
instead of loop here |
21:04.37 |
Notify |
03BRL-CAD:vladbogo * 55804
(brlcad/trunk/src/conv/g-voxel.c
brlcad/trunk/src/libdm/dm-generic.c
brlcad/trunk/src/libdm/dm-txt.c): Renamed txt_open_dm to txt_open
to maintain consistency. Also removed unuseful comment from
g-voxel.c |
21:14.17 |
Notify |
03BRL-CAD Wiki:KeshaSShah * 5445
/wiki/User:KeshaSShah/GSoC13/Reports: /* Week 1 */ |
21:23.50 |
*** join/#brlcad Ch3ck
(295cd318@gateway/web/freenode/ip.41.92.211.24) |
22:16.27 |
*** join/#brlcad zero_level
(~zero_leve@117.205.16.131) |
22:51.06 |
``Erik |
zero_level: I think your submitted icv struct
patch tries to add too much at one whack... there are some parts
that I like and some that I'm not sure I agree with, but the
lumping turns it into an "all-or-nothing" decision... |
22:51.47 |
zero_level |
``Erik ok |
22:52.15 |
zero_level |
what is lumping turns it into an
"all-or-nothing" decision ? |
22:52.22 |
``Erik |
zero_level: I'm ok with the operations enum, I
don't think having structs for geometry and position add any
value |
22:53.15 |
``Erik |
ICV_SIZE_NULL seems redundant, just use
NULL |
22:53.17 |
zero_level |
``Erik point will be required in few
functions |
22:53.28 |
zero_level |
like icv_rect |
22:53.39 |
``Erik |
icv_kernel is poorly named/commented, I don't
understand what it's for |
22:53.56 |
zero_level |
icv_kernel stores the kernel information for
filtering |
22:54.02 |
zero_level |
i will add the comments there |
22:55.11 |
zero_level |
``Erik geometry ? |
22:55.12 |
``Erik |
generally, a patch should be the same as a
commit... it should be very focused in what it does and the 'one
brief line' comment should instantly let the casual reader
understand the purpose, extent and change |
22:55.16 |
``Erik |
width/height |
22:55.33 |
zero_level |
u mean size ? |
22:55.36 |
``Erik |
yes |
22:55.53 |
``Erik |
what's wrong with passing in width, height, X
and Y as seperate arguments? |
22:56.12 |
zero_level |
ok. what we could do is define a
macro |
22:56.19 |
zero_level |
for size |
22:56.28 |
zero_level |
and keep points alive |
22:56.45 |
``Erik |
"struct icv_size { int width, height; }" kinda
makes me go "ugh, someone has been looking at too much bad
c++" |
22:57.04 |
zero_level |
#define icv_size icv_point |
22:57.24 |
``Erik |
vmath even provides 2d arrays that could be
used with all the goodies, if you really wanted |
22:58.24 |
``Erik |
one thing I would like to see some attention
to is the intermediate memory format of the pixel data |
22:59.05 |
``Erik |
perhaps stored with the rgb values in
normalized floats, so we can do high precision manipulations,
etc |
22:59.40 |
``Erik |
high dynamic range images, etc |
23:00.31 |
zero_level |
i am afraid if we have a format for that
? |
23:00.43 |
zero_level |
our raw formats like bw and pix use |
23:01.04 |
zero_level |
8bits pixel and 24bit rgb pixel |
23:01.26 |
``Erik |
format for which? pix and bw are inadequate...
one of the big reasons icv started was to improve output from
raytracing tools... |
23:02.04 |
``Erik |
the ray tracer has the capability to generate
some very precise results, but we throw away a lot of data to
produce a 24 bit image |
23:02.19 |
``Erik |
we want to do better that what is already
there! :D |
23:02.41 |
zero_level |
so how do u suggest we do this? |
23:03.22 |
zero_level |
do we create two image structures one with
uchar and other with float ? |
23:04.15 |
zero_level |
also conversion to float will have an impact
on the api functions of brlcad utilities |
23:05.18 |
``Erik |
the internal representation would be float, so
in reading a pix file, it'd be for(i=0;i<pixels;i++){
buf.pix[i].red = ((double)*bp)/255.0; bp++;
buf.pix[i].green=((double)*bp)/255.0; bp++;
buf.pix[i].blue=((double)*bp)/255.0; } |
23:05.44 |
``Erik |
yes, the utilites have to be taught to use the
interface instead of directly mucking with data |
23:06.44 |
zero_level |
since it is raw format the current versions
directly reads the bytes into the buffer using read etc. |
23:06.57 |
``Erik |
I started that process a while back, you'll
see some utilities using icv_save_writepixel() and
icv_save_writescanline() instead of directly accessing data... for
the purpose of abstracting internal representation |
23:08.34 |
``Erik |
src/rt/view.c and src/rt/viewedge.c use the
new api... they're also two of the very few rt's that can save as
png out of the box, due to the data abstraction |
23:09.35 |
``Erik |
(I feel it's important to address internal
representation first, as that will directly impact how all
manipulation functions will be written) |
23:10.10 |
zero_level |
also we could do store a variable for
data_type |
23:10.18 |
``Erik |
updating existing tools to use an api right
now will give us some freedome in how we deal with the
representation |
23:10.54 |
zero_level |
and make the data variable a void*
type |
23:11.28 |
zero_level |
i was focussing on the utilities from src/util
folder |
23:11.41 |
``Erik |
once the internal representation is
encapsulated, it can be changed |
23:11.58 |
zero_level |
internal representation of icv_image
? |
23:12.11 |
``Erik |
yeah... maybe the first couple efforts could
be redoing conversion utilities to use the api? |
23:12.26 |
``Erik |
pix-png, pix-bw, bw-pix, etc? |
23:14.54 |
zero_level |
this will hamper the performance of these
utilities |
23:15.18 |
zero_level |
my plan was to implement them as functions in
the libicv. ? |
23:15.32 |
zero_level |
and rather other utilities also as functions
of libicv |
23:15.55 |
``Erik |
the performance is a non-issue... |
23:16.00 |
zero_level |
i have designed an api call for them as well
http://brlcad.org/wiki/User:Level_zero/GSOC13/api |
23:17.13 |
``Erik |
when I was started with bu_image, I envisioned
all the image conversion utilities being basically 2 function
calls... something of the nature of "icv_image img;
read_image(&img, argv[1]); write_image(&image, ICV_PNG,
argv[2]);" |
23:18.14 |
zero_level |
yes. for the conversion tools even i think of
doing it this way |
23:19.00 |
``Erik |
I actually managed to unsettle starseeker in
describing an approach where all converters would be hard links to
the same executable and the logic of the executable parsing argv[0]
for what mode to operate in :) |
23:19.02 |
zero_level |
u see icv_convert function in 188
patch |
23:19.53 |
``Erik |
I've only had a chance to look at the bwhisteq
patch and the icv structures one... let me load it up (but I have
to leave soon) |
23:22.10 |
*** join/#brlcad kesha
(~kesha@49.202.239.196) |
23:22.13 |
``Erik |
hm, that patch definitely has some good stuff
to it, I'll review it further tomorrow |
23:22.55 |
zero_level |
although untested |
23:23.01 |
``Erik |
sorry about having to run so quick... I'll try
to look it over before oh, 14:00 GMT? and I'll be on irc at that
time |
23:23.01 |
zero_level |
i am testing it today |
23:23.31 |
``Erik |
have a good evening :) *wanders off* |
23:26.48 |
zero_level |
``Erik : same to u, i will try to be around at
that time. |
23:26.52 |
zero_level |
thanks |
23:27.51 |
zero_level |
``Erik Also all my information are on this
page http://brlcad.org/wiki/User:Level_zero/index |