| 00:02.17 | *** join/#brlcad kunigami (~kunigami@loco-gw.ic.unicamp.br) | |
| 01:41.26 | abhi2011 | starseeker: is the header simphysics.h not required to be mentioned in the CMakeLists.txt file for libged ? |
| 01:42.18 | abhi2011 | I am trying to add a new source and header in the simulate command, and I think only the cpp file needs to be included in the libged/CMakeLists.txt file |
| 01:42.23 | abhi2011 | at SET(ged_ignore_files simulate/simphysics.cpp simulate/simulate.c) |
| 01:43.50 | abhi2011 | so I ll change it to SET(ged_ignore_files simulate/simphysics.cpp simulate/simulate.c simulate/simcollisionalgo.cpp simulate/simcollisionalgo.h) |
| 03:14.02 | brlcad | abhi2011: how'd that new render animation turn out? |
| 03:14.26 | brlcad | was showing a bunch of folks your previous animation earlier this week, they love it! :) |
| 03:14.39 | abhi2011 | yes it turned out fine |
| 03:14.49 | abhi2011 | I ll make a movie over the night today :) |
| 03:15.42 | abhi2011 | pentium dual core :P |
| 03:25.14 | ``Erik | abhi: if you have something scriptable you can give us, we can throw a LOT of cpu into making you up a movie |
| 03:26.23 | ``Erik | like a stack of 16 core xeons :) |
| 03:54.14 | abhi2011 | oh wow! |
| 03:54.25 | abhi2011 | umm but u wud need bullet installed and working too |
| 03:54.50 | abhi2011 | which reminds me, does the simulate command work on any other system correctly |
| 03:55.21 | abhi2011 | also I have got a database and 2 tcl scripts |
| 03:55.45 | abhi2011 | so I ll put these in the samples and tclscripts folders if i want to share it ? |
| 03:59.43 | abhi2011 | well database not needed actually, since the script can be run from a new database and creates everything |
| 04:00.23 | abhi2011 | right, so i ll give clean up the script and pastebin it for now |
| 05:02.56 | CIA-133 | BRL-CAD: 03abhi2011 * r46728 10/brlcad/trunk/src/libged/simulate/ (simcollisionalgo.cpp simcollisionalgo.h): Added 2 files for containing a RT based contact manifold generator |
| 05:26.35 | abhi2011 | ok here is the tcl script for generating the scene : http://bin.cakephp.org/view/350938158 |
| 05:35.14 | abhi2011 | := |
| 05:36.08 | abhi2011 | and here is the shell script |
| 05:40.17 | abhi2011 | http://bin.cakephp.org/view/572543350 |
| 06:07.42 | CIA-133 | BRL-CAD: 03abhi2011 * r46729 10/brlcad/trunk/src/libged/ (CMakeLists.txt simulate/simphysics.cpp simulate/simulate.c): Began rt integration into the bullet collision pipeline, added callback to show aabb overlaps and contact points |
| 06:27.02 | CIA-133 | BRL-CAD: 03Abhi2011 07http://brlcad.org * r3164 10/wiki/User:Abhijit: /* Log */ |
| 06:28.47 | CIA-133 | BRL-CAD: 03Abhi2011 07http://brlcad.org * r3165 10/wiki/User:Abhijit: /* Log */ |
| 06:38.56 | abhi2011 | the minute i submit the shell script the laptop fan ramps up a few notches |
| 06:38.58 | abhi2011 | :P |
| 12:47.28 | *** join/#brlcad d_rossberg (~rossberg@BZ.BZFLAG.BZ) | |
| 13:04.43 | *** join/#brlcad jordisayol (~jordisayo@unaffiliated/jordisayol) | |
| 13:23.00 | brlcad | senses a big remrt session in his near future |
| 13:45.43 | ``Erik | abhi: is it possible to run a bullet simulation and export a series of 'geometry at time X' definitions? so a single machine can generate the 2000 or so 'states' to be farmed out for raytracing? |
| 13:48.23 | brlcad | pretty impressive scripting |
| 13:49.16 | brlcad | ``Erik: he's not here right now, but it is possible -- his script could just call clone before running simulate |
| 13:50.35 | brlcad | then his rt script could be issued for all 2000 frames at once for remrt instead of one at a time (which will kick rt into multi-frame render mode to make sure there isn't temporal tearing across frames) |
| 13:57.41 | ``Erik | cool (didn't think he was here, but y'know, post and wait) |
| 14:21.00 | CIA-133 | BRL-CAD: 03d_rossberg * r46730 10/brlcad/trunk/CMakeLists.txt: |
| 14:21.00 | CIA-133 | BRL-CAD: a non visible function prototype yields a warning "warning C4013: 'hypot' undefined; assuming extern returning int" => turned the warnings into errors |
| 14:21.00 | CIA-133 | BRL-CAD: a possible consequence of missing prototypes is a floating point stack overflow (as it happened in this case) |
| 14:54.59 | brlcad | ouch |
| 15:17.24 | CIA-133 | BRL-CAD: 03tbrowder2 * r46731 10/brlcad/trunk/doc/docbook/presentations/en/intro-to-tcltk.xml: corrected image file references for cuurent file structure |
| 15:27.44 | *** join/#brlcad b0ef (~b0ef@166.195.251.212.customer.cdi.no) | |
| 15:29.20 | CIA-133 | BRL-CAD: 03Sean 07http://brlcad.org * r3166 10/wiki/ESA_Summer_of_Code_in_Space: update with post-selection details -- link to abhijit's log |
| 15:45.24 | brlcad | where's the b0ef! |
| 15:59.05 | CIA-133 | BRL-CAD: 03tbrowder2 * r46732 10/brlcad/trunk/doc/docbook/fop.xconf.in: get the base URL for fop back to its rightful place |
| 16:23.48 | *** join/#brlcad abhi2011 (~chatzilla@ip170-79-211-87.adsl2.static.versatel.nl) | |
| 17:04.37 | CIA-133 | BRL-CAD: 03tbrowder2 * r46733 10/brlcad/trunk/README.cmake: some more details for newbies |
| 17:32.28 | brlcad | hm, not so fond of so much irrelevant info before getting to the heart of the readme .. |
| 17:35.19 | brlcad | jordisayol: thx for being patient :) |
| 17:35.25 | brlcad | he's learning |
| 17:35.40 | jordisayol | brlcad: I see |
| 17:35.44 | jordisayol | :-) |
| 18:22.22 | abhi2011 | any luck running those scripts on the server |
| 18:25.43 | CIA-133 | BRL-CAD: 03tbrowder2 * r46734 10/brlcad/trunk/doc/docbook/articles/en/pipes.xml: adding unicode point for two symbols |
| 18:26.46 | brlcad | abhi2011: was looking them over earlier today while you were out |
| 18:27.19 | *** join/#brlcad yukonbob (~bch@S0106002191d1591c.ok.shawcable.net) | |
| 18:27.24 | yukonbob | hello, #brlcad |
| 18:27.29 | brlcad | abhi2011: nice work, btw .. impressive scripting pulling things together exactly the way they're supposed to be |
| 18:27.34 | brlcad | howdy yukonbob |
| 18:27.58 | yukonbob | hey brlcad -- how're things? |
| 18:28.34 | brlcad | abhi2011: with only a few modifications, those two scripts will work pretty well for setting up a completely distributed rendering |
| 18:29.29 | brlcad | yukonbob: good as ever, lots of skewers in the fire |
| 18:29.40 | brlcad | what are you working on these days? |
| 18:30.13 | abhi2011 | brlcad: yep learning :) |
| 18:30.43 | yukonbob | head-down in Tcl/C whenever I can, and started w/ Apache working on Tcl bindings for search-engine-in-development |
| 18:30.55 | yukonbob | <-- bch@apache.org :) |
| 18:30.57 | abhi2011 | so what modifications would u do for distributed rendering ? |
| 18:31.03 | brlcad | abhi2011: for the distributed render, you'd want to clone each object before running simulate so that you keep all timestep revisions, then make the rt script one *mega* script that renders all frames in sequence with only one call to rt |
| 18:31.30 | yukonbob | poking at my local brlcad/tcl/nbsd integration when I get chances... |
| 18:31.56 | brlcad | that will kick rt into a video-rendering mode where it becomes frame-aware and can apply tricks to make the frame-by-frame output better |
| 18:32.23 | yukonbob | and actually stumbled on an omission on my part that should help push that ahead -- took a while to get a version a few months old up/running, and now need to do a smaller leap fwd and getting running w/ latest brlcad code again... |
| 18:32.52 | brlcad | then it's as simple as copying the db to your render clients, replacing 'rt' with 'rtsrv' and running remrt some place to collect all of the results |
| 18:33.00 | abhi2011 | oh ok, so as I understand you generate all the different position the objects are in by running simulate for 1 step, 2 steps , 3steps.....300 steps and record them in different dbs |
| 18:33.12 | abhi2011 | so 300 dbs |
| 18:33.14 | brlcad | they can be in the same db |
| 18:33.21 | abhi2011 | ah yes right |
| 18:33.25 | abhi2011 | but with different names |
| 18:33.26 | brlcad | scene.001 scene.002 .. whatever |
| 18:33.41 | abhi2011 | oh the db supports scenes too |
| 18:33.45 | abhi2011 | didnt know that |
| 18:33.56 | yukonbob | <PROTECTED> |
| 18:34.37 | brlcad | abhi2011: you'll notice in rt script that it has a bunch of lines starting with viewsize, then start 0; clean; |
| 18:34.51 | abhi2011 | yes right |
| 18:34.58 | brlcad | that actually is a command to start frame 0 .. |
| 18:35.15 | abhi2011 | ok |
| 18:35.17 | brlcad | so after clean, you can load the next object, start 1, etc |
| 18:35.27 | abhi2011 | ok |
| 18:35.55 | brlcad | pretty much exactly what you have, just pulling the rt command outside that for loop |
| 18:35.56 | abhi2011 | and by default..the way I have been working with mged so far, that just creates 1 scene : scene 0 and puts everyting there |
| 18:36.02 | brlcad | and building up the command inside the for loop |
| 18:36.38 | abhi2011 | ok |
| 18:37.05 | brlcad | abhi2011: another thing I noticed is the hard-coded hack you have in there for knowing what is what in the db :) |
| 18:37.25 | abhi2011 | in the c code ? |
| 18:37.33 | brlcad | for starters, you should pass the list of objects to be simulated as a parameter to the simulate command :) |
| 18:37.37 | brlcad | yeah |
| 18:37.41 | abhi2011 | ok |
| 18:37.52 | abhi2011 | ah yes right |
| 18:38.01 | brlcad | sim_gp.r :) |
| 18:38.19 | abhi2011 | yeah that needs more flexibility :P |
| 18:38.21 | brlcad | that way you know which object(s) to work on |
| 18:38.42 | abhi2011 | so all the objects to be simulated get passed as paramters |
| 18:39.03 | abhi2011 | but then i would need to know which one of the passed objects is the ground plane |
| 18:39.21 | brlcad | maybe Usage: simulate timestep(s) object0 [object1 ...] |
| 18:39.31 | brlcad | right |
| 18:39.37 | abhi2011 | ok |
| 18:39.39 | brlcad | that brings me to my next suggestion :) |
| 18:40.09 | brlcad | so there's two concepts that I think bullet represents, correct me if I'm wrong |
| 18:40.18 | brlcad | one is this concept of a ground plane |
| 18:40.29 | brlcad | which is defined by a plane equation vector |
| 18:40.47 | brlcad | then it's marked immutable (i.e., with 0 volume) |
| 18:41.39 | brlcad | that being the second concept |
| 18:41.43 | brlcad | yes? |
| 18:41.55 | abhi2011 | welll almost , actually its more general, there can be 2 types of objects in bullet : static objects (with mass 0) and dynamic objects (with non zero mass) |
| 18:41.58 | CIA-133 | BRL-CAD: 03tbrowder2 * r46735 10/brlcad/trunk/TODO: add tasks to be done to clean up DocBook source |
| 18:42.08 | brlcad | s/volume/mass/ .. that's what I meant ;) |
| 18:42.24 | abhi2011 | yes right |
| 18:42.31 | abhi2011 | so I can actually mark any object as static |
| 18:42.33 | brlcad | but a ground plane isn't just a mass 0 entity iirc, no? |
| 18:42.41 | abhi2011 | true |
| 18:42.41 | brlcad | you have to say "this is ground" too, no? |
| 18:42.51 | abhi2011 | no there is no need to say so |
| 18:42.55 | abhi2011 | i just have to make it static |
| 18:43.00 | abhi2011 | that is fixed in space |
| 18:43.07 | brlcad | otherwise if I put an immutable box above your boxes, they'd have gravity pulling them in two directions |
| 18:43.08 | abhi2011 | there is no separate concept of ground |
| 18:43.40 | abhi2011 | no becuase the gravity is specified independently for the entire world |
| 18:43.45 | abhi2011 | there is no concept of ground |
| 18:43.54 | abhi2011 | if i have a plane that is rigid |
| 18:43.55 | brlcad | so gravity is global |
| 18:44.00 | abhi2011 | then it appears as the ground |
| 18:44.11 | abhi2011 | but its not specfied as such |
| 18:44.21 | brlcad | mm, okay |
| 18:44.39 | brlcad | so then all you need is some means to designate or calculate an object's mass |
| 18:44.57 | abhi2011 | yes, right now i use the volume of the objects bb and density of 0 |
| 18:44.58 | brlcad | we have a tool that does that (gqa) calculating mass, but it's not yet an API function |
| 18:45.00 | abhi2011 | sorry 1 |
| 18:45.05 | brlcad | nods |
| 18:45.05 | abhi2011 | oh ok |
| 18:45.07 | abhi2011 | cool |
| 18:45.21 | brlcad | so how about this |
| 18:46.00 | brlcad | you assume all regions specified for simulation (via specifying a given scene/combination/group) have a mass of 1 |
| 18:46.10 | brlcad | unless a mass-value is set |
| 18:46.22 | abhi2011 | ok |
| 18:46.26 | abhi2011 | yes |
| 18:46.35 | brlcad | that way all you need is some means to set an object's mass |
| 18:46.46 | abhi2011 | however a larger object may appear to have the same mass as a smaller object |
| 18:46.54 | abhi2011 | yes , the mass can be set |
| 18:46.56 | abhi2011 | true |
| 18:47.04 | brlcad | which fortunately there is a system already in place for :D |
| 18:47.06 | abhi2011 | if the user want more realistic simulation |
| 18:47.12 | abhi2011 | yes :) |
| 18:47.46 | abhi2011 | so i guess i can call upon the code in the gqa thingie to get me the mass |
| 18:48.00 | brlcad | nah, that'd be hell |
| 18:48.12 | abhi2011 | ok :P |
| 18:48.27 | brlcad | it's not API yet and it'd take a week or more to make it proper API |
| 18:48.47 | brlcad | your time is better spent getting collisions working ;) |
| 18:48.51 | abhi2011 | right ok, so i ll make it trhe way we dicusssed then |
| 18:48.57 | abhi2011 | assume mass of 1 |
| 18:49.03 | abhi2011 | unoless specified |
| 18:49.12 | brlcad | right, but then you need a way to specify mass :) |
| 18:49.18 | abhi2011 | yes |
| 18:49.23 | abhi2011 | so a -m flag |
| 18:49.24 | brlcad | do you know how already? :) |
| 18:49.30 | brlcad | no no |
| 18:49.31 | abhi2011 | with the masses in order |
| 18:49.45 | brlcad | object-oriented, you want objects to specify themselves |
| 18:50.06 | abhi2011 | ok but the user is going to pass the mass right |
| 18:50.29 | brlcad | pass the mass .. hehe |
| 18:50.29 | brlcad | yes :) |
| 18:50.45 | abhi2011 | ok |
| 18:50.51 | brlcad | so the missing piece of this puzzle... |
| 18:50.55 | brlcad | perhaps a new brl-cad concept, we have an attribute system where you can store key=value on arbitrary db objects |
| 18:51.10 | abhi2011 | ok |
| 18:51.17 | brlcad | that will probably work perfect for this |
| 18:51.22 | abhi2011 | right |
| 18:51.26 | abhi2011 | like the avs thing |
| 18:51.35 | abhi2011 | for the attributes of an object |
| 18:51.38 | brlcad | what avs thing? |
| 18:51.47 | abhi2011 | there is this avs variable all over the c code |
| 18:51.52 | brlcad | ah, yes |
| 18:51.53 | brlcad | that's this |
| 18:51.59 | abhi2011 | its used to access the attributes |
| 18:52.00 | brlcad | avs == attribute value system |
| 18:52.04 | abhi2011 | yes |
| 18:52.06 | abhi2011 | :) |
| 18:52.10 | abhi2011 | so not so new after all |
| 18:52.12 | abhi2011 | :P |
| 18:52.26 | abhi2011 | well yeah but i understand what you are saying |
| 18:52.28 | brlcad | yeah, so just need to use it for your own settings :) |
| 18:52.28 | abhi2011 | :) |
| 18:52.57 | abhi2011 | ok |
| 18:53.06 | abhi2011 | now about passing the mass while invoking the command |
| 18:53.06 | brlcad | attr set ground.r simulate:mass=0 |
| 18:53.17 | abhi2011 | oh ok |
| 18:53.19 | abhi2011 | ah now i get it |
| 18:53.19 | brlcad | then in the code, just look up the "simulate:mass" attribute and use the value |
| 18:53.26 | abhi2011 | right |
| 18:53.28 | abhi2011 | cool |
| 18:53.40 | brlcad | can use that for a whole slew of things then :) |
| 18:53.45 | abhi2011 | so its like any other attribute of the object, like radius etc |
| 18:53.47 | abhi2011 | yes |
| 18:53.51 | abhi2011 | we can specfiy friction |
| 18:53.54 | abhi2011 | for custom materials |
| 18:53.58 | abhi2011 | or density |
| 18:54.13 | brlcad | just prefix your variables so they can be conceptually grouped together |
| 18:54.19 | abhi2011 | ok |
| 18:54.40 | brlcad | but you should always have a "default" too .. so if nothing is set, it'll do something sane |
| 18:54.49 | abhi2011 | ok |
| 18:54.55 | abhi2011 | now about the ground plane thing |
| 18:55.19 | abhi2011 | see the user will invoke the command like : simulate a.r b.r |
| 18:55.22 | brlcad | like maybe if there is no immutable mass=0 objects being simulated, it defaults to making the biggest one be mass=0 |
| 18:55.33 | abhi2011 | ok |
| 18:55.42 | brlcad | simulate 10 scene |
| 18:55.54 | brlcad | or simulate 10 grp1 grp2 grp3 ... |
| 18:56.10 | brlcad | not necessarily just the region objects |
| 18:56.13 | abhi2011 | ok |
| 18:56.19 | abhi2011 | 1 more question |
| 18:56.21 | brlcad | trivial to walk the object(s) specified, get a list of all regions |
| 18:56.30 | abhi2011 | right |
| 18:56.37 | abhi2011 | i guess a scene's objects can be accessed |
| 18:56.44 | abhi2011 | not yet worked with scenes |
| 18:56.45 | brlcad | if there are no regions, maybe treat the object specified as a region or error out if you have to have a region |
| 18:56.59 | brlcad | db_walk_tree() is your friend |
| 18:57.02 | abhi2011 | cool |
| 18:57.52 | abhi2011 | umm so about scenes, if i want to create a new scene |
| 18:57.58 | abhi2011 | there is an mged comand for it ? |
| 18:58.01 | brlcad | that way your code doesn't even need to know the name(s) of anything |
| 18:58.14 | brlcad | 'g' ? |
| 18:58.25 | brlcad | scenes are just logical groupings of objects |
| 18:58.41 | abhi2011 | oh ok |
| 18:58.46 | brlcad | you can group a bunch of regions and groups together with the 'g' command |
| 18:59.00 | abhi2011 | yes of course :) |
| 18:59.08 | abhi2011 | thought they were a new kinda thing |
| 18:59.16 | abhi2011 | :P |
| 18:59.17 | brlcad | they're implicit |
| 18:59.20 | abhi2011 | ok |
| 18:59.44 | abhi2011 | ok there is 1 other thing |
| 18:59.53 | abhi2011 | about custom forces |
| 19:00.07 | abhi2011 | so suppose i want some impulse applied on a specfic object |
| 19:00.08 | brlcad | objects above the region level are groups, groups are "assemblies" in CAD terminology -- a scene is just another assembly |
| 19:00.16 | abhi2011 | can be used to shoot a sphere at a cube stack for example |
| 19:01.52 | abhi2011 | ok about the assemblies, so about the custom forces should I consider at this stage , something liek this : simulate 10 -f{obj, 10,0,0} grp1 grp2 .... |
| 19:02.33 | abhi2011 | so that would apply a force of 10 newtons on the region/group named as 'obj' only |
| 19:02.43 | abhi2011 | the remainign objects stay the same |
| 19:02.52 | CIA-133 | BRL-CAD: 03tbrowder2 * r46736 10/brlcad/trunk/doc/docbook/articles/en/mgedrc.xml: adding unicode point for two symbols; lifting XInclude namespace to root element |
| 19:02.59 | abhi2011 | obj should appear somewhere in grp1, grp2 etc |
| 19:03.03 | brlcad | abhi2011: I'd probably still use the attributes for that |
| 19:03.11 | abhi2011 | ah yes of course |
| 19:03.13 | brlcad | because you need to persist the force across frames |
| 19:03.31 | abhi2011 | yes true, that would be much easier then parsing comples flags |
| 19:03.43 | abhi2011 | yes |
| 19:04.06 | abhi2011 | interesting and very useful this attributes thing :) |
| 19:04.13 | brlcad | granted, that means you'll have to read all objects to see if any have forces applied, run the simulation step, then write out any remaining/residual forces (for the next timestep) |
| 19:04.29 | CIA-133 | BRL-CAD: 03tbrowder2 * r46737 10/brlcad/trunk/TODO: add another task to be done to clean up DocBook source |
| 19:04.43 | brlcad | becomes a persistent database for any values you need during the sim |
| 19:04.52 | abhi2011 | yes |
| 19:04.53 | CIA-133 | BRL-CAD: 03starseeker * r46738 10/brlcad/trunk/README.cmake: Toplevel readme probably isn't the place for these details. Also, if the environment variables may cause a problem, the thing to do is to have CMake check them as part of the configure process and warn about them. |
| 19:06.15 | abhi2011 | yes, that is another thing which was bothering me actually, see there are 2 options, to run all the simulation timesteps without any thing else happening. or run 1 timestep, do overlp checks then run the next steps |
| 19:06.26 | brlcad | starseeker: if CMake is a faithful conversion of configure, there should already be a big honking warning about BRLCAD_ROOT being set ;) |
| 19:06.44 | abhi2011 | but if there is break between the steps and i have to recreate the entire scene again , then all the dynamic foce and acceleration info would need to be persisted |
| 19:06.53 | abhi2011 | can use the attributes for that |
| 19:06.58 | brlcad | sure |
| 19:07.28 | abhi2011 | right so a whole slew of new attributes to be added |
| 19:07.39 | abhi2011 | for all objects in brl-cad |
| 19:07.54 | abhi2011 | force , mass, |
| 19:07.56 | brlcad | all regions objects |
| 19:08.02 | abhi2011 | yes ok |
| 19:08.15 | abhi2011 | yes true |
| 19:08.17 | abhi2011 | only regions |
| 19:08.40 | brlcad | pretty limited subset, and only after simulate has run once (and there are forces remaining) or as part of scene setup to override defaults |
| 19:09.21 | brlcad | e.g., you wouldn't want to write out simulate:force=0.0 .. you'd delete the attribute |
| 19:09.31 | abhi2011 | yes |
| 19:09.41 | brlcad | (assumes default force==0.0 of course) |
| 19:09.57 | abhi2011 | yes, so all these attributes are listed in a header, and i just go add to them |
| 19:10.29 | CIA-133 | BRL-CAD: 03tbrowder2 * r46739 10/brlcad/trunk/doc/docbook/articles/en/projection_shader.xml: adding unicode point for two symbols; lifting XInclude namespace to root element |
| 19:10.53 | abhi2011 | and maybe increase a counter which currently tracks the number of attributes that can exist for a region |
| 19:10.53 | starseeker | brlcad: yeah, yeah... :-P |
| 19:11.08 | starseeker | is catching up on backlog... |
| 19:18.08 | CIA-133 | BRL-CAD: 03tbrowder2 * r46740 10/brlcad/trunk/doc/docbook/articles/en/build_region.xml: lifting XInclude namespace to root element |
| 19:22.16 | abhi2011 | on thinking more about it, the velocity of the objects, both rotational and translational needs to be persisted for the next frame, and if any custom force should still to be applied in the next frame(since there is no concept of a residual force as such like 10 newtons force is applied and 5 newtons is left for next frame, that would result in wrong physics ) |
| 19:25.01 | abhi2011 | ok so I ll proceed with adding the new attributes : translational velocities in x y, z directions and rotational velocities for the 3 axes , and see if I can store then after 1 frame and reload them at the beginning of the next frame and see if physics continues properly |
| 19:26.08 | abhi2011 | this can then be extended to calling rt at the end of a frame to create the contact manifolds , which can then be inserted into the collision pipeline befpre starting the next frame, so collision proceeds according to rt output |
| 19:26.41 | CIA-133 | BRL-CAD: 03tbrowder2 * r46741 10/brlcad/trunk/doc/docbook/articles/en/build_pattern.xml: adding unicode point for one symbols; lifting XInclude namespace to root element |
| 19:31.56 | CIA-133 | BRL-CAD: 03tbrowder2 * r46742 10/brlcad/trunk/doc/docbook/lessons/en/mged01_creating_primitive_shapes.xml: lifting XInclude namespace to root element |
| 19:56.17 | brlcad | starseeker: if you knew the support hell that was when BRLCAD_ROOT was the norm, it probably would have been one of the first things you added |
| 19:57.30 | brlcad | how many times I'd spend half a day debugging some really bizzare bug or crash only to discover they were running a 7.4 binary but using 7.0 libraries |
| 19:58.50 | CIA-133 | BRL-CAD: 03starseeker * r46743 10/brlcad/trunk/CMakeLists.txt: Get a version of the warnings about BRLCAD_ROOT into CMake, as well as (reluctantly) using the environment variable if it's defined. |
| 20:00.56 | brlcad | abhi2011: couldn't you have a situation like where you'd have an electromagnetic field applying some force but then the force on the next frame would be different because of the different position in the field? |
| 20:01.23 | brlcad | the idea being that you'd have some sort of force emitter objects, of course, with some sort of parametric force being applied |
| 20:01.30 | brlcad | not just impulse or load |
| 20:02.27 | brlcad | abhi2011: I'd suggest combining the xyz velocities into one attribute (one for linear, one for rotational) |
| 20:02.49 | brlcad | should limit the number of writes if values naturally group together |
| 20:04.17 | CIA-133 | BRL-CAD: 03starseeker * r46744 10/brlcad/trunk/CMakeLists.txt: /usr is bad whether or not it came from BRLCAD_ROOT, adjust warning. |
| 20:06.11 | brlcad | starseeker: you missed the warning part |
| 20:06.46 | brlcad | "if test ! "x$BRLCAD_ROOT" = "x" ; then" ... |
| 20:07.11 | brlcad | that's the important part |
| 20:07.15 | starseeker | that's IF(BRLCAD_ROOT) |
| 20:07.47 | starseeker | SET(BRLCAD_ROOT "$ENV{BRLCAD_ROOT}") get's it from the environment variable - if that variable is empty, the if test fails. otherwise, the warning proceeds |
| 20:08.15 | brlcad | not following |
| 20:08.33 | starseeker | we're warning if BRLCAD_ROOT is set, correct? |
| 20:08.39 | brlcad | correct |
| 20:08.44 | starseeker | this will do that |
| 20:09.03 | abhi2011 | brlcad : about the electro magnetic fields, yes true |
| 20:09.41 | brlcad | ah, I see it.. the logic is further down .. I was expecting statement parity, or close to it |
| 20:10.00 | brlcad | a quiet little "BRLCAD_ROOT is not necessary and may cause unexpected behavior" is not parity at all... |
| 20:10.00 | CIA-133 | BRL-CAD: 03starseeker * r46745 10/brlcad/trunk/CMakeLists.txt: comment first, then code |
| 20:10.37 | starseeker | has tested it - seems to do the trick |
| 20:11.20 | brlcad | that's probably the distinction |
| 20:11.30 | brlcad | there's no indication on the severity of the messages being printed |
| 20:11.40 | CIA-133 | BRL-CAD: 03tbrowder2 * r46746 10/brlcad/trunk/HACKING: add reference to more DocBook details |
| 20:12.31 | brlcad | configure had something like four output levels, regular print message, warning, severe warning, and error (halting) |
| 20:12.48 | starseeker | yeah, I don't think cmake has warning vs. severe warning |
| 20:12.53 | brlcad | otherwise the messages will just get lost in the noise |
| 20:13.31 | brlcad | the }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}} markers screamed out "this is really bad" .. and it worked |
| 20:13.33 | starseeker | heh - I'm calling sleep on the first one, and flat out exiting with failure on /usr (with a message that tells them how to get it to go forward if they're really that stubborn) |
| 20:13.40 | starseeker | ah, k |
| 20:13.51 | CIA-133 | BRL-CAD: 03tbrowder2 * r46747 10/brlcad/trunk/doc/docbook/README: add more details on DB character code requirements |
| 20:15.15 | brlcad | the only half-severe }}} message I think we ever reported was about the IEEE encoding, which I'm just not sure what it means in terms of valid calculations |
| 20:15.28 | CIA-133 | BRL-CAD: 03tbrowder2 * r46748 10/brlcad/trunk/doc/docbook/README: correct typo |
| 20:22.40 | CIA-133 | BRL-CAD: 03starseeker * r46749 10/brlcad/trunk/CMakeLists.txt: Make warnings noiser, also complain about BRLCAD_DATA |
| 20:23.45 | brlcad | starseeker: er, BRLCAD_ROOT doesn't set prefix in configure ... |
| 20:24.35 | starseeker | ah, my mistake |
| 20:24.39 | starseeker | wasn't parsing the m4 logic right |
| 20:25.25 | brlcad | it pulls the value from prefix (setting BRLCAD_ROOT) .. but that's os we set BRLCAD_ROOT as a define in the config header (so things like bu_brlcad_root() work correctly) |
| 20:25.33 | brlcad | s/os/so/ |
| 20:26.19 | starseeker | nods - I never use BRLCAD_ROOT as a variable at all in CMake - it gets set to CMAKE_INSTALL_PREFIX in the config header |
| 20:27.00 | brlcad | "it" being BRLCAD_ROOT? |
| 20:27.06 | starseeker | yes |
| 20:27.40 | brlcad | yeah, I wouldn't have expected you to use it as a var |
| 20:29.44 | CIA-133 | BRL-CAD: 03starseeker * r46750 10/brlcad/trunk/CMakeLists.txt: My mistake, we're not setting CMAKE_INSTALL_PREFIX to BRLCAD_ROOT. Tweak the logic and warnings accordingly |
| 20:31.19 | brlcad | it was needed for the m4 logic because BRLCAD_ROOT exists as a shell variable, an m4 variable, a make variable, and a #define -- cmake effectively eliminates the m4+make cases (unless you allow the same make-time override) |
| 20:31.21 | CIA-133 | BRL-CAD: 03starseeker * r46751 10/brlcad/trunk/CMakeLists.txt: match closing tag |
| 20:31.29 | brlcad | does miss the various make-time overrides |
| 20:34.05 | brlcad | e.g., make TCLDIR= TKDIR= (skip rebuilding tcl/tk even if dependency tracking wants to rebuild them) |
| 20:34.34 | starseeker | winces - not sure how I'd make that work |
| 20:34.40 | brlcad | make CPPFLAGS=-w (skip strict for this pass) |
| 20:34.56 | brlcad | no worries, not a major feature |
| 20:35.08 | brlcad | just one of those things :) |
| 20:35.53 | brlcad | overriding the dependency tracking system wasn't something universal, there had to be a make variable defined for the directory |
| 20:36.01 | brlcad | getting that in cmake terms would probably suck |
| 20:36.39 | brlcad | because it'd probably take some round-about checking mechanism instead of just letting make do what it does |
| 20:37.02 | CIA-133 | BRL-CAD: 03starseeker * r46752 10/brlcad/trunk/misc/CMake/CompilerFlags.cmake: That's actually CXXFLAGS, not CXX_FLAGS... |
| 20:37.18 | brlcad | one of the merits of automake+make .. but not one that trumps the windows portability aspect of cmake |
| 20:37.22 | starseeker | probably mattered more when build times were slower |
| 20:37.41 | brlcad | nah, still matters .. I used it just last week :) |
| 20:38.13 | starseeker | shakes his head - I think my developer skills are going to forever remain at the "midrange" level |
| 20:38.40 | starseeker | can get there eventually, usually... |
| 20:39.00 | brlcad | think if you're working on building a proc-db or something simple, find out you need to add a libbu function that begs for a new configure/cmake header test, .. it's going to rightly want to rebuild everything |
| 20:39.47 | starseeker | make -j9 procdb_target would build only what that proc-db needs, I'd probably call that close enough... |
| 20:40.07 | brlcad | you don't care about rebuilding everything in that moment, whether it's 2min or 10min .. your procdb builds and links in 2 milliseconds and that's what you're focusing on :) |
| 20:40.31 | starseeker | make procdb_target/FAST I think might do what you want there |
| 20:40.43 | brlcad | maybe |
| 20:40.51 | brlcad | but I *did* need libbu rebuilt :) |
| 20:41.12 | brlcad | just not every f'n thing that uses libbu, and certainly not all of src/other :) |
| 20:41.40 | starseeker | nods |
| 20:41.51 | brlcad | like I said, not a huge deal .. just something different |
| 20:41.57 | starseeker | maybe if you describe the scenario to the CMake devs they could come up with something... |
| 20:42.10 | brlcad | not even that important |
| 20:42.49 | brlcad | might even be something similar in cmake terms that will work "good enough", like make libbu/FAST && make my_proc/FAST |
| 20:43.20 | starseeker | thought about suggesting that, but assumed it would be rejected for "too much typing" reasons :-P |
| 20:44.17 | brlcad | it's better than waiting 2-10min :) |
| 21:30.59 | starseeker | tcl/tk 2011 schedule is up: http://www.tcl.tk/community/tcl2011/schedule.html |
| 22:02.19 | brlcad | looks like Cliff F. is all over the place in the schedule this year |
| 22:02.32 | brlcad | quirky funny guy :) |
| 22:03.33 | brlcad | at least in a geek humor kind of way :) |
| 22:03.38 | brlcad | bets $20 that he says "Any questions? Any answers?" at least a few times during the week |
| 22:57.25 | brlcad | oh snap! |
| 22:57.33 | brlcad | thank you tom browder! |
| 22:58.01 | brlcad | looks like sourceforge folks made ideatorret an option, that's outstanding! |