Chapter 16. Index

!#,

the section called “Comments”

#,

the section called “Comments”

,

the section called “Building Classes”

#!,

the section called “Comments”

+ to,

the section called “Defining Methods”

/dev/random,

the section called “Random Numbers”

@define,

the section called “define: Define a Global Constant”

@include,

the section called “include and @use: Load Another Source File”

@nib_file,

the section called “Loading ".nib" Files for Customized Interfaces”

@path,

the section called “path: Specify a Search Path”

@plugin,

the section called “Using Plugins in Simulations”

@use ,

the section called “include and @use: Load Another Source File”

Abstract class,

the section called “Abstract”

acceleration,

the section called “Moving Agents Around the 3D World”

acos() function,

the section called “Mathematical Functions”

add-dependency (method),

the section called “Saving and Loading Individual Objects”

add-menu (method),

the section called “The Simulation Menu and Contextual Menus”

add-menu-separator (method),

the section called “The Simulation Menu and Contextual Menus”

agents,

the section called “Multi-Agent Simulation”

,

Chapter 5

AIFF sound files,

the section called “Playing Sound Effects”

aka,

the section called “Defining Classes”

alias,

the section called “Defining Classes”

all expression,

the section called “Finding All Objects of a Given Type”

angle() function,

the section called “Mathematical Functions”

announce method,

the section called “Triggering Events Using Notifications”

archive (method),

the section called “Saving and Loading Individual Objects”

archive-as-xml (method),

the section called “Saving and Loading Individual Objects”

archiving,

Chapter 11

arrays,

the section called “The list Type”

ASCII,

the section called “Responding to Keyboard Events”

asin() function,

the section called “Mathematical Functions”

assignment,

the section called “Assignments”

AT_DATA plugin constant,

the section called “Getting Values from the brEval Class”

AT_DOUBLE plugin constant,

the section called “Getting Values from the brEval Class”

AT_HASH constant,

the section called “Getting Values from the brEval Class”

AT_INT plugin constant,

the section called “Getting Values from the brEval Class”

AT_LIST constant,

the section called “Getting Values from the brEval Class”

AT_MATRIX plugin constant,

the section called “Getting Values from the brEval Class”

AT_OBJECT plugin constant,

the section called “Getting Values from the brEval Class”

AT_POINTER plugin constant,

the section called “Getting Values from the brEval Class”

AT_STRING plugin constant,

the section called “Getting Values from the brEval Class”

AT_VECTOR plugin constant,

the section called “Getting Values from the brEval Class”

BallJoint class,

the section called “The Joint Class and its Subclasses”

,

the section called “BallJoint”

bitmapping,

the section called “Displaying Objects as Bitmaps”

BraitenbergControl class,

the section called “BraitenbergControl”

BraitenbergHeavyVehicle class,

the section called “BraitenbergHeavyVehicle”

BraitenbergLight class,

the section called “BraitenbergLight”

BraitenbergSensor class,

the section called “BraitenbergSensor”

BraitenbergVehicle class,

the section called “BraitenbergVehicle”

BraitenbergWheel class,

the section called “BraitenbergWheel”

BRDATA plugin macro,

the section called “Getting Values from the brEval Class”

brData structure,

the section called “Archiving Plugin Data With The data Type”

BRDOUBLE plugin macro,

the section called “Getting Values from the brEval Class”

breaking joints,

the section called “Dynamically Creating and Destroying Joints”

BREVE_CLASS_PATH,

the section called “Installing and Running Command-Line breve on Mac OS X, Linux and Windows”

BRHASH plugin macro,

the section called “Getting Values from the brEval Class”

BRINT plugin macro,

the section called “Getting Values from the brEval Class”

BRLIST plugin macro,

the section called “Getting Values from the brEval Class”

BRMATRIX plugin macro,

the section called “Getting Values from the brEval Class”

BROBJECT plugin macro,

the section called “Getting Values from the brEval Class”

BRPOINTER plugin macro,

the section called “Getting Values from the brEval Class”

BRSTRING plugin macro,

the section called “Getting Values from the brEval Class”

BRVECTOR plugin macro,

the section called “Getting Values from the brEval Class”

Camera class,

the section called “Camera”

can-respond (method),

the section called “Testing Whether an Object Responds to a Method Call”

catch-interface-id-xxx (user-defined method),

the section called “Loading ".nib" Files for Customized Interfaces”

catch-key-left-down (method),

the section called “Responding to Keyboard Events”

catch-key-left-up (method),

the section called “Responding to Keyboard Events”

