Blender  V3.3
manta_fluid_API.cpp
Go to the documentation of this file.
1 /* SPDX-License-Identifier: GPL-2.0-or-later
2  * Copyright 2016 Blender Foundation. All rights reserved. */
3 
8 #include <cmath>
9 
10 #include "MANTA_main.h"
11 #include "manta_fluid_API.h"
12 
13 /* Fluid functions */
14 MANTA *manta_init(int *res, struct FluidModifierData *fmd)
15 {
16  return new MANTA(res, fmd);
17 }
18 void manta_free(MANTA *fluid)
19 {
20  delete fluid;
21  fluid = nullptr;
22 }
23 
25 {
26  return fluid->initObstacle(fmd);
27 }
28 bool manta_ensure_guiding(MANTA *fluid, struct FluidModifierData *fmd)
29 {
30  return fluid->initGuiding(fmd);
31 }
33 {
34  return fluid->initInVelocity(fmd);
35 }
36 bool manta_ensure_outflow(MANTA *fluid, struct FluidModifierData *fmd)
37 {
38  return fluid->initOutflow(fmd);
39 }
40 
41 bool manta_write_config(MANTA *fluid, FluidModifierData *fmd, int framenr)
42 {
43  return fluid->writeConfiguration(fmd, framenr);
44 }
45 
46 bool manta_write_data(MANTA *fluid, FluidModifierData *fmd, int framenr)
47 {
48  return fluid->writeData(fmd, framenr);
49 }
50 
51 bool manta_write_noise(MANTA *fluid, FluidModifierData *fmd, int framenr)
52 {
53  return fluid->writeNoise(fmd, framenr);
54 }
55 
56 bool manta_read_config(MANTA *fluid, FluidModifierData *fmd, int framenr)
57 {
58  return fluid->readConfiguration(fmd, framenr);
59 }
60 
61 bool manta_read_data(MANTA *fluid, FluidModifierData *fmd, int framenr, bool resumable)
62 {
63  return fluid->readData(fmd, framenr, resumable);
64 }
65 
66 bool manta_read_noise(MANTA *fluid, FluidModifierData *fmd, int framenr, bool resumable)
67 {
68  return fluid->readNoise(fmd, framenr, resumable);
69 }
70 
71 bool manta_read_mesh(MANTA *fluid, FluidModifierData *fmd, int framenr)
72 {
73  return fluid->readMesh(fmd, framenr);
74 }
75 
76 bool manta_read_particles(MANTA *fluid, FluidModifierData *fmd, int framenr, bool resumable)
77 {
78  return fluid->readParticles(fmd, framenr, resumable);
79 }
80 
81 bool manta_read_guiding(MANTA *fluid, FluidModifierData *fmd, int framenr, bool sourceDomain)
82 {
83  return fluid->readGuiding(fmd, framenr, sourceDomain);
84 }
85 
86 bool manta_bake_data(MANTA *fluid, FluidModifierData *fmd, int framenr)
87 {
88  return fluid->bakeData(fmd, framenr);
89 }
90 
91 bool manta_bake_noise(MANTA *fluid, FluidModifierData *fmd, int framenr)
92 {
93  return fluid->bakeNoise(fmd, framenr);
94 }
95 
96 bool manta_bake_mesh(MANTA *fluid, FluidModifierData *fmd, int framenr)
97 {
98  return fluid->bakeMesh(fmd, framenr);
99 }
100 
101 bool manta_bake_particles(MANTA *fluid, FluidModifierData *fmd, int framenr)
102 {
103  return fluid->bakeParticles(fmd, framenr);
104 }
105 
106 bool manta_bake_guiding(MANTA *fluid, FluidModifierData *fmd, int framenr)
107 {
108  return fluid->bakeGuiding(fmd, framenr);
109 }
110 
111 bool manta_has_data(MANTA *fluid, FluidModifierData *fmd, int framenr)
112 {
113  return fluid->hasData(fmd, framenr);
114 }
115 
116 bool manta_has_noise(MANTA *fluid, FluidModifierData *fmd, int framenr)
117 {
118  return fluid->hasNoise(fmd, framenr);
119 }
120 
121 bool manta_has_mesh(MANTA *fluid, FluidModifierData *fmd, int framenr)
122 {
123  return fluid->hasMesh(fmd, framenr);
124 }
125 
126 bool manta_has_particles(MANTA *fluid, FluidModifierData *fmd, int framenr)
127 {
128  return fluid->hasParticles(fmd, framenr);
129 }
130 
131 bool manta_has_guiding(MANTA *fluid, FluidModifierData *fmd, int framenr, bool domain)
132 {
133  return fluid->hasGuiding(fmd, framenr, domain);
134 }
135 
137 {
138  fluid->updateVariables(fmd);
139 }
140 
142 {
143  return fluid->getFrame();
144 }
145 
147 {
148  return fluid->getTimestep();
149 }
150 
152 {
153  fluid->adaptTimestep();
154 }
155 
157 {
158  return fluid->needsRealloc(fmd);
159 }
160 
161 void manta_update_pointers(struct MANTA *fluid, struct FluidModifierData *fmd, bool flush)
162 {
163  fluid->updatePointers(fmd, flush);
164 }
165 
166 /* Fluid accessors */
167 size_t manta_get_index(int x, int max_x, int y, int max_y, int z /*, int max_z */)
168 {
169  return x + y * max_x + z * max_x * max_y;
170 }
171 size_t manta_get_index2d(int x, int max_x, int y /*, int max_y, int z, int max_z */)
172 {
173  return x + y * max_x;
174 }
176 {
177  return fluid->getVelocityX();
178 }
180 {
181  return fluid->getVelocityY();
182 }
184 {
185  return fluid->getVelocityZ();
186 }
187 
189 {
190  return fluid->getObVelocityX();
191 }
193 {
194  return fluid->getObVelocityY();
195 }
197 {
198  return fluid->getObVelocityZ();
199 }
200 
202 {
203  return fluid->getGuideVelocityX();
204 }
206 {
207  return fluid->getGuideVelocityY();
208 }
210 {
211  return fluid->getGuideVelocityZ();
212 }
213 
215 {
216  return fluid->getInVelocityX();
217 }
219 {
220  return fluid->getInVelocityY();
221 }
223 {
224  return fluid->getInVelocityZ();
225 }
226 
227 float *manta_get_force_x(MANTA *fluid)
228 {
229  return fluid->getForceX();
230 }
231 float *manta_get_force_y(MANTA *fluid)
232 {
233  return fluid->getForceY();
234 }
235 float *manta_get_force_z(MANTA *fluid)
236 {
237  return fluid->getForceZ();
238 }
239 
241 {
242  return fluid->getPhiGuideIn();
243 }
244 
246 {
247  return fluid->getNumObstacle();
248 }
250 {
251  return fluid->getNumGuide();
252 }
253 
255 {
256  return fluid->getResX();
257 }
259 {
260  return fluid->getResY();
261 }
263 {
264  return fluid->getResZ();
265 }
266 
267 float *manta_get_phi_in(MANTA *fluid)
268 {
269  return fluid->getPhiIn();
270 }
272 {
273  return fluid->getPhiStaticIn();
274 }
276 {
277  return fluid->getPhiObsIn();
278 }
280 {
281  return fluid->getPhiObsStaticIn();
282 }
284 {
285  return fluid->getPhiOutIn();
286 }
288 {
289  return fluid->getPhiOutStaticIn();
290 }
291 float *manta_get_phi(MANTA *fluid)
292 {
293  return fluid->getPhi();
294 }
295 float *manta_get_pressure(MANTA *fluid)
296 {
297  return fluid->getPressure();
298 }
299 
300 /* Smoke functions */
302 {
303  return smoke->exportSmokeScript(fmd);
304 }
305 
306 static void get_rgba(
307  float *r, float *g, float *b, float *a, int total_cells, float *data, int sequential)
308 {
309  int i;
310  /* Use offsets to map RGB grids to correct location in data grid. */
311  int m = 4, i_g = 1, i_b = 2, i_a = 3;
312  if (sequential) {
313  m = 1;
314  i_g *= total_cells;
315  i_b *= total_cells;
316  i_a *= total_cells;
317  }
318 
319  for (i = 0; i < total_cells; i++) {
320  float alpha = a[i];
321  data[i * m] = r[i] * alpha;
322  data[i * m + i_g] = g[i] * alpha;
323  data[i * m + i_b] = b[i] * alpha;
324  data[i * m + i_a] = alpha;
325  }
326 }
327 
328 void manta_smoke_get_rgba(MANTA *smoke, float *data, int sequential)
329 {
330  get_rgba(smoke->getColorR(),
331  smoke->getColorG(),
332  smoke->getColorB(),
333  smoke->getDensity(),
334  smoke->getTotalCells(),
335  data,
336  sequential);
337 }
338 
339 void manta_noise_get_rgba(MANTA *smoke, float *data, int sequential)
340 {
341  get_rgba(smoke->getColorRHigh(),
342  smoke->getColorGHigh(),
343  smoke->getColorBHigh(),
344  smoke->getDensityHigh(),
345  smoke->getTotalCellsHigh(),
346  data,
347  sequential);
348 }
349 
350 static void get_rgba_fixed_color(float color[3], int total_cells, float *data, int sequential)
351 {
352  int i;
353  int m = 4, i_g = 1, i_b = 2, i_a = 3;
354  if (sequential) {
355  m = 1;
356  i_g *= total_cells;
357  i_b *= total_cells;
358  i_a *= total_cells;
359  }
360 
361  for (i = 0; i < total_cells; i++) {
362  data[i * m] = color[0];
363  data[i * m + i_g] = color[1];
364  data[i * m + i_b] = color[2];
365  data[i * m + i_a] = 1.0f;
366  }
367 }
368 
369 void manta_smoke_get_rgba_fixed_color(MANTA *smoke, float color[3], float *data, int sequential)
370 {
371  get_rgba_fixed_color(color, smoke->getTotalCells(), data, sequential);
372 }
373 
374 void manta_noise_get_rgba_fixed_color(MANTA *smoke, float color[3], float *data, int sequential)
375 {
376  get_rgba_fixed_color(color, smoke->getTotalCellsHigh(), data, sequential);
377 }
378 
380 {
381  return smoke->initHeat(fmd);
382 }
383 
385 {
386  bool result = smoke->initFire(fmd);
387  if (smoke->usingNoise()) {
388  result &= smoke->initFireHigh(fmd);
389  }
390  return result;
391 }
392 
394 {
395  bool result = smoke->initColors(fmd);
396  if (smoke->usingNoise()) {
397  result &= smoke->initColorsHigh(fmd);
398  }
399  return result;
400 }
401 
402 /* Smoke accessors */
404 {
405  return smoke->getDensity();
406 }
408 {
409  return smoke->getFuel();
410 }
412 {
413  return smoke->getReact();
414 }
416 {
417  return smoke->getHeat();
418 }
420 {
421  return smoke->getFlame();
422 }
424 {
425  return smoke->getShadow();
426 }
427 
429 {
430  return smoke->getColorR();
431 }
433 {
434  return smoke->getColorG();
435 }
437 {
438  return smoke->getColorB();
439 }
440 
442 {
443  return smoke->getFlags();
444 }
445 
447 {
448  return smoke->getDensityIn();
449 }
451 {
452  return smoke->getHeatIn();
453 }
455 {
456  return smoke->getColorRIn();
457 }
459 {
460  return smoke->getColorGIn();
461 }
463 {
464  return smoke->getColorBIn();
465 }
467 {
468  return smoke->getFuelIn();
469 }
471 {
472  return smoke->getReactIn();
473 }
475 {
476  return smoke->getEmissionIn();
477 }
478 
480 {
481  return smoke->getHeat() != nullptr;
482  ;
483 }
485 {
486  return smoke->getFuel() != nullptr;
487 }
489 {
490  return smoke->getColorR() != nullptr && smoke->getColorG() != nullptr &&
491  smoke->getColorB() != nullptr;
492 }
493 
495 {
496  return smoke->getDensityHigh();
497 }
499 {
500  return smoke->getFuelHigh();
501 }
503 {
504  return smoke->getReactHigh();
505 }
507 {
508  return smoke->getColorRHigh();
509 }
511 {
512  return smoke->getColorGHigh();
513 }
515 {
516  return smoke->getColorBHigh();
517 }
519 {
520  return smoke->getFlameHigh();
521 }
523 {
524  return smoke->getTextureU();
525 }
527 {
528  return smoke->getTextureV();
529 }
531 {
532  return smoke->getTextureW();
533 }
535 {
536  return smoke->getTextureU2();
537 }
539 {
540  return smoke->getTextureV2();
541 }
543 {
544  return smoke->getTextureW2();
545 }
546 
548 {
549  return smoke->getFuelHigh() != nullptr;
550 }
552 {
553  return smoke->getColorRHigh() != nullptr && smoke->getColorGHigh() != nullptr &&
554  smoke->getColorBHigh() != nullptr;
555  ;
556 }
557 
558 void manta_noise_get_res(MANTA *smoke, int *res)
559 {
560  res[0] = smoke->getResXHigh();
561  res[1] = smoke->getResYHigh();
562  res[2] = smoke->getResZHigh();
563 }
565 {
566  return smoke->getResXHigh() * smoke->getResYHigh() * smoke->getResZHigh();
567 }
568 
569 /* Liquid functions */
571 {
572  return liquid->exportLiquidScript(fmd);
573 }
574 
576 {
577  return liquid->initLiquidSndParts(fmd);
578 }
579 
580 /* Liquid accessors */
582 {
583  return liquid->getParticleResX();
584 }
586 {
587  return liquid->getParticleResY();
588 }
590 {
591  return liquid->getParticleResZ();
592 }
593 
595 {
596  return liquid->getMeshResX();
597 }
599 {
600  return liquid->getMeshResY();
601 }
603 {
604  return liquid->getMeshResZ();
605 }
606 
608 {
609  return liquid->getParticleUpres();
610 }
612 {
613  return liquid->getMeshUpres();
614 }
615 
617 {
618  return liquid->getNumVertices();
619 }
621 {
622  return liquid->getNumNormals();
623 }
625 {
626  return liquid->getNumTriangles();
627 }
628 
629 float manta_liquid_get_vertex_x_at(MANTA *liquid, int i)
630 {
631  return liquid->getVertexXAt(i);
632 }
633 float manta_liquid_get_vertex_y_at(MANTA *liquid, int i)
634 {
635  return liquid->getVertexYAt(i);
636 }
637 float manta_liquid_get_vertex_z_at(MANTA *liquid, int i)
638 {
639  return liquid->getVertexZAt(i);
640 }
641 
642 float manta_liquid_get_normal_x_at(MANTA *liquid, int i)
643 {
644  return liquid->getNormalXAt(i);
645 }
646 float manta_liquid_get_normal_y_at(MANTA *liquid, int i)
647 {
648  return liquid->getNormalYAt(i);
649 }
650 float manta_liquid_get_normal_z_at(MANTA *liquid, int i)
651 {
652  return liquid->getNormalZAt(i);
653 }
654 
656 {
657  return liquid->getTriangleXAt(i);
658 }
660 {
661  return liquid->getTriangleYAt(i);
662 }
664 {
665  return liquid->getTriangleZAt(i);
666 }
667 
669 {
670  return liquid->getVertVelXAt(i);
671 }
673 {
674  return liquid->getVertVelYAt(i);
675 }
677 {
678  return liquid->getVertVelZAt(i);
679 }
680 
682 {
683  return liquid->getNumFlipParticles();
684 }
686 {
687  return liquid->getNumSndParticles();
688 }
689 
691 {
692  return liquid->getFlipParticleFlagAt(i);
693 }
695 {
696  return liquid->getSndParticleFlagAt(i);
697 }
698 
700 {
701  return liquid->getFlipParticlePositionXAt(i);
702 }
704 {
705  return liquid->getFlipParticlePositionYAt(i);
706 }
708 {
709  return liquid->getFlipParticlePositionZAt(i);
710 }
711 
713 {
714  return liquid->getFlipParticleVelocityXAt(i);
715 }
717 {
718  return liquid->getFlipParticleVelocityYAt(i);
719 }
721 {
722  return liquid->getFlipParticleVelocityZAt(i);
723 }
724 
726 {
727  return liquid->getSndParticlePositionXAt(i);
728 }
730 {
731  return liquid->getSndParticlePositionYAt(i);
732 }
734 {
735  return liquid->getSndParticlePositionZAt(i);
736 }
737 
739 {
740  return liquid->getSndParticleVelocityXAt(i);
741 }
743 {
744  return liquid->getSndParticleVelocityYAt(i);
745 }
747 {
748  return liquid->getSndParticleVelocityZAt(i);
749 }
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei GLfloat GLfloat GLfloat GLfloat const GLubyte *bitmap _GL_VOID_RET _GL_VOID GLenum const void *lists _GL_VOID_RET _GL_VOID const GLdouble *equation _GL_VOID_RET _GL_VOID GLdouble GLdouble blue _GL_VOID_RET _GL_VOID GLfloat GLfloat blue _GL_VOID_RET _GL_VOID GLint GLint blue _GL_VOID_RET _GL_VOID GLshort GLshort blue _GL_VOID_RET _GL_VOID GLubyte GLubyte blue _GL_VOID_RET _GL_VOID GLuint GLuint blue _GL_VOID_RET _GL_VOID GLushort GLushort blue _GL_VOID_RET _GL_VOID GLbyte GLbyte GLbyte alpha _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble alpha _GL_VOID_RET _GL_VOID GLfloat GLfloat GLfloat alpha _GL_VOID_RET _GL_VOID GLint GLint GLint alpha _GL_VOID_RET _GL_VOID GLshort GLshort GLshort alpha _GL_VOID_RET _GL_VOID GLubyte GLubyte GLubyte alpha _GL_VOID_RET _GL_VOID GLuint GLuint GLuint alpha _GL_VOID_RET _GL_VOID GLushort GLushort GLushort alpha _GL_VOID_RET _GL_VOID GLenum mode _GL_VOID_RET _GL_VOID GLint GLsizei GLsizei GLenum type _GL_VOID_RET _GL_VOID GLsizei GLenum GLenum const void *pixels _GL_VOID_RET _GL_VOID const void *pointer _GL_VOID_RET _GL_VOID GLdouble v _GL_VOID_RET _GL_VOID GLfloat v _GL_VOID_RET _GL_VOID GLint GLint i2 _GL_VOID_RET _GL_VOID GLint j _GL_VOID_RET _GL_VOID GLfloat param _GL_VOID_RET _GL_VOID GLint param _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble GLdouble GLdouble zFar _GL_VOID_RET _GL_UINT GLdouble *equation _GL_VOID_RET _GL_VOID GLenum GLint *params _GL_VOID_RET _GL_VOID GLenum GLfloat *v _GL_VOID_RET _GL_VOID GLenum GLfloat *params _GL_VOID_RET _GL_VOID GLfloat *values _GL_VOID_RET _GL_VOID GLushort *values _GL_VOID_RET _GL_VOID GLenum GLfloat *params _GL_VOID_RET _GL_VOID GLenum GLdouble *params _GL_VOID_RET _GL_VOID GLenum GLint *params _GL_VOID_RET _GL_VOID GLsizei const void *pointer _GL_VOID_RET _GL_VOID GLsizei const void *pointer _GL_VOID_RET _GL_BOOL GLfloat param _GL_VOID_RET _GL_VOID GLint param _GL_VOID_RET _GL_VOID GLenum GLfloat param _GL_VOID_RET _GL_VOID GLenum GLint param _GL_VOID_RET _GL_VOID GLushort pattern _GL_VOID_RET _GL_VOID GLdouble GLdouble GLint GLint const GLdouble *points _GL_VOID_RET _GL_VOID GLdouble GLdouble GLint GLint GLdouble GLdouble GLint GLint const GLdouble *points _GL_VOID_RET _GL_VOID GLdouble GLdouble u2 _GL_VOID_RET _GL_VOID GLdouble GLdouble GLint GLdouble GLdouble v2 _GL_VOID_RET _GL_VOID GLenum GLfloat param _GL_VOID_RET _GL_VOID GLenum GLint param _GL_VOID_RET _GL_VOID GLenum mode _GL_VOID_RET _GL_VOID GLdouble GLdouble nz _GL_VOID_RET _GL_VOID GLfloat GLfloat nz _GL_VOID_RET _GL_VOID GLint GLint nz _GL_VOID_RET _GL_VOID GLshort GLshort nz _GL_VOID_RET _GL_VOID GLsizei const void *pointer _GL_VOID_RET _GL_VOID GLsizei const GLfloat *values _GL_VOID_RET _GL_VOID GLsizei const GLushort *values _GL_VOID_RET _GL_VOID GLint param _GL_VOID_RET _GL_VOID const GLuint const GLclampf *priorities _GL_VOID_RET _GL_VOID GLdouble y _GL_VOID_RET _GL_VOID GLfloat y _GL_VOID_RET _GL_VOID GLint y _GL_VOID_RET _GL_VOID GLshort y _GL_VOID_RET _GL_VOID GLdouble GLdouble z _GL_VOID_RET _GL_VOID GLfloat GLfloat z _GL_VOID_RET _GL_VOID GLint GLint z _GL_VOID_RET _GL_VOID GLshort GLshort z _GL_VOID_RET _GL_VOID GLdouble GLdouble z
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei GLfloat GLfloat GLfloat GLfloat const GLubyte *bitmap _GL_VOID_RET _GL_VOID GLenum const void *lists _GL_VOID_RET _GL_VOID const GLdouble *equation _GL_VOID_RET _GL_VOID GLdouble GLdouble blue _GL_VOID_RET _GL_VOID GLfloat GLfloat blue _GL_VOID_RET _GL_VOID GLint GLint blue _GL_VOID_RET _GL_VOID GLshort GLshort blue _GL_VOID_RET _GL_VOID GLubyte GLubyte blue _GL_VOID_RET _GL_VOID GLuint GLuint blue _GL_VOID_RET _GL_VOID GLushort GLushort blue _GL_VOID_RET _GL_VOID GLbyte GLbyte GLbyte alpha _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble alpha _GL_VOID_RET _GL_VOID GLfloat GLfloat GLfloat alpha _GL_VOID_RET _GL_VOID GLint GLint GLint alpha _GL_VOID_RET _GL_VOID GLshort GLshort GLshort alpha _GL_VOID_RET _GL_VOID GLubyte GLubyte GLubyte alpha _GL_VOID_RET _GL_VOID GLuint GLuint GLuint alpha _GL_VOID_RET _GL_VOID GLushort GLushort GLushort alpha _GL_VOID_RET _GL_VOID GLenum mode _GL_VOID_RET _GL_VOID GLint GLsizei GLsizei GLenum type _GL_VOID_RET _GL_VOID GLsizei GLenum GLenum const void *pixels _GL_VOID_RET _GL_VOID const void *pointer _GL_VOID_RET _GL_VOID GLdouble v _GL_VOID_RET _GL_VOID GLfloat v _GL_VOID_RET _GL_VOID GLint GLint i2 _GL_VOID_RET _GL_VOID GLint j _GL_VOID_RET _GL_VOID GLfloat param _GL_VOID_RET _GL_VOID GLint param _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble GLdouble GLdouble zFar _GL_VOID_RET _GL_UINT GLdouble *equation _GL_VOID_RET _GL_VOID GLenum GLint *params _GL_VOID_RET _GL_VOID GLenum GLfloat *v _GL_VOID_RET _GL_VOID GLenum GLfloat *params _GL_VOID_RET _GL_VOID GLfloat *values _GL_VOID_RET _GL_VOID GLushort *values _GL_VOID_RET _GL_VOID GLenum GLfloat *params _GL_VOID_RET _GL_VOID GLenum GLdouble *params _GL_VOID_RET _GL_VOID GLenum GLint *params _GL_VOID_RET _GL_VOID GLsizei const void *pointer _GL_VOID_RET _GL_VOID GLsizei const void *pointer _GL_VOID_RET _GL_BOOL GLfloat param _GL_VOID_RET _GL_VOID GLint param _GL_VOID_RET _GL_VOID GLenum GLfloat param _GL_VOID_RET _GL_VOID GLenum GLint param _GL_VOID_RET _GL_VOID GLushort pattern _GL_VOID_RET _GL_VOID GLdouble GLdouble GLint GLint const GLdouble *points _GL_VOID_RET _GL_VOID GLdouble GLdouble GLint GLint GLdouble GLdouble GLint GLint const GLdouble *points _GL_VOID_RET _GL_VOID GLdouble GLdouble u2 _GL_VOID_RET _GL_VOID GLdouble GLdouble GLint GLdouble GLdouble v2 _GL_VOID_RET _GL_VOID GLenum GLfloat param _GL_VOID_RET _GL_VOID GLenum GLint param _GL_VOID_RET _GL_VOID GLenum mode _GL_VOID_RET _GL_VOID GLdouble GLdouble nz _GL_VOID_RET _GL_VOID GLfloat GLfloat nz _GL_VOID_RET _GL_VOID GLint GLint nz _GL_VOID_RET _GL_VOID GLshort GLshort nz _GL_VOID_RET _GL_VOID GLsizei const void *pointer _GL_VOID_RET _GL_VOID GLsizei const GLfloat *values _GL_VOID_RET _GL_VOID GLsizei const GLushort *values _GL_VOID_RET _GL_VOID GLint param _GL_VOID_RET _GL_VOID const GLuint const GLclampf *priorities _GL_VOID_RET _GL_VOID GLdouble y _GL_VOID_RET _GL_VOID GLfloat y _GL_VOID_RET _GL_VOID GLint y _GL_VOID_RET _GL_VOID GLshort y _GL_VOID_RET _GL_VOID GLdouble GLdouble z _GL_VOID_RET _GL_VOID GLfloat GLfloat z _GL_VOID_RET _GL_VOID GLint GLint z _GL_VOID_RET _GL_VOID GLshort GLshort z _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble w _GL_VOID_RET _GL_VOID GLfloat GLfloat GLfloat w _GL_VOID_RET _GL_VOID GLint GLint GLint w _GL_VOID_RET _GL_VOID GLshort GLshort GLshort w _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble y2 _GL_VOID_RET _GL_VOID GLfloat GLfloat GLfloat y2 _GL_VOID_RET _GL_VOID GLint GLint GLint y2 _GL_VOID_RET _GL_VOID GLshort GLshort GLshort y2 _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble z _GL_VOID_RET _GL_VOID GLdouble GLdouble z _GL_VOID_RET _GL_VOID GLuint *buffer _GL_VOID_RET _GL_VOID GLdouble t _GL_VOID_RET _GL_VOID GLfloat t _GL_VOID_RET _GL_VOID GLint t _GL_VOID_RET _GL_VOID GLshort t _GL_VOID_RET _GL_VOID GLdouble GLdouble r _GL_VOID_RET _GL_VOID GLfloat GLfloat r _GL_VOID_RET _GL_VOID GLint GLint r _GL_VOID_RET _GL_VOID GLshort GLshort r _GL_VOID_RET _GL_VOID GLdouble GLdouble r
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei GLfloat GLfloat GLfloat GLfloat const GLubyte *bitmap _GL_VOID_RET _GL_VOID GLenum const void *lists _GL_VOID_RET _GL_VOID const GLdouble *equation _GL_VOID_RET _GL_VOID GLdouble GLdouble blue _GL_VOID_RET _GL_VOID GLfloat GLfloat blue _GL_VOID_RET _GL_VOID GLint GLint blue _GL_VOID_RET _GL_VOID GLshort GLshort blue _GL_VOID_RET _GL_VOID GLubyte GLubyte blue _GL_VOID_RET _GL_VOID GLuint GLuint blue _GL_VOID_RET _GL_VOID GLushort GLushort blue _GL_VOID_RET _GL_VOID GLbyte GLbyte GLbyte alpha _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble alpha _GL_VOID_RET _GL_VOID GLfloat GLfloat GLfloat alpha _GL_VOID_RET _GL_VOID GLint GLint GLint alpha _GL_VOID_RET _GL_VOID GLshort GLshort GLshort alpha _GL_VOID_RET _GL_VOID GLubyte GLubyte GLubyte alpha _GL_VOID_RET _GL_VOID GLuint GLuint GLuint alpha _GL_VOID_RET _GL_VOID GLushort GLushort GLushort alpha _GL_VOID_RET _GL_VOID GLenum mode _GL_VOID_RET _GL_VOID GLint y
Group Output data from inside of a node group A color picker Mix two input colors RGB to Convert a color s luminance to a grayscale value Generate a normal vector and a dot product Bright Control the brightness and contrast of the input color Vector Map an input vectors to used to fine tune the interpolation of the input Camera Retrieve information about the camera and how it relates to the current shading point s position Clamp a value between a minimum and a maximum Vector Perform vector math operation Invert a color
void manta_noise_get_rgba(MANTA *smoke, float *data, int sequential)
float * manta_get_phiobs_in(MANTA *fluid)
float * manta_get_force_x(MANTA *fluid)
int manta_liquid_get_num_normals(MANTA *liquid)
bool manta_noise_has_fuel(MANTA *smoke)
bool manta_bake_particles(MANTA *fluid, FluidModifierData *fmd, int framenr)
int manta_liquid_get_num_verts(MANTA *liquid)
bool manta_ensure_guiding(MANTA *fluid, struct FluidModifierData *fmd)
float manta_liquid_get_snd_particle_position_x_at(MANTA *liquid, int i)
float * manta_noise_get_flame(MANTA *smoke)
float * manta_get_phi_in(MANTA *fluid)
bool manta_write_config(MANTA *fluid, FluidModifierData *fmd, int framenr)
float * manta_get_guide_velocity_x(MANTA *fluid)
float * manta_get_num_obstacle(MANTA *fluid)
int manta_liquid_get_triangle_z_at(MANTA *liquid, int i)
int manta_liquid_get_particle_res_z(MANTA *liquid)
float * manta_smoke_get_density(MANTA *smoke)
float * manta_get_phi(MANTA *fluid)
bool manta_has_mesh(MANTA *fluid, FluidModifierData *fmd, int framenr)
float * manta_smoke_get_color_g_in(MANTA *smoke)
void manta_update_variables(MANTA *fluid, FluidModifierData *fmd)
bool manta_bake_mesh(MANTA *fluid, FluidModifierData *fmd, int framenr)
float * manta_get_in_velocity_x(MANTA *fluid)
float * manta_get_force_z(MANTA *fluid)
bool manta_smoke_ensure_heat(MANTA *smoke, struct FluidModifierData *fmd)
int manta_liquid_get_triangle_y_at(MANTA *liquid, int i)
bool manta_has_data(MANTA *fluid, FluidModifierData *fmd, int framenr)
float * manta_smoke_get_color_b(MANTA *smoke)
float * manta_smoke_get_color_g(MANTA *smoke)
int manta_get_frame(MANTA *fluid)
float manta_liquid_get_vertvel_z_at(MANTA *liquid, int i)
float * manta_get_ob_velocity_y(MANTA *fluid)
float manta_liquid_get_normal_x_at(MANTA *liquid, int i)
int manta_get_res_z(MANTA *fluid)
bool manta_smoke_has_fuel(MANTA *smoke)
MANTA * manta_init(int *res, struct FluidModifierData *fmd)
bool manta_smoke_ensure_colors(MANTA *smoke, struct FluidModifierData *fmd)
int manta_noise_get_cells(MANTA *smoke)
void manta_smoke_get_rgba(MANTA *smoke, float *data, int sequential)
float * manta_smoke_get_shadow(MANTA *smoke)
float * manta_noise_get_color_b(MANTA *smoke)
float manta_liquid_get_flip_particle_velocity_z_at(MANTA *liquid, int i)
float manta_liquid_get_flip_particle_position_x_at(MANTA *liquid, int i)
float * manta_noise_get_texture_w2(MANTA *smoke)
size_t manta_get_index2d(int x, int max_x, int y)
float * manta_smoke_get_react(MANTA *smoke)
float * manta_smoke_get_heat(MANTA *smoke)
bool manta_read_guiding(MANTA *fluid, FluidModifierData *fmd, int framenr, bool sourceDomain)
int manta_liquid_get_particle_res_y(MANTA *liquid)
static void get_rgba_fixed_color(float color[3], int total_cells, float *data, int sequential)
float * manta_noise_get_react(MANTA *smoke)
float manta_liquid_get_vertex_z_at(MANTA *liquid, int i)
void manta_smoke_get_rgba_fixed_color(MANTA *smoke, float color[3], float *data, int sequential)
int manta_get_res_x(MANTA *fluid)
float manta_liquid_get_vertex_y_at(MANTA *liquid, int i)
int manta_liquid_get_particle_res_x(MANTA *liquid)
float manta_liquid_get_flip_particle_velocity_y_at(MANTA *liquid, int i)
int manta_liquid_get_triangle_x_at(MANTA *liquid, int i)
bool manta_read_mesh(MANTA *fluid, FluidModifierData *fmd, int framenr)
float * manta_get_force_y(MANTA *fluid)
bool manta_needs_realloc(MANTA *fluid, FluidModifierData *fmd)
float * manta_get_velocity_z(MANTA *fluid)
int manta_liquid_get_num_snd_particles(MANTA *liquid)
float * manta_noise_get_fuel(MANTA *smoke)
float * manta_smoke_get_density_in(MANTA *smoke)
float manta_liquid_get_vertvel_y_at(MANTA *liquid, int i)
int manta_liquid_get_num_triangles(MANTA *liquid)
void manta_free(MANTA *fluid)
int manta_liquid_get_particle_upres(MANTA *liquid)
bool manta_liquid_ensure_sndparts(MANTA *liquid, struct FluidModifierData *fmd)
float * manta_smoke_get_color_r_in(MANTA *smoke)
float manta_liquid_get_normal_z_at(MANTA *liquid, int i)
float * manta_get_phiobsstatic_in(MANTA *fluid)
bool manta_has_guiding(MANTA *fluid, FluidModifierData *fmd, int framenr, bool domain)
int manta_liquid_get_mesh_upres(MANTA *liquid)
bool manta_read_particles(MANTA *fluid, FluidModifierData *fmd, int framenr, bool resumable)
bool manta_smoke_has_colors(MANTA *smoke)
int manta_liquid_get_mesh_res_y(MANTA *liquid)
int manta_liquid_get_flip_particle_flag_at(MANTA *liquid, int i)
int * manta_smoke_get_flags(MANTA *smoke)
void manta_noise_get_rgba_fixed_color(MANTA *smoke, float color[3], float *data, int sequential)
float * manta_smoke_get_color_r(MANTA *smoke)
float * manta_get_velocity_x(MANTA *fluid)
size_t manta_get_index(int x, int max_x, int y, int max_y, int z)
int manta_liquid_get_mesh_res_z(MANTA *liquid)
bool manta_write_noise(MANTA *fluid, FluidModifierData *fmd, int framenr)
float manta_liquid_get_snd_particle_velocity_z_at(MANTA *liquid, int i)
float * manta_smoke_get_react_in(MANTA *smoke)
bool manta_bake_data(MANTA *fluid, FluidModifierData *fmd, int framenr)
float manta_liquid_get_vertvel_x_at(MANTA *liquid, int i)
float * manta_smoke_get_fuel_in(MANTA *smoke)
void manta_update_pointers(struct MANTA *fluid, struct FluidModifierData *fmd, bool flush)
float manta_liquid_get_normal_y_at(MANTA *liquid, int i)
bool manta_ensure_invelocity(MANTA *fluid, struct FluidModifierData *fmd)
bool manta_write_data(MANTA *fluid, FluidModifierData *fmd, int framenr)
bool manta_read_data(MANTA *fluid, FluidModifierData *fmd, int framenr, bool resumable)
float * manta_get_ob_velocity_z(MANTA *fluid)
bool manta_has_noise(MANTA *fluid, FluidModifierData *fmd, int framenr)
void manta_adapt_timestep(MANTA *fluid)
float * manta_noise_get_texture_w(MANTA *smoke)
float manta_get_timestep(MANTA *fluid)
float manta_liquid_get_snd_particle_velocity_y_at(MANTA *liquid, int i)
float manta_liquid_get_snd_particle_position_z_at(MANTA *liquid, int i)
void manta_noise_get_res(MANTA *smoke, int *res)
float * manta_get_phistatic_in(MANTA *fluid)
float * manta_get_in_velocity_y(MANTA *fluid)
bool manta_ensure_outflow(MANTA *fluid, struct FluidModifierData *fmd)
bool manta_smoke_ensure_fire(MANTA *smoke, struct FluidModifierData *fmd)
float * manta_get_num_guide(MANTA *fluid)
int manta_get_res_y(MANTA *fluid)
float * manta_noise_get_texture_v(MANTA *smoke)
bool manta_noise_has_colors(MANTA *smoke)
float * manta_smoke_get_emission_in(MANTA *smoke)
float manta_liquid_get_snd_particle_velocity_x_at(MANTA *liquid, int i)
bool manta_liquid_export_script(MANTA *liquid, FluidModifierData *fmd)
bool manta_read_config(MANTA *fluid, FluidModifierData *fmd, int framenr)
bool manta_read_noise(MANTA *fluid, FluidModifierData *fmd, int framenr, bool resumable)
float * manta_smoke_get_color_b_in(MANTA *smoke)
float manta_liquid_get_flip_particle_position_z_at(MANTA *liquid, int i)
float * manta_get_guide_velocity_y(MANTA *fluid)
float * manta_smoke_get_heat_in(MANTA *smoke)
float * manta_get_ob_velocity_x(MANTA *fluid)
float * manta_noise_get_texture_u(MANTA *smoke)
bool manta_smoke_export_script(MANTA *smoke, FluidModifierData *fmd)
bool manta_smoke_has_heat(MANTA *smoke)
float manta_liquid_get_flip_particle_position_y_at(MANTA *liquid, int i)
int manta_liquid_get_snd_particle_flag_at(MANTA *liquid, int i)
float * manta_noise_get_color_g(MANTA *smoke)
float * manta_get_phiguide_in(MANTA *fluid)
bool manta_bake_guiding(MANTA *fluid, FluidModifierData *fmd, int framenr)
float * manta_get_guide_velocity_z(MANTA *fluid)
float * manta_noise_get_color_r(MANTA *smoke)
float * manta_noise_get_density(MANTA *smoke)
float * manta_smoke_get_flame(MANTA *smoke)
static void get_rgba(float *r, float *g, float *b, float *a, int total_cells, float *data, int sequential)
float manta_liquid_get_flip_particle_velocity_x_at(MANTA *liquid, int i)
int manta_liquid_get_mesh_res_x(MANTA *liquid)
float manta_liquid_get_snd_particle_position_y_at(MANTA *liquid, int i)
float * manta_get_phioutstatic_in(MANTA *fluid)
float manta_liquid_get_vertex_x_at(MANTA *liquid, int i)
float * manta_noise_get_texture_v2(MANTA *smoke)
bool manta_ensure_obstacle(MANTA *fluid, struct FluidModifierData *fmd)
bool manta_has_particles(MANTA *fluid, FluidModifierData *fmd, int framenr)
float * manta_get_velocity_y(MANTA *fluid)
float * manta_smoke_get_fuel(MANTA *smoke)
int manta_liquid_get_num_flip_particles(MANTA *liquid)
bool manta_bake_noise(MANTA *fluid, FluidModifierData *fmd, int framenr)
float * manta_get_in_velocity_z(MANTA *fluid)
float * manta_noise_get_texture_u2(MANTA *smoke)
float * manta_get_pressure(MANTA *fluid)
float * manta_get_phiout_in(MANTA *fluid)
static unsigned a[3]
Definition: RandGen.cpp:78
static const pxr::TfToken b("b", pxr::TfToken::Immortal)
static const pxr::TfToken g("g", pxr::TfToken::Immortal)
bool exportSmokeScript(struct FluidModifierData *fmd)
float * getTextureV2()
Definition: MANTA_main.h:358
float * getColorBHigh()
Definition: MANTA_main.h:338
int getMeshResX()
Definition: MANTA_main.h:139
float * getHeatIn()
Definition: MANTA_main.h:285
int getParticleResZ()
Definition: MANTA_main.h:135
int getTriangleXAt(int i)
Definition: MANTA_main.h:477
float * getColorG()
Definition: MANTA_main.h:269
float * getObVelocityX()
Definition: MANTA_main.h:193
float * getGuideVelocityZ()
Definition: MANTA_main.h:213
float * getPhiStaticIn()
Definition: MANTA_main.h:371
float getVertexZAt(int i)
Definition: MANTA_main.h:439
int getNumVertices()
Definition: MANTA_main.h:408
float getFlipParticlePositionXAt(int i)
Definition: MANTA_main.h:553
float * getGuideVelocityX()
Definition: MANTA_main.h:205
bool bakeNoise(FluidModifierData *fmd, int framenr)
bool writeNoise(FluidModifierData *fmd, int framenr)
float getSndParticlePositionXAt(int i)
Definition: MANTA_main.h:581
bool initFireHigh(struct FluidModifierData *fmd=nullptr)
Definition: MANTA_main.cpp:355
bool hasNoise(FluidModifierData *fmd, int framenr)
float * getPressure()
Definition: MANTA_main.h:399
bool exportLiquidScript(struct FluidModifierData *fmd)
bool readData(FluidModifierData *fmd, int framenr, bool resumable)
int getNumFlipParticles()
Definition: MANTA_main.h:693
bool initOutflow(FluidModifierData *fmd=nullptr)
Definition: MANTA_main.cpp:505
float getNormalZAt(int i)
Definition: MANTA_main.h:467
float * getNumGuide()
Definition: MANTA_main.h:249
size_t getTotalCells()
Definition: MANTA_main.h:103
float * getFuelIn()
Definition: MANTA_main.h:301
float * getGuideVelocityY()
Definition: MANTA_main.h:209
float getSndParticleVelocityYAt(int i)
Definition: MANTA_main.h:646
float * getInVelocityX()
Definition: MANTA_main.h:217
float * getColorGHigh()
Definition: MANTA_main.h:334
float * getColorR()
Definition: MANTA_main.h:265
float * getFuel()
Definition: MANTA_main.h:257
bool writeConfiguration(FluidModifierData *fmd, int framenr)
int getParticleUpres()
Definition: MANTA_main.h:167
float getSndParticleVelocityXAt(int i)
Definition: MANTA_main.h:637
int getSndParticleFlagAt(int i)
Definition: MANTA_main.h:543
float * getPhiObsStaticIn()
Definition: MANTA_main.h:379
bool initFire(struct FluidModifierData *fmd=nullptr)
Definition: MANTA_main.cpp:341
float * getColorGIn()
Definition: MANTA_main.h:293
float * getShadow()
Definition: MANTA_main.h:277
bool writeData(FluidModifierData *fmd, int framenr)
float getVertVelXAt(int i)
Definition: MANTA_main.h:505
float getSndParticlePositionZAt(int i)
Definition: MANTA_main.h:599
float * getVelocityZ()
Definition: MANTA_main.h:189
float getVertVelYAt(int i)
Definition: MANTA_main.h:514
float * getEmissionIn()
Definition: MANTA_main.h:309
float getFlipParticleVelocityYAt(int i)
Definition: MANTA_main.h:618
bool needsRealloc(FluidModifierData *fmd)
int getResZHigh()
Definition: MANTA_main.h:159
float * getDensityHigh()
Definition: MANTA_main.h:314
bool readParticles(FluidModifierData *fmd, int framenr, bool resumable)
float * getVelocityY()
Definition: MANTA_main.h:185
bool readMesh(FluidModifierData *fmd, int framenr)
bool readGuiding(FluidModifierData *fmd, int framenr, bool sourceDomain)
float getSndParticlePositionYAt(int i)
Definition: MANTA_main.h:590
bool bakeMesh(FluidModifierData *fmd, int framenr)
int getNumSndParticles()
Definition: MANTA_main.h:697
float * getColorRIn()
Definition: MANTA_main.h:289
float getVertexXAt(int i)
Definition: MANTA_main.h:421
int getMeshResY()
Definition: MANTA_main.h:143
float * getTextureV()
Definition: MANTA_main.h:346
bool hasMesh(FluidModifierData *fmd, int framenr)
float * getForceX()
Definition: MANTA_main.h:229
int getTriangleZAt(int i)
Definition: MANTA_main.h:495
float * getForceY()
Definition: MANTA_main.h:233
float * getReactIn()
Definition: MANTA_main.h:305
int getMeshResZ()
Definition: MANTA_main.h:147
float getNormalXAt(int i)
Definition: MANTA_main.h:449
bool initGuiding(FluidModifierData *fmd=nullptr)
Definition: MANTA_main.cpp:468
float * getForceZ()
Definition: MANTA_main.h:237
int getResYHigh()
Definition: MANTA_main.h:155
int getResZ()
Definition: MANTA_main.h:123
float * getFuelHigh()
Definition: MANTA_main.h:322
float * getInVelocityZ()
Definition: MANTA_main.h:225
bool readConfiguration(FluidModifierData *fmd, int framenr)
int getFlipParticleFlagAt(int i)
Definition: MANTA_main.h:534
float getFlipParticleVelocityXAt(int i)
Definition: MANTA_main.h:609
int getParticleResX()
Definition: MANTA_main.h:127
float * getReactHigh()
Definition: MANTA_main.h:326
bool bakeGuiding(FluidModifierData *fmd, int framenr)
size_t getTotalCellsHigh()
Definition: MANTA_main.h:107
float * getVelocityX()
Definition: MANTA_main.h:181
float getSndParticleVelocityZAt(int i)
Definition: MANTA_main.h:655
int getResX()
Definition: MANTA_main.h:115
float getFlipParticleVelocityZAt(int i)
Definition: MANTA_main.h:627
float * getTextureW2()
Definition: MANTA_main.h:362
bool hasParticles(FluidModifierData *fmd, int framenr)
float * getPhiObsIn()
Definition: MANTA_main.h:375
bool usingNoise()
Definition: MANTA_main.h:111
float * getTextureW()
Definition: MANTA_main.h:350
bool initColorsHigh(struct FluidModifierData *fmd=nullptr)
Definition: MANTA_main.cpp:383
bool initObstacle(FluidModifierData *fmd=nullptr)
Definition: MANTA_main.cpp:455
float getTimestep()
bool initColors(struct FluidModifierData *fmd=nullptr)
Definition: MANTA_main.cpp:369
bool readNoise(FluidModifierData *fmd, int framenr, bool resumable)
float getVertVelZAt(int i)
Definition: MANTA_main.h:523
int getTriangleYAt(int i)
Definition: MANTA_main.h:486
float * getReact()
Definition: MANTA_main.h:261
float * getHeat()
Definition: MANTA_main.h:177
bool hasGuiding(FluidModifierData *fmd, int framenr, bool sourceDomain)
float * getPhiOutIn()
Definition: MANTA_main.h:387
bool initHeat(struct FluidModifierData *fmd=nullptr)
Definition: MANTA_main.cpp:327
int getParticleResY()
Definition: MANTA_main.h:131
float * getPhiGuideIn()
Definition: MANTA_main.h:383
bool bakeParticles(FluidModifierData *fmd, int framenr)
float * getPhiOutStaticIn()
Definition: MANTA_main.h:391
bool bakeData(FluidModifierData *fmd, int framenr)
float getNormalYAt(int i)
Definition: MANTA_main.h:458
float * getDensity()
Definition: MANTA_main.h:173
bool initInVelocity(FluidModifierData *fmd=nullptr)
Definition: MANTA_main.cpp:492
float * getInVelocityY()
Definition: MANTA_main.h:221
float * getFlame()
Definition: MANTA_main.h:253
float * getNumObstacle()
Definition: MANTA_main.h:245
float * getColorRHigh()
Definition: MANTA_main.h:330
float * getPhi()
Definition: MANTA_main.h:395
int getNumNormals()
Definition: MANTA_main.h:412
int getNumTriangles()
Definition: MANTA_main.h:416
float * getTextureU()
Definition: MANTA_main.h:342
float * getObVelocityY()
Definition: MANTA_main.h:197
void adaptTimestep()
int getResY()
Definition: MANTA_main.h:119
float * getColorB()
Definition: MANTA_main.h:273
float * getDensityIn()
Definition: MANTA_main.h:281
float * getFlameHigh()
Definition: MANTA_main.h:318
float * getObVelocityZ()
Definition: MANTA_main.h:201
int getFrame()
int * getFlags()
Definition: MANTA_main.h:241
void updatePointers(FluidModifierData *fmd, bool flush=false)
int getMeshUpres()
Definition: MANTA_main.h:163
float getFlipParticlePositionYAt(int i)
Definition: MANTA_main.h:562
bool hasData(FluidModifierData *fmd, int framenr)
int getResXHigh()
Definition: MANTA_main.h:151
float getVertexYAt(int i)
Definition: MANTA_main.h:430
bool updateVariables(FluidModifierData *fmd)
float getFlipParticlePositionZAt(int i)
Definition: MANTA_main.h:571
float * getColorBIn()
Definition: MANTA_main.h:297
float * getTextureU2()
Definition: MANTA_main.h:354
float * getPhiIn()
Definition: MANTA_main.h:367
bool initLiquidSndParts(FluidModifierData *fmd=nullptr)
Definition: MANTA_main.cpp:528