Guest xionmark Posted August 9, 2005 Share Posted August 9, 2005 Greetings all, What is the current state of the ODE project? I've forgotten where the code resides and am not sure if I have the latest. Are there plans to put this on sourceforge too? --Mark Quote Link to comment Share on other sites More sharing options...
Jason Posted August 9, 2005 Share Posted August 9, 2005 Greetings all,What is the current state of the ODE project? I've forgotten where the code resides and am not sure if I have the latest. Are there plans to put this on sourceforge too? --Mark 20376[/snapback] Well, last I touched it I can get it to compile but it crashes when it gets executed - and I have not been able to track down the bug yet (time and skills limit me). It stopped compiling after a while because the HDK changed subtely and IIRC, the RBD_DynamicState class was removed and the data was directly under SIM_Data? Anyhow, I do think that the entire approach should be different to the test route I took there. Now that we have Colliders seperate and new ideas written into that forum post by Mark Tucker, perhaps that old code is totally redundant in the light of all this new development. Perhaps if we build an new framework for an ODE DOP then the same framework could be used to write a Novodex DOP? Quote Link to comment Share on other sites More sharing options...
mtucker Posted August 11, 2005 Share Posted August 11, 2005 I downloaded the Novodex SDK, but haven't realy looked through the documentation yet. But unless the two APIs (Novodex and ODE) are very similar, I would think that trying to build a layer between DOPs and ODE/Novodex would be overkill. I guess my way of looking at it is that DOPs is supposed to be that layer already. If the ODE plugin source code was available on the sourceforge site through CVS I might be able to help figure out why it's crashing... Oh, and RBD_DynamicState was not removed, just renamed to RBD_State. Mark Quote Link to comment Share on other sites More sharing options...
Jason Posted August 11, 2005 Share Posted August 11, 2005 If the ODE plugin source code was available on the sourceforge site through CVS I might be able to help figure out why it's crashing... Thanks Mark, I'll upload it as soon as I get in to work. Quote Link to comment Share on other sites More sharing options...
Jason Posted August 11, 2005 Share Posted August 11, 2005 Thanks Mark, I'll upload it as soon as I get in to work. 20446[/snapback] It's been uploaded to SourceForge now... SourceForge page Quote Link to comment Share on other sites More sharing options...
mtucker Posted August 11, 2005 Share Posted August 11, 2005 Well, I'm not getting any crashes. There is one important bug: on line 201, you call SIM_DATA_CREATE, and pass "0" as the last parameter. Instead you should pass SIM_DATA_RETURN_EXISTING so that if there is already RBD_State data attached to the object you will get back a pointer to the existing data instead of creating new data on top of the old (and thus throwing out the state from the last timestep). Also, the getMass function is still a valid member function of RBD_State, so you can re-instate the code that does "m.mass = state->getMass()". Referring to the comments about getPosition and getOrientation not being in the header files, if you look at SIM_Position.h (of which RBD_State is a subclass), you'll see a bunch of lines like: GETSET_DATA_FUNCS_V3(SIM_NAME_POSITION, Position); This macro (defined in SIM_OptionsUser.h) creates two functions, getPosition and setPosition which store a UT_Vector3 (the V3 part of the macro) under the name SIM_NAME_POSITION (which is defined as "Position" in SIM_Names.h). So that's how those functions work. As a final point, you don't seem to be destroying any of the ODE data you create (caling dWorldDestroy, for example). Can you put the SIM_SolverODE.[Ch] files under version control on sourceforge? Then I could have made these edits myself rather than telling you what to do. You don't need to version control the whole ODE library, just the two important files. Anyway, it's very cool to see this in action. My only suggestion for the crashing would be that you make sure you are building the ODE library and the SIM_SolverODE with the same libraries (debug or non-debug libc, etc). I really don't see anything that would cause it to crash, and as I said it doesn't crash on me. Are you on Windows or Linux? I am more likely to be able to help if you're on Windows because that's what I know best. Let me know if there's anything I can do to help, Mark Quote Link to comment Share on other sites More sharing options...
Jason Posted August 11, 2005 Share Posted August 11, 2005 Great, thanks for all the info Mark. I figured out the GETSET functions after a while and some false matches on the PHYS_ classes from the old RBD system. I have no idea how to place anything under CVS control on sourceforge - do you know how? Not to sound lazy, but if so do you just want to do it? I can make "mtucker" an Admin on the project if you do. Thanks, Jason Quote Link to comment Share on other sites More sharing options...
Guest xionmark Posted August 12, 2005 Share Posted August 12, 2005 I have no idea how to place anything under CVS control on sourceforge - do you know how? Not to sound lazy, but if so do you just want to do it? I can make "mtucker" an Admin on the project if you do. 20464[/snapback] Hi Jason, I might be able to help with the CVS. This afternoon I finally found a few minutes to read through the rest of the sourceforge docs to properly release packages, so I should be able to get all of my work up there over the next few days. Mark, if you're too busy too handle the CVS stuff, I can help out, I use CVS all the time and it can't be all too different then most CVS configs. --Mark Quote Link to comment Share on other sites More sharing options...
mtucker Posted August 12, 2005 Share Posted August 12, 2005 I would be ahppy to add the files. My sourceforge username is wmarktucker. Both mtucker and marktucker were already taken. And from the looks of it you've made someone named Matt Tucker a (probably very surprised) developer on the houdini plugins project I've never used sourceforge as a developer, but I've used CVS, and from the looks of it, it will be much the same. I'll put up a post explaining the process if I get it figured out. Otherwise I'll let Mark S. have a go at it. Mark Quote Link to comment Share on other sites More sharing options...
Jason Posted August 12, 2005 Share Posted August 12, 2005 I would be ahppy to add the files. My sourceforge username is wmarktucker. Both mtucker and marktucker were already taken. And from the looks of it you've made someone named Matt Tucker a (probably very surprised) developer on the houdini plugins project 20467[/snapback] Ha ha! Perfect! Congratulations Mark, you're now an admin! (Instead of some other guy) Quote Link to comment Share on other sites More sharing options...
mtucker Posted August 12, 2005 Share Posted August 12, 2005 Cool, I feel so important Below is a list of what I did. I got al this information from http://sourceforge.net/docman/display_doc....4033&group_id=1 and http://sourceforge.net/cvs/?group_id=140048. Oh, and for all the commands listed below, I had the environemnt variable "CVS_RSH" set to "ssh". And you'll obviously have to replace "wmarktucker" withyour sourceforge user name. 1. Created a new module within the odforceplugins project called "dops", which contains a directory called SIM_SolverODE with the SIM_SolverODE source code in it. This was done by creating the directory structure I wanted under the "dops" module, and doing: cvs -z3 -d:ext:wmarktucker@cvs.sourceforge.net:/cvsroot/odforceplugins import -m "Initial import of ODE Solver Plugin." dops vendor start 2. Once this new modeul was created, I needed to check out a local copy with the command: cvs -z3 -d:ext:wmarktucker@cvs.sourceforge.net:/cvsroot/odforceplugins co -P dops 3. I then had a local editable copy of the dops module. So I made some changes to the SIM_SolverODE.C file. When I was ready to commit them I did: cvs commit -m "A message describing my commit." Step 1 doesn't need to be done again by anyone, unless they want to create a new module (i.e. a new collection of non-dops plugins). Steps 2 you only need to do once, to get a local copy of the baseline. And from then on it's just a lot of step 3 (and other standard cvs commands like cvs update to update your baseline from commits others have made and cvs diff to see what you've changed, and cvs add to add new files or directories). Apologies to those of you already familiar with CVS for the excrutiating detail. I figured it wouldn't hurt to be explicit in case there is anyone not comfortable with it. Mark Quote Link to comment Share on other sites More sharing options...
mtucker Posted August 12, 2005 Share Posted August 12, 2005 Hm. Looking ba now I guess the module name DOPs wasn't such a great choice... I probably should have done something more generic like "plugins", and created a DOPs directory under there in case anyone wanted to put up the source for chopls or the warp sop... Well, you can always ignore the dops module name and put all the plugins there. Or you can create a new uber-module called plugins, move the ODE solver there, and delete the dops module. Anyway, at least this might get the ball rolling Mark Quote Link to comment Share on other sites More sharing options...
Guest xionmark Posted August 12, 2005 Share Posted August 12, 2005 Apologies to those of you already familiar with CVS for the excrutiating detail. I figured it wouldn't hurt to be explicit in case there is anyone not comfortable with it. 20486[/snapback] Details are good! Thanks Mark! --Mark Quote Link to comment Share on other sites More sharing options...
TheUsualAlex Posted August 12, 2005 Share Posted August 12, 2005 Curious, Mark, can an anonymous user checkout from the CVS? I've never done a CVS checkout across ssh before... -Alex Quote Link to comment Share on other sites More sharing options...
mtucker Posted August 12, 2005 Share Posted August 12, 2005 Yep, there is a section called "anonymoust CVS access" at http://sourceforge.net/cvs/?group_id=140048. It looks like you don't need to use ssh to do it. Mark Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.