catch-key-X-down (method),

the section called “Responding to Keyboard Events”

catch-key-X-up (method),

the section called “Responding to Keyboard Events”

closest object,

the section called “Finding the Closest Object”

collisions,

the section called “Triggering Events When Agents Collide”

color,

the section called “Changing the Appearance of Agents”

command-line,

the section called “Installing and Running Command-Line breve on Mac OS X, Linux and Windows”

comments,

the section called “Comments”

Control class,

the section called “Control”

control structures,

the section called “Program Control Structures”

controller object,

the section called “The Controller Object”

controller variable,

the section called “Special variables and values”

cos() function,

the section called “Mathematical Functions”

cross() function (cross product),

the section called “Mathematical Functions”

Cube class,

the section called “Cube”

CustomShape class,

the section called “CustomShape”

data,

the section called “The data Type”

data archiving,

the section called “Archiving Plugin Data With The data Type”

Data class,

the section called “Data”

dearchive (method),

the section called “Saving and Loading Individual Objects”

dearchive-xml (method),

the section called “Saving and Loading Individual Objects”

dearchiving,

Chapter 11

define directive,

the section called “define: Define a Global Constant”

dependencies,

the section called “Saving and Loading Individual Objects”

dependency,

the section called “Saving and Loading Individual Objects”

destroy (special method),

the section called “Special Method Names”

dialog box,

the section called “Displaying a Dialog Box”

disable-lighting method,

the section called “Lighting”

disable-reflections (method),

the section called “Setting Up Reflections”

disable-shadow-volumes (method),

the section called “Better Shadows With Shadow Volumes”

disable-shadows (method),

the section called “Simple Shadows”

dot() function (dot product),

the section called “Mathematical Functions”

double (type),

the section called “The float type”

dragging objects,

the section called “The Tool Palette”

,

the section called “Installing and Running Command-Line breve on Mac OS X, Linux and Windows”

Drawing class,

the section called “Drawing”

dynamic joints,

the section called “Dynamically Creating and Destroying Joints”

else,

the section called “The if Statement”

enable-lighting method,

the section called “Lighting”

enable-reflections (method),

the section called “Setting Up Reflections”

enable-shadow-volumes (method),

the section called “Better Shadows With Shadow Volumes”

enable-shadows (method),

the section called “Simple Shadows”

environment variables,

the section called “Installing and Running Command-Line breve on Mac OS X, Linux and Windows”

events,

the section called “Scheduling Events for a Specific Time”

FFNetwork class,

the section called “FFNetwork”

File class,

the section called “File”

FixedJoint class,

the section called “The Joint Class and its Subclasses”

,

the section called “FixedJoint”

float (type),

the section called “The float type”

Floor class,

the section called “Floor”

for,

the section called “The for Loop”

foreach,

the section called “The foreach Loop”

fractal terrain,

the section called “Using Terrains With Physical Simulation”

GADirectedGraph class,

the section called “GADirectedGraph”

GADirectedGraphConnection class,

the section called “GADirectedGraphConnection”

GADirectedGraphNode class,

the section called “GADirectedGraphNode”

GADirectedGraphParameterObject class,

the section called “GADirectedGraphParameterObject”

GAIndividualTransporter class,

the section called “GAIndividualTransporter”

garbage collection,

the section called “Garbage Collection and Memory Management”

Gaussian distribution,

the section called “Mathematical Functions”

GeneticAlgorithm class,

the section called “GeneticAlgorithm”

GeneticAlgorithmIndividual class,

the section called “GeneticAlgorithmIndividual”

Genome class,

the section called “Genome”

get-neighbors (method),

the section called “Finding Neighboring Objects”

get-time (method),

the section called “Scheduling Events for a Specific Time”

global constants,

the section called “define: Define a Global Constant”

Graph class,

the section called “Graph”

graphics,

Chapter 6

GUI,

Chapter 9

handle-collisions (method),

the section called “Triggering Events When Agents Collide”

hash (type),

the section called “The hash Type”

Hello, World!,

the section called “Hello, World”

hexadecimal,

the section called “Responding to Keyboard Events”

HTML,

Chapter 12

if,

the section called “The if Statement”

Image class,

the section called “Image”

include directive,

the section called “include and @use: Load Another Source File”

infinity,

the section called “Mathematical Functions”

init (special method),

the section called “Special Method Names”

instance,

the section called “Building Classes”

instance variable,

the section called “Defining Instance Variables”

,

the section called “Optional Arguments in Methods”

