@polygonjs/polygonjs
Version:
node-based WebGL 3D engine https://polygonjs.com
36 lines (35 loc) • 1.19 kB
JavaScript
;
import { TypedSopNode } from "./_Base";
import { QuadObject } from "../../../core/geometry/modules/quad/QuadObject";
import { CoreGroup } from "../../../core/geometry/Group";
import { CoreObjectType } from "../../../core/geometry/ObjectContent";
import { ModuleName } from "../../poly/registers/modules/Common";
export class QuadSopNode extends TypedSopNode {
dataType() {
return CoreObjectType.QUAD;
}
requiredModules() {
return [ModuleName.QUAD];
}
setQuadGeometry(geometry) {
const objects = [new QuadObject(geometry)];
this._setContainerQuadObjects(objects);
}
setQuadGeometries(geometries) {
const objects = geometries.map((g) => new QuadObject(g));
this._setContainerQuadObjects(objects);
}
setQuadObjects(quadObjects) {
this._setContainerQuadObjects(quadObjects);
}
setQuadObject(quadObject) {
this._setContainerQuadObjects([quadObject]);
}
_setContainerQuadObjects(objects) {
const coreGroup = this.containerController.container().coreContent() || new CoreGroup();
coreGroup.setAllObjects(objects);
this._setContainer(coreGroup);
}
}
export class BaseCSGSopNodeClass extends QuadSopNode {
}