[admin] New project: cells-ode

Peter Hildebrandt peter.hildebrandt at gmail.com
Mon Jun 2 09:40:25 UTC 2008


Dear admin,

I'd like to create a new project at common-lisp.net.  I am developing
cells-ode, a clos abstraction layer for Thomas Atkins' cl-ode [1]
using Ken Tilton's cells [2].  The license is LLGPL [3].  The purpose
is to treat ODE objects just like clos objects with cells' data flow
extensions.

I wrote pretty much the entire code myself, thanks go to Ken Tilton
for invaluable advice and debugging.

My clnet user name is phildebrandt.  I suggest to make Ken Tilton
(cc'd) a project member.

cells-ode has been tested on SBCL/Linux (by me) and ACL/Windows (by
Ken Tilton).  It does not use implementation specific extensions, so
it should be straightforward to port to other implementations.  The
dependencies are cl-ode (asdf-install, 0.8), cells (CVS, 3.0), and
cffi (asdf-install, 0.9.2 or darcs).

cells-ode is a fairly complete mapping of ODE 0.8, lacking only a few
advanced features.  One of the highlights is fully transparent support
for collision detection.  Among the extensions planned for the near
future are primitives for composite objects and a DSL for scene
descriptions.

Currently the source can be found in the cells CVS on common-lisp.net:

http://common-lisp.net/cgi-bin/viewcvs.cgi/cells-ode/?root=cells

In the following I will give a few usage examples taken from
test-c-ode.lisp [4].  For example, to create a sphere object with a
corresponding mass, you might say:

(make-instance 'body
		 :md-name :body1
		 :position (c-in #(0 -1 1))
		 :mass (c-in (make-instance 'sphere-mass :radius (c-in .5))))
;; Instead of about half a dozen ODE calls via cl-ode

Attaching a joint to body1 and body2 is straightforward, too:

(make-instance 'hinge-joint :md-name :joint :axis #(0 1 0) :anchor #(10 1.2 .5))
(attach (obj :joint) (obj :body1) (obj :body2))  ;; (obj :name)
references objects by their md-name.

Thanks in advance,

Peter

----------
[1] http://common-lisp.net/project/cl-ode/
[2] http://common-lisp.net/project/cells/
[3] http://opensource.franz.com/preamble.html
[4] http://common-lisp.net/cgi-bin/viewcvs.cgi/cells-ode/test-c-ode.lisp?rev=1.4&root=cells&view=markup



More information about the Admin mailing list