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