UNPKG

@polygonjs/polygonjs

Version:

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

38 lines (37 loc) 1.88 kB
import { ClothMaterialController } from './modules/ClothMaterialsController'; import { ClothGeometryInitController } from './modules/ClothGeometryInitController'; import { ClothFBOController, ClothMaterialUniformConfigRef } from './modules/ClothFBOController'; import { WebGLRenderer, Mesh, Vector3, ShaderMaterial, Texture } from 'three'; import { PolyScene } from '../../engine/scene/PolyScene'; import type { ClothSolverSopNode } from '../../engine/nodes/sop/ClothSolver'; import { TextureAllocationsController } from '../../engine/nodes/gl/code/utils/TextureAllocationsController'; export declare class ClothController { scene: PolyScene; private _node; clothObject: Mesh; readonly materials: ClothMaterialController; readonly geometryInit: ClothGeometryInitController; private _persistedTextureAllocationsController; readonly fbo: ClothFBOController; stepsCount: number; constraintInfluence: number; viscosity: number; spring: number; constructor(scene: PolyScene, _node: ClothSolverSopNode, clothObject: Mesh); dispose(): void; setPersistedTextureAllocationController(controller: TextureAllocationsController): void; integrationFragmentShader(): string | undefined; textureAllocationsController(): TextureAllocationsController | undefined; assignReadonlyTextures(material: ShaderMaterial, texturesByName: Record<string, Texture>): void; addMaterialUniforms(material: ShaderMaterial): void; init(renderer: WebGLRenderer): void; update(config: ClothMaterialUniformConfigRef): void; private _selectedVertexIndex; private _selectedVertexPosition; private _setSelectedVertexIndex; createConstraint(index: number): void; deleteConstraint(): void; selectedVertexIndex(): number; setConstraintPosition(position: Vector3): void; constraintPosition(target: Vector3): void; }