int (type),

the section called “The int type”

Interface Builder,

the section called “Loading ".nib" Files for Customized Interfaces”

internal function calls,

the section called “Internal Function Calls”

is (method),

the section called “Testing the Type of an Object”

isinf() function,

the section called “Mathematical Functions”

isnan() function,

the section called “Mathematical Functions”

iterate (special method),

the section called “Special Method Names”

Joint class,

the section called “The Joint Class and its Subclasses”

,

the section called “Joint”

JPEG image files,

the section called “Loading Image Files”

keyboard events,

the section called “Responding to Keyboard Events”

keyword,

the section called “Defining Methods”

lighting,

the section called “Lighting”

lightmapping,

the section called “Displaying Objects as "Lightmaps"”

Line class,

the section called “Line”

Link (class),

Chapter 5

Link class,

the section called “The Link Class”

,

the section called “Link”

Linux,

the section called “Installing and Running Command-Line breve on Mac OS X, Linux and Windows”

,

the section called “Building Plugins With Linux”

list (type),

the section called “The list Type”

list operators
location,

the section called “Moving Agents Around the 3D World”

log() function,

the section called “Mathematical Functions”

Mac OS X,

the section called “Installing and Running the breve Application on Mac OS X”

,

the section called “Installing and Running Command-Line breve on Mac OS X, Linux and Windows”

,

the section called “Loading ".nib" Files for Customized Interfaces”

,

the section called “Building Plugins With Mac OS X”

mathematical assignment operators
mathematical functions,

the section called “Mathematical Functions”

mathematical operators
matrix (type),

the section called “The matrix type”

Matrix class,

the section called “Matrix”

Matrix2D class,

the section called “Matrix2D”

Matrix3D class,

the section called “Matrix3D”

MatrixImage class,

the section called “MatrixImage”

max() function,

the section called “Mathematical Functions”

memory management,

the section called “Garbage Collection and Memory Management”

MenuItem class,

the section called “MenuItem”

MeshShape class,

the section called “MeshShape”

method calls,

the section called “Method Calls”

method definition,

the section called “Defining Methods”

min() function,

the section called “Mathematical Functions”

Mobile (class),

Chapter 5

Mobile class,

the section called “Mobile”

move (method),

the section called “Moving Agents Around the 3D World”

move-light method,

the section called “Lighting”

Movie class,

Chapter 10

,

the section called “Movie”

movie export,

Chapter 10

MPEG export,

Chapter 10

multi-agent simulation,

the section called “Multi-Agent Simulation”

MultiBody class,

the section called “The MultiBody class”

,

the section called “MultiBody”

NaN (not-a-number),

the section called “Mathematical Functions”

neighbor detection,

the section called “Finding Neighboring Objects”

networking,

Chapter 12

NetworkServer class,

the section called “NetworkServer”

NeuralNetwork class,

the section called “NeuralNetwork”

nib files,

the section called “Loading ".nib" Files for Customized Interfaces”

,

the section called “Creating ".nib" Files Without Using the Included Template”

notifications,

the section called “Triggering Events Using Notifications”

object (type),

the section called “The object Type”

object archiving,

the section called “Saving and Loading Individual Objects”

Object class,

the section called “Object”

object dearchiving,

the section called “Saving and Loading Individual Objects”

object-oriented programming,

the section called “Writing breve Simulations With "steve"”

observe method,

the section called “Triggering Events Using Notifications”

Open Dynamics Engine (ODE),

Chapter 8

operators
orphaned link,

the section called “The Link Class”

Patch class,

the section called “Patch”

PatchGrid class,

the section called “PatchGrid”

PatchToroid class,

the section called “PatchToroid”

path directive,

the section called “path: Specify a Search Path”

physical simulation,

Chapter 8

PhysicalControl class,

the section called “PhysicalControl”

physics,

the section called “Physical Simulation”

,

Chapter 8

plugins,

Chapter 13

PNG export,

Chapter 10

PNG image files,

the section called “Loading Image Files”

pointer (type),

the section called “The pointer Type”

PolygonCone class,

the section called “PolygonCone”

PolygonDisk class,

the section called “PolygonDisk”

post-iterate (special method),

the section called “Special Method Names”

print,

the section called “Printing information with print and printf”

printf,

the section called “Printing information with print and printf”

PrismaticJoint class,

the section called “The Joint Class and its Subclasses”

,

the section called “PrismaticJoint”

pseudo-physics,

the section called “When to Use Physical Simulation”

PushClusterGP class,

the section called “PushClusterGP”

