Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'source/blender/makesdna/DNA_gpencil_modifier_types.h')
-rw-r--r--source/blender/makesdna/DNA_gpencil_modifier_types.h77
1 files changed, 61 insertions, 16 deletions
diff --git a/source/blender/makesdna/DNA_gpencil_modifier_types.h b/source/blender/makesdna/DNA_gpencil_modifier_types.h
index 40e4c65c4b8..fac5bd3d4f4 100644
--- a/source/blender/makesdna/DNA_gpencil_modifier_types.h
+++ b/source/blender/makesdna/DNA_gpencil_modifier_types.h
@@ -55,6 +55,7 @@ typedef enum GpencilModifierType {
eGpencilModifierType_Texture = 18,
eGpencilModifierType_Lineart = 19,
eGpencilModifierType_Length = 20,
+ eGpencilModifierType_Weight = 21,
/* Keep last. */
NUM_GREASEPENCIL_MODIFIER_TYPES,
} GpencilModifierType;
@@ -188,12 +189,7 @@ typedef struct ThickGpencilModifierData {
int thickness;
/** Custom index for passes. */
int layer_pass;
- /** Start/end distances of the fading effect. */
- float fading_start;
- float fading_end;
- float fading_end_factor;
- /** Fading reference object */
- struct Object *object;
+ char _pad[4];
struct CurveMapping *curve_thickness;
} ThickGpencilModifierData;
@@ -205,7 +201,7 @@ typedef enum eThickGpencil_Flag {
GP_THICK_NORMALIZE = (1 << 4),
GP_THICK_INVERT_LAYERPASS = (1 << 5),
GP_THICK_INVERT_MATERIAL = (1 << 6),
- GP_THICK_FADING = (1 << 7),
+ GP_THICK_WEIGHT_FACTOR = (1 << 7),
} eThickGpencil_Flag;
typedef struct TimeGpencilModifierData {
@@ -298,16 +294,9 @@ typedef struct OpacityGpencilModifierData {
int flag;
/** Main Opacity factor. */
float factor;
- /** Fading controlling object */
- int _pad0;
- struct Object *object;
- /** Start/end distances of the fading effect. */
- float fading_start;
- float fading_end;
- float fading_end_factor;
/** Modify stroke, fill or both. */
char modify_color;
- char _pad1[3];
+ char _pad[3];
/** Custom index for passes. */
int layer_pass;
@@ -323,7 +312,7 @@ typedef enum eOpacityGpencil_Flag {
GP_OPACITY_INVERT_MATERIAL = (1 << 5),
GP_OPACITY_CUSTOM_CURVE = (1 << 6),
GP_OPACITY_NORMALIZE = (1 << 7),
- GP_OPACITY_FADING = (1 << 8),
+ GP_OPACITY_WEIGHT_FACTOR = (1 << 8),
} eOpacityGpencil_Flag;
typedef struct ArrayGpencilModifierData {
@@ -814,6 +803,7 @@ typedef enum eTintGpencil_Flag {
GP_TINT_INVERT_LAYERPASS = (1 << 4),
GP_TINT_INVERT_MATERIAL = (1 << 5),
GP_TINT_CUSTOM_CURVE = (1 << 6),
+ GP_TINT_WEIGHT_FACTOR = (1 << 7),
} eTintGpencil_Flag;
typedef struct TextureGpencilModifierData {
@@ -867,6 +857,61 @@ typedef enum eTextureGpencil_Mode {
STROKE_AND_FILL = 2,
} eTextureGpencil_Mode;
+typedef struct WeightGpencilModifierData {
+ GpencilModifierData modifier;
+ /** Target vertexgroup name, MAX_VGROUP_NAME. */
+ char target_vgname[64];
+ /** Material for filtering. */
+ struct Material *material;
+ /** Layer name. */
+ char layername[64];
+ /** Optional vertexgroup filter name, MAX_VGROUP_NAME. */
+ char vgname[64];
+ /** Custom index for passes. */
+ int pass_index;
+ /** Flags. */
+ int flag;
+ /** Minimum valid weight (clamp value). */
+ float min_weight;
+ /** Custom index for passes. */
+ int layer_pass;
+ /** Calculation Mode. */
+ short mode;
+ /** Axis. */
+ short axis;
+ /** Angle */
+ float angle;
+ /** Start/end distances. */
+ float dist_start;
+ float dist_end;
+ /** Space (Local/World). */
+ short space;
+ char _pad[6];
+
+ /** Reference object */
+ struct Object *object;
+} WeightGpencilModifierData;
+
+typedef enum eWeightGpencil_Flag {
+ GP_WEIGHT_INVERT_LAYER = (1 << 0),
+ GP_WEIGHT_INVERT_PASS = (1 << 1),
+ GP_WEIGHT_INVERT_VGROUP = (1 << 2),
+ GP_WEIGHT_INVERT_LAYERPASS = (1 << 3),
+ GP_WEIGHT_INVERT_MATERIAL = (1 << 4),
+ GP_WEIGHT_BLEND_DATA = (1 << 5),
+ GP_WEIGHT_INVERT_OUTPUT = (1 << 6),
+} eWeightGpencil_Flag;
+
+typedef enum eWeightGpencilModifierMode {
+ GP_WEIGHT_MODE_DISTANCE = 0,
+ GP_WEIGHT_MODE_ANGLE = 1,
+} eWeightGpencilModifierMode;
+
+typedef enum eGpencilModifierSpace {
+ GP_SPACE_LOCAL = 0,
+ GP_SPACE_WORLD = 1,
+} eGpencilModifierSpace;
+
typedef enum eLineartGpencilModifierSource {
LRT_SOURCE_COLLECTION = 0,
LRT_SOURCE_OBJECT = 1,