Mercurial > cortex
changeset 487:19b55aaf4462
complete first draft of user guide.
author | Robert McIntyre <rlm@mit.edu> |
---|---|
date | Sat, 29 Mar 2014 20:17:58 -0400 |
parents | 6d460ac3f5d0 |
children | 21b9dcec8d71 |
files | thesis/user-guide.org |
diffstat | 1 files changed, 33 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
1.1 --- a/thesis/user-guide.org Sat Mar 29 20:12:52 2014 -0400 1.2 +++ b/thesis/user-guide.org Sat Mar 29 20:17:58 2014 -0400 1.3 @@ -239,42 +239,57 @@ 1.4 since the last frame was rendered, according to whatever 1.5 clock jme is currently using. The default is to use IsoTimer 1.6 which will result in this value always being the same. 1.7 - 1.8 1.9 - =(position-camera world position rotation)= :: set the position 1.10 of the simulation's main camera. 1.11 + 1.12 - =(enable-debug world)= :: turn on debug wireframes for each 1.13 simulated object. 1.14 + 1.15 - =(set-gravity world gravity)= :: set the gravity of a running 1.16 simulation. 1.17 + 1.18 - =(box length width height & {options})= :: create a box in the 1.19 simulation. Options is a hash map specifying texture, mass, 1.20 etc. Possible options are =:name=, =:color=, =:mass=, 1.21 =:friction=, =:texture=, =:material=, =:position=, 1.22 =:rotation=, =:shape=, and =:physical?=. 1.23 + 1.24 - =(sphere radius & {options})= :: create a sphere in the simulation. 1.25 Options are the same as in =box=. 1.26 + 1.27 - =(load-blender-model file-name)= :: create a node structure 1.28 representing that described in a blender file. 1.29 + 1.30 - =(light-up-everything world)= :: distribute a standard compliment 1.31 of lights throught the simulation. Should be adequate for most 1.32 purposes. 1.33 + 1.34 - =(node-seq node)= :: return a recursuve list of the node's 1.35 children. 1.36 + 1.37 - =(nodify name children)= :: construct a node given a node-name and 1.38 desired children. 1.39 + 1.40 - =(add-element world element)= :: add an object to a running world 1.41 simulation. 1.42 + 1.43 - =(set-accuracy world accuracy)= :: change the accuracy of the 1.44 world's physics simulator. 1.45 + 1.46 - =(asset-manager)= :: get an /AssetManager/, a jMonkeyEngine 1.47 construct that is useful for loading textures and is required 1.48 for smooth interaction with jMonkeyEngine library functions. 1.49 + 1.50 + - =(load-bullet)= :: unpack native libraries and initialize 1.51 + blender. This function is required before other world building 1.52 + functions are called. 1.53 1.54 1.55 *** Creature Manipulation / Import 1.56 1.57 - =(body! creature)= :: give the creature a physical body. 1.58 + 1.59 - =(vision! creature)= :: give the creature a sense of vision. 1.60 Returns a list of functions which will each, when called 1.61 during a simulation, return the vision data for the channel of 1.62 @@ -284,6 +299,7 @@ 1.63 containing the eye's /topology/, a vector of coordinates, and 1.64 the eye's /data/, a vector of RGB values filtered by the eye's 1.65 sensitivity. 1.66 + 1.67 - =(hearing! creature)= :: give the creature a sense of hearing. 1.68 Returns a list of functions, one for each ear, that when 1.69 called will return a frame's worth of hearing data for that 1.70 @@ -291,6 +307,7 @@ 1.71 order of the names of the ear nodes in the blender file. The 1.72 data returned by the functions is an array PCM encoded wav 1.73 data. 1.74 + 1.75 - =(touch! creature)= :: give the creature a sense of touch. Returns 1.76 a single function that must be called with the /root node/ of 1.77 the world, and which will return a vector of /touch-data/ 1.78 @@ -298,10 +315,12 @@ 1.79 which contains a /topology/ that specifies the distribution of 1.80 touch sensors, and the /data/, which is a vector of 1.81 =[activation, length]= pairs for each touch hair. 1.82 + 1.83 - =(proprioception! creature)= :: give the creature the sense of 1.84 proprioception. Returns a list of functions, one for each 1.85 joint, that when called during a running simulation will 1.86 report the =[headnig, pitch, roll]= of the joint. 1.87 + 1.88 - =(movement! creature)= :: give the creature the power of movement. 1.89 Creates a list of functions, one for each muscle, that when 1.90 called with an integer, will set the recruitment of that 1.91 @@ -314,25 +333,33 @@ 1.92 - =(view-vision)= :: create a function that when called with a list 1.93 of visual data returned from the functions made by =vision!=, 1.94 will display that visual data on the screen. 1.95 + 1.96 - =(view-hearing)= :: same as =view-vision= but for hearing. 1.97 + 1.98 - =(view-touch)= :: same as =view-vision= but for touch. 1.99 + 1.100 - =(view-proprioception)= :: same as =view-vision= but for 1.101 proprioception. 1.102 + 1.103 - =(view-movement)= :: same as =view-vision= but for 1.104 proprioception. 1.105 + 1.106 - =(view anything)= :: =view= is a polymorphic function that allows 1.107 you to inspect almost anything you could reasonably expect to 1.108 be able to ``see'' in =CORTEX=. 1.109 + 1.110 - =(text anything)= :: =text= is a polymorphic function that allows 1.111 you to convert practically anything into a text string. 1.112 + 1.113 - =(println-repl anything)= :: print messages to clojure's repl 1.114 instead of the simulation's terminal window. 1.115 1.116 -*** Misc 1.117 - 1.118 - - =(load-bullet)= :: unpack native libraries and initialize 1.119 - blender. This function is required before other world building 1.120 - functions are called. 1.121 - =(mega-import-jme3)= :: for experimenting at the REPL. This 1.122 function will import all jMonkeyEngine3 classes for immediate 1.123 use. 1.124 + 1.125 + - =(display-dialated-time world timer)= :: Shows the time as it is 1.126 + flowing in the simulation on a HUD display. 1.127 + 1.128 + 1.129 +