migueltk's picture

Project Dixion, C# port of Open Dynamics Engine

Hi, ...

I present the project Dixion (the project for download is called CsODE, is a previous version of Dixion).

This project consists in a adaptation to C# of the dynamic engine ODE (Open Dynamics Engine). Fitting your really was from Java to C # through ode4j project, which is much easier than porting the code from C / C + +.

CsODE v11.02 - development:

Attention! This is a development version, but the demos work, much remains to be done.
I encourage to continue to carry the rest of demos and tests, the process that I recommend is to install and integrate NetBeans project Ode4j in (I can send a compressed file Ode4j prepared to netbeans project if necessary) and simply be adapting the code method is a method you need them. Trying to carry large amounts of code to copy and paste method is crazy because there are large amounts of errors.
A few simple graphics with dynamic animation is another world.

Regards, ...

Miguel


Comments

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
the Fiddler's picture

Instead of refitting Java code to C#, you can use IKVM to turn the .jar files into proper .Net dlls. This works surprisingly well!

migueltk's picture

I tried using IKVM conversion, the code result is quite good but has dependencies on IKVM and contains errors (I used reflector for emsablado). It is a great help but ultimately it is necessary to review the code line by line. Thanks for the report, did not know the utility of IKVM, no doubt, this is the way to future adaptations of Java code to C #.

Another issue, how can include a video from youtube in the message?. As you have done in the "OpenBCI Labyrinth. "

Something has gone wrong with the download link of the project, I repeat it here ... You can download the project from here

migueltk's picture

Sorry, I wanted to say that I have used reflector for DISASSEMBLE

flopoloco's picture

Seems very cool.

flopoloco's picture

I tried it in Visual Studio 2010 and worked perfectly, it's very fast and has a nice visualization library (DrawStuffOTK), well done, keep up the good work.

migueltk's picture

Thanks for your support!. I'm amazed at how stable it is shown the project, thinks that the port has been done on the fly, I have not had time to conduct a second review and yet everything seems to work well. I hope I can carry everything but TriMesh terms "Meshes of triangles", the code is really messy and ugly, and does not work very well.

Regards, ...

Miguel

Tal's picture

Very nice to have physics engine fully in C#...
I have only one suggestion- Make a common "Binaries" directory for all projects(VS of-course...) and put all the code in "Source" directory, just like OpenTK did. You should compile the "release" directory, and let the developer compile "debug" if he would wish to.
I say this because of very annoying building errors... But other than that, you made an amazing job. It is the best physics engine that is fully managed code in .Net(open source too)!

migueltk's picture

For now I'm just moving (port) the code from Java to C#, this work calls CsODE project. Once completed the port, will initiate a new project name Dixion (based on CsODE) that bring out your suggestions and will implement an object-oriented API trying to be as close as possible to the current ODE API.

Thanks for your suggestions, ... Greetings

Miguel

cody's picture

So is this better than JigLibX/JigLibOpenTK? How does it compare in terms of features/performance?

migueltk's picture

It is too early to talk about performance, just CsODE/Dixion does things that JiglibOtk can not do. CsODE/Dixion can work with motorized joints while JigLibOtk not. In contrast, JigLibOtk can work with triangle meshes (Trimesh) and CsODE/Dixion not. If JiglibOtk have support for motorized joints the project CsODE/Dixion would not be necessary.

My recommendation is, if your project requires motorized joints, use CsODE/Dixion in otherwise used JiglibOtk/Jitter. If you have the code for a project based on ODE is obvious that you should use CsODE/Dixion.

Greetings, ...

Miguel