38 lines
2.1 KiB
JavaScript
38 lines
2.1 KiB
JavaScript
shadow$provide.module$node_modules$pixi_DOT_js$lib$culling$Culler = function(global, require, module, exports) {
|
|
global = require("module$node_modules$pixi_DOT_js$lib$maths$matrix$Matrix");
|
|
module = require("module$node_modules$pixi_DOT_js$lib$maths$shapes$Rectangle");
|
|
var Bounds = require("module$node_modules$pixi_DOT_js$lib$scene$container$bounds$Bounds"), getGlobalBounds = require("module$node_modules$pixi_DOT_js$lib$scene$container$bounds$getGlobalBounds");
|
|
"use strict";
|
|
const tempBounds = new Bounds.Bounds(), tempMatrix = new global.Matrix(), tempRectangle = new module.Rectangle();
|
|
require = class {
|
|
cull(container, view, skipUpdateTransform = !0) {
|
|
this._cullRecursive(container, view, skipUpdateTransform);
|
|
}
|
|
_cullRecursive(container, view, skipUpdateTransform = !0) {
|
|
if (container.cullable && container.measurable && container.includeInBuild) {
|
|
if (container.cullArea) {
|
|
tempRectangle.x = view.x;
|
|
tempRectangle.y = view.y;
|
|
tempRectangle.width = view.width;
|
|
tempRectangle.height = view.height;
|
|
var transform = skipUpdateTransform ? container.worldTransform : container.getGlobalTransform(tempMatrix, skipUpdateTransform);
|
|
container.culled = !tempRectangle.intersects(container.cullArea, transform);
|
|
} else {
|
|
transform = getGlobalBounds.getGlobalBounds(container, skipUpdateTransform, tempBounds), container.culled = transform.x >= view.x + view.width || transform.y >= view.y + view.height || transform.x + transform.width <= view.x || transform.y + transform.height <= view.y;
|
|
}
|
|
} else {
|
|
container.culled = !1;
|
|
}
|
|
if (container.cullableChildren && !container.culled && container.renderable && container.measurable && container.includeInBuild) {
|
|
for (transform = 0; transform < container.children.length; transform++) {
|
|
this._cullRecursive(container.children[transform], view, skipUpdateTransform);
|
|
}
|
|
}
|
|
}
|
|
};
|
|
require.shared = new require();
|
|
exports.Culler = require;
|
|
};
|
|
|
|
//# sourceMappingURL=module$node_modules$pixi_DOT_js$lib$culling$Culler.js.map
|