UNPKG

@polygonjs/polygonjs

Version:

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

48 lines (43 loc) 1.48 kB
// /** // * Refines an SDF. // * // * // */ // import {SDFSopNode} from './_BaseSDF'; // import {NodeParamsConfig, ParamConfig} from '../utils/params/ParamsConfig'; // import {SopType} from '../../poly/registers/nodes/types/Sop'; // import {step} from '../../../core/geometry/modules/sdf/SDFConstant'; // import {CoreGroup} from '../../../core/geometry/Group'; // import {SDFObject} from '../../../core/geometry/modules/sdf/SDFObject'; // class SDFRefineSopParamsConfig extends NodeParamsConfig { // /** @param steps */ // steps = ParamConfig.INTEGER(2, { // range: [1, 4], // rangeLocked: [true, false], // step, // }); // } // const ParamsConfig = new SDFRefineSopParamsConfig(); // export class SDFRefineSopNode extends SDFSopNode<SDFRefineSopParamsConfig> { // override readonly paramsConfig = ParamsConfig; // static override type() { // return SopType.SDF_REFINE; // } // protected override initializeNode() { // this.io.inputs.setCount(1); // } // override async cook(inputCoreGroups: CoreGroup[]) { // const coreGroup = inputCoreGroups[0]; // const newObjects: SDFObject[] = []; // const inputObjects = coreGroup.SDFObjects(); // if (inputObjects) { // const steps = this.pv.steps; // for (let object of inputObjects) { // const refined = object.SDFGeometry().refine(steps); // const newObject = new SDFObject(refined); // newObjects.push(newObject); // } // } // this.setSDFObjects(newObjects); // } // }