12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- define([
- '../Core/defaultValue',
- '../Core/defined',
- '../Core/DeveloperError',
- '../Core/Intersect'
- ], function(
- defaultValue,
- defined,
- DeveloperError,
- Intersect) {
- "use strict";
-
- var CullingVolume = function(planes) {
-
- this.planes = defaultValue(planes, []);
- };
-
- CullingVolume.prototype.computeVisibility = function(boundingVolume) {
-
- if (!defined(boundingVolume)) {
- throw new DeveloperError('boundingVolume is required.');
- }
-
- var planes = this.planes;
- var intersecting = false;
- for (var k = 0, len = planes.length; k < len; ++k) {
- var result = boundingVolume.intersect(planes[k]);
- if (result === Intersect.OUTSIDE) {
- return Intersect.OUTSIDE;
- } else if (result === Intersect.INTERSECTING) {
- intersecting = true;
- }
- }
- return intersecting ? Intersect.INTERSECTING : Intersect.INSIDE;
- };
- return CullingVolume;
- });
|