Squeak Class Documentation category index | class index  
 
Wonderland
  category: Balloon3D-Wonderland Core
  superclass: Object
  subclasses:

What is Squeak-Alice?

Alice (http://www.alice.org) is an authoring tool designed to allow people without programming experience to build interactive 3D worlds. The Stage 3 Research Group (Randy Pausch director) started the Alice project at the University of Virginia, and is continuing their work at Carnegie Mellon University (http://www.cs.cmu.edu/~stage). Squeak-Alice brings the ideas and the ideals of Alice to Squeak, with the goal of introducing even more people to 3D graphics and allowing them to author in the medium.

Wonderlands are the basic building blocks of Squeak-Alice; a Wonderland is an interactive 3D world.

To create a Wonderland, evaluate:

Wonderland new

This creates a script editor, a control panel, and a window into the 3D world. From here you're ready to start building your world.

Jeff Pierce
jpierce@cs.cmu.edu

instance methods
  accessing
  getActorClassList
getCameraList
getDefaultCamera
getEditor
getLights
getNamespace
getScene
getScheduler
getSharedMeshDict
getSharedTextureDict
getUndoStack

  composite animations
  doInOrder:
doTogether:

  creating
  createHierarchyFrom3DS:
createSimpleActor:named:parent:
duplicateActor:
fixNameFrom:
loadActor
makeActor
makeActorFrom3DS:
makeActorFrom:
makeActorFromVRML:
makeActorFromVRML:named:
makeActorNamed:
makeBaseActorFrom:
makeCamera
makeCameraNamed:
makeCameraNamed:parent:
makeLight
makeLight:
makeLight:named:
makePlaneNamed:
makeScriptEditor
makeTextureFrom:
makeTextureFrom:flipping:
protoClassFor:
uniqueNameFrom:

  drawing
  renderWonderland:

  error handling
  reportErrorToUser:

  initialize-reset-release
  initialize
objectForDataStream:
prepareToBeSaved
rectifyActorClassList
release
reset

  undo
  undo

class methods
  accessing
  wonderlandConstants

  actor prototype mgmt
  rectifyActorPrototypeClasses
removeActorPrototypesFromSystem

  class initialization
  initialize

  instance creation
  new

instance methods
  accessing top  
 

getActorClassList

Return the list of actor classes


 

getCameraList


 

getDefaultCamera

Returns a handle on the Wonderland's default camera.


 

getEditor

Return the editor for this wonderland


 

getLights

Return the list of lights in the Wonderland


 

getNamespace

Return the dictionary that comprises this Wonderland's namespace


 

getScene

Returns the current scene object.


 

getScheduler

Returns the Wonderland's scheduler.


 

getSharedMeshDict

Return the shared mesh dictionary


 

getSharedTextureDict

Return the shared texture dictionary


 

getUndoStack

Returns the Wonderland's undo stack.


  composite animations top  
 

doInOrder:

Create a new SequentialAnimation instance and pass it the child animations that make it up.


 

doTogether:

Create a new ParallelAnimation instance and pass it the child animations that make it up.


  creating top  
 

createHierarchyFrom3DS:


 

createSimpleActor:named:parent:


 

duplicateActor:

Creates a new actor without any geometry


 

fixNameFrom:

Fix the name to be a valid Smalltalk name (e.g., so that we can compile it as an inst var and accessor message)


 

loadActor

Why does this open the file? Hrmpf.


 

makeActor

Creates a new actor without any geometry


 

makeActorFrom3DS:

Creates a new actor using the specification from the given file


 

makeActorFrom:

Creates a new actor using the specification from the given file


 

makeActorFromVRML:

Creates a new actor using the specification from the given file


 

makeActorFromVRML:named:

Creates a new actor using the specification from the given file


 

makeActorNamed:

Creates a new actor without any geometry


 

makeBaseActorFrom:

First see if we need to create a prototype class for this model


 

makeCamera

Add a new camera to the Wonderland


 

makeCameraNamed:

Add a new camera to the Wonderland


 

makeCameraNamed:parent:

Add a new camera to the Wonderland


 

makeLight

Create a positional light and add it to the Wonderland


 

makeLight:

Create a light of the specified type and add it to the Wonderland


 

makeLight:named:

Create a light of the specified type and add it to the Wonderland


 

makePlaneNamed:

Create a simple plane


 

makeScriptEditor

Create a new script editor for this Wonderland


 

makeTextureFrom:

Create a texture from the given file name


 

makeTextureFrom:flipping:

Create a texture from the given file name and flip it in y if requested


 

protoClassFor:


 

uniqueNameFrom:

If aName is unique to this wonderland's namespace, returns that name. Otherwise creates a unique variant and returns that.


  drawing top  
 

renderWonderland:

Tell all the objects in the Wonderland to render themselves.


  error handling top  
 

reportErrorToUser:

When any object in a Wonderland discovers an error it creates an error report and then calls this method to display the error to the user.


  initialize-reset-release top  
 

initialize

This method initializes the Wonderland.


 

objectForDataStream:

Return an object to store on an external data stream.


 

prepareToBeSaved

We are about to be written out. Release everything we don't want to carry around


 

rectifyActorClassList

Wonderland allInstancesDo: [:w | w rectifyActorClassList]


 

release

This method cleans up the Wonderland.


 

reset

Reset this Wonderland


  undo top  
 

undo

Undo the last action the user performed in the Wonderland. This pulls a block context off the animation stack and executes it.


class methods
  accessing top  
 

wonderlandConstants


  actor prototype mgmt top  
 

rectifyActorPrototypeClasses

Wonderland rectifyActorPrototypeClasses


 

removeActorPrototypesFromSystem

Clean out all the actor prototypes - this involves removing those classes from the Smalltalk dictionary


  class initialization top  
 

initialize

Initialize the WonderlandClass by creating the ActorPrototypeClasses collection


  instance creation top  
 

new

Wonderland new