Squeak Class Documentation category index | class index  
 
WonderlandCamera
  category: Balloon3D-Wonderland Objects
  superclass: WonderlandActor
  subclasses: WonderlandStillCamera WonderlandCamera1

The WonderlandCamera class extends the WonderlandActor functionality with the methods for specifying the viewing parameters. Every view into the 3D world is assigned a camera, and each camera renders into a different morph.

WonderlandCamera also know how to transform points on the 2D desktop into the 3D wonderland.

instance methods
  accessing
  drawSceneBackground
getMorph
resetPointOfView
turnBackgroundOff
turnBackgroundOn

  debug
  debugDrawRectsOn:

  get property
  getAspectRatio
getBoundsForActor:
getFarClippingPlane
getFieldOfView
getFogColor
getFogDensity
getFogRangeEnd
getFogRangeStart
getFogType
getNearClippingPlane

  initialize-release
  copySettingsFrom:
initializeFor:
release

  primitive behaviors
  destroy:

  private
  getFrustum
getPerspectiveMatrix

  rendering
  pickAt:
pickObjectAndVertexAt:
render:
render:pickingAt:
render:pickingAt:withPrimitiveVertex:
renderBounds
renderFogOn:

  set property
  setAspectRatio:
setBounds:for:
setFarClippingPlane:
setFieldOfView:
setFogColor:
setFogDensity:
setFogRangeEnd:
setFogRangeStart:
setFogType:
setName:
setNearClippingPlane:

  testing
  isWonderlandCamera

  transforming
  transformScreenPointToScenePoint:
transformScreenPointToScenePoint:atDepthOf:
transformScreenPointToScenePoint:using:
transformScreenVectorToSceneVector:

class methods
  change logging
  acceptsLoggingOfCompilation
wantsChangeSetLogging

instance methods
  accessing top  
 

drawSceneBackground


 

getMorph

Returns the camera window morph that this camera renders into


 

resetPointOfView

Return the camera to it's 'home' position and orientation


 

turnBackgroundOff

Stop drawing the scene background


 

turnBackgroundOn

Resume drawing the scene background


  debug top  
 

debugDrawRectsOn:


  get property top  
 

getAspectRatio

Returns the camera's current aspect ratio.


 

getBoundsForActor:

Return the 2D bounds of the actor as seen by the receiver


 

getFarClippingPlane

Returns the camera's far clipping plane


 

getFieldOfView

Returns the camera's field of view.


 

getFogColor


 

getFogDensity


 

getFogRangeEnd


 

getFogRangeStart


 

getFogType


 

getNearClippingPlane

Returns the camera's near clipping plane


  initialize-release top  
 

copySettingsFrom:

Copy my settings from the given B3DCamera


 

initializeFor:

Initializes the camera.


 

release

Destroy the renderer


  primitive behaviors top  
 

destroy:

Implements the animated destroy of an actor. This takes all the actors parts and spins them off in an arbitrary direction


  private top  
 

getFrustum

Returns the camera's frustum


 

getPerspectiveMatrix

Returns the camera's perspective matrix


  rendering top  
 

pickAt:

Return the top object at the given point or nil


 

pickObjectAndVertexAt:

Return an association with the top object and the primitive vertex at the given point or nil


 

render:


 

render:pickingAt:

Render one frame of the Wonderland using this camera.
If aPointOrNil is not nil then return the top most object at this point.
Note: If picking, no objects are actually drawn.


 

render:pickingAt:withPrimitiveVertex:

Render one frame of the Wonderland using this camera.
If aPointOrNil is not nil then pick the top most object at this point.
For picking only: If aBoolean is true return an association
object -> B3DPrimitiveVertex; otherwise simply return the top most object.
Note: If picking, no objects are actually drawn.


 

renderBounds

Compute 2D bounding boxes for all scene elements


 

renderFogOn:

Set fog parameters if requested


  set property top  
 

setAspectRatio:

Sets the camera's aspect ratio


 

setBounds:for:

Record the 2D bounds for the given actor during a rendering pass


 

setFarClippingPlane:

Sets the camera's far clipping plane - anything farther than this won't be drawn.


 

setFieldOfView:

Sets the camera's field of view.


 

setFogColor:


 

setFogDensity:


 

setFogRangeEnd:


 

setFogRangeStart:


 

setFogType:


 

setName:

Sets the object's name


 

setNearClippingPlane:

Sets the camera's near clipping plane - anything closer than this won't be drawn.


  testing top  
 

isWonderlandCamera


  transforming top  
 

transformScreenPointToScenePoint:

Converts a pixel point to a position in the 3D scene. Uses the near clipping plane distance for the depth in the scene.


 

transformScreenPointToScenePoint:atDepthOf:

Converts a pixel point to a position in the 3D scene using the actor to scale the position of the point. Uses the actor's distance from the camera to determine the depth in the scene.


 

transformScreenPointToScenePoint:using:

Converts a pixel point to a position in the 3D scene using the actor to scale the position of the point. Uses the near clipping plane distance for the depth in the scene.


 

transformScreenVectorToSceneVector:

Converts a picture plane vector to a position in the 3D scene.


class methods
  change logging top  
 

acceptsLoggingOfCompilation

weird name is so that it will come lexically before #compile, so that a clean build can make it through. 7/7/96 sw


 

wantsChangeSetLogging

Answer whether code submitted for the receiver should be remembered by the changeSet mechanism. 7/12/96 sw