03:04.30 |
*** join/#brlcad rotad
(~user@unaffiliated/rotad) |
03:31.52 |
starseeker |
ponders ``Erik's previous C
tricks, contemplates him learning deeper onces, and
shudders |
03:37.12 |
starseeker |
makes me think of http://foldoc.org/The+Story+of+Mel |
03:50.14 |
*** join/#brlcad ishwerdas
(~inderplus@117.214.202.142) |
04:27.20 |
*** join/#brlcad kintel
(~kintel@unaffiliated/kintel) |
04:41.47 |
*** join/#brlcad gaganjyot
(~gagan@124.253.224.4) |
04:46.40 |
gaganjyot |
ries: I feel there is a mistake at http://wiki.librecad.org/index.php?title=GSoC_2014 |
04:47.01 |
gaganjyot |
the smart snap project details seem to be
invalid |
04:49.43 |
*** join/#brlcad kanzure
(~kanzure@131.252.130.248) |
06:58.40 |
*** join/#brlcad ishwerdas
(~inderplus@117.199.107.187) |
08:03.17 |
*** join/#brlcad jasleen
(~chatzilla@117.253.202.213) |
09:48.36 |
*** join/#brlcad javampire
(~ncsaba@p4FF70855.dip0.t-ipconnect.de) |
09:58.18 |
javampire |
brlcad: I'm back to the discussion about "how
easy it can get to interface to brl-cad" |
09:58.31 |
javampire |
if interested :-) |
10:10.05 |
javampire |
I had some thoughts about your question, and
here's what I think: the current interface is not bad per se, it's
only too big and hard to explore |
10:10.35 |
javampire |
there are a few odd bits like creating a
combination is harder than needed, but the basic things are
OK |
10:12.44 |
javampire |
the lowest hanging fruits are for sure:
documentation, detailed documentation, self-maintaining
documentation -> means: put the docs in the code and collect
them from there for all display purposes |
10:12.54 |
*** join/#brlcad ishwerdas
(~inderplus@117.199.107.187) |
10:15.46 |
javampire |
for the combination part check out this, it
already works in python-brlcad: http://pastebin.com/rB0B1nDa |
10:16.31 |
javampire |
I see no reason why something similar couldn't
be written in C |
11:07.15 |
*** join/#brlcad jasleen
(~chatzilla@117.253.231.181) |
11:22.44 |
javampire |
brlcad: another example which has almost all
you can do currently with python-brlcad's wdb interface: http://pastebin.com/HGTtGJzW |
11:24.24 |
javampire |
the most important part from my POV is the
naming of the parameters, it makes it a lot more readable, and my
IDE is supporting my with tab completion of parameter names, so I
don't even need to remember what parameters are available, I can
just CTL-SPACE and I get a list |
11:58.55 |
*** join/#brlcad zxq9
(~ceverett@FL9-125-199-207-150.okn.mesh.ad.jp) |
12:39.37 |
*** join/#brlcad raj12lnm
(7aa68b01@gateway/web/freenode/ip.122.166.139.1) |
12:40.15 |
raj12lnm |
hi bryan |
12:41.29 |
raj12lnm |
brlcad : the channel header must be changed.
Since BRL-CAD has been accepted ;) |
12:42.08 |
raj12lnm |
javampire : hi. |
12:42.19 |
javampire |
Hi Raj, glad to see you :-) |
12:44.02 |
javampire |
I have seen your code, it's all OK, you found
the right places to modify... |
12:44.13 |
raj12lnm |
javampire : you pointed to leaf in
combination. |
12:44.16 |
raj12lnm |
but i couldnot get |
12:44.27 |
raj12lnm |
althoug i saw Transform in vmath. |
12:44.38 |
raj12lnm |
Should I use Tranform in place of mat
? |
12:44.39 |
*** topic/#brlcad by ``Erik
-> BRL-CAD || http://brlcad.org
|| logs: http://ibot.rikers.org/%23brlcad/
|| GCI winners: Jacob Burroughs and Peter Amidon! Thanks to all of
our participants for the awesome work; stay in touch! || We've been
accepted to GSoC 2014! |
12:44.55 |
javampire |
well let me have a short look |
12:44.59 |
raj12lnm |
ok. |
12:45.17 |
``Erik |
"boosh" |
12:45.37 |
``Erik |
(thanks for pointing that out, raj12lnm
:) |
12:45.45 |
raj12lnm |
is looking at test framework
in the meanwhile. So that I can make use of javampire 's time.
:-) |
12:46.15 |
``Erik |
"libcheck" seems to be the go-to open source C
testing framework |
12:46.28 |
javampire |
raj12lnm: for the transformation matrix, the
combination/leaf is actually a right pointer |
12:46.46 |
javampire |
look in the LeafNode class |
12:47.05 |
javampire |
__init__ method, what is done to the
"matrix" |
12:47.22 |
``Erik |
heh, ya'll are doing python? |
12:47.47 |
raj12lnm |
javampire for how long are you here ? I can
plan accordingly ! |
12:47.58 |
raj12lnm |
``Erik yes ;) |
12:49.03 |
javampire |
I'm here for at least 2 hours |
12:49.06 |
raj12lnm |
javampire : i saw that. But it uses. |
12:49.07 |
``Erik |
aight, nevermind the libcheck comment, then :)
fwiw, there's a swig2 .i file in include/brlcad.i that may do an ok
job of creating a lot of python binding |
12:49.08 |
raj12lnm |
result.matrix = arg[1] |
12:49.45 |
raj12lnm |
i dont know how to get values of
matrix. |
12:50.01 |
raj12lnm |
Should i create Transform(mat, True)
? |
12:50.24 |
``Erik |
and the general thought is that vmath is chock
full of things we don't care to do ffi for, they should be trivial
to implement in the native language |
12:50.33 |
raj12lnm |
also Transform accepts a string. |
12:51.29 |
javampire |
the transformation matrix is a 4x4 float
matrix, see:
http://reference.wolfram.com/legacy/applications/visualizer/A2OrientationCommands/A2.8.html |
12:51.51 |
javampire |
brlcad stores that as 16 doubles |
12:52.39 |
raj12lnm |
ok. |
12:52.44 |
javampire |
look in LeafNode.__new__ to see how you can
read the brl-cad version into a python array |
12:53.13 |
raj12lnm |
also how do i convert that back to the wrapper
in wdb.py ? |
12:53.37 |
javampire |
follow the path of LeafNode :-) it must do the
same ;-) |
12:54.02 |
raj12lnm |
also Transform class lacks is_same function
! |
12:54.37 |
javampire |
ok, have to look at it |
12:54.53 |
raj12lnm |
javampire : which function in wdb.py takes
care of the leafnode. |
12:54.59 |
raj12lnm |
I searched but couldnot get. |
12:55.10 |
javampire |
none, you need to look at LeafNode's
methods |
12:55.26 |
javampire |
I could tell you but it's more fun if you have
to search for it ;-) |
12:56.24 |
javampire |
BTW, Transform is extending numpy.matrix, so
it is in fact a numpy matrix with some additional
functions |
12:56.26 |
raj12lnm |
I got all of them. |
12:56.36 |
raj12lnm |
Thanks javampire. |
12:56.47 |
javampire |
did you figure out how it's done ? |
12:56.48 |
raj12lnm |
All the details are in leafnodes
class |
12:57.00 |
raj12lnm |
yea cta.transform |
12:57.10 |
javampire |
bingo ! |
12:57.18 |
raj12lnm |
Actually i was looking at the wrong
place. |
12:57.38 |
javampire |
yes, but while doing that you surely
discovered a lot of other things :-) |
12:57.52 |
javampire |
searching is always annoying but educative
;-) |
12:57.54 |
raj12lnm |
(in India we have a idiom The baby is in the
lap whereas the mother is searching in the whole town ;)
) |
12:58.18 |
javampire |
:-) |
12:58.44 |
raj12lnm |
javampire : there are also issues with the
test. |
12:58.47 |
javampire |
ok, you're right, the Transform can take an
is_same method |
12:59.11 |
raj12lnm |
I got that also. |
12:59.16 |
raj12lnm |
The leafnodes helps all. |
12:59.16 |
javampire |
but if you add one: please consider that a
transform can be also provided as a plain list of 16
floats |
12:59.48 |
raj12lnm |
I will rather use methods from np. |
13:00.10 |
javampire |
yes, but if you look at my tests, I use a
plain list of floats as mattrix |
13:00.11 |
raj12lnm |
this np.allclose(self.matrix,
other.matrix) |
13:00.13 |
javampire |
sometimes |
13:00.19 |
javampire |
ok, that could work |
13:00.34 |
raj12lnm |
infact i will add that detail. |
13:00.43 |
javampire |
hmm, actually I never added a test with a
plain list |
13:00.51 |
javampire |
but it should work, hopefully... |
13:00.58 |
raj12lnm |
So I will send another pull request with all
these changes late in night. :-) |
13:01.12 |
javampire |
you don't need to, just commit it and
push |
13:01.18 |
raj12lnm |
I mean in 6-7 hours. :-) |
13:01.20 |
javampire |
the same pull request will get them |
13:01.26 |
raj12lnm |
ok. |
13:01.40 |
raj12lnm |
javampire : what should be the scop of my GSOC
proposal. |
13:01.51 |
javampire |
just add a comment after done, then I get a
mail |
13:02.00 |
raj12lnm |
ok. |
13:02.13 |
javampire |
raj12lnm: adding all remaining primitives, and
possibly additionally working on wrapping libged |
13:02.32 |
raj12lnm |
javampire : I want to work on the proposal,
will you guide me regarding that ? |
13:02.34 |
javampire |
I already started that too, if you fetch my
changes you'll see |
13:02.50 |
raj12lnm |
Actually I have forked your repo. |
13:02.56 |
javampire |
well I'm not an official mentor, as you know I
hope |
13:03.22 |
javampire |
so for the burocratic part of it, please ask
Sean for help |
13:03.31 |
raj12lnm |
ok. |
13:03.45 |
raj12lnm |
sean is brlcad, right ? |
13:03.48 |
javampire |
yes |
13:04.22 |
raj12lnm |
javampire : I will work on this today night
and tommorow. ( I think weekends are best to work because of my
school. ) |
13:04.22 |
javampire |
I don't think he's around yet, it's too early
in his time-zone... |
13:04.33 |
raj12lnm |
javampire : ok. |
13:05.06 |
raj12lnm |
I am not worrying about the proposal yet. Let
me add one or two primitive. And then I can start with the
proposal. |
13:05.27 |
javampire |
sure, I welcome all help ! |
13:05.32 |
raj12lnm |
things that will add
weightage to my proposal |
13:05.39 |
javampire |
definitely |
13:05.55 |
raj12lnm |
javampire you could also become a mentor.
;-) |
13:06.17 |
javampire |
what would actually be exciting for
python-brlcad, is adding some display manager support |
13:06.26 |
javampire |
well I can only help on
python-brlcad |
13:06.30 |
javampire |
not the rest |
13:07.11 |
javampire |
raj12lnm: have you tried to use mged or archer
? |
13:07.15 |
raj12lnm |
javampire : Today the servers will also a get
down from 10:PM EST |
13:07.24 |
raj12lnm |
javampire I have not tried yet. |
13:07.36 |
javampire |
that would also be something to do |
13:07.49 |
javampire |
because we try to match what can be there
;-) |
13:07.53 |
raj12lnm |
I would want to work on wrapping the library
and additional things your require me t. |
13:08.41 |
javampire |
well the purpose of the whole exercise is to
make it easier to create 3D CAD models, and it's certainly easier
to code that if you actually try to create some models
:-) |
13:09.11 |
javampire |
then you know what are the problems, where you
need better tools |
13:09.43 |
javampire |
I'm in this project because I was not
satisfied with the current tools |
13:11.46 |
raj12lnm |
ok. javampire. |
13:12.35 |
raj12lnm |
My aim is to spend my summers in coding and
acquiring some skills related to python-coding and how different
types of languages talk with each other. :-) |
13:12.58 |
javampire |
I would say you should try to follow at least
one simple tutorial, and do at least the first steps of: http://brlcad.org/VolumeII-Introduction_to_MGED.pdf |
13:14.04 |
javampire |
coding is all nice, and perhaps good on
itself, but it becomes really useful only if you know why are you
doing what you're doing :-) |
13:14.22 |
raj12lnm |
javampire : ok I will, look at those
tutorial. |
13:14.53 |
javampire |
don't waste too much time on it, just do it
quickly so you see what you can do in mged |
13:15.21 |
javampire |
the end result is not that important but the
process, so you see how it is done currently |
13:16.11 |
javampire |
that's also important so you can actually test
the result of the primitives, otherwise how would you know if the
primitive written to the geometry DB is really accepted and
displayed correctly by BRL-CAD ? |
13:17.01 |
javampire |
the ultimate test of wrapping a primitive is
to save one using python in the geometry file, fire up mged and
check the primitive visually... |
13:18.02 |
javampire |
if you want to see what can be done, check the
examples/hilbert_3d.py, run it to generate a geometry file, and
then see the result using mged |
13:23.15 |
*** join/#brlcad raj12lnm
(~androirc@122.166.139.1) |
13:23.34 |
*** join/#brlcad witness___
(uid10044@gateway/web/irccloud.com/x-qjlutmnzduulfvgk) |
13:49.41 |
brlcad |
javampire: yeah, my question though was more
about "what might perfect look like" .. if you wrote a python
interface without any awareness of brl-cad, for example |
13:52.34 |
brlcad |
javampire: you certainly could be a mentor if
you want to be one |
13:57.38 |
javampire |
brlcad: there's no perfect interface, and it's
kind of futile to chase that |
13:57.55 |
javampire |
BRL-CAD interface is not bad, but hard to
explore |
13:58.34 |
brlcad |
heh |
13:58.38 |
javampire |
put the documentation in the code, and have
tools to extract and summarize |
13:59.09 |
brlcad |
it's not about chasing perfection, it's about
actively thinking about usability |
13:59.12 |
javampire |
make it easily searchable, and examples near
the code |
13:59.38 |
brlcad |
to see if there's any ways usability could be
made better, rather than just wrapping what the previous guy came
up with |
13:59.39 |
*** join/#brlcad kintel
(~kintel@unaffiliated/kintel) |
13:59.53 |
brlcad |
maybe it can't be easily better |
14:00.14 |
javampire |
I don't think there's any single thing which
will make it much easier to use |
14:00.17 |
brlcad |
(other than docs, but this was a question
about the actual syntax and commands for creating
geometry) |
14:00.45 |
javampire |
I'm currently thinking about a different
approach for building geometry |
14:01.00 |
brlcad |
do tell |
14:01.07 |
brlcad |
that's kind of exactly what I was asking
:) |
14:01.13 |
javampire |
like: if I want to build a table, I will not
start with fixing points in space for the edges |
14:01.39 |
*** join/#brlcad ries
(~ries@190.9.171.121) |
14:01.43 |
javampire |
but I will set the min/max length of the table
top, min/max length of the table height |
14:02.02 |
javampire |
I will want to be able to attach the legs to
the top |
14:02.10 |
javampire |
and the legs to earth |
14:02.53 |
brlcad |
that's basically parametric feature-based
editing |
14:03.02 |
javampire |
yes, something like that |
14:03.16 |
javampire |
but that can be built on top of what is
already there |
14:03.18 |
brlcad |
something on the horizon, but you actually
need a lot of stuff in place for that to work, which we don't quite
have yet |
14:03.40 |
javampire |
at the end you'll always need the full
geometry |
14:03.42 |
brlcad |
constraints being the big one, awareness of
where a surface exists, awareness of a 'face' |
14:04.09 |
javampire |
yes, and the whole thing is conceptually not
an easy thing |
14:04.37 |
javampire |
that's why I want to do a prototype in python,
it's much easier to write throw-away code there |
14:04.53 |
javampire |
I will experiment, and come back once I get
something reasonable |
14:05.01 |
brlcad |
nods, sounds
good |
14:05.10 |
brlcad |
did you want to be a gsoc mentor? |
14:05.28 |
brlcad |
don't know if we'll get enough
students/proposals, but you certainly could be one |
14:05.50 |
javampire |
well if it is enough if I sign up for helping
python-brlcad tasks, then I'm in - but in core BRL-CAD it's
unlikely I can help much |
14:06.14 |
javampire |
and about the paper-work the students need to
do I know nothing |
14:06.15 |
brlcad |
well, yeah, that would be the idea -- if there
were python-related proposals |
14:06.32 |
brlcad |
you wouldn't get involved with all
that |
14:06.40 |
javampire |
Raj is working on python-brlcad, submitted
already a patch |
14:06.52 |
brlcad |
just giving them advice about whatever python
project they're working, via irc/e-mail |
14:07.07 |
brlcad |
checking patches, commits, progress from time
to time |
14:07.24 |
javampire |
Raj will need help possibly with scoping the
project, and writing all up |
14:07.33 |
brlcad |
it's usually about an hour a day (on average
.. it's less most days, more during evaluations) |
14:07.50 |
brlcad |
so "maybe" |
14:08.38 |
javampire |
well I'm quite sure he will submit a proposal,
but he needs some guidance how to scope it to be accepted |
14:08.41 |
brlcad |
I'll keep it in mind and possibly call on you
if we get several fantastic proposals? |
14:09.25 |
javampire |
for the moment Raj is the only one I know to
be interested in this project, and he already submitted code as I
said |
14:09.27 |
brlcad |
helping him scope it, you're already mentoring
;) |
14:09.41 |
javampire |
well that's the problem, I'm also not sure how
to scope it |
14:09.58 |
brlcad |
the students need to take a first stab at
it |
14:10.06 |
javampire |
he already did :-) |
14:10.10 |
brlcad |
it ultimately is their proposal, they own the
idea |
14:10.13 |
javampire |
ok |
14:10.33 |
brlcad |
we just give them ideas and feedback on what
we think will be useful/doable |
14:11.02 |
javampire |
then I will communicate this :-) |
14:11.41 |
javampire |
what is the process to accept students, how
many will be accepted at all ? |
14:11.59 |
brlcad |
depends on how many we receive, their relative
quality |
14:12.19 |
javampire |
rough numbers ? |
14:12.19 |
brlcad |
but probably not more than we have
mentors |
14:12.23 |
javampire |
ok |
14:12.42 |
brlcad |
expecting 6-12 for brl-cad and 1-2 for our
three collaborating orgs |
14:12.53 |
javampire |
ok |
14:14.00 |
brlcad |
right now, looking like 16 max ... but I
HIGHLY doubt we'll get anywhere close to that |
14:15.52 |
javampire |
ok, that means the chances of accepting a
proposal are actually good, especially if associated with
code.. |
14:16.24 |
javampire |
I was thinking of creating a virtual machine
with python-brlcad set up on it |
14:16.59 |
javampire |
I know BRL-CAD has a virtual machine to be
used, what kind of VM image is it using ? |
14:18.42 |
javampire |
brlcad: this is the VM you recommend ?
http://sourceforge.net/projects/brlcad/files/BRL-CAD%20for%20Virtual%20Machines/ |
14:34.22 |
*** join/#brlcad TCD
(~TheCommie@152.78.235.20) |
15:35.29 |
*** join/#brlcad george
(6a33adcc@gateway/web/freenode/ip.106.51.173.204) |
15:37.57 |
*** join/#brlcad deemat
(~deemat@46.148.30.181) |
15:39.59 |
*** join/#brlcad jasleen
(~chatzilla@117.253.232.30) |
15:49.48 |
*** join/#brlcad ishwerdas
(~inderplus@117.199.107.187) |
17:09.09 |
*** join/#brlcad jasleen
(~chatzilla@117.253.227.101) |
17:25.23 |
maths22 |
brlcad: did you see that the commit went
through? |
17:28.20 |
brlcad |
maths22: I did but didn't know if you were
done |
17:48.22 |
maths22 |
I think I am... |
17:48.44 |
maths22 |
I am |
17:59.38 |
brlcad |
hehe, okay .. will give it a go in about an
hour then |
18:16.19 |
maths22 |
ok |
18:26.50 |
maths22 |
let me know what you need from mee |
18:26.58 |
maths22 |
r/mee/me |
20:07.42 |
*** join/#brlcad cwstirk
(~charlie@c-71-56-216-45.hsd1.co.comcast.net) |
20:49.39 |
*** join/#brlcad FreezingCold
(~FreezingC@135.0.41.14) |
21:42.34 |
*** join/#brlcad olenca
(~olenca@193.106.31.87) |
23:58.16 |
*** join/#brlcad javampire
(~ncsaba@p4FF70855.dip0.t-ipconnect.de) |