@polygonjs/polygonjs
Version:
node-based WebGL 3D engine https://polygonjs.com
55 lines (54 loc) • 2.79 kB
TypeScript
/**
* Create a cloth solver
*
*
*/
import { Object3D } from 'three';
import { CoreGroup } from '../../../core/geometry/Group';
import { NodeParamsConfig } from '../utils/params/ParamsConfig';
import { NodeContext } from '../../poly/NodeContext';
import { SopType } from '../../poly/registers/nodes/types/Sop';
import { PolyScene } from '../../scene/PolyScene';
import { TypedSopNode } from './_Base';
import { AssemblerName } from '../../poly/registers/assemblers/_BaseRegister';
import { GlAssemblerController } from '../gl/code/Controller';
import { ShaderAssemblerCloth } from '../gl/code/assemblers/cloth/ClothAssembler';
import { ClothPersistedConfig } from '../gl/code/assemblers/cloth/ClothPersistedConfig';
import { GlNodeChildrenMap } from '../../poly/registers/nodes/Gl';
import { NodeCreateOptions } from '../utils/hierarchy/ChildrenController';
import { Constructor, valueof } from '../../../types/GlobalTypes';
import { BaseGlNodeType } from '../gl/_Base';
import { ShaderName } from '../utils/shaders/ShaderName';
import { ClothController } from '../../../core/cloth/ClothController';
declare class ClothSolverSopParamsConfig extends NodeParamsConfig {
}
export declare class ClothSolverSopNode extends TypedSopNode<ClothSolverSopParamsConfig> {
readonly paramsConfig: ClothSolverSopParamsConfig;
static type(): SopType.CLOTH_SOLVER;
assemblerController(): GlAssemblerController<ShaderAssemblerCloth> | undefined;
usedAssembler(): Readonly<AssemblerName.GL_CLOTH>;
protected _assemblerController: GlAssemblerController<ShaderAssemblerCloth> | undefined;
private _createAssemblerController;
readonly persisted_config: ClothPersistedConfig;
private _globalsHandler;
private _shadersByName;
shadersByName(): Map<ShaderName, string>;
protected _childrenControllerContext: NodeContext;
protected initializeNode(): void;
createNode<S extends keyof GlNodeChildrenMap>(node_class: S, options?: NodeCreateOptions): GlNodeChildrenMap[S];
createNode<K extends valueof<GlNodeChildrenMap>>(node_class: Constructor<K>, options?: NodeCreateOptions): K;
children(): BaseGlNodeType[];
nodesByType<K extends keyof GlNodeChildrenMap>(type: K): GlNodeChildrenMap[K][];
childrenAllowed(): boolean;
sceneReadonly(): boolean;
cook(inputCoreGroups: CoreGroup[]): Promise<void>;
updateObjectOnAdd(object: Object3D): void;
compileIfRequired(): void;
run_assembler(): void;
private _setShaderNames;
init_with_persisted_config(): void;
initCoreClothControllerFromPersistedConfig(coreClothController: ClothController): void;
private _findExportNodes;
}
export declare function getClothControllerNodeFromWorldObject(clothObject: Object3D, scene: PolyScene): ClothSolverSopNode | undefined;
export {};