| 1012 | } |
| 1013 | } |
| 1014 | update() { |
| 1015 | if (this.options.isBounce) this.boundarySpace.set(0, 0); |
| 1016 | else this.boundarySpace.copy(this.cellScale); |
| 1017 | this.advection.update({ |
| 1018 | dt: this.options.dt, |
| 1019 | isBounce: this.options.isBounce, |
| 1020 | BFECC: this.options.BFECC, |
| 1021 | }); |
| 1022 | this.externalForce.update({ |
| 1023 | cursor_size: this.options.cursor_size, |
| 1024 | mouse_force: this.options.mouse_force, |
| 1025 | cellScale: this.cellScale, |
| 1026 | }); |
| 1027 | let vel: any = this.fbos.vel_1; |
| 1028 | if (this.options.isViscous) { |
| 1029 | vel = this.viscous.update({ |
| 1030 | viscous: this.options.viscous, |
| 1031 | iterations: this.options.iterations_viscous, |
| 1032 | dt: this.options.dt, |
| 1033 | }); |
| 1034 | } |
| 1035 | this.divergence.update({ vel }); |
| 1036 | const pressure = this.poisson.update({ |
| 1037 | iterations: this.options.iterations_poisson, |
| 1038 | }); |
| 1039 | this.pressure.update({ vel, pressure }); |
| 1040 | } |
| 1041 | } |
| 1042 | |
| 1043 | class Output { |