Blender  V2.93
DNA_gpencil_modifier_defaults.h
Go to the documentation of this file.
1 /*
2  * This program is free software; you can redistribute it and/or
3  * modify it under the terms of the GNU General Public License
4  * as published by the Free Software Foundation; either version 2
5  * of the License, or (at your option) any later version.
6  *
7  * This program is distributed in the hope that it will be useful,
8  * but WITHOUT ANY WARRANTY; without even the implied warranty of
9  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10  * GNU General Public License for more details.
11  *
12  * You should have received a copy of the GNU General Public License
13  * along with this program; if not, write to the Free Software Foundation,
14  * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
15  */
16 
21 #pragma once
22 
23 /* Note that some struct members for color-mapping and color-bands are not initialized here. */
24 
25 /* Struct members on own line. */
26 /* clang-format off */
27 
28 #define _DNA_DEFAULT_ArmatureGpencilModifierData \
29  { \
30  .deformflag = ARM_DEF_VGROUP, \
31  .multi = 0, \
32  .object = NULL, \
33  .vert_coords_prev = NULL, \
34  .vgname = "", \
35  }
36 
37 #define _DNA_DEFAULT_ArrayGpencilModifierData \
38  { \
39  .object = NULL, \
40  .material = NULL, \
41  .count = 2, \
42  .flag = GP_ARRAY_USE_RELATIVE, \
43  .offset = {0.0f, 0.0f, 0.0f}, \
44  .shift = {1.0f, 0.0f, 0.0f}, \
45  .rnd_offset = {0.0f, 0.0f, 0.0f}, \
46  .rnd_rot = {0.0f, 0.0f, 0.0f}, \
47  .rnd_scale = {0.0f, 0.0f, 0.0f}, \
48  .seed = 1, \
49  .pass_index = 0, \
50  .layername = "", \
51  .mat_rpl = 0, \
52  .layer_pass = 0, \
53  }
54 
55 /* Deliberately set this range to the half the default frame-range
56  * to have an immediate effect to suggest use-cases. */
57 #define _DNA_DEFAULT_BuildGpencilModifierData \
58  { \
59  .material = NULL, \
60  .layername = "", \
61  .pass_index = 0, \
62  .layer_pass = 0, \
63  .start_frame = 1, \
64  .end_frame = 125, \
65  .start_delay = 0.0f, \
66  .length = 100.0f, \
67  .flag = 0, \
68  .mode = 0, \
69  .transition = 0, \
70  .time_alignment = 0, \
71  .percentage_fac = 0.0f, \
72  }
73 
74 #define _DNA_DEFAULT_ColorGpencilModifierData \
75  { \
76  .material = NULL, \
77  .layername = "", \
78  .pass_index = 0, \
79  .flag = 0, \
80  .hsv = {0.5f, 1.0f, 1.0f}, \
81  .modify_color = GP_MODIFY_COLOR_BOTH, \
82  .layer_pass = 0, \
83  .curve_intensity = NULL, \
84  }
85 
86 #define _DNA_DEFAULT_HookGpencilModifierData \
87  { \
88  .object = NULL, \
89  .material = NULL, \
90  .subtarget = "", \
91  .layername = "", \
92  .vgname = "", \
93  .pass_index = 0, \
94  .layer_pass = 0, \
95  .flag = 0, \
96  .falloff_type = eGPHook_Falloff_Smooth, \
97  .parentinv = _DNA_DEFAULT_UNIT_M4, \
98  .cent = {0.0f, 0.0f, 0.0f}, \
99  .falloff = 0.0f, \
100  .force = 0.5f, \
101  .curfalloff = NULL, \
102  }
103 
104 #define _DNA_DEFAULT_LatticeGpencilModifierData \
105  { \
106  .object = NULL, \
107  .material = NULL, \
108  .layername = "", \
109  .vgname = "", \
110  .pass_index = 0, \
111  .flag = 0, \
112  .strength = 1.0f, \
113  .layer_pass = 0, \
114  .cache_data = NULL, \
115  }
116 
117 #define _DNA_DEFAULT_MirrorGpencilModifierData \
118  { \
119  .object = NULL, \
120  .material = NULL, \
121  .layername = "", \
122  .pass_index = 0, \
123  .flag = GP_MIRROR_AXIS_X, \
124  .layer_pass = 0, \
125  }
126 
127 #define _DNA_DEFAULT_MultiplyGpencilModifierData \
128  { \
129  .material = NULL, \
130  .layername = "", \
131  .pass_index = 0, \
132  .flag = 0, \
133  .layer_pass = 0, \
134  .flags = 0, \
135  .duplications = 3, \
136  .distance = 0.1f, \
137  .offset = 0.0f, \
138  .fading_center = 0.5f, \
139  .fading_thickness = 0.5f, \
140  .fading_opacity = 0.5f, \
141  }
142 
143 #define _DNA_DEFAULT_NoiseGpencilModifierData \
144  { \
145  .material = NULL, \
146  .layername = "", \
147  .vgname = "", \
148  .pass_index = 0, \
149  .flag = GP_NOISE_FULL_STROKE | GP_NOISE_USE_RANDOM, \
150  .factor = 0.5f, \
151  .factor_strength = 0.0f, \
152  .factor_thickness = 0.0f, \
153  .factor_uvs = 0.0f, \
154  .noise_scale = 0.0f, \
155  .noise_offset = 0.0f, \
156  .step = 4, \
157  .layer_pass = 0, \
158  .seed = 1, \
159  .curve_intensity = NULL, \
160  }
161 
162 #define _DNA_DEFAULT_OffsetGpencilModifierData \
163  { \
164  .material = NULL, \
165  .layername = "", \
166  .vgname = "", \
167  .pass_index = 0, \
168  .flag = 0, \
169  .loc = {0.0f, 0.0f, 0.0f}, \
170  .rot = {0.0f, 0.0f, 0.0f}, \
171  .scale = {0.0f, 0.0f, 0.0f}, \
172  .layer_pass = 0, \
173  }
174 
175 #define _DNA_DEFAULT_OpacityGpencilModifierData \
176  { \
177  .material = NULL, \
178  .layername = "", \
179  .vgname = "", \
180  .pass_index = 0, \
181  .flag = 0, \
182  .factor = 1.0f, \
183  .modify_color = GP_MODIFY_COLOR_BOTH, \
184  .layer_pass = 0, \
185  .hardeness = 1.0f, \
186  .curve_intensity = NULL, \
187  }
188 
189 #define _DNA_DEFAULT_SimplifyGpencilModifierData \
190  { \
191  .material = NULL, \
192  .layername = "", \
193  .pass_index = 0, \
194  .flag = 0, \
195  .factor = 0.0f, \
196  .mode = 0, \
197  .step = 1, \
198  .layer_pass = 0, \
199  .length = 0.1f, \
200  .distance = 0.1f, \
201  }
202 
203 #define _DNA_DEFAULT_SmoothGpencilModifierData \
204  { \
205  .material = NULL, \
206  .layername = "", \
207  .vgname = "", \
208  .pass_index = 0, \
209  .flag = GP_SMOOTH_MOD_LOCATION, \
210  .factor = 0.5f, \
211  .step = 1, \
212  .layer_pass = 0, \
213  .curve_intensity = NULL, \
214  }
215 
216 #define _DNA_DEFAULT_SubdivGpencilModifierData \
217  { \
218  .material = NULL, \
219  .layername = "", \
220  .pass_index = 0, \
221  .flag = 0, \
222  .level = 1, \
223  .layer_pass = 0, \
224  .type = 0, \
225  }
226 
227 #define _DNA_DEFAULT_TextureGpencilModifierData \
228  { \
229  .material = NULL, \
230  .layername = "", \
231  .vgname = "", \
232  .pass_index = 0, \
233  .flag = 0, \
234  .uv_offset = 0.0f, \
235  .uv_scale = 1.0f, \
236  .fill_rotation = 0.0f, \
237  .fill_offset = {0.0f, 0.0f}, \
238  .fill_scale = 1.0f, \
239  .layer_pass = 0, \
240  .fit_method = GP_TEX_CONSTANT_LENGTH, \
241  .mode = 0, \
242  }
243 
244 #define _DNA_DEFAULT_ThickGpencilModifierData \
245  { \
246  .material = NULL, \
247  .layername = "", \
248  .vgname = "", \
249  .pass_index = 0, \
250  .flag = 0, \
251  .thickness_fac = 1.0f, \
252  .thickness = 30, \
253  .layer_pass = 0, \
254  }
255 
256 #define _DNA_DEFAULT_TimeGpencilModifierData \
257  { \
258  .layername = "", \
259  .layer_pass = 0, \
260  .flag = GP_TIME_KEEP_LOOP, \
261  .offset = 1, \
262  .frame_scale = 1.0f, \
263  .mode = 0, \
264  .sfra = 1, \
265  .efra = 250, \
266  }
267 
268 #define _DNA_DEFAULT_TintGpencilModifierData \
269  { \
270  .object = NULL, \
271  .material = NULL, \
272  .layername = "", \
273  .vgname = "", \
274  .pass_index = 0, \
275  .layer_pass = 0, \
276  .flag = 0, \
277  .mode = GPPAINT_MODE_BOTH, \
278  .factor = 0.5f, \
279  .radius = 1.0f, \
280  .rgb = {1.0f, 1.0f, 1.0f}, \
281  .type = 0, \
282  .curve_intensity = NULL, \
283  .colorband = NULL, \
284  }
285 
286 #define _DNA_DEFAULT_LineartGpencilModifierData \
287  { \
288  .edge_types = LRT_EDGE_FLAG_ALL_TYPE, \
289  .thickness = 25, \
290  .opacity = 1.0f, \
291  .flags = LRT_GPENCIL_MATCH_OUTPUT_VGROUP, \
292  .crease_threshold = DEG2RAD(140.0f), \
293  .calculation_flags = LRT_ALLOW_DUPLI_OBJECTS | LRT_ALLOW_CLIPPING_BOUNDARIES, \
294  .angle_splitting_threshold = DEG2RAD(60.0f), \
295  .chaining_image_threshold = 0.001f, \
296  }
297 
298 /* clang-format off */