Blender  V3.3
DNA_brush_types.h
Go to the documentation of this file.
1 /* SPDX-License-Identifier: GPL-2.0-or-later
2  * Copyright 2005 Blender Foundation. All rights reserved. */
3 
8 #pragma once
9 
10 #include "DNA_ID.h"
11 #include "DNA_brush_enums.h"
12 #include "DNA_curve_types.h"
13 #include "DNA_texture_types.h" /* for MTex */
14 
15 #ifdef __cplusplus
16 extern "C" {
17 #endif
18 
19 struct CurveMapping;
20 struct Image;
21 struct MTex;
22 struct Material;
23 
24 typedef struct BrushClone {
26  struct Image *image;
28  float offset[2];
30  float alpha;
31  char _pad[4];
33 
34 typedef struct BrushGpencilSettings {
38  float fill_factor;
42  float draw_jitter;
44  float draw_angle;
58 
62  short fill_leak;
63  /* Type of caps: eGPDstroke_Caps. */
65  char _pad;
66 
67  int flag2;
68 
74  int icon_id;
75 
79  float uv_random;
81  int brush_type DNA_DEPRECATED;
91  int flag;
92 
94  float hardeness;
96  float aspect_ratio[2];
98  float simplify_f;
99 
103 
109  short preset_type;
112 
114  float random_hue;
119 
124 
134 
135  /* optional link of material to replace default in context */
139 
145  /* eBrushCurvesSculptFlag. */
157  char _pad[7];
159 
160 typedef struct Brush {
162 
163  struct BrushClone clone;
166  struct MTex mtex;
167  struct MTex mask_mtex;
168 
170 
171  struct ImBuf *icon_imbuf;
176 
178  char icon_filepath[1024];
179 
182  float rake_factor;
183 
185  short blend;
187  short ob_mode;
189  float weight;
191  int size;
193  int flag;
194  int flag2;
196 
200  float jitter;
205  int spacing;
211  float rate;
212 
214  float rgb[3];
216  float alpha;
218  float hardness;
220  float flow;
222  float wet_mix;
225  float density;
227 
229  /* Factor that controls the shape of the brush tip by rounding the corners of a square. */
230  /* 0.0 value produces a square, 1.0 produces a circle. */
232  float tip_scale_x;
233 
235  float secondary_rgb[3];
236 
238  float dash_ratio;
240 
243 
246 
252 
253  char _pad0[5];
254 
258 
270  char mask_tool;
281  char _pad1[5];
282 
284 
286 
288 
290 
294 
295  float plane_trim;
297  float height;
298 
300 
302 
303  /* Maximum distance to search fake neighbors from a vertex. */
305 
307 
308  /* automasking */
311 
314 
315  /* snake hook */
317 
318  /* pose */
320  float pose_offset;
324 
325  /* boundary */
329 
330  /* cloth */
334 
335  float cloth_mass;
337 
340 
342 
343  /* smooth */
348 
349  /* multiplane scrape */
351 
352  /* smear */
354 
355  /* slide/relax */
357 
358  /* overlay */
362 
364 
365  /* soften/sharpen */
369 
370  /* fill tool */
372 
373  float add_col[4];
374  float sub_col[4];
375 
376  float stencil_pos[2];
378 
381 
385 
386 /* Struct to hold palette colors for sorting. */
387 typedef struct tPaletteColorHSV {
388  float rgb[3];
389  float value;
390  float h;
391  float s;
392  float v;
394 
395 typedef struct PaletteColor {
396  struct PaletteColor *next, *prev;
397  /* two values, one to store rgb, other to store values for sculpt/weight */
398  float rgb[3];
399  float value;
401 
402 typedef struct Palette {
404 
407 
409  char _pad[4];
411 
412 typedef struct PaintCurvePoint {
416  float pressure;
418 
419 typedef struct PaintCurve {
427 
428 #ifdef __cplusplus
429 }
430 #endif
ID and Library types, which are fundamental for sdna.
struct PaintCurve PaintCurve
struct PaintCurvePoint PaintCurvePoint
struct PaletteColor PaletteColor
struct tPaletteColorHSV tPaletteColorHSV
struct BrushCurvesSculptSettings BrushCurvesSculptSettings
struct BrushGpencilSettings BrushGpencilSettings
struct Brush Brush
struct Palette Palette
struct BrushClone BrushClone
unsigned int uint32_t
Definition: stdint.h:80
unsigned char uint8_t
Definition: stdint.h:78
signed char int8_t
Definition: stdint.h:75
struct Image * image
char _pad[4]
float offset[2]
struct CurveMapping * curve_sensitivity
struct CurveMapping * curve_strength
struct CurveMapping * curve_jitter
struct CurveMapping * curve_rand_pressure
struct CurveMapping * curve_rand_strength
struct CurveMapping * curve_rand_saturation
struct CurveMapping * curve_rand_hue
struct CurveMapping * curve_rand_uv
int brush_type DNA_DEPRECATED
struct Material * material
struct CurveMapping * curve_rand_value
float cloth_mass
float falloff_angle
float multiplane_scrape_angle
float alpha
int pose_deform_type
float topology_rake_factor
float jitter
int mask_overlay_alpha
struct ImBuf * icon_imbuf
struct ColorBand * gradient
int sculpt_plane
int blur_kernel_radius
struct BrushClone clone
int cloth_deform_type
float area_radius_factor
int snake_hook_deform_type
float density
int slide_deform_type
int elastic_deform_type
int automasking_flags
float add_col[4]
float normal_radius_factor
struct MTex mtex
int pose_smooth_iterations
float stencil_pos[2]
int texture_overlay_alpha
char vertexpaint_tool
float normal_weight
float rake_factor
float elastic_deform_volume_preservation
float unprojected_radius
char _pad0[5]
float smooth_stroke_factor
float sharp_threshold
short ob_mode
float cloth_sim_falloff
float wet_paint_radius_factor
float stencil_dimension[2]
int smooth_stroke_radius
int cursor_overlay_alpha
char gpencil_weight_tool
int curve_preset
char uv_sculpt_tool
struct CurveMapping * curve
char gpencil_vertex_tool
float tip_scale_x
float texture_sample_bias
float fill_threshold
char curves_sculpt_tool
int boundary_falloff_type
float plane_trim
int automasking_boundary_edges_propagation_steps
int dash_samples
char gradient_fill_mode
char falloff_shape
float tilt_strength_factor
int jitter_absolute
float mask_stencil_pos[2]
float rgb[3]
char imagepaint_tool
char _pad1[5]
float hardness
struct BrushGpencilSettings * gpencil_settings
float flow
float cloth_sim_limit
short blend
struct Brush * toggle_brush
char gradient_stroke_mode
float height
int sampling_flag
char icon_filepath[1024]
PreviewImage * preview
float sub_col[4]
int pose_ik_segments
float dash_ratio
struct BrushCurvesSculptSettings * curves_sculpt_settings
char gpencil_sculpt_tool
float crease_pinch_factor
char mask_tool
char sculpt_tool
float disconnected_distance_max
char gpencil_tool
int smooth_deform_type
struct MTex mask_mtex
int mask_pressure
float mask_stencil_dimension[2]
int cloth_simulation_area_type
float wet_mix
float wet_persistence
float boundary_offset
int deform_target
float weight
float rate
float plane_offset
int gradient_spacing
float secondary_rgb[3]
int smear_deform_type
int surface_smooth_iterations
float cloth_constraint_softbody_strength
float surface_smooth_current_vertex
struct PaintCurve * paint_curve
char weightpaint_tool
int cloth_force_falloff_type
int boundary_deform_type
float pose_offset
int pose_origin_type
float tip_roundness
float autosmooth_factor
int paint_flags
float cloth_damping
int blur_mode
int overlay_flags
float surface_smooth_shape_preservation
Definition: DNA_ID.h:368
PaintCurvePoint * points
struct PaletteColor * next
struct PaletteColor * prev
int active_color
ListBase colors
char _pad[4]