| 00:11.20 | starseeker | hmm: http://jreinhardt.github.io/BOLTS/index.html |
| 00:27.13 | brlcad | starseeker: and that's why we need to be better at modular import/export |
| 00:27.45 | brlcad | our shape module is probably already better, as is that gpl proc-db that someone wrote a few years ago |
| 00:45.42 | *** join/#brlcad FLOSSrookie (~brian@107-200-34-111.lightspeed.tulsok.sbcglobal.net) | |
| 02:06.01 | kanzure | where are dll files installed on windows for brlcad? |
| 02:06.23 | kanzure | starseeker: i dunno if you saw, but i emailed him some comments about why using freecad-python is a bad idea |
| 02:06.38 | kanzure | starseeker: because you have to load opencascade/freecad's ui first in order to use anything in there. or the dependency on openscad. |
| 02:06.58 | kanzure | i'm writing a few cython wrappers at the moment actually. which is why i'm pondering how to support the windows install path. :) |
| 02:54.35 | Notify | 03BRL-CAD:starseeker * 57523 brlcad/trunk/src/proc-db/CMakeLists.txt: Adapt the Ayam implementation of the Cobb NURBS sphere to OpenNURBS and BRL-CAD. Creates a sphere (right now, only a unit sphere) using six NURBS patches rather than a revolved arc. |
| 02:55.31 | brlcad | kanzure: I believe the dll's reside in the folder with the binaries (as is customary with most windows applications, especially those that avoid the registry) |
| 02:56.19 | brlcad | starseeker: eww.. :) |
| 02:56.44 | brlcad | actually, would be a nice option to 'make' -- that's right up there with 'ell1' |
| 02:56.48 | kanzure | brlcad: python packages have an install process where they can compile to link against libraries. so you can pass an absolute path or just the name of the library. i am not sure how this works on windows. doesn't make sense. |
| 02:57.16 | kanzure | i guess users can edit $PYTHONPATH to refer to the C:\brlcad\dlls\ path |
| 02:57.20 | brlcad | presumably just the name of the library uses an rpath |
| 02:57.22 | kanzure | i mean %PYTHONPATH% |
| 02:57.25 | starseeker | brlcad: ? wireframe's better... |
| 02:57.38 | starseeker | mainly wanted for testing |
| 02:57.59 | brlcad | wireframe could be changed for revolved breps |
| 02:58.08 | kanzure | huh? wouldn't a revolved arc also have a wireframe? |
| 02:58.15 | brlcad | I get it, just data-wise, it's a bit of a pig |
| 02:58.23 | starseeker | yeah, a half circle - doesn't do much for users |
| 02:58.32 | starseeker | brlcad: that's why it's not the default :-) |
| 02:58.41 | brlcad | no reason we couldn't draw revolved isolines |
| 02:59.08 | brlcad | we're not (yet) drawing interior face detail, that's all that's missing |
| 02:59.24 | brlcad | old bspline code even had that, trivial to do |
| 02:59.49 | starseeker | The cobb form can stay in the proc-db - I needed a simple, non-degenerate test case for the step-g/g-step work to isolate pullback failures from topological mistakes |
| 03:00.25 | brlcad | kanzure: we do have runtime routines for finding our resources, if it's of any help |
| 03:01.35 | starseeker | it's not truly right yet - each Face is self-contained, instead of properly sharing 3D edges, but not too bad for a couple hours |
| 03:01.41 | kanzure | unfortunately i think the issue i am messing around with at the moment is a non-brlcad issue (maybe) |
| 03:03.09 | starseeker | might be worth thinking about options to the brep command when converting primitives - there are a number of scenarios where I can see it being desirable to be able to select between various well known representations in the conversion process |
| 03:03.45 | starseeker | not sure what the command UI would look like though... brep -T cobb sph.s brep.s ? |
| 03:04.18 | kanzure | for example, cython needs to use the brlcad headers during compile-time (cython compiles a python wrapper library, it's a long story), and now i need to figure out how to do that in a way that will work if a user does "pip install brlcad" to download the bindings from the python package index. |
| 03:04.55 | kanzure | i suppose i could vendorize brlcad header files. but that wont work if the installed brlcad version differs. hrm.. |
| 03:05.04 | brlcad | kanzure: for example, running something like: file exists [ file join [ bu_brlcad_root lib ] "libbu.a" ] will return 0 or 1 if that file exists |
| 03:05.46 | kanzure | echo $bu_brlcad_root |
| 03:05.53 | kanzure | this does not seem to be defined (yes i have brlcad installed) |
| 03:06.10 | brlcad | echo? |
| 03:06.17 | brlcad | that's an mged command |
| 03:07.09 | kanzure | i am making bindings, which means i can't call into an mged instance |
| 03:07.37 | brlcad | but you could invoke mged to find the library (prior to it being loaded) |
| 03:07.48 | brlcad | akin to "which mged" |
| 03:07.50 | kanzure | interesting |
| 03:07.58 | brlcad | it'd be something like this in full: /usr/brlcad/rel-7.22.0/bin/mged -c test.g "file exists \[ file join \[ bu_brlcad_root lib \] \"libbu.a\" \]" |
| 03:08.19 | brlcad | on windows, you replace lib with bin (or search both, use the first found) |
| 03:08.22 | kanzure | btw maybe i should move up a level in the stack here, i forget if you are strongly opposed to not using swig? |
| 03:09.11 | brlcad | opposed to not using swig? not particularly opposed if it's a solution that works and someone maintains it |
| 03:09.28 | brlcad | if you get something working, that's better than nothing |
| 03:10.01 | kanzure | one other option- that is much less involved- is to use python + ctypes, which is a default library provided by python |
| 03:10.13 | brlcad | there's nothing inherintly better about swig except for consistency to other languages |
| 03:10.17 | kanzure | but it would require a shared library with C functions exposing all of brlcad's beautiful guts |
| 03:10.31 | kanzure | some of the brlcad shared libraries seem to work with ctypes just fine. but not all? |
| 03:10.47 | kanzure | yeah, i think that consistency is very valuable |
| 03:11.10 | brlcad | all of our core libraries are C APIs, it's only the nurbs portion that is not and that's an opaque type from librt's perspective |
| 03:11.23 | kanzure | oh really? |
| 03:11.38 | kanzure | so, exposing the nurbs stuff isn't super important since librt wraps it |
| 03:11.42 | kanzure | right? |
| 03:12.09 | brlcad | librt wraps it opaquely |
| 03:12.14 | Notify | 03BRL-CAD:phoenixyjll * 57524 brlcad/trunk/src/libbrep/boolean.cpp: Also check degree (order) and knots for NURBS surface equality. |
| 03:12.35 | brlcad | so IF you need opennurbs, you probably will need something non-opaque but that can be a separate binding |
| 03:12.45 | kanzure | i don't think i absolutely need opennurbs |
| 03:12.57 | kanzure | i'm willing to let brlcad do all of the interesting work |
| 03:13.07 | kanzure | and if someone wants direct access to opennurbs then they should just wrap opennurbs |
| 03:13.17 | brlcad | basically librt has a few functions that take an ON_Brep pointer ... but that is the entire extent of what it knows API-wise |
| 03:13.38 | kanzure | cool, well this makes my job way easier |
| 03:13.41 | brlcad | it's an empty struct type to C applications, it's a C++ class to everything else |
| 03:15.05 | kanzure | brlcad: which librt functions should i focus on first? i don't know the practical difference between db_create db_create_inmem db_close_client db_close etc. |
| 03:16.30 | brlcad | I'd actually suggest starting with libwdb |
| 03:16.43 | brlcad | it's a simple api just for creating geometry |
| 03:19.29 | brlcad | just a couple dozen functions |
| 03:20.23 | brlcad | simple example in C: http://sourceforge.net/p/brlcad/code/HEAD/tree/brlcad/trunk/src/proc-db/wdb_example.c |
| 03:21.09 | brlcad | "brlman libwdb" for more functions or include/wdb.h to see the header |
| 03:22.05 | kanzure | cool, thank you |
| 03:22.25 | brlcad | another approach would be libged, which is basically most of mged's command set as argc/argv-style functions |
| 03:22.35 | brlcad | but libwdb would be a better proof-of-concept |
| 03:23.31 | brlcad | librt is the real workhorse that everything is built on, but there are hundreds of functions that interwork in complex ways |
| 03:23.49 | brlcad | wdb is the way to go ;) |
| 03:24.08 | brlcad | more examples: http://sourceforge.net/p/brlcad/code/HEAD/tree/brlcad/trunk/src/proc-db/ and http://sourceforge.net/p/brlcad/code/HEAD/tree/brlcad/trunk/src/shapes/ |
| 03:24.20 | kanzure | this is way easier than the adventure i was gearing up to do |
| 03:26.45 | kanzure | hmm tcl-dev didn't give me tcl.h |
| 03:27.26 | kanzure | ah it's tcl/tcl.h |
| 03:27.40 | brlcad | hm... it'd be really intersting to see what that wdb_example looks like as a simple python script |
| 03:29.29 | brlcad | note that our example uses our vmath.h macro header and we also define some basic types like vect_t and point_t, but note those are simple C types |
| 03:29.31 | kanzure | oh man, i should have listened to you sooner. i did librt and now i'm trying to find something in here to prove that it works. |
| 03:29.46 | kanzure | i dunno if anyone will be upset if i miss one or two macros |
| 03:29.46 | brlcad | in librt? |
| 03:29.49 | kanzure | yes |
| 03:30.18 | brlcad | ponders |
| 03:30.36 | kanzure | curve = librt.rt_curve() |
| 03:30.48 | kanzure | pokes his curve |
| 03:31.34 | kanzure | yeah okay i'll work on libwdb |
| 03:31.47 | kanzure | and then translate wdb_example.c to wdb_example.py |
| 03:31.52 | brlcad | maybe rt_prep_timer() and rt_get_timer() |
| 03:32.13 | brlcad | simple timing functions, first is void (void), so that'll be easy |
| 03:33.14 | brlcad | second takes a special string type of ours, but I believe you can pass NULL for both args |
| 03:33.27 | kanzure | i should have clarified that i am cheating and only did rtgeom.h |
| 03:33.32 | brlcad | return type is elapsed cpu seconds |
| 03:33.36 | brlcad | ahhhh |
| 03:33.59 | kanzure | i am using this generator but the final wrappers will probably be manual (this generated code makes zero sense) |
| 03:34.14 | brlcad | well, that's a problem - it doesn't declare any functions directly |
| 03:34.21 | kanzure | hm? |
| 03:34.23 | brlcad | does it pick up sub-headers? |
| 03:34.31 | kanzure | you mean included headers? |
| 03:34.35 | brlcad | rtgeom.h doesn't declare any functions, just a lot of types |
| 03:34.42 | brlcad | but it includes several headers that declare functions |
| 03:35.29 | kanzure | oh, maybe that explains why i only saw rt_geometry_related_structs |
| 03:35.30 | kanzure | right then |
| 03:35.31 | brlcad | bu.h is one of them, lots of simple bu functions you could call to show it's working |
| 03:35.51 | brlcad | could try calling bu_gettime() |
| 03:36.30 | brlcad | it returns an int64 for ms time since epoch, so call it twice, subtract, you got elapsed ms |
| 03:36.42 | kanzure | i don't seem to have a /usr/brlcad/libwdb.so |
| 03:36.46 | brlcad | or even more simple, bu_log("test\n"); |
| 03:37.12 | brlcad | probably because it's in the lib dir with the other libs? :) |
| 03:37.24 | brlcad | /usr/brlcad/lib/libwdb.so |
| 03:41.51 | kanzure | what is db_ident ? |
| 03:47.41 | kanzure | ah, lesson learned: favor absolute paths |
| 04:01.02 | kanzure | WARNING: Could not parse macro "#define BU_LIST_INIT |
| 04:01.24 | kanzure | hmm well this is going to make rewriting wdb_example.c a little bit more difficult |
| 04:02.59 | kanzure | can i just use bu_list_new() instead? |
| 04:05.09 | kanzure | and where is wdb_fopen defined? |
| 04:09.01 | kanzure | include/raytrace.h:RT_EXPORT extern struct rt_wdb *wdb_fopen(const char *filename); |
| 04:13.24 | kanzure | i've added "struct rt_wdb *wdb_fopen(const char *);" to include/wdb.h hope nobody hates me |
| 04:20.11 | *** join/#brlcad FLOSSrookie (~brian@107-200-34-111.lightspeed.tulsok.sbcglobal.net) | |
| 04:29.18 | brlcad | interesting, I wonder what about BU_LIST_INIT is causing it trouble |
| 04:29.32 | brlcad | yes, you don't need to call BU_LIST_INIT |
| 04:31.18 | brlcad | and that's fine about adding it .. that function doesn't belong in raytrace.h -- just nobody has bothered to move it from librt to libwdb |
| 04:31.26 | FLOSSrookie | What specifically does the brlcad developers expect to gain by moving the software to a new gui? Is there some functionality which cannot be created without it? |
| 04:31.28 | brlcad | there's a few functions like that which don't belong in librt |
| 04:31.38 | FLOSSrookie | "What specifically do ..."^ |
| 04:32.02 | brlcad | FLOSSrookie: depends what you mean by the new gui and which year |
| 04:32.15 | brlcad | development of a GUI is something that is passively worked over several years |
| 04:32.27 | brlcad | we have several other core activities that receive considerably more attention |
| 04:32.30 | FLOSSrookie | I recall a discussion of moving it to QT and it would be "a game like interface" |
| 04:33.02 | brlcad | oversimplifies it, but yes that is the long term direction |
| 04:33.24 | FLOSSrookie | brlcad: May I ask what is to be gained? |
| 04:33.25 | brlcad | though the emphasis is more on a thin client architecture, not so much on "qt" |
| 04:33.55 | brlcad | oof, that's a LONG discussion, but I can hit some of the highlights |
| 04:34.35 | brlcad | one of the biggest problems we have is one of complexity |
| 04:34.58 | brlcad | we have approximately 1000 "features" |
| 04:35.13 | brlcad | and that's probably a low estimate |
| 04:36.23 | brlcad | mged as it is currently designed presents maybe half of those features in a fairly unintuitive and often completely unlearnable manner |
| 04:37.50 | brlcad | of just the 400 or so features that are exposed to users in some usable useful way, the interface fails and presenting those features, making the system be discoverable, making it even be possible to find what you might be looking for |
| 04:38.26 | brlcad | our best users often learn by asking someone else that knew how to read the source code who could tell them the magic recipe |
| 04:38.45 | brlcad | these are predominantly usability interface failings |
| 04:39.48 | brlcad | improving our usability (across the board, not just our GUI) is an active area of focus for that and other reasons |
| 04:40.39 | brlcad | this highlights our overall project priorities in a greater context: http://brlcad.org/BRL-CAD_Priorities.png |
| 04:41.51 | brlcad | FLOSSrookie: does that answer your question? |
| 04:42.28 | FLOSSrookie | brlcad: Yes, it does. Thank you. Now I understand. :) |
| 04:45.07 | brlcad | I mean hell, we probably have everything one needs to implement a *command-line* scriptable version of Photoshop 1.0 ... but nobody would know that exploring mged (or care these days, there are far better tools) |
| 04:48.40 | FLOSSrookie | brlcad: On the geometry services part of that link it says "scriptable command framework." What scripting language will be used? |
| 04:48.40 | FLOSSrookie | brcad: So, if I start work on a project now will it still be usable in a future version? |
| 04:50.58 | brlcad | in rough order, our current development priorities are on 1) hybrid representation support (NURBS, Implicit to NURBS, NURBS CSG, NURBS tessellation, shaded displays, robust conversion, performance), 2) STEP import/export (robust conversion, robust facetization, faithful round-trip with commercial systems), 3) parametric constraints (geometry associations, parametric values, tangency, equations), and 4) GUI (usability, infrastructure work, ref |
| 04:51.54 | brlcad | somewhere in there performance work is implicit, getting our ray tracing engine and other processing-intensive bits leveraging memory coherency and gpgpu techniques for high performance desktop needs |
| 04:52.03 | kanzure | wm_hd.l = bu.bu_list() |
| 04:52.04 | kanzure | TypeError: incompatible types, struct_bu_list instance instead of struct_bu_list instance |
| 04:52.06 | brlcad | the wiki pages are woefully out of day |
| 04:52.07 | brlcad | date |
| 04:52.15 | kanzure | wdb.mk_addmember("box.s", bu.bu_list(), (ctypes.c_double * 16)(), ord("u")) |
| 04:52.16 | kanzure | mk_addmember() op=x6e6530c0 is bad |
| 04:52.33 | kanzure | (the ctypes thing there is just some stuff that will be fixed when i pretty up the wrapperlib) |
| 04:52.59 | kanzure | what does "is bad" mean? |
| 04:53.24 | brlcad | FLOSSrookie: the scripting engine is intended to support multiple scripting languages through a common binding layer, built on our libged command library, initially supporting Tcl, POSIX Shell (ksh), and probably Lisp or Python (or both) |
| 04:53.49 | brlcad | maybe perl if tom has his way |
| 04:55.04 | brlcad | FLOSSrookie: and yes, if you start now, it will be usable in a future version -- we take pride and have very tight controls in place on how fast we change things on users (and external developers) |
| 04:55.52 | brlcad | kanzure: heh, don't know about that TypeError ... maybe one is a pointer and one is not? |
| 04:56.26 | brlcad | the .l members are usually not pointers |
| 04:56.44 | FLOSSrookie | Okay, good. :) |
| 04:57.54 | brlcad | FLOSSrookie: are you looking to get into development, use, or both? |
| 05:02.47 | FLOSSrookie | It all depends. Right now I am on a steep learning curve. I was always good with computer from the end user perspective but just now peering into the development perspective of computing. |
| 05:02.47 | FLOSSrookie | I am learning much about programming languages and so forth and finally have a basic set which I think would be superb to learn. |
| 05:02.48 | FLOSSrookie | I think brlcad is very neat and I would like to be able to understand not only software engineering but CAD as well and then maybe follow through with an actual build of a model. Feel pretty good if I could accomplish such a thing. The challenge could be a very valuable educational tool. |
| 05:02.58 | FLOSSrookie | with computers^ |
| 05:06.28 | FLOSSrookie | And if there is a feature which I want in brlcad I will then put it in there. :) |
| 05:06.28 | *** join/#brlcad yukonbob (~bch@dsl081-162-155.sea1.dsl.speakeasy.net) | |
| 05:06.36 | yukonbob | hello #brlcad |
| 05:17.50 | kanzure | brlcad: struct_bu_list should be compatible between libwdb and libbu right? |
| 05:35.26 | brlcad | kanzure: I have no idea what "struct_bu_list" means |
| 05:35.40 | brlcad | is that our "struct bu_list" structure or a "struct bu_list *" pointer? |
| 05:36.10 | brlcad | I could see it easily being either |
| 05:36.24 | brlcad | or both even if it's a simple header parser |
| 05:36.28 | kanzure | it's not the pointer |
| 05:36.40 | kanzure | i think the problem is that i don't have the BU_LIST_INIT macro |
| 05:38.02 | brlcad | all of the wdb functions that take a struct bu_list take a pointer, but all of the struct members are non-pointers |
| 05:38.26 | kanzure | struct bu_list seems to have a struct bu_list *forw |
| 05:38.34 | brlcad | yep |
| 05:38.42 | kanzure | forw is a struct member |
| 05:38.46 | kanzure | and it looks like a pointer |
| 05:39.39 | brlcad | INIT is just ->forw = ->back = some_pointer; ->magic = special_32bit_number; |
| 05:40.02 | kanzure | magic is set to 0 at the moment. so i don't know if i am getting that actual magic number. |
| 05:40.10 | brlcad | 0 would be a problem |
| 05:40.33 | brlcad | that basically will tell the code it's unset/uninitialized/invalid |
| 05:40.44 | brlcad | anything using it will halt the application |
| 05:41.12 | brlcad | memory integrity checks are pervasive |
| 05:41.15 | kanzure | where is BU_LIST_HEAD_MAGIC defined? |
| 05:41.29 | brlcad | magic.h |
| 05:42.17 | brlcad | enwanders |
| 06:10.19 | *** join/#brlcad FLOSSrookie (~brian@107-200-34-111.lightspeed.tulsok.sbcglobal.net) | |
| 06:25.54 | FLOSSrookie | In the process of learning brlcad would it also be wise to learn a programming language with linear algebra features? Would it be useful when engineering? |
| 06:29.17 | FLOSSrookie | Like Octave? |
| 06:38.55 | kanzure | what does it mean if wmember.l.forw is always a different address :( |
| 06:39.00 | kanzure | i think this is bad |
| 06:59.57 | *** part/#brlcad greenride (~purplehaz@71.202.102.140) | |
| 07:00.39 | *** join/#brlcad vladbogo (~vlad@188.25.237.111) | |
| 07:09.33 | kanzure | brlcad: i am getting, "db_recurse(ball.s): matrix does not preserve axis perpendicularity. |
| 07:09.38 | kanzure | "bad matrix" |
| 07:17.03 | *** join/#brlcad d_rossberg (~rossberg@66-118-151-70.static.sagonet.net) | |
| 07:57.55 | d_rossberg | vladbogo: did you already looked at Tcl_CreateEventSource()? |
| 08:02.49 | vladbogo | d_rossberg: no I haven't looked at Tcl_CreateEventSource |
| 08:06.13 | d_rossberg | it should be possible to hook in your dm_qt.dm_processEvents() into the TCL event loop with this function |
| 08:09.05 | vladbogo | I'll take a look and see what I can find. Thanks for the tip |
| 08:11.04 | vladbogo | I am currently trying to solve memory leaks |
| 08:43.34 | kanzure | i wonder if wdb_example.c is broken. that would explain a lot.. |
| 08:43.53 | kanzure | my .g file generated through python is correct, but the mk_comb result has a bad matrix. |
| 08:44.22 | kanzure | http://diyhpl.us/~bryan/irc/wdb_example.py |
| 09:20.22 | *** join/#brlcad vladbogo (~vlad@188.25.237.111) | |
| 09:20.22 | *** join/#brlcad KimK (~Kim__@wsip-184-176-200-171.ks.ks.cox.net) | |
| 09:20.22 | *** join/#brlcad ejno (~ejno@unaffiliated/kazaik) | |
| 09:32.59 | Notify | 03BRL-CAD:phoenixyjll * 57525 brlcad/trunk/src/libbrep/boolean.cpp: Improve inside/outside test for the cases with overlap surfaces. |
| 09:55.36 | Notify | 03BRL-CAD Wiki:Phoenix * 6115 /wiki/User:Phoenix/GSoc2013/Reports: /* Week 13 */ |
| 10:07.15 | *** join/#brlcad Ch3ck_ (~Shadownet@195.24.220.16) | |
| 10:47.41 | *** join/#brlcad Izak__ (~Izak@195.24.220.16) | |
| 11:35.16 | *** join/#brlcad FLOSSrookie (~brian@107-200-34-111.lightspeed.tulsok.sbcglobal.net) | |
| 13:10.05 | *** join/#brlcad Izak__ (~Izak@195.24.220.16) | |
| 14:01.34 | *** join/#brlcad PrezKennedy (~DarkCalf@173.231.40.99) | |
| 14:48.04 | *** join/#brlcad kesha (~kesha@49.249.17.188) | |
| 14:50.32 | *** join/#brlcad PrezKennedy (~DarkCalf@173.231.40.99) | |
| 16:06.00 | brlcad | kanzure: just did a valgrind check and wdb_example is passing clean |
| 16:06.21 | kanzure | brlcad: thanks |
| 16:07.12 | kanzure | brlcad: i tried playing around with bu_list_new() and mk_pipe_init() as an alternative to BU_LIST_INIT() because those functions seemed to use the macros. |
| 16:07.48 | kanzure | brlcad: but no luck. the .g output of this script is valid and i can see a box and sphere in mged but "draw box_n_ball.r" gives me an error about a matrix being wrong. |
| 16:08.42 | brlcad | I saw that in your current example, calling mk_pipe_init() .. interesting :) |
| 16:09.04 | kanzure | i figured it was easier than rebuilding brlcad for the moment |
| 16:11.49 | brlcad | you list initialization looks fine |
| 16:11.52 | kanzure | brlcad: http://diyhpl.us/~bryan/irc/brlcad-python-ctypes-demo.zip |
| 16:12.57 | brlcad | a bad matrix indicates that a bad member is being added |
| 16:12.59 | kanzure | btw wdb_close was also not defined in wdb.h for some reason |
| 16:13.29 | kanzure | i'm pretty sure the problem is with how i'm passing around or defining wm_hd, wm_hd.l, etc. |
| 16:14.41 | kanzure | if you want to poke at this, open up a python console and do: import wdb, bu, rtgeom, ctypes |
| 16:15.55 | kanzure | the ctypes module provides some nifty things like ctypes.addressof() ctypes.byref() and there's also wdb.POINTER(wdb.struct_whatever)(struct_whatever_instance) |
| 16:16.52 | brlcad | I think wdb.mat_t() is the culprit |
| 16:17.13 | brlcad | presumably, that's creating a mat_t ... which is never initialized |
| 16:17.23 | brlcad | pass NULL |
| 16:17.39 | brlcad | (this is the third arg to mk_addmember) |
| 16:18.31 | brlcad | alternatively, you'll need to set that wdb.mat_t() to at least an identity matrix (a zero matrix would be invalid too) |
| 16:19.22 | brlcad | actuallly really nifty seeing libwdb and librt calls wrapped in python like that! |
| 16:24.04 | kanzure | holy hell you're right |
| 16:24.06 | kanzure | it works :) |
| 16:24.42 | kanzure | switch wdb.mat_t() to wdb.NULL then comment out line 3481 of wdb.py |
| 16:24.58 | kanzure | (note there's two wdb.mat_t() becaues of the two mk_addmember calls) |
| 16:26.48 | brlcad | awesome |
| 16:27.55 | kanzure | updated: http://diyhpl.us/~bryan/irc/brlcad-python-ctypes-demo.zip |
| 16:28.16 | Notify | 03BRL-CAD:brlcad * 57526 brlcad/trunk/TODO: review proc-db for promotion to src/shapes |
| 16:45.46 | Notify | 03BRL-CAD:brlcad * 57527 brlcad/trunk/src/util/dsp_add_t.cpp: more 'may be used unitialized' warnings due to try/catch block, reordered/separated for readability |
| 16:46.24 | brlcad | hm, can't get the dylib to load on mac |
| 16:49.16 | brlcad | ahh, crummy |
| 16:49.42 | brlcad | the python binary is 32-bit, so it won't load our 64-bit libraries |
| 16:51.46 | brlcad | hm, the plot thickens.. it's a universal binary so there's also a 64bit version, but it's somehow deciding to run the 32-bit one |
| 16:55.00 | brlcad | looks like it's trying now, segfaults |
| 16:58.16 | Notify | 03BRL-CAD:brlcad * 57528 brlcad/trunk/src/proc-db/CMakeLists.txt: mark which proc-db seem to be developmental test programs and which actually create some geometry, something potentially useful to a non-developer. don't install the development apps. |
| 16:58.19 | brlcad | awesome, that just might finally get us underneath the 400 app mark |
| 17:03.29 | *** join/#brlcad kesha_ (~kesha@49.249.8.110) | |
| 17:17.47 | kesha_ | brlcad: If I do rt some-obj in mged then it raytracing fails showing http://paste.kde.org/p446ae456/ , but if I do File>Raytrace>Raytrace, then the raytrace completes successfully. Why so ? |
| 17:24.32 | kesha_ | It happened with other model I tried. I think I have wrongly understood usage of rt |
| 17:24.51 | kesha_ | rt [options] [-- objects] |
| 17:50.06 | Notify | 03BRL-CAD:tbrowder2 * 57529 (brlcad/trunk/misc/auto-man-page/BIN_OPT_ARG_ANALYSIS.txt =================================================================== and 2978 others): add initial bin opt arg analysis per Sean's idea |
| 18:19.04 | Izak__ | brlcad: How do you think I can change the default orientation of the heart ? |
| 18:35.01 | Notify | 03BRL-CAD:tbrowder2 * 57530 brlcad/trunk/misc/auto-man-page/BIN_OPT_ARG_ANALYSIS.txt: rename section |
| 18:40.42 | ``Erik | "You can't remove this! It's a load-bearing hack!" |
| 18:44.08 | brlcad | kesha_: File->Raytrace is going to raytrace whatever is drawn, similar to just issuing the "rt" command inside mged without any object names |
| 18:44.24 | brlcad | whether either succeeds depends on what you tell it to raytrace |
| 18:44.39 | brlcad | I suggest running rt outside of mged until you're comfortable with what it all means |
| 18:45.06 | brlcad | use mged to explore the objects, e.g., mged -c file.g tops |
| 18:45.09 | brlcad | mged -c file.g ls |
| 18:45.15 | brlcad | rt file.g some_top_object |
| 18:45.29 | brlcad | rt file.g some_ls_object |
| 18:46.08 | brlcad | Izak__: you define the orientation with your equations in prep() and shot() |
| 18:46.28 | brlcad | Izak__: basically, you have your Y and your Z swapped |
| 18:46.52 | brlcad | (somewhere) |
| 18:47.20 | brlcad | more than likely, in the big polynomail expansion |
| 18:48.53 | Izak__ | So need to fix prep() and shot() ? |
| 19:02.12 | brlcad | Izak__: I don't know |
| 19:02.42 | brlcad | you have to find where you specified x/y/z, make sure they are right for +Z being up |
| 19:03.47 | brlcad | if you used this implicit equation, then that should be +Z is up correctly: http://mathworld.wolfram.com/HeartSurface.html |
| 19:03.57 | brlcad | rather, either of the two on that page |
| 19:05.02 | Izak__ | I think I know where the problem comes from |
| 19:05.03 | brlcad | get any of those coefficients wrong or flipped in sign, and it'll be flipped |
| 19:05.37 | Izak__ | True, I swapped Y and Z in the implicit equation |
| 19:06.21 | Izak__ | and 9/80Z^3 has to be 9/80Y^2 |
| 19:07.28 | Izak__ | fixing these |
| 19:17.44 | brlcad | should be -9/80Y^2Z^3 |
| 19:41.44 | Izak__ | O_ops: brlcad: Please can you give the 'rt' command you gave on Friday. |
| 19:43.10 | brlcad | ~lotgs |
| 19:43.12 | brlcad | ~logs |
| 19:43.12 | infobot | All conversations are logged to http://infobot.rikers.org/%23brlcad/ Lines starting with spaces are not logged. Logs are updated daily. |
| 19:43.41 | brlcad | running "/last rt" might help you |
| 19:44.33 | Izak__ | Okay thanks |
| 19:46.37 | brlcad | you should be an rt pro by now... :) |
| 19:47.49 | brlcad | i don't recall what it is we talked about five days ago, but then you're not being very specific |
| 20:08.31 | kanzure | brlcad: i'm confused, why were you trying on a mac? is it your main dev machine? |
| 20:37.02 | starseeker | brlcad: uh... did you delete brep_cobb? |
| 20:39.03 | Notify | 03BRL-CAD:starseeker * 57531 brlcad/trunk/src/proc-db/CMakeLists.txt: Add brep_cobb back in |
| 20:39.54 | Notify | 03BRL-CAD Wiki:Vladbogolin * 6116 /wiki/User:Vladbogolin/GSoC2013/Logs: /* Week 13 */ |
| 20:44.09 | *** join/#brlcad mpictor (~mark@c-67-177-102-131.hsd1.in.comcast.net) | |
| 20:45.04 | brlcad | kanzure: I primarily due dev on mac, linux, and bsd, regularly switching between them all for various purposes and tools |
| 20:45.12 | brlcad | starseeker: not intentionally |
| 20:45.12 | kanzure | ah cool |
| 20:45.20 | kanzure | well, i'll try to get it working on mac osx |
| 20:45.23 | brlcad | s/due/do/ |
| 20:45.45 | kanzure | i need to submit a patch for wdb.h changes. do you guys accept git diff --patch output from the git-svn bridge? |
| 20:45.58 | brlcad | if it applies with patch -i -p0, sure |
| 20:46.19 | kanzure | oh wait, i have svn commit access. neat. |
| 20:46.24 | brlcad | or that ;) |
| 20:46.32 | brlcad | what'd you have to change? |
| 20:46.51 | kanzure | wdb_fopen wdb_close should be exposed through wdb.h |
| 20:47.00 | brlcad | ahh |
| 20:47.12 | brlcad | they're not because they're not (yet) technically in libwdb |
| 20:47.22 | brlcad | i.e., their function definition is actually in src/librt (boo hiss) |
| 20:47.25 | kanzure | but they get linked into libwdb? |
| 20:47.40 | brlcad | depends on the platform, how library dependencies are resolved |
| 20:47.45 | kanzure | "poorly" |
| 20:48.01 | brlcad | might be the reason the mac is crashing actually |
| 20:48.11 | kanzure | you will have to rebuild the bindings for mac |
| 20:48.16 | brlcad | checks nm |
| 20:48.23 | kanzure | i'm sorry i didn't make this easier, i'm planning on fixing things and making it cross-platform later today |
| 20:48.43 | brlcad | yep, not in there |
| 20:49.05 | kanzure | i didn't check if wdb_close was necessary anyway |
| 20:49.12 | brlcad | no worries, i knew it was proof of concept devmanship |
| 20:49.51 | brlcad | quick sed-replacement of all the /usr/brlcad/lib paths was easy enough |
| 20:50.09 | brlcad | had to replace .so with .dylib too, of course |
| 20:51.06 | kanzure | are you still getting a segfault ? |
| 20:51.37 | brlcad | haven't changed anything since I last tried, so I'd hope so :) |
| 20:56.36 | kanzure | so mac comes with a 32-bit version of python on a 64-bit system? |
| 21:02.17 | Ch3ck_ | brlcad: I just wish to clarify if the centrepoint of every object starts at 0,0,0 |
| 21:02.46 | Ch3ck_ | so if I could determine the centrepoint of the bounding box from then I could determine the translation which will be pulled |
| 21:09.09 | Notify | 03BRL-CAD:starseeker * 57532 brlcad/trunk/src/conv/step/g-step/CMakeLists.txt: Start figuring out what to do about combs. |
| 21:17.04 | Ch3ck_ | since i think every object originally starts at 0,0,0 |
| 21:17.37 | Ch3ck_ | before its being translated so I could easily get the translation after computing the centrepoint from the AABB |
| 21:29.58 | Notify | 03BRL-CAD:iiizzzaaakkk * 57533 brlcad/trunk/src/librt/primitives/hrt/hrt.c: Correcting the implicit equation of the heart in rt_hrt_shot() |
| 21:30.43 | Notify | 03BRL-CAD Wiki:NyahCh3ck20 * 6117 /wiki/User:NyahCh3ck20/GSoc2013/Coding_Repor: /* Sept 09 - Sept 15 */ |
| 21:31.07 | Izak__ | brlcad : Getting better heart shape from rt. Will upload picture to logs. |
| 22:03.05 | Notify | 03BRL-CAD:carlmoore * 57534 (brlcad/trunk/TODO brlcad/trunk/doc/docbook/presentations/en/brlcad-app-devel.xml and 23 others): fix spelling; remove trailing blanks/tabs |
| 22:04.51 | brlcad | kanzure: it's a universal binary (meaning it has multiple compilations embedded into one binary) |
| 22:05.11 | brlcad | the default is /Library/Frameworks/Python.framework/Versions/Current/bin/python which is 32-bit only for some reason |
| 22:05.55 | brlcad | /usr/bin/python is universal, has 64-bit and invokes it correctly (but then segfaults) |
| 22:06.20 | brlcad | confirmed with: arch -x86_64 /usr/bin/python wdb_example.py |
| 22:06.30 | brlcad | which ensures which binary in the universal to run |
| 22:06.47 | kanzure | what about forcing 32-bit ? |
| 22:07.16 | brlcad | Ch3ck_: currently, the centerpoint of every object is not at 0,0,0 .. it's wherever it's defined |
| 22:07.38 | brlcad | kanzure: that would just be letting the /Library one run, but then it fails to load the .dylibs because they are incompatible |
| 22:08.04 | brlcad | our libs default to 64-bit on 64-bit-capable systems, so I'd have to recompile |
| 22:08.15 | brlcad | or we'd have to produce universal libs/bins |
| 22:08.51 | kanzure | i'd like to try to make this work without upstream changes in brlcad because then if anyone has a distribution with old brlcad it will still work (hopefully) |
| 22:09.23 | brlcad | Ch3ck_: but I think you have the right idea, that you would "move" an object such that it's bounding box center is at 0,0,0 |
| 22:09.40 | brlcad | Ch3ck_: it's just not right to "think every object originally starts at 0,0,0 .. it starts anywhere |
| 22:09.42 | kanzure | (i think the wdb_fopen issue can be tempfixed by pulling it in from the raytracer maybe) (but i'll still post a diff in a bit) |
| 22:10.14 | brlcad | yeah, that would definitely work, just by dloading librt in addition to libwdb |
| 22:18.07 | Ch3ck_ | brlcad, well i just wanted a way to be able to determine the translation from its original location using its AABBs centrepoint |
| 22:18.52 | Ch3ck_ | well based on its centrepoint how do I know its original centrepoint so as to extrapolate the translation? or is there another method to do this? |
| 22:31.38 | *** join/#brlcad kesha_ (~kesha@49.249.8.110) | |
| 22:46.22 | Notify | 03BRL-CAD Wiki:IIIzzzaaakkk * 6118 /wiki/User:Izak/GSOC_2013_logs: /* September 9th to September 14th */ |
| 22:47.27 | Notify | 03BRL-CAD Wiki:IIIzzzaaakkk * 6119 /wiki/User:Izak/GSOC_2013_logs: /* September 9th to September 14th */ |
| 22:48.08 | Izak__ | brlcad: ``Erik: Can yo watch the heart movie on this link http://brlcad.org/~Izak/Heart.mpg |
| 22:55.44 | kanzure | was the git-svn bridge reset? i don't see some of the old commit ids in the master branch. |
| 22:57.28 | Izak__ | s/yo/you |
| 23:07.14 | kanzure | 16:04 < jrayhawk> Yeah, the SVN URL changed. |
| 23:07.14 | kanzure | 16:05 < jrayhawk> which would qualify as a major change to the git-svn setup. |
| 23:07.14 | kanzure | 16:05 < jrayhawk> So all the hashes are going to be different as a result of the commit messages. |
| 23:07.21 | kanzure | 16:06 < jrayhawk> That could've been avoided if the git-svn setup had included just the revision and not the repository URL in the commit message. |
| 23:40.32 | Notify | 03BRL-CAD:iiizzzaaakkk * 57535 brlcad/trunk/src/librt/primitives/hrt/hrt.c: Correcting rt_hrt_norm to reflect the right implicit heart equation |
| 23:50.17 | Notify | 03BRL-CAD:iiizzzaaakkk * 57536 brlcad/trunk/src/librt/primitives/hrt/hrt.c: More corrections to the implicit equation |
| 23:55.26 | *** join/#brlcad FLOSSrookie (~brian@107-200-34-111.lightspeed.tulsok.sbcglobal.net) | |