Index

Symbols

#, A Simple Example, Building Classes
+ to, Defining Methods
/dev/random, Random Numbers
@define, @define: Define a Global Constant
@include, @include and @use: Load Another Source File
@nib_file, Loading ".nib" Files for Customized Interfaces
@path, @path: Specify a Search Path
@plugin, Using Plugins in Simulations
@use , @include and @use: Load Another Source File

A

Abstract class, breve Class Documentation
acceleration, Moving Agents Around the 3D World
acos() function, Mathematical Functions
add-dependency (method), Saving and Loading Individual Objects
add-menu (method), The Simulation Menu and Contextual Menus
add-menu-separator (method), The Simulation Menu and Contextual Menus
agents, Multi-Agent Simulation, Defining Basic Agents
AIFF sound files, Playing Sound Effects
aka, Defining Classes
alias, Defining Classes
all expression, Finding All Objects of a Given Type
angle() function, Mathematical Functions
announce method, Triggering Events Using Notifications
archive (method), Saving and Loading Individual Objects
archive-as-xml (method), Saving and Loading Individual Objects
archiving, Archiving and Dearchiving Objects and Simulations
arrays, Arrays of other types
ASCII, Responding to Keyboard Events
asin() function, Mathematical Functions
assignment, Assignments

B

BallJoint class, The Joint Class and its Subclasses, breve Class Documentation
bitmapping, Displaying Objects as Bitmaps
BraitenbergControl class, breve Class Documentation
BraitenbergLight class, breve Class Documentation
BraitenbergSensor class, breve Class Documentation
BraitenbergVehicle class, breve Class Documentation
BraitenbergWheel class, breve Class Documentation
breaking joints, Dynamically Creating and Destroying Joints
BREVE_CLASS_PATH, Installing and Running Command-Line breve on Mac OS X, Linux and Windows

C

caller, Special variables
can-respond (method), Testing Whether an Object Responds to a Method Call
catch-interface-id-xxx (user-defined method), Loading ".nib" Files for Customized Interfaces
catch-key-X-down (method), Responding to Keyboard Events
catch-key-X-up (method), Responding to Keyboard Events
closest object, Finding the Closest Object
collisions, Triggering Events When Agents Collide
color, Changing the Appearance of Agents
command-line, Installing and Running Command-Line breve on Mac OS X, Linux and Windows
comments, A Simple Example
Control class, breve Class Documentation
control structures, Program Control Structures
controller object, The Controller Object
controller variable, Special variables
cos() function, Mathematical Functions
cross() function (cross product), Mathematical Functions
Cube class, breve Class Documentation
CustomShape class, breve Class Documentation

D

data, The data Type
data archiving, Archiving Plugin Data With The data Type
Data class, breve Class Documentation
dearchive (method), Saving and Loading Individual Objects
dearchive-xml (method), Saving and Loading Individual Objects
dearchiving, Archiving and Dearchiving Objects and Simulations
define directive, @define: Define a Global Constant
dependencies, Saving and Loading Individual Objects
destroy (special method), Special Method Names
dialog box, Displaying a Dialog Box
disable-lighting method, Lighting
disable-reflections (method), Setting Up Reflections
disable-shadow-volumes (method), Better Shadows With Shadow Volumes
disable-shadows (method), Simple Shadows
dot() function (dot product), Mathematical Functions
double (type), The float type
dragging objects, The Tool Palette, Installing and Running Command-Line breve on Mac OS X, Linux and Windows
dynamic joints, Dynamically Creating and Destroying Joints

E

else, The if Statement
enable-lighting method, Lighting
enable-reflections (method), Setting Up Reflections
enable-shadow-volumes (method), Better Shadows With Shadow Volumes
enable-shadows (method), Simple Shadows
environment variables, Installing and Running Command-Line breve on Mac OS X, Linux and Windows
events, Scheduling Events for a Specific Time

F

File class, breve Class Documentation
FixedJoint class, The Joint Class and its Subclasses, breve Class Documentation
float (type), The float type
for, The for Loop
foreach, The foreach Loop
fractal terrain, Using Terrains With Physical Simulation

G

Gaussian distribution, Mathematical Functions
Genome class, breve Class Documentation
get-neighbors (method), Finding Neighboring Objects
get-time (method), Scheduling Events for a Specific Time
global constants, @define: Define a Global Constant
Graph class, breve Class Documentation
graphics, Graphics and Sound
GUI, Graphical User Interface

H

handle-collisions (method), Triggering Events When Agents Collide
hash (type), The hash Type
Hello, World!, Hello, World
hexadecimal, Responding to Keyboard Events
HTML, Networking

