Blender V4.3
DNA_fluid_types.h
Go to the documentation of this file.
1/* SPDX-FileCopyrightText: 2006 NaN Holding BV. All rights reserved.
2 *
3 * SPDX-License-Identifier: GPL-2.0-or-later */
4
9#pragma once
10
11#include "DNA_listBase.h"
12
17enum {
18 FLUID_DOMAIN_USE_NOISE = (1 << 1), /* Use noise. */
19 FLUID_DOMAIN_USE_DISSOLVE = (1 << 2), /* Let smoke dissolve. */
20 FLUID_DOMAIN_USE_DISSOLVE_LOG = (1 << 3), /* Using 1/x for dissolve. */
21
23 FLUID_DOMAIN_USE_HIGH_SMOOTH = (1 << 5), /* -- Deprecated -- */
24#endif
25 FLUID_DOMAIN_FILE_LOAD = (1 << 6), /* Flag for file load. */
27 FLUID_DOMAIN_USE_ADAPTIVE_TIME = (1 << 8), /* Adaptive time stepping in domain. */
28 FLUID_DOMAIN_USE_MESH = (1 << 9), /* Use mesh. */
29 FLUID_DOMAIN_USE_GUIDE = (1 << 10), /* Use guiding. */
30 FLUID_DOMAIN_USE_SPEED_VECTORS = (1 << 11), /* Generate mesh speed vectors. */
31 FLUID_DOMAIN_EXPORT_MANTA_SCRIPT = (1 << 12), /* Export mantaflow script during bake. */
32 FLUID_DOMAIN_USE_FRACTIONS = (1 << 13), /* Use second order obstacles. */
33 FLUID_DOMAIN_DELETE_IN_OBSTACLE = (1 << 14), /* Delete fluid inside obstacles. */
34 FLUID_DOMAIN_USE_DIFFUSION = (1 << 15), /* Use diffusion (e.g. viscosity, surface tension). */
35 FLUID_DOMAIN_USE_RESUMABLE_CACHE = (1 << 16), /* Determine if cache should be resumable. */
36 FLUID_DOMAIN_USE_VISCOSITY = (1 << 17), /* Use viscosity. */
37};
38
43enum {
50};
51
52/* Cache file formats. */
53enum {
59};
60
65enum {
68};
69
74enum {
79};
80
90
92enum {
96};
97
99enum {
103};
104
114
116enum {
119};
120
122enum {
128};
129
131enum {
152};
153
158enum {
162};
163
168enum {
175};
176
177/* Fluid domain types. */
178enum {
181};
182
183/* Mesh levelset generator types. */
184enum {
187};
188
189/* Guiding velocity source. */
190enum {
193};
194
195/* Fluid data fields (active_fields). */
196enum {
205};
206
207/* Particle types. */
208enum {
214};
215
216/* Liquid simulation methods. */
217enum {
220};
221
222/* Cache options. */
223enum {
239};
240
241#define FLUID_DOMAIN_BAKING_ALL \
242 (FLUID_DOMAIN_BAKING_DATA | FLUID_DOMAIN_BAKING_NOISE | FLUID_DOMAIN_BAKING_MESH | \
243 FLUID_DOMAIN_BAKING_PARTICLES | FLUID_DOMAIN_BAKING_GUIDE)
244
245#define FLUID_DOMAIN_BAKED_ALL \
246 (FLUID_DOMAIN_BAKED_DATA | FLUID_DOMAIN_BAKED_NOISE | FLUID_DOMAIN_BAKED_MESH | \
247 FLUID_DOMAIN_BAKED_PARTICLES | FLUID_DOMAIN_BAKED_GUIDE)
248
249#define FLUID_DOMAIN_DIR_DEFAULT "cache_fluid"
250#define FLUID_DOMAIN_DIR_CONFIG "config"
251#define FLUID_DOMAIN_DIR_DATA "data"
252#define FLUID_DOMAIN_DIR_NOISE "noise"
253#define FLUID_DOMAIN_DIR_MESH "mesh"
254#define FLUID_DOMAIN_DIR_PARTICLES "particles"
255#define FLUID_DOMAIN_DIR_GUIDE "guiding"
256#define FLUID_DOMAIN_DIR_SCRIPT "script"
257#define FLUID_DOMAIN_SMOKE_SCRIPT "smoke_script.py"
258#define FLUID_DOMAIN_LIQUID_SCRIPT "liquid_script.py"
259#define FLUID_CACHE_VERSION "C01"
260
261/* Cache file names. */
262#define FLUID_NAME_CONFIG "config"
263#define FLUID_NAME_DATA "fluid_data"
264#define FLUID_NAME_NOISE "fluid_noise"
265#define FLUID_NAME_MESH "fluid_mesh"
266#define FLUID_NAME_PARTICLES "fluid_particles"
267#define FLUID_NAME_GUIDING "fluid_guiding"
268
269/* Fluid object names. */
270#define FLUID_NAME_FLAGS "flags" /* == OpenVDB grid attribute name. */
271#define FLUID_NAME_VELOCITY "velocity" /* == OpenVDB grid attribute name. */
272#define FLUID_NAME_VEL "vel"
273#define FLUID_NAME_VELOCITYTMP "velocity_previous" /* == OpenVDB grid attribute name. */
274#define FLUID_NAME_VELOCITYX "x_vel"
275#define FLUID_NAME_VELOCITYY "y_vel"
276#define FLUID_NAME_VELOCITYZ "z_vel"
277#define FLUID_NAME_PRESSURE "pressure"
278#define FLUID_NAME_PHIOBS "phi_obstacle" /* == OpenVDB grid attribute name. */
279#define FLUID_NAME_PHISIN "phiSIn"
280#define FLUID_NAME_PHIIN "phi_inflow" /* == OpenVDB grid attribute name. */
281#define FLUID_NAME_PHIOUT "phi_out" /* == OpenVDB grid attribute name. */
282#define FLUID_NAME_FORCES "forces"
283#define FLUID_NAME_FORCE_X "x_force"
284#define FLUID_NAME_FORCE_Y "y_force"
285#define FLUID_NAME_FORCE_Z "z_force"
286#define FLUID_NAME_NUMOBS "numObs"
287#define FLUID_NAME_PHIOBSSIN "phiObsSIn"
288#define FLUID_NAME_PHIOBSIN "phi_obstacle_inflow"
289#define FLUID_NAME_OBVEL "obvel"
290#define FLUID_NAME_OBVELC "obvelC"
291#define FLUID_NAME_OBVEL_X "x_obvel"
292#define FLUID_NAME_OBVEL_Y "y_obvel"
293#define FLUID_NAME_OBVEL_Z "z_obvel"
294#define FLUID_NAME_FRACTIONS "fractions"
295#define FLUID_NAME_INVELC "invelC"
296#define FLUID_NAME_INVEL_X "x_invel"
297#define FLUID_NAME_INVEL_Y "y_invel"
298#define FLUID_NAME_INVEL_Z "z_invel"
299#define FLUID_NAME_PHIOUTSIN "phiOutSIn"
300#define FLUID_NAME_PHIOUTIN "phi_out_inflow"
301
302/* Smoke object names. */
303#define FLUID_NAME_SHADOW "shadow" /* == OpenVDB grid attribute name. */
304#define FLUID_NAME_EMISSION "emission" /* == OpenVDB grid attribute name. */
305#define FLUID_NAME_EMISSIONIN "emissionIn"
306#define FLUID_NAME_DENSITY "density" /* == OpenVDB grid attribute name. */
307#define FLUID_NAME_DENSITYIN "density_inflow" /* == OpenVDB grid attribute name. */
308#define FLUID_NAME_HEAT "heat"
309#define FLUID_NAME_HEATIN "heatIn"
310#define FLUID_NAME_TEMPERATURE "temperature" /* == OpenVDB grid attribute name. */
311#define FLUID_NAME_TEMPERATUREIN "temperature_inflow" /* == OpenVDB grid attribute name. */
312#define FLUID_NAME_COLORR "color_r" /* == OpenVDB grid attribute name. */
313#define FLUID_NAME_COLORG "color_g" /* == OpenVDB grid attribute name. */
314#define FLUID_NAME_COLORB "color_b" /* == OpenVDB grid attribute name. */
315#define FLUID_NAME_COLORRIN "color_r_inflow" /* == OpenVDB grid attribute name. */
316#define FLUID_NAME_COLORGIN "color_g_inflow" /* == OpenVDB grid attribute name. */
317#define FLUID_NAME_COLORBIN "color_b_inflow" /* == OpenVDB grid attribute name. */
318#define FLUID_NAME_FLAME "flame" /* == OpenVDB grid attribute name. */
319#define FLUID_NAME_FUEL "fuel" /* == OpenVDB grid attribute name. */
320#define FLUID_NAME_REACT "react" /* == OpenVDB grid attribute name. */
321#define FLUID_NAME_FUELIN "fuel_inflow" /* == OpenVDB grid attribute name. */
322#define FLUID_NAME_REACTIN "react_inflow" /* == OpenVDB grid attribute name. */
323
324/* Liquid object names. */
325#define FLUID_NAME_PHIPARTS "phi_particles" /* == OpenVDB grid attribute name. */
326#define FLUID_NAME_PHI "phi" /* == OpenVDB grid attribute name. */
327#define FLUID_NAME_PHITMP "phi_previous" /* == OpenVDB grid attribute name. */
328#define FLUID_NAME_VELOCITYOLD "velOld"
329#define FLUID_NAME_VELOCITYPARTS "velParts"
330#define FLUID_NAME_MAPWEIGHTS "mapWeights"
331#define FLUID_NAME_PP "pp"
332#define FLUID_NAME_PVEL "pVel"
333#define FLUID_NAME_PARTS "particles" /* == OpenVDB grid attribute name. */
334#define FLUID_NAME_PARTSVELOCITY "particles_velocity" /* == OpenVDB grid attribute name. */
335#define FLUID_NAME_PINDEX "pindex"
336#define FLUID_NAME_GPI "gpi"
337#define FLUID_NAME_CURVATURE "gpi"
338
339/* Noise object names. */
340#define FLUID_NAME_VELOCITY_NOISE "velocity_noise"
341#define FLUID_NAME_DENSITY_NOISE "density_noise" /* == OpenVDB grid attribute name. */
342#define FLUID_NAME_PHIIN_NOISE "phiIn_noise"
343#define FLUID_NAME_PHIOUT_NOISE "phiOut_noise"
344#define FLUID_NAME_PHIOBS_NOISE "phiObs_noise"
345#define FLUID_NAME_FLAGS_NOISE "flags_noise"
346#define FLUID_NAME_TMPIN_NOISE "tmpIn_noise"
347#define FLUID_NAME_EMISSIONIN_NOISE "emissionIn_noise"
348#define FLUID_NAME_ENERGY "energy"
349#define FLUID_NAME_TMPFLAGS "tmpFlags"
350#define FLUID_NAME_TEXTURE_U "textureU"
351#define FLUID_NAME_TEXTURE_V "textureV"
352#define FLUID_NAME_TEXTURE_W "textureW"
353#define FLUID_NAME_TEXTURE_U2 "textureU2"
354#define FLUID_NAME_TEXTURE_V2 "textureV2"
355#define FLUID_NAME_TEXTURE_W2 "textureW2"
356#define FLUID_NAME_UV0 "uv_grid_0" /* == OpenVDB grid attribute name. */
357#define FLUID_NAME_UV1 "uv_grid_1" /* == OpenVDB grid attribute name. */
358#define FLUID_NAME_COLORR_NOISE "color_r_noise" /* == OpenVDB grid attribute name. */
359#define FLUID_NAME_COLORG_NOISE "color_g_noise" /* == OpenVDB grid attribute name. */
360#define FLUID_NAME_COLORB_NOISE "color_b_noise" /* == OpenVDB grid attribute name. */
361#define FLUID_NAME_FLAME_NOISE "flame_noise"
362#define FLUID_NAME_FUEL_NOISE "fuel_noise"
363#define FLUID_NAME_REACT_NOISE "react_noise"
364
365/* Mesh object names. */
366#define FLUID_NAME_PHIPARTS_MESH "phiParts_mesh"
367#define FLUID_NAME_PHI_MESH "phi_mesh"
368#define FLUID_NAME_PP_MESH "pp_mesh"
369#define FLUID_NAME_FLAGS_MESH "flags_mesh"
370#define FLUID_NAME_LMESH "lMesh"
371/* == OpenVDB grid attribute name. */
372#define FLUID_NAME_VELOCITYVEC_MESH "vertex_velocities_mesh"
373#define FLUID_NAME_VELOCITY_MESH "velocity_mesh"
374#define FLUID_NAME_PINDEX_MESH "pindex_mesh"
375#define FLUID_NAME_GPI_MESH "gpi_mesh"
376
377/* Particles object names. */
378#define FLUID_NAME_PP_PARTICLES "ppSnd"
379#define FLUID_NAME_PVEL_PARTICLES "pVelSnd"
380#define FLUID_NAME_PLIFE_PARTICLES "pLifeSnd"
381#define FLUID_NAME_PFORCE_PARTICLES "pForceSnd"
382/* == OpenVDB grid attribute name. */
383#define FLUID_NAME_PARTS_PARTICLES "particles_secondary"
384/* == OpenVDB grid attribute name. */
385#define FLUID_NAME_PARTSVEL_PARTICLES "particles_velocity_secondary"
386/* == OpenVDB grid attribute name. */
387#define FLUID_NAME_PARTSLIFE_PARTICLES "particles_life_secondary"
388#define FLUID_NAME_PARTSFORCE_PARTICLES "particles_force_secondary"
389#define FLUID_NAME_VELOCITY_PARTICLES "velocity_secondary"
390#define FLUID_NAME_FLAGS_PARTICLES "flags_secondary"
391#define FLUID_NAME_PHI_PARTICLES "phi_secondary"
392#define FLUID_NAME_PHIOBS_PARTICLES "phiObs_secondary"
393#define FLUID_NAME_PHIOUT_PARTICLES "phiOut_secondary"
394#define FLUID_NAME_NORMAL_PARTICLES "normal_secondary"
395#define FLUID_NAME_NEIGHBORRATIO_PARTICLES "neighbor_ratio_secondary"
396/* == OpenVDB grid attribute name. */
397#define FLUID_NAME_TRAPPEDAIR_PARTICLES "trapped_air_secondary"
398/* == OpenVDB grid attribute name. */
399#define FLUID_NAME_WAVECREST_PARTICLES "wave_crest_secondary"
400/* == OpenVDB grid attribute name. */
401#define FLUID_NAME_KINETICENERGY_PARTICLES "kinetic_energy_secondary"
402
403/* Guiding object names. */
404#define FLUID_NAME_VELT "velT"
405#define FLUID_NAME_WEIGHTGUIDE "weightGuide"
406#define FLUID_NAME_NUMGUIDES "numGuides"
407#define FLUID_NAME_PHIGUIDEIN "phiGuideIn"
408#define FLUID_NAME_GUIDEVELC "guidevelC"
409#define FLUID_NAME_GUIDEVEL_X "x_guidevel"
410#define FLUID_NAME_GUIDEVEL_Y "y_guidevel"
411#define FLUID_NAME_GUIDEVEL_Z "z_guidevel"
412#define FLUID_NAME_GUIDEVEL "guidevel"
413#define FLUID_NAME_VELOCITY_GUIDE "velocity_guide"
414
415/* Cache file extensions. */
416#define FLUID_DOMAIN_EXTENSION_UNI ".uni"
417#define FLUID_DOMAIN_EXTENSION_OPENVDB ".vdb"
418#define FLUID_DOMAIN_EXTENSION_RAW ".raw"
419#define FLUID_DOMAIN_EXTENSION_OBJ ".obj"
420#define FLUID_DOMAIN_EXTENSION_BINOBJ ".bobj.gz"
421
422enum {
426};
427
428enum {
431};
432
433enum {
437};
438
439enum {
443};
444
445enum {
449};
450
451/* Deprecated values (i.e. all defines and enums below this line up until typedefs). */
452/* Cache compression. */
453enum {
456};
457
458/* High resolution sampling types. */
459enum {
463};
464
465typedef struct FluidDomainSettings {
466
467 /* -- Runtime-only fields (from here on). -- */
468
469 struct FluidModifierData *fmd; /* For fast RNA access. */
470 struct MANTA *fluid;
471 struct MANTA *fluid_old; /* Adaptive domain needs access to old fluid state. */
474 struct Collection *force_group; /* UNUSED */
475 struct Collection *effector_group; /* Effector objects group. */
476 struct GPUTexture *tex_density;
477 struct GPUTexture *tex_color;
478 struct GPUTexture *tex_wt;
479 struct GPUTexture *tex_shadow;
480 struct GPUTexture *tex_flame;
481 struct GPUTexture *tex_flame_coba;
482 struct GPUTexture *tex_coba;
483 struct GPUTexture *tex_field;
484 struct GPUTexture *tex_velocity_x;
485 struct GPUTexture *tex_velocity_y;
486 struct GPUTexture *tex_velocity_z;
487 struct GPUTexture *tex_flags;
488 struct GPUTexture *tex_range_field;
491
492 /* Domain object data. */
493 float p0[3]; /* Start point of BB in local space
494 * (includes sub-cell shift for adaptive domain). */
495 float p1[3]; /* End point of BB in local space. */
496 float dp0[3]; /* Difference from object center to grid start point. */
497 float cell_size[3]; /* Size of simulation cell in local space. */
498 float global_size[3]; /* Global size of domain axes. */
499 float prev_loc[3];
500 int shift[3]; /* Current domain shift in simulation cells. */
501 float shift_f[3]; /* Exact domain shift. */
502 float obj_shift_f[3]; /* How much object has shifted since previous smoke frame (used to "lock"
503 * domain while drawing). */
504 float imat[4][4]; /* Domain object imat. */
505 float obmat[4][4]; /* Domain obmat. */
506 float fluidmat[4][4]; /* Low res fluid matrix. */
507 float fluidmat_wt[4][4]; /* High res fluid matrix. */
508 int base_res[3]; /* Initial "non-adapted" resolution. */
509 int res_min[3]; /* Cell min. */
510 int res_max[3]; /* Cell max. */
511 int res[3]; /* Data resolution (res_max-res_min). */
513 float dx; /* 1.0f / res. */
514 float scale; /* Largest domain size. */
515 int boundary_width; /* Usually this is just 1. */
516 float gravity_final[3]; /* Scene or domain gravity multiplied with gravity weight. */
517
518 /* -- User-accessible fields (from here on). -- */
519
520 /* Adaptive domain options. */
524
525 /* Fluid domain options */
526 int maxres; /* Longest axis on the BB gets this resolution assigned. */
527 int solver_res; /* Dimension of manta solver, 2d or 3d. */
528 int border_collisions; /* How domain border collisions are handled. */
529 int flags; /* Use-mesh, use-noise, etc. */
530 float gravity[3];
532 short type; /* Gas, liquid. */
533 char _pad2[6]; /* Unused. */
534
535 /* Smoke domain options. */
536 float alpha;
537 float beta;
538 int diss_speed; /* In frames. */
540 float active_color[3]; /* Monitor smoke color. */
542
543 /* Flame options. */
547
548 /* Noise options. */
552 int res_noise[3];
554 char _pad3[4]; /* Unused. */
555
556 /* Liquid domain options. */
568 char _pad4[6];
569
570 /* Viscosity options. */
572 char _pad5[4];
573
574 /* Diffusion options. */
578
579 /* Mesh options. */
587 char _pad6[2]; /* Unused. */
588
589 /* Secondary particle options. */
608 char _pad7[6]; /* Unused. */
609
610 /* Fluid guiding options. */
611 float guide_alpha; /* Guiding weight scalar (determines strength). */
612 int guide_beta; /* Guiding blur radius (affects size of vortices). */
613 float guide_vel_factor; /* Multiply guiding velocity by this factor. */
614 int guide_res[3]; /* Res for velocity guide grids - independent from base res. */
616 char _pad8[2]; /* Unused. */
617
618 /* Cache options. */
632 char cache_directory[1024];
633 char error[64]; /* Bake error description. */
635 char cache_id[4]; /* Run-time only */
636 char _pad9[2]; /* Unused. */
637
638 /* Time options. */
639 float dt;
647
648 /* Display options. */
663 char vector_field; /* Simulation field used for vector display. */
667 char coba_field; /* Simulation field used for the color mapping. */
669 char gridlines_color_field; /* Simulation field used to color map onto gridlines. */
671 char _pad10[3]; /* Unused. */
672
673 /* Velocity factor for motion blur rendering. */
675
676 /* OpenVDB cache options. */
678 float clipping;
680 char _pad11[7]; /* Unused. */
681
682 /* -- Deprecated / unused options (below). -- */
683
684 /* View options. */
686 char _pad12[4]; /* Unused. */
687
698 char _pad13[7]; /* Unused. */
699
701
702/* Flow types. */
703enum {
708};
709
710/* Flow behavior types. */
711enum {
715};
716
717/* Flow source types. */
718enum {
721};
722
723/* Flow texture types. */
724enum {
727};
728
729/* Flow flags. */
730enum {
731 /* Old style emission. */
733 /* Passes particles speed to the smoke. */
735 /* Use texture to control emission speed. */
737 /* Use specific size for particles instead of closest cell. */
739 /* Control when to apply inflow. */
741 /* Control how to initialize flow objects. */
743 /* Notify domain objects about state change (invalidate cache). */
745};
746
747typedef struct FluidFlowSettings {
748
749 /* -- Runtime-only fields (from here on). -- */
750
751 /* For fast RNA access. */
753 struct Mesh *mesh;
756
757 /* Initial velocity. */
758 /* Previous vertex positions in domain space. */
759 float *verts_old;
761 float vel_multi; /* Multiplier for inherited velocity. */
764 float vel_coord[3];
765 char _pad1[4];
766
767 /* -- User-accessible fields (from here on). -- */
768
769 /* Emission. */
770 float density;
771 float color[3];
773 /* Delta temperature (temp - ambient temp). */
775 /* Density emitted within mesh volume. */
777 /* Maximum emission distance from mesh surface. */
781
782 /* Texture control. */
785 char _pad2[4];
786 /* MAX_CUSTOMDATA_LAYER_NAME. */
787 char uvlayer_name[68];
788 char _pad3[4];
790
791 short type; /* Smoke, flames, both, outflow, liquid. */
792 short behavior; /* Inflow, outflow, static. */
793 short source;
795 short _pad4[3];
796 int flags; /* Absolute emission etc. */
798
799/* Effector types. */
800enum {
803};
804
805/* Guiding velocity modes. */
806enum {
811};
812
813/* Effector flags. */
814enum {
815 /* Control when to apply inflow. */
817 /* Control how to initialize flow objects. */
819 /* Notify domain objects about state change (invalidate cache). */
821};
822
823/* Collision objects (filled with smoke). */
824typedef struct FluidEffectorSettings {
825
826 /* -- Runtime-only fields (from here on). -- */
827
828 /* For fast RNA access. */
830 struct Mesh *mesh;
831 float *verts_old;
833
834 /* -- User-accessible fields (from here on). -- */
835
836 float surface_distance; /* Thickness of mesh surface, used in obstacle SDF. */
837 int flags;
839 short type;
840 char _pad1[6];
841
842 /* Guiding options. */
843 float vel_multi; /* Multiplier for object velocity. */
845 char _pad2[2];
@ FLUID_DOMAIN_PARTICLE_SPRAY
@ FLUID_DOMAIN_PARTICLE_FOAM
@ FLUID_DOMAIN_PARTICLE_TRACER
@ FLUID_DOMAIN_PARTICLE_FLIP
@ FLUID_DOMAIN_PARTICLE_BUBBLE
@ FLUID_CELL_TYPE_OUTFLOW
@ FLUID_CELL_TYPE_FLUID
@ FLUID_CELL_TYPE_EMPTY
@ FLUID_CELL_TYPE_NONE
@ FLUID_CELL_TYPE_OBSTACLE
@ FLUID_CELL_TYPE_INFLOW
@ AXIS_SLICE_SINGLE
@ AXIS_SLICE_FULL
@ VDB_COMPRESSION_NONE
@ VDB_COMPRESSION_ZIP
@ VDB_COMPRESSION_BLOSC
struct FluidFlowSettings FluidFlowSettings
@ FLUID_DOMAIN_GRID_INT
@ FLUID_DOMAIN_GRID_VEC3F
@ FLUID_DOMAIN_GRID_FLOAT
@ FLUID_DOMAIN_FIELD_COLOR_B
@ FLUID_DOMAIN_FIELD_FLAME
@ FLUID_DOMAIN_FIELD_REACT
@ FLUID_DOMAIN_FIELD_PHI_OUT
@ FLUID_DOMAIN_FIELD_FORCE_Z
@ FLUID_DOMAIN_FIELD_PHI_OBSTACLE
@ FLUID_DOMAIN_FIELD_FLAGS
@ FLUID_DOMAIN_FIELD_VELOCITY_Z
@ FLUID_DOMAIN_FIELD_FORCE_Y
@ FLUID_DOMAIN_FIELD_PHI
@ FLUID_DOMAIN_FIELD_PRESSURE
@ FLUID_DOMAIN_FIELD_VELOCITY_X
@ FLUID_DOMAIN_FIELD_DENSITY
@ FLUID_DOMAIN_FIELD_VELOCITY_Y
@ FLUID_DOMAIN_FIELD_PHI_IN
@ FLUID_DOMAIN_FIELD_HEAT
@ FLUID_DOMAIN_FIELD_COLOR_G
@ FLUID_DOMAIN_FIELD_FORCE_X
@ FLUID_DOMAIN_FIELD_FUEL
@ FLUID_DOMAIN_FIELD_COLOR_R
@ FLUID_DOMAIN_TYPE_GAS
@ FLUID_DOMAIN_TYPE_LIQUID
@ FLUID_DOMAIN_CACHE_FILES_COMBINED
@ FLUID_DOMAIN_CACHE_FILES_SINGLE
@ FLUID_DOMAIN_METHOD_FLIP
@ FLUID_DOMAIN_METHOD_APIC
@ VECTOR_DRAW_MAC_X
@ VECTOR_DRAW_MAC_Y
@ VECTOR_DRAW_MAC_Z
@ FLUID_EFFECTOR_NEEDS_UPDATE
@ FLUID_EFFECTOR_USE_EFFEC
@ FLUID_EFFECTOR_USE_PLANE_INIT
@ FLUID_DOMAIN_GUIDE_SRC_EFFECTOR
@ FLUID_DOMAIN_GUIDE_SRC_DOMAIN
@ SNDPARTICLE_COMBINED_EXPORT_OFF
@ SNDPARTICLE_COMBINED_EXPORT_SPRAY_FOAM
@ SNDPARTICLE_COMBINED_EXPORT_SPRAY_BUBBLE
@ SNDPARTICLE_COMBINED_EXPORT_SPRAY_FOAM_BUBBLE
@ SNDPARTICLE_COMBINED_EXPORT_FOAM_BUBBLE
@ FLUID_DOMAIN_BAKED_DATA
@ FLUID_DOMAIN_OUTDATED_GUIDE
@ FLUID_DOMAIN_OUTDATED_PARTICLES
@ FLUID_DOMAIN_BAKING_MESH
@ FLUID_DOMAIN_BAKING_NOISE
@ FLUID_DOMAIN_BAKING_GUIDE
@ FLUID_DOMAIN_OUTDATED_NOISE
@ FLUID_DOMAIN_BAKED_NOISE
@ FLUID_DOMAIN_BAKED_MESH
@ FLUID_DOMAIN_OUTDATED_MESH
@ FLUID_DOMAIN_BAKING_DATA
@ FLUID_DOMAIN_BAKED_GUIDE
@ FLUID_DOMAIN_BAKED_PARTICLES
@ FLUID_DOMAIN_OUTDATED_DATA
@ FLUID_DOMAIN_BAKING_PARTICLES
FLUID_DisplayInterpolationMethod
@ FLUID_DISPLAY_INTERP_CLOSEST
@ FLUID_DISPLAY_INTERP_CUBIC
@ FLUID_DISPLAY_INTERP_LINEAR
@ FLUID_DOMAIN_FILE_BIN_OBJECT
@ FLUID_DOMAIN_FILE_RAW
@ FLUID_DOMAIN_FILE_OBJECT
@ FLUID_DOMAIN_FILE_UNI
@ FLUID_DOMAIN_FILE_OPENVDB
@ VDB_PRECISION_MINI_FLOAT
@ VDB_PRECISION_FULL_FLOAT
@ VDB_PRECISION_HALF_FLOAT
@ FLUID_EFFECTOR_GUIDE_MAX
@ FLUID_EFFECTOR_GUIDE_OVERRIDE
@ FLUID_EFFECTOR_GUIDE_AVERAGED
@ FLUID_EFFECTOR_GUIDE_MIN
@ FLUID_DOMAIN_ACTIVE_COLORS
@ FLUID_DOMAIN_ACTIVE_FIRE
@ FLUID_DOMAIN_ACTIVE_INVEL
@ FLUID_DOMAIN_ACTIVE_GUIDE
@ FLUID_DOMAIN_ACTIVE_OUTFLOW
@ FLUID_DOMAIN_ACTIVE_COLOR_SET
@ FLUID_DOMAIN_ACTIVE_HEAT
@ FLUID_DOMAIN_ACTIVE_OBSTACLE
@ FLUID_DOMAIN_CACHE_ALL
@ FLUID_DOMAIN_CACHE_REPLAY
@ FLUID_DOMAIN_CACHE_MODULAR
struct FluidEffectorSettings FluidEffectorSettings
@ FLUID_FLOW_ABSOLUTE
@ FLUID_FLOW_TEXTUREEMIT
@ FLUID_FLOW_USE_PART_SIZE
@ FLUID_FLOW_NEEDS_UPDATE
@ FLUID_FLOW_USE_PLANE_INIT
@ FLUID_FLOW_INITVELOCITY
@ FLUID_FLOW_USE_INFLOW
@ SM_CACHE_LIGHT
@ SM_CACHE_HEAVY
@ FLUID_FLOW_SOURCE_PARTICLES
@ FLUID_FLOW_SOURCE_MESH
@ SLICE_AXIS_X
@ SLICE_AXIS_AUTO
@ SLICE_AXIS_Z
@ SLICE_AXIS_Y
@ FLUID_DOMAIN_USE_ADAPTIVE_DOMAIN
@ FLUID_DOMAIN_USE_MESH
@ FLUID_DOMAIN_DELETE_IN_OBSTACLE
@ FLUID_DOMAIN_USE_RESUMABLE_CACHE
@ FLUID_DOMAIN_USE_DISSOLVE_LOG
@ FLUID_DOMAIN_USE_DIFFUSION
@ FLUID_DOMAIN_USE_ADAPTIVE_TIME
@ FLUID_DOMAIN_USE_GUIDE
@ FLUID_DOMAIN_EXPORT_MANTA_SCRIPT
@ FLUID_DOMAIN_USE_VISCOSITY
@ FLUID_DOMAIN_USE_SPEED_VECTORS
@ FLUID_DOMAIN_USE_NOISE
@ FLUID_DOMAIN_USE_FRACTIONS
@ FLUID_DOMAIN_USE_DISSOLVE
@ FLUID_DOMAIN_FILE_LOAD
@ FLUID_FLOW_TEXTURE_MAP_UV
@ FLUID_FLOW_TEXTURE_MAP_AUTO
@ SNDPARTICLE_BOUNDARY_DELETE
@ SNDPARTICLE_BOUNDARY_PUSHOUT
@ SM_HRES_NEAREST
@ SM_HRES_LINEAR
@ SM_HRES_FULLSAMPLE
@ VECTOR_DRAW_NEEDLE
@ VECTOR_DRAW_STREAMLINE
@ VECTOR_DRAW_MAC
struct FluidDomainSettings FluidDomainSettings
@ FLUID_FLOW_TYPE_FIRE
@ FLUID_FLOW_TYPE_SMOKEFIRE
@ FLUID_FLOW_TYPE_LIQUID
@ FLUID_FLOW_TYPE_SMOKE
@ FLUID_GRIDLINE_COLOR_TYPE_FLAGS
@ FLUID_GRIDLINE_COLOR_TYPE_RANGE
@ FLUID_GRIDLINE_COLOR_TYPE_NONE
@ FLUID_EFFECTOR_TYPE_GUIDE
@ FLUID_EFFECTOR_TYPE_COLLISION
@ FLUID_DOMAIN_MESH_UNION
@ FLUID_DOMAIN_MESH_IMPROVED
@ FLUID_DOMAIN_BORDER_BOTTOM
@ FLUID_DOMAIN_BORDER_LEFT
@ FLUID_DOMAIN_BORDER_RIGHT
@ FLUID_DOMAIN_BORDER_FRONT
@ FLUID_DOMAIN_BORDER_TOP
@ FLUID_DOMAIN_BORDER_BACK
FLUID_DisplayVectorField
@ FLUID_DOMAIN_VECTOR_FIELD_FORCE
@ FLUID_DOMAIN_VECTOR_FIELD_VELOCITY
@ FLUID_DOMAIN_VECTOR_FIELD_GUIDE_VELOCITY
@ FLUID_FLOW_BEHAVIOR_GEOMETRY
@ FLUID_FLOW_BEHAVIOR_OUTFLOW
@ FLUID_FLOW_BEHAVIOR_INFLOW
These structs are the foundation for all linked lists in the library system.
#define DNA_DEPRECATED_ALLOW
struct ListBase ptcaches[2]
struct FluidModifierData * fmd
struct GPUTexture * tex_density
struct GPUTexture * tex_range_field
struct Collection * force_group
struct GPUTexture * tex_velocity_x
struct GPUTexture * tex_color
struct GPUTexture * tex_wt
struct GPUTexture * tex_velocity_y
struct GPUTexture * tex_field
struct Collection * effector_group
struct GPUTexture * tex_velocity_z
struct PointCache * point_cache[2]
struct GPUTexture * tex_shadow
struct ColorBand * coba
struct GPUTexture * tex_flags
struct GPUTexture * tex_coba
struct GPUTexture * tex_flame
struct Object * guide_parent
struct MANTA * fluid_old
struct Collection * fluid_group
struct EffectorWeights * effector_weights
struct GPUTexture * tex_flame_coba
struct FluidModifierData * fmd
struct FluidModifierData * fmd
struct ParticleSystem * psys
struct Tex * noise_texture