Ray.d.ts 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. import { Vector3 } from './Vector3';
  2. import { Sphere } from './Sphere';
  3. import { Plane } from './Plane';
  4. import { Box3 } from './Box3';
  5. import { Matrix4 } from './Matrix4';
  6. export class Ray {
  7. constructor(origin?: Vector3, direction?: Vector3);
  8. origin: Vector3;
  9. direction: Vector3;
  10. set(origin: Vector3, direction: Vector3): Ray;
  11. clone(): this;
  12. copy(ray: Ray): this;
  13. at(t: number, target: Vector3): Vector3;
  14. lookAt(v: Vector3): Vector3;
  15. recast(t: number): Ray;
  16. closestPointToPoint(point: Vector3, target: Vector3): Vector3;
  17. distanceToPoint(point: Vector3): number;
  18. distanceSqToPoint(point: Vector3): number;
  19. distanceSqToSegment(
  20. v0: Vector3,
  21. v1: Vector3,
  22. optionalPointOnRay?: Vector3,
  23. optionalPointOnSegment?: Vector3
  24. ): number;
  25. intersectSphere(sphere: Sphere, target: Vector3): Vector3;
  26. intersectsSphere(sphere: Sphere): boolean;
  27. distanceToPlane(plane: Plane): number;
  28. intersectPlane(plane: Plane, target: Vector3): Vector3;
  29. intersectsPlane(plane: Plane): boolean;
  30. intersectBox(box: Box3, target: Vector3): Vector3;
  31. intersectsBox(box: Box3): boolean;
  32. intersectTriangle(
  33. a: Vector3,
  34. b: Vector3,
  35. c: Vector3,
  36. backfaceCulling: boolean,
  37. target: Vector3
  38. ): Vector3;
  39. applyMatrix4(matrix4: Matrix4): Ray;
  40. equals(ray: Ray): boolean;
  41. /**
  42. * @deprecated Use {@link Ray#intersectsBox .intersectsBox()} instead.
  43. */
  44. isIntersectionBox(b: any): any;
  45. /**
  46. * @deprecated Use {@link Ray#intersectsPlane .intersectsPlane()} instead.
  47. */
  48. isIntersectionPlane(p: any): any;
  49. /**
  50. * @deprecated Use {@link Ray#intersectsSphere .intersectsSphere()} instead.
  51. */
  52. isIntersectionSphere(s: any): any;
  53. }
粤ICP备19079148号