PushDiversityPool class,

the section called “PushDiversityPool”

PushGP class,

the section called “PushGP”

PushGPIndividual class,

the section called “PushGPIndividual”

PushInterpreter class,

the section called “PushInterpreter”

PushProgram class,

the section called “PushProgram”

PushProgramTransporter class,

the section called “PushProgramTransporter”

QProgram class,

the section called “QProgram”

QSystem class,

the section called “QSystem”

random numbers,

the section called “Random Numbers”

randomGauss() function,

the section called “Mathematical Functions”

Real (class),

Chapter 5

Real class,

the section called “Real”

reflections,

the section called “Shadows and Reflections”

RevoluteJoint class,

the section called “The Joint Class and its Subclasses”

,

the section called “RevoluteJoint”

rotate-tool,

the section called “The Tool Palette”

,

the section called “Installing and Running Command-Line breve on Mac OS X, Linux and Windows”

save-as-xml (method),

the section called “Saving and Loading the Entire State of a Simulation”

save-snapshot,

Chapter 10

schedule (method),

the section called “Scheduling Events for a Specific Time”

search path,

the section called “path: Specify a Search Path”

selection-tool,

the section called “The Tool Palette”

,

the section called “Installing and Running Command-Line breve on Mac OS X, Linux and Windows”

self,

the section called “Special variables and values”

sending objects,

Chapter 12

set-acceleration (method),

the section called “Moving Agents Around the 3D World”

set-bitmap-image Method,

the section called “Displaying Objects as Bitmaps”

set-color (method),

the section called “Changing the Appearance of Agents”

set-interface-item (method),

the section called “Loading ".nib" Files for Customized Interfaces”

set-neighborhood-size (method),

the section called “Finding Neighboring Objects”

set-velocity (method),

the section called “Moving Agents Around the 3D World”

SGI image files,

the section called “Loading Image Files”

shadow volumes,

the section called “Better Shadows With Shadow Volumes”

shadows,

the section called “Shadows and Reflections”

Shape class,

the section called “Shape”

show-dialog (method),

the section called “Displaying a Dialog Box”

simulation archiving,

the section called “Saving and Loading the Entire State of a Simulation”

simulation dearchiving,

the section called “Saving and Loading the Entire State of a Simulation”

sin() function,

the section called “Mathematical Functions”

snapshots,

Chapter 10

Sound class,

the section called “Playing Sound Effects”

,

the section called “Sound”

sounds,

the section called “Playing Sound Effects”

space,

the section called “3D Spatial Simulation”

spatial simulation,

the section called “3D Spatial Simulation”

Sphere class,

the section called “Sphere”

Spring class,

the section called “Spring”

sqrt() function,

the section called “Mathematical Functions”

stability,

the section called “Writing Stable Physical Simulations”

Stationary (class),

Chapter 5

Stationary class,

the section called “Stationary”

string (type),

the section called “The string Type”

subclass,

the section called “Defining Classes”

subexpressions,

the section called “Using Subexpressions”

super,

the section called “Special variables and values”

tan() function,

the section called “Mathematical Functions”

terrain,

the section called “Using Terrains With Physical Simulation”

Terrain class,

the section called “Terrain”

Tone class,

the section called “Tone”

Tracer class,

the section called “Tracer”

transpose() function,

the section called “Mathematical Functions”

TurtleDrawing class,

the section called “TurtleDrawing”

types,

the section called “Types in "steve"”

UniversalJoint class,

the section called “The Joint Class and its Subclasses”

,

the section called “UniversalJoint”

update-neighbors (method),

the section called “Finding Neighboring Objects”

use directive,

the section called “include and @use: Load Another Source File”

user interface,

Chapter 9

vector (type),

the section called “The vector Type”

Vector class,

the section called “Vector”

vector components, setting and extracting,

the section called “vector Operators”

vector operators,

the section called “vector Operators”

VectorImage class,

the section called “VectorImage”

velocity,

the section called “Moving Agents Around the 3D World”

Wanderer class,

the section called “Wanderer”

WAV sound files,

the section called “Playing Sound Effects”

web-browser,

Chapter 12

web-server,

Chapter 12

while,

the section called “The while Loop”

Windows,

the section called “Installing and Running Command-Line breve on Mac OS X, Linux and Windows”

,

the section called “Building Plugins With Windows”

XML files,

Chapter 11

zoom-tool,

the section called “The Tool Palette”

,

the section called “Installing and Running Command-Line breve on Mac OS X, Linux and Windows”