Packagealternativa.engine3d.collisions
Classpublic class EllipsoidCollider
InheritanceEllipsoidCollider Inheritance Object

The class implements the algorithm of the continuous collision of an ellipsoid with the faces.



Public Properties
 PropertyDefined By
  radiusX : Number
Ellipsoid radius along X axis.
EllipsoidCollider
  radiusY : Number
Ellipsoid radius along Y axis.
EllipsoidCollider
  radiusZ : Number
Ellipsoid radius along Z axis.
EllipsoidCollider
  threshold : Number = 0.001
Geometric error.
EllipsoidCollider
Public Methods
 MethodDefined By
  
EllipsoidCollider(radiusX:Number, radiusY:Number, radiusZ:Number)
Creates a EllipsoidCollider object.
EllipsoidCollider
  
calculateDestination(source:Vector3D, displacement:Vector3D, object:Object3D, excludedObjects:Dictionary = null):Vector3D
Calculates destination point from given start position and displacement vector.
EllipsoidCollider
  
getCollision(source:Vector3D, displacement:Vector3D, resCollisionPoint:Vector3D, resCollisionPlane:Vector3D, object:Object3D, excludedObjects:Dictionary = null):Boolean
Finds first collision from given starting point aling displacement vector.
EllipsoidCollider
Property Detail
radiusXproperty
public var radiusX:Number

Ellipsoid radius along X axis.

radiusYproperty 
public var radiusY:Number

Ellipsoid radius along Y axis.

radiusZproperty 
public var radiusZ:Number

Ellipsoid radius along Z axis.

thresholdproperty 
public var threshold:Number = 0.001

Geometric error. Minimum absolute difference between two values when they are considered to be different. Default value is 0.001.

Constructor Detail
EllipsoidCollider()Constructor
public function EllipsoidCollider(radiusX:Number, radiusY:Number, radiusZ:Number)

Creates a EllipsoidCollider object.

Parameters
radiusX:Number — Ellipsoid radius along X axis.
 
radiusY:Number — Ellipsoid radius along Y axis.
 
radiusZ:Number — Ellipsoid radius along Z axis.
Method Detail
calculateDestination()method
public function calculateDestination(source:Vector3D, displacement:Vector3D, object:Object3D, excludedObjects:Dictionary = null):Vector3D

Calculates destination point from given start position and displacement vector.

Parameters

source:Vector3D — Starting point.
 
displacement:Vector3D — Displacement vector.
 
object:Object3D — An object at crossing which will be checked. If this is a container, the application will participate and its child objects
 
excludedObjects:Dictionary (default = null) — An associative array whose keys are instances of Object3D and its children. The objects that are keys of this dictionary will be excluded from intersection test.

Returns
Vector3D — Destination point.
getCollision()method 
public function getCollision(source:Vector3D, displacement:Vector3D, resCollisionPoint:Vector3D, resCollisionPlane:Vector3D, object:Object3D, excludedObjects:Dictionary = null):Boolean

Finds first collision from given starting point aling displacement vector.

Parameters

source:Vector3D — Starting point.
 
displacement:Vector3D — Displacement vector.
 
resCollisionPoint:Vector3D — Collision point will be written into this variable.
 
resCollisionPlane:Vector3D — Collision plane (defines by normal) parameters will be written into this variable.
 
object:Object3D — The object to use in collision detection. If a container is specified, all its children will be tested for collison with ellipsoid.
 
excludedObjects:Dictionary (default = null) — An associative array whose keys are instances of Object3D and its children.

Returns
Booleantrue if collision detected and false otherwise.