Blender  V2.93
DNA_brush_types.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  * The Original Code is Copyright (C) 2005 Blender Foundation.
17  * All rights reserved.
18  */
19 
24 #pragma once
25 
26 #include "DNA_ID.h"
27 #include "DNA_brush_enums.h"
28 #include "DNA_curve_types.h"
29 #include "DNA_texture_types.h" /* for MTex */
30 
31 #ifdef __cplusplus
32 extern "C" {
33 #endif
34 
35 struct CurveMapping;
36 struct Image;
37 struct MTex;
38 struct Material;
39 
40 typedef struct BrushClone {
42  struct Image *image;
44  float offset[2];
46  float alpha;
47  char _pad[4];
49 
50 typedef struct BrushGpencilSettings {
54  float fill_factor;
58  float draw_jitter;
60  float draw_angle;
74 
78  short fill_leak;
79  char _pad2[2];
80 
81  int flag2;
82 
88  int icon_id;
89 
93  float uv_random;
95  int brush_type DNA_DEPRECATED;
105  int flag;
106 
108  float hardeness;
110  float aspect_ratio[2];
112  float simplify_f;
113 
117 
123  short preset_type;
126 
128  float random_hue;
133 
136  char _pad3[4];
137 
147 
148  /* optional link of material to replace default in context */
152 
153 typedef struct Brush {
155 
156  struct BrushClone clone;
159  struct MTex mtex;
160  struct MTex mask_mtex;
161 
163 
164  struct ImBuf *icon_imbuf;
169 
171  char icon_filepath[1024];
172 
175  float rake_factor;
176 
178  short blend;
180  short ob_mode;
182  float weight;
184  int size;
186  int flag;
187  int flag2;
189 
193  float jitter;
198  int spacing;
204  float rate;
205 
207  float rgb[3];
209  float alpha;
211  float hardness;
213  float flow;
215  float wet_mix;
218  float density;
220 
222  /* Factor that controls the shape of the brush tip by rounding the corners of a square. */
223  /* 0.0 value produces a square, 1.0 produces a circle. */
225  float tip_scale_x;
226 
228  float secondary_rgb[3];
229 
231  float dash_ratio;
233 
236 
239 
245 
246  char _pad0[5];
247 
251 
263  char mask_tool;
272  char _pad1[6];
273 
275 
277 
279 
281 
285 
286  float plane_trim;
288  float height;
289 
291 
293 
294  /* Maximum distance to search fake neighbors from a vertex. */
296 
298 
299  /* automasking */
302 
305 
306  /* snake hook */
308 
309  /* pose */
311  float pose_offset;
315 
316  /* boundary */
320 
321  /* cloth */
325 
326  float cloth_mass;
328 
331 
333 
334  /* smooth */
339 
340  /* multiplane scrape */
342 
343  /* smear */
345 
346  /* slide/relax */
348 
349  /* overlay */
353 
355 
356  /* soften/sharpen */
360 
361  /* fill tool */
363 
364  float add_col[4];
365  float sub_col[4];
366 
367  float stencil_pos[2];
369 
372 
374 
376 
377 /* Struct to hold palette colors for sorting. */
378 typedef struct tPaletteColorHSV {
379  float rgb[3];
380  float value;
381  float h;
382  float s;
383  float v;
385 
386 typedef struct PaletteColor {
387  struct PaletteColor *next, *prev;
388  /* two values, one to store rgb, other to store values for sculpt/weight */
389  float rgb[3];
390  float value;
392 
393 typedef struct Palette {
395 
398 
400  char _pad[4];
402 
403 typedef struct PaintCurvePoint {
407  float pressure;
409 
410 typedef struct PaintCurve {
418 
419 #ifdef __cplusplus
420 }
421 #endif
ID and Library types, which are fundamental for sdna.
struct PaintCurve PaintCurve
struct PaintCurvePoint PaintCurvePoint
struct PaletteColor PaletteColor
struct tPaletteColorHSV tPaletteColorHSV
struct BrushGpencilSettings BrushGpencilSettings
struct Brush Brush
struct Palette Palette
struct BrushClone BrushClone
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 _pad1[6]
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
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
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
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:273
PaintCurvePoint * points
struct PaletteColor * next
struct PaletteColor * prev
int active_color
ListBase colors
char _pad[4]