AABB.d.ts 1.1 KB

12345678910111213141516171819202122232425262728293031323334
  1. import type { mat4 } from 'gl-matrix';
  2. import { Tuple3Number } from '../types';
  3. import type { Plane } from './Plane';
  4. /**
  5. * Axis-Aligned Bounding Box
  6. * 为了便于后续 Frustum Culling,通过查找表定义 p-vertex 和 n-vertex
  7. * @see https://github.com/antvis/GWebGPUEngine/issues/3
  8. */
  9. export declare class AABB {
  10. static isEmpty(aabb: AABB): boolean;
  11. center: Tuple3Number;
  12. halfExtents: Tuple3Number;
  13. min: Tuple3Number;
  14. max: Tuple3Number;
  15. update(center: Tuple3Number, halfExtents: Tuple3Number): void;
  16. setMinMax(min: Tuple3Number, max: Tuple3Number): void;
  17. getMin(): Tuple3Number;
  18. getMax(): Tuple3Number;
  19. add(aabb: AABB): void;
  20. setFromTransformedAABB(aabb: AABB, m: mat4): void;
  21. intersects(aabb: AABB): boolean;
  22. intersection(aabb: AABB): AABB | null;
  23. /**
  24. * get n-vertex
  25. * @param plane plane of CullingVolume
  26. */
  27. getNegativeFarPoint(plane: Plane): Tuple3Number;
  28. /**
  29. * get p-vertex
  30. * @param plane plane of CullingVolume
  31. */
  32. getPositiveFarPoint(plane: Plane): Tuple3Number;
  33. }
  34. //# sourceMappingURL=AABB.d.ts.map