playcanvas
Version:
PlayCanvas WebGL game engine
36 lines (33 loc) • 860 B
JavaScript
import { BoundingBox } from '../../core/shape/bounding-box.js';
class GSplatPlacement {
constructor(resource, node, lodIndex = 0){
this.intervals = new Map();
this.lodIndex = 0;
this._lodDistances = null;
this._aabb = new BoundingBox();
this.resource = resource;
this.node = node;
this.lodIndex = lodIndex;
}
set aabb(aabb) {
this._aabb.copy(aabb);
}
get aabb() {
return this._aabb;
}
set lodDistances(distances) {
const isOctree = !!(this.resource && this.resource.octree);
if (isOctree) {
if (distances) {
this.resource.octree?.lodLevels ?? 1;
this._lodDistances = distances.slice();
} else {
this._lodDistances = null;
}
}
}
get lodDistances() {
return this._lodDistances ? this._lodDistances.slice() : null;
}
}
export { GSplatPlacement };