Blender  V3.3
DNA_modifier_types.h
Go to the documentation of this file.
1 /* SPDX-License-Identifier: GPL-2.0-or-later */
2 
7 #pragma once
8 
9 #include "DNA_defs.h"
10 #include "DNA_listBase.h"
11 #include "DNA_session_uuid_types.h"
12 
13 #ifdef __cplusplus
14 extern "C" {
15 #endif
16 
17 /* WARNING ALERT! TYPEDEF VALUES ARE WRITTEN IN FILES! SO DO NOT CHANGE!
18  * (ONLY ADD NEW ITEMS AT THE END)
19  */
20 
21 struct Mesh;
22 
23 typedef enum ModifierType {
55 #ifdef DNA_DEPRECATED_ALLOW
56  eModifierType_Smoke = 31,
57 #endif
89 
90 typedef enum ModifierMode {
95 #ifdef DNA_DEPRECATED_ALLOW
97  eModifierMode_Expanded_DEPRECATED = (1 << 4),
98 #endif
103 
104 typedef struct ModifierData {
105  struct ModifierData *next, *prev;
106 
107  int type, mode;
108  char _pad0[4];
109  short flag;
113  char name[64];
114 
115  char *error;
116 
119 
121  void *runtime;
123 
124 typedef enum {
134 } ModifierFlag;
135 
139 typedef struct MappingInfoModifierData {
141 
142  struct Tex *texture;
144  char map_bone[64];
146  char uvlayer_name[64];
150 
151 typedef enum {
155  /* DEPRECATED, ONLY USED FOR DO-VERSIONS */
161 
162 typedef enum {
166 
167 typedef enum {
175 
176 typedef enum {
180 
181 typedef struct SubsurfModifierData {
183 
185  short uv_smooth;
186  short quality;
188  char _pad[2];
189 
190  /* TODO(sergey): Get rid of those with the old CCG subdivision code. */
191  void *emCache, *mCache;
193 
194 typedef struct LatticeModifierData {
196 
197  struct Object *object;
199  char name[64];
200  float strength;
201  short flag;
202  char _pad[2];
203  void *_pad1;
205 
207 enum {
209 };
210 
211 typedef struct CurveModifierData {
213 
214  struct Object *object;
216  char name[64];
218  short defaxis;
219  short flag;
220  char _pad[4];
221  void *_pad1;
223 
225 enum {
227 };
228 
230 enum {
237 };
238 
239 typedef struct BuildModifierData {
241 
242  float start, length;
243  short flag;
244 
246  short randomize;
248  int seed;
250 
252 enum {
257 };
258 
260 typedef struct MaskModifierData {
262 
264  struct Object *ob_arm;
266  char vgroup[64];
267 
269  short mode;
271  short flag;
272  float threshold;
273  void *_pad1;
275 
277 enum {
280 };
281 
283 enum {
284  MOD_MASK_INV = (1 << 0),
285  MOD_MASK_SMOOTH = (1 << 1),
286 };
287 
288 typedef struct ArrayModifierData {
290 
292  struct Object *start_cap;
294  struct Object *end_cap;
296  struct Object *curve_ob;
298  struct Object *offset_ob;
303  float offset[3];
308  float scale[3];
310  float length;
312  float merge_dist;
319  int fit_type;
332  int flags;
334  int count;
335  float uv_offset[2];
337 
339 enum {
343 };
344 
346 enum {
347  MOD_ARR_OFF_CONST = (1 << 0),
349  MOD_ARR_OFF_OBJ = (1 << 2),
350 };
351 
353 enum {
354  MOD_ARR_MERGE = (1 << 0),
355  MOD_ARR_MERGEFINAL = (1 << 1),
356 };
357 
358 typedef struct MirrorModifierData {
360 
362  short axis DNA_DEPRECATED;
363  short flag;
364  float tolerance;
366 
373 
374  char _pad[3];
375  float uv_offset[2];
376  float uv_offset_copy[2];
377  struct Object *mirror_ob;
378  void *_pad1;
380 
382 enum {
383  MOD_MIR_CLIPPING = (1 << 0),
384  MOD_MIR_MIRROR_U = (1 << 1),
385  MOD_MIR_MIRROR_V = (1 << 2),
386  MOD_MIR_AXIS_X = (1 << 3),
387  MOD_MIR_AXIS_Y = (1 << 4),
388  MOD_MIR_AXIS_Z = (1 << 5),
389  MOD_MIR_VGROUP = (1 << 6),
390  MOD_MIR_NO_MERGE = (1 << 7),
397  MOD_MIR_MIRROR_UDIM = (1 << 14),
398 };
399 
400 typedef struct EdgeSplitModifierData {
402 
404  float split_angle;
405  int flags;
407 
409 enum {
412 };
413 
414 typedef struct BevelModifierData {
416 
418  float value;
420  int res;
422  short flags;
424  short val_flags;
428  short lim_flags;
430  short e_flags;
432  short mat;
433  short edge_flags;
436  short miter_inner;
437  short miter_outer;
442  char _pad;
444  float profile;
447  float bevel_angle;
448  float spread;
451  char defgrp_name[64];
452 
453  char _pad1[4];
456 
457  void *_pad2;
459 
461 enum {
462 #ifdef DNA_DEPRECATED_ALLOW
463  MOD_BEVEL_VERT_DEPRECATED = (1 << 1),
464 #endif
466  MOD_BEVEL_ANGLE = (1 << 3),
467  MOD_BEVEL_WEIGHT = (1 << 4),
468  MOD_BEVEL_VGROUP = (1 << 5),
469 /* unused = (1 << 6), */
471  MOD_BEVEL_CUSTOM_PROFILE_DEPRECATED = (1 << 7),
472 #endif
473  /* unused = (1 << 8), */
474  /* unused = (1 << 9), */
475  /* unused = (1 << 10), */
476  /* unused = (1 << 11), */
477  /* unused = (1 << 12), */
478  MOD_BEVEL_OVERLAP_OK = (1 << 13),
481 };
482 
484 enum {
490 };
491 
493 enum {
496 };
497 
499 enum {
502 };
503 
505 enum {
510 };
511 
513 enum {
517 };
518 
520 enum {
523 };
524 
526 enum {
529 };
530 
531 typedef struct FluidModifierData {
533 
539  float time;
541  int type;
542  void *_pad1;
544 
546 enum {
550 };
551 
552 typedef struct DisplaceModifierData {
554 
555  /* Keep in sync with #MappingInfoModifierData. */
556 
557  struct Tex *texture;
559  char map_bone[64];
561  char uvlayer_name[64];
564  /* end MappingInfoModifierData */
565 
566  float strength;
569  char defgrp_name[64];
570  float midlevel;
571  int space;
572  short flag;
573  char _pad[6];
575 
577 enum {
579 };
580 
582 enum {
589 };
590 
592 enum {
597 };
598 
600 enum {
603 };
604 
605 typedef struct UVProjectModifierData {
611  struct Object *projectors[10];
612  char _pad2[4];
614  float aspectx, aspecty;
615  float scalex, scaley;
617  char uvlayer_name[64];
619  char _pad[4];
621 
622 #define MOD_UVPROJECT_MAXPROJECTORS 10
623 
624 typedef struct DecimateModifierData {
626 
628  float percent;
630  short iter;
632  char delimit;
636  float angle;
637 
639  char defgrp_name[64];
641  short flag, mode;
642 
646 
647 enum {
654 };
655 
656 enum {
661 };
662 
663 typedef struct SmoothModifierData {
665  float fac;
667  char defgrp_name[64];
668  short flag, repeat;
669 
671 
673 enum {
675  MOD_SMOOTH_X = (1 << 1),
676  MOD_SMOOTH_Y = (1 << 2),
677  MOD_SMOOTH_Z = (1 << 3),
678 };
679 
680 typedef struct CastModifierData {
682 
683  struct Object *object;
684  float fac;
685  float radius;
686  float size;
688  char defgrp_name[64];
689  short flag;
691  short type;
692  void *_pad1;
694 
696 enum {
697  /* And what bout (1 << 0) flag? ;) */
699  MOD_CAST_X = (1 << 1),
700  MOD_CAST_Y = (1 << 2),
701  MOD_CAST_Z = (1 << 3),
704 };
705 
707 enum {
711 };
712 
713 typedef struct WaveModifierData {
715 
716  /* Keep in sync with #MappingInfoModifierData. */
717 
718  struct Tex *texture;
720  char map_bone[64];
722  char uvlayer_name[64];
725  /* End MappingInfoModifierData. */
726 
729  char defgrp_name[64];
730 
731  short flag;
732  char _pad[2];
733 
736 
738  char _pad1[4];
739  void *_pad2;
741 
743 enum {
745  MOD_WAVE_X = (1 << 1),
746  MOD_WAVE_Y = (1 << 2),
747  MOD_WAVE_CYCL = (1 << 3),
748  MOD_WAVE_NORM = (1 << 4),
749  MOD_WAVE_NORM_X = (1 << 5),
750  MOD_WAVE_NORM_Y = (1 << 6),
751  MOD_WAVE_NORM_Z = (1 << 7),
752 };
753 
754 typedef struct ArmatureModifierData {
756 
759  char _pad2[4];
760  struct Object *object;
764  char defgrp_name[64];
766 
767 enum {
770 };
771 
773 typedef enum {
776  eHook_Falloff_Sharp = 2, /* PROP_SHARP */
777  eHook_Falloff_Smooth = 3, /* PROP_SMOOTH */
778  eHook_Falloff_Root = 4, /* PROP_ROOT */
779  eHook_Falloff_Linear = 5, /* PROP_LIN */
780  eHook_Falloff_Const = 6, /* PROP_CONST */
781  eHook_Falloff_Sphere = 7, /* PROP_SPHERE */
782  eHook_Falloff_InvSquare = 8, /* PROP_INVSQUARE */
783  /* PROP_RANDOM not used */
785 
786 typedef struct HookModifierData {
788 
789  struct Object *object;
791  char subtarget[64];
792 
793  char flag;
796  char _pad[6];
798  float parentinv[4][4];
800  float cent[3];
802  float falloff;
803 
805 
807  int *indexar;
809  float force;
811  char name[64];
812  void *_pad1;
814 
815 typedef struct SoftbodyModifierData {
818 
819 typedef struct ClothModifierData {
821 
828 
835  struct ListBase ptcaches;
836 
840  float hair_grid_min[3];
841  float hair_grid_max[3];
844 
847 
848 typedef struct CollisionModifierData {
850 
852  struct MVert *x;
854  struct MVert *xnew;
856  struct MVert *xold;
860  struct MVert *current_x;
862  struct MVert *current_v;
863 
864  struct MVertTri *tri;
865 
866  unsigned int mvert_num;
867  unsigned int tri_num;
871  char is_static;
872  char _pad[7];
873 
875  struct BVHTree *bvhtree;
877 
878 typedef struct SurfaceModifierData {
880 
882  struct MVert *x;
884  struct MVert *v;
885 
886  struct Mesh *mesh;
887 
890 
893 
894 typedef struct BooleanModifierData {
896 
897  struct Object *object;
900  char operation;
901  char solver;
902  char flag;
903  char bm_flag;
905 
907 typedef enum {
912 
914 typedef enum {
918 
920 enum {
925 };
926 
928 enum {
932 };
933 
934 typedef struct MDefInfluence {
935  int vertex;
936  float weight;
938 
939 typedef struct MDefCell {
940  int offset;
943 
944 typedef struct MeshDeformModifierData {
946 
948  struct Object *object;
950  char defgrp_name[64];
951 
952  short gridsize, flag;
953  char _pad[4];
954 
955  /* result of static binding */
961  float *bindcagecos;
964 
965  /* result of dynamic binding */
971  int *dynverts;
977  float dyncellmin[3];
981  float bindmat[4][4];
982 
983  /* deprecated storage */
985  float *bindweights;
987  float *bindcos;
988 
989  /* runtime */
991  struct MeshDeformModifierData *mmd,
992  struct Mesh *cagemesh,
993  float *vertexcos,
994  int verts_num,
995  float cagemat[4][4]);
997 
998 enum {
1001 };
1002 
1005 
1014  struct Mesh *mesh_final;
1018  short flag;
1019  char _pad[2];
1020  void *_pad1;
1022 
1023 typedef enum {
1028 
1029 typedef enum {
1039 
1040 typedef enum {
1044 
1047 
1048  struct Object *ob;
1049  short psys, flag, axis, space;
1057  void *_pad1;
1059 
1060 typedef enum {
1066  eExplodeFlag_Dead = (1 << 5),
1069 
1070 typedef struct ExplodeModifierData {
1072 
1073  int *facepa;
1074  short flag, vgroup;
1075  float protect;
1077  char uvname[64];
1078  void *_pad1;
1080 
1081 typedef struct MultiresModifierData {
1083 
1085  char simple DNA_DEPRECATED;
1086  char flags, _pad[2];
1087  short quality;
1088  short uv_smooth;
1090  char _pad2[2];
1092 
1093 typedef enum {
1095  /* DEPRECATED, only used for versioning. */
1101 
1103 typedef struct FluidsimModifierData {
1105 
1108  void *_pad1;
1110 
1112 typedef struct SmokeModifierData {
1114 
1116  int type;
1117  int _pad;
1119 
1120 typedef struct ShrinkwrapModifierData {
1122 
1124  struct Object *target;
1128  char vgroup_name[64];
1130  float keepDist;
1132  short shrinkType;
1138  float projLimit;
1140  char projAxis;
1141 
1146 
1147  char _pad[2];
1149 
1151 enum {
1156 };
1157 
1159 enum {
1170 };
1171 
1173 enum {
1178 
1183 
1184 #ifdef DNA_DEPRECATED_ALLOW
1186  MOD_SHRINKWRAP_KEEP_ABOVE_SURFACE = (1 << 5),
1187 #endif
1188 
1191 };
1192 
1193 #define MOD_SHRINKWRAP_CULL_TARGET_MASK \
1194  (MOD_SHRINKWRAP_CULL_TARGET_FRONTFACE | MOD_SHRINKWRAP_CULL_TARGET_BACKFACE)
1195 
1197 enum {
1203 };
1204 
1207 
1209  struct Object *origin;
1211  char vgroup_name[64];
1213  float factor;
1215  float limit[2];
1216 
1218  char mode;
1220  char axis;
1223  char flag;
1224 
1225  void *_pad1;
1227 
1229 enum {
1231 };
1232 
1233 enum {
1238 };
1239 
1240 enum {
1244 };
1245 
1246 typedef struct ShapeKeyModifierData {
1249 
1250 typedef struct SolidifyModifierData {
1252 
1254  char defgrp_name[64];
1258  float offset;
1260  float offset_fac;
1268  char mode;
1269 
1273 
1274  char _pad;
1277  float crease_rim;
1278  int flag;
1279  short mat_ofs;
1281 
1285 
1287 enum {
1288  MOD_SOLIDIFY_RIM = (1 << 0),
1289  MOD_SOLIDIFY_EVEN = (1 << 1),
1292 #ifdef DNA_DEPRECATED_ALLOW
1293  MOD_SOLIDIFY_RIM_MATERIAL = (1 << 4), /* deprecated, used in do_versions */
1294 #endif
1295  MOD_SOLIDIFY_FLIP = (1 << 5),
1299 };
1300 
1302 enum {
1305 };
1306 
1308 enum {
1312 };
1313 
1315 enum {
1319 };
1320 
1321 typedef struct ScrewModifierData {
1323 
1324  struct Object *ob_axis;
1325  unsigned int steps;
1326  unsigned int render_steps;
1327  unsigned int iter;
1328  float screw_ofs;
1329  float angle;
1330  float merge_dist;
1331  short flag;
1332  char axis;
1333  char _pad[5];
1334  void *_pad1;
1336 
1337 enum {
1341  /* MOD_SCREW_OBJECT_ANGLE = (1 << 4), */
1345  MOD_SCREW_MERGE = (1 << 8),
1346 };
1347 
1348 typedef struct OceanModifierData {
1350 
1351  struct Ocean *ocean;
1353 
1358 
1360 
1362 
1363  float damp;
1365  float depth;
1366 
1369  float wave_scale;
1370 
1373  float time;
1374 
1375  /* Spectrum being used. */
1377 
1378  /* Common JONSWAP parameters. */
1385 
1387  int bakeend;
1388 
1390  char cachepath[1024];
1392  char foamlayername[64];
1393  char spraylayername[64];
1394  char cached;
1396 
1397  char flag;
1398  char _pad2;
1399 
1400  short repeat_x;
1401  short repeat_y;
1402 
1403  int seed;
1404 
1405  float size;
1406 
1407  float foam_fade;
1408 
1409  char _pad[4];
1411 
1412 enum {
1416 };
1417 
1418 enum {
1423 };
1424 
1425 enum {
1430 };
1431 
1432 typedef struct WarpModifierData {
1434 
1435  /* Keep in sync with #MappingInfoModifierData. */
1436 
1437  struct Tex *texture;
1439  char map_bone[64];
1441  char uvlayer_name[64];
1444  /* End #MappingInfoModifierData. */
1445 
1449  char bone_from[64];
1451  char bone_to[64];
1452 
1455  char defgrp_name[64];
1456  float strength;
1458  char flag;
1460  char _pad[6];
1461  void *_pad1;
1463 
1465 enum {
1468 };
1469 
1471 typedef enum {
1474  eWarp_Falloff_Sharp = 2, /* PROP_SHARP */
1475  eWarp_Falloff_Smooth = 3, /* PROP_SMOOTH */
1476  eWarp_Falloff_Root = 4, /* PROP_ROOT */
1477  eWarp_Falloff_Linear = 5, /* PROP_LIN */
1478  eWarp_Falloff_Const = 6, /* PROP_CONST */
1479  eWarp_Falloff_Sphere = 7, /* PROP_SPHERE */
1480  eWarp_Falloff_InvSquare = 8, /* PROP_INVSQUARE */
1481  /* PROP_RANDOM not used */
1483 
1486 
1488  char defgrp_name[64];
1489 
1491  short edit_flags;
1496 
1497  /* Mapping stuff. */
1500 
1501  /* The add/remove vertices weight thresholds. */
1503 
1504  /* Masking options. */
1509 
1510  /* Texture masking. */
1523 
1524  /* Padding... */
1525  char _pad0[4];
1526  void *_pad1;
1528 
1530 enum {
1538 };
1539 
1540 typedef struct WeightVGMixModifierData {
1542 
1544  char defgrp_name_a[64];
1546  char defgrp_name_b[64];
1552  char mix_mode;
1554  char mix_set;
1555 
1556  char _pad0[6];
1557 
1558  /* Masking options. */
1563 
1564  /* Texture masking. */
1577 
1578  char flag;
1579 
1580  /* Padding... */
1581  char _pad1[3];
1583 
1585 enum {
1604 };
1605 
1607 enum {
1618 };
1619 
1621 enum {
1626 };
1627 
1630 
1632  char defgrp_name[64];
1633 
1634  /* Mapping stuff. */
1637 
1642 
1643  /* Target object from which to calculate vertices distances. */
1645 
1646  /* Masking options. */
1651 
1652  /* Texture masking. */
1665 
1668 
1669  /* Put here to avoid breaking existing struct... */
1673 
1674  /* Padding... */
1675  char _pad0[2];
1677 
1679 enum {
1680  MOD_WVG_PROXIMITY_OBJECT = 1, /* source vertex to other location */
1681  MOD_WVG_PROXIMITY_GEOMETRY = 2, /* source vertex to other geometry */
1682 };
1683 
1685 enum {
1686  /* Use nearest vertices of target obj, in MOD_WVG_PROXIMITY_GEOMETRY mode. */
1688  /* Use nearest edges of target obj, in MOD_WVG_PROXIMITY_GEOMETRY mode. */
1690  /* Use nearest faces of target obj, in MOD_WVG_PROXIMITY_GEOMETRY mode. */
1695 };
1696 
1697 /* Defines common to all WeightVG modifiers. */
1698 
1700 enum {
1703  MOD_WVG_MAPPING_SHARP = 2, /* PROP_SHARP */
1704  MOD_WVG_MAPPING_SMOOTH = 3, /* PROP_SMOOTH */
1705  MOD_WVG_MAPPING_ROOT = 4, /* PROP_ROOT */
1706  /* PROP_LIN not used (same as NONE, here...). */
1707  /* PROP_CONST not used. */
1708  MOD_WVG_MAPPING_SPHERE = 7, /* PROP_SPHERE */
1709  MOD_WVG_MAPPING_RANDOM = 8, /* PROP_RANDOM */
1710  MOD_WVG_MAPPING_STEP = 9, /* Median Step. */
1711 };
1712 
1714 enum {
1723 };
1724 
1727 
1731  int type;
1732  char _pad[4];
1734 
1736 enum {
1739 };
1740 
1742 typedef enum eRemeshModifierFlags {
1746 
1747 typedef enum eRemeshModifierMode {
1748  /* blocky */
1750  /* smooth */
1752  /* keeps sharp edges */
1754  /* Voxel remesh */
1757 
1758 typedef struct RemeshModifierData {
1760 
1762  float threshold;
1763 
1764  /* ratio between size of model and grid */
1765  float scale;
1766 
1768 
1769  /* octree depth */
1770  char depth;
1771  char flag;
1772  char mode;
1773  char _pad;
1774 
1775  /* OpenVDB Voxel remesh properties. */
1776  float voxel_size;
1777  float adaptivity;
1779 
1781 typedef struct SkinModifierData {
1783 
1785 
1786  char flag;
1787 
1789 
1790  char _pad[2];
1792 
1794 enum {
1795  MOD_SKIN_SYMM_X = (1 << 0),
1796  MOD_SKIN_SYMM_Y = (1 << 1),
1797  MOD_SKIN_SYMM_Z = (1 << 2),
1798 };
1799 
1801 enum {
1803 };
1804 
1806 typedef struct TriangulateModifierData {
1808 
1809  int flag;
1814 
1816 enum {
1817 #ifdef DNA_DEPRECATED_ALLOW
1818  MOD_TRIANGULATE_BEAUTY = (1 << 0), /* deprecated */
1819 #endif
1821 };
1822 
1824 enum {
1827 };
1828 
1830 enum {
1836 };
1837 
1840 
1842  char _pad1[4];
1844  char defgrp_name[64];
1845  short flag, repeat;
1847 
1849 enum {
1856 };
1857 
1859  /* delta's between the original positions and the smoothed positions */
1860  float (*deltas)[3];
1861  unsigned int totverts;
1862 
1863  /* Value of settings when creating the cache.
1864  * These are used to check if the cache should be recomputed. */
1865  float lambda, scale;
1866  short repeat, flag;
1868  char _pad[6];
1870 
1873 
1874  /* positions set during 'bind' operator
1875  * use for MOD_CORRECTIVESMOOTH_RESTSOURCE_BIND */
1877 
1878  /* NOTE: -1 is used to bind. */
1879  unsigned int bind_coords_num;
1880 
1881  float lambda, scale;
1882  short repeat, flag;
1884  char _pad[6];
1885 
1887  char defgrp_name[64];
1888 
1889  /* runtime-only cache */
1892 
1893 enum {
1896 };
1897 
1898 enum {
1901 };
1902 
1904 enum {
1908 };
1909 
1910 typedef struct UVWarpModifierData {
1912 
1914  short flag;
1916  float center[2];
1917 
1918  float offset[2];
1919  float scale[2];
1920  float rotation;
1921 
1925  char bone_src[64];
1929  char bone_dst[64];
1930 
1932  char vgroup_name[64];
1934  char uvlayer_name[64];
1936 
1938 enum {
1940 };
1941 
1943 typedef struct MeshCacheModifierData {
1945 
1946  char flag;
1948  char type;
1951 
1952  /* axis conversion */
1954  char up_axis;
1956 
1957  char interp;
1958 
1959  float factor;
1961  char defgrp_name[64];
1962  char _pad[7];
1963 
1964  /* play_mode == MOD_MESHCACHE_PLAY_CFEA */
1967 
1968  /* play_mode == MOD_MESHCACHE_PLAY_EVAL */
1969  /* we could use one float for all these but their purpose is very different */
1970  float eval_frame;
1971  float eval_time;
1973 
1975  char filepath[1024];
1977 
1979 enum {
1981 };
1982 
1983 enum {
1986 };
1987 
1988 enum {
1991 };
1992 
1993 enum {
1996  /* MOD_MESHCACHE_INTERP_CARDINAL = 2, */
1997 };
1998 
1999 enum {
2003 };
2004 
2005 enum {
2008 };
2009 
2015  float *vertexco;
2018  short flag;
2019  char _pad[6];
2020 
2022 
2024 enum {
2027 };
2028 
2032 typedef struct WireframeModifierData {
2035  char defgrp_name[64];
2036  float offset;
2037  float offset_fac;
2040  short flag, mat_ofs;
2041  char _pad[4];
2043 
2044 enum {
2051 };
2052 
2053 typedef struct WeldModifierData {
2055 
2056  /* The limit below which to merge vertices. */
2057  float merge_dist;
2058  /* Name of vertex group to use to mask, MAX_VGROUP_NAME. */
2059  char defgrp_name[64];
2060 
2061  char mode;
2062  char flag;
2063  char _pad[2];
2065 
2067 enum {
2070 };
2071 
2073 enum {
2076 };
2077 
2080 
2082 
2085 
2086  /* See MREMAP_MODE_ enum in BKE_mesh_mapping.h */
2091 
2095 
2096  char _pad1[4];
2097 
2102 
2105  float mix_factor;
2107  char defgrp_name[64];
2108 
2109  int flags;
2110  void *_pad2;
2112 
2114 enum {
2118 
2119  /* Only for UI really. */
2124 };
2125 
2127 typedef struct NormalEditModifierData {
2130  char defgrp_name[64];
2132  struct Object *target;
2133  short mode;
2134  short flag;
2135  short mix_mode;
2136  char _pad[2];
2137  float mix_factor;
2138  float mix_limit;
2139  float offset[3];
2140  char _pad0[4];
2141  void *_pad1;
2143 
2145 enum {
2148 };
2149 
2151 enum {
2155 };
2156 
2158 enum {
2163 };
2164 
2167 
2170  char object_path[1024];
2171 
2173  char _pad[3];
2174 
2176 
2177  /* Runtime. */
2181 
2183 enum {
2188 
2189  /* Allow interpolation of mesh vertex positions. There is a heuristic to avoid interpolation when
2190  * the mesh topology changes, but this heuristic sometimes fails. In these cases, users can
2191  * disable interpolation with this flag. */
2193 };
2194 
2195 typedef struct SDefBind {
2196  unsigned int *vert_inds;
2197  unsigned int verts_num;
2198  int mode;
2201  float influence;
2203 
2204 typedef struct SDefVert {
2206  unsigned int binds_num;
2207  unsigned int vertex_idx;
2209 
2212 
2215  struct Object *target;
2218  void *_pad1;
2219  float falloff;
2220  /* Number of of vertices on the deformed mesh upon the bind process. */
2221  unsigned int mesh_verts_num;
2222  /* Number of vertices in the `verts` array of this modifier. */
2223  unsigned int bind_verts_num;
2224  /* Number of vertices and polygons on the target mesh upon bind process. */
2226  int flags;
2227  float mat[4][4];
2228  float strength;
2229  char defgrp_name[64];
2230  int _pad2;
2232 
2234 enum {
2235  /* This indicates "do bind on next modifier evaluation" as well as "is bound". */
2236  MOD_SDEF_BIND = (1 << 0),
2238  /* Only store bind data for nonzero vgroup weights at the time of bind. */
2240 };
2241 
2243 enum {
2247 };
2248 
2251 
2253  char defgrp_name[64];
2254  char mode, flag;
2255  short weight;
2256  float thresh;
2258 
2259 /* Name/id of the generic PROP_INT cdlayer storing face weights. */
2260 #define MOD_WEIGHTEDNORMALS_FACEWEIGHT_CDLAYER_ID "__mod_weightednormals_faceweight"
2261 
2263 enum {
2267 };
2268 
2270 enum {
2274 };
2275 
2276 #define MOD_MESHSEQ_READ_ALL \
2277  (MOD_MESHSEQ_READ_VERT | MOD_MESHSEQ_READ_POLY | MOD_MESHSEQ_READ_UV | MOD_MESHSEQ_READ_COLOR)
2278 
2279 typedef struct NodesModifierSettings {
2280  /* This stores data that is passed into the node group. */
2283 
2284 typedef struct NodesModifierData {
2288 
2294  void *_pad1;
2296 
2299 
2301  struct Object *object;
2302 
2306  float voxel_size;
2310 
2314  char _pad1[3];
2315 
2319 
2320  float density;
2321  char _pad2[4];
2322  void *_pad3;
2324 
2330 
2333 
2334  struct Tex *texture;
2337 
2338  float strength;
2342 
2344 enum {
2348 };
2349 
2352 
2354  struct Object *object;
2355 
2356  float threshold;
2357  float adaptivity;
2358 
2361 
2364  float voxel_size;
2366 
2368  char grid_name[64];
2369  void *_pad1;
2371 
2378 
2380 typedef enum VolumeToMeshFlag {
2383 
2384 #ifdef __cplusplus
2385 }
2386 #endif
typedef float(TangentPoint)[2]
struct Depsgraph Depsgraph
Definition: DEG_depsgraph.h:35
These structs are the foundation for all linked lists in the library system.
@ MOD_SDEF_BIND
@ MOD_SDEF_INVERT_VGROUP
@ MOD_SDEF_SPARSE_BIND
struct SimpleDeformModifierData SimpleDeformModifierData
struct NormalEditModifierData NormalEditModifierData
ModifierFlag
@ eModifierFlag_SharedCaches
@ eModifierFlag_OverrideLibrary_Local
@ eModifierFlag_Active
eRemeshModifierFlags
@ MOD_REMESH_FLOOD_FILL
@ MOD_REMESH_SMOOTH_SHADING
@ MOD_DISP_SPACE_GLOBAL
@ MOD_DISP_SPACE_LOCAL
@ MOD_WVG_SET_AND
@ MOD_WVG_SET_B
@ MOD_WVG_SET_ALL
@ MOD_WVG_SET_OR
@ MOD_WVG_SET_A
struct MaskModifierData MaskModifierData
@ MOD_OCEAN_GEOM_GENERATE
@ MOD_OCEAN_GEOM_SIM_ONLY
@ MOD_OCEAN_GEOM_DISPLACE
WarpModifierFalloff
@ eWarp_Falloff_Linear
@ eWarp_Falloff_Curve
@ eWarp_Falloff_Sharp
@ eWarp_Falloff_Const
@ eWarp_Falloff_InvSquare
@ eWarp_Falloff_Smooth
@ eWarp_Falloff_None
@ eWarp_Falloff_Sphere
@ eWarp_Falloff_Root
@ MOD_BEVEL_AMT_DEPTH
@ MOD_BEVEL_AMT_PERCENT
@ MOD_BEVEL_AMT_OFFSET
@ MOD_BEVEL_AMT_ABSOLUTE
@ MOD_BEVEL_AMT_WIDTH
@ MOD_BEVEL_PROFILE_CUSTOM
@ MOD_BEVEL_PROFILE_SUPERELLIPSE
MultiresModifierFlag
@ eMultiresModifierFlag_UseSculptBaseMesh
@ eMultiresModifierFlag_PlainUv_DEPRECATED
@ eMultiresModifierFlag_UseCrease
@ eMultiresModifierFlag_UseCustomNormals
@ eMultiresModifierFlag_ControlEdges
struct UVProjectModifierData UVProjectModifierData
ModifierMode
@ eModifierMode_Virtual
@ eModifierMode_Render
@ eModifierMode_ApplyOnSpline
@ eModifierMode_Editmode
@ eModifierMode_DisableTemporary
@ eModifierMode_Realtime
@ eModifierMode_OnCage
@ MOD_LAPLACIANDEFORM_BIND
@ MOD_LAPLACIANDEFORM_INVERT_VGROUP
@ MOD_WVG_MIX_INVERT_VGROUP_MASK
@ MOD_WVG_MIX_INVERT_VGROUP_B
@ MOD_WVG_MIX_WEIGHTS_NORMALIZE
@ MOD_WVG_MIX_INVERT_VGROUP_A
@ MOD_WVG_EDIT_INVERT_VGROUP_MASK
@ MOD_WVG_EDIT_WEIGHTS_NORMALIZE
@ MOD_WVG_INVERT_FALLOFF
@ MOD_WVG_EDIT_REMFVG
@ MOD_WVG_EDIT_ADD2VG
struct MeshSeqCacheModifierData MeshSeqCacheModifierData
@ MOD_SOLIDIFY_MODE_NONMANIFOLD
@ MOD_SOLIDIFY_MODE_EXTRUDE
@ MOD_LATTICE_INVERT_VGROUP
BooleanModifierSolver
@ eBooleanModifierSolver_Exact
@ eBooleanModifierSolver_Fast
@ MOD_WVG_MASK_TEX_USE_SAT
@ MOD_WVG_MASK_TEX_USE_BLUE
@ MOD_WVG_MASK_TEX_USE_INT
@ MOD_WVG_MASK_TEX_USE_ALPHA
@ MOD_WVG_MASK_TEX_USE_RED
@ MOD_WVG_MASK_TEX_USE_HUE
@ MOD_WVG_MASK_TEX_USE_VAL
@ MOD_WVG_MASK_TEX_USE_GREEN
struct MeshCacheModifierData MeshCacheModifierData
struct HookModifierData HookModifierData
struct WeldModifierData WeldModifierData
@ MOD_SOLIDIFY_NONMANIFOLD_BOUNDARY_MODE_FLAT
@ MOD_SOLIDIFY_NONMANIFOLD_BOUNDARY_MODE_ROUND
@ MOD_SOLIDIFY_NONMANIFOLD_BOUNDARY_MODE_NONE
@ MOD_CORRECTIVESMOOTH_RESTSOURCE_ORCO
@ MOD_CORRECTIVESMOOTH_RESTSOURCE_BIND
ParticleInstanceModifierFlag
@ eParticleInstanceFlag_Parents
@ eParticleInstanceFlag_Alive
@ eParticleInstanceFlag_Dead
@ eParticleInstanceFlag_Children
@ eParticleInstanceFlag_Unborn
@ eParticleInstanceFlag_Path
@ eParticleInstanceFlag_UseSize
@ eParticleInstanceFlag_KeepShape
@ eBooleanModifierFlag_Collection
@ eBooleanModifierFlag_Self
@ eBooleanModifierFlag_HoleTolerant
@ eBooleanModifierFlag_Object
struct WeightVGProximityModifierData WeightVGProximityModifierData
struct DataTransferModifierData DataTransferModifierData
eSubsurfModifierType
@ SUBSURF_TYPE_SIMPLE
@ SUBSURF_TYPE_CATMULL_CLARK
struct SDefBind SDefBind
eRemeshModifierMode
@ MOD_REMESH_VOXEL
@ MOD_REMESH_MASS_POINT
@ MOD_REMESH_SHARP_FEATURES
@ MOD_REMESH_CENTROID
@ MOD_VOLUME_DISPLACE_MAP_GLOBAL
@ MOD_VOLUME_DISPLACE_MAP_LOCAL
@ MOD_VOLUME_DISPLACE_MAP_OBJECT
struct LaplacianDeformModifierData LaplacianDeformModifierData
@ MOD_LAPLACIANSMOOTH_X
@ MOD_LAPLACIANSMOOTH_Y
@ MOD_LAPLACIANSMOOTH_PRESERVE_VOLUME
@ MOD_LAPLACIANSMOOTH_NORMALIZED
@ MOD_LAPLACIANSMOOTH_Z
@ MOD_LAPLACIANSMOOTH_INVERT_VGROUP
@ MOD_TRIANGULATE_NGON_BEAUTY
@ MOD_TRIANGULATE_NGON_EARCLIP
@ MOD_DECIM_FLAG_INVERT_VGROUP
@ MOD_DECIM_FLAG_SYMMETRY
@ MOD_DECIM_FLAG_TRIANGULATE
@ MOD_DECIM_FLAG_ALL_BOUNDARY_VERTS
@ MOD_OCEAN_SPECTRUM_TEXEL_MARSEN_ARSLOE
@ MOD_OCEAN_SPECTRUM_JONSWAP
@ MOD_OCEAN_SPECTRUM_PHILLIPS
@ MOD_OCEAN_SPECTRUM_PIERSON_MOSKOWITZ
@ MOD_ARR_OFF_RELATIVE
@ MOD_ARR_OFF_CONST
@ MOD_ARR_OFF_OBJ
@ MOD_SHRINKWRAP_PROJECT_ALLOW_POS_DIR
@ MOD_SHRINKWRAP_CULL_TARGET_FRONTFACE
@ MOD_SHRINKWRAP_PROJECT_ALLOW_NEG_DIR
@ MOD_SHRINKWRAP_CULL_TARGET_BACKFACE
@ MOD_SHRINKWRAP_INVERT_VGROUP
@ MOD_SHRINKWRAP_INVERT_CULL_TARGET
ParticleSystemModifierFlag
@ eParticleSystemFlag_Pars
@ eParticleSystemFlag_psys_updated
@ eParticleSystemFlag_file_loaded
struct MeshToVolumeModifierData MeshToVolumeModifierData
@ MOD_BEVEL_HARDEN_NORMALS
@ MOD_BEVEL_INVERT_VGROUP
@ MOD_BEVEL_WEIGHT
@ MOD_BEVEL_OVERLAP_OK
@ MOD_BEVEL_VGROUP
@ MOD_BEVEL_EVEN_WIDTHS
@ MOD_BEVEL_ANGLE
eSubsurfBoundarySmooth
@ SUBSURF_BOUNDARY_SMOOTH_ALL
@ SUBSURF_BOUNDARY_SMOOTH_PRESERVE_CORNERS
struct MappingInfoModifierData MappingInfoModifierData
@ MOD_MESHCACHE_TYPE_PC2
@ MOD_MESHCACHE_TYPE_MDD
@ MOD_BEVEL_MARK_SHARP
@ MOD_BEVEL_MARK_SEAM
struct ShapeKeyModifierData ShapeKeyModifierData
struct ModifierData ModifierData
@ MOD_OCEAN_GENERATE_NORMALS
@ MOD_OCEAN_GENERATE_FOAM
@ MOD_OCEAN_INVERT_SPRAY
@ MOD_OCEAN_GENERATE_SPRAY
struct ParticleSystemModifierData ParticleSystemModifierData
@ MOD_CORRECTIVESMOOTH_SMOOTH_LENGTH_WEIGHT
@ MOD_CORRECTIVESMOOTH_SMOOTH_SIMPLE
@ MOD_DATATRANSFER_USE_VERT
@ MOD_DATATRANSFER_USE_EDGE
@ MOD_DATATRANSFER_OBSRC_TRANSFORM
@ MOD_DATATRANSFER_MAP_MAXDIST
@ MOD_DATATRANSFER_INVERT_VGROUP
@ MOD_DATATRANSFER_USE_LOOP
@ MOD_DATATRANSFER_USE_POLY
@ MOD_ARR_FITCURVE
@ MOD_ARR_FIXEDCOUNT
@ MOD_ARR_FITLENGTH
@ MOD_CAST_TYPE_CYLINDER
@ MOD_CAST_TYPE_SPHERE
@ MOD_CAST_TYPE_CUBOID
@ MOD_MESHCACHE_DEFORM_INTEGRATE
@ MOD_MESHCACHE_DEFORM_OVERWRITE
struct CurveModifierData CurveModifierData
struct SDefVert SDefVert
struct FluidModifierData FluidModifierData
struct ClothModifierData ClothModifierData
@ MOD_BUILD_FLAG_REVERSE
@ MOD_BUILD_FLAG_RANDOMIZE
@ MOD_CAST_USE_OB_TRANSFORM
@ MOD_CAST_INVERT_VGROUP
@ MOD_CAST_Y
@ MOD_CAST_X
@ MOD_CAST_Z
@ MOD_CAST_SIZE_FROM_RADIUS
struct BevelModifierData BevelModifierData
@ MOD_CORRECTIVESMOOTH_ONLY_SMOOTH
@ MOD_CORRECTIVESMOOTH_PIN_BOUNDARY
@ MOD_CORRECTIVESMOOTH_INVERT_VGROUP
@ MOD_SMOOTH_Y
@ MOD_SMOOTH_INVERT_VGROUP
@ MOD_SMOOTH_X
@ MOD_SMOOTH_Z
struct CollisionModifierData CollisionModifierData
@ MOD_WAVE_NORM_Y
@ MOD_WAVE_NORM_X
@ MOD_WAVE_CYCL
@ MOD_WAVE_INVERT_VGROUP
@ MOD_WAVE_Y
@ MOD_WAVE_NORM
@ MOD_WAVE_X
@ MOD_WAVE_NORM_Z
struct SurfaceDeformModifierData SurfaceDeformModifierData
struct SolidifyModifierData SolidifyModifierData
@ MOD_WVG_PROXIMITY_OBJECT
@ MOD_WVG_PROXIMITY_GEOMETRY
struct NodesModifierData NodesModifierData
@ MOD_MASK_SMOOTH
@ MOD_MASK_INV
@ MOD_DYNAMICPAINT_TYPE_BRUSH
@ MOD_DYNAMICPAINT_TYPE_CANVAS
struct MultiresModifierData MultiresModifierData
struct WeightVGEditModifierData WeightVGEditModifierData
struct DynamicPaintModifierData DynamicPaintModifierData
@ MOD_NORMALEDIT_NO_POLYNORS_FIX
@ MOD_NORMALEDIT_INVERT_VGROUP
@ MOD_NORMALEDIT_USE_DIRECTION_PARALLEL
struct ShrinkwrapModifierData ShrinkwrapModifierData
struct LaplacianSmoothModifierData LaplacianSmoothModifierData
@ MOD_SHRINKWRAP_TARGET_PROJECT
@ MOD_SHRINKWRAP_NEAREST_VERTEX
@ MOD_SHRINKWRAP_PROJECT
@ MOD_SHRINKWRAP_NEAREST_SURFACE
struct CastModifierData CastModifierData
struct ArrayModifierData ArrayModifierData
@ MOD_SCREW_NORMAL_CALC
@ MOD_SCREW_SMOOTH_SHADING
@ MOD_SCREW_UV_STRETCH_V
@ MOD_SCREW_MERGE
@ MOD_SCREW_UV_STRETCH_U
@ MOD_SCREW_NORMAL_FLIP
@ MOD_SCREW_OBJECT_OFFSET
@ MOD_CURVE_NEGZ
@ MOD_CURVE_POSX
@ MOD_CURVE_NEGX
@ MOD_CURVE_POSZ
@ MOD_CURVE_NEGY
@ MOD_CURVE_POSY
@ MOD_SIMPLEDEFORM_MODE_TAPER
@ MOD_SIMPLEDEFORM_MODE_STRETCH
@ MOD_SIMPLEDEFORM_MODE_BEND
@ MOD_SIMPLEDEFORM_MODE_TWIST
struct VolumeDisplaceModifierData VolumeDisplaceModifierData
@ MOD_SHRINKWRAP_ON_SURFACE
@ MOD_SHRINKWRAP_OUTSIDE
@ MOD_SHRINKWRAP_INSIDE
@ MOD_SHRINKWRAP_ABOVE_SURFACE
@ MOD_SHRINKWRAP_OUTSIDE_SURFACE
struct SkinModifierData SkinModifierData
@ MOD_TRIANGULATE_KEEP_CUSTOMLOOP_NORMALS
struct SmoothModifierData SmoothModifierData
@ MOD_NORMALEDIT_MIX_COPY
@ MOD_NORMALEDIT_MIX_ADD
@ MOD_NORMALEDIT_MIX_SUB
@ MOD_NORMALEDIT_MIX_MUL
@ MOD_HOOK_UNIFORM_SPACE
@ MOD_HOOK_INVERT_VGROUP
@ MOD_SKIN_SMOOTH_SHADING
struct ParticleInstanceModifierData ParticleInstanceModifierData
struct MDefInfluence MDefInfluence
struct WeightedNormalModifierData WeightedNormalModifierData
struct SoftbodyModifierData SoftbodyModifierData
ModifierType
@ eModifierType_MeshToVolume
@ eModifierType_Weld
@ eModifierType_ParticleSystem
@ eModifierType_Mask
@ eModifierType_MeshDeform
@ eModifierType_Solidify
@ eModifierType_Explode
@ eModifierType_Fluidsim
@ eModifierType_Subsurf
@ eModifierType_LaplacianSmooth
@ eModifierType_Mirror
@ eModifierType_WeightVGProximity
@ eModifierType_Boolean
@ eModifierType_SimpleDeform
@ eModifierType_Curve
@ eModifierType_Lattice
@ eModifierType_Surface
@ eModifierType_NormalEdit
@ eModifierType_Skin
@ eModifierType_Wave
@ eModifierType_Cloth
@ eModifierType_Fluid
@ NUM_MODIFIER_TYPES
@ eModifierType_ShapeKey
@ eModifierType_VolumeToMesh
@ eModifierType_Shrinkwrap
@ eModifierType_MeshSequenceCache
@ eModifierType_EdgeSplit
@ eModifierType_Hook
@ eModifierType_Wireframe
@ eModifierType_WeightVGMix
@ eModifierType_Screw
@ eModifierType_VolumeDisplace
@ eModifierType_Ocean
@ eModifierType_LaplacianDeform
@ eModifierType_DataTransfer
@ eModifierType_UVProject
@ eModifierType_Armature
@ eModifierType_UVWarp
@ eModifierType_SurfaceDeform
@ eModifierType_Warp
@ eModifierType_CorrectiveSmooth
@ eModifierType_ParticleInstance
@ eModifierType_Nodes
@ eModifierType_Collision
@ eModifierType_Smooth
@ eModifierType_Bevel
@ eModifierType_DynamicPaint
@ eModifierType_Remesh
@ eModifierType_MeshCache
@ eModifierType_WeightVGEdit
@ eModifierType_Displace
@ eModifierType_None
@ eModifierType_Array
@ eModifierType_Softbody
@ eModifierType_Multires
@ eModifierType_Cast
@ eModifierType_WeightedNormal
@ eModifierType_Decimate
@ eModifierType_Build
@ eModifierType_Triangulate
@ MOD_DISP_MAP_OBJECT
@ MOD_DISP_MAP_GLOBAL
@ MOD_DISP_MAP_LOCAL
@ MOD_DISP_MAP_UV
@ MOD_SHRINKWRAP_PROJECT_OVER_X_AXIS
@ MOD_SHRINKWRAP_PROJECT_OVER_Y_AXIS
@ MOD_SHRINKWRAP_PROJECT_OVER_Z_AXIS
@ MOD_SHRINKWRAP_PROJECT_OVER_NORMAL
struct TriangulateModifierData TriangulateModifierData
struct MirrorModifierData MirrorModifierData
@ MOD_MESHCACHE_INVERT_VERTEX_GROUP
@ MOD_MESHCACHE_INTERP_LINEAR
@ MOD_MESHCACHE_INTERP_NONE
@ MOD_MDEF_DYNAMIC_BIND
@ MOD_MDEF_INVERT_VGROUP
struct DecimateModifierData DecimateModifierData
@ MOD_SIMPLEDEFORM_FLAG_INVERT_VGROUP
@ MOD_MESHCACHE_TIME_FRAME
@ MOD_MESHCACHE_TIME_FACTOR
@ MOD_MESHCACHE_TIME_SECONDS
@ MOD_WIREFRAME_OFS_EVEN
@ MOD_WIREFRAME_OFS_RELATIVE
@ MOD_WIREFRAME_INVERT_VGROUP
@ MOD_WIREFRAME_CREASE
@ MOD_WIREFRAME_BOUNDARY
@ MOD_WIREFRAME_REPLACE
@ MOD_SIMPLEDEFORM_LOCK_AXIS_Z
@ MOD_SIMPLEDEFORM_LOCK_AXIS_X
@ MOD_SIMPLEDEFORM_LOCK_AXIS_Y
struct BuildModifierData BuildModifierData
enum eRemeshModifierFlags RemeshModifierFlags
@ MOD_UVWARP_INVERT_VGROUP
struct ScrewModifierData ScrewModifierData
@ MOD_MIR_BISECT_AXIS_Z
@ MOD_MIR_AXIS_Z
@ MOD_MIR_MIRROR_U
@ MOD_MIR_BISECT_AXIS_X
@ MOD_MIR_CLIPPING
@ MOD_MIR_MIRROR_V
@ MOD_MIR_AXIS_X
@ MOD_MIR_AXIS_Y
@ MOD_MIR_BISECT_FLIP_AXIS_X
@ MOD_MIR_VGROUP
@ MOD_MIR_BISECT_AXIS_Y
@ MOD_MIR_BISECT_FLIP_AXIS_Z
@ MOD_MIR_NO_MERGE
@ MOD_MIR_BISECT_FLIP_AXIS_Y
@ MOD_MIR_MIRROR_UDIM
@ MOD_WVG_MAPPING_SHARP
@ MOD_WVG_MAPPING_SPHERE
@ MOD_WVG_MAPPING_STEP
@ MOD_WVG_MAPPING_NONE
@ MOD_WVG_MAPPING_ROOT
@ MOD_WVG_MAPPING_CURVE
@ MOD_WVG_MAPPING_RANDOM
@ MOD_WVG_MAPPING_SMOOTH
struct OceanModifierData OceanModifierData
struct LatticeModifierData LatticeModifierData
@ MOD_SOLIDIFY_RIM
@ MOD_SOLIDIFY_FLIP
@ MOD_SOLIDIFY_NORMAL_CALC
@ MOD_SOLIDIFY_EVEN
@ MOD_SOLIDIFY_OFFSET_ANGLE_CLAMP
@ MOD_SOLIDIFY_NONMANIFOLD_FLAT_FACES
@ MOD_SOLIDIFY_VGROUP_INV
@ MOD_SOLIDIFY_NOSHELL
@ MOD_WELD_MODE_CONNECTED
@ MOD_WELD_MODE_ALL
@ MOD_MESHSEQ_READ_COLOR
@ MOD_MESHSEQ_READ_VERT
@ MOD_MESHSEQ_INTERPOLATE_VERTICES
@ MOD_MESHSEQ_READ_UV
@ MOD_MESHSEQ_READ_POLY
struct SubsurfModifierData SubsurfModifierData
@ MOD_BEVEL_FACE_STRENGTH_NONE
@ MOD_BEVEL_FACE_STRENGTH_AFFECTED
@ MOD_BEVEL_FACE_STRENGTH_NEW
@ MOD_BEVEL_FACE_STRENGTH_ALL
@ MOD_SKIN_SYMM_X
@ MOD_SKIN_SYMM_Z
@ MOD_SKIN_SYMM_Y
struct ExplodeModifierData ExplodeModifierData
VolumeToMeshFlag
@ VOLUME_TO_MESH_USE_SMOOTH_SHADE
struct CorrectiveSmoothModifierData CorrectiveSmoothModifierData
ExplodeModifierFlag
@ eExplodeFlag_CalcFaces
@ eExplodeFlag_Alive
@ eExplodeFlag_Dead
@ eExplodeFlag_EdgeCut
@ eExplodeFlag_INVERT_VGROUP
@ eExplodeFlag_PaSize
@ eExplodeFlag_Unborn
struct RemeshModifierData RemeshModifierData
struct BooleanModifierData BooleanModifierData
SubsurfModifierFlag
@ eSubsurfModifierFlag_SubsurfUv_DEPRECATED
@ eSubsurfModifierFlag_UseRecursiveSubdivision
@ eSubsurfModifierFlag_UseCrease
@ eSubsurfModifierFlag_Incremental
@ eSubsurfModifierFlag_DebugIncr
@ eSubsurfModifierFlag_ControlEdges
@ eSubsurfModifierFlag_UseCustomNormals
struct UVWarpModifierData UVWarpModifierData
struct MeshDeformModifierData MeshDeformModifierData
@ MOD_WEIGHTEDNORMAL_KEEP_SHARP
@ MOD_WEIGHTEDNORMAL_FACE_INFLUENCE
@ MOD_WEIGHTEDNORMAL_INVERT_VGROUP
struct CorrectiveSmoothDeltaCache CorrectiveSmoothDeltaCache
@ MOD_WVG_PROXIMITY_WEIGHTS_NORMALIZE
@ MOD_WVG_PROXIMITY_INVERT_VGROUP_MASK
@ MOD_WVG_PROXIMITY_GEOM_VERTS
@ MOD_WVG_PROXIMITY_INVERT_FALLOFF
@ MOD_WVG_PROXIMITY_GEOM_EDGES
@ MOD_WVG_PROXIMITY_GEOM_FACES
struct WarpModifierData WarpModifierData
@ MOD_DISP_INVERT_VGROUP
@ MOD_NORMALEDIT_MODE_RADIAL
@ MOD_NORMALEDIT_MODE_DIRECTIONAL
MeshToVolumeModifierResolutionMode
@ MESH_TO_VOLUME_RESOLUTION_MODE_VOXEL_SIZE
@ MESH_TO_VOLUME_RESOLUTION_MODE_VOXEL_AMOUNT
VolumeToMeshResolutionMode
@ VOLUME_TO_MESH_RESOLUTION_MODE_VOXEL_SIZE
@ VOLUME_TO_MESH_RESOLUTION_MODE_GRID
@ VOLUME_TO_MESH_RESOLUTION_MODE_VOXEL_AMOUNT
@ MOD_WARP_VOLUME_PRESERVE
@ MOD_WARP_INVERT_VGROUP
@ MOD_FLUID_TYPE_EFFEC
@ MOD_FLUID_TYPE_DOMAIN
@ MOD_FLUID_TYPE_FLOW
@ MOD_MESHCACHE_PLAY_CFEA
@ MOD_MESHCACHE_PLAY_EVAL
struct FluidsimModifierData FluidsimModifierData
struct WeightVGMixModifierData WeightVGMixModifierData
struct SurfaceModifierData SurfaceModifierData
@ MOD_DECIM_MODE_UNSUBDIV
@ MOD_DECIM_MODE_COLLAPSE
@ MOD_DECIM_MODE_DISSOLVE
@ MOD_EDGESPLIT_FROMANGLE
@ MOD_EDGESPLIT_FROMFLAG
struct MDefCell MDefCell
struct WireframeModifierData WireframeModifierData
HookModifierFalloff
@ eHook_Falloff_Curve
@ eHook_Falloff_Sharp
@ eHook_Falloff_Smooth
@ eHook_Falloff_Sphere
@ eHook_Falloff_Root
@ eHook_Falloff_None
@ eHook_Falloff_InvSquare
@ eHook_Falloff_Const
@ eHook_Falloff_Linear
BooleanModifierOp
@ eBooleanModifierOp_Intersect
@ eBooleanModifierOp_Union
@ eBooleanModifierOp_Difference
@ MOD_WELD_LOOSE_EDGES
@ MOD_WELD_INVERT_VGROUP
struct VolumeToMeshModifierData VolumeToMeshModifierData
@ MOD_TRIANGULATE_QUAD_SHORTEDGE
@ MOD_TRIANGULATE_QUAD_FIXED
@ MOD_TRIANGULATE_QUAD_LONGEDGE
@ MOD_TRIANGULATE_QUAD_BEAUTY
@ MOD_TRIANGULATE_QUAD_ALTERNATE
@ MOD_CURVE_INVERT_VGROUP
ParticleInstanceModifierSpace
@ eParticleInstanceSpace_World
@ eParticleInstanceSpace_Local
@ MOD_BEVEL_AFFECT_EDGES
@ MOD_BEVEL_AFFECT_VERTICES
struct EdgeSplitModifierData EdgeSplitModifierData
@ MOD_SOLIDIFY_NONMANIFOLD_OFFSET_MODE_EVEN
@ MOD_SOLIDIFY_NONMANIFOLD_OFFSET_MODE_FIXED
@ MOD_SOLIDIFY_NONMANIFOLD_OFFSET_MODE_CONSTRAINTS
@ MOD_ARR_MERGE
@ MOD_ARR_MERGEFINAL
@ MOD_MASK_MODE_ARM
@ MOD_MASK_MODE_VGROUP
@ MOD_BEVEL_MITER_PATCH
@ MOD_BEVEL_MITER_SHARP
@ MOD_BEVEL_MITER_ARC
struct SmokeModifierData SmokeModifierData
@ MOD_BEVEL_VMESH_ADJ
@ MOD_BEVEL_VMESH_CUTOFF
@ MOD_WEIGHTEDNORMAL_MODE_FACE
@ MOD_WEIGHTEDNORMAL_MODE_FACE_ANGLE
@ MOD_WEIGHTEDNORMAL_MODE_ANGLE
@ eBooleanModifierBMeshFlag_BMesh_NoDissolve
@ eBooleanModifierBMeshFlag_BMesh_Separate
@ eBooleanModifierBMeshFlag_BMesh_NoConnectRegions
@ MOD_SDEF_MODE_LOOPTRI
@ MOD_SDEF_MODE_CENTROID
@ MOD_SDEF_MODE_NGON
eSubsurfUVSmooth
@ SUBSURF_UV_SMOOTH_PRESERVE_CORNERS_AND_JUNCTIONS
@ SUBSURF_UV_SMOOTH_ALL
@ SUBSURF_UV_SMOOTH_PRESERVE_CORNERS
@ SUBSURF_UV_SMOOTH_NONE
@ SUBSURF_UV_SMOOTH_PRESERVE_BOUNDARIES
@ SUBSURF_UV_SMOOTH_PRESERVE_CORNERS_JUNCTIONS_AND_CONCAVE
@ MOD_WVG_MIX_ADD
@ MOD_WVG_MIX_SUB
@ MOD_WVG_MIX_MIN
@ MOD_WVG_MIX_DIF
@ MOD_WVG_MIX_SET
@ MOD_WVG_MIX_MAX
@ MOD_WVG_MIX_DIV
@ MOD_WVG_MIX_AVG
@ MOD_WVG_MIX_MUL
struct NodesModifierSettings NodesModifierSettings
@ MOD_DISP_DIR_RGB_XYZ
@ MOD_DISP_DIR_Z
@ MOD_DISP_DIR_Y
@ MOD_DISP_DIR_NOR
@ MOD_DISP_DIR_X
@ MOD_DISP_DIR_CLNOR
struct ArmatureModifierData ArmatureModifierData
struct DisplaceModifierData DisplaceModifierData
struct WaveModifierData WaveModifierData
#define DNA_DEPRECATED_ALLOW
Definition: action.c:16
SyclQueue void void size_t num_bytes void
unsigned int uint32_t
Definition: stdint.h:80
unsigned char uint8_t
Definition: stdint.h:78
struct Object * start_cap
struct Object * offset_ob
struct Object * curve_ob
struct Object * end_cap
struct CurveProfile * custom_profile
struct Object * object
struct Collection * collection
struct Object * object
struct ListBase ptcaches
struct ClothSolverResult * solver_result
struct ClothHairData * hairdata
struct Cloth * clothObject
struct PointCache * point_cache
struct ClothSimSettings * sim_parms
struct ClothCollSettings * coll_parms
struct BVHTree * bvhtree
CorrectiveSmoothDeltaCache delta_cache
struct Object * object
struct Object * map_object
struct DynamicPaintCanvasSettings * canvas
struct DynamicPaintBrushSettings * brush
struct FluidDomainSettings * domain
struct FluidEffectorSettings * effector
struct FluidFlowSettings * flow
struct FluidsimSettings * fss
struct CurveMapping * curfalloff
struct Object * object
struct Object * object
struct Object * ob_arm
void(* bindfunc)(struct Object *object, struct MeshDeformModifierData *mmd, struct Mesh *cagemesh, float *vertexcos, int verts_num, float cagemat[4][4])
MDefInfluence * bindinfluences
MDefInfluence * dyninfluences
struct CacheReader * reader
struct CacheFile * cache_file
struct Object * mirror_ob
struct ModifierData * next
struct ModifierData * prev
SessionUUID session_uuid
struct bNodeTree * node_group
struct NodesModifierSettings settings
struct IDProperty * properties
struct OceanCache * oceancache
struct ParticleSystem * psys
unsigned int verts_num
unsigned int * vert_inds
float * vert_weights
unsigned int binds_num
SDefBind * binds
unsigned int vertex_idx
struct Object * ob_axis
struct BVHTreeFromMesh * bvhtree
struct Object * projectors[10]
struct Object * object_dst
struct Object * object_src
struct Object * map_object
struct CurveMapping * curfalloff
struct Object * object_to
struct Object * object_from
struct Object * objectcenter
struct Object * map_object
struct CurveMapping * cmap_curve
struct Object * mask_tex_map_obj
struct CurveMapping * cmap_curve