@polygonjs/polygonjs
Version:
node-based WebGL 3D engine https://polygonjs.com
70 lines (69 loc) • 3.53 kB
TypeScript
/**
* Creates a mesh from an SDF function.
*
*
*/
import { Constructor, valueof } from '../../../types/GlobalTypes';
import { NodeContext } from '../../poly/NodeContext';
import { CoreGroup } from '../../../core/geometry/Group';
import { JsNodeChildrenMap } from '../../poly/registers/nodes/Js';
import { BaseJsNodeType } from '../js/_Base';
import { NodeParamsConfig } from '../utils/params/ParamsConfig';
import { NodeCreateOptions } from '../utils/hierarchy/ChildrenController';
import { SopType } from '../../poly/registers/nodes/types/Sop';
import { AssemblerName } from '../../poly/registers/assemblers/_BaseRegister';
import { JsAssemblerController } from '../js/code/Controller';
import { JsAssemblerSDF } from '../js/code/assemblers/sdf/SDF';
import { SingleBodyFunctionData } from '../js/code/assemblers/_Base';
import { RegisterableVariable } from '../js/code/assemblers/_BaseJsPersistedConfigUtils';
import { TypedSopNode } from './_Base';
import { ModuleName } from '../../poly/registers/modules/Common';
import { SDFPersistedConfig } from '../js/code/assemblers/sdf/SDFPersistedConfig';
import { ParamType } from '../../poly/ParamType';
declare class SDFBuilderSopParamsConfig extends NodeParamsConfig {
/** @param stepSize */
stepSize: import("../utils/params/ParamsConfig").ParamTemplate<ParamType.FLOAT>;
/** @param level */
level: import("../utils/params/ParamsConfig").ParamTemplate<ParamType.FLOAT>;
/** @param min bound */
min: import("../utils/params/ParamsConfig").ParamTemplate<ParamType.VECTOR3>;
/** @param max bound */
max: import("../utils/params/ParamsConfig").ParamTemplate<ParamType.VECTOR3>;
/** @param linear Tolerance */
facetAngle: import("../utils/params/ParamsConfig").ParamTemplate<ParamType.FLOAT>;
/** @param meshes color */
meshesColor: import("../utils/params/ParamsConfig").ParamTemplate<ParamType.COLOR>;
/** @param wireframe */
wireframe: import("../utils/params/ParamsConfig").ParamTemplate<ParamType.BOOLEAN>;
}
export declare class SDFBuilderSopNode extends TypedSopNode<SDFBuilderSopParamsConfig> {
paramsConfig: SDFBuilderSopParamsConfig;
static type(): SopType;
requiredModules(): ModuleName[];
readonly persisted_config: SDFPersistedConfig;
assemblerController(): JsAssemblerController<JsAssemblerSDF> | undefined;
usedAssembler(): Readonly<AssemblerName.JS_SDF>;
protected _assemblerController: JsAssemblerController<JsAssemblerSDF> | undefined;
private _createAssemblerController;
protected _childrenControllerContext: NodeContext;
initializeNode(): void;
createNode<S extends keyof JsNodeChildrenMap>(node_class: S, options?: NodeCreateOptions): JsNodeChildrenMap[S];
createNode<K extends valueof<JsNodeChildrenMap>>(node_class: Constructor<K>, options?: NodeCreateOptions): K;
children(): BaseJsNodeType[];
nodesByType<K extends keyof JsNodeChildrenMap>(type: K): JsNodeChildrenMap[K][];
childrenAllowed(): boolean;
sceneReadonly(): boolean;
cook(inputCoreGroups: CoreGroup[]): Promise<void>;
compileIfRequired(): void;
private _position;
private _paramConfigs;
private _functionData;
private _functionCreationArgs;
private _functionEvalArgs;
private _function;
functionData(): SingleBodyFunctionData | undefined;
compile(): void;
updateFromFunctionData(functionData: SingleBodyFunctionData): void;
functionEvalArgsWithParamConfigs(): (number | boolean | Function | RegisterableVariable)[];
}
export {};