Blender
V3.3
|
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "MEM_guardedalloc.h"
#include "BLI_listbase.h"
#include "BLI_math_base.h"
#include "BLI_math_vector.h"
#include "BLI_sort.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_scene_types.h"
#include "DNA_screen_types.h"
#include "BKE_context.h"
#include "BKE_deform.h"
#include "BKE_gpencil.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 "UI_interface.h"
#include "UI_resources.h"
#include "RNA_access.h"
#include "DEG_depsgraph.h"
#include "DEG_depsgraph_query.h"
#include "MOD_gpencil_modifiertypes.h"
#include "MOD_gpencil_ui_common.h"
Go to the source code of this file.
Classes | |
struct | tStrokeBuildDetails |
Typedefs | |
typedef struct tStrokeBuildDetails | tStrokeBuildDetails |
Variables | |
GpencilModifierTypeInfo | modifierType_Gpencil_Build |
typedef struct tStrokeBuildDetails tStrokeBuildDetails |
|
static |
Definition at line 442 of file MOD_gpencilbuild.c.
References CLAMP, clear_stroke(), BuildGpencilModifierData::fade_fac, BuildGpencilModifierData::fade_opacity_strength, fade_stroke_points(), BuildGpencilModifierData::fade_thickness_strength, ListBase::first, BuildGpencilModifierData::flag, float(), GP_BUILD_TIMEALIGN_END, GP_BUILD_TIMEALIGN_START, GP_BUILD_TRANSITION_GROW, GP_BUILD_TRANSITION_VANISH, GP_BUILD_USE_FADING, interpf(), MAX2, bGPDstroke::next, PSEUDOINVERSE_EPSILON, reduce_stroke_points(), bGPDframe::strokes, BuildGpencilModifierData::time_alignment, bGPDstroke::totpoints, and BuildGpencilModifierData::transition.
Referenced by generate_geometry().
|
static |
Definition at line 256 of file MOD_gpencilbuild.c.
References BKE_gpencil_stroke_flip(), BKE_gpencil_stroke_geometry_update(), BLI_findlink(), BLI_listbase_count(), CLAMP, clear_stroke(), cmp_stroke_build_details(), tStrokeBuildDetails::distance, tStrokeBuildDetails::end_idx, BuildGpencilModifierData::fade_fac, BuildGpencilModifierData::fade_opacity_strength, fade_stroke_points(), BuildGpencilModifierData::fade_thickness_strength, BuildGpencilModifierData::flag, GP_BUILD_TRANSITION_GROW, GP_BUILD_TRANSITION_SHRINK, GP_BUILD_TRANSITION_VANISH, GP_BUILD_USE_FADING, tStrokeBuildDetails::gps, interpf(), len_v3v3(), Object::loc, MEM_callocN, MEM_freeN, mul_v3_m4v3(), bGPDstroke::next, BuildGpencilModifierData::object, Object::obmat, bGPDstroke::points, bGPDframe::prev, ratiof(), reduce_stroke_points(), tStrokeBuildDetails::start_idx, bGPDframe::strokes, tStrokeBuildDetails::totpoints, bGPDstroke::totpoints, BuildGpencilModifierData::transition, and bGPDspoint::x.
Referenced by generate_geometry().
|
static |
Definition at line 86 of file MOD_gpencilbuild.c.
References BKE_gpencil_free_stroke(), BLI_remlink(), and bGPDframe::strokes.
Referenced by build_concurrent(), build_sequential(), gpencil_calc_points_factor(), gpencil_stroke_merge_exec(), gpf_clear_all_strokes(), and reduce_stroke_points().
Definition at line 248 of file MOD_gpencilbuild.c.
References tStrokeBuildDetails::distance.
Referenced by build_sequential().
|
static |
Definition at line 59 of file MOD_gpencilbuild.c.
References BKE_gpencil_modifier_copydata_generic().
|
static |
Definition at line 64 of file MOD_gpencilbuild.c.
|
static |
Definition at line 181 of file MOD_gpencilbuild.c.
References BKE_defvert_ensure_index(), CLAMP, bGPDstroke::dvert, e, GP_BUILD_TRANSITION_GROW, GP_BUILD_TRANSITION_SHRINK, GP_BUILD_TRANSITION_VANISH, interpf(), bGPDstroke::points, bGPDspoint::pressure, bGPDspoint::strength, and MDeformWeight::weight.
Referenced by build_concurrent(), and build_sequential().
Definition at line 807 of file MOD_gpencilbuild.c.
References gpencil_modifier_panel_get_property_pointers(), IFACE_, Panel::layout, NULL, ptr, and uiItemR().
Referenced by panelRegister().
Definition at line 816 of file MOD_gpencilbuild.c.
References col, gpencil_modifier_panel_get_property_pointers(), IFACE_, Panel::layout, ptr, uiItemPointerR(), uiItemR(), uiLayoutColumn(), and uiLayoutSetPropSep().
Referenced by panelRegister().
|
static |
Definition at line 858 of file MOD_gpencilbuild.c.
References IDWALK_CB_NOP, and BuildGpencilModifierData::object.
Definition at line 784 of file MOD_gpencilbuild.c.
References gpencil_modifier_panel_get_property_pointers(), IFACE_, Panel::layout, NULL, ptr, and uiItemR().
Referenced by panelRegister().
Definition at line 793 of file MOD_gpencilbuild.c.
References col, gpencil_modifier_panel_get_property_pointers(), IFACE_, Panel::layout, NULL, ptr, uiItemR(), uiLayoutColumn(), and uiLayoutSetPropSep().
Referenced by panelRegister().
|
static |
Definition at line 560 of file MOD_gpencilbuild.c.
References BKE_defvert_ensure_index(), BKE_gpencil_dvert_ensure(), BKE_object_defgroup_name_index(), build_concurrent(), build_sequential(), DEG_get_ctime(), depsgraph, BuildGpencilModifierData::end_frame, ListBase::first, BuildGpencilModifierData::flag, bGPDframe::framenum, GP_BUILD_INVERT_LAYER, GP_BUILD_INVERT_LAYERPASS, GP_BUILD_MODE_ADDITIVE, GP_BUILD_MODE_CONCURRENT, GP_BUILD_MODE_SEQUENTIAL, GP_BUILD_PERCENTAGE, GP_BUILD_RESTRICT_TIME, GP_BUILD_TRANSITION_GROW, GP_BUILD_USE_FADING, gpf_clear_all_strokes(), bGPDlayer::info, BuildGpencilModifierData::layer_pass, BuildGpencilModifierData::layername, BuildGpencilModifierData::length, LISTBASE_FOREACH, MIN2, BuildGpencilModifierData::mode, BuildGpencilModifierData::modifier, GpencilModifierData::name, bGPDframe::next, NULL, bGPDlayer::pass_index, BuildGpencilModifierData::percentage_fac, BuildGpencilModifierData::start_delay, STREQ, bGPDframe::strokes, BuildGpencilModifierData::target_vgname, BuildGpencilModifierData::transition, and MDeformWeight::weight.
Referenced by generateStrokes().
|
static |
Definition at line 714 of file MOD_gpencilbuild.c.
References BKE_gpencil_frame_retime_get(), Object::data, DEG_get_evaluated_scene(), depsgraph, generate_geometry(), bGPdata::layers, LISTBASE_FOREACH, NULL, and scene.
Definition at line 93 of file MOD_gpencilbuild.c.
References BLI_listbase_clear(), clear_stroke(), ListBase::first, bGPDstroke::next, and bGPDframe::strokes.
Referenced by generate_geometry().
|
static |
Definition at line 50 of file MOD_gpencilbuild.c.
References BLI_assert, DNA_struct_default_get, MEMCMP_STRUCT_AFTER_IS_ZERO, and MEMCPY_STRUCT_AFTER.
Definition at line 841 of file MOD_gpencilbuild.c.
References gpencil_modifier_masking_panel_draw().
Referenced by panelRegister().
Definition at line 728 of file MOD_gpencilbuild.c.
References BKE_gpencil_modifier_set_error(), BKE_gpencil_modifiers_findby_type(), PointerRNA::data, eGpencilModifierType_Time, ELEM, GP_BUILD_MODE_ADDITIVE, GP_BUILD_MODE_CONCURRENT, GP_BUILD_MODE_SEQUENTIAL, gpencil_modifier_panel_end(), gpencil_modifier_panel_get_property_pointers(), IFACE_, Panel::layout, NULL, ptr, RNA_boolean_get(), RNA_enum_get(), uiItemDecoratorR(), uiItemR(), uiItemS(), uiLayoutRow(), uiLayoutRowWithHeading(), uiLayoutSetActive(), uiLayoutSetPropDecorate(), and uiLayoutSetPropSep().
Referenced by panelRegister().
|
static |
Definition at line 846 of file MOD_gpencilbuild.c.
References eGpencilModifierType_Build, fading_header_draw(), fading_panel_draw(), frame_range_header_draw(), frame_range_panel_draw(), gpencil_modifier_panel_register(), gpencil_modifier_subpanel_register(), mask_panel_draw(), NULL, and panel_draw().
|
static |
Definition at line 107 of file MOD_gpencilbuild.c.
References BKE_gpencil_free_point_weights(), BKE_gpencil_stroke_geometry_update(), clear_stroke(), bGPDstroke::dvert, GP_BUILD_TRANSITION_GROW, GP_BUILD_TRANSITION_SHRINK, GP_BUILD_TRANSITION_VANISH, MEM_callocN, MEM_SAFE_FREE, NULL, offset, bGPDstroke::points, and bGPDstroke::totpoints.
Referenced by build_concurrent(), and build_sequential().
|
static |
Definition at line 865 of file MOD_gpencilbuild.c.
References DEG_add_object_relation(), DEG_OB_COMP_GEOMETRY, DEG_OB_COMP_TRANSFORM, ModifierUpdateDepsgraphContext::node, NULL, ModifierUpdateDepsgraphContext::object, and BuildGpencilModifierData::object.
GpencilModifierTypeInfo modifierType_Gpencil_Build |
Definition at line 879 of file MOD_gpencilbuild.c.