Blender V4.3
DNA_gpencil_modifier_defaults.h
Go to the documentation of this file.
1/* SPDX-FileCopyrightText: 2023 Blender Authors
2 *
3 * SPDX-License-Identifier: GPL-2.0-or-later */
4
9#pragma once
10
11/* Note that some struct members for color-mapping and color-bands are not initialized here. */
12
13/* clang-format off */
14
15#define _DNA_DEFAULT_ArmatureGpencilModifierData \
16 { \
17 .deformflag = ARM_DEF_VGROUP, \
18 .multi = 0, \
19 .object = NULL, \
20 .vert_coords_prev = NULL, \
21 .vgname = "", \
22 }
23
24#define _DNA_DEFAULT_ArrayGpencilModifierData \
25 { \
26 .object = NULL, \
27 .material = NULL, \
28 .count = 2, \
29 .flag = GP_ARRAY_USE_RELATIVE, \
30 .offset = {0.0f, 0.0f, 0.0f}, \
31 .shift = {1.0f, 0.0f, 0.0f}, \
32 .rnd_offset = {0.0f, 0.0f, 0.0f}, \
33 .rnd_rot = {0.0f, 0.0f, 0.0f}, \
34 .rnd_scale = {0.0f, 0.0f, 0.0f}, \
35 .seed = 1, \
36 .pass_index = 0, \
37 .layername = "", \
38 .mat_rpl = 0, \
39 .layer_pass = 0, \
40 }
41
42/* Deliberately set this range to the half the default frame-range
43 * to have an immediate effect to suggest use-cases. */
44#define _DNA_DEFAULT_BuildGpencilModifierData \
45 { \
46 .material = NULL, \
47 .layername = "", \
48 .pass_index = 0, \
49 .layer_pass = 0, \
50 .start_frame = 1, \
51 .end_frame = 125, \
52 .start_delay = 0.0f, \
53 .length = 100.0f, \
54 .flag = 0, \
55 .mode = 0, \
56 .transition = 0, \
57 .time_alignment = 0, \
58 .time_mode = 0, \
59 .speed_fac = 1.2f, \
60 .speed_maxgap = 0.5f, \
61 .percentage_fac = 0.0f, \
62 }
63
64#define _DNA_DEFAULT_ColorGpencilModifierData \
65 { \
66 .material = NULL, \
67 .layername = "", \
68 .pass_index = 0, \
69 .flag = 0, \
70 .hsv = {0.5f, 1.0f, 1.0f}, \
71 .modify_color = GP_MODIFY_COLOR_BOTH, \
72 .layer_pass = 0, \
73 .curve_intensity = NULL, \
74 }
75
76#define _DNA_DEFAULT_HookGpencilModifierData \
77 { \
78 .object = NULL, \
79 .material = NULL, \
80 .subtarget = "", \
81 .layername = "", \
82 .vgname = "", \
83 .pass_index = 0, \
84 .layer_pass = 0, \
85 .flag = 0, \
86 .falloff_type = eGPHook_Falloff_Smooth, \
87 .parentinv = _DNA_DEFAULT_UNIT_M4, \
88 .cent = {0.0f, 0.0f, 0.0f}, \
89 .falloff = 0.0f, \
90 .force = 0.5f, \
91 .curfalloff = NULL, \
92 }
93
94#define _DNA_DEFAULT_LatticeGpencilModifierData \
95 { \
96 .object = NULL, \
97 .material = NULL, \
98 .layername = "", \
99 .vgname = "", \
100 .pass_index = 0, \
101 .flag = 0, \
102 .strength = 1.0f, \
103 .layer_pass = 0, \
104 .cache_data = NULL, \
105 }
106
107#define _DNA_DEFAULT_MirrorGpencilModifierData \
108 { \
109 .object = NULL, \
110 .material = NULL, \
111 .layername = "", \
112 .pass_index = 0, \
113 .flag = GP_MIRROR_AXIS_X, \
114 .layer_pass = 0, \
115 }
116
117#define _DNA_DEFAULT_MultiplyGpencilModifierData \
118 { \
119 .material = NULL, \
120 .layername = "", \
121 .pass_index = 0, \
122 .flag = 0, \
123 .layer_pass = 0, \
124 .flags = 0, \
125 .duplications = 3, \
126 .distance = 0.1f, \
127 .offset = 0.0f, \
128 .fading_center = 0.5f, \
129 .fading_thickness = 0.5f, \
130 .fading_opacity = 0.5f, \
131 }
132
133#define _DNA_DEFAULT_NoiseGpencilModifierData \
134 { \
135 .material = NULL, \
136 .layername = "", \
137 .vgname = "", \
138 .pass_index = 0, \
139 .flag = GP_NOISE_FULL_STROKE | GP_NOISE_USE_RANDOM, \
140 .factor = 0.5f, \
141 .factor_strength = 0.0f, \
142 .factor_thickness = 0.0f, \
143 .factor_uvs = 0.0f, \
144 .noise_scale = 0.0f, \
145 .noise_offset = 0.0f, \
146 .step = 4, \
147 .layer_pass = 0, \
148 .seed = 1, \
149 .curve_intensity = NULL, \
150 }
151
152#define _DNA_DEFAULT_OffsetGpencilModifierData \
153 { \
154 .material = NULL, \
155 .layername = "", \
156 .vgname = "", \
157 .pass_index = 0, \
158 .flag = 0, \
159 .stroke_step = 1, \
160 .mode = GP_OFFSET_RANDOM, \
161 .stroke_start_offset = 0, \
162 .loc = {0.0f, 0.0f, 0.0f}, \
163 .rot = {0.0f, 0.0f, 0.0f}, \
164 .scale = {0.0f, 0.0f, 0.0f}, \
165 .layer_pass = 0, \
166 }
167
168#define _DNA_DEFAULT_OpacityGpencilModifierData \
169 { \
170 .material = NULL, \
171 .layername = "", \
172 .vgname = "", \
173 .pass_index = 0, \
174 .flag = 0, \
175 .factor = 1.0f, \
176 .modify_color = GP_MODIFY_COLOR_BOTH, \
177 .layer_pass = 0, \
178 .hardness = 1.0f, \
179 .curve_intensity = NULL, \
180 }
181
182#define _DNA_DEFAULT_OutlineGpencilModifierData \
183 { \
184 .material = NULL, \
185 .layername = "", \
186 .pass_index = 0, \
187 .flag = GP_OUTLINE_KEEP_SHAPE, \
188 .thickness = 1, \
189 .sample_length = 0.0f, \
190 .subdiv = 3, \
191 .layer_pass = 0, \
192 .outline_material = NULL, \
193 }
194
195#define _DNA_DEFAULT_SimplifyGpencilModifierData \
196 { \
197 .material = NULL, \
198 .layername = "", \
199 .pass_index = 0, \
200 .flag = 0, \
201 .factor = 0.0f, \
202 .mode = 0, \
203 .step = 1, \
204 .layer_pass = 0, \
205 .length = 0.1f, \
206 .distance = 0.1f, \
207 }
208
209#define _DNA_DEFAULT_SmoothGpencilModifierData \
210 { \
211 .material = NULL, \
212 .layername = "", \
213 .vgname = "", \
214 .pass_index = 0, \
215 .flag = GP_SMOOTH_MOD_LOCATION, \
216 .factor = 1.0f, \
217 .step = 1, \
218 .layer_pass = 0, \
219 .curve_intensity = NULL, \
220 }
221
222#define _DNA_DEFAULT_SubdivGpencilModifierData \
223 { \
224 .material = NULL, \
225 .layername = "", \
226 .pass_index = 0, \
227 .flag = 0, \
228 .level = 1, \
229 .layer_pass = 0, \
230 .type = 0, \
231 }
232
233#define _DNA_DEFAULT_TextureGpencilModifierData \
234 { \
235 .material = NULL, \
236 .layername = "", \
237 .vgname = "", \
238 .pass_index = 0, \
239 .flag = 0, \
240 .uv_offset = 0.0f, \
241 .uv_scale = 1.0f, \
242 .fill_rotation = 0.0f, \
243 .fill_offset = {0.0f, 0.0f}, \
244 .fill_scale = 1.0f, \
245 .layer_pass = 0, \
246 .fit_method = GP_TEX_CONSTANT_LENGTH, \
247 .mode = 0, \
248 }
249
250#define _DNA_DEFAULT_ThickGpencilModifierData \
251 { \
252 .material = NULL, \
253 .layername = "", \
254 .vgname = "", \
255 .pass_index = 0, \
256 .flag = 0, \
257 .thickness_fac = 1.0f, \
258 .thickness = 30, \
259 .layer_pass = 0, \
260 }
261
262#define _DNA_DEFAULT_TimeGpencilModifierData \
263 { \
264 .layername = "", \
265 .layer_pass = 0, \
266 .flag = GP_TIME_KEEP_LOOP, \
267 .offset = 1, \
268 .frame_scale = 1.0f, \
269 .mode = 0, \
270 .sfra = 1, \
271 .efra = 250, \
272 .segments = NULL, \
273 .segments_len = 1, \
274 .segment_active_index = 0, \
275 }
276
277 #define _DNA_DEFAULT_TimeGpencilModifierSegment \
278 { \
279 .name = "", \
280 .seg_start = 1, \
281 .seg_end = 2, \
282 .seg_mode = 0, \
283 .seg_repeat = 1, \
284 }
285
286#define _DNA_DEFAULT_TintGpencilModifierData \
287 { \
288 .object = NULL, \
289 .material = NULL, \
290 .layername = "", \
291 .vgname = "", \
292 .pass_index = 0, \
293 .layer_pass = 0, \
294 .flag = 0, \
295 .mode = GPPAINT_MODE_BOTH, \
296 .factor = 0.5f, \
297 .radius = 1.0f, \
298 .rgb = {1.0f, 1.0f, 1.0f}, \
299 .type = 0, \
300 .curve_intensity = NULL, \
301 .colorband = NULL, \
302 }
303
304#define _DNA_DEFAULT_WeightProxGpencilModifierData \
305 { \
306 .target_vgname = "", \
307 .material = NULL, \
308 .layername = "", \
309 .vgname = "", \
310 .pass_index = 0, \
311 .flag = 0, \
312 .layer_pass = 0, \
313 .dist_start = 0.0f, \
314 .dist_end = 20.0f, \
315 }
316
317#define _DNA_DEFAULT_WeightAngleGpencilModifierData \
318 { \
319 .target_vgname = "", \
320 .material = NULL, \
321 .layername = "", \
322 .vgname = "", \
323 .pass_index = 0, \
324 .flag = 0, \
325 .axis = 1, \
326 .layer_pass = 0, \
327 }
328
329#define _DNA_DEFAULT_LineartGpencilModifierData \
330 { \
331 .edge_types = MOD_LINEART_EDGE_FLAG_INIT_TYPE, \
332 .thickness = 25, \
333 .opacity = 1.0f, \
334 .crease_threshold = DEG2RAD(140.0f), \
335 .calculation_flags = MOD_LINEART_ALLOW_DUPLI_OBJECTS | MOD_LINEART_ALLOW_CLIPPING_BOUNDARIES | \
336 MOD_LINEART_USE_CREASE_ON_SHARP_EDGES | MOD_LINEART_FILTER_FACE_MARK_KEEP_CONTOUR | \
337 MOD_LINEART_MATCH_OUTPUT_VGROUP, \
338 /* Do not split by default, this is for better chaining quality. */ \
339 .angle_splitting_threshold = 0.0f, \
340 .chaining_image_threshold = 0.001f, \
341 .stroke_depth_offset = 0.05,\
342 .chain_smooth_tolerance = 0.0f,\
343 .overscan = 0.1f,\
344 .shadow_camera_near = 0.1f, \
345 .shadow_camera_far = 200.0f, \
346 .shadow_camera_size = 200.0f, \
347 }
348
349#define _DNA_DEFAULT_LengthGpencilModifierData \
350 { \
351 .start_fac = 0.1f,\
352 .end_fac = 0.1f,\
353 .overshoot_fac = 0.1f,\
354 .pass_index = 0,\
355 .material = NULL,\
356 .flag = GP_LENGTH_USE_CURVATURE,\
357 .point_density = 30.0f,\
358 .segment_influence = 0.0f,\
359 .max_angle = DEG2RAD(170.0f),\
360 .rand_start_fac = 0.0f,\
361 .rand_end_fac = 0.0f,\
362 .rand_offset = 0.0f,\
363 .seed = 0,\
364 .step = 4,\
365 }
366
367#define _DNA_DEFAULT_DashGpencilModifierData \
368 { \
369 .dash_offset = 0, \
370 .segments = NULL, \
371 .segments_len = 1, \
372 .segment_active_index = 0, \
373 }
374
375#define _DNA_DEFAULT_DashGpencilModifierSegment \
376 { \
377 .name = "", \
378 .dash = 2, \
379 .gap = 1, \
380 .radius = 1.0f, \
381 .opacity = 1.0f, \
382 .mat_nr = -1, \
383 }
384
385#define _DNA_DEFAULT_ShrinkwrapGpencilModifierData \
386 { \
387 .target = NULL, \
388 .aux_target = NULL, \
389 .keep_dist = 0.05f, \
390 .shrink_type = MOD_SHRINKWRAP_NEAREST_SURFACE, \
391 .shrink_opts = MOD_SHRINKWRAP_PROJECT_ALLOW_POS_DIR, \
392 .shrink_mode = 0, \
393 .proj_limit = 0.0f, \
394 .proj_axis = 0, \
395 .subsurf_levels = 0, \
396 .material = NULL, \
397 .layername = "", \
398 .vgname = "", \
399 .pass_index = 0, \
400 .flag = 0, \
401 .layer_pass = 0, \
402 .smooth_factor = 0.05f, \
403 .smooth_step = 1, \
404 }
405
406#define _DNA_DEFAULT_EnvelopeGpencilModifierData \
407 { \
408 .spread = 10, \
409 .mode = GP_ENVELOPE_SEGMENTS, \
410 .mat_nr = -1, \
411 .thickness = 1.0f, \
412 .strength = 1.0f, \
413 .skip = 0, \
414 }
415
416
417/* clang-format off */