Vector3D.hx 1.4 KB

12345678910111213141516171819202122232425262728293031323334
  1. package flash.geom;
  2. @:require(flash10) extern class Vector3D {
  3. @:flash.property var length(get,never) : Float;
  4. @:flash.property var lengthSquared(get,never) : Float;
  5. var w : Float;
  6. var x : Float;
  7. var y : Float;
  8. var z : Float;
  9. function new(x : Float = 0, y : Float = 0, z : Float = 0, w : Float = 0) : Void;
  10. function add(a : Vector3D) : Vector3D;
  11. function clone() : Vector3D;
  12. @:require(flash11) function copyFrom(sourceVector3D : Vector3D) : Void;
  13. function crossProduct(a : Vector3D) : Vector3D;
  14. function decrementBy(a : Vector3D) : Void;
  15. function dotProduct(a : Vector3D) : Float;
  16. function equals(toCompare : Vector3D, allFour : Bool = false) : Bool;
  17. private function get_length() : Float;
  18. private function get_lengthSquared() : Float;
  19. function incrementBy(a : Vector3D) : Void;
  20. function nearEquals(toCompare : Vector3D, tolerance : Float, allFour : Bool = false) : Bool;
  21. function negate() : Void;
  22. function normalize() : Float;
  23. function project() : Void;
  24. function scaleBy(s : Float) : Void;
  25. @:require(flash11) function setTo(xa : Float, ya : Float, za : Float) : Void;
  26. function subtract(a : Vector3D) : Vector3D;
  27. function toString() : String;
  28. static final X_AXIS : Vector3D;
  29. static final Y_AXIS : Vector3D;
  30. static final Z_AXIS : Vector3D;
  31. static function angleBetween(a : Vector3D, b : Vector3D) : Float;
  32. static function distance(pt1 : Vector3D, pt2 : Vector3D) : Float;
  33. }