12 #define _DNA_DEFAULT_ArmatureModifierData \
14 .deformflag = ARM_DEF_VGROUP, \
21 #define _DNA_DEFAULT_ArrayModifierData \
27 .offset = {1.0f, 0.0f, 0.0f}, \
28 .scale = {1.0f, 0.0f, 0.0f}, \
30 .merge_dist = 0.01f, \
31 .fit_type = MOD_ARR_FIXEDCOUNT, \
32 .offset_type = MOD_ARR_OFF_RELATIVE, \
35 .uv_offset = {0.0f, 0.0f}, \
38 #define _DNA_DEFAULT_BevelModifierData \
43 .val_flags = MOD_BEVEL_AMT_OFFSET, \
44 .profile_type = MOD_BEVEL_PROFILE_SUPERELLIPSE, \
45 .lim_flags = MOD_BEVEL_ANGLE, \
49 .face_str_mode = MOD_BEVEL_FACE_STRENGTH_NONE, \
50 .miter_inner = MOD_BEVEL_MITER_SHARP, \
51 .miter_outer = MOD_BEVEL_MITER_SHARP, \
52 .affect_type = MOD_BEVEL_AFFECT_EDGES, \
54 .bevel_angle = DEG2RADF(30.0f), \
59 #define _DNA_DEFAULT_BooleanModifierData \
63 .double_threshold = 1e-6f, \
64 .operation = eBooleanModifierOp_Difference, \
65 .solver = eBooleanModifierSolver_Exact, \
66 .flag = eBooleanModifierFlag_Object, \
70 #define _DNA_DEFAULT_BuildModifierData \
79 #define _DNA_DEFAULT_CastModifierData \
86 .flag = MOD_CAST_X | MOD_CAST_Y | MOD_CAST_Z | MOD_CAST_SIZE_FROM_RADIUS, \
87 .type = MOD_CAST_TYPE_SPHERE, \
90 #define _DNA_DEFAULT_ClothSimSettings \
95 .gravity = {0.0f, 0.0f, -9.81f}, \
102 .max_sewing = 0.0f, \
103 .avg_spring_len = 0.0f, \
105 .time_scale = 1.0f, \
107 .eff_force_scale = 1000.0f, \
108 .eff_wind_scale = 250.0f, \
109 .sim_time_old = 0.0f, \
111 .goalspring = 1.0f, \
113 .velocity_smooth = 0.0f, \
114 .density_target = 0.0f, \
115 .density_strength = 0.0f, \
116 .collider_friction = 0.0f, \
117 .shrink_min = 0.0f, \
118 .shrink_max = 0.0f, \
119 .uniform_pressure_force = 0.0f, \
120 .target_volume = 0.0f, \
121 .pressure_factor = 1.0f, \
122 .fluid_density = 0.0f, \
123 .vgroup_pressure = 0, \
124 .bending_damping = 0.5f, \
125 .voxel_cell_size = 0.1f, \
126 .stepsPerFrame = 5, \
127 .flags = CLOTH_SIMSETTINGS_FLAG_INTERNAL_SPRINGS_NORMAL, \
128 .maxspringlen = 10, \
132 .vgroup_struct = 0, \
133 .vgroup_shrink = 0, \
134 .shapekey_rest = 0, \
137 .effector_weights = NULL, \
138 .bending_model = CLOTH_BENDING_ANGULAR, \
141 .compression = 15.0f, \
142 .max_tension = 15.0f, \
143 .max_compression = 15.0f, \
144 .tension_damp = 5.0f, \
145 .compression_damp = 5.0f, \
146 .shear_damp = 5.0f, \
147 .internal_spring_max_length = 0.0f, \
148 .internal_spring_max_diversion = M_PI_4, \
149 .vgroup_intern = 0, \
150 .internal_tension = 15.0f, \
151 .internal_compression = 15.0f, \
152 .max_internal_tension = 15.0f, \
153 .max_internal_compression = 15.0f, \
156 #define _DNA_DEFAULT_ClothCollSettings \
158 .collision_list = NULL, \
160 .self_friction = 5.0f, \
163 .selfepsilon = 0.015f, \
164 .flags = CLOTH_COLLSETTINGS_FLAG_ENABLED, \
167 .vgroup_selfcol = 0, \
168 .vgroup_objcol = 0, \
170 .self_clamp = 0.0f, \
173 #define _DNA_DEFAULT_ClothModifierData \
175 .clothObject = NULL, \
177 .coll_parms = NULL, \
178 .point_cache = NULL, \
179 .ptcaches = {NULL, NULL}, \
181 .hair_grid_min = {0.0f, 0.0f, 0.0f}, \
182 .hair_grid_max = {0.0f, 0.0f, 0.0f}, \
183 .hair_grid_res = {0, 0, 0}, \
184 .hair_grid_cellsize = 0.0f, \
185 .solver_result = NULL, \
188 #define _DNA_DEFAULT_CollisionModifierData \
193 .current_xnew = NULL, \
199 .time_x = -1000.0f, \
200 .time_xnew = -1000.0f, \
201 .is_static = false, \
205 #define _DNA_DEFAULT_CorrectiveSmoothModifierData \
207 .bind_coords = NULL, \
208 .bind_coords_num = 0, \
213 .smooth_type = MOD_CORRECTIVESMOOTH_SMOOTH_SIMPLE, \
217 #define _DNA_DEFAULT_CurveModifierData \
221 .defaxis = MOD_CURVE_POSX, \
227 #define _DNA_DEFAULT_DataTransferModifierData \
231 .vmap_mode = MREMAP_MODE_VERT_NEAREST, \
232 .emap_mode = MREMAP_MODE_EDGE_NEAREST, \
233 .lmap_mode = MREMAP_MODE_LOOP_NEAREST_POLYNOR, \
234 .pmap_mode = MREMAP_MODE_POLY_NEAREST, \
235 .map_max_distance = 1.0f, \
236 .map_ray_radius = 0.0f, \
237 .islands_precision = 0.0f, \
238 .layers_select_src = {DT_LAYERS_ALL_SRC, DT_LAYERS_ALL_SRC, DT_LAYERS_ALL_SRC, DT_LAYERS_ALL_SRC}, \
239 .layers_select_dst = {DT_LAYERS_NAME_DST, DT_LAYERS_NAME_DST, DT_LAYERS_NAME_DST, DT_LAYERS_NAME_DST}, \
240 .mix_mod = CDT_MIX_TRANSFER, \
241 .mix_factor = 1.0f, \
243 .flags = MOD_DATATRANSFER_OBSRC_TRANSFORM, \
247 #define _DNA_DEFAULT_DecimateModifierData \
252 .symmetry_axis = 0, \
253 .angle = DEG2RADF(5.0f), \
255 .defgrp_factor = 1.0f, \
261 #define _DNA_DEFAULT_DisplaceModifierData \
264 .map_object = NULL, \
266 .uvlayer_name = "", \
270 .direction = MOD_DISP_DIR_NOR, \
273 .space = MOD_DISP_SPACE_LOCAL, \
277 #define _DNA_DEFAULT_DynamicPaintModifierData \
281 .type = MOD_DYNAMICPAINT_TYPE_CANVAS, \
285 #define _DNA_DEFAULT_EdgeSplitModifierData \
287 .split_angle = DEG2RADF(30.0f), \
288 .flags = MOD_EDGESPLIT_FROMANGLE | MOD_EDGESPLIT_FROMFLAG, \
291 #define _DNA_DEFAULT_ExplodeModifierData \
294 .flag = eExplodeFlag_Unborn | eExplodeFlag_Alive | eExplodeFlag_Dead, \
302 #define _DNA_DEFAULT_HookModifierData \
306 .falloff_type = eHook_Falloff_Smooth, \
307 .parentinv = _DNA_DEFAULT_UNIT_M4, \
308 .cent = {0.0f, 0.0f, 0.0f}, \
310 .curfalloff = NULL, \
317 #define _DNA_DEFAULT_LaplacianDeformModifierData \
319 .anchor_grp_name = "", \
323 .cache_system = NULL, \
327 #define _DNA_DEFAULT_LaplacianSmoothModifierData \
330 .lambda_border = 0.01f, \
332 .flag = MOD_LAPLACIANSMOOTH_X | MOD_LAPLACIANSMOOTH_Y | MOD_LAPLACIANSMOOTH_Z | \
333 MOD_LAPLACIANSMOOTH_PRESERVE_VOLUME | MOD_LAPLACIANSMOOTH_NORMALIZED, \
337 #define _DNA_DEFAULT_LatticeModifierData \
345 #define _DNA_DEFAULT_MaskModifierData \
355 #define _DNA_DEFAULT_MeshCacheModifierData \
358 .type = MOD_MESHCACHE_TYPE_MDD, \
364 .interp = MOD_MESHCACHE_INTERP_LINEAR, \
366 .deform_mode = 0.0f, \
367 .frame_start = 0.0f, \
368 .frame_scale = 1.0f, \
369 .eval_frame = 0.0f, \
371 .eval_factor = 0.0f, \
375 #define _DNA_DEFAULT_MeshDeformModifierData \
381 .bindinfluences = NULL, \
382 .bindoffsets = NULL, \
383 .bindcagecos = NULL, \
385 .cage_verts_num = 0, \
387 .dyninfluences = NULL, \
390 .influences_num = 0, \
391 .dyncellmin = {0.0f, 0.0f, 0.0f}, \
392 .dyncellwidth = 0.0f, \
393 .bindmat = _DNA_DEFAULT_UNIT_M4, \
394 .bindweights = NULL, \
399 #define _DNA_DEFAULT_MeshSeqCacheModifierData \
401 .cache_file = NULL, \
403 .read_flag = MOD_MESHSEQ_READ_VERT | MOD_MESHSEQ_READ_POLY | MOD_MESHSEQ_READ_UV | \
404 MOD_MESHSEQ_READ_COLOR | MOD_MESHSEQ_INTERPOLATE_VERTICES, \
405 .velocity_scale = 1.0f, \
407 .reader_object_path = "", \
410 #define _DNA_DEFAULT_MirrorModifierData \
412 .flag = MOD_MIR_AXIS_X | MOD_MIR_VGROUP, \
413 .tolerance = 0.001f, \
414 .bisect_threshold = 0.001f, \
415 .uv_offset = {0.0f, 0.0f}, \
416 .uv_offset_copy = {0.0f, 0.0f}, \
418 .use_correct_order_on_merge = true, \
421 #define _DNA_DEFAULT_MultiresModifierData \
427 .flags = eMultiresModifierFlag_UseCrease | eMultiresModifierFlag_ControlEdges, \
428 .uv_smooth = SUBSURF_UV_SMOOTH_PRESERVE_BOUNDARIES, \
430 .boundary_smooth = SUBSURF_BOUNDARY_SMOOTH_ALL, \
433 #define _DNA_DEFAULT_NormalEditModifierData \
437 .mode = MOD_NORMALEDIT_MODE_RADIAL, \
439 .mix_mode = MOD_NORMALEDIT_MIX_COPY, \
440 .mix_factor = 1.0f, \
442 .offset = {0.0f, 0.0f, 0.0f}, \
446 #define _DNA_DEFAULT_OceanModifierData \
449 .oceancache = NULL, \
451 .viewport_resolution = 7, \
452 .spatial_size = 50, \
453 .wind_velocity = 30.0f, \
455 .smallest_wave = 0.01f, \
457 .wave_alignment = 0.0f, \
458 .wave_direction = 0.0f, \
459 .wave_scale = 1.0f, \
460 .chop_amount = 1.0f, \
461 .foam_coverage = 0.0f, \
463 .spectrum = MOD_OCEAN_SPECTRUM_PHILLIPS, \
464 .fetch_jonswap = 120.0f, \
465 .sharpen_peak_jonswap = 0.0f, \
469 .foamlayername = "", \
470 .spraylayername = "", \
472 .geometry_mode = 0, \
478 .foam_fade = 0.98f, \
481 #define _DNA_DEFAULT_ParticleInstanceModifierData \
484 .flag = eParticleInstanceFlag_Parents | eParticleInstanceFlag_Unborn | \
485 eParticleInstanceFlag_Alive | eParticleInstanceFlag_Dead, \
487 .space = eParticleInstanceSpace_World, \
489 .random_position = 0.0f, \
491 .random_rotation = 0.0f, \
492 .particle_offset = 0.0f, \
493 .particle_amount = 1.0f, \
494 .index_layer_name = "", \
495 .value_layer_name = "", \
498 #define _DNA_DEFAULT_ParticleSystemModifierData \
501 .mesh_final = NULL, \
502 .mesh_original = NULL, \
509 #define _DNA_DEFAULT_RemeshModifierData \
513 .hermite_num = 1.0f, \
515 .flag = MOD_REMESH_FLOOD_FILL, \
516 .mode = MOD_REMESH_VOXEL, \
517 .voxel_size = 0.1f, \
518 .adaptivity = 0.0f, \
521 #define _DNA_DEFAULT_ScrewModifierData \
525 .render_steps = 16, \
528 .angle = 2.0f * M_PI, \
529 .merge_dist = 0.01f, \
530 .flag = MOD_SCREW_SMOOTH_SHADING, \
536 #define _DNA_DEFAULT_ShrinkwrapModifierData \
542 .shrinkType = MOD_SHRINKWRAP_NEAREST_SURFACE, \
543 .shrinkOpts = MOD_SHRINKWRAP_PROJECT_ALLOW_POS_DIR, \
547 .subsurfLevels = 0, \
550 #define _DNA_DEFAULT_SimpleDeformModifierData \
554 .factor = DEG2RADF(45.0f), \
555 .limit = {0.0f, 1.0f}, \
556 .mode = MOD_SIMPLEDEFORM_MODE_TWIST, \
562 #define _DNA_DEFAULT_NodesModifierData \
565 #define _DNA_DEFAULT_SkinModifierData \
567 .branch_smoothing = 0.0f, \
569 .symmetry_axes = MOD_SKIN_SYMM_X, \
572 #define _DNA_DEFAULT_SmoothModifierData \
577 .flag = MOD_SMOOTH_X | MOD_SMOOTH_Y | MOD_SMOOTH_Z, \
582 #define _DNA_DEFAULT_SolidifyModifierData \
585 .shell_defgrp_name = "", \
586 .rim_defgrp_name = "", \
588 .offset_fac = -1.0f, \
589 .offset_fac_vg = 0.0f, \
590 .offset_clamp = 0.0f, \
591 .mode = MOD_SOLIDIFY_MODE_EXTRUDE, \
592 .nonmanifold_offset_mode = MOD_SOLIDIFY_NONMANIFOLD_OFFSET_MODE_CONSTRAINTS, \
593 .nonmanifold_boundary_mode = MOD_SOLIDIFY_NONMANIFOLD_BOUNDARY_MODE_NONE, \
594 .crease_inner = 0.0f, \
595 .crease_outer = 0.0f, \
596 .crease_rim = 0.0f, \
597 .flag = MOD_SOLIDIFY_RIM, \
600 .merge_tolerance = 0.0001f, \
601 .bevel_convex = 0.0f, \
604 #define _DNA_DEFAULT_SubsurfModifierData \
609 .flags = eSubsurfModifierFlag_UseCrease | eSubsurfModifierFlag_ControlEdges, \
610 .uv_smooth = SUBSURF_UV_SMOOTH_PRESERVE_BOUNDARIES, \
612 .boundary_smooth = SUBSURF_BOUNDARY_SMOOTH_ALL, \
617 #define _DNA_DEFAULT_SurfaceModifierData \
627 #define _DNA_DEFAULT_SurfaceDeformModifierData \
633 .mesh_verts_num = 0, \
634 .bind_verts_num = 0, \
635 .target_verts_num = 0, \
636 .target_polys_num = 0, \
638 .mat = _DNA_DEFAULT_UNIT_M4, \
643 #define _DNA_DEFAULT_TriangulateModifierData \
646 .quad_method = MOD_TRIANGULATE_QUAD_SHORTEDGE, \
647 .ngon_method = MOD_TRIANGULATE_NGON_BEAUTY, \
651 #define _DNA_DEFAULT_UVProjectModifierData \
653 .projectors = {NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL}, \
654 .projectors_num = 1, \
659 .uvlayer_name = "", \
663 #define _DNA_DEFAULT_UVWarpModifierData \
668 .center = {0.5f, 0.5f}, \
669 .offset = {0.0f, 0.0f}, \
670 .scale = {1.0f, 1.0f}, \
672 .object_src = NULL, \
674 .object_dst = NULL, \
677 .uvlayer_name = "", \
680 #define _DNA_DEFAULT_WarpModifierData \
683 .map_object = NULL, \
685 .uvlayer_name = "", \
688 .object_from = NULL, \
692 .curfalloff = NULL, \
695 .falloff_radius = 1.0f, \
697 .falloff_type = eWarp_Falloff_Smooth, \
700 #define _DNA_DEFAULT_WaveModifierData \
703 .map_object = NULL, \
705 .uvlayer_name = "", \
707 .texmapping = MOD_DISP_MAP_LOCAL, \
708 .objectcenter = NULL, \
710 .flag = MOD_WAVE_X | MOD_WAVE_Y | MOD_WAVE_CYCL | MOD_WAVE_NORM_X | MOD_WAVE_NORM_Y | MOD_WAVE_NORM_Z, \
723 #define _DNA_DEFAULT_WeightedNormalModifierData \
726 .mode = MOD_WEIGHTEDNORMAL_MODE_FACE, \
732 #define _DNA_DEFAULT_WeightVGEditModifierData \
736 .falloff_type = MOD_WVG_MAPPING_NONE, \
737 .default_weight = 0.0f, \
738 .cmap_curve = NULL, \
739 .add_threshold = 0.01f, \
740 .rem_threshold = 0.01f, \
741 .mask_constant = 1.0f, \
742 .mask_defgrp_name = "", \
743 .mask_tex_use_channel = MOD_WVG_MASK_TEX_USE_INT, \
744 .mask_texture = NULL, \
745 .mask_tex_map_obj = NULL, \
746 .mask_tex_map_bone = "", \
747 .mask_tex_mapping = MOD_DISP_MAP_LOCAL, \
748 .mask_tex_uvlayer_name = "", \
751 #define _DNA_DEFAULT_WeightVGMixModifierData \
753 .defgrp_name_a = "", \
754 .defgrp_name_b = "", \
755 .default_weight_a = 0.0f, \
756 .default_weight_b = 0.0f, \
757 .mix_mode = MOD_WVG_MIX_SET, \
758 .mix_set = MOD_WVG_SET_AND, \
759 .mask_constant = 1.0f, \
760 .mask_defgrp_name = "", \
761 .mask_tex_use_channel = MOD_WVG_MASK_TEX_USE_INT, \
762 .mask_texture = NULL, \
763 .mask_tex_map_obj = NULL, \
764 .mask_tex_map_bone = "", \
765 .mask_tex_mapping = MOD_DISP_MAP_LOCAL, \
766 .mask_tex_uvlayer_name = "", \
770 #define _DNA_DEFAULT_WeightVGProximityModifierData \
773 .proximity_mode = MOD_WVG_PROXIMITY_OBJECT, \
774 .proximity_flags = MOD_WVG_PROXIMITY_GEOM_VERTS, \
775 .proximity_ob_target = NULL, \
776 .mask_constant = 1.0f, \
777 .mask_defgrp_name = "", \
778 .mask_tex_use_channel = MOD_WVG_MASK_TEX_USE_INT, \
779 .mask_texture = NULL, \
780 .mask_tex_map_obj = NULL, \
781 .mask_tex_map_bone = "", \
782 .mask_tex_mapping = MOD_DISP_MAP_LOCAL, \
783 .mask_tex_uvlayer_name = "", \
786 .falloff_type = MOD_WVG_MAPPING_NONE, \
789 #define _DNA_DEFAULT_WeldModifierData \
791 .merge_dist = 0.001f, \
792 .mode = MOD_WELD_MODE_ALL, \
796 #define _DNA_DEFAULT_WireframeModifierData \
800 .offset_fac = 0.0f, \
801 .offset_fac_vg = 0.0f, \
802 .crease_weight = 1.0f, \
803 .flag = MOD_WIREFRAME_REPLACE | MOD_WIREFRAME_OFS_EVEN, \