initial commit
This commit is contained in:
@@ -0,0 +1,99 @@
|
||||
shadow$provide.module$node_modules$pixi_DOT_js$lib$scene$mesh$shared$Mesh = function(global, require, module, exports) {
|
||||
var pointInTriangle = require("module$node_modules$pixi_DOT_js$lib$maths$point$pointInTriangle"), Geometry = require("module$node_modules$pixi_DOT_js$lib$rendering$renderers$shared$geometry$Geometry"), State = require("module$node_modules$pixi_DOT_js$lib$rendering$renderers$shared$state$State"), Texture = require("module$node_modules$pixi_DOT_js$lib$rendering$renderers$shared$texture$Texture"), deprecation = require("module$node_modules$pixi_DOT_js$lib$utils$logging$deprecation");
|
||||
global = require("module$node_modules$pixi_DOT_js$lib$scene$view$ViewContainer");
|
||||
var MeshGeometry = require("module$node_modules$pixi_DOT_js$lib$scene$mesh$shared$MeshGeometry");
|
||||
require("module$node_modules$pixi_DOT_js$lib$scene$mesh$init");
|
||||
"use strict";
|
||||
class Mesh extends global.ViewContainer {
|
||||
constructor(...args) {
|
||||
let options = args[0];
|
||||
options instanceof Geometry.Geometry && (deprecation.deprecation(deprecation.v8_0_0, "Mesh: use new Mesh({ geometry, shader }) instead"), options = {geometry:options, shader:args[1]}, args[3] && (deprecation.deprecation(deprecation.v8_0_0, "Mesh: drawMode argument has been removed, use geometry.topology instead"), options.geometry.topology = args[3]));
|
||||
const {geometry, shader, texture, roundPixels, state, ...rest} = options;
|
||||
super({label:"Mesh", ...rest});
|
||||
this.renderPipeId = "mesh";
|
||||
this._shader = null;
|
||||
this.allowChildren = !1;
|
||||
this.shader = shader ?? null;
|
||||
this.texture = texture ?? shader?.texture ?? Texture.Texture.WHITE;
|
||||
this.state = state ?? State.State.for2d();
|
||||
this._geometry = geometry;
|
||||
this._geometry.on("update", this.onViewUpdate, this);
|
||||
this.roundPixels = roundPixels ?? !1;
|
||||
}
|
||||
get material() {
|
||||
deprecation.deprecation(deprecation.v8_0_0, "mesh.material property has been removed, use mesh.shader instead");
|
||||
return this._shader;
|
||||
}
|
||||
set shader(value) {
|
||||
this._shader !== value && (this._shader = value, this.onViewUpdate());
|
||||
}
|
||||
get shader() {
|
||||
return this._shader;
|
||||
}
|
||||
set geometry(value) {
|
||||
this._geometry !== value && (this._geometry?.off("update", this.onViewUpdate, this), value.on("update", this.onViewUpdate, this), this._geometry = value, this.onViewUpdate());
|
||||
}
|
||||
get geometry() {
|
||||
return this._geometry;
|
||||
}
|
||||
set texture(value) {
|
||||
value || (value = Texture.Texture.EMPTY);
|
||||
const currentTexture = this._texture;
|
||||
if (currentTexture !== value) {
|
||||
currentTexture && currentTexture.dynamic && currentTexture.off("update", this.onViewUpdate, this);
|
||||
if (value.dynamic) {
|
||||
value.on("update", this.onViewUpdate, this);
|
||||
}
|
||||
this.shader && (this.shader.texture = value);
|
||||
this._texture = value;
|
||||
this.onViewUpdate();
|
||||
}
|
||||
}
|
||||
get texture() {
|
||||
return this._texture;
|
||||
}
|
||||
get batched() {
|
||||
return this._shader || 0 !== (this.state.data & 12) ? !1 : this._geometry instanceof MeshGeometry.MeshGeometry ? "auto" === this._geometry.batchMode ? 100 >= this._geometry.positions.length / 2 : "batch" === this._geometry.batchMode : !1;
|
||||
}
|
||||
get bounds() {
|
||||
return this._geometry.bounds;
|
||||
}
|
||||
updateBounds() {
|
||||
this._bounds = this._geometry.bounds;
|
||||
}
|
||||
containsPoint(point) {
|
||||
const {x, y} = point;
|
||||
if (!this.bounds.containsPoint(x, y)) {
|
||||
return !1;
|
||||
}
|
||||
point = this.geometry.getBuffer("aPosition").data;
|
||||
const step = "triangle-strip" === this.geometry.topology ? 3 : 1;
|
||||
if (this.geometry.getIndex()) {
|
||||
var indices = this.geometry.getIndex().data, len = indices.length;
|
||||
for (var i = 0; i + 2 < len; i += step) {
|
||||
var ind0 = 2 * indices[i], ind1 = 2 * indices[i + 1];
|
||||
const ind2 = 2 * indices[i + 2];
|
||||
if (pointInTriangle.pointInTriangle(x, y, point[ind0], point[ind0 + 1], point[ind1], point[ind1 + 1], point[ind2], point[ind2 + 1])) {
|
||||
return !0;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
for (indices = point.length / 2, len = 0; len + 2 < indices; len += step) {
|
||||
if (i = 2 * len, ind0 = 2 * (len + 1), ind1 = 2 * (len + 2), pointInTriangle.pointInTriangle(x, y, point[i], point[i + 1], point[ind0], point[ind0 + 1], point[ind1], point[ind1 + 1])) {
|
||||
return !0;
|
||||
}
|
||||
}
|
||||
}
|
||||
return !1;
|
||||
}
|
||||
destroy(options) {
|
||||
super.destroy(options);
|
||||
("boolean" === typeof options ? options : options?.texture) && this._texture.destroy("boolean" === typeof options ? options : options?.textureSource);
|
||||
this._geometry?.off("update", this.onViewUpdate, this);
|
||||
this._shader = this._geometry = this._texture = null;
|
||||
}
|
||||
}
|
||||
exports.Mesh = Mesh;
|
||||
};
|
||||
|
||||
//# sourceMappingURL=module$node_modules$pixi_DOT_js$lib$scene$mesh$shared$Mesh.js.map
|
||||
Reference in New Issue
Block a user