385 lines
8.9 KiB
C
385 lines
8.9 KiB
C
/*
|
|
* This program is free software; you can redistribute it and/or
|
|
* modify it under the terms of the GNU General Public License
|
|
* as published by the Free Software Foundation; either version 2
|
|
* of the License, or (at your option) any later version.
|
|
*
|
|
* This program is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
* GNU General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU General Public License
|
|
* along with this program; if not, write to the Free Software Foundation,
|
|
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
|
*/
|
|
|
|
/** \file
|
|
* \ingroup DNA
|
|
*/
|
|
|
|
#pragma once
|
|
|
|
/* Note that some struct members for color-mapping and color-bands are not initialized here. */
|
|
|
|
/* Struct members on own line. */
|
|
/* clang-format off */
|
|
|
|
#define _DNA_DEFAULT_ArmatureGpencilModifierData \
|
|
{ \
|
|
.deformflag = ARM_DEF_VGROUP, \
|
|
.multi = 0, \
|
|
.object = NULL, \
|
|
.vert_coords_prev = NULL, \
|
|
.vgname = "", \
|
|
}
|
|
|
|
#define _DNA_DEFAULT_ArrayGpencilModifierData \
|
|
{ \
|
|
.object = NULL, \
|
|
.material = 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, \
|
|
.pass_index = 0, \
|
|
.layername = "", \
|
|
.mat_rpl = 0, \
|
|
.layer_pass = 0, \
|
|
}
|
|
|
|
/* Deliberately set this range to the half the default frame-range
|
|
* to have an immediate effect to suggest use-cases. */
|
|
#define _DNA_DEFAULT_BuildGpencilModifierData \
|
|
{ \
|
|
.material = NULL, \
|
|
.layername = "", \
|
|
.pass_index = 0, \
|
|
.layer_pass = 0, \
|
|
.start_frame = 1, \
|
|
.end_frame = 125, \
|
|
.start_delay = 0.0f, \
|
|
.length = 100.0f, \
|
|
.flag = 0, \
|
|
.mode = 0, \
|
|
.transition = 0, \
|
|
.time_alignment = 0, \
|
|
.percentage_fac = 0.0f, \
|
|
}
|
|
|
|
#define _DNA_DEFAULT_ColorGpencilModifierData \
|
|
{ \
|
|
.material = NULL, \
|
|
.layername = "", \
|
|
.pass_index = 0, \
|
|
.flag = 0, \
|
|
.hsv = {0.5f, 1.0f, 1.0f}, \
|
|
.modify_color = GP_MODIFY_COLOR_BOTH, \
|
|
.layer_pass = 0, \
|
|
.curve_intensity = NULL, \
|
|
}
|
|
|
|
#define _DNA_DEFAULT_HookGpencilModifierData \
|
|
{ \
|
|
.object = NULL, \
|
|
.material = NULL, \
|
|
.subtarget = "", \
|
|
.layername = "", \
|
|
.vgname = "", \
|
|
.pass_index = 0, \
|
|
.layer_pass = 0, \
|
|
.flag = 0, \
|
|
.falloff_type = eGPHook_Falloff_Smooth, \
|
|
.parentinv = _DNA_DEFAULT_UNIT_M4, \
|
|
.cent = {0.0f, 0.0f, 0.0f}, \
|
|
.falloff = 0.0f, \
|
|
.force = 0.5f, \
|
|
.curfalloff = NULL, \
|
|
}
|
|
|
|
#define _DNA_DEFAULT_LatticeGpencilModifierData \
|
|
{ \
|
|
.object = NULL, \
|
|
.material = NULL, \
|
|
.layername = "", \
|
|
.vgname = "", \
|
|
.pass_index = 0, \
|
|
.flag = 0, \
|
|
.strength = 1.0f, \
|
|
.layer_pass = 0, \
|
|
.cache_data = NULL, \
|
|
}
|
|
|
|
#define _DNA_DEFAULT_MirrorGpencilModifierData \
|
|
{ \
|
|
.object = NULL, \
|
|
.material = NULL, \
|
|
.layername = "", \
|
|
.pass_index = 0, \
|
|
.flag = GP_MIRROR_AXIS_X, \
|
|
.layer_pass = 0, \
|
|
}
|
|
|
|
#define _DNA_DEFAULT_MultiplyGpencilModifierData \
|
|
{ \
|
|
.material = NULL, \
|
|
.layername = "", \
|
|
.pass_index = 0, \
|
|
.flag = 0, \
|
|
.layer_pass = 0, \
|
|
.flags = 0, \
|
|
.duplications = 3, \
|
|
.distance = 0.1f, \
|
|
.offset = 0.0f, \
|
|
.fading_center = 0.5f, \
|
|
.fading_thickness = 0.5f, \
|
|
.fading_opacity = 0.5f, \
|
|
}
|
|
|
|
#define _DNA_DEFAULT_NoiseGpencilModifierData \
|
|
{ \
|
|
.material = NULL, \
|
|
.layername = "", \
|
|
.vgname = "", \
|
|
.pass_index = 0, \
|
|
.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, \
|
|
.layer_pass = 0, \
|
|
.seed = 1, \
|
|
.curve_intensity = NULL, \
|
|
}
|
|
|
|
#define _DNA_DEFAULT_OffsetGpencilModifierData \
|
|
{ \
|
|
.material = NULL, \
|
|
.layername = "", \
|
|
.vgname = "", \
|
|
.pass_index = 0, \
|
|
.flag = 0, \
|
|
.loc = {0.0f, 0.0f, 0.0f}, \
|
|
.rot = {0.0f, 0.0f, 0.0f}, \
|
|
.scale = {0.0f, 0.0f, 0.0f}, \
|
|
.layer_pass = 0, \
|
|
}
|
|
|
|
#define _DNA_DEFAULT_OpacityGpencilModifierData \
|
|
{ \
|
|
.material = NULL, \
|
|
.layername = "", \
|
|
.vgname = "", \
|
|
.pass_index = 0, \
|
|
.flag = 0, \
|
|
.factor = 1.0f, \
|
|
.modify_color = GP_MODIFY_COLOR_BOTH, \
|
|
.layer_pass = 0, \
|
|
.hardeness = 1.0f, \
|
|
.curve_intensity = NULL, \
|
|
}
|
|
|
|
#define _DNA_DEFAULT_SimplifyGpencilModifierData \
|
|
{ \
|
|
.material = NULL, \
|
|
.layername = "", \
|
|
.pass_index = 0, \
|
|
.flag = 0, \
|
|
.factor = 0.0f, \
|
|
.mode = 0, \
|
|
.step = 1, \
|
|
.layer_pass = 0, \
|
|
.length = 0.1f, \
|
|
.distance = 0.1f, \
|
|
}
|
|
|
|
#define _DNA_DEFAULT_SmoothGpencilModifierData \
|
|
{ \
|
|
.material = NULL, \
|
|
.layername = "", \
|
|
.vgname = "", \
|
|
.pass_index = 0, \
|
|
.flag = GP_SMOOTH_MOD_LOCATION, \
|
|
.factor = 0.5f, \
|
|
.step = 1, \
|
|
.layer_pass = 0, \
|
|
.curve_intensity = NULL, \
|
|
}
|
|
|
|
#define _DNA_DEFAULT_SubdivGpencilModifierData \
|
|
{ \
|
|
.material = NULL, \
|
|
.layername = "", \
|
|
.pass_index = 0, \
|
|
.flag = 0, \
|
|
.level = 1, \
|
|
.layer_pass = 0, \
|
|
.type = 0, \
|
|
}
|
|
|
|
#define _DNA_DEFAULT_TextureGpencilModifierData \
|
|
{ \
|
|
.material = NULL, \
|
|
.layername = "", \
|
|
.vgname = "", \
|
|
.pass_index = 0, \
|
|
.flag = 0, \
|
|
.uv_offset = 0.0f, \
|
|
.uv_scale = 1.0f, \
|
|
.fill_rotation = 0.0f, \
|
|
.fill_offset = {0.0f, 0.0f}, \
|
|
.fill_scale = 1.0f, \
|
|
.layer_pass = 0, \
|
|
.fit_method = GP_TEX_CONSTANT_LENGTH, \
|
|
.mode = 0, \
|
|
}
|
|
|
|
#define _DNA_DEFAULT_ThickGpencilModifierData \
|
|
{ \
|
|
.material = NULL, \
|
|
.layername = "", \
|
|
.vgname = "", \
|
|
.pass_index = 0, \
|
|
.flag = 0, \
|
|
.thickness_fac = 1.0f, \
|
|
.thickness = 30, \
|
|
.layer_pass = 0, \
|
|
}
|
|
|
|
#define _DNA_DEFAULT_TimeGpencilModifierData \
|
|
{ \
|
|
.layername = "", \
|
|
.layer_pass = 0, \
|
|
.flag = GP_TIME_KEEP_LOOP, \
|
|
.offset = 1, \
|
|
.frame_scale = 1.0f, \
|
|
.mode = 0, \
|
|
.sfra = 1, \
|
|
.efra = 250, \
|
|
}
|
|
|
|
#define _DNA_DEFAULT_TintGpencilModifierData \
|
|
{ \
|
|
.object = NULL, \
|
|
.material = NULL, \
|
|
.layername = "", \
|
|
.vgname = "", \
|
|
.pass_index = 0, \
|
|
.layer_pass = 0, \
|
|
.flag = 0, \
|
|
.mode = GPPAINT_MODE_BOTH, \
|
|
.factor = 0.5f, \
|
|
.radius = 1.0f, \
|
|
.rgb = {1.0f, 1.0f, 1.0f}, \
|
|
.type = 0, \
|
|
.curve_intensity = NULL, \
|
|
.colorband = NULL, \
|
|
}
|
|
|
|
#define _DNA_DEFAULT_WeightProxGpencilModifierData \
|
|
{ \
|
|
.target_vgname = "", \
|
|
.material = NULL, \
|
|
.layername = "", \
|
|
.vgname = "", \
|
|
.pass_index = 0, \
|
|
.flag = 0, \
|
|
.layer_pass = 0, \
|
|
.dist_start = 0.0f, \
|
|
.dist_end = 20.0f, \
|
|
}
|
|
|
|
#define _DNA_DEFAULT_WeightAngleGpencilModifierData \
|
|
{ \
|
|
.target_vgname = "", \
|
|
.material = NULL, \
|
|
.layername = "", \
|
|
.vgname = "", \
|
|
.pass_index = 0, \
|
|
.flag = 0, \
|
|
.axis = 1, \
|
|
.layer_pass = 0, \
|
|
}
|
|
|
|
#define _DNA_DEFAULT_LineartGpencilModifierData \
|
|
{ \
|
|
.edge_types = LRT_EDGE_FLAG_ALL_TYPE, \
|
|
.thickness = 25, \
|
|
.opacity = 1.0f, \
|
|
.flags = LRT_GPENCIL_MATCH_OUTPUT_VGROUP, \
|
|
.crease_threshold = DEG2RAD(140.0f), \
|
|
.calculation_flags = LRT_ALLOW_DUPLI_OBJECTS | LRT_ALLOW_CLIPPING_BOUNDARIES | \
|
|
LRT_USE_CREASE_ON_SHARP_EDGES | LRT_FILTER_FACE_MARK_KEEP_CONTOUR, \
|
|
.angle_splitting_threshold = DEG2RAD(60.0f), \
|
|
.chaining_image_threshold = 0.001f, \
|
|
.chain_smooth_tolerance = 0.2f,\
|
|
.stroke_depth_offset = 0.05,\
|
|
}
|
|
|
|
#define _DNA_DEFAULT_LengthGpencilModifierData \
|
|
{ \
|
|
.start_fac = 0.1f,\
|
|
.end_fac = 0.1f,\
|
|
.overshoot_fac = 0.1f,\
|
|
.pass_index = 0,\
|
|
.material = NULL,\
|
|
.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_DashGpencilModifierData \
|
|
{ \
|
|
.dash_offset = 0, \
|
|
.segments = NULL, \
|
|
.segments_len = 1, \
|
|
.segment_active_index = 0, \
|
|
}
|
|
|
|
#define _DNA_DEFAULT_DashGpencilModifierSegment \
|
|
{ \
|
|
.name = "", \
|
|
.dash = 2, \
|
|
.gap = 1, \
|
|
.radius = 1.0f, \
|
|
.opacity = 1.0f, \
|
|
.mat_nr = -1, \
|
|
}
|
|
|
|
#define _DNA_DEFAULT_ShrinkwrapGpencilModifierData \
|
|
{ \
|
|
.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 = 0, \
|
|
.proj_limit = 0.0f, \
|
|
.proj_axis = 0, \
|
|
.subsurf_levels = 0, \
|
|
.material = NULL, \
|
|
.layername = "", \
|
|
.vgname = "", \
|
|
.pass_index = 0, \
|
|
.flag = 0, \
|
|
.layer_pass = 0, \
|
|
.smooth_factor = 0.05f, \
|
|
.smooth_step = 1, \
|
|
}
|
|
|
|
|
|
/* clang-format off */
|