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)