UNPKG

@polygonjs/polygonjs

Version:

node-based WebGL 3D engine https://polygonjs.com

36 lines (35 loc) 1.19 kB
"use strict"; 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 { }