00:00.42 |
starseeker |
hah! |
00:00.48 |
starseeker |
http://brlcad.org/~starseeker/oriented_bbox_MGED.png |
00:30.13 |
starseeker |
contacted the author of this code and he
agreed to dual license it with GPL2 and LGPL2.1: |
00:30.17 |
starseeker |
http://valis.cs.uiuc.edu/~sariel/research/papers/00/diameter/diam_prog.html |
00:32.13 |
starseeker |
algorithm from this paper: http://valis.cs.uiuc.edu/~sariel/papers/98/bbox.html |
00:33.01 |
starseeker |
small and self contained - wasn't hard at all
to integrate and add as an option to the bb command |
00:41.20 |
*** join/#brlcad KimK
(~Kim__@wsip-184-176-200-171.ks.ks.cox.net) |
01:23.59 |
brlcad |
starseeker: what am I looking at
there? |
01:24.43 |
starseeker |
the blue box is the axis aligned bounding box
generated by the "standard" bb command |
01:25.02 |
starseeker |
the green box is the oriented bounding
box |
01:25.23 |
starseeker |
as calculated by the algorithms from those two
papers I posted |
01:26.05 |
starseeker |
the oriented box is a lot "tighter" to the
actual geometry |
01:26.12 |
brlcad |
ahh! and OBB .. I was hoping that, but wasn't
clear from the red lines |
01:26.20 |
starseeker |
ah sorry |
01:26.34 |
starseeker |
yeah, that's our standard "make" arbn turned
into a bot, and then rotated to a funky position |
01:27.08 |
brlcad |
doesn't look like it make a proper
bot |
01:27.48 |
starseeker |
that's a bad angle to judge from - it's just
make arbn.s arbn followed by facetize arbn.bot arbn.s |
01:29.09 |
starseeker |
brlcad: I have it almost ready to commit, but
it doesn't (yet) have the proper windows dll export/import bits and
I need to clean up a couple exact floating point
comparisons |
01:30.04 |
brlcad |
yeah, I believe it's the arbn .. just doesn't
look like it at a glance :) |
01:30.44 |
starseeker |
heh - chose the viewing angle for contrast
between the two bounding boxes - perspective probably would have
helped the arbn, in retrospect... |
01:30.52 |
brlcad |
i see it's just the way it's tesselating, so
many points going to the corners (instead of some midpoint
balancing) |
01:30.58 |
starseeker |
nods |
01:31.28 |
brlcad |
turning it into a librt routine,
yes? |
01:31.35 |
brlcad |
OOB is pretty fundamental |
01:31.38 |
brlcad |
OBB |
01:31.48 |
starseeker |
yeah - rt_bot_oriented_bbox |
01:32.03 |
brlcad |
aw |
01:32.05 |
starseeker |
obviously nmg, arbn, and a few others will be
gimmies |
01:32.16 |
starseeker |
hmm? |
01:32.38 |
starseeker |
I could expose it more generally as accepting
an array of points, if that's what you mean... |
01:32.41 |
starseeker |
haven't done that yet |
01:33.03 |
brlcad |
aa-bbox is a primitive functab, o-bbox is
right up there with it |
01:33.09 |
starseeker |
right |
01:33.11 |
brlcad |
would be nice to generalize to all
objects |
01:33.20 |
starseeker |
I did - it's a new entry in table.c |
01:33.21 |
brlcad |
even if under the hood, it's all
points |
01:34.12 |
starseeker |
brlcad: I didn't commit it yet, but I posted
the patch here if you want to take a look: http://brlcad.org/~starseeker/oriented_bbox.patch |
01:35.03 |
brlcad |
likes the fact that this is
an O(n) algorithm, that's pretty amazing |
01:35.38 |
starseeker |
under the hood it takes a tolerance - at the
moment I'm just feeding it our standard dist tolerance |
01:37.48 |
starseeker |
could undoubtely take the gdiam code as a
starting point and make it use a bunch of libbu/bn routines and
data types, but since it's LGPL even after the re-license I opted
to maintain the separation |
01:38.25 |
brlcad |
few comments if you're interested |
01:38.31 |
starseeker |
sure, fire away |
01:39.07 |
brlcad |
their gdiam_point_t is compatible with our
point_t |
01:39.09 |
brlcad |
it's identical |
01:39.18 |
starseeker |
just cast it? |
01:39.28 |
brlcad |
so you don't need the malloc in
rt_bot_oriented_bbox() |
01:39.31 |
brlcad |
right |
01:41.08 |
brlcad |
the signature of the new callback also isn't
consistent with the other callbacks |
01:41.14 |
starseeker |
ah, yeah - that was a memory leak anyhow
(*turns red*) |
01:41.36 |
starseeker |
oh - are they all consistent? |
01:41.44 |
brlcad |
that are (mostly?? I've been meaning to do an
audit) .. callback(output, input1, input2, ...) |
01:41.54 |
starseeker |
OH, gotcha |
01:42.51 |
brlcad |
not a big deal because that's not public API,
but just noticed the value being returned was effectively in the
middle of the list |
01:42.58 |
starseeker |
nods |
01:43.14 |
starseeker |
sorry, I thought you ment like libged where
everything took the same inputs... |
01:44.28 |
brlcad |
nah |
01:45.57 |
brlcad |
believe it or not, I think that's it, looks
great to me |
01:46.34 |
starseeker |
sweet! |
01:46.37 |
brlcad |
i've longed after an obb routine for a long
time, some fun to be had there (particularly for editing) |
01:47.02 |
starseeker |
the author is travelling this week so it'll be
a little bit before he can update his website |
01:47.18 |
starseeker |
he said to go ahead - I can copy you on the
emails if you like |
01:52.26 |
starseeker |
(patch updated with changes) |
01:52.30 |
brlcad |
go ahead, we can pull it if he doesn't follow
through |
01:52.38 |
starseeker |
nods |
01:53.09 |
starseeker |
NEWS worth, I take it? |
01:53.14 |
starseeker |
oh, need to update bb man page |
01:53.22 |
brlcad |
for the bb command, sure |
02:12.44 |
Notify |
03BRL-CAD:brlcad * 56541
(brlcad/trunk/src/mged/chgview.c brlcad/trunk/src/mged/cmd.h
brlcad/trunk/src/mged/setup.c): more dead code elimination:
viewget, viewset, vrot_center |
02:22.57 |
Notify |
03BRL-CAD:starseeker * 56542
(brlcad/trunk/INSTALL brlcad/trunk/configure and 6 others): Add a
-o option to the bb command for generating oriented bounding boxes
instead of the axis-aligned boxes (the default case). Currently
only works on individual BoT objects, but can be expanded to other
types in the future. Contacted author of the gdiam code (http://valis.cs.uiuc.edu/~sariel/papers/98/bbox.html)
and he agreed |
02:22.59 |
Notify |
to dual-license the code under GPLv2 and LGPL
2.1, the latter of which is compatible with BRL-CAD. A slightly
modified version of this code is now integrated into src/other and
forms the core algorithmic basis for the bb -o option. |
02:24.30 |
starseeker |
aaand the Windows build is now
broken |
02:26.03 |
starseeker |
just for added fun, I finally have a working
example of http hyperlinks in the DocBook HTML man page
output |
02:45.13 |
Notify |
03BRL-CAD:brlcad * 56543
brlcad/trunk/src/proc-db/masonry.c: enable the large portions of
dead code for the mortar_brick() and brick() routines, just print a
loud warning to say they're untested. |
02:45.35 |
Notify |
03BRL-CAD:brlcad * 56544
brlcad/trunk/src/proc-db/breplicator.cpp: elimiate dead
code |
03:08.00 |
Notify |
03BRL-CAD:phoenixyjll * 56545
brlcad/trunk/src/libbrep/intersect.cpp: ws |
03:44.24 |
Notify |
03BRL-CAD:brlcad * 56546
brlcad/trunk/src/proc-db/torii.c: fix an index bug in the dynamic
recursion, add a note to actually make the tool output (there was
logic implemented for this somewhere...) |
03:47.11 |
Notify |
03BRL-CAD:brlcad * 56547
brlcad/trunk/src/proc-db/molecule.c: reduce to something in-between
just to avoid preprocessor dead code. factor needs to be
configurable or auto-set. |
04:00.50 |
Notify |
03BRL-CAD:brlcad * 56548
brlcad/trunk/src/rt/do.c: took me a while to get why mike added
this snippet, but it's basically an example of how (via code) to
reverse construct the model2view matrix from the information output
to the rt log. keep it for reference, but make it code comment
documentation instead of dead code. |
04:02.53 |
Notify |
03BRL-CAD:brlcad * 56549
brlcad/trunk/src/rt/opt.c: need a way to run-time toggle between
different spatial partitioning methods (including an 'off'
method). |
04:03.50 |
Notify |
03BRL-CAD:mohitdaga * 56550
brlcad/trunk/src/libicv/operations.c: Improve Bitwise operations in
libicv/operations |
04:04.22 |
zero_level |
``Erik : 56550. |
04:05.21 |
Notify |
03BRL-CAD:brlcad * 56551
brlcad/trunk/src/rt/view.c: document why this block is retained.
draws pretty status line during ray tracing. |
04:09.28 |
Notify |
03BRL-CAD:brlcad * 56552
(brlcad/trunk/src/rttherm/pixtest.c
brlcad/trunk/src/rttherm/spectrum.c): remove dead code |
04:10.51 |
Notify |
03BRL-CAD:brlcad * 56553
brlcad/trunk/src/sig/dfft.c: eliminate dead code |
04:20.49 |
Notify |
03BRL-CAD:brlcad * 56554
(brlcad/trunk/src/librt/primitives/brep/brep.cpp
brlcad/trunk/src/librt/primitives/brep/brep_debug.cpp): normally
might convert this to some #ifdev USE_* or DEBUG_* wrapping, but
it's really a substantial amount of debug printing code... can
revert if this is actively being used. |
04:22.12 |
Notify |
03BRL-CAD:brlcad * 56555
brlcad/trunk/src/librt/primitives/bot/bot_wireframe.cpp: this looks
interesting/significant but no indication as to why it's if 0'd, so
trimming it away. easy to revert if needed. |
04:22.28 |
Notify |
03BRL-CAD:brlcad * 56556
(brlcad/trunk/src/librt/cut.c
brlcad/trunk/src/librt/primitives/arb8/arb8.c): remove dead
code |
04:29.13 |
brlcad |
zero_level: please don't sugar coat the commit
log messages |
04:29.28 |
brlcad |
that doesn't help anyone and just makes it
harder to trace history properly |
04:33.19 |
brlcad |
that wasn't an improvement on bitwise ops,
they WEREN'T bitwise. |
04:33.24 |
brlcad |
something like "fixed a bug using logical
operators where bitwise operators were intended (thx for catching
erik)" is far more informative and accurate |
04:36.30 |
Notify |
03BRL-CAD:brlcad * 56557
(brlcad/trunk/src/librt/primitives/ebm/ebm.c
brlcad/trunk/src/librt/primitives/ehy/ehy.c
brlcad/trunk/src/librt/primitives/ell/ell.c): more dead code
elimination |
04:59.58 |
zero_level |
brlcad : Well have to confess, I have to be
more vary with the commit logs. Will try to improve. And ofcourse
sugar caoting wasnt the intention. |
05:01.03 |
zero_level |
brlcad : about the validation issue of factor.
Will defintetely, work on it. |
05:01.09 |
zero_level |
By wrapper i meant. |
05:02.04 |
zero_level |
Since the function shrink_image has a local
scope. It will not be listed in the global api list. |
05:02.45 |
zero_level |
Therefore It expects validated
input. |
05:03.03 |
zero_level |
which was indeed the primary though behind
this. |
05:04.20 |
zero_level |
I am curretly stuck in pixhalve. |
05:04.52 |
Notify |
03BRL-CAD:brlcad * 56558
brlcad/trunk/src/librt/primitives/nmg/nmg_ck.c: substantial
implementation, but hasn't been active in a crazy long time. still
keep with the relevant comments. |
05:04.59 |
zero_level |
It sort of tries to decimate the image with
filter3, filter5 |
05:06.04 |
zero_level |
Once this gets completed. I plan to write a
wraper for the scale, decimate, interpolate smth like
icv_scale(..) |
05:06.33 |
brlcad |
zero_level: it's more about not being
incorrect in the commit logs, owning up to any bugs should be
accepted, they will happen |
05:06.34 |
zero_level |
a global api. which will take care of the all
resizing issues. |
05:07.26 |
brlcad |
the problem is that purely general functions
like that often and eventually get repurposed or refactored
later |
05:07.36 |
brlcad |
maybe years later long after you are no longer
involved |
05:07.58 |
brlcad |
and a function that expected validated input
is moved to some place else without getting fully reviewed, and a
crash results |
05:08.29 |
brlcad |
there's no reason even for static scope
functions that they should not test their assumptions |
05:08.44 |
zero_level |
ok. |
05:09.20 |
brlcad |
you can make the test insignificant
performance-wise by marking them with UNLIKELY() and
LIKELY() |
05:09.45 |
brlcad |
if (UNLIKELY(factor == 0)) |
05:09.59 |
brlcad |
<PROTECTED> |
05:10.08 |
brlcad |
even something that extreme would
work |
05:10.26 |
brlcad |
though a graceful return is usually preferred
if you can avoid it |
05:10.44 |
brlcad |
the intent is exactly to prevent a crash, so
the test and action can be exceptional |
05:10.54 |
brlcad |
division by zero in that function's
case |
05:10.56 |
zero_level |
alright. If maintainability is the issue. I
then will have to add validation in a lot of code. |
05:11.41 |
zero_level |
will then have to exploit the use UNLIKELY.
:-) |
05:12.31 |
brlcad |
you are creating a new library .. if it's not
added now, it probably won't get added later |
05:12.43 |
zero_level |
brlcad : ok. |
05:13.00 |
brlcad |
better to have fewer functions, heck only ONE
function if it took you all summer to get it perfect in my
opinion |
05:13.14 |
brlcad |
the other issue I'm hoping you get to is
actually using and validating libicv |
05:13.35 |
brlcad |
as it stands, you're just increasing the size
of BRL-CAD with little gain |
05:13.46 |
zero_level |
brlcad : :-) |
05:13.49 |
brlcad |
making all of those tools use your functions
needs to be more proactively integrated |
05:14.05 |
brlcad |
and is part of coding complete |
05:15.15 |
zero_level |
yes. Thats an issue I wld like to discuss with
all of you. |
05:15.37 |
zero_level |
do you think we should merge
utilities. |
05:16.02 |
brlcad |
i'd like to do a code review, perhaps later
this week to see what we might change going forward |
05:16.09 |
brlcad |
merge utilities? |
05:16.13 |
zero_level |
like bwshrink and pixshrink or let them be
alone |
05:17.03 |
brlcad |
so yeah, eventually yes but probably not
before gsoc is over |
05:17.12 |
brlcad |
I'd rather see refactoring dictate
that |
05:17.13 |
zero_level |
b) Most of the utilities currently use a very
efficient manner. By not loading the complete image. |
05:17.34 |
brlcad |
that you integrate icv into those two routines
first, then it become obvious that they are (now) really the same
routine and can be merged |
05:18.04 |
zero_level |
although current structure of using icv is
very easy. |
05:18.17 |
brlcad |
efficient in terms that are not necessarily
relevant (and perhaps even harmful) |
05:18.18 |
zero_level |
icv_load() operations icv_save(). |
05:18.29 |
zero_level |
then its fine. |
05:18.44 |
brlcad |
we're not going to just guess |
05:18.53 |
brlcad |
this all has to be tested, profiled, and
compared |
05:19.07 |
zero_level |
ok. |
05:20.38 |
brlcad |
at this point, I'm inclined to say pause
groups 9-11 for now so that you can start on integration and
testing earlier |
05:21.36 |
brlcad |
your plan called for unit testing and code
coverage concurrent with all this code migration, which you haven't
even started on and you're up to group 8 |
05:21.51 |
brlcad |
needed to integrate and test after group
1 |
05:22.17 |
brlcad |
which the rt* tools kind of was, but that was
a literal disaster that we're still recovering from |
05:23.08 |
brlcad |
you're doing great work, but I think you're
getting too far ahead of the plan without testing
adequately |
05:28.23 |
zero_level |
Well I unit tested in my local
trunk. |
05:28.38 |
zero_level |
by writting main.c |
05:28.56 |
zero_level |
and as I said earlier tested them with
matlab. |
05:29.21 |
zero_level |
I didnt find ways to automatically test them
(as in bu) |
05:31.20 |
Notify |
03BRL-CAD:brlcad * 56559
brlcad/trunk/src/librt/primitives/nmg/nmg_ck.c: need the return
statement, pull ifndef up |
05:33.46 |
Notify |
03BRL-CAD:brlcad * 56560
brlcad/trunk/src/librt/primitives/nmg/nmg_fcut.c: remove three dead
and long-unused functions that have been under if 0 wrappage:
nmg_insert_vu_if_on_edge(), nmg_face_combineX(), and
nmg_face_next_vu_interval(). they even seem interesting/complete,
but are not integrated, easily tested, or fully understood so
remove the burden. nmg has enough complexity without retaining some
for reference. |
05:33.51 |
brlcad |
zero_level: you misunderstand
perhaps |
05:33.59 |
brlcad |
there's testing a function and there's testing
functionality |
05:34.30 |
brlcad |
you're pulling this logic from src/util
utilities .. so you have potential integrating testing material
right there |
05:36.11 |
zero_level |
brlcad : there are some issues doing this with
the util way because of the use of double data. |
05:36.15 |
zero_level |
for eg. |
05:36.16 |
brlcad |
you run a utility, capture a result, and
create a test that verifies that result. then instead of copying
the code, you MOVE it, thus removing it from where you copied it
from and making the old utility use your new function. then you
make sure that the tool works as it did before (by running the
integration test you created) |
05:36.46 |
brlcad |
so? :) |
05:36.59 |
brlcad |
issues != impossibilities |
05:37.05 |
brlcad |
they are not secondary to the task |
05:37.13 |
brlcad |
they are part of it |
05:37.15 |
zero_level |
bwmod(..) |
05:37.21 |
brlcad |
if those issues cannot be sorted out easily,
libicv will fail and die... |
05:37.49 |
zero_level |
can I complete about bwmod. :-) |
05:38.09 |
brlcad |
it depends |
05:38.16 |
zero_level |
bwmod creates a look aside buffer to
imlement |
05:38.53 |
zero_level |
since the utilities use char data the buffer
length is 256. |
05:39.05 |
zero_level |
But we cannot use buffer in double
data. |
05:39.17 |
zero_level |
bwmod has been translated to
operations. |
05:39.52 |
zero_level |
icv_add_val, icv_mul_val... |
05:41.14 |
zero_level |
but other than these all other are
transferable. |
05:42.05 |
brlcad |
so we need to clarify some language you're
using |
05:42.12 |
brlcad |
at least I need you to clarify some
things |
05:42.44 |
brlcad |
"But we cannot use buffer in double data."
does not make sense, of course I can have a buffer of double data
-- what did you mean? |
05:42.58 |
zero_level |
alright. |
05:43.33 |
zero_level |
bwmod is a unique utility which can have a lot
of constant value operations |
05:44.02 |
brlcad |
sure, a lot of per-pixel math
operations |
05:44.10 |
zero_level |
-a5 -d20 -m0.5 -d10 -a12 |
05:44.45 |
brlcad |
that is what it is .. I understand
that |
05:44.57 |
zero_level |
makes my job easy |
05:44.58 |
brlcad |
I don't understand your comment about double
data buffers |
05:45.11 |
Notify |
03BRL-CAD:starseeker * 56561
brlcad/trunk/NEWS: Added -o option to bb bounding box command -
provides an oriented bounding box rather than the default
axis-aligned bounding box. |
05:45.27 |
zero_level |
so this is implemented using a buffer for all
the possible values of pixels (0-255) |
05:45.59 |
brlcad |
sure |
05:46.23 |
brlcad |
which in icv terms should be a 1-channel
image |
05:46.26 |
zero_level |
so val[i] will ave
((((i+5)/20)*0.5)/10)+12 |
05:46.33 |
zero_level |
*have |
05:46.43 |
zero_level |
now since in icv we use double data. |
05:47.07 |
zero_level |
there are infinite possibilies
0.0-1.0 |
05:47.08 |
brlcad |
yes, sure |
05:47.16 |
brlcad |
well, not infinite, but yes a lot |
05:47.31 |
brlcad |
and? |
05:47.32 |
zero_level |
well ofcourse in computer terms not
infinite. |
05:47.42 |
zero_level |
so i cannot have a buffer. |
05:47.48 |
brlcad |
untrue |
05:47.50 |
zero_level |
Indeed i have to do this as
following |
05:48.30 |
zero_level |
icv_add_val(bif,5); icv_divide_val(bif,20);
icv_multiplyt_val(bif,0.5); |
05:48.34 |
zero_level |
and so on. |
05:48.51 |
zero_level |
with setting the
ICV_OPERATIONS_FLAG. |
05:49.04 |
zero_level |
now issues. |
05:49.12 |
brlcad |
slow down |
05:49.20 |
brlcad |
remember this is a discussion, not an
explanation |
05:49.26 |
zero_level |
sure :-) |
05:49.54 |
brlcad |
what you're saying is not possible is
certainly possible, though it could very well just be a terminology
problem |
05:50.05 |
zero_level |
ok. |
05:50.06 |
brlcad |
libicv IS your buffer |
05:50.11 |
zero_level |
? |
05:50.11 |
brlcad |
it's an opaque container |
05:50.24 |
brlcad |
you put data in, you tell it to do things to
the data, you get data out |
05:50.25 |
zero_level |
u mean icv_image_t |
05:50.31 |
zero_level |
ofocurse. |
05:50.31 |
brlcad |
yes |
05:51.06 |
brlcad |
the fact that bwmod has a bunch of per-pixel
operations doesn't change anything |
05:51.16 |
brlcad |
if it does, then there is some understanding
mismatch |
05:51.21 |
zero_level |
but in bwmod it will bw very easy fast because
it does as . im[j] = val[im[j]] |
05:51.27 |
brlcad |
so? |
05:51.33 |
brlcad |
who said anything about easy? |
05:51.44 |
brlcad |
and speed is not a concern in the
least |
05:51.51 |
brlcad |
not unless you profile and show it
matters |
05:52.21 |
zero_level |
ok. |
05:52.26 |
brlcad |
or at least until some tool that used to run
instantly now takes many minutes... |
05:52.41 |
brlcad |
but that's not likely and will be obvious if
it happens |
05:53.11 |
brlcad |
so in bwmod's case, the issue is the
operations being performed on the data |
05:53.39 |
zero_level |
so u mean what earlier took 10 ms if it takes
15 ms. there is no issue. :-) |
05:53.47 |
brlcad |
before it was a direct im[j] = im[j] + val1 -
val2 etc |
05:54.23 |
brlcad |
but now, you not longer are dealing with 'im',
you've got 'icv(im)' |
05:54.24 |
zero_level |
did u miss look aside buffer ? :-) |
05:54.36 |
brlcad |
and instead of val1, you've got icv(val1)
etc |
05:54.52 |
brlcad |
yes, a 5 ms diff would be pretty much
irrelevant |
05:55.03 |
zero_level |
it basically creates a table for all the
possible values. |
05:55.06 |
brlcad |
no, the look aside buffer is also
irrelevant |
05:55.11 |
zero_level |
and stores them in val. |
05:55.27 |
zero_level |
(an eg here) |
05:55.36 |
brlcad |
so again, the question is how to get ICV to do
that work as much possible |
05:55.50 |
zero_level |
thats not a question. |
05:56.08 |
zero_level |
The question was does this performance
matter. |
05:56.17 |
zero_level |
and as u said we cannot be guessing |
05:56.20 |
brlcad |
sure it is a question: "how can you get ICV to
do that work as much as possible?" |
05:56.22 |
zero_level |
we need to profile |
05:56.36 |
brlcad |
eh? |
05:56.45 |
zero_level |
profiling is the way. |
05:57.29 |
zero_level |
brlcad : the implementation was as follows. As
I told earlier |
05:57.30 |
zero_level |
01:48 < zero_level> icv_add_val(bif,5);
icv_divide_val(bif,20); icv_multiplyt_val(bif,0.5); |
05:57.33 |
zero_level |
01:48 < zero_level> and so on. |
05:57.36 |
zero_level |
01:48 < zero_level> with setting the
ICV_OPERATIONS_FLAG. |
05:57.38 |
zero_level |
01:49 < zero_level> now
issues. |
05:58.06 |
brlcad |
profiling is always welcome but I don't see
what for (yet) as there's no indication of a performance
concern |
05:58.16 |
zero_level |
alright. |
05:58.32 |
brlcad |
I'd say you can ASSUME there is not a
performance concern until we observe one |
05:58.33 |
zero_level |
which indeed answers what i started with.
:-) |
05:59.01 |
brlcad |
if you're going to make ANY design decision
BASED on a performance concern, you need to profile |
05:59.10 |
brlcad |
that has been stated from the
beginning |
05:59.41 |
zero_level |
do u think grpof suffices here. |
05:59.45 |
brlcad |
back to the implementation you outlined, that
does indeed sound a little problematic, at least not a faithful
conversion of what bwmod's doing |
05:59.59 |
zero_level |
how ? |
06:00.09 |
zero_level |
i wld welcome a better suggestion. |
06:01.27 |
brlcad |
it's back to the notion I mentioned earlier:
you put data in, you tell it to do things to the data, you get data
out |
06:01.45 |
brlcad |
so if the old code was doing im[j] =
val[im[j]] |
06:02.10 |
brlcad |
that translates roughly into ICV needing to do
several things and bwmod needing to do several things |
06:02.48 |
brlcad |
two icv_image_t's: let's call them icv_im and
icv_val |
06:03.01 |
zero_level |
well.. |
06:03.04 |
brlcad |
a way to set one icv_image to
another |
06:03.25 |
zero_level |
can i hold u for a sec |
06:03.29 |
brlcad |
a way to access and set/modify elements (which
you partially have) |
06:03.37 |
brlcad |
go ahead |
06:03.51 |
zero_level |
val is an array of length 0-255. |
06:03.54 |
zero_level |
so 256. |
06:03.58 |
brlcad |
not in icv terms |
06:04.02 |
zero_level |
and im is buffer. |
06:04.07 |
zero_level |
of scalen length |
06:04.35 |
zero_level |
so then i dont understand your point of using
two images. |
06:04.37 |
brlcad |
val sounds like a 1-dimensional buffer to
me |
06:05.17 |
zero_level |
a) i would loop along all the pixels of image
(bif) in first go and add a value to it. |
06:05.59 |
zero_level |
brlcad : ofcourse thats what i meant (a buffer
of size 0 to 255 i.e 256) |
06:06.48 |
brlcad |
do you really mean the size is variant 0 to
255 or the range of values is 0 to 255? |
06:06.55 |
zero_level |
no.! |
06:07.03 |
brlcad |
that wasn't a yes no question |
06:07.09 |
zero_level |
opens bwmod to give exact
terminologies. |
06:07.11 |
brlcad |
A or B |
06:07.48 |
zero_level |
brlcad : do u have acess to the src code
? |
06:07.54 |
zero_level |
i am sure u do. :-) |
06:08.26 |
zero_level |
(I mean i suppose u are not on a cell
phone) |
06:08.29 |
brlcad |
a "size" is generally the thing you pass to
malloc, the type (e.g., unsigned char) is the range of possible
values |
06:08.37 |
zero_level |
yes. |
06:08.55 |
zero_level |
so look at the function mk_trans_tbl in
bwmod.c |
06:09.18 |
zero_level |
what it does is creates a translation look
aside buffer |
06:09.24 |
zero_level |
of size 256. |
06:09.32 |
*** join/#brlcad caen23
(~caen23@92.83.187.81) |
06:09.40 |
zero_level |
that is a 1-Dim array with 256
values. |
06:10.31 |
zero_level |
which in the case of uchar data, is the range
of values. |
06:10.46 |
brlcad |
actually, it's line 68 that creates the array
and mk_trans_tbl() fills it in |
06:11.03 |
zero_level |
ye. |
06:11.04 |
brlcad |
it's important to be precise |
06:11.34 |
brlcad |
especially since there is apparently some
difficulty simply discussing options here |
06:11.55 |
brlcad |
so my point still stands |
06:12.01 |
zero_level |
of. So I guess now we are on the same platform
as to how bwmod does things. |
06:12.17 |
zero_level |
go on. |
06:12.18 |
brlcad |
mapbuf could be an icv image of size 1x256
with values set into it and read |
06:12.23 |
brlcad |
or it could stay in bwmod |
06:12.29 |
brlcad |
doesn't really matter |
06:12.39 |
brlcad |
the point is the getting and setting of values
in icv's domain |
06:12.54 |
zero_level |
well brlcad : doing that |
06:13.45 |
zero_level |
does some math to make brlcad
understand. |
06:14.28 |
zero_level |
say a pixel with value 0.004 and 0.006 (in the
new icv terms_ |
06:14.28 |
brlcad |
do you at least realize that there are
probably a dozen perfectly valid ways this can be translated to
libicv? |
06:14.50 |
brlcad |
okay, continue |
06:14.58 |
zero_level |
doing what u suggest will make them both look
same way. |
06:15.00 |
brlcad |
how does one pixel have two values? |
06:15.12 |
zero_level |
well two pixels |
06:15.17 |
brlcad |
be precise |
06:15.18 |
zero_level |
so i begin again |
06:15.41 |
starseeker |
src/proc-db/masonry.c:945:9: error: variable
'vert_bricks' set but not used |
06:15.42 |
zero_level |
two pixels a and b with value 0.004 and
0.006 |
06:16.18 |
zero_level |
now lets suppose we create an image of size
1,256 in icv terms |
06:16.42 |
brlcad |
starseeker: fixed |
06:16.47 |
starseeker |
thanks |
06:16.57 |
Notify |
03BRL-CAD:brlcad * 56562
brlcad/trunk/src/proc-db/masonry.c: vert_bricks unused, warning
didn't issue locally but clearly there. |
06:16.59 |
zero_level |
0.004 and 0.006 will both correspond to same
data level |
06:17.24 |
brlcad |
sure |
06:17.52 |
zero_level |
thus the whole point of using double(to get
high resolution) will be dismantled. |
06:18.12 |
brlcad |
so far, probably bw values 1 and 2
respectively depending on rounding behavior |
06:18.49 |
brlcad |
how did that just dismantle
anything? |
06:18.53 |
brlcad |
you didn't say anything |
06:18.54 |
zero_level |
how does bot work |
06:19.00 |
zero_level |
bot : ~1/255 |
06:19.30 |
Notify |
03BRL-CAD:starseeker * 56563
brlcad/trunk/src/librt/primitives/bot/bot_oriented_bbox.cpp: Ah,
right - don't need xyz vars any more. |
06:20.29 |
zero_level |
brlcad : eh ? |
06:20.36 |
brlcad |
you're not making any sense |
06:21.00 |
brlcad |
two pixels: 0.004 and 0.006 ... and so
what? |
06:21.23 |
zero_level |
1/255 = 0.00392156 |
06:21.40 |
zero_level |
2/255 = 0.0078125 |
06:22.15 |
zero_level |
so 0.004 and 0.006 will correspond to same
data level if i use your suggestion of 1X255 image. |
06:22.28 |
zero_level |
c/1X2/1x256 |
06:22.35 |
zero_level |
c/1X255/1x256 |
06:22.45 |
zero_level |
is experiencing lots of
lag. |
06:23.10 |
brlcad |
"will correspond to same data level" ... and
so what? |
06:23.11 |
zero_level |
thus hampering the resolution of the
image. |
06:24.07 |
brlcad |
you're still not making any sense or your
making some conclusion that is completely wrong or I'm entirely not
seeing whatever it is you're trying to say... |
06:24.49 |
brlcad |
first the data is coming from somewhere, so
more than likely, they'd be pixels 0.00392156 and 0.0078125, not
0.004 and 0.006, if they came from bw data to begin with |
06:24.50 |
zero_level |
well lets suppose i want to output the
resultant operations in highdefinition png image. |
06:25.06 |
Notify |
03BRL-CAD:starseeker * 56564
brlcad/trunk/include/raytrace.h: Commit proposed new librt database
search API function declaration and design notes - not implemented
as yet, needs more thought/discussion |
06:25.06 |
zero_level |
pls hold on for a sec |
06:25.24 |
brlcad |
but even if we assume that they DID start out
as 0.004 and 0.006, theose values will correspond to either a bw
value of 1 or 2 (depending on rounding) |
06:25.42 |
zero_level |
not always brlcad! |
06:25.57 |
zero_level |
because in high definition png
images. |
06:26.04 |
zero_level |
say 16 bits |
06:26.40 |
zero_level |
it will correspond to 0.004*65536 -1 |
06:26.58 |
zero_level |
and 0.006*65536 - 1 |
06:27.23 |
brlcad |
sure, it'll be a difference if someone asks
for 16-bit png output .. but how is that at all relevant? |
06:27.55 |
brlcad |
that's why I said .. even if we assume that
they DID start out as 0.004 and 0.006 ... what does that
matter? |
06:28.10 |
brlcad |
if the user requests low-resolution bw output,
YES the data will get quantized |
06:28.12 |
brlcad |
the user requested it! |
06:28.19 |
zero_level |
well brlcad : It all depends on what we
want. |
06:28.23 |
brlcad |
if they ask for high-resolution output,
they'll get that too |
06:28.58 |
brlcad |
uhm, we're performing the operation that the
user requested, nothing more or less |
06:29.06 |
zero_level |
After our discussion on image container long
back. I got a gut feeling that |
06:29.22 |
zero_level |
a) resolution must be given some
priority. |
06:29.46 |
brlcad |
which was the point for double -- it makes all
processing occur at the highest resolution readily
available |
06:30.02 |
zero_level |
b) we are headed to a time in future. where
high res images will be used. (like the openexr format_ |
06:30.17 |
brlcad |
again, the point for double |
06:30.33 |
zero_level |
thus making it a fixed size array doesnt
help |
06:30.42 |
zero_level |
we will have to do inplace
calculation. |
06:30.54 |
brlcad |
"it" being bwmod's 256 element
array? |
06:31.21 |
zero_level |
well. logically bwmod will still be
correct. |
06:31.33 |
brlcad |
no, tell me what you meant when you said
"it" |
06:31.43 |
brlcad |
you said 'it', don't make me guess |
06:31.46 |
zero_level |
heheh :-_ |
06:32.01 |
zero_level |
well its the 1X256 image u suggested me to
use. |
06:32.54 |
zero_level |
see sean, i can do it the way suggested. This
will hardly take any time. |
06:33.22 |
zero_level |
but i would not like to. Because it will
hamper resolution. |
06:33.30 |
brlcad |
I stated multiple times that there are
multiple directions that can be taken, all valid |
06:33.34 |
brlcad |
they could be separate icv images |
06:33.49 |
zero_level |
I want icv operations not to hamper the
resolutions. |
06:33.53 |
brlcad |
it could be one icv image and quantized data
being still held in bwmod |
06:34.17 |
brlcad |
if you think it will hamper resolution, then I
think you are completely misunderstanding something |
06:34.42 |
zero_level |
well. not in the case of bwmod. (since it uses
8bit images) |
06:35.05 |
zero_level |
but ofcoruse in the future course when we use
high res images. |
06:36.17 |
brlcad |
so the issue in this specific instance is
bwmod |
06:36.29 |
zero_level |
And some body does and operations only to find
his/her image is equivalent to uchar image with alased double data.
(like 0.00392156 fr "1") |
06:36.36 |
brlcad |
and it's current implementation uses a 256
element buffer and operations index into that buffer |
06:36.59 |
brlcad |
so your first and foremost obligation is to do
that, and demonstrate it works |
06:37.28 |
brlcad |
show that works perfectly, then extend to
n-channel images or 128-bit images or whatever else next |
06:37.31 |
zero_level |
well . It would still. And carrying the future
course in action. |
06:38.04 |
zero_level |
01:48 < zero_level> icv_add_val(bif,5);
icv_divide_val(bif,20); icv_multiplyt_val(bif,0.5); |
06:38.05 |
brlcad |
for a 16-bit image, the entire algorithm of
bwmod would have to change since you couldn't have a look-aside
buffer that large to directly index into |
06:38.32 |
brlcad |
you keep saying that and I'm not sure what
you're hoping it implies |
06:38.51 |
brlcad |
icv_*_val() as you state it there looks
problematic |
06:39.05 |
brlcad |
what is the range of that 5/20/0.5 |
06:39.39 |
zero_level |
well it adds freedom to the api
caller. |
06:39.53 |
brlcad |
if the data is being stored 0.0 to 1.0 then
all inputs need to be translated to "icv units" |
06:39.54 |
zero_level |
to translate the bwmod functions. It will be
whate |
06:40.01 |
zero_level |
hold on pls |
06:40.09 |
zero_level |
x/255 |
06:40.25 |
brlcad |
exactly my point |
06:40.26 |
zero_level |
x is the value given by the utility
caller |
06:40.27 |
brlcad |
that's bad |
06:40.36 |
brlcad |
why would it assume 8-bit data? |
06:40.51 |
brlcad |
you can't have an api that is sometimes in one
range and sometimes in another |
06:40.59 |
brlcad |
the API needs to define what it's
using |
06:40.59 |
zero_level |
because bwmod does it in correct
for, |
06:41.16 |
brlcad |
this is a libicv function, so that
justification doesn't hold |
06:41.18 |
zero_level |
say if brl-cad in future have a
utility |
06:41.23 |
zero_level |
for operations |
06:41.50 |
zero_level |
which handles all the operations. |
06:42.22 |
brlcad |
and I feed it my exr image and it messes up my
data |
06:42.29 |
zero_level |
no. |
06:42.51 |
*** join/#brlcad Ch3ck_
(~Ch3ck@195.24.220.16) |
06:43.04 |
brlcad |
do any other icv functions take an 8-bit
0-to-255 value? |
06:43.13 |
zero_level |
no. |
06:43.19 |
zero_level |
just writeline |
06:43.20 |
brlcad |
that alone should be a red flag to
you |
06:43.44 |
zero_level |
writeline can handle both double data and
uchar data. |
06:44.49 |
brlcad |
there should be functions for
adding/extracting data in various formats |
06:45.10 |
brlcad |
but you can't have processing functions
handling everything possible, they need to work with icv's
units |
06:45.18 |
brlcad |
which means you need translation routines,
generalized |
06:45.33 |
brlcad |
similar to what you did with a few of your
other functions |
06:45.42 |
brlcad |
but still more generalized |
06:45.54 |
*** join/#brlcad Izak_
(~Izak@66-118-151-70.static.sagonet.net) |
06:46.33 |
brlcad |
a function that converts 8-bit 0-255 1-channel
data to double 0-1.0 ranged values, for example |
06:46.36 |
brlcad |
and back |
06:47.28 |
brlcad |
so it becomes something like icv_add_val(bif,
icv_cnv_8bit(20)) or similar |
06:48.27 |
*** join/#brlcad Izak__
(~Izak@195.24.220.16) |
06:54.47 |
Notify |
03BRL-CAD:brlcad * 56565
brlcad/trunk/src/librt/primitives/nmg/nmg_inter.c: three more dead
code functions from nmg, though two are relatively recent and may
need revisiting at some point later. |
07:01.47 |
Notify |
03BRL-CAD:brlcad * 56566
(brlcad/trunk/src/librt/primitives/nmg/nmg_misc.c
brlcad/trunk/src/librt/primitives/nmg/nmg_mod.c
brlcad/trunk/src/librt/primitives/nmg/nmg_tri.c): another 1057
lines gone, remove libnmg dead code |
07:06.49 |
Notify |
03BRL-CAD:brlcad * 56567
brlcad/trunk/src/librt/primitives/hf/hf.c: remove if 1
wrapping |
07:07.53 |
Notify |
03BRL-CAD:brlcad * 56568
brlcad/trunk/src/librt/primitives/pipe/pipe.c: no longer too much
for mged to display |
07:09.06 |
Notify |
03BRL-CAD:brlcad * 56569
brlcad/trunk/src/librt/primitives/tgc/tgc.c: re-enable tgc
reporting of non-paired grazing hits, but only for the first 100
cases. intentionally making no attempt to be thread-safe in the
book-keeping here because it doesn't matter. just need some upper
limit. |
07:09.20 |
Notify |
03BRL-CAD:brlcad * 56570
brlcad/trunk/src/librt/primitives/tgc/tgc.c: save the file first,
endif too |
07:10.49 |
Notify |
03BRL-CAD:brlcad * 56571
brlcad/trunk/src/librt/primitives/tgc/tgc.c: getting late, extra
curlie |
07:11.09 |
brlcad |
starseeker: I'm leaving the numerous
undocumented #if 0's in src/librt/test_bot2nurbs.cpp up to
you |
07:12.10 |
brlcad |
unless you tell me I can kill them, they beg
for some commentary / reasoning to keep that code |
07:12.29 |
brlcad |
src/librt/test_root3-subd.cpp too |
07:16.50 |
Notify |
03BRL-CAD:brlcad * 56572 brlcad/trunk/NEWS:
Added -o option to bb bounding box command - provides an oriented
bounding box rather than the default axis-aligned bounding box.
(comment was spot on, actual line was not past tense
consistent) |
08:48.11 |
zero_level |
brlcad : thanks for the suggestion. |
08:48.35 |
zero_level |
icv_cnv_8bit(..) looks fine to me. |
11:56.51 |
starseeker |
brlcad: fair enough |
11:58.21 |
starseeker |
Ch3ck_: make small patches that incrementally
work towards your goal |
11:58.35 |
Ch3ck_ |
ok |
11:58.55 |
Ch3ck_ |
but the patch i've already made for the pull
is it ok? |
11:59.00 |
starseeker |
Ch3ck_: I'll try to review more of your
patches today - I've got several irons in the fire right
now |
11:59.10 |
Ch3ck_ |
hm |
11:59.18 |
starseeker |
Ch3ck_: if you mean your large existing ones,
I'd try to break them up |
11:59.28 |
Ch3ck_ |
ok |
11:59.38 |
Ch3ck_ |
working on pulling non leaf objects |
11:59.42 |
Ch3ck_ |
as Sean had advice. |
11:59.43 |
Ch3ck_ |
d |
11:59.53 |
*** join/#brlcad ejno
(~ejno@unaffiliated/kazaik) |
11:59.55 |
starseeker |
if I recall correctly brlcad said it should be
possible to do so, so that will be something you want to
demonstrate you can do |
12:00.09 |
Ch3ck_ |
thats what i'm working on today. |
12:00.17 |
starseeker |
good |
12:03.09 |
Ch3ck_ |
i'll continue work on the pull and just
increment the current patch |
12:03.17 |
Ch3ck_ |
with recent changes. |
12:18.42 |
``Erik |
Izak__: I'm not seeing the 'barebones' patch
in the sourceforge tracker |
12:19.23 |
Izak__ |
``Erik: Let me upload it |
12:27.53 |
Izak__ |
``Erik: I have uploaded it to ticket
228 |
12:37.02 |
Ch3ck_ |
there is this thing i don't understand with
rt_db_get_internal(). The 4th argument which is a matrix given this
routine. Is it the matrix transformation of the database object in
external format or its the matrix transformation to be written to
the internal database object. |
12:37.40 |
Ch3ck_ |
I think it is the matrix of the internal
database object in external format but i just need to
clarify. |
12:37.51 |
Ch3ck_ |
or confirm |
12:47.03 |
``Erik |
Izak__: patch has trailing whitespace and
table.c fails to apply cleanly on r56572 |
12:49.36 |
*** join/#brlcad mpictor_
(~mpictor_@2600:1015:b122:7d10:0:48:5dba:4a01) |
12:51.11 |
``Erik |
also; import4/export4 should be left NULL and
not used at all |
12:51.27 |
Notify |
03BRL-CAD:phoenixyjll * 56573
(brlcad/trunk/include/brep.h
brlcad/trunk/src/libbrep/CMakeLists.txt
brlcad/trunk/src/librt/primitives/brep/brep.cpp): Start to work on
evaluating NURBS booleans. Move the code working with NURBS
booleans in librt to libbrep. |
12:54.17 |
``Erik |
starseeker:
http://www.caranddriver.com/reviews/volkswagen-xl1-concept-first-drive-review |
13:04.35 |
Notify |
03BRL-CAD:phoenixyjll * 56574
brlcad/trunk/src/libbrep/boolean.cpp: ws. |
13:05.33 |
Notify |
03BRL-CAD:phoenixyjll * 56575
brlcad/trunk/src/librt/primitives/bot/bot_oriented_bbox.cpp:
Eliminate compiler warnings. |
13:21.43 |
Izak__ |
``Erik: Please can you paste the build errors
you got because I have rebuilt and it succeeds |
13:37.13 |
``Erik |
no build errors, the patch failed to apply at
all |
13:37.32 |
*** join/#brlcad kesha
(~kesha@14.139.122.114) |
13:40.16 |
Izak__ |
``Erik: I am working on the trailing white
space now |
13:41.03 |
``Erik |
make sure your tree is fully up to date, using
"svn update" |
13:41.44 |
Notify |
03BRL-CAD:phoenixyjll * 56576
(brlcad/trunk/src/libged/bb.c brlcad/trunk/src/libged/comb.c): The
C compiler in MSVC seems to require all declarations appear
first. |
13:46.32 |
*** join/#brlcad kesha
(~kesha@14.139.122.114) |
13:53.47 |
Notify |
03BRL-CAD:phoenixyjll * 56577
brlcad/trunk/src/libbrep/boolean.cpp: curve_st should be the curves
in surfaceB's domain. |
13:56.18 |
Notify |
03BRL-CAD:mohitdaga * 56578
(brlcad/trunk/include/icv.h brlcad/trunk/src/libicv/encoding.c
brlcad/trunk/src/libicv/fileformat.c): Add ICV_CONV_8BIT macro for
encoding conversions. This macro converts the 8bit pixel values to
icv data type(double). Later we can have similar macros for higher
resolution of images. For eg ICV_CONV_16BIT. |
13:57.27 |
Notify |
03BRL-CAD Wiki:Phoenix * 5923
/wiki/User:Phoenix/GSoc2013/Reports: /* Week 7 */ |
13:57.45 |
Notify |
03BRL-CAD Wiki:Phoenix * 5924
/wiki/User:Phoenix/GSoc2013/Reports: /* Week 8 */ |
13:57.58 |
Notify |
03BRL-CAD Wiki:Phoenix * 5925
/wiki/User:Phoenix/GSoc2013/Reports: /* Mid-term summary
*/ |
14:02.02 |
zero_level |
clear |
14:03.23 |
*** join/#brlcad kesha
(~kesha@14.139.122.114) |
14:06.32 |
*** join/#brlcad kesha_
(~kesha@14.139.122.114) |
14:07.55 |
Notify |
03BRL-CAD:carlmoore * 56579
(brlcad/trunk/include/icv.h brlcad/trunk/include/raytrace.h and 2
others): fix spelling, and make about 2 other minor
changes |
14:18.04 |
*** join/#brlcad kesha_
(~kesha@14.139.122.114) |
14:34.18 |
brlcad |
zero_level: so the detail there is that libicv
won't normally know when it needs to run that 8bit conversion, but
the calling code does |
14:34.42 |
brlcad |
so tools like bwmod would convert their
user-provided values into the normalized 0-1 domain with ICV
API |
14:37.22 |
brlcad |
Izak__: we shouldn't still have to be
reminding about white space/style and that code compile cleanly
against trunk... |
14:38.43 |
starseeker |
Izak__: I changed the table.c stuff just this
weekend to add a method for oriented bounding boxes |
14:38.54 |
starseeker |
so the heart primitive should follow |
14:39.51 |
Izak__ |
satrseeker: Are you referring to the
rt_hrt_bbox() function ? |
14:40.05 |
starseeker |
no, the definition for heart in
table.c |
14:40.37 |
starseeker |
you need another NULL in the list of heart
functions, since the size of the function array has
changed |
14:40.44 |
starseeker |
easy to do |
14:44.31 |
starseeker |
Ch3ck_: did you see the change from brlcad to
the bn_poly test? He removed the copyright information generated
by octave and moved the comment within the source file |
14:45.31 |
starseeker |
Ch3ck_: (commit r56506) please make sure your
other patches are updated accordingly, if need be |
14:46.04 |
Ch3ck_ |
ok |
14:46.07 |
Ch3ck_ |
will do. |
14:47.36 |
Notify |
03BRL-CAD:carlmoore * 56580
brlcad/trunk/src/libbrep/intersect.cpp: OK, fixed 'minimum'
spelling (although intersect.cpp got other, unrelated warning
messages); did not find 'mininum' misspelling anywhere
else |
14:48.32 |
Ch3ck_ |
starseeker: could you please explain to me
what rt_db_get_internal does exactly? |
14:48.42 |
Ch3ck_ |
read the code but still have some blind
spots. |
14:49.16 |
Izak__ |
starseeker: did you append the method for
oriented bounding boxes to the rt_functab[] ? |
14:53.19 |
*** join/#brlcad kesha_
(~kesha@14.139.122.114) |
14:53.38 |
Notify |
03BRL-CAD:starseeker * 56581
(brlcad/trunk/src/other/libgdiam.dist
===================================================================
and 10 others): Add distcheck file for gdiam |
14:56.41 |
brlcad |
kesha_: can you talk to me about patch
218? |
14:56.56 |
brlcad |
it's interesting, surprising even that you
worked on those |
14:57.35 |
brlcad |
a quick glance, and I see that you
(fortunately) limited yourself to c++ operations, which is
good |
14:58.01 |
brlcad |
however, you do make a performance claim and
this should be tested |
15:01.21 |
brlcad |
kesha_: and on testing, it doesn't apply
cleanly |
15:06.38 |
kesha_ |
brlcad: whats the problem you are facing ?
cleanly as in ? |
15:06.51 |
``Erik |
with regard to performance: don't. Just,
don't. Make it work before even contemplating performance, it's
very easy to make bad assumptions and produce over-complicated code
that actually runs slower... until you're an old super-guru, I'd
strongly recommended clearing your minds of performance until after
your code is correct and complete |
15:21.00 |
brlcad |
kesha_: patches should apply with "patch -p0
-i yourfile.patch" to a trunk checkout |
15:26.08 |
brlcad |
Ch3ck_: your patches are seriously getting out
of control |
15:26.26 |
brlcad |
you need to stop creating new patches unless
they're for a completely unrelated new change to code |
15:26.41 |
Ch3ck_ |
thats what i've been doing. |
15:26.51 |
Ch3ck_ |
making them unrelated |
15:27.10 |
Ch3ck_ |
but since they patch files all have to enter
the same files |
15:27.26 |
Ch3ck_ |
problems may arise with CMakeLists |
15:27.40 |
Ch3ck_ |
since they're all trying to enter the same
place |
15:27.55 |
Ch3ck_ |
I wanted to make it in sure a way they apply
cleanly and consecutively |
15:28.09 |
``Erik |
if two patches touch the same file, one of
them will be bounced back for rework due to conflict... |
15:28.10 |
Ch3ck_ |
i was adviced to make them independent and
thats what i did |
15:28.16 |
Ch3ck_ |
yeah |
15:28.20 |
Ch3ck_ |
thats the problem |
15:28.28 |
Ch3ck_ |
well if they all have to apply
cleanly |
15:28.30 |
brlcad |
190 and 217 seem the same, 206 and 215 seem
the same |
15:28.35 |
Izak__ |
starseeker: Which commit did the oriented
bounding box go in? |
15:28.49 |
Ch3ck_ |
i'll have to apply them
consecutively |
15:28.58 |
Ch3ck_ |
so they clearly fit in the
CMakeLists |
15:29.26 |
Ch3ck_ |
that should be the only problem with the
patches. |
15:29.33 |
``Erik |
also; stop hitting enter so much, try writing
a good line instead of a lot of half-assed lines O.o |
15:29.34 |
brlcad |
Ch3ck_: if they are independent or if the
ordering is in the patch, that's fine |
15:29.48 |
Ch3ck_ |
well |
15:29.54 |
brlcad |
i think the issue was just those four older
ones seeming to be duplicates as I read down through the
list |
15:29.59 |
Ch3ck_ |
star seeker told me to make them in such way
that |
15:30.19 |
Ch3ck_ |
they should be applied in any order
indepently |
15:30.26 |
Ch3ck_ |
thats when this problem is coming
up. |
15:30.35 |
Ch3ck_ |
which ones? |
15:30.46 |
brlcad |
11:28 < brlcad> 190 and 217 seem the
same, 206 and 215 seem the same |
15:31.25 |
Ch3ck_ |
well they're not the same |
15:31.30 |
Ch3ck_ |
there are changes in them.. |
15:31.38 |
Ch3ck_ |
and should apply cleanly |
15:31.44 |
brlcad |
okay, so then just their subject titles are
misleading... ;) |
15:32.00 |
Ch3ck_ |
probably its just the naming |
15:32.09 |
Ch3ck_ |
since all the patches are trying to enter at
once |
15:32.16 |
Ch3ck_ |
i could combine all of them into one |
15:32.28 |
Ch3ck_ |
so they just apply neatly then.. |
15:32.29 |
zero_level |
brlcad : what did u mean here 14:33 <
brlcad> zero_level: "facsq,x,y,py,px,c;" is your doing
;) |
15:32.45 |
brlcad |
Ch3ck_: and that would be bad (we've had this
discussion before...) |
15:32.51 |
Ch3ck_ |
ok |
15:33.00 |
Ch3ck_ |
then in that case i'll have to make them
consecutive |
15:33.05 |
Ch3ck_ |
so they apply cleanly |
15:33.08 |
Ch3ck_ |
is that ok? |
15:33.17 |
brlcad |
that is usually fine |
15:33.26 |
Ch3ck_ |
and i'll also have to move the comments of GNU
octave inside |
15:33.27 |
Ch3ck_ |
the file |
15:33.36 |
brlcad |
the point is actually to resolve these patches
NOW because this is not how we want you to work |
15:33.43 |
Izak__ |
starseeker: Which commit during the weekend
had the oriented bbox changes ? |
15:33.50 |
brlcad |
patch files are only being used because there
continue to be problems with the patch files |
15:33.55 |
Ch3ck_ |
i don't understnad |
15:34.11 |
Ch3ck_ |
should I fix all these now and
submit? |
15:34.15 |
brlcad |
zero_level: there is something wrong there,
what is it? |
15:34.16 |
zero_level |
Izak__ : I advise you to join brlcad-commits
list |
15:34.36 |
zero_level |
to many variables in a single declaration
? |
15:34.46 |
brlcad |
Izak__: you can run svn log to see
changes |
15:34.49 |
zero_level |
c/to/too |
15:34.53 |
brlcad |
zero_level: nope |
15:35.04 |
brlcad |
look at the original code, then look at
yours |
15:35.09 |
zero_level |
alright. |
15:35.17 |
brlcad |
you changed something and it even goes against
our HACKING guidelines |
15:36.06 |
brlcad |
it's minor but you should be able to see when
you inject this sort of change as it just becomes cleanup work for
someone else later, and that's not efficient use of time |
15:36.26 |
zero_level |
ah.. so u mean the gaps. ? |
15:36.28 |
brlcad |
Ch3ck_: no, lets go through them |
15:36.34 |
Notify |
03BRL-CAD:tbrowder2 * 56582
(brlcad/trunk/src/conv/jack/g-jack.c brlcad/trunk/src/sig/c-d.c and
9 others): standardize usage strings for man-pageless progs; add
optstring var for bu_getopts |
15:36.35 |
Ch3ck_ |
ok |
15:36.42 |
Ch3ck_ |
i'm listening |
15:36.56 |
brlcad |
190 |
15:37.11 |
Notify |
03BRL-CAD:mohitdaga * 56583
brlcad/trunk/src/libicv/decimate.c: fix extra identifier in the
line. |
15:37.12 |
brlcad |
your last comment there was that you were
going to resubmit an up-to-date patch |
15:38.02 |
Ch3ck_ |
for which patch exactly |
15:39.08 |
brlcad |
kesha_ a word of caution, I suggest breaking
up your work be in slightly smaller chunks (for stepcode changes)
because you keep creating too much work for mpictor_ |
15:40.01 |
brlcad |
kesha_: I realize you've reviewed and fixed
some of these issues with the latest commits, but he shouldn't have
to keep reiterating the same points |
15:40.32 |
brlcad |
kesha_: perhaps make a checklist of things to
review when you make a commit to make sure that you don't create
work for him to respond to other than "looks great" |
15:40.42 |
brlcad |
Ch3ck_: 190! |
15:42.18 |
Ch3ck_ |
well i had seen that as rejected |
15:42.24 |
brlcad |
kesha_: in that checklist should include doing
a check to make sure the code compiles, reviewing the diff to make
sure only intended and relevant changes are included, testing your
change before commit (or using the dashboard) and after to make
sure nothing was broken |
15:42.42 |
brlcad |
~dict pending |
15:42.53 |
Ch3ck_ |
thats why i created the new patch
217 |
15:43.13 |
brlcad |
that is EXACTLY what I just said you need to
stop doing :) |
15:43.23 |
Ch3ck_ |
I had told you that 190 had significant debug
problems |
15:43.36 |
Ch3ck_ |
i thought with the pending-rejected
comment |
15:43.37 |
brlcad |
if it's the same patch, you should have posted
it to 190 instead of creating yet another tracker issue |
15:43.54 |
Ch3ck_ |
it means i should created a better
one |
15:43.56 |
Ch3ck_ |
sorry |
15:43.57 |
Ch3ck_ |
my bad |
15:44.01 |
Ch3ck_ |
but its now 217 |
15:44.10 |
brlcad |
what does pending mean? |
15:44.15 |
Ch3ck_ |
I did not understand what
pending-rejeced |
15:44.23 |
Ch3ck_ |
pending : still to be |
15:45.01 |
brlcad |
~dict 2 pending |
15:45.34 |
brlcad |
"not yet decided" ... and if you do nothing,
it will be rejected |
15:45.45 |
Ch3ck_ |
ok |
15:45.46 |
brlcad |
it was waiting for you to fix it |
15:45.58 |
Ch3ck_ |
and thats what i did with 217 |
15:46.04 |
brlcad |
that's not fixing 190 |
15:46.07 |
brlcad |
that's creating another issue |
15:46.11 |
Ch3ck_ |
yeha |
15:46.13 |
kesha_ |
brlcad: yes, Agree with you. the idea of
creating a checklist looks great ! It will save much of mpictor_ 's
and other time. |
15:46.17 |
Ch3ck_ |
so how do i remove 217 |
15:46.21 |
brlcad |
you don't |
15:46.28 |
brlcad |
we just have more work to clean this
up |
15:46.32 |
Ch3ck_ |
ok |
15:46.36 |
brlcad |
which is bad |
15:46.40 |
Ch3ck_ |
let me move the changes here. |
15:46.41 |
kesha_ |
Regarding the patch of brlcad, I will get back
soon. Right now I am working on STEP |
15:46.50 |
brlcad |
Ch3ck_: move what changes? |
15:47.05 |
Ch3ck_ |
the patch at 217 |
15:47.07 |
Ch3ck_ |
here |
15:47.11 |
Ch3ck_ |
190 |
15:47.37 |
brlcad |
if 217 is a follow-on/duplicate/continuation
of 190, I'll just close 190 and we can move forward |
15:48.19 |
brlcad |
but this is yet another failure in
communication on both our parts, mine for making it clear, and
yours for not understanding the status or impact of creating new
submissions |
15:48.40 |
brlcad |
you should have asked what pending-rejected
meant if you didn't understand |
15:49.24 |
brlcad |
there are plenty of language barriers we have
to overcome, but we cannot if you do not ask for assistance or let
someone know when something isn't 100% clear |
15:49.25 |
Ch3ck_ |
ok fine |
15:49.53 |
Ch3ck_ |
lets move on then.. |
15:51.37 |
brlcad |
Ch3ck_: so I'll ask again.... 206 and 215 seem
the same |
15:51.39 |
brlcad |
are they? |
15:52.04 |
Ch3ck_ |
yes. |
15:53.49 |
brlcad |
okay, then it it safe to assuming 206 can be
closed? |
15:53.54 |
brlcad |
s/assuming/assume/ |
15:54.42 |
Ch3ck_ |
yes |
15:54.46 |
Ch3ck_ |
it can be closed |
15:55.20 |
Ch3ck_ |
so all changes on push and pull will be on 215
and 217 |
15:55.27 |
Ch3ck_ |
henceforth |
15:56.28 |
brlcad |
okay ... and if anyone marks any of your
patches as pending-* including pending-rejected ... that is not a
closed issue, and you can/should update *that* issue #, not create
a new one |
15:56.54 |
brlcad |
pending means we're waiting on you to do
something |
15:57.31 |
Ch3ck_ |
ok |
15:57.40 |
Ch3ck_ |
I understand it perfectly now. |
16:00.39 |
brlcad |
kesha_: okay, let me know when you get back to
it 1) so I can help make sure you're testing the change right and
2) to make sure you don't spend too much time on it |
16:00.52 |
brlcad |
kesha_: though I am curious why you're patch
is out of sync in the first place |
16:02.48 |
kesha_ |
brlcad: okay. |
16:03.39 |
kesha_ |
brlcad: btw are you getting something like
http://paste.kde.org/p8787aee0/
? |
16:03.55 |
brlcad |
yep |
16:04.01 |
brlcad |
there should be no failures |
16:04.15 |
brlcad |
implies the patch was created with old
sources |
16:04.32 |
brlcad |
so you'll want to go back to those sources,
update them, and regenerate the patch file |
16:04.43 |
brlcad |
resolving any conflicts that arise during
update |
16:05.09 |
kesha_ |
How to regenerate again ? I mean wont it be
lost ? |
16:05.09 |
Izak__ |
brlcad:I included a NULL field in table.c for
the oriented bounding box starseeker: added but my compiler cries
fawl "excess elements in struct initializer" |
16:05.25 |
brlcad |
reading through 30+ patch rejection failures
would be more work than doing it all over |
16:05.27 |
zero_level |
kesha_ : do svn up. |
16:05.45 |
zero_level |
and then svn diff |
16:06.00 |
brlcad |
kesha_: where did you make those
modifications? |
16:06.07 |
zero_level |
if the file you are working has not been
modified. there shld not be issues. |
16:06.08 |
brlcad |
to what sources? |
16:06.19 |
Notify |
03BRL-CAD:starseeker * 56584
(brlcad/trunk/src/conv/step/ON_Brep.cpp
brlcad/trunk/src/conv/step/g-step.cpp): note that STEPentity ==
SDAI_Application_instance |
16:06.39 |
brlcad |
Izak__: have you svn updated
include/ |
16:07.10 |
Izak__ |
brlcad: I did an svn update before
building |
16:07.57 |
brlcad |
excess elements means you've got too many
fields, but I don't know the status of your code to know where
exactly that is |
16:08.12 |
brlcad |
you can always count them, see what the header
says |
16:08.36 |
brlcad |
make sure there's one and only one element
listed for each struct element |
16:08.53 |
Notify |
03BRL-CAD Wiki:NyahCh3ck20 * 5926
/wiki/User:NyahCh3ck20/GSoc2013/Coding_Repor: /* 5 August - 11
August */ |
16:09.16 |
brlcad |
it's very possible that svn update merged in
the new field just fine, adding a new NULL element, and you adding
another becomes too many |
16:09.59 |
brlcad |
Izak__: so I'm a little saddened that we don't
have a successful outcome from patch 191 |
16:10.06 |
brlcad |
I really hate to see work go to
waste |
16:10.58 |
brlcad |
all that's required is to show that your patch
provides some improvement, ideally by demonstrating a case where
rb_delete was wrong or failed, and with yours now it
doesn't |
16:13.02 |
Notify |
03BRL-CAD:starseeker * 56585
brlcad/trunk/src/conv/step/g-step.cpp: whoop, committed too many
files |
16:14.49 |
Izak__ |
brlcad: Please, with all due respect, could we
discuss the crisis on table.c first |
16:16.08 |
kesha_ |
brlcad: http://paste.kde.org/pbbd6a362/ |
16:16.08 |
Izak__ |
brlcad: This is the status of my table.c code
here http://paste.kde.org/pb0c0bbcf/ |
16:16.11 |
kesha_ |
:) |
16:16.50 |
Izak__ |
kesha: what's with the :) ? |
16:17.35 |
kesha_ |
Izak__: http://paste.kde.org/pbbd6a362/
worked , I presume. |
16:18.16 |
brlcad |
starseeker: stray comma on ON_BRep_to_STEP
? |
16:18.19 |
Izak__ |
kesha: It didn't. Just showing Sean the status
of some of my code :) |
16:18.55 |
kesha_ |
Izak__: I am talking abt <kesha_>
brlcad: http://paste.kde.org/pbbd6a362/
. Anyways, leave it ! |
16:18.57 |
brlcad |
Izak__: the fact that 191 and other patches
are unresolved is at the heart of why you have a table.c
crisis |
16:19.24 |
brlcad |
if you had established commit access by now,
you wouldn't be fighting painful merge issues like this |
16:20.15 |
brlcad |
so if you don't want to talk about it now,
that's fine, but please do understand that this is not an efficient
or preferred method of communication |
16:20.41 |
brlcad |
I'm reviewing patches ... so I don't have to
review your patches |
16:20.51 |
brlcad |
so you don't have to create patches |
16:21.00 |
Izak__ |
brlcad: Wer can talk about it then. |
16:21.01 |
brlcad |
it's far FAR easier to review
commits |
16:21.56 |
brlcad |
kesha_: is that to imply that you were able
tol update your sources and regenerate a clean patch? |
16:22.11 |
brlcad |
if so, please do upload it and I'll give it a
review |
16:22.29 |
kesha_ |
brlcad: ya, I am attaching new patch over
there |
16:22.36 |
Ch3ck_ |
so sean what's the next step? |
16:23.07 |
brlcad |
Izak__: so as for table.c and the current
definition of the function table, is that too many or too few
struct elements? |
16:24.16 |
brlcad |
Ch3ck_: what do you mean? :) |
16:24.39 |
Ch3ck_ |
waiting on the erviews we were
discussing |
16:24.48 |
Ch3ck_ |
reviews we were working on |
16:24.52 |
brlcad |
you mean patches 215 and 217? |
16:24.56 |
Ch3ck_ |
yeah.. |
16:25.53 |
brlcad |
I generally review patches in order when it
pertains to commit access, and there are a few ahead of 215
now |
16:26.00 |
brlcad |
all the more reason to update your oldest
patches... ;) |
16:26.24 |
brlcad |
i should get to it later today, so carry on
with what you're doing |
16:26.34 |
``Erik |
Izak__: please do 'svn info' and verify that
your revision is 56585, you should be running 'svn up' fairly
often |
16:26.35 |
brlcad |
thank you for clarifying those two |
16:26.42 |
Ch3ck_ |
ok |
16:26.46 |
Ch3ck_ |
what about the unit tests? |
16:26.55 |
brlcad |
they're even newer right? |
16:26.58 |
brlcad |
:) |
16:26.59 |
Ch3ck_ |
which i've written to get commit
access |
16:27.02 |
Ch3ck_ |
yes. |
16:27.19 |
brlcad |
all the more reason to update/check/fix your
oldest patches... ;) |
16:27.19 |
Ch3ck_ |
so since there are hunk fails during
application |
16:27.30 |
brlcad |
otherwise it isn't fair to others |
16:27.33 |
Ch3ck_ |
of the patches |
16:27.43 |
brlcad |
yeah, you'll want to address that |
16:27.54 |
Ch3ck_ |
so should i make them in such a way that they
apply consecutively and cleanly? |
16:27.58 |
brlcad |
yes |
16:28.02 |
Ch3ck_ |
ok |
16:28.07 |
brlcad |
or independently |
16:28.17 |
brlcad |
but then independent will apply consecutively
and cleanly too |
16:28.52 |
brlcad |
just if there IS a dependency, leave a comment
that simply says "this patch assumes patch #224 will be applied
first" |
16:28.55 |
``Erik |
Ch3ck_: if a patch depends on another, please
note the relationship in the description... "this patch depends on
215" or something |
16:29.20 |
Ch3ck_ |
ok |
16:29.30 |
brlcad |
so I did read through your bn testing
changes |
16:29.34 |
brlcad |
it's looking really good |
16:29.50 |
brlcad |
loving the inclusion of real outputs from
octave |
16:30.02 |
brlcad |
only concern is that testing looked VERY
limited in scope |
16:30.51 |
brlcad |
at least for the poly testing, didn't see any
zero coefficients, negative values, large with small, small with
large, and didn't go over fourth order, I believe |
16:31.29 |
brlcad |
you created the testing harness, so additional
tests are nearly free to set up |
16:32.02 |
brlcad |
you can set up as many as you can think of
that test some unique characteristic fairly easily to make a
decently robust test |
16:33.07 |
Ch3ck_ |
yeah |
16:34.11 |
brlcad |
kesha_: I suggest going back through
mpictor_'s github and email comments to you and make a note/list of
things he said were wrong, then add those to your
checklist |
16:39.40 |
brlcad |
ejno: I just created an opencl branch for you
to work in, you can start integrating your work to date there
including any sample/test code you're working on |
16:40.16 |
ejno |
ok, thank you |
16:41.03 |
brlcad |
i'd like to see if we can establish a real
proof-of-concept as quickly as possible, so don't worry about doing
it pretty |
16:41.26 |
brlcad |
we can treat this as a testing throw-away
branch, and if a concept pans out, we can integrate it cleanly on
trunk |
16:44.25 |
ejno |
ok |
16:44.29 |
Notify |
03BRL-CAD:brlcad * 56586 NIL: Created an
OpenCL branch for some experimental performance impact testing.
Looking to feed the primitive evaluations through OpenCL for
starters to evaluate the scalability and performance impact for a
limited set of primitives. This is intended to be proof-of-concept
work, not working production code nor any guarantees implied
(including portable compilation). |
16:44.47 |
brlcad |
``Erik: heh NIL .. nice :) |
16:45.26 |
brlcad |
ejno: https://svn.code.sf.net/p/brlcad/code/brlcad/branches/opencl |
16:45.33 |
ejno |
currently I'm having crashes when creating a
new file in MGED. I've gone back 300 revisions also |
16:46.22 |
brlcad |
oof |
16:46.31 |
brlcad |
how are you creating a new file? |
16:46.53 |
ejno |
both File->New and on the command line:
mged test.g |
16:47.10 |
``Erik |
what about 'opendb newfile.g' at the mged
prompt? |
16:47.40 |
brlcad |
hm, yeah, I dont' recall the last time I used
the menu option |
16:48.11 |
``Erik |
just created a new file doing
"mged test.g" in bash... |
16:48.33 |
``Erik |
and the menu |
16:48.59 |
ejno |
``Erik: opendb works for me |
16:50.05 |
``Erik |
Izak__: what's the progress on updating your
table.c ? |
16:52.07 |
ejno |
this is printed: Fontconfig warning: FcPattern
object fontfeatures does not accept value True |
16:52.09 |
Izak__ |
``Erik: I am building and its succeeding.....
Will update the patch soon. |
16:53.53 |
Ch3ck_ |
need some help here creating a patch |
16:54.16 |
Ch3ck_ |
I have created a patch and added a new test to
brlcad |
16:54.39 |
Ch3ck_ |
and i want the new patch to have only the
difference from the previously created patch? |
16:54.48 |
Ch3ck_ |
do i diff both patch files or what? |
16:55.33 |
Ch3ck_ |
since the new patch has both the previous
files and the current one. |
16:57.34 |
brlcad |
Ch3ck_: "it depends" on what kind of changes
you made, but ideally the file does only contain the new changes or
is an update/replacement to the other patch |
16:58.01 |
Ch3ck_ |
i am creating patches consecutively |
16:58.04 |
Ch3ck_ |
on the tests |
16:58.18 |
Ch3ck_ |
and i want each to depend on the other
consecutively since i'm adding |
16:58.23 |
Ch3ck_ |
tests |
16:58.26 |
Ch3ck_ |
to libbn |
16:58.37 |
Ch3ck_ |
when i create the patch it gives |
16:58.47 |
Ch3ck_ |
me both the previously added test and the
current |
16:59.01 |
Ch3ck_ |
but i want it to have only the
current |
16:59.07 |
Ch3ck_ |
but will apply when the previous has
applie |
16:59.08 |
Ch3ck_ |
d |
16:59.18 |
brlcad |
yep, I get it |
16:59.54 |
brlcad |
without commit, it's fugly, so you might want
to try and work on non-conflicting changes regardless so you can
keep using "svn diff" |
17:00.01 |
brlcad |
otherwise, you'll probably need two checkout
trees so you can run "diff -u" between them |
17:00.21 |
brlcad |
one dir is your previous state, other is your
new state |
17:00.29 |
brlcad |
creates the delta patch |
17:01.07 |
brlcad |
I would try to minimize working like this as
much as possible though |
17:01.11 |
brlcad |
we don't want you working that way |
17:01.31 |
brlcad |
perfect patches is the goal, and you only need
a couple |
17:02.41 |
Ch3ck_ |
well i'll see what to do... |
17:02.47 |
brlcad |
so you could already have enough open patches
to gain commit if they're perfect, in which case this is all moot
(unless you already know they will not apply cleanly) |
17:03.12 |
Ch3ck_ |
to make independent patches apply
independently cleanly |
17:03.16 |
Ch3ck_ |
but consecutively |
17:03.46 |
``Erik |
Ch3ck_: how about you close the patch tickets
that are no longer valid, pick one remaining patch and we try to
get that one to a committable state... throwing crap patch after
crap patch is just creating a big pile of crap... :D |
17:04.07 |
Ch3ck_ |
ok |
17:04.18 |
Ch3ck_ |
look at 222 |
17:04.23 |
Ch3ck_ |
it should apply cleanly |
17:04.29 |
Ch3ck_ |
so i move on to the next |
17:04.56 |
brlcad |
ejno: oh, now that you have commit, will you
apply your 194 patch |
17:05.31 |
``Erik |
222 says it needs 221, is 221 going to be a
clean good patch? |
17:05.41 |
Ch3ck_ |
221 has already been applied |
17:05.46 |
``Erik |
ah, cool |
17:05.47 |
Ch3ck_ |
so it should apply now. |
17:06.56 |
``Erik |
the poly_init() function in that patch adds a
trailing whitespace |
17:07.29 |
Ch3ck_ |
what! |
17:07.38 |
ejno |
brlcad: ok |
17:07.54 |
``Erik |
and fails to apply cleanly... let me delete my
copy and re-download to make sure I don't have an old one |
17:08.03 |
brlcad |
ejno: you can assign to yourself when done and
mark it closed |
17:08.16 |
ejno |
ok |
17:08.37 |
ejno |
is it ok that I can't test the windows
code? |
17:08.54 |
brlcad |
it's okay until you hear otherwise |
17:09.05 |
*** join/#brlcad vladbogo
(~vlad@188.25.239.5) |
17:09.17 |
brlcad |
if someone reports an issue, you'll need to
address it or revert (usually resolve within 24 hours is
expected) |
17:09.24 |
ejno |
ok |
17:09.28 |
``Erik |
Ch3ck_: patches should be generated from the
root directory of the project |
17:09.39 |
brlcad |
you can ask here or mailing list to see if
someone is willing to test for you |
17:09.50 |
Ch3ck_ |
ok well generated a new one now.. |
17:11.09 |
Ch3ck_ |
updating the patch now.. |
17:11.43 |
Ch3ck_ |
check the updated version now. |
17:17.22 |
``Erik |
ok, patch is generated correctly now and
applies cleanly, but indentation is wrong (two space indentation is
not what HACKING specifies), and there are two many empty
lines |
17:18.45 |
Ch3ck_ |
wow |
17:18.50 |
``Erik |
the end of test_bn_poly_scale() has a blank
line between the return value and the closing curly, poly_init()
has a blank line between the multiline comment about octave and the
code it belongs to |
17:19.19 |
``Erik |
most of these instances where you have two
sequential blank lines should be reduced to one blank
line |
17:19.33 |
``Erik |
should never have a blank line after an
opening curly |
17:20.37 |
``Erik |
I have no idea what "o coefficients" are in
the poly_init() comment, is that supposed to be '0' ? |
17:20.45 |
Ch3ck_ |
thats whay sean did with
bn_poly_multiply |
17:20.52 |
Ch3ck_ |
so just followd |
17:21.14 |
Ch3ck_ |
yes 0 |
17:21.15 |
``Erik |
comment line "*Initialises polnomial storing a
negative, positive and zero coefficients." should have a space
between * and I |
17:21.27 |
``Erik |
and polynomial should be spelled
correctly |
17:22.50 |
``Erik |
in main(), the closing paren and else should
be cuddled (on the same line, like "} else" ) |
17:23.10 |
``Erik |
main() shouldn't use exit(), it should return
the value instead |
17:23.46 |
Ch3ck_ |
i returned a negative number |
17:23.49 |
Ch3ck_ |
and sean refused |
17:23.55 |
Ch3ck_ |
prefering |
17:23.58 |
Notify |
03BRL-CAD:ejno * 56587
brlcad/trunk/src/libbu/tests/CMakeLists.txt: add a test of libbu
semaphore locking |
17:24.07 |
Ch3ck_ |
EXIT_FAILURE |
17:24.37 |
``Erik |
... you should use "return EXIT_SUCCESS;", not
"exit(0);" ... |
17:25.11 |
Ch3ck_ |
thats what i did |
17:25.23 |
Ch3ck_ |
exit(EXIT_SUCCESS |
17:25.25 |
Ch3ck_ |
) |
17:25.38 |
Ch3ck_ |
ok |
17:25.41 |
Ch3ck_ |
i get it.. |
17:25.53 |
``Erik |
the string 'exit' should not exist in your
program at all :) |
17:26.29 |
Ch3ck_ |
is that all |
17:26.36 |
Ch3ck_ |
so I should generate patch now? |
17:27.03 |
``Erik |
and towards the top, the comment block about
octave needs spaces between the '*' and body... I'd actually remove
the copyright and build info from that comment as well, just say it
was Octave 3.4.3 |
17:27.26 |
Ch3ck_ |
ok |
17:27.30 |
Notify |
03BRL-CAD:starseeker * 56588
brlcad/trunk/src/conv/step/ON_Brep.cpp: Stray comma (thanks
Sean) |
17:28.05 |
``Erik |
after all that, regenerate and resubmit, and
we'll take another look to see if anything else stands out, I
guess |
17:29.00 |
mpictor_ |
kesha_: if you don't have a list of my
comments, I believe I saved the issue 21 html file. The comments
are tied to the commit id, so they disappear if the commit is
removed |
17:29.29 |
Ch3ck_ |
``Erik: should see new patch now.. |
17:30.36 |
``Erik |
still indented wrong |
17:31.14 |
Ch3ck_ |
I ran it through indent.sh |
17:31.15 |
Ch3ck_ |
first |
17:31.20 |
``Erik |
and too many blank lines |
17:31.23 |
Ch3ck_ |
So i don't understand |
17:31.55 |
Ch3ck_ |
i also did ws.sh |
17:32.08 |
``Erik |
indent.sh depends on having brlcad's .emacs
file/version/etc, it's not a magic hammer... (I've never gotten it
to work right) |
17:32.28 |
``Erik |
what is your text editor of choice? |
17:32.34 |
Ch3ck_ |
well i use gedit |
17:32.38 |
Ch3ck_ |
and emacs |
17:32.47 |
Ch3ck_ |
but i've not used emacs for some time
now |
17:32.57 |
Ch3ck_ |
so i've forgotten many of its
commands. |
17:34.44 |
``Erik |
hm, gedit has naive indentation and I d'no the
emacs fu to load the footer :/ |
17:36.03 |
Ch3ck_ |
so we do we do now.. |
17:36.14 |
Ch3ck_ |
i've done everything within my
power.. |
17:36.19 |
Ch3ck_ |
i don't understand all these
complications. |
17:36.22 |
Ch3ck_ |
:( |
17:36.37 |
``Erik |
I'm googling the appropriate things to fix/add
in your ~/.emacs file |
17:37.03 |
Izak__ |
``Erik: I have upgraded the 'bare bones'
patch |
17:38.46 |
``Erik |
add (setq c-basic-offset 4) to your ~/.emacs
and try the indent.sh script again, then visually inspect to see if
the code is indented with 4 spaces? |
17:39.16 |
Ch3ck_ |
ok |
17:41.00 |
Ch3ck_ |
where is the ~/.emacs found |
17:41.25 |
``Erik |
~/ means in your home directory... you can run
"emacs ~/.emacs" from anywhere |
17:42.37 |
Ch3ck_ |
so how do i add the setq c-ba ... |
17:42.39 |
Ch3ck_ |
thing.. |
17:42.44 |
*** join/#brlcad kesha__
(~kesha@14.139.122.114) |
17:42.58 |
``Erik |
go to the bottom of the file, type (or paste)
it, save and exit... |
17:44.14 |
Ch3ck_ |
i have done that within the bn_poly_scale.c
file |
17:45.04 |
``Erik |
this (setq c-basic-offset 4) line should not
be in bn_poly_scale.c, it should be in your .emacs file |
17:46.22 |
Ch3ck_ |
i have not seen any .emacs file |
17:47.16 |
``Erik |
it'd be a hidden file in your home
directory... if it doesn't exist, you have to create
it... |
17:48.51 |
Ch3ck_ |
how should i save it |
17:48.55 |
Ch3ck_ |
as .emacs? |
17:49.01 |
Ch3ck_ |
and what.emacs |
17:50.12 |
Ch3ck_ |
ok did it |
17:50.19 |
Ch3ck_ |
but there is still no change |
17:50.24 |
Ch3ck_ |
should i upload the patch? |
17:56.22 |
*** join/#brlcad kesha__
(~kesha@14.139.122.114) |
18:01.32 |
``Erik |
Ch3ck_: if the patch still has 2 space
indentation, no. |
18:02.08 |
``Erik |
the ".emacs" file should be in your home
directory |
18:02.20 |
Ch3ck_ |
thats what i've done |
18:02.20 |
``Erik |
you should be able to do "cat ~/.emacs" and
see the c-basic-offset line |
18:03.13 |
``Erik |
(brlcad should cook a .indent.pro for use with
bsd or gnu indent *cough*) |
18:04.35 |
Ch3ck_ |
well |
18:04.40 |
Ch3ck_ |
i've done it |
18:04.44 |
Ch3ck_ |
and will upload patch now. |
18:05.53 |
Notify |
03BRL-CAD:ejno * 56589
brlcad/branches/opencl/src/librt/primitives/ell/ell.c: convert to C
and integrate with librt |
18:06.12 |
Ch3ck_ |
should check patch now.. |
18:10.00 |
``Erik |
well, until we figure out how to indent
correctly, I'll point out some other things... like the blank lines
y ou need to delete, I'll list them from bottom to top so the line
numbers don't muddle things... 143 73 49 37 |
18:10.15 |
``Erik |
also; copyright date says 2004-2013, that
should just be 2013 since this file is new |
18:12.17 |
Ch3ck_ |
is that all? |
18:13.06 |
``Erik |
other than indentation, that's all that's
jumping out to me |
18:13.36 |
``Erik |
do you have gnu's "indent" program on your
machine? |
18:14.45 |
brlcad |
running indent.sh is a crutch, it's for
convenience -- you should be able to do the whitespace corrections
manually if needed |
18:14.59 |
brlcad |
there is an example .emacs file on the
wiki |
18:15.16 |
Ch3ck_ |
ok |
18:15.26 |
Ch3ck_ |
please i'll need link |
18:15.42 |
brlcad |
how many lines are in your patch
file? |
18:16.30 |
brlcad |
the "wc" program will tell you |
18:17.58 |
Ch3ck_ |
191 |
18:18.31 |
Ch3ck_ |
now 187 |
18:18.32 |
starseeker |
Ch3ck_: uh... just use google - BRL-CAD and
Emacs |
18:18.34 |
brlcad |
that should take less than two minutes to
manually fix |
18:18.48 |
Ch3ck_ |
how many white spaces |
18:18.49 |
Ch3ck_ |
4? |
18:18.54 |
Ch3ck_ |
right? |
18:18.57 |
brlcad |
no |
18:18.58 |
starseeker |
check HACKING |
18:19.09 |
Ch3ck_ |
ok |
18:20.00 |
Ch3ck_ |
indents every 4 characters |
18:20.12 |
Ch3ck_ |
tab stops at 8 characters. |
18:20.14 |
Ch3ck_ |
right? |
18:20.20 |
Ch3ck_ |
its what i'm reading. |
18:20.30 |
brlcad |
that's what it says, yes .. but do you
understand what that means? |
18:21.06 |
brlcad |
it means it can be a mix of tabs and spaces
for any given line, depending on how many indentation levels there
are |
18:22.02 |
brlcad |
``Erik: does sasl have an update or do you
know if it updated recently? |
18:22.23 |
brlcad |
getting a fuckton of "svn: DIGEST-MD5 common
mech free" messages now |
18:22.31 |
brlcad |
via syslog |
18:23.17 |
brlcad |
didn't just start happening, it's been a
couple weeks |
18:23.23 |
Ch3ck_ |
i've manually made the indentation to
4 |
18:23.27 |
vladbogo |
hi all. I am currently working at mouse
integration between qt and tk and I am dealing with a really
strange problem: I've managed to send events from qt to tk and when
I click I get the error "bad scaling factor: 0.000". |
18:23.44 |
Notify |
03BRL-CAD:ejno * 56590
(brlcad/branches/opencl/test-raytracer/version1/Makefile
===================================================================
and 32 others): add original code to SVN |
18:23.49 |
brlcad |
Ch3ck_: do you understand what is meant by
saying it's a mix of tabs and spaces? |
18:24.00 |
Ch3ck_ |
no |
18:24.23 |
vladbogo |
apparantly this comes from "atof" function
because the string is 0.5 and the result is 0 |
18:24.27 |
brlcad |
it's critical to knowing how to indent
properly |
18:24.44 |
brlcad |
Ch3ck_: see one of the existing files that has
multiple levels of indentation |
18:24.57 |
Ch3ck_ |
ok |
18:25.10 |
brlcad |
it's 4spcs, then 1tab, then 1tab+4spcs, then 2
tabs, etc |
18:25.41 |
Ch3ck_ |
i don't understand |
18:25.42 |
brlcad |
each indent either adds 4 spaces or removes
four spaces and inserts a tab |
18:26.24 |
brlcad |
it's a byte-compressed fixed-presentation code
style |
18:26.26 |
brlcad |
it's not just spaces |
18:26.28 |
brlcad |
it not just tabs |
18:26.30 |
vladbogo |
the strange part is that when I use any other
dm insted of the Qt one the separator for double is "."(point) but
for the qt one is ","(comma) so if I give to atof ("0,5") the
conversion is correct. Any idea why this behaviour? |
18:27.12 |
Izak__ |
make |
18:27.19 |
brlcad |
vladbogo: atof("0.5") returning 0.0 sounds
wrong |
18:28.24 |
brlcad |
either the string it gets is not actually
"0.5" or it's not really returning 0.0 and somehow getting
cast/converted somewhere |
18:28.54 |
brlcad |
e.g., without a prototype, the compiler will
assume atof() returns an integer, so you have to make sure header
is properly included |
18:29.23 |
vladbogo |
brlcad: I know and if I change the atof("0.5")
to atof("0,5") (here it's comma) work's fine |
18:29.49 |
``Erik |
starseeker: beginnings of an .indent.pro might
be something like -bad -bap -bbb -br -ce -di1 -i4 -pcs
-nfcb |
18:30.11 |
``Erik |
brlcad: may've been updated... I've been doing
port upgrades almost daily |
18:30.19 |
brlcad |
vladbogo: o.O |
18:30.20 |
vladbogo |
brlcad: and also when I print a double it uses
the comma as a separator but just for the Qt dm |
18:30.44 |
``Erik |
ah, vladbogo, do you have locale stuff
set? |
18:30.46 |
brlcad |
"The decimal point character is defined in the
program's locale (category LC_NUMERIC)" |
18:31.13 |
brlcad |
that's from atof's manual page |
18:31.20 |
``Erik |
a lot of the world uses a comma instead of a
period as a decimal point |
18:31.33 |
vladbogo |
''Erik: I haven't set any locale
explicitly |
18:32.03 |
vladbogo |
and for the other dm's it uses point as
expected not comma |
18:32.42 |
brlcad |
vladbogo: you almost certainly have a locale
set in your environment |
18:33.08 |
brlcad |
which means most of the standard functions are
going to expect a comma |
18:33.39 |
*** join/#brlcad kesha__
(~kesha@14.139.122.114) |
18:35.51 |
brlcad |
we may need to add setlocale( LC_ALL, "en-US"
); where we assume us locale, but that's certainly not elegant or
polite |
18:42.26 |
vladbogo |
brlcad: should I try to set this somewhere
specific or doesn't matter because nothing changes? |
18:48.36 |
Notify |
03BRL-CAD:ejno * 56591
brlcad/branches/opencl/src/librt/primitives/ell/ell.c: more work on
integrating with librt |
18:52.37 |
brlcad |
vladbogo: where's the 0.5 string coming
from? |
18:54.22 |
brlcad |
Ch3ck_: also /*this is bad*/ and /* this is
good */ when it comes to comments |
18:55.40 |
brlcad |
the committed sources need many style
corrections, but to do so with several open patches would almost
certainly introduce conflicts or make merging more
difficult |
18:56.33 |
vladbogo |
brlcad: it's an argument to the cmd_zoom
function |
18:56.53 |
brlcad |
file:line? |
18:56.55 |
Ch3ck_ |
brlcad: i don't have any such problems with
patch 221 |
18:57.16 |
brlcad |
Ch3ck_: okay, just commenting based on current
status of bn_poly_multiply.c |
18:57.34 |
brlcad |
function return types belong on separate
line |
18:57.40 |
brlcad |
int |
18:57.43 |
brlcad |
main() |
18:57.46 |
brlcad |
{ |
18:57.55 |
vladbogo |
mged/chgview.c line 2690 |
18:57.56 |
brlcad |
not int main() { |
18:58.34 |
vladbogo |
also I tested on my other system where I have
kubuntu and it does not seem to have this behaviour |
18:58.53 |
Ch3ck_ |
waiting for the application of 221 |
18:59.01 |
Ch3ck_ |
so i could get on to the next patch |
18:59.04 |
vladbogo |
so it might be something local |
18:59.46 |
``Erik |
brlcad: rebuilt subversion without sasl, that
should eliminate the debug message... |
18:59.49 |
``Erik |
heads home
O.o |
18:59.51 |
brlcad |
vladbogo: locale is set in your
environment |
18:59.58 |
brlcad |
``Erik: you rock! |
19:00.10 |
zero_level |
hi all : Can every one run regress on there
local machines. |
19:00.31 |
zero_level |
make regress in the build directory. |
19:00.49 |
brlcad |
vladbogo: if you run "set", there's almost
certainly a locale setting in there |
19:01.41 |
brlcad |
vladbogo: so chgview.c:2690 is where the atof
call was made, but where'd the 0.5 string come from? |
19:01.50 |
brlcad |
that came into cmd_zoom() from somewhere
else |
19:02.37 |
brlcad |
usually user input, so a fix would be to type
"zoom 0,5" in mged and that might work |
19:02.54 |
brlcad |
but then if we print 0.5 to a string or
manually pass it in from some tclscript, we have a locale
bug |
19:03.32 |
brlcad |
zero_level: anything more specific, I run that
throughout the day every day |
19:03.33 |
vladbogo |
brlcad: there I found that the problem is: it
occurs when the mouse button is pressed |
19:03.47 |
brlcad |
mouse button is a zoom in/out
binding |
19:03.59 |
zero_level |
solids.sh |
19:04.00 |
brlcad |
so probably what I just said, a tclscript
passing in 0.5 ignorantly |
19:04.44 |
brlcad |
zero_level: just fyi, "make regress-solids"
will run just the solids regression (and it currently passes for
me) |
19:04.53 |
zero_level |
alright. |
19:06.11 |
zero_level |
BZ also passes for me. |
19:06.39 |
zero_level |
but i recieve the following on ubuntu12.04
i3 |
19:06.41 |
zero_level |
http://paste.kde.org/pb2722cd3/ |
19:06.47 |
brlcad |
vladbogo: LANG, LC_MESSAGES, and LC_ALL are
the environment variables that control locale, if you unset them ..
then mged will work (but the locale bug still will exist
obviously) |
19:06.58 |
vladbogo |
brlcad: mged/buttons line 366 appears to call
mged_zoom(0.5) |
19:07.15 |
brlcad |
zero_level: that's not the actual failure, you
need to include more output |
19:08.22 |
zero_level |
brlcad : how abt this |
19:08.24 |
zero_level |
http://paste.kde.org/p019f0e1e/ |
19:08.37 |
brlcad |
vladbogo: it's still numeric there, that's
fine |
19:09.06 |
brlcad |
looks like chgview.c:2630 is where it gets
converted to string |
19:09.10 |
vladbogo |
brlcad: I'll try to find where the variables
are set and see why this only happens for Qt |
19:09.18 |
brlcad |
so there is where it needs to take locale into
account |
19:09.37 |
brlcad |
Qt is very locale aware |
19:10.12 |
brlcad |
C's standard library has different function
calls to get locale behavior |
19:11.38 |
brlcad |
so snprintf() is probably just turning it into
"0.5" or "0,5" and someone down the line is confused |
19:11.50 |
brlcad |
vladbogo: try adding this before the snprintf
just to test: setlocale(LC_ALL, "POSIX"); |
19:14.05 |
vladbogo |
brlcad: setting this uses point |
19:15.10 |
vladbogo |
so should I set this in the dm-qt just to be
sure? |
19:15.18 |
brlcad |
nope |
19:15.51 |
vladbogo |
ok |
19:16.04 |
brlcad |
we're not really well tested for locale aware
applications so a couple thoughts come to mind |
19:16.19 |
brlcad |
1) should fix the actual crash, to prevent
that from happening regardless |
19:16.24 |
brlcad |
where was it crashing? |
19:16.59 |
vladbogo |
libged/zoom/zoom.c line 64 |
19:17.28 |
brlcad |
okay so not crashing, just reporting an
error |
19:17.59 |
brlcad |
what was the string that sscanf was scanning
from? |
19:18.02 |
vladbogo |
yep |
19:18.49 |
brlcad |
"0,5" or "0.5" (prior to adding
setlocal()) |
19:19.07 |
vladbogo |
in zoom.c it's already 0.0 |
19:19.19 |
vladbogo |
before it was "0.5" |
19:19.45 |
brlcad |
the argv[] is "0.0" or "0,0" ? |
19:21.39 |
vladbogo |
"0,000" |
19:21.44 |
brlcad |
i'm not yet seeing where this goes
wrong |
19:21.49 |
brlcad |
that's interesting |
19:22.10 |
brlcad |
so ged_zoom() has argv[]="0,000" |
19:22.26 |
vladbogo |
it goes wrong several steps before |
19:22.38 |
vladbogo |
yes argv[1]="0,000" |
19:22.48 |
vladbogo |
which seems to be ok |
19:22.49 |
brlcad |
which implies chgview.c:2633 set "0,000",
which implies the snprintf() returned that |
19:22.54 |
vladbogo |
yes |
19:23.16 |
vladbogo |
the problem occurs in cmd_zoom |
19:23.30 |
vladbogo |
there argv[1] is "0.5" |
19:24.22 |
vladbogo |
which is converted to double and sent do
mged_zoom where it's converted back to string using
snprintf |
19:25.10 |
vladbogo |
so it seems that the call to cmd_zoom seems to
be the problem |
19:28.09 |
brlcad |
yeah, I think you pinned it |
19:28.32 |
vladbogo |
and in mged/setup.c Tcl_CreateCommand creates
a comand that has the function cmd_zoom |
19:28.53 |
vladbogo |
so it has to be in Tcl/Tk I guess |
19:32.32 |
brlcad |
the 0.5 string is almost certainly coming from
tcl |
19:32.40 |
brlcad |
and it's respecting your locale, so that's a
0 |
19:33.24 |
Notify |
03BRL-CAD:brlcad * 56592
brlcad/trunk/src/mged/chgview.c: make sure the zoom string is sane
so we don't propagate a zero |
19:33.42 |
vladbogo |
I think I found out |
19:33.53 |
vladbogo |
src/libtclcad/tclcad_obj.c |
19:34.11 |
vladbogo |
line 5156 |
19:34.25 |
vladbogo |
but I'm not sure |
19:35.09 |
Notify |
03BRL-CAD:brlcad * 56593
brlcad/trunk/src/mged/chgview.c: avoid propagating a zero zoom to
libged |
19:38.36 |
brlcad |
vladbogo: looks like a possibility, did a
stack tace get you there? |
19:39.11 |
vladbogo |
no. I've searched for zoom |
19:39.28 |
brlcad |
ah |
19:39.31 |
brlcad |
more than likely it's
src/tclscripts/mged/bindings.tcl |
19:39.43 |
brlcad |
since that's where the key binding for zoom
in/out are set for mged |
19:39.46 |
vladbogo |
but it doesn't seem to be there |
19:39.52 |
brlcad |
archer uses libtclcad |
19:40.18 |
brlcad |
src/tclscripts/mged/openw.tcl also probably
has a binding |
19:40.38 |
brlcad |
(for the menu zoom options) |
19:40.57 |
brlcad |
yep, sure enough both places |
19:41.52 |
brlcad |
so the fix is probably specific to the tcl
hook functions |
19:42.22 |
brlcad |
they need to forcibly set the locale to POSIX,
do their work, then set it back |
19:43.11 |
brlcad |
OR we some way to manage every possible
floating point literal in a tcl script in locale form |
19:43.43 |
brlcad |
like "zoom [clocale 0.5]" |
19:46.01 |
vladbogo |
so should I set the locale in cmd_zoom to
POSIX then change it back? |
19:46.53 |
Notify |
03BRL-CAD:carlmoore * 56594
(brlcad/trunk/doc/docbook/system/man1/en/g-acad.xml
brlcad/trunk/src/conv/g-acad.c): disuss the -P option, implement
'RTD.debug = |
19:46.56 |
brlcad |
that would be the first option I
mentioned |
19:47.08 |
brlcad |
forcibly setting the locale |
19:47.21 |
starseeker |
brlcad: is http://viennacl.sourceforge.net/
of any interest for the opencl stuff? |
19:47.32 |
brlcad |
the issue is just one of user expectation ...
vladbogo would you expect to be able to run "zoom 0.5" on the
command line |
19:47.38 |
brlcad |
or would you expect "zoom 0,5" |
19:48.02 |
vladbogo |
well I'd expect to run zoom 0.5 |
19:48.51 |
brlcad |
starseeker: if/when we get to converting a
primitive that uses those types of solvers, perhaps |
19:49.20 |
vladbogo |
I'm still confused why the locale is set to
something else since my local configurations are to use
"." |
19:49.45 |
brlcad |
"."? |
19:49.49 |
brlcad |
that's not a valid locale :) |
19:50.04 |
brlcad |
set | grep L |
19:51.22 |
brlcad |
vladbogo: if you expect that, then I'll just
tell any future complaining users that it was your fault
;) |
19:51.28 |
brlcad |
certainly sounds fine to me |
19:51.40 |
brlcad |
but then that's the only locale I use, POSIX
ftw |
19:52.26 |
vladbogo |
I agreed with you |
19:52.51 |
brlcad |
I know :) |
19:53.04 |
brlcad |
just saying... someone will probably
eventually complain ;) |
19:53.15 |
brlcad |
and then they can make an awesome
patch! |
19:53.20 |
vladbogo |
:) |
19:55.33 |
Notify |
03BRL-CAD Wiki:IIIzzzaaakkk * 5927
/wiki/User:Izak/GSOC_2013_logs: /* Mid-term Evaluation week
*/ |
19:55.48 |
``Erik |
heh, "my native language is C" |
19:57.57 |
vladbogo |
brlcad: I also have a question regarding the
mouse integration |
19:58.10 |
Notify |
03BRL-CAD:brlcad * 56595
brlcad/trunk/src/mged/chgview.c: test yer compiles igit |
19:59.15 |
vladbogo |
I was thinking about doing something like
this: send a tk event when I get a Qt one |
19:59.42 |
vladbogo |
but the problem is when using a blocking
event_check |
20:00.23 |
vladbogo |
because the dm blocks waiting for a Tk
event |
20:01.27 |
Notify |
03BRL-CAD:brlcad * 56596
brlcad/trunk/src/mged/mged.c: force POSIX locale since our tcl
script infrastructure expects it. we could get away with just
performing locale restrictions within the tcl callback functions,
but right now that is several hundred potential functions where
we'd be introducing redundant code. another possibility might be to
introduce a tcl command like 'zoom [clocale 0.5]' so the
scripts |
20:01.29 |
Notify |
themselves become aware, and that would
probably be best and a lot of work. |
20:01.47 |
brlcad |
vladbogo: that should do the trick for
now |
20:02.00 |
vladbogo |
thanks |
20:02.28 |
brlcad |
we'll need something more for archer, but that
might become moot when the two are merged |
20:03.16 |
vladbogo |
so since clicking triggers a Qt event this
should be processed, but instead everithing is blocked waiting for
a Tk event |
20:04.15 |
vladbogo |
if I force everything to be non-blocking it
works fine but I don't think this is the best approach |
20:05.46 |
vladbogo |
another idea I have which I haven't tested but
it has to work is to make all the Tk events non-blocking for the Qt
display manager and instead wait for a Qt event to
trigger |
20:05.52 |
vladbogo |
would this approach be ok? |
20:06.30 |
brlcad |
starseeker: their benchmarks are interesting
.. if i'm reading it right, you have to have about 10,000 to
1,000,000 values to work on for their implementation to show a
gain |
20:07.13 |
brlcad |
starseeker: that's a bit nuts .. huge
matrices, maybe for how you were attempting to sparse solve the
bot2nurbs fit (but then you know my other ideas there
too) |
20:07.57 |
brlcad |
vladbogo: i don't have enough information to
say yay or nay to that |
20:08.18 |
brlcad |
vladbogo: on the surface, it sounds fine, even
if everything were non-blocking or just tk |
20:08.31 |
brlcad |
it's not clear that the implication would be
just yet |
20:09.26 |
vladbogo |
brlcad: I haven't figured out yet when
blocking/non-blocking event check is called since every iteration
depends on the previous iteration's result |
20:09.33 |
Notify |
03BRL-CAD:ejno * 56597
brlcad/branches/opencl/src/librt/primitives/ell/ell.c: work on
sphere intersection |
20:12.18 |
brlcad |
ejno: you closed the patch, but where's the
commit? |
20:12.40 |
vladbogo |
but I don't think having blocking Tk process
events it's possible: the only way I think is that when adding the
Qt event in the event queue also a Tk event should be generated
which I think could be just by modifying the Qt code |
20:12.49 |
brlcad |
vladbogo: you'll also have to carefully
consider both mged and archer as their run loops are quite
different |
20:13.26 |
vladbogo |
I have just focused on mged |
20:13.39 |
Notify |
03BRL-CAD:starseeker * 56598
(brlcad/trunk/src/librt/CMakeLists.txt
brlcad/trunk/src/other/libgdiam/CMakeLists.txt
brlcad/trunk/src/other/libgdiam/gdiam.hpp): Untested, and almost
certainly not right yet, but start working on the Windows DLL logic
for gdiam. |
20:14.26 |
vladbogo |
I'll try then also on archer but since I
haven't done any significant modification to the run loop (just
called the qt processEvents function it shouldn't be a
problem) |
20:17.24 |
starseeker |
brlcad: ah, yeah, probably not worthwhile
then |
20:17.51 |
starseeker |
pity - was hoping we could leverage some work
by other dedicated GPU/OpenCL researchers |
20:23.52 |
starseeker |
notes the BRL-CAD cmake
overview PDF is up |
20:25.44 |
vladbogo |
brlcad: even though forcing locale to POSIX as
soon as dm_open is called and Qt is used the locale is reset so it
has to be forced after opening the dm to take effect |
20:26.14 |
vladbogo |
should I change this? |
20:36.15 |
Notify |
03BRL-CAD:starseeker * 56599
brlcad/trunk/src/other/libgdiam/CMakeLists.txt: Copy/paste strikes
again. |
20:40.20 |
Notify |
03BRL-CAD:vladbogo * 56600
brlcad/trunk/src/mged/mged.c: Force POSIX locale only after the
display manager is opened so that the changes take
effect. |
20:41.22 |
brlcad |
starseeker: this isn't a problem of
libraries |
20:42.16 |
brlcad |
we already have the code |
20:43.03 |
brlcad |
it's a matter of translating from C to OpenCL
(very easy), using different data containers (easyish), and
restructuring the order of calculations (some work) |
20:43.57 |
brlcad |
ejno: never mind, I found the commit .. just
overlooked |
20:49.17 |
brlcad |
vladbogo: whose resetting the
locale? |
20:49.37 |
vladbogo |
something I guess |
20:49.39 |
brlcad |
s/whose/who's/ |
20:49.48 |
vladbogo |
in Qt * |
20:50.19 |
vladbogo |
all I know is that after the qt_open is called
the locale resets |
20:52.09 |
vladbogo |
brlcad: is there anywhere I can found all key
bindings? |
20:52.42 |
brlcad |
yeah, it's qt's backend: https://github.com/matplotlib/matplotlib/issues/1867 |
20:53.31 |
brlcad |
so we could also just unset LC_ALL/LANG at
program start |
20:53.43 |
brlcad |
your move to put the init after Qt
initialization is fine for now |
20:54.10 |
brlcad |
vladbogo: a key binding can be created
anywhere, so no .. but most for mged are in
src/tclscripts/bindings.tcl |
20:54.35 |
brlcad |
you can easily create bindings on the fly in
tcl |
20:55.16 |
vladbogo |
so when it comes to integrating the keyboard
what should it be supported? |
21:00.50 |
Notify |
03BRL-CAD:vladbogo * 56601
(brlcad/trunk/include/dm-qt.h brlcad/trunk/src/libdm/dm-qt.cpp):
Send Tk button press events when Qt mouse events occur. |
21:03.44 |
vladbogo |
brlcad: is it ok if I put a #ifdef DM_QT
"process events nonblocking" for the moment and then try to have a
better solution? |
21:11.53 |
Notify |
03BRL-CAD:vladbogo * 56602
brlcad/trunk/src/mged/dm-qt.c: Implemented the qt_doevent
function. |
21:12.34 |
Notify |
03BRL-CAD:vladbogo * 56603
brlcad/trunk/src/libdm/dm-qt.cpp: Removed debug info. |
21:13.21 |
brlcad |
vladbogo: sure |
21:13.47 |
brlcad |
key bindings are libdm's greatest limitation
because originally the API was not at all concerned with key
events |
21:13.52 |
brlcad |
the front-end application handled
them |
21:14.13 |
brlcad |
most of the older devices didn't even support
the notion, so you were left with console I/O |
21:14.47 |
vladbogo |
I see |
21:15.30 |
vladbogo |
and in this case I guess a generic way to send
different key events from Qt to Tk would be best |
21:16.53 |
brlcad |
libdm should have some awareness of key
bindings / events |
21:17.00 |
brlcad |
that might be the method to bridge
them |
21:17.39 |
vladbogo |
I'll think about it and i'll come with a
suggestion in the next days |
21:17.45 |
brlcad |
sounds good |
21:18.27 |
brlcad |
you'll find two systems currently in place for
mged |
21:19.13 |
brlcad |
there's the low-level C interface that is used
when one runs mged -c, and there's the tcl/tk bindings, which
already mentioned are predominantly
src/tclscripts/bindings.tcl |
21:19.41 |
brlcad |
ideally, none of the bindings would involve Tk
(other than maybe as an event pass-through to C) |
21:19.55 |
Notify |
03BRL-CAD:vladbogo * 56604
brlcad/trunk/src/mged/dm-qt.c: Implemented and added the cmd_hook
to the display manager. |
21:20.01 |
brlcad |
we want to eventually replace Tk with Qt
completely |
21:21.29 |
vladbogo |
ok, then I'll have also this in mind |
21:31.17 |
brlcad |
if you spent the rest of summer just getting
that working, you would be a god |
21:31.22 |
Notify |
03BRL-CAD Wiki:Vladbogolin * 5928
/wiki/User:Vladbogolin/GSoC2013/Logs: |
21:34.25 |
Notify |
03BRL-CAD Wiki:Vladbogolin * 5929
/wiki/User:Vladbogolin/GSoC2013/Logs: /* Week 8 */ |
21:40.23 |
Notify |
03BRL-CAD:vladbogo * 56605
brlcad/trunk/src/mged/mged.c: If the qt display manager is enabled,
check for events non-blocking. |
21:40.41 |
Notify |
03BRL-CAD Wiki:Vladbogolin * 0
/wiki/File:Tor1.png: |
21:41.00 |
Notify |
03BRL-CAD Wiki:Vladbogolin * 0
/wiki/File:Tor2.png: |
21:42.49 |
Notify |
03BRL-CAD Wiki:Vladbogolin * 5932
/wiki/User:Vladbogolin/GSoC2013/Logs: /* Week 8 */ |
22:03.47 |
Notify |
03BRL-CAD:starseeker * 56606
brlcad/trunk/src/other/libgdiam/gdiam.hpp: Just use the std min and
max... |
22:13.41 |
Notify |
03BRL-CAD:brlcad * 56607
brlcad/trunk/src/util/bwshrink.c: calling bu_free() after malloc()
is wrong, but we should be calling bu_malloc() so do that instead.
added some basic input sanity checking. |
22:24.18 |
Notify |
03BRL-CAD:starseeker * 56608
(brlcad/trunk/src/other/libgdiam/CMakeLists.txt
brlcad/trunk/src/other/libgdiam/gdiam.cpp
brlcad/trunk/src/other/libgdiam/gdiam.hpp): Closer - buildings with
MSVC, but the obb operation crashes with an error having to do with
a sort call using a CompareByAngles comparison - Expression:
invalid operator< |
22:28.53 |
starseeker |
suspects MSVC is being picky
about something that gcc is letting slide... |
22:29.43 |
starseeker |
gdiam.cpp:1651 |
22:30.19 |
starseeker |
correction, gdiam.cpp:1636 now |
22:54.46 |
Notify |
03BRL-CAD:brlcad * 56609 brlcad/trunk/NEWS:
richard improved the fast4-g importer in r56495 to skip blank
lines |
23:36.50 |
brlcad |
starseeker: so they're not compatible ... or
at least what I thought I was looking at the other day is different
than what is in gdiam.cpp |
23:37.10 |
brlcad |
vec_point_2d is a class |
23:38.45 |
brlcad |
<PROTECTED> |
23:39.16 |
brlcad |
maybe even as simple as pointer value
comparison |