IRC log for #brlcad on 20140308

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)

Generated by irclog2html.pl Modified by Tim Riker to work with infobot.