I

if, The if Statement
Image class, breve Class Documentation
include directive, @include and @use: Load Another Source File
infinity, Mathematical Functions
init (special method), Special Method Names
instance, Building Classes
instance variable, Defining Instance Variables
int (type), The int type
Interface Builder, Loading ".nib" Files for Customized Interfaces
internal function calls, Internal Function Calls
is (method), Testing the Type of an Object
isinf() function, Mathematical Functions
isnan() function, Mathematical Functions
iterate (special method), Special Method Names

J

JavaObject class, breve Class Documentation
Joint class, The Joint Class and its Subclasses, breve Class Documentation
JPEG image files, Loading Image Files

K

keyboard events, Responding to Keyboard Events
keyword, Defining Methods

L

lighting, Lighting
lightmapping, Displaying Objects as "Lightmaps"
Link class, The Link Class, breve Class Documentation
Linux, Installing and Running Command-Line breve on Mac OS X, Linux and Windows, Building Plugins With Linux
list (type), The list Type
list operators
copylist, list Operators
length, list Operators
pop, list Operators
prepend, list Operators
push, list Operators
sort, list Operators
unprepend, list Operators
location, Moving Agents Around the 3D World
log() function, Mathematical Functions

M

Mac OS X, Installing and Running the breve Application on Mac OS X, Installing and Running Command-Line breve on Mac OS X, Linux and Windows, Loading ".nib" Files for Customized Interfaces, Building Plugins With Mac OS X
mathematical assignment operators
add-assign (+=), Mathematical Assignment Expressions
decrement (--), Mathematical Assignment Expressions
divide-assign (/=), Mathematical Assignment Expressions
increment (++), Mathematical Assignment Expressions
modulus-assign (%=), Mathematical Assignment Expressions
multiply-assign (*=), Mathematical Assignment Expressions
power-assign (^=), Mathematical Assignment Expressions
subtract-assign (-=), Mathematical Assignment Expressions
mathematical functions, Mathematical Functions
mathematical operators
addition (+), Mathematical Expressions
division (/), Mathematical Expressions
modulus (%), Mathematical Expressions
multiplication (*), Mathematical Expressions
power (^), Mathematical Expressions
subtraction (-), Mathematical Expressions
matrix (type), matrix
max() function, Mathematical Functions
MenuItem class, breve Class Documentation
method calls, Method Calls
method definition, Defining Methods
min() function, Mathematical Functions
Mobile (class), Defining Basic Agents
Mobile class, breve Class Documentation
move (method), Moving Agents Around the 3D World
move-light method, Lighting
Movie class, Saving Movies and Snapshots, breve Class Documentation
movie export, Saving Movies and Snapshots
MPEG export, Saving Movies and Snapshots
multi-agent simulation, Multi-Agent Simulation
MultiBody (class), Defining Basic Agents
MultiBody class, The MultiBody class, breve Class Documentation

N

NaN (not-a-number), Mathematical Functions
neighbor detection, Finding Neighboring Objects
networking, Networking
NetworkServer class, breve Class Documentation
NeuralNetwork class, breve Class Documentation
nib files, Loading ".nib" Files for Customized Interfaces, Creating ".nib" Files Without Using the Included Template
notifications, Triggering Events Using Notifications

O

object (type), The object Type
object archiving, Saving and Loading Individual Objects
Object class, breve Class Documentation
object dearchiving, Saving and Loading Individual Objects
object-oriented programming, "steve" Language Reference
observe method, Triggering Events Using Notifications
Open Dynamics Engine (ODE), Physical Simulation
operators
assignment (=), Assignments
list, list Operators
mathematical, Mathematical Expressions
mathematical assignment operators, Mathematical Assignment Expressions
orphaned link, The Link Class, Dynamically Creating and Destroying Joints
orphaned link adoption, Dynamically Creating and Destroying Joints

P

Patch class, breve Class Documentation
PatchGrid class, breve Class Documentation
PatchToroid class, breve Class Documentation
path directive, @path: Specify a Search Path
physical simulation, Physical Simulation
PhysicalControl class, breve Class Documentation
physics, Physical Simulation, Physical Simulation
plugins, Plugins
PNG export, Saving Movies and Snapshots
PNG image files, Loading Image Files
pointer (type), The pointer Type
PolygonCone class, breve Class Documentation
PolygonDisk class, breve Class Documentation
post-iterate (special method), Special Method Names
print, Printing information with print and printf
printf, Printing information with print and printf
PrismaticJoint class, The Joint Class and its Subclasses, breve Class Documentation
pseudo-physics, When to Use Physical Simulation

R

random numbers, Random Numbers
randomGauss() function, Mathematical Functions
Real (class), Defining Basic Agents
Real class, breve Class Documentation
reflections, Shadows and Reflections
RevoluteJoint class, The Joint Class and its Subclasses, breve Class Documentation
rotate-tool, The Tool Palette, Installing and Running Command-Line breve on Mac OS X, Linux and Windows

S

save-as-xml (method), Saving and Loading the Entire State of a Simulation
save-snapshot, Saving Movies and Snapshots
schedule (method), Scheduling Events for a Specific Time
search path, @path: Specify a Search Path
selection-tool, The Tool Palette, Installing and Running Command-Line breve on Mac OS X, Linux and Windows
self, Special variables
sending objects, Networking
set-acceleration (method), Moving Agents Around the 3D World
set-bitmap Method, Displaying Objects as Bitmaps
set-color (method), Changing the Appearance of Agents
set-interface-item (method), Loading ".nib" Files for Customized Interfaces
set-neighborhood-size (method), Finding Neighboring Objects
set-velocity (method), Moving Agents Around the 3D World
SGI image files, Loading Image Files
shadow volumes, Better Shadows With Shadow Volumes
shadows, Shadows and Reflections
Shape class, breve Class Documentation
show-dialog (method), Displaying a Dialog Box
simulation archiving, Saving and Loading the Entire State of a Simulation
simulation dearchiving, Saving and Loading the Entire State of a Simulation
sin() function, Mathematical Functions
snapshots, Saving Movies and Snapshots
Sound class, Playing Sound Effects, breve Class Documentation
sounds, Playing Sound Effects
space, 3D Spatial Simulation
spatial simulation, 3D Spatial Simulation
Sphere class, breve Class Documentation
sqrt() function, Mathematical Functions
stability, Writing Stable Physical Simulations
Stationary (class), Defining Basic Agents
Stationary class, breve Class Documentation
STDATA plugin macro, Writing C Wrapper Functions Around Existing Code
stData structure, Archiving Plugin Data With The data Type
STDOUBLE plugin macro, Writing C Wrapper Functions Around Existing Code
STHASH plugin macro, Writing C Wrapper Functions Around Existing Code
STINT plugin macro, Writing C Wrapper Functions Around Existing Code
STLIST plugin macro, Writing C Wrapper Functions Around Existing Code
STMATRIX plugin macro, Writing C Wrapper Functions Around Existing Code
STOBJECT plugin macro, Writing C Wrapper Functions Around Existing Code
STPOINTER plugin macro, Writing C Wrapper Functions Around Existing Code
string (type), The string Type
STSTRING plugin macro, Writing C Wrapper Functions Around Existing Code
STVECTOR plugin macro, Writing C Wrapper Functions Around Existing Code
ST_DATA plugin constant, Writing C Wrapper Functions Around Existing Code
ST_DOUBLE plugin constant, Writing C Wrapper Functions Around Existing Code
ST_HASH constant, Writing C Wrapper Functions Around Existing Code
ST_INT plugin constant, Writing C Wrapper Functions Around Existing Code
ST_LIST constant, Writing C Wrapper Functions Around Existing Code
ST_MATRIX plugin constant, Writing C Wrapper Functions Around Existing Code
ST_OBJECT plugin constant, Writing C Wrapper Functions Around Existing Code
ST_POINTER plugin constant, Writing C Wrapper Functions Around Existing Code
ST_STRING plugin constant, Writing C Wrapper Functions Around Existing Code
ST_VECTOR plugin constant, Writing C Wrapper Functions Around Existing Code
subclass, Defining Classes
subexpressions, Using Subexpressions
super, Special variables

T

tan() function, Mathematical Functions
terrain, Using Terrains With Physical Simulation
Terrain class, breve Class Documentation
Tone class, breve Class Documentation
transpose() function, Mathematical Functions
types, Types in "steve"

U

UniversalJoint class, The Joint Class and its Subclasses, breve Class Documentation
update-neighbors (method), Finding Neighboring Objects
use directive, @include and @use: Load Another Source File
user interface, Graphical User Interface

V

vector (type), The vector Type
velocity, Moving Agents Around the 3D World
Vision class, breve Class Documentation

W

Wanderer class, breve Class Documentation
WAV sound files, Playing Sound Effects
web-browser, Networking
web-server, Networking
while, The while Loop
Windows, Installing and Running Command-Line breve on Mac OS X, Linux and Windows, Building Plugins With Windows

X

XML files, Archiving and Dearchiving Objects and Simulations

Z

zoom-tool, The Tool Palette, Installing and Running Command-Line breve on Mac OS X, Linux and Windows