| 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) | |