annotate org/integration.org @ 151:aaacf087504c

refactored vision code
author Robert McIntyre <rlm@mit.edu>
date Fri, 03 Feb 2012 05:52:18 -0700
parents 257a86328adb
children
rev   line source
rlm@73 1
rlm@73 2
rlm@73 3 * TODO goals for today
rlm@73 4 - [X] create falling cube in blender
rlm@73 5 - [ ] record falling cube animation in blender
rlm@73 6 - [ ] import falling cube in jMonkeyEngine
rlm@73 7 - [ ] record jmonkeyEngine cube animation
rlm@73 8
rlm@73 9
rlm@73 10 #+name: integration
rlm@73 11 #+begin_src clojure
rlm@73 12 (ns cortex.integration
rlm@73 13 "Enable loading creatures with senses from blender."
rlm@73 14 {:author "Robert McIntyre"})
rlm@73 15
rlm@73 16 ;; TODO remove this!
rlm@73 17 (require 'cortex.import)
rlm@73 18 (cortex.import/mega-import-jme3)
rlm@73 19 (use '(cortex world util))
rlm@73 20
rlm@73 21 (rlm.rlm-commands/help)
rlm@73 22
rlm@73 23
rlm@73 24
rlm@73 25 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
rlm@73 26
rlm@73 27 ;; this could be a good way to give objects special properties like
rlm@73 28 ;; being eyes and the like
rlm@73 29 (defn load-blender-model
rlm@73 30 "Load a .blend file using an asset folder relative path."
rlm@73 31 [^String model]
rlm@73 32 (.loadModel
rlm@73 33 (doto (asset-manager)
rlm@73 34 (.registerLoader BlenderModelLoader (into-array String ["blend"])))
rlm@73 35 model))
rlm@73 36
rlm@73 37 (defn scene []
rlm@73 38 (load-blender-model "Models/property/test.blend"))
rlm@73 39
rlm@73 40 (defn test-GET! []
rlm@73 41 (.getUserData
rlm@73 42 (.getChild
rlm@73 43 (scene) 0)
rlm@73 44 "properties"))
rlm@73 45
rlm@73 46 (defn make-eye []
rlm@73 47 (println "hi"))
rlm@73 48
rlm@73 49 (defn test-eval-prop []
rlm@73 50 (eval (read-string (.findValue (test-GET!) "form"))))
rlm@73 51
rlm@73 52 ;; the properties are saved along with the blender file.
rlm@73 53 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
rlm@73 54
rlm@73 55
rlm@73 56
rlm@73 57 ;; Sensors are thunk-functions that return sensory data.
rlm@73 58 ;; Effectors take data and cause changes in the results of the sensor
rlm@73 59 ;; functions.
rlm@73 60
rlm@73 61 (defrecord Creature [sensors effectors])
rlm@73 62
rlm@73 63
rlm@73 64
rlm@73 65
rlm@73 66
rlm@73 67
rlm@73 68
rlm@73 69
rlm@73 70
rlm@73 71 #+end_src
rlm@73 72
rlm@73 73
rlm@73 74
rlm@73 75 #+begin_src clojure :tangle ../src/cortex/integration.clj
rlm@73 76 <<integration>>
rlm@73 77 #+end_src
rlm@73 78
rlm@73 79
rlm@73 80