Blender
V3.3
|
#include <stdio.h>
#include <string.h>
#include "BLI_listbase.h"
#include "BLI_utildefines.h"
#include "BLT_translation.h"
#include "DNA_defaults.h"
#include "DNA_gpencil_modifier_types.h"
#include "DNA_gpencil_types.h"
#include "DNA_meshdata_types.h"
#include "DNA_object_types.h"
#include "DNA_screen_types.h"
#include "BKE_colortools.h"
#include "BKE_context.h"
#include "BKE_deform.h"
#include "BKE_gpencil_geom.h"
#include "BKE_gpencil_modifier.h"
#include "BKE_lib_query.h"
#include "BKE_modifier.h"
#include "BKE_screen.h"
#include "DEG_depsgraph.h"
#include "UI_interface.h"
#include "UI_resources.h"
#include "RNA_access.h"
#include "MOD_gpencil_modifiertypes.h"
#include "MOD_gpencil_ui_common.h"
#include "MOD_gpencil_util.h"
#include "MEM_guardedalloc.h"
Go to the source code of this file.
Functions | |
static void | initData (GpencilModifierData *md) |
static void | copyData (const GpencilModifierData *md, GpencilModifierData *target) |
static void | deformStroke (GpencilModifierData *md, Depsgraph *UNUSED(depsgraph), Object *ob, bGPDlayer *gpl, bGPDframe *UNUSED(gpf), bGPDstroke *gps) |
static void | bakeModifier (struct Main *UNUSED(bmain), Depsgraph *depsgraph, GpencilModifierData *md, Object *ob) |
static void | freeData (GpencilModifierData *md) |
static void | foreachIDLink (GpencilModifierData *md, Object *ob, IDWalkFunc walk, void *userData) |
static void | panel_draw (const bContext *UNUSED(C), Panel *panel) |
static void | mask_panel_draw (const bContext *UNUSED(C), Panel *panel) |
static void | panelRegister (ARegionType *region_type) |
Variables | |
GpencilModifierTypeInfo | modifierType_Gpencil_Smooth |
|
static |
Definition at line 137 of file MOD_gpencilsmooth.c.
References deformStroke(), depsgraph, and generic_bake_deform_stroke().
|
static |
Definition at line 57 of file MOD_gpencilsmooth.c.
References BKE_curvemapping_copy(), BKE_curvemapping_free(), BKE_gpencil_modifier_copydata_generic(), SmoothGpencilModifierData::curve_intensity, and NULL.
|
static |
Apply smooth effect based on stroke direction.
Definition at line 75 of file MOD_gpencilsmooth.c.
References BKE_curvemapping_evaluateF(), BKE_gpencil_stroke_smooth(), BKE_object_defgroup_name_index(), SmoothGpencilModifierData::curve_intensity, bGPDstroke::dvert, SmoothGpencilModifierData::factor, SmoothGpencilModifierData::flag, float(), get_modifier_point_weight(), GP_SMOOTH_CUSTOM_CURVE, GP_SMOOTH_INVERT_LAYER, GP_SMOOTH_INVERT_LAYERPASS, GP_SMOOTH_INVERT_MATERIAL, GP_SMOOTH_INVERT_PASS, GP_SMOOTH_INVERT_VGROUP, GP_SMOOTH_KEEP_SHAPE, GP_SMOOTH_MOD_LOCATION, GP_SMOOTH_MOD_STRENGTH, GP_SMOOTH_MOD_THICKNESS, GP_SMOOTH_MOD_UV, if(), is_stroke_affected_by_modifier(), SmoothGpencilModifierData::layer_pass, SmoothGpencilModifierData::layername, SmoothGpencilModifierData::material, MEM_malloc_arrayN, MEM_SAFE_FREE, NULL, SmoothGpencilModifierData::pass_index, SmoothGpencilModifierData::step, bGPDstroke::totpoints, and SmoothGpencilModifierData::vgname.
Referenced by bakeModifier().
|
static |
Definition at line 154 of file MOD_gpencilsmooth.c.
References IDWALK_CB_USER, and SmoothGpencilModifierData::material.
|
static |
Definition at line 145 of file MOD_gpencilsmooth.c.
References BKE_curvemapping_free(), and SmoothGpencilModifierData::curve_intensity.
|
static |
Definition at line 45 of file MOD_gpencilsmooth.c.
References BKE_curvemapping_add(), BKE_curvemapping_init(), BLI_assert, SmoothGpencilModifierData::curve_intensity, DNA_struct_default_get, MEMCMP_STRUCT_AFTER_IS_ZERO, and MEMCPY_STRUCT_AFTER.
Definition at line 186 of file MOD_gpencilsmooth.c.
References gpencil_modifier_masking_panel_draw().
Referenced by panelRegister().
Definition at line 161 of file MOD_gpencilsmooth.c.
References col, gpencil_modifier_panel_end(), gpencil_modifier_panel_get_property_pointers(), IFACE_, Panel::layout, NULL, ptr, RNA_boolean_get(), UI_ITEM_R_TOGGLE, uiItemR(), uiLayoutColumn(), uiLayoutRow(), uiLayoutSetActive(), and uiLayoutSetPropSep().
Referenced by panelRegister().
|
static |
Definition at line 191 of file MOD_gpencilsmooth.c.
References eGpencilModifierType_Smooth, gpencil_modifier_curve_header_draw(), gpencil_modifier_curve_panel_draw(), gpencil_modifier_panel_register(), gpencil_modifier_subpanel_register(), mask_panel_draw(), NULL, and panel_draw().
GpencilModifierTypeInfo modifierType_Gpencil_Smooth |
Definition at line 205 of file MOD_gpencilsmooth.c.