tornavis/source/blender/makesdna/DNA_modifier_defaults.h

1086 lines
27 KiB
C

/* SPDX-FileCopyrightText: 2023 Blender Authors
*
* SPDX-License-Identifier: GPL-2.0-or-later */
/** \file
* \ingroup DNA
*/
#pragma once
/* clang-format off */
#define _DNA_DEFAULT_ArmatureModifierData \
{ \
.deformflag = ARM_DEF_VGROUP, \
.multi = 0.0f, \
.object = NULL, \
.defgrp_name = "", \
}
/* Default to 2 duplicates distributed along the x-axis by an offset of 1 object width. */
#define _DNA_DEFAULT_ArrayModifierData \
{ \
.start_cap = NULL, \
.end_cap = NULL, \
.curve_ob = NULL, \
.offset_ob = NULL, \
.offset = {1.0f, 0.0f, 0.0f}, \
.scale = {1.0f, 0.0f, 0.0f}, \
.length = 0.0f, \
.merge_dist = 0.01f, \
.fit_type = MOD_ARR_FIXEDCOUNT, \
.offset_type = MOD_ARR_OFF_RELATIVE, \
.flags = 0, \
.count = 2, \
.uv_offset = {0.0f, 0.0f}, \
}
#define _DNA_DEFAULT_BevelModifierData \
{ \
.value = 0.1f, \
.res = 1, \
.flags = 0, \
.val_flags = MOD_BEVEL_AMT_OFFSET, \
.profile_type = MOD_BEVEL_PROFILE_SUPERELLIPSE, \
.lim_flags = MOD_BEVEL_ANGLE, \
.e_flags = 0, \
.mat = -1, \
.edge_flags = 0, \
.face_str_mode = MOD_BEVEL_FACE_STRENGTH_NONE, \
.miter_inner = MOD_BEVEL_MITER_SHARP, \
.miter_outer = MOD_BEVEL_MITER_SHARP, \
.affect_type = MOD_BEVEL_AFFECT_EDGES, \
.profile = 0.5f, \
.bevel_angle = DEG2RADF(30.0f), \
.spread = 0.1f, \
.defgrp_name = "", \
}
#define _DNA_DEFAULT_BooleanModifierData \
{ \
.object = NULL, \
.collection = NULL, \
.double_threshold = 1e-6f, \
.operation = eBooleanModifierOp_Difference, \
.solver = eBooleanModifierSolver_Mesh_Arr, \
.flag = eBooleanModifierFlag_Object, \
.bm_flag = 0, \
}
#define _DNA_DEFAULT_BuildModifierData \
{ \
.start = 1.0f, \
.length = 100.0f, \
.flag = 0, \
.randomize = 0, \
.seed = 0, \
}
#define _DNA_DEFAULT_CastModifierData \
{ \
.object = NULL, \
.fac = 0.5f, \
.radius = 0.0f, \
.size = 0.0f, \
.defgrp_name = "", \
.flag = MOD_CAST_X | MOD_CAST_Y | MOD_CAST_Z | MOD_CAST_SIZE_FROM_RADIUS, \
.type = MOD_CAST_TYPE_SPHERE, \
}
#define _DNA_DEFAULT_ClothSimSettings \
{ \
.cache = NULL, \
.mingoal = 0.0f, \
.Cvi = 1.0f, \
.gravity = {0.0f, 0.0f, -9.81f}, \
.dt = 0.0f, \
.mass = 0.3f, \
.shear = 5.0f, \
.bending = 0.5f, \
.max_bend = 0.5f, \
.max_shear = 5.0f, \
.max_sewing = 0.0f, \
.avg_spring_len = 0.0f, \
.timescale = 1.0f, \
.time_scale = 1.0f, \
.maxgoal = 1.0f, \
.eff_force_scale = 1000.0f, \
.eff_wind_scale = 250.0f, \
.sim_time_old = 0.0f, \
.defgoal = 0.0f, \
.goalspring = 1.0f, \
.goalfrict = 0.0f, \
.velocity_smooth = 0.0f, \
.density_target = 0.0f, \
.density_strength = 0.0f, \
.collider_friction = 0.0f, \
.shrink_min = 0.0f, \
.shrink_max = 0.0f, \
.uniform_pressure_force = 0.0f, \
.target_volume = 0.0f, \
.pressure_factor = 1.0f, \
.fluid_density = 0.0f, \
.vgroup_pressure = 0, \
.bending_damping = 0.5f, \
.voxel_cell_size = 0.1f, \
.stepsPerFrame = 5, \
.flags = CLOTH_SIMSETTINGS_FLAG_INTERNAL_SPRINGS_NORMAL, \
.maxspringlen = 10, \
.solver_type = 0, \
.vgroup_bend = 0, \
.vgroup_mass = 0, \
.vgroup_struct = 0, \
.vgroup_shrink = 0, \
.shapekey_rest = 0, \
.presets = 2, \
.reset = 0, \
.effector_weights = NULL, \
.bending_model = CLOTH_BENDING_ANGULAR, \
.vgroup_shear = 0, \
.tension = 15.0f , \
.compression = 15.0f, \
.max_tension = 15.0f, \
.max_compression = 15.0f, \
.tension_damp = 5.0f, \
.compression_damp = 5.0f, \
.shear_damp = 5.0f, \
.internal_spring_max_length = 0.0f, \
.internal_spring_max_diversion = M_PI_4, \
.vgroup_intern = 0, \
.internal_tension = 15.0f, \
.internal_compression = 15.0f, \
.max_internal_tension = 15.0f, \
.max_internal_compression = 15.0f, \
}
#define _DNA_DEFAULT_ClothCollSettings \
{ \
.collision_list = NULL, \
.epsilon = 0.015f, \
.self_friction = 5.0f, \
.friction = 5.0f, \
.damping = 0.0f, \
.selfepsilon = 0.015f, \
.flags = CLOTH_COLLSETTINGS_FLAG_ENABLED, \
.loop_count = 2, \
.group = NULL, \
.vgroup_selfcol = 0, \
.vgroup_objcol = 0, \
.clamp = 0.0f, \
.self_clamp = 0.0f, \
}
#define _DNA_DEFAULT_ClothModifierData \
{ \
.clothObject = NULL, \
.sim_parms = NULL, \
.coll_parms = NULL, \
.point_cache = NULL, \
.ptcaches = {NULL, NULL}, \
.hairdata = NULL, \
.hair_grid_min = {0.0f, 0.0f, 0.0f}, \
.hair_grid_max = {0.0f, 0.0f, 0.0f}, \
.hair_grid_res = {0, 0, 0}, \
.hair_grid_cellsize = 0.0f, \
.solver_result = NULL, \
}
#define _DNA_DEFAULT_CollisionModifierData \
{ \
.x = NULL, \
.xnew = NULL, \
.xold = NULL, \
.current_xnew = NULL, \
.current_x = NULL, \
.current_v = NULL, \
.vert_tris = NULL, \
.mvert_num = 0, \
.tri_num = 0, \
.time_x = -1000.0f, \
.time_xnew = -1000.0f, \
.is_static = false, \
.bvhtree = NULL, \
}
#define _DNA_DEFAULT_CorrectiveSmoothModifierData \
{ \
.bind_coords = NULL, \
.bind_coords_num = 0, \
.lambda = 0.5f, \
.scale = 1.0f, \
.repeat = 5, \
.flag = 0, \
.smooth_type = MOD_CORRECTIVESMOOTH_SMOOTH_SIMPLE, \
.defgrp_name = "", \
}
#define _DNA_DEFAULT_CurveModifierData \
{ \
.object = NULL, \
.name = "", \
.defaxis = MOD_CURVE_POSX, \
.flag = 0, \
}
/* Defines are scattered across too many files, they need to be moved to DNA. */
#if 0
#define _DNA_DEFAULT_DataTransferModifierData \
{ \
.ob_source = NULL, \
.data_types = 0, \
.vmap_mode = MREMAP_MODE_VERT_NEAREST, \
.emap_mode = MREMAP_MODE_EDGE_NEAREST, \
.lmap_mode = MREMAP_MODE_LOOP_NEAREST_POLYNOR, \
.pmap_mode = MREMAP_MODE_POLY_NEAREST, \
.map_max_distance = 1.0f, \
.map_ray_radius = 0.0f, \
.islands_precision = 0.0f, \
.layers_select_src = {DT_LAYERS_ALL_SRC, DT_LAYERS_ALL_SRC, DT_LAYERS_ALL_SRC, DT_LAYERS_ALL_SRC}, \
.layers_select_dst = {DT_LAYERS_NAME_DST, DT_LAYERS_NAME_DST, DT_LAYERS_NAME_DST, DT_LAYERS_NAME_DST}, \
.mix_mod = CDT_MIX_TRANSFER, \
.mix_factor = 1.0f, \
.defgrp_name = "", \
.flags = MOD_DATATRANSFER_OBSRC_TRANSFORM, \
}
#endif
#define _DNA_DEFAULT_DecimateModifierData \
{ \
.percent = 1.0f, \
.iter = 0, \
.delimit = 0, \
.symmetry_axis = 0, \
.angle = DEG2RADF(5.0f), \
.defgrp_name = "", \
.defgrp_factor = 1.0f, \
.flag = 0, \
.mode = 0, \
.face_count = 0, \
}
#define _DNA_DEFAULT_DisplaceModifierData \
{ \
.texture = NULL, \
.map_object = NULL, \
.map_bone = "", \
.uvlayer_name = "", \
.uvlayer_tmp = 0, \
.texmapping = 0, \
.strength = 1.0f, \
.direction = MOD_DISP_DIR_NOR, \
.defgrp_name = "", \
.midlevel = 0.5f, \
.space = MOD_DISP_SPACE_LOCAL, \
.flag = 0, \
}
#define _DNA_DEFAULT_DynamicPaintModifierData \
{ \
.canvas = NULL, \
.brush = NULL, \
.type = MOD_DYNAMICPAINT_TYPE_CANVAS, \
}
/* Default to 30-degree split angle, sharpness from both angle & flag. */
#define _DNA_DEFAULT_EdgeSplitModifierData \
{ \
.split_angle = DEG2RADF(30.0f), \
.flags = MOD_EDGESPLIT_FROMANGLE | MOD_EDGESPLIT_FROMFLAG, \
}
#define _DNA_DEFAULT_ExplodeModifierData \
{ \
.facepa = NULL, \
.flag = eExplodeFlag_Unborn | eExplodeFlag_Alive | eExplodeFlag_Dead, \
.vgroup = 0, \
.protect = 0.0f, \
.uvname = "", \
}
/* Fluid modifier settings skipped for now. */
#define _DNA_DEFAULT_HookModifierData \
{ \
.subtarget = "", \
.flag = 0, \
.falloff_type = eHook_Falloff_Smooth, \
.parentinv = _DNA_DEFAULT_UNIT_M4, \
.cent = {0.0f, 0.0f, 0.0f}, \
.falloff = 0.0f, \
.curfalloff = NULL, \
.indexar = NULL, \
.indexar_num = 0, \
.force = 1.0f, \
.name = "", \
}
#define _DNA_DEFAULT_LaplacianDeformModifierData \
{ \
.anchor_grp_name = "", \
.verts_num = 0, \
.repeat = 1, \
.vertexco = NULL, \
.cache_system = NULL, \
.flag = 0, \
}
#define _DNA_DEFAULT_LaplacianSmoothModifierData \
{ \
.lambda = 0.01f, \
.lambda_border = 0.01f, \
.defgrp_name = "", \
.flag = MOD_LAPLACIANSMOOTH_X | MOD_LAPLACIANSMOOTH_Y | MOD_LAPLACIANSMOOTH_Z | \
MOD_LAPLACIANSMOOTH_PRESERVE_VOLUME | MOD_LAPLACIANSMOOTH_NORMALIZED, \
.repeat = 1, \
}
#define _DNA_DEFAULT_LatticeModifierData \
{ \
.object = NULL, \
.name = "", \
.strength = 1.0f, \
.flag = 0, \
}
#define _DNA_DEFAULT_MaskModifierData \
{ \
.ob_arm = NULL, \
.vgroup = "", \
.mode = 0, \
.flag = 0, \
.threshold = 0.0f, \
}
/* Y and Z forward and up axes, Blender default. */
#define _DNA_DEFAULT_MeshCacheModifierData \
{ \
.flag = 0, \
.type = MOD_MESHCACHE_TYPE_MDD, \
.time_mode = 0, \
.play_mode = 0, \
.forward_axis = 1, \
.up_axis = 2, \
.flip_axis = 0, \
.interp = MOD_MESHCACHE_INTERP_LINEAR, \
.factor = 1.0f, \
.deform_mode = 0.0f, \
.frame_start = 0.0f, \
.frame_scale = 1.0f, \
.eval_frame = 0.0f, \
.eval_time = 0.0f, \
.eval_factor = 0.0f, \
.filepath = "", \
}
#define _DNA_DEFAULT_MeshDeformModifierData \
{ \
.object = 0, \
.defgrp_name = "", \
.gridsize = 5, \
.flag = 0, \
.bindinfluences = NULL, \
.bindoffsets = NULL, \
.bindcagecos = NULL, \
.verts_num = 0, \
.cage_verts_num = 0, \
.dyngrid = NULL, \
.dyninfluences = NULL, \
.dynverts = NULL, \
.dyngridsize = 0, \
.influences_num = 0, \
.dyncellmin = {0.0f, 0.0f, 0.0f}, \
.dyncellwidth = 0.0f, \
.bindmat = _DNA_DEFAULT_UNIT_M4, \
.bindweights = NULL, \
.bindcos = NULL, \
.bindfunc = NULL, \
}
#define _DNA_DEFAULT_MeshSeqCacheModifierData \
{ \
.cache_file = NULL, \
.object_path = "", \
.read_flag = MOD_MESHSEQ_READ_VERT | MOD_MESHSEQ_READ_POLY | MOD_MESHSEQ_READ_UV | \
MOD_MESHSEQ_READ_COLOR | MOD_MESHSEQ_INTERPOLATE_VERTICES, \
.velocity_scale = 1.0f, \
.reader = NULL, \
.reader_object_path = "", \
}
#define _DNA_DEFAULT_MirrorModifierData \
{ \
.flag = MOD_MIR_AXIS_X | MOD_MIR_VGROUP, \
.tolerance = 0.001f, \
.bisect_threshold = 0.001f, \
.uv_offset = {0.0f, 0.0f}, \
.uv_offset_copy = {0.0f, 0.0f}, \
.mirror_ob = NULL, \
.use_correct_order_on_merge = true, \
}
#define _DNA_DEFAULT_MultiresModifierData \
{ \
.lvl = 0, \
.sculptlvl = 0, \
.renderlvl = 0, \
.totlvl = 0, \
.flags = eMultiresModifierFlag_UseCrease | eMultiresModifierFlag_ControlEdges, \
.uv_smooth = SUBSURF_UV_SMOOTH_PRESERVE_BOUNDARIES, \
.quality = 4, \
.boundary_smooth = SUBSURF_BOUNDARY_SMOOTH_ALL, \
}
#define _DNA_DEFAULT_NormalEditModifierData \
{ \
.defgrp_name = "", \
.target = NULL, \
.mode = MOD_NORMALEDIT_MODE_RADIAL, \
.flag = 0, \
.mix_mode = MOD_NORMALEDIT_MIX_COPY, \
.mix_factor = 1.0f, \
.mix_limit = M_PI, \
.offset = {0.0f, 0.0f, 0.0f}, \
}
/* Some fields are initialized in #init_data. */
#define _DNA_DEFAULT_OceanModifierData \
{ \
.ocean = NULL, \
.oceancache = NULL, \
.resolution = 7, \
.viewport_resolution = 7, \
.spatial_size = 50, \
.wind_velocity = 30.0f, \
.damp = 0.5f, \
.smallest_wave = 0.01f, \
.depth = 200.0f, \
.wave_alignment = 0.0f, \
.wave_direction = 0.0f, \
.wave_scale = 1.0f, \
.chop_amount = 1.0f, \
.foam_coverage = 0.0f, \
.time = 1.0f, \
.spectrum = MOD_OCEAN_SPECTRUM_PHILLIPS, \
.fetch_jonswap = 120.0f, \
.sharpen_peak_jonswap = 0.0f, \
.bakestart = 1, \
.bakeend = 250, \
.cachepath = "", \
.foamlayername = "", \
.spraylayername = "", \
.cached = 0, \
.geometry_mode = 0, \
.flag = 0, \
.repeat_x = 1, \
.repeat_y = 1, \
.seed = 0, \
.size = 1.0f, \
.foam_fade = 0.98f, \
}
#define _DNA_DEFAULT_ParticleInstanceModifierData \
{ \
.psys = 1, \
.flag = eParticleInstanceFlag_Parents | eParticleInstanceFlag_Unborn | \
eParticleInstanceFlag_Alive | eParticleInstanceFlag_Dead, \
.axis = 2, \
.space = eParticleInstanceSpace_World, \
.position = 1.0f, \
.random_position = 0.0f, \
.rotation = 0.0f, \
.random_rotation = 0.0f, \
.particle_offset = 0.0f, \
.particle_amount = 1.0f, \
.index_layer_name = "", \
.value_layer_name = "", \
}
#define _DNA_DEFAULT_ParticleSystemModifierData \
{ \
.psys = NULL, \
.mesh_final = NULL, \
.mesh_original = NULL, \
.totdmvert = 0, \
.totdmedge = 0, \
.totdmface = 0, \
.flag = 0, \
}
#define _DNA_DEFAULT_RemeshModifierData \
{ \
.threshold = 1.0f, \
.scale = 0.9f, \
.hermite_num = 1.0f, \
.depth = 4, \
.flag = MOD_REMESH_FLOOD_FILL, \
.mode = MOD_REMESH_VOXEL, \
.voxel_size = 0.1f, \
.adaptivity = 0.0f, \
}
#define _DNA_DEFAULT_ScrewModifierData \
{ \
.ob_axis = NULL, \
.steps = 16, \
.render_steps = 16, \
.iter = 1, \
.screw_ofs = 0.0f, \
.angle = 2.0f * M_PI, \
.merge_dist = 0.01f, \
.flag = MOD_SCREW_SMOOTH_SHADING, \
.axis = 2, \
}
/* Shape key modifier has no items. */
#define _DNA_DEFAULT_ShrinkwrapModifierData \
{ \
.target = NULL, \
.auxTarget = NULL, \
.vgroup_name = "", \
.keepDist = 0.0f, \
.shrinkType = MOD_SHRINKWRAP_NEAREST_SURFACE, \
.shrinkOpts = MOD_SHRINKWRAP_PROJECT_ALLOW_POS_DIR, \
.shrinkMode = 0, \
.projLimit = 0.0f, \
.projAxis = 0, \
.subsurfLevels = 0, \
}
#define _DNA_DEFAULT_SimpleDeformModifierData \
{ \
.origin = NULL, \
.vgroup_name = "", \
.factor = DEG2RADF(45.0f), \
.limit = {0.0f, 1.0f}, \
.mode = MOD_SIMPLEDEFORM_MODE_TWIST, \
.axis = 0, \
.deform_axis = 0, \
.flag = 0, \
}
#define _DNA_DEFAULT_NodesModifierData \
{ 0 }
#define _DNA_DEFAULT_SkinModifierData \
{ \
.branch_smoothing = 0.0f, \
.flag = 0, \
.symmetry_axes = MOD_SKIN_SYMM_X, \
}
#define _DNA_DEFAULT_SmoothModifierData \
{ \
.fac = 0.5f, \
.repeat = 1, \
.defgrp_name = "", \
.flag = MOD_SMOOTH_X | MOD_SMOOTH_Y | MOD_SMOOTH_Z, \
}
/* Softbody modifier skipped for now. */
#define _DNA_DEFAULT_SolidifyModifierData \
{ \
.defgrp_name = "", \
.shell_defgrp_name = "", \
.rim_defgrp_name = "", \
.offset = 0.01f, \
.offset_fac = -1.0f, \
.offset_fac_vg = 0.0f, \
.offset_clamp = 0.0f, \
.mode = MOD_SOLIDIFY_MODE_EXTRUDE, \
.nonmanifold_offset_mode = MOD_SOLIDIFY_NONMANIFOLD_OFFSET_MODE_CONSTRAINTS, \
.nonmanifold_boundary_mode = MOD_SOLIDIFY_NONMANIFOLD_BOUNDARY_MODE_NONE, \
.crease_inner = 0.0f, \
.crease_outer = 0.0f, \
.crease_rim = 0.0f, \
.flag = MOD_SOLIDIFY_RIM, \
.mat_ofs = 0, \
.mat_ofs_rim = 0, \
.merge_tolerance = 0.0001f, \
.bevel_convex = 0.0f, \
}
#define _DNA_DEFAULT_SubsurfModifierData \
{ \
.subdivType = 0, \
.levels = 1, \
.renderLevels = 2, \
.flags = eSubsurfModifierFlag_UseCrease | eSubsurfModifierFlag_ControlEdges, \
.uv_smooth = SUBSURF_UV_SMOOTH_PRESERVE_BOUNDARIES, \
.quality = 3, \
.boundary_smooth = SUBSURF_BOUNDARY_SMOOTH_ALL, \
.emCache = NULL, \
.mCache = NULL, \
}
#define _DNA_DEFAULT_SurfaceModifierData \
{ \
.runtime = {NULL}, /* Include to avoid empty an struct (for MSVC). */ \
}
#define _DNA_DEFAULT_SurfaceDeformModifierData \
{ \
.depsgraph = NULL, \
.target = NULL, \
.verts = NULL, \
.falloff = 4.0f, \
.mesh_verts_num = 0, \
.bind_verts_num = 0, \
.target_verts_num = 0, \
.target_polys_num = 0, \
.flags = 0, \
.mat = _DNA_DEFAULT_UNIT_M4, \
.strength = 1.0f, \
.defgrp_name = "", \
}
#define _DNA_DEFAULT_TriangulateModifierData \
{ \
.flag = 0, \
.quad_method = MOD_TRIANGULATE_QUAD_SHORTEDGE, \
.ngon_method = MOD_TRIANGULATE_NGON_BEAUTY, \
.min_vertices = 4, \
}
#define _DNA_DEFAULT_UVProjectModifierData \
{ \
.projectors = {NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL}, \
.projectors_num = 1, \
.aspectx = 1.0f, \
.aspecty = 1.0f, \
.scalex = 1.0f, \
.scaley = 1.0f, \
.uvlayer_name = "", \
.uvlayer_tmp = 0, \
}
#define _DNA_DEFAULT_UVWarpModifierData \
{ \
.axis_u = 0, \
.axis_v = 1, \
.flag = 0, \
.center = {0.5f, 0.5f}, \
.offset = {0.0f, 0.0f}, \
.scale = {1.0f, 1.0f}, \
.rotation = 0.0f, \
.object_src = NULL, \
.bone_src = "", \
.object_dst = NULL, \
.bone_dst = "", \
.vgroup_name = "", \
.uvlayer_name = "", \
}
#define _DNA_DEFAULT_WarpModifierData \
{ \
.texture = NULL, \
.map_object = NULL, \
.map_bone = "", \
.uvlayer_name = "", \
.uvlayer_tmp = 0, \
.texmapping = 0, \
.object_from = NULL, \
.object_to = NULL, \
.bone_from = "", \
.bone_to = "", \
.curfalloff = NULL, \
.defgrp_name = "", \
.strength = 1.0f, \
.falloff_radius = 1.0f, \
.flag = 0, \
.falloff_type = eWarp_Falloff_Smooth, \
}
#define _DNA_DEFAULT_WaveModifierData \
{ \
.texture = NULL, \
.map_object = NULL, \
.map_bone = "", \
.uvlayer_name = "", \
.uvlayer_tmp = 0, \
.texmapping = MOD_DISP_MAP_LOCAL, \
.objectcenter = NULL, \
.defgrp_name = "", \
.flag = MOD_WAVE_X | MOD_WAVE_Y | MOD_WAVE_CYCL | MOD_WAVE_NORM_X | MOD_WAVE_NORM_Y | MOD_WAVE_NORM_Z, \
.startx = 0.0f, \
.starty = 0.0f, \
.height = 0.5f, \
.width = 1.5f, \
.narrow = 1.5f, \
.speed = 0.25f, \
.damp = 10.0f, \
.falloff = 0.0f, \
.timeoffs = 0.0f, \
.lifetime = 0.0f, \
}
#define _DNA_DEFAULT_WeightedNormalModifierData \
{ \
.defgrp_name = "", \
.mode = MOD_WEIGHTEDNORMAL_MODE_FACE, \
.flag = 0, \
.weight = 50, \
.thresh = 0.01f, \
}
#define _DNA_DEFAULT_WeightVGEditModifierData \
{ \
.defgrp_name = "", \
.edit_flags = 0, \
.falloff_type = MOD_WVG_MAPPING_NONE, \
.default_weight = 0.0f, \
.cmap_curve = NULL, \
.add_threshold = 0.01f, \
.rem_threshold = 0.01f, \
.mask_constant = 1.0f, \
.mask_defgrp_name = "", \
.mask_tex_use_channel = MOD_WVG_MASK_TEX_USE_INT, \
.mask_texture = NULL, \
.mask_tex_map_obj = NULL, \
.mask_tex_map_bone = "", \
.mask_tex_mapping = MOD_DISP_MAP_LOCAL, \
.mask_tex_uvlayer_name = "", \
}
#define _DNA_DEFAULT_WeightVGMixModifierData \
{ \
.defgrp_name_a = "", \
.defgrp_name_b = "", \
.default_weight_a = 0.0f, \
.default_weight_b = 0.0f, \
.mix_mode = MOD_WVG_MIX_SET, \
.mix_set = MOD_WVG_SET_AND, \
.mask_constant = 1.0f, \
.mask_defgrp_name = "", \
.mask_tex_use_channel = MOD_WVG_MASK_TEX_USE_INT, \
.mask_texture = NULL, \
.mask_tex_map_obj = NULL, \
.mask_tex_map_bone = "", \
.mask_tex_mapping = MOD_DISP_MAP_LOCAL, \
.mask_tex_uvlayer_name = "", \
.flag = 0, \
}
#define _DNA_DEFAULT_WeightVGProximityModifierData \
{ \
.defgrp_name = "", \
.proximity_mode = MOD_WVG_PROXIMITY_OBJECT, \
.proximity_flags = MOD_WVG_PROXIMITY_GEOM_VERTS, \
.proximity_ob_target = NULL, \
.mask_constant = 1.0f, \
.mask_defgrp_name = "", \
.mask_tex_use_channel = MOD_WVG_MASK_TEX_USE_INT, \
.mask_texture = NULL, \
.mask_tex_map_obj = NULL, \
.mask_tex_map_bone = "", \
.mask_tex_mapping = MOD_DISP_MAP_LOCAL, \
.mask_tex_uvlayer_name = "", \
.min_dist = 0.0f, \
.max_dist = 1.0f, \
.falloff_type = MOD_WVG_MAPPING_NONE, \
}
#define _DNA_DEFAULT_WeldModifierData \
{ \
.merge_dist = 0.001f, \
.mode = MOD_WELD_MODE_ALL, \
.defgrp_name = "", \
}
#define _DNA_DEFAULT_WireframeModifierData \
{ \
.defgrp_name = "", \
.offset = 0.02f, \
.offset_fac = 0.0f, \
.offset_fac_vg = 0.0f, \
.crease_weight = 1.0f, \
.flag = MOD_WIREFRAME_REPLACE | MOD_WIREFRAME_OFS_EVEN, \
.mat_ofs = 0, \
}
#define _DNA_DEFAULT_GreasePencilOpacityModifierData \
{ \
.color_mode = MOD_GREASE_PENCIL_COLOR_BOTH, \
.color_factor = 1.0f, \
.hardness_factor = 1.0f, \
}
#define _DNA_DEFAULT_GreasePencilSubdivModifierData \
{ \
.level = 1, \
}
#define _DNA_DEFAULT_GreasePencilColorModifierData \
{ \
.color_mode = MOD_GREASE_PENCIL_COLOR_BOTH, \
.hsv = {0.5f, 1.0f, 1.0f}, \
}
#define _DNA_DEFAULT_GreasePencilTintModifierData \
{ \
.color_mode = MOD_GREASE_PENCIL_COLOR_BOTH, \
.tint_mode = MOD_GREASE_PENCIL_TINT_UNIFORM, \
.factor = 0.5f, \
.radius = 1.0f, \
.color = {1.0f, 1.0f, 1.0f}, \
}
#define _DNA_DEFAULT_GreasePencilSmoothModifierData \
{ \
.flag = MOD_GREASE_PENCIL_SMOOTH_MOD_LOCATION, \
.factor = 1.0f, \
.step = 1, \
}
#define _DNA_DEFAULT_GreasePencilOffsetModifierData \
{ \
.flag = 0, \
.offset_mode = MOD_GREASE_PENCIL_OFFSET_RANDOM, \
.loc = {0.0f, 0.0f, 0.0f}, \
.rot = {0.0f, 0.0f, 0.0f}, \
.scale = {0.0f, 0.0f, 0.0f}, \
.stroke_step = 1, \
.stroke_start_offset = 0, \
}
#define _DNA_DEFAULT_GreasePencilNoiseModifierData \
{ \
.flag = GP_NOISE_FULL_STROKE | GP_NOISE_USE_RANDOM, \
.factor = 0.5f, \
.factor_strength = 0.0f, \
.factor_thickness = 0.0f, \
.factor_uvs = 0.0f, \
.noise_scale = 0.0f, \
.noise_offset = 0.0f, \
.step = 4, \
.seed = 1, \
}
#define _DNA_DEFAULT_GreasePencilMirrorModifierData \
{ \
.flag = MOD_GREASE_PENCIL_MIRROR_AXIS_X, \
}
#define _DNA_DEFAULT_GreasePencilThickModifierData \
{ \
.flag = 0, \
.thickness_fac = 1.0f, \
.thickness = 0.02, \
}
#define _DNA_DEFAULT_GreasePencilLatticeModifierData \
{ \
.object = NULL, \
.strength = 1.0f, \
}
#define _DNA_DEFAULT_GreasePencilDashModifierData \
{ \
.dash_offset = 0, \
.segments_array = NULL, \
.segments_num = 0, \
.segment_active_index = 0, \
}
#define _DNA_DEFAULT_GreasePencilDashModifierSegment \
{ \
.name = "Segment", \
.dash = 2, \
.gap = 1, \
.radius = 1.0f, \
.opacity = 1.0f, \
.mat_nr = -1, \
}
#define _DNA_DEFAULT_GreasePencilMultiModifierData \
{ \
.flag = 0, \
.duplications = 3, \
.distance = 0.1f, \
.offset = 0.0f, \
.fading_center = 0.5f, \
.fading_thickness = 0.5f, \
.fading_opacity = 0.5f, \
}
#define _DNA_DEFAULT_GreasePencilLengthModifierData \
{ \
.start_fac = 0.1f,\
.end_fac = 0.1f,\
.overshoot_fac = 0.1f,\
.flag = GP_LENGTH_USE_CURVATURE,\
.point_density = 30.0f,\
.segment_influence = 0.0f,\
.max_angle = DEG2RAD(170.0f),\
.rand_start_fac = 0.0f,\
.rand_end_fac = 0.0f,\
.rand_offset = 0.0f,\
.seed = 0,\
.step = 4,\
}
#define _DNA_DEFAULT_GreasePencilWeightAngleModifierData \
{ \
.flag = 0, \
.axis = 1, \
}
#define _DNA_DEFAULT_GreasePencilArrayModifierData \
{ \
.object = NULL, \
.count = 2, \
.flag = GP_ARRAY_USE_RELATIVE, \
.offset = {0.0f, 0.0f, 0.0f}, \
.shift = {1.0f, 0.0f, 0.0f}, \
.rnd_offset = {0.0f, 0.0f, 0.0f}, \
.rnd_rot = {0.0f, 0.0f, 0.0f}, \
.rnd_scale = {0.0f, 0.0f, 0.0f}, \
.seed = 1, \
.mat_rpl = 0, \
}
#define _DNA_DEFAULT_GreasePencilWeightProximityModifierData \
{ \
.target_vgname = "", \
.flag = 0, \
.dist_start = 0.0f, \
.dist_end = 20.0f, \
}
#define _DNA_DEFAULT_GreasePencilHookModifierData \
{ \
.object = NULL, \
.subtarget = "", \
.flag = 0, \
.falloff_type = MOD_GREASE_PENCIL_HOOK_Falloff_Smooth, \
.parentinv = _DNA_DEFAULT_UNIT_M4, \
.cent = {0.0f, 0.0f, 0.0f}, \
.falloff = 0.0f, \
.force = 0.5f, \
}
#define _DNA_DEFAULT_GreasePencilLineartModifierData \
{ \
.edge_types = MOD_LINEART_EDGE_FLAG_INIT_TYPE, \
.thickness = 25, \
.opacity = 1.0f, \
.crease_threshold = DEG2RAD(140.0f), \
.calculation_flags = MOD_LINEART_ALLOW_DUPLI_OBJECTS | MOD_LINEART_ALLOW_CLIPPING_BOUNDARIES | \
MOD_LINEART_USE_CREASE_ON_SHARP_EDGES | MOD_LINEART_FILTER_FACE_MARK_KEEP_CONTOUR | \
MOD_LINEART_MATCH_OUTPUT_VGROUP, \
/* Do not split by default, this is for better chaining quality. */ \
.angle_splitting_threshold = 0.0f, \
.chaining_image_threshold = 0.001f, \
.stroke_depth_offset = 0.05,\
.chain_smooth_tolerance = 0.0f,\
.overscan = 0.1f,\
.shadow_camera_near = 0.1f, \
.shadow_camera_far = 200.0f, \
.shadow_camera_size = 200.0f, \
}
#define _DNA_DEFAULT_GreasePencilArmatureModifierData \
{ \
.deformflag = ARM_DEF_VGROUP, \
.object = NULL, \
}
#define _DNA_DEFAULT_GreasePencilTimeModifierData \
{ \
.flag = MOD_GREASE_PENCIL_TIME_KEEP_LOOP, \
.offset = 1, \
.frame_scale = 1.0f, \
.mode = 0, \
.sfra = 1, \
.efra = 250, \
.segments_array = NULL, \
.segments_num = 1, \
.segment_active_index = 0, \
}
#define _DNA_DEFAULT_GreasePencilTimeModifierSegment \
{ \
.name = "Segment", \
.segment_start = 1, \
.segment_end = 2, \
.segment_mode = 0, \
.segment_repeat = 1, \
}
#define _DNA_DEFAULT_GreasePencilEnvelopeModifierData \
{ \
.spread = 10, \
.mode = MOD_GREASE_PENCIL_ENVELOPE_SEGMENTS, \
.mat_nr = -1, \
.thickness = 1.0f, \
.strength = 1.0f, \
.skip = 0, \
}
#define _DNA_DEFAULT_GreasePencilOutlineModifierData \
{ \
.flag = MOD_GREASE_PENCIL_OUTLINE_KEEP_SHAPE, \
.thickness = 1, \
.sample_length = 0.0f, \
.subdiv = 3, \
.outline_material = NULL, \
}
#define _DNA_DEFAULT_GreasePencilShrinkwrapModifierData \
{ \
.target = NULL, \
.aux_target = NULL, \
.keep_dist = 0.05f, \
.shrink_type = MOD_SHRINKWRAP_NEAREST_SURFACE, \
.shrink_opts = MOD_SHRINKWRAP_PROJECT_ALLOW_POS_DIR, \
.shrink_mode = MOD_SHRINKWRAP_ON_SURFACE, \
.proj_limit = 0.0f, \
.proj_axis = MOD_SHRINKWRAP_PROJECT_OVER_NORMAL, \
.subsurf_levels = 0, \
.smooth_factor = 0.05f, \
.smooth_step = 1, \
}
/* Here we deliberately set effective range to the half the default
* frame-range to have an immediate effect to suggest use-cases. */
#define _DNA_DEFAULT_GreasePencilBuildModifierData \
{ \
.start_frame = 1, \
.end_frame = 125, \
.start_delay = 0.0f, \
.length = 100.0f, \
.flag = 0, \
.mode = 0, \
.transition = 0, \
.time_alignment = 0, \
.time_mode = 0, \
.speed_fac = 1.2f, \
.speed_maxgap = 0.5f, \
.percentage_fac = 0.0f, \
}
#define _DNA_DEFAULT_GreasePencilSimplifyModifierData \
{ \
.factor = 0.0f, \
.mode = MOD_GREASE_PENCIL_SIMPLIFY_FIXED, \
.step = 1, \
.length = 0.1f, \
.distance = 0.1f, \
}
#define _DNA_DEFAULT_GreasePencilTextureModifierData \
{ \
.uv_offset = 0.0f, \
.uv_scale = 1.0f, \
.fill_rotation = 0.0f, \
.fill_offset = {0.0f, 0.0f}, \
.fill_scale = 1.0f, \
.fit_method = GP_TEX_CONSTANT_LENGTH, \
.mode = 0, \
}
/* clang-format off */