Package | away3d.graphs.bsp |
Class | public class BSPTree |
Inheritance | BSPTree ObjectContainer3D Mesh Object3D flash.events.EventDispatcher |
Property | Defined By | ||
---|---|---|---|
activeLeaf : BSPNode [read-only]
The leaf containing the camera. | BSPTree | ||
alpha : Number
An optional alpha value that can be applied to the 3d object. | Object3D | ||
animationLibrary : AnimationLibrary
Reference container for all animations used in the container. | Object3D | ||
back : Material
Defines a triangle material to be used for the backface of all faces in the 3d object. | Mesh | ||
blendMode : String
An optional blend mode that can be applied to the 3d object. | Object3D | ||
bothsides : Boolean
Indicates whether both the front and reverse sides of a face should be rendered. | Mesh | ||
boundingRadius : Number [read-only]
Returns the bounding radius of the 3d object
| Object3D | ||
children : Vector.<Object3D> [read-only]
Returns the children of the container as an array of 3d objects
| ObjectContainer3D | ||
collidedObject : Object3D [read-only]
| BSPTree | ||
collider : Boolean
Indicates whether this object is used for collision detection. | Object3D | ||
collisionPlane : Plane3D [read-only]
The plane against which was collided during the last call to traceCollision
| BSPTree | ||
collisionRatio : Number [read-only]
The ratio [0, 1] on the movement line where the previous collision occurred
| BSPTree | ||
debugbb : Boolean
Indicates whether a debug bounding box should be rendered around the 3d object. | Object3D | ||
debugBoundingBox : WireCube [read-only] | Object3D | ||
debugBoundingSphere : WireSphere [read-only] | Object3D | ||
debugbs : Boolean
Indicates whether a debug bounding sphere should be rendered around the 3d object. | Object3D | ||
elements : Vector.<Element> [read-only]
Returns an array of all elements contained in the mesh object. | Mesh | ||
eulers : Vector3D
Defines the rotation of the 3d object as a Vector3D object containing euler angles for rotation around x, y and z axis. | Object3D | ||
extra : Object
An optional untyped object that can contain used-defined properties
| Object3D | ||
faces : Vector.<Face> [read-only]
Returns an array of the faces contained in the mesh object. | Mesh | ||
faceVOs : Vector.<FaceVO> [read-only]
Returns an array of the faceVOs contained in the mesh object. | Mesh | ||
filters : Array
An optional array of filters that can be applied to the 3d object. | Object3D | ||
geometry : Geometry
Defines the geometry object used for the mesh. | Mesh | ||
geometryLibrary : GeometryLibrary
Reference container for all geometries used in the container. | Object3D | ||
id : int [read-only] | Object3D | ||
indexes : Array
Placeholder for md2 frame indexes
| Mesh | ||
indices : Vector.<int> [read-only]
Returns an array of the indices contained in the mesh object. | Mesh | ||
inverseSceneTransform : Matrix3D
Returns the inverse of sceneTransform. | Object3D | ||
material : Material
Defines the material used to render the faces, segments or 3d sprites in the geometry object. | Mesh | ||
materialLibrary : MaterialLibrary
Reference container for all materials used in the container. | Object3D | ||
maxX : Number [read-only]
Returns the maximum x value of the 3d object
| Object3D | ||
maxY : Number [read-only]
Returns the maximum y value of the 3d object
| Object3D | ||
maxZ : Number [read-only]
Returns the maximum z value of the 3d object
| Object3D | ||
minX : Number [read-only]
Returns the minimum x value of the 3d object
| Object3D | ||
minY : Number [read-only]
Returns the minimum y value of the 3d object
| Object3D | ||
minZ : Number [read-only]
Returns the minimum z value of the 3d object
| Object3D | ||
mouseEnabled : Boolean = true
Defines whether mouse events are received on the 3d object
| Object3D | ||
name : String
An optional name string for the 3d object. | Object3D | ||
objectDepth : Number [read-only]
Boundary depth of the 3d object
return The depth of the mesh
| Object3D | ||
objectHeight : Number [read-only]
Boundary height of the 3d object
return The height of the mesh
| Object3D | ||
objectWidth : Number [read-only]
Boundary width of the 3d object
return The width of the object
| Object3D | ||
outline : Material
Defines a segment material to be used for outlining the 3d object. | Mesh | ||
ownCanvas : Boolean
Defines whether the contents of the 3d object are rendered using it's own render session
| Object3D | ||
ownSession : AbstractSession
Defines a unique render session for the 3d object. | Object3D | ||
parent : ObjectContainer3D [override]
Defines the parent of the 3d object. | BSPTree | ||
pivotPoint : Vector3D
Defines the local point around which the object rotates. | Object3D | ||
pivotZero : Boolean [read-only] | Object3D | ||
polyCount : int [read-only]
Returns the number of elements in the container,
including elements in child nodes. | ObjectContainer3D | ||
position : Vector3D
Defines the position of the 3d object, relative to the local coordinates of the parent ObjectContainer3D. | Object3D | ||
pushback : Boolean
Elements use their furthest point from the camera when z-sorting
| Object3D | ||
pushfront : Boolean
Elements use their nearest point to the camera when z-sorting
| Object3D | ||
renderer : Renderer
An optional renderer object that can be used to render the contents of the object. | Object3D | ||
rootNode : BSPNode [read-only] | BSPTree | ||
rotationX : Number
Defines the euler angle of rotation of the 3d object around the x-axis, relative to the local coordinates of the parent ObjectContainer3D. | Object3D | ||
rotationY : Number
Defines the euler angle of rotation of the 3d object around the y-axis, relative to the local coordinates of the parent ObjectContainer3D. | Object3D | ||
rotationZ : Number
Defines the euler angle of rotation of the 3d object around the z-axis, relative to the local coordinates of the parent ObjectContainer3D. | Object3D | ||
scaleX : Number
Defines the scale of the 3d object along the x-axis, relative to local coordinates. | Object3D | ||
scaleY : Number
Defines the scale of the 3d object along the y-axis, relative to local coordinates. | Object3D | ||
scaleZ : Number
Defines the scale of the 3d object along the z-axis, relative to local coordinates. | Object3D | ||
scene : Scene3D [read-only]
Returns the parent scene of the 3d object
| Object3D | ||
scenePivotPoint : Vector3D [read-only] | Object3D | ||
scenePosition : Vector3D [read-only]
Returns the position of the 3d object, relative to the global coordinates of the Scene3D object. | Object3D | ||
sceneTransform : Matrix3D [read-only]
Returns the transformation of the 3d object, relative to the global coordinates of the Scene3D object. | Object3D | ||
screenXOffset : Number
Defines an additional offset to the x coordinate used on mesh elements or objects with ownCanvas set to true
| Object3D | ||
screenYOffset : Number
Defines an additional offset to the y coordinate used on mesh elements or objects with ownCanvas set to true
| Object3D | ||
screenZOffset : Number
Defines an additional offset to the z-sorting algorithm used on mesh elements or objects with ownCanvas set to true
| Object3D | ||
segments : Vector.<Segment> [read-only]
Returns an array of the segments contained in the mesh object. | Mesh | ||
segmentVOs : Vector.<SegmentVO> [read-only]
Returns an array of the segmentVOs contained in the mesh object. | Mesh | ||
session : AbstractSession [read-only]
The render session used by the 3d object
| Object3D | ||
sprites : Vector.<Sprite3D> [read-only]
Returns an array of the 3d sprites contained in the mesh object. | Mesh | ||
spriteVOs : Vector.<SpriteVO> [read-only]
Returns an array of the spriteVOs contained in the mesh object. | Mesh | ||
startIndices : Vector.<int> [read-only]
Returns an array of the start indices contained in the mesh object. | Mesh | ||
transform : Matrix3D
Defines the transformation of the 3d object, relative to the local coordinates of the parent ObjectContainer3D. | Object3D | ||
type : String = mesh
String defining the type of class used to generate the mesh. | Mesh | ||
url : String
String defining the source of the mesh. | Mesh | ||
useHandCursor : Boolean = false
Defines whether a hand cursor is displayed when the mouse rolls over the 3d object. | Object3D | ||
usePVS : Boolean = true | BSPTree | ||
vertices : Vector.<Vertex>
Returns an array of the vertices contained in the mesh object. | Mesh | ||
verts : Vector.<Number> [read-only] | Mesh | ||
visible : Boolean
Defines whether the 3d object is visible in the scene
| Object3D | ||
x : Number
Defines the x coordinate of the 3d object relative to the local coordinates of the parent ObjectContainer3D. | Object3D | ||
y : Number
Defines the y coordinate of the 3d object relative to the local coordinates of the parent ObjectContainer3D. | Object3D | ||
z : Number
Defines the z coordinate of the 3d object relative to the local coordinates of the parent ObjectContainer3D. | Object3D |
Method | Defined By | ||
---|---|---|---|
BSPTree(buildDynamicCollisionTree:Boolean = true)
Creates a new BSPTree object. | BSPTree | ||
[override]
Adds a 3d object to the scene as a child of the container
| BSPTree | ||
addChildren(... childarray):void
Adds an array of 3d objects to the scene as children of the container
| ObjectContainer3D | ||
Adds a face object to the mesh object. | Mesh | ||
addLight(light:AbstractLight):void
Adds a light as a child of the container
| ObjectContainer3D | ||
addOnDimensionsChange(listener:Function):void
Default method for adding a dimensionschanged event listener
| Object3D | ||
addOnMouseDown(listener:Function):void
Default method for adding a mouseDown3D event listener
| Object3D | ||
addOnMouseMove(listener:Function):void
Default method for adding a mouseMove3D event listener
| Object3D | ||
addOnMouseOut(listener:Function):void
Default method for adding a mouseOut3D event listener
| Object3D | ||
addOnMouseOver(listener:Function):void
Default method for adding a mouseOver3D event listener
| Object3D | ||
addOnMouseUp(listener:Function):void
Default method for adding a mouseUp3D event listener
| Object3D | ||
addOnPositionChange(listener:Function):void
Default method for adding a positionchanged event listener
| Object3D | ||
addOnRollOut(listener:Function):void
Default method for adding a rollOut3D event listener
| Object3D | ||
addOnRollOver(listener:Function):void
Default method for adding a rollOver3D event listener
| Object3D | ||
addOnScaleChange(listener:Function):void
Default method for adding a scalechanged event listener
| Object3D | ||
addOnSceneChange(listener:Function):void
Default method for adding a scenechanged event listener
| Object3D | ||
addOnSceneTransformChange(listener:Function):void
Default method for adding a scenetransformchanged event listener
| Object3D | ||
addOnSessionChange(listener:Function):void
Default method for adding a sessionchanged event listener
| Object3D | ||
addOnVisibilityUpdate(listener:Function):void
Default method for adding a visibilityUpdated event listener
| Object3D | ||
addSegment(segment:Segment):void
Adds a segment object to the mesh object. | Mesh | ||
Adds a sprite3d object to the mesh object. | Mesh | ||
applyPosition(dx:Number, dy:Number, dz:Number):void [override]
Apply the given position to child objects without altering the appearance of the object container
| ObjectContainer3D | ||
applyRotations():void [override]
Apply the local rotations to child objects without altering the appearance of the object container
| ObjectContainer3D | ||
asAS3Class(classname:String = null, packagename:String, round:Boolean = false, animated:Boolean = false):String
Returns a formatted string containing a self contained AS3 class definition that can be used to re-create the mesh. | Mesh | ||
asXML():XML
Returns an xml representation of the mesh
| Mesh | ||
centerMeshes():void
Adjusts each pivot point of the container object's children so that they lies at the center of each childs geoemtry. | ObjectContainer3D | ||
centerPivot():void [override]
Adjusts the pivot point of the object so that it lies at the center of it's geoemtry. | ObjectContainer3D | ||
[override]
Duplicates the 3d object's properties to another ObjectContainer3D object
| ObjectContainer3D | ||
[override]
Duplicates the 3d object's properties to another ObjectContainer3D object, including bones and geometry
| ObjectContainer3D | ||
distanceTo(obj:Object3D):Number
Calulates the absolute distance between the local 3d object position and the position of the given 3d object
| Object3D | ||
getBoneByName(boneName:String):Bone
Returns a bone object specified by name from the child array of the container
| ObjectContainer3D | ||
getChildByName(childName:String):Object3D
Returns a 3d object specified by name from the child array of the container
| ObjectContainer3D | ||
getLeafContaining(point:Vector3D, quitOnCulled:Boolean = false):BSPNode
Finds the leaf that contains a given point
| BSPTree | ||
invertFaces():void
Inverts the geometry of all face objects. | Mesh | ||
lookAt(target:Vector3D, upAxis:Vector3D = null):void
Rotates the 3d object around to face a point defined relative to the local coordinates of the parent ObjectContainer3D. | Object3D | ||
moveBackward(distance:Number):void
Moves the 3d object backwards along it's local z axis
| Object3D | ||
moveDown(distance:Number):void
Moves the 3d object backwards along it's local y axis
| Object3D | ||
moveForward(distance:Number):void
Moves the 3d object forwards along it's local z axis
| Object3D | ||
moveLeft(distance:Number):void
Moves the 3d object backwards along it's local x axis
| Object3D | ||
movePivot(dx:Number, dy:Number, dz:Number):void
Moves the local point around which the object rotates. | Object3D | ||
moveRight(distance:Number):void
Moves the 3d object forwards along it's local x axis
| Object3D | ||
moveTo(dx:Number, dy:Number, dz:Number):void
Moves the 3d object directly to a point in space
| Object3D | ||
moveUp(distance:Number):void
Moves the 3d object forwards along it's local y axis
| Object3D | ||
pitch(angle:Number):void
Rotates the 3d object around it's local x-axis
| Object3D | ||
quarterFace(face:Face):void
Divides a face object into 4 equal sized face objects. | Mesh | ||
quarterFaces():void
Divides all faces objects of a Mesh into 4 equal sized face objects. | Mesh | ||
removeChild(child:Object3D):void [override]
Removes a 3d object from the child array of the container
| BSPTree | ||
removeChildByName(name:String):void
Removes a 3d object from the child array of the container
| ObjectContainer3D | ||
removeFace(face:Face):void
Removes a face object from the mesh object. | Mesh | ||
removeLight(light:AbstractLight):void
Removes a light from the container
| ObjectContainer3D | ||
removeOnDimensionsChange(listener:Function):void
Default method for removing a dimensionschanged event listener
| Object3D | ||
removeOnMouseDown(listener:Function):void
Default method for removing a mouseDown3D event listener
| Object3D | ||
removeOnMouseMove(listener:Function):void
Default method for removing a mouseMove3D event listener
| Object3D | ||
removeOnMouseOut(listener:Function):void
Default method for removing a mouseOut3D event listener
| Object3D | ||
removeOnMouseOver(listener:Function):void
Default method for removing a mouseOver3D event listener
| Object3D | ||
removeOnMouseUp(listener:Function):void
Default method for removing a mouseUp3D event listener
| Object3D | ||
removeOnPositionChange(listener:Function):void
Default method for removing a positionchanged event listener
| Object3D | ||
removeOnRollOut(listener:Function):void
Default method for removing a rollOut3D event listener
| Object3D | ||
removeOnRollOver(listener:Function):void
Default method for removing a rollOver3D event listener
| Object3D | ||
removeOnScaleChange(listener:Function):void
Default method for removing a scalechanged event listener
| Object3D | ||
removeOnSceneChange(listener:Function):void
Default method for removing a scenechanged event listener
| Object3D | ||
removeOnSceneTransformChange(listener:Function):void
Default method for removing a scenetransformchanged event listener
| Object3D | ||
removeOnSessionChange(listener:Function):void
Default method for removing a sessionchanged event listener
| Object3D | ||
removeOnVisibilityUpdate(listener:Function):void
Default method for removing a visibilityUpdated event listener
| Object3D | ||
removeSegment(segment:Segment):void
Removes a segment object from the mesh object. | Mesh | ||
removeSprite(sprite3d:Sprite3D):void
Removes a 3d sprite object from the mesh object. | Mesh | ||
Replaces the Material of a mesh by another one
| BSPTree | ||
roll(angle:Number):void
Rotates the 3d object around it's local z-axis
| Object3D | ||
rotate(axis:Vector3D, angle:Number):void
Rotates the 3d object around an axis by a defined angle
| Object3D | ||
rotateTo(ax:Number, ay:Number, az:Number):void
Rotates the 3d object directly to a euler angle
| Object3D | ||
scale(scale:Number):void
Scales the contents of the 3d object. | Object3D | ||
Divides a face object into 2 face objects. | Mesh | ||
splitFaces(side:int = 0):void
Divides all faces objects of a Mesh into 2 face objects. | Mesh | ||
tick(time:int):void
Called by the TickTraverser. | Object3D | ||
toString():String [override]
Used to trace the values of a 3d object. | Object3D | ||
traceCollision(start:Vector3D, end:Vector3D, testMethod:int, halfExtents:Vector3D = null):Boolean
Finds the closest colliding Face between start and end position
| BSPTree | ||
translate(axis:Vector3D, distance:Number):void
Moves the 3d object along a vector by a defined length
| Object3D | ||
[override]
Used when traversing the scenegraph
| BSPTree | ||
Divides a face object into 3 face objects. | Mesh | ||
triFaces():void
Divides all faces objects of a Mesh into 3 face objects. | Mesh | ||
updateBounds():void | Mesh | ||
updateMesh(view:View3D):void
Updates the materials in the mesh object
| Mesh | ||
updateVertex(v:Vertex, x:Number, y:Number, z:Number, refreshNormals:Boolean = false):void
update vertex information. | Mesh | ||
yaw(angle:Number):void
Rotates the 3d object around it's local y-axis
| Object3D |
Constant | Defined By | ||
---|---|---|---|
COLLISION_EPSILON : Number = 0.1 [static] | BSPTree | ||
EPSILON : Number = 0.07 [static] | BSPTree | ||
TEST_METHOD_AABB : int = 1 [static] | BSPTree | ||
TEST_METHOD_ELLIPSOID : int = 2 [static] | BSPTree | ||
TEST_METHOD_POINT : int = 0 [static] | BSPTree |
_collidedObject | property |
arcane var _collidedObject:Object3D
_collisionPlane | property |
arcane var _collisionPlane:Plane3D
_collisionRatio | property |
arcane var _collisionRatio:Number
_leaves | property |
arcane var _leaves:Vector.<BSPNode>
_rootNode | property |
arcane var _rootNode:BSPNode
activeLeaf | property |
activeLeaf:BSPNode
[read-only] The leaf containing the camera. Returns null if the camera is in "solid" space.
public function get activeLeaf():BSPNode
collidedObject | property |
collisionPlane | property |
collisionPlane:Plane3D
[read-only] The plane against which was collided during the last call to traceCollision
public function get collisionPlane():Plane3D
collisionRatio | property |
collisionRatio:Number
[read-only] The ratio [0, 1] on the movement line where the previous collision occurred
public function get collisionRatio():Number
leaves | property |
leaves:Vector.<BSPNode>
[read-only] All the leaves in the current tree
arcane function get leaves():Vector.<BSPNode>
parent | property |
parent:ObjectContainer3D
[override] Defines the parent of the 3d object.
public function get parent():ObjectContainer3D
public function set parent(value:ObjectContainer3D):void
rootNode | property |
usePVS | property |
public var usePVS:Boolean = true
BSPTree | () | Constructor |
public function BSPTree(buildDynamicCollisionTree:Boolean = true)
Creates a new BSPTree object.
ParametersbuildDynamicCollisionTree:Boolean (default = true )
|
addChild | () | method |
override public function addChild(child:Object3D):void
Adds a 3d object to the scene as a child of the container
Parameters
child:Object3D — The 3d object to be added
|
addTemporaryChild | () | method |
getLeafContaining | () | method |
public function getLeafContaining(point:Vector3D, quitOnCulled:Boolean = false):BSPNode
Finds the leaf that contains a given point
Parameters
point:Vector3D — The point to be traced. The point is expressed in local space.
| |
quitOnCulled:Boolean (default = false ) — Indicates whether leaf finding should stop when a culled node is encountered.
|
BSPNode — The leaf containing the point
|
removeChild | () | method |
override public function removeChild(child:Object3D):void
Removes a 3d object from the child array of the container
Parameters
child:Object3D — The 3d object to be removed
|
removeTemporaryChild | () | method |
replaceMaterial | () | method |
public function replaceMaterial(material:Material, newMaterial:Material, clearPreviousMaterial:Boolean = true):void
Replaces the Material of a mesh by another one
Parameters
material:Material — The actual material applied, used to compare with the meshes fragments
| |
newMaterial:Material — The material that will replace the applied one
| |
clearPreviousMaterial:Boolean (default = true ) — [optional] Clear previous material and nullifies it. Default is true. Note that eventual bitmapdata is NOT cleared.
|
traceCollision | () | method |
public function traceCollision(start:Vector3D, end:Vector3D, testMethod:int, halfExtents:Vector3D = null):Boolean
Finds the closest colliding Face between start and end position
Parameters
start:Vector3D — The starting position of the object (ie the object's current position)
| |
end:Vector3D — The position the object is trying to reach
| |
testMethod:int (default = NaN ) — The radii of the object's bounding eclipse
| |
halfExtents:Vector3D (default = null )
|
Boolean — The closest Face colliding with the object. Null if no collision was found.
|
traverse | () | method |
override public function traverse(traverser:Traverser):void
Used when traversing the scenegraph
Parameters
traverser:Traverser — The traverser object
|
COLLISION_EPSILON | Constant |
public static const COLLISION_EPSILON:Number = 0.1
EPSILON | Constant |
public static const EPSILON:Number = 0.07
TEST_METHOD_AABB | Constant |
public static const TEST_METHOD_AABB:int = 1
TEST_METHOD_ELLIPSOID | Constant |
public static const TEST_METHOD_ELLIPSOID:int = 2
TEST_METHOD_POINT | Constant |
public static const TEST_METHOD_POINT:int = 0