Blender
V3.3
|
#include <stdio.h>
#include <string.h>
#include "BLI_listbase.h"
#include "BLI_math_vector.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_mesh_types.h"
#include "DNA_object_types.h"
#include "DNA_scene_types.h"
#include "DNA_screen_types.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_main.h"
#include "BKE_modifier.h"
#include "BKE_scene.h"
#include "BKE_screen.h"
#include "BKE_shrinkwrap.h"
#include "MEM_guardedalloc.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 "DEG_depsgraph.h"
#include "DEG_depsgraph_build.h"
#include "DEG_depsgraph_query.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 (Main *UNUSED(bmain), Depsgraph *depsgraph, GpencilModifierData *md, Object *ob) |
static void | freeData (GpencilModifierData *md) |
static bool | isDisabled (GpencilModifierData *md, int UNUSED(userRenderParams)) |
static void | updateDepsgraph (GpencilModifierData *md, const ModifierUpdateDepsgraphContext *ctx, const int UNUSED(mode)) |
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_Shrinkwrap |
|
static |
Definition at line 121 of file MOD_gpencilshrinkwrap.c.
References ShrinkwrapGpencilModifierData::aux_target, BKE_modifier_get_evaluated_mesh_from_evaluated_object(), BKE_scene_graph_update_for_newframe(), BKE_shrinkwrap_free_tree(), BKE_shrinkwrap_init_tree(), ShrinkwrapGpencilModifierData::cache_data, RenderData::cfra, Object::data, deformStroke(), DEG_get_ctime(), DEG_get_evaluated_object(), DEG_get_evaluated_scene(), depsgraph, bGPDlayer::frames, bGPdata::layers, LISTBASE_FOREACH, MEM_callocN, MEM_SAFE_FREE, Scene::r, scene, ShrinkwrapGpencilModifierData::shrink_mode, ShrinkwrapGpencilModifierData::shrink_type, and ShrinkwrapGpencilModifierData::target.
|
static |
Definition at line 60 of file MOD_gpencilshrinkwrap.c.
References BKE_gpencil_modifier_copydata_generic().
|
static |
Definition at line 65 of file MOD_gpencilshrinkwrap.c.
References ShrinkwrapGpencilModifierData::aux_target, BKE_gpencil_stroke_geometry_update(), BKE_gpencil_stroke_smooth(), BKE_object_defgroup_name_index(), ShrinkwrapGpencilModifierData::cache_data, copy_v3_v3(), Object::data, bGPDstroke::dvert, ShrinkwrapGpencilModifierData::flag, float(), GP_SHRINKWRAP_INVERT_LAYER, GP_SHRINKWRAP_INVERT_LAYERPASS, GP_SHRINKWRAP_INVERT_MATERIAL, GP_SHRINKWRAP_INVERT_PASS, is_stroke_affected_by_modifier(), ShrinkwrapGpencilModifierData::layer_pass, ShrinkwrapGpencilModifierData::layername, ShrinkwrapGpencilModifierData::material, MEM_freeN, MEM_mallocN, NULL, ShrinkwrapGpencilModifierData::pass_index, bGPDstroke::points, shrinkwrapGpencilModifier_deform(), ShrinkwrapGpencilModifierData::smooth_factor, ShrinkwrapGpencilModifierData::smooth_step, ShrinkwrapGpencilModifierData::target, bGPDstroke::totpoints, ShrinkwrapGpencilModifierData::vgname, and bGPDspoint::x.
Referenced by bakeModifier().
|
static |
Definition at line 231 of file MOD_gpencilshrinkwrap.c.
References ShrinkwrapGpencilModifierData::aux_target, IDWALK_CB_NOP, IDWALK_CB_USER, ShrinkwrapGpencilModifierData::material, and ShrinkwrapGpencilModifierData::target.
|
static |
Definition at line 170 of file MOD_gpencilshrinkwrap.c.
References BKE_shrinkwrap_free_tree(), ShrinkwrapGpencilModifierData::cache_data, and MEM_SAFE_FREE.
|
static |
Definition at line 51 of file MOD_gpencilshrinkwrap.c.
References BLI_assert, DNA_struct_default_get, MEMCMP_STRUCT_AFTER_IS_ZERO, and MEMCPY_STRUCT_AFTER.
|
static |
Definition at line 179 of file MOD_gpencilshrinkwrap.c.
References ShrinkwrapGpencilModifierData::aux_target, OB_MESH, ShrinkwrapGpencilModifierData::target, and Object::type.
Definition at line 296 of file MOD_gpencilshrinkwrap.c.
References gpencil_modifier_masking_panel_draw().
Referenced by panelRegister().
Definition at line 240 of file MOD_gpencilshrinkwrap.c.
References col, ELEM, gpencil_modifier_panel_end(), gpencil_modifier_panel_get_property_pointers(), IFACE_, Panel::layout, MOD_SHRINKWRAP_NEAREST_SURFACE, MOD_SHRINKWRAP_PROJECT, MOD_SHRINKWRAP_TARGET_PROJECT, NULL, ptr, RNA_boolean_get(), RNA_enum_get(), UI_ITEM_R_EXPAND, UI_ITEM_R_FORCE_BLANK_DECORATE, UI_ITEM_R_TOGGLE, uiItemR(), uiLayoutColumn(), uiLayoutRowWithHeading(), uiLayoutSetActive(), and uiLayoutSetPropSep().
Referenced by panelRegister().
|
static |
Definition at line 301 of file MOD_gpencilshrinkwrap.c.
References eGpencilModifierType_Shrinkwrap, gpencil_modifier_panel_register(), gpencil_modifier_subpanel_register(), mask_panel_draw(), NULL, and panel_draw().
|
static |
Definition at line 197 of file MOD_gpencilshrinkwrap.c.
References ShrinkwrapGpencilModifierData::aux_target, BKE_shrinkwrap_needs_normals(), CD_MASK_CUSTOMLOOPNORMAL, CD_MASK_NORMAL, DAG_EVAL_NEED_SHRINKWRAP_BOUNDARY, DEG_add_customdata_mask(), DEG_add_modifier_to_transform_relation(), DEG_add_object_relation(), DEG_add_special_eval_flag(), DEG_OB_COMP_GEOMETRY, DEG_OB_COMP_TRANSFORM, Object::id, mask(), MOD_SHRINKWRAP_TARGET_PROJECT, ModifierUpdateDepsgraphContext::node, NULL, ShrinkwrapGpencilModifierData::shrink_mode, ShrinkwrapGpencilModifierData::shrink_type, and ShrinkwrapGpencilModifierData::target.
GpencilModifierTypeInfo modifierType_Gpencil_Shrinkwrap |
Definition at line 309 of file MOD_gpencilshrinkwrap.c.