Update of /project/cells/cvsroot/cells-ode In directory clnet:/tmp/cvs-serv28676
Modified Files: bodies.lisp cells-ode.asd collision.lisp core.lisp geoms.lisp joints.lisp mass.lisp objects.lisp ode-compat.lisp package.lisp primitives.lisp simulate.lisp test-c-ode.lisp types.lisp utility.lisp world.lisp Log Message: added license
--- /project/cells/cvsroot/cells-ode/bodies.lisp 2008/02/09 11:18:12 1.2 +++ /project/cells/cvsroot/cells-ode/bodies.lisp 2008/06/01 20:26:48 1.3 @@ -1,3 +1,20 @@ +#| + + Cells-ODE -- A cells driven interface to cl-ode + +Copyright (C) 2008 by Peter Hildebrandt + +This library is free software; you can redistribute it and/or +modify it under the terms of the Lisp Lesser GNU Public License + (http://opensource.franz.com/preamble.html), known as the LLGPL. + +This library is distributed WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +See the Lisp Lesser GNU Public License for more details. + +|# +
(in-package :c-ode)
@@ -30,6 +47,10 @@ (:default-initargs :ode-id (call-ode body-create ((*world* object)))))
+(export! ode-position) +(defmethod ode-position ((self body)) + (^position)) + (defmethod initialize-instance :after ((self body) &rest initargs))
(defmethod ode-destroy ((self body)) --- /project/cells/cvsroot/cells-ode/cells-ode.asd 2008/02/09 11:18:12 1.2 +++ /project/cells/cvsroot/cells-ode/cells-ode.asd 2008/06/01 20:26:49 1.3 @@ -1,3 +1,19 @@ +#| + + Cells-ODE -- A cells driven interface to cl-ode + +Copyright (C) 2008 by Peter Hildebrandt + +This library is free software; you can redistribute it and/or +modify it under the terms of the Lisp Lesser GNU Public License + (http://opensource.franz.com/preamble.html), known as the LLGPL. + +This library is distributed WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +See the Lisp Lesser GNU Public License for more details. + +|#
(asdf:defsystem :cells-ode :name "cells-ode" --- /project/cells/cvsroot/cells-ode/collision.lisp 2008/02/09 14:02:16 1.3 +++ /project/cells/cvsroot/cells-ode/collision.lisp 2008/06/01 20:26:49 1.4 @@ -1,3 +1,20 @@ +#| + + Cells-ODE -- A cells driven interface to cl-ode + +Copyright (C) 2008 by Peter Hildebrandt + +This library is free software; you can redistribute it and/or +modify it under the terms of the Lisp Lesser GNU Public License + (http://opensource.franz.com/preamble.html), known as the LLGPL. + +This library is distributed WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +See the Lisp Lesser GNU Public License for more details. + +|# +
;;; ----------------------------------------------------------------------------------------------- ;;; collision detection --- /project/cells/cvsroot/cells-ode/core.lisp 2008/02/09 11:18:12 1.2 +++ /project/cells/cvsroot/cells-ode/core.lisp 2008/06/01 20:26:49 1.3 @@ -1,3 +1,20 @@ +#| + + Cells-ODE -- A cells driven interface to cl-ode + +Copyright (C) 2008 by Peter Hildebrandt + +This library is free software; you can redistribute it and/or +modify it under the terms of the Lisp Lesser GNU Public License + (http://opensource.franz.com/preamble.html), known as the LLGPL. + +This library is distributed WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +See the Lisp Lesser GNU Public License for more details. + +|# +
(in-package :cells-ode)
@@ -215,7 +232,7 @@ (defmethod update ((self ,name)) ,@updaters (call-next-method)) - (eval-now! (export ',exports)))))))) + (eval-now! (export ',(append (list name) exports)))))))))
--- /project/cells/cvsroot/cells-ode/geoms.lisp 2008/02/09 11:18:12 1.2 +++ /project/cells/cvsroot/cells-ode/geoms.lisp 2008/06/01 20:26:49 1.3 @@ -1,3 +1,20 @@ +#| + + Cells-ODE -- A cells driven interface to cl-ode + +Copyright (C) 2008 by Peter Hildebrandt + +This library is free software; you can redistribute it and/or +modify it under the terms of the Lisp Lesser GNU Public License + (http://opensource.franz.com/preamble.html), known as the LLGPL. + +This library is distributed WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +See the Lisp Lesser GNU Public License for more details. + +|# +
;;; ;;; geom @@ -19,6 +36,10 @@
))
+(export! ode-space) +(defmethod ode-space ((self general-geom)) + (^space)) + (defmethod ode-destroy ((self general-geom)) (call-ode geom-destroy ((self object))) (call-next-method)) @@ -45,6 +66,10 @@ (quaternion :type quaternion :result-arg t) ))
+(export! ode-position) +(defmethod ode-position ((self geom)) + (^position)) + (defmethod echo-slots append ((self geom)) '(position quaternion))
@@ -81,6 +106,10 @@ (:default-initargs :geom-obj (call-ode create-capsule ((*space* object) (1 number) (1 number)))))
+(export! ode-length) +(defmethod ode-length ((self geom-capsule)) + (^length)) + (def-ode-method set-params ((self geom-capsule) (radius number) (length number)))
(defobserver radius ((self geom-capsule) newval) @@ -123,6 +152,10 @@ (:default-initargs :geom-obj (call-ode create-ray ((*space* object) (1 number)))))
+(export! ode-length) +(defmethod ode-length ((self geom-ray)) + (^length)) + (def-ode-method (ray-set :ode-name set) ((self geom-ray) (starting-point vector) (direction vector)))
(defobserver starting-point ((self geom-ray) newval) @@ -163,3 +196,4 @@
+ --- /project/cells/cvsroot/cells-ode/joints.lisp 2008/02/09 11:18:12 1.3 +++ /project/cells/cvsroot/cells-ode/joints.lisp 2008/06/01 20:26:49 1.4 @@ -1,3 +1,20 @@ +#| + + Cells-ODE -- A cells driven interface to cl-ode + +Copyright (C) 2008 by Peter Hildebrandt + +This library is free software; you can redistribute it and/or +modify it under the terms of the Lisp Lesser GNU Public License + (http://opensource.franz.com/preamble.html), known as the LLGPL. + +This library is distributed WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +See the Lisp Lesser GNU Public License for more details. + +|# +
(in-package :c-ode)
@@ -24,11 +41,12 @@
(defmacro propagate-feedback (feedback-struct joint) `(with-foreign-slots ((ode:f-1 ode:t-1 ode:f-2 ode:t-2) ,feedback-struct ode:joint-feedback) - ,@(loop for (ode slot) on '(f-1 force-1 t-1 torque-1 f-2 torque-2) by #'cddr + ,@(loop for (ode slot) on '(f-1 force-1 t-1 torque-1 f-2 force-2 t-2 torque-2) by #'cddr collect `(setf (,slot ,joint) (coerce (loop for i from 0 below 3 collecting (mem-aref ,(intern (string ode) :ode) 'real i)) 'vector)))))
(defmethod update :after ((self joint)) - (propagate-feedback (feedback-struct self) self)) + (unless (typep self 'contact-joint) + (propagate-feedback (feedback-struct self) self)))
;;; --- /project/cells/cvsroot/cells-ode/mass.lisp 2008/02/09 14:02:17 1.3 +++ /project/cells/cvsroot/cells-ode/mass.lisp 2008/06/01 20:26:49 1.4 @@ -1,3 +1,20 @@ +#| + + Cells-ODE -- A cells driven interface to cl-ode + +Copyright (C) 2008 by Peter Hildebrandt + +This library is free software; you can redistribute it and/or +modify it under the terms of the Lisp Lesser GNU Public License + (http://opensource.franz.com/preamble.html), known as the LLGPL. + +This library is distributed WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +See the Lisp Lesser GNU Public License for more details. + +|# +
(in-package :c-ode)
--- /project/cells/cvsroot/cells-ode/objects.lisp 2008/02/09 14:02:17 1.3 +++ /project/cells/cvsroot/cells-ode/objects.lisp 2008/06/01 20:26:49 1.4 @@ -1,3 +1,20 @@ +#| + + Cells-ODE -- A cells driven interface to cl-ode + +Copyright (C) 2008 by Peter Hildebrandt + +This library is free software; you can redistribute it and/or +modify it under the terms of the Lisp Lesser GNU Public License + (http://opensource.franz.com/preamble.html), known as the LLGPL. + +This library is distributed WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +See the Lisp Lesser GNU Public License for more details. + +|# +
;;; --- /project/cells/cvsroot/cells-ode/ode-compat.lisp 2008/02/09 11:18:12 1.2 +++ /project/cells/cvsroot/cells-ode/ode-compat.lisp 2008/06/01 20:26:49 1.3 @@ -1,3 +1,20 @@ +#| + + Cells-ODE -- A cells driven interface to cl-ode + +Copyright (C) 2008 by Peter Hildebrandt + +This library is free software; you can redistribute it and/or +modify it under the terms of the Lisp Lesser GNU Public License + (http://opensource.franz.com/preamble.html), known as the LLGPL. + +This library is distributed WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +See the Lisp Lesser GNU Public License for more details. + +|# +
;;; this is to correct typos and inconsistencies in cl-ode
--- /project/cells/cvsroot/cells-ode/package.lisp 2008/02/09 11:18:12 1.2 +++ /project/cells/cvsroot/cells-ode/package.lisp 2008/06/01 20:26:49 1.3 @@ -1,3 +1,20 @@ +#| + + Cells-ODE -- A cells driven interface to cl-ode + +Copyright (C) 2008 by Peter Hildebrandt + +This library is free software; you can redistribute it and/or +modify it under the terms of the Lisp Lesser GNU Public License + (http://opensource.franz.com/preamble.html), known as the LLGPL. + +This library is distributed WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +See the Lisp Lesser GNU Public License for more details. + +|# +
(in-package :cl-user)
--- /project/cells/cvsroot/cells-ode/primitives.lisp 2008/02/09 11:18:12 1.2 +++ /project/cells/cvsroot/cells-ode/primitives.lisp 2008/06/01 20:26:49 1.3 @@ -1,3 +1,20 @@ +#| + + Cells-ODE -- A cells driven interface to cl-ode + +Copyright (C) 2008 by Peter Hildebrandt + +This library is free software; you can redistribute it and/or +modify it under the terms of the Lisp Lesser GNU Public License + (http://opensource.franz.com/preamble.html), known as the LLGPL. + +This library is distributed WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +See the Lisp Lesser GNU Public License for more details. + +|# +
;;; ;;; code to implement primitives (body + mass + geom) --- /project/cells/cvsroot/cells-ode/simulate.lisp 2008/02/09 14:02:17 1.3 +++ /project/cells/cvsroot/cells-ode/simulate.lisp 2008/06/01 20:26:49 1.4 @@ -1,3 +1,20 @@ +#| + + Cells-ODE -- A cells driven interface to cl-ode + +Copyright (C) 2008 by Peter Hildebrandt + +This library is free software; you can redistribute it and/or +modify it under the terms of the Lisp Lesser GNU Public License + (http://opensource.franz.com/preamble.html), known as the LLGPL. + +This library is distributed WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +See the Lisp Lesser GNU Public License for more details. + +|# +
(in-package :c-ode)
@@ -6,6 +23,8 @@ ;;; init & cleanup ;;;
+(export! ode-init ode-cleanup ode-step) + (defun ode-init () (when *objects* (ode-cleanup)) (ode:init-ode) --- /project/cells/cvsroot/cells-ode/test-c-ode.lisp 2008/02/09 11:18:12 1.3 +++ /project/cells/cvsroot/cells-ode/test-c-ode.lisp 2008/06/01 20:26:49 1.4 @@ -1,3 +1,20 @@ +#| + + Cells-ODE -- A cells driven interface to cl-ode + +Copyright (C) 2008 by Peter Hildebrandt + +This library is free software; you can redistribute it and/or +modify it under the terms of the Lisp Lesser GNU Public License + (http://opensource.franz.com/preamble.html), known as the LLGPL. + +This library is distributed WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +See the Lisp Lesser GNU Public License for more details. + +|# +
(in-package :c-ode)
--- /project/cells/cvsroot/cells-ode/types.lisp 2008/02/09 14:02:17 1.3 +++ /project/cells/cvsroot/cells-ode/types.lisp 2008/06/01 20:26:49 1.4 @@ -1,3 +1,20 @@ +#| + + Cells-ODE -- A cells driven interface to cl-ode + +Copyright (C) 2008 by Peter Hildebrandt + +This library is free software; you can redistribute it and/or +modify it under the terms of the Lisp Lesser GNU Public License + (http://opensource.franz.com/preamble.html), known as the LLGPL. + +This library is distributed WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +See the Lisp Lesser GNU Public License for more details. + +|# +
;;; ;;; ODE Type conversion --- /project/cells/cvsroot/cells-ode/utility.lisp 2008/02/09 11:18:12 1.2 +++ /project/cells/cvsroot/cells-ode/utility.lisp 2008/06/01 20:26:49 1.3 @@ -1,4 +1,22 @@
+#| + + Cells-ODE -- A cells driven interface to cl-ode + +Copyright (C) 2008 by Peter Hildebrandt + +This library is free software; you can redistribute it and/or +modify it under the terms of the Lisp Lesser GNU Public License + (http://opensource.franz.com/preamble.html), known as the LLGPL. + +This library is distributed WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +See the Lisp Lesser GNU Public License for more details. + +|# + + ;;; ;;; utilty funcs -------------------------------------------------------------------------- ;;; --- /project/cells/cvsroot/cells-ode/world.lisp 2008/02/09 14:02:17 1.4 +++ /project/cells/cvsroot/cells-ode/world.lisp 2008/06/01 20:26:49 1.5 @@ -1,3 +1,20 @@ +#| + + Cells-ODE -- A cells driven interface to cl-ode + +Copyright (C) 2008 by Peter Hildebrandt + +This library is free software; you can redistribute it and/or +modify it under the terms of the Lisp Lesser GNU Public License + (http://opensource.franz.com/preamble.html), known as the LLGPL. + +This library is distributed WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +See the Lisp Lesser GNU Public License for more details. + +|# +
(in-package :cells-ode)
@@ -23,7 +40,7 @@
(defvar *world* nil "ODE world") - +(export! *world*)
(def-ode-model world () ((gravity :type vector :initform (c-in #(0 0 -9.81)) :auto-update nil)