|
Blender V4.3
|
#include "BLI_assert.h"#include "MEM_guardedalloc.h"#include "DNA_gpencil_legacy_types.h"#include "DNA_gpencil_modifier_types.h"#include "DNA_modifier_types.h"#include "DNA_object_types.h"#include "BKE_colortools.hh"#include "BKE_deform.hh"#include "BKE_gpencil_geom_legacy.h"#include "BKE_gpencil_legacy.h"#include "BKE_gpencil_modifier_legacy.h"#include "BKE_lattice.hh"#include "BKE_lib_id.hh"#include "BKE_lib_query.hh"#include "BKE_material.h"#include "BKE_modifier.hh"#include "BKE_object.hh"#include "BKE_screen.hh"#include "BKE_shrinkwrap.hh"#include "DEG_depsgraph.hh"#include "DEG_depsgraph_query.hh"#include "BLO_read_write.hh"Go to the source code of this file.
Functions | |
| static const char * | gpencil_modifier_struct_name (const GpencilModifierType type) |
| static bool | gpencil_modifier_type_valid (const int type) |
| static void | gpencil_modifier_free_data (GpencilModifierData *md) |
| static void | gpencil_modifier_foreach_ID_link (GpencilModifierData *md, Object *ob, GreasePencilIDWalkFunc walk, void *user_data) |
| static void | modifier_free_data_id_us_cb (void *, Object *, ID **idpoin, int cb_flag) |
| void | BKE_gpencil_modifier_free_ex (GpencilModifierData *md, const int flag) |
| void | BKE_gpencil_modifier_free (GpencilModifierData *md) |
| void | BKE_gpencil_modifiers_foreach_ID_link (Object *ob, GreasePencilIDWalkFunc walk, void *user_data) |
| void | BKE_gpencil_modifier_blend_write (BlendWriter *writer, ListBase *modbase) |
| void | BKE_gpencil_modifier_blend_read_data (BlendDataReader *reader, ListBase *lb, Object *ob) |
| void BKE_gpencil_modifier_blend_read_data | ( | BlendDataReader * | reader, |
| ListBase * | lb, | ||
| Object * | ob ) |
Definition at line 538 of file gpencil_modifier_legacy.cc.
References BKE_curvemapping_blend_read(), BKE_curvemapping_init(), BLO_read_struct, BLO_read_struct_array, BLO_read_struct_list, LatticeGpencilModifierData::cache_data, ShrinkwrapGpencilModifierData::cache_data, TintGpencilModifierData::colorband, HookGpencilModifierData::curfalloff, ColorGpencilModifierData::curve_intensity, NoiseGpencilModifierData::curve_intensity, OpacityGpencilModifierData::curve_intensity, SmoothGpencilModifierData::curve_intensity, TintGpencilModifierData::curve_intensity, ThickGpencilModifierData::curve_thickness, DashGpencilModifierSegment::dmd, eGpencilModifierType_Color, eGpencilModifierType_Dash, eGpencilModifierType_Hook, eGpencilModifierType_Lattice, eGpencilModifierType_Noise, eGpencilModifierType_Opacity, eGpencilModifierType_Shrinkwrap, eGpencilModifierType_Smooth, eGpencilModifierType_Thick, eGpencilModifierType_Time, eGpencilModifierType_Tint, eModifierType_None, gpencil_modifier_type_valid(), TimeGpencilModifierSegment::gpmd, ID_IS_LINKED, LISTBASE_FOREACH, DashGpencilModifierData::segments, TimeGpencilModifierData::segments, DashGpencilModifierData::segments_len, and TimeGpencilModifierData::segments_len.
Referenced by object_blend_read_data().
| void BKE_gpencil_modifier_blend_write | ( | BlendWriter * | writer, |
| ListBase * | modbase ) |
Definition at line 463 of file gpencil_modifier_legacy.cc.
References BKE_curvemapping_blend_write(), BLO_write_struct, BLO_write_struct_array, BLO_write_struct_by_name(), TintGpencilModifierData::colorband, HookGpencilModifierData::curfalloff, ColorGpencilModifierData::curve_intensity, NoiseGpencilModifierData::curve_intensity, OpacityGpencilModifierData::curve_intensity, SmoothGpencilModifierData::curve_intensity, TintGpencilModifierData::curve_intensity, ThickGpencilModifierData::curve_thickness, eGpencilModifierType_Color, eGpencilModifierType_Dash, eGpencilModifierType_Hook, eGpencilModifierType_Noise, eGpencilModifierType_Opacity, eGpencilModifierType_Smooth, eGpencilModifierType_Thick, eGpencilModifierType_Time, eGpencilModifierType_Tint, gpencil_modifier_struct_name(), gpencil_modifier_type_valid(), LISTBASE_FOREACH, DashGpencilModifierData::segments, TimeGpencilModifierData::segments, DashGpencilModifierData::segments_len, and TimeGpencilModifierData::segments_len.
Referenced by object_blend_write().
| void BKE_gpencil_modifier_free | ( | struct GpencilModifierData * | md | ) |
Free grease pencil modifier data
| md | Modifier data. |
Definition at line 447 of file gpencil_modifier_legacy.cc.
References BKE_gpencil_modifier_free_ex().
| void BKE_gpencil_modifier_free_ex | ( | struct GpencilModifierData * | md, |
| int | flag ) |
Free grease pencil modifier data
| md | Modifier data. |
| flag | Flags. |
Definition at line 433 of file gpencil_modifier_legacy.cc.
References GpencilModifierData::error, flag, gpencil_modifier_foreach_ID_link(), gpencil_modifier_free_data(), LIB_ID_CREATE_NO_USER_REFCOUNT, MEM_freeN(), and modifier_free_data_id_us_cb().
Referenced by BKE_gpencil_modifier_free(), BKE_object_free_modifiers(), and blender::bke::greasepencil::convert::legacy_object_modifiers().
| void BKE_gpencil_modifiers_foreach_ID_link | ( | struct Object * | ob, |
| GreasePencilIDWalkFunc | walk, | ||
| void * | user_data ) |
Link grease pencil modifier related IDs.
| ob | Grease pencil object. |
| walk | Walk option. |
| user_data | User data. |
Definition at line 452 of file gpencil_modifier_legacy.cc.
References ListBase::first, gpencil_modifier_foreach_ID_link(), Object::greasepencil_modifiers, and GpencilModifierData::next.
Referenced by blender::deg::DepsgraphNodeBuilder::build_object(), blender::deg::DepsgraphRelationBuilder::build_object(), and object_foreach_id().
|
static |
Should call the given walk function with a pointer to each ID pointer (i.e. each data-block pointer) that the modifier data stores. This is used for linking on file load and for unlinking data-blocks or forwarding data-block references.
Definition at line 233 of file gpencil_modifier_legacy.cc.
References ShrinkwrapGpencilModifierData::aux_target, BLI_assert_unreachable, eGpencilModifierType_Armature, eGpencilModifierType_Array, eGpencilModifierType_Build, eGpencilModifierType_Color, eGpencilModifierType_Dash, eGpencilModifierType_Envelope, eGpencilModifierType_Hook, eGpencilModifierType_Lattice, eGpencilModifierType_Length, eGpencilModifierType_Lineart, eGpencilModifierType_Mirror, eGpencilModifierType_Multiply, eGpencilModifierType_Noise, eGpencilModifierType_None, eGpencilModifierType_Offset, eGpencilModifierType_Opacity, eGpencilModifierType_Outline, eGpencilModifierType_Shrinkwrap, eGpencilModifierType_Simplify, eGpencilModifierType_Smooth, eGpencilModifierType_Subdiv, eGpencilModifierType_Texture, eGpencilModifierType_Thick, eGpencilModifierType_Time, eGpencilModifierType_Tint, eGpencilModifierType_WeightAngle, eGpencilModifierType_WeightProximity, IDWALK_CB_NOP, IDWALK_CB_USER, LineartGpencilModifierData::light_contour_object, ArrayGpencilModifierData::material, ColorGpencilModifierData::material, DashGpencilModifierData::material, EnvelopeGpencilModifierData::material, HookGpencilModifierData::material, LatticeGpencilModifierData::material, LengthGpencilModifierData::material, MirrorGpencilModifierData::material, MultiplyGpencilModifierData::material, NoiseGpencilModifierData::material, OffsetGpencilModifierData::material, OpacityGpencilModifierData::material, OutlineGpencilModifierData::material, ShrinkwrapGpencilModifierData::material, SimplifyGpencilModifierData::material, SmoothGpencilModifierData::material, SubdivGpencilModifierData::material, TextureGpencilModifierData::material, ThickGpencilModifierData::material, TimeGpencilModifierData::material, TintGpencilModifierData::material, WeightAngleGpencilModifierData::material, WeightProxGpencilModifierData::material, NUM_GREASEPENCIL_MODIFIER_TYPES, ArmatureGpencilModifierData::object, ArrayGpencilModifierData::object, BuildGpencilModifierData::object, HookGpencilModifierData::object, LatticeGpencilModifierData::object, MirrorGpencilModifierData::object, OutlineGpencilModifierData::object, TintGpencilModifierData::object, WeightProxGpencilModifierData::object, OutlineGpencilModifierData::outline_material, LineartGpencilModifierData::source_camera, LineartGpencilModifierData::source_collection, LineartGpencilModifierData::source_object, ShrinkwrapGpencilModifierData::target, LineartGpencilModifierData::target_material, and GpencilModifierData::type.
Referenced by BKE_gpencil_modifier_free_ex(), and BKE_gpencil_modifiers_foreach_ID_link().
|
static |
Free internal modifier data variables, this function should not free the md variable itself.
Definition at line 112 of file gpencil_modifier_legacy.cc.
References BKE_curvemapping_free(), BKE_lattice_deform_data_destroy(), BKE_shrinkwrap_free_tree(), BLI_assert_unreachable, LatticeGpencilModifierData::cache_data, ShrinkwrapGpencilModifierData::cache_data, TintGpencilModifierData::colorband, HookGpencilModifierData::curfalloff, ColorGpencilModifierData::curve_intensity, NoiseGpencilModifierData::curve_intensity, OpacityGpencilModifierData::curve_intensity, SmoothGpencilModifierData::curve_intensity, TintGpencilModifierData::curve_intensity, ThickGpencilModifierData::curve_thickness, eGpencilModifierType_Armature, eGpencilModifierType_Array, eGpencilModifierType_Build, eGpencilModifierType_Color, eGpencilModifierType_Dash, eGpencilModifierType_Envelope, eGpencilModifierType_Hook, eGpencilModifierType_Lattice, eGpencilModifierType_Length, eGpencilModifierType_Lineart, eGpencilModifierType_Mirror, eGpencilModifierType_Multiply, eGpencilModifierType_Noise, eGpencilModifierType_None, eGpencilModifierType_Offset, eGpencilModifierType_Opacity, eGpencilModifierType_Outline, eGpencilModifierType_Shrinkwrap, eGpencilModifierType_Simplify, eGpencilModifierType_Smooth, eGpencilModifierType_Subdiv, eGpencilModifierType_Texture, eGpencilModifierType_Thick, eGpencilModifierType_Time, eGpencilModifierType_Tint, eGpencilModifierType_WeightAngle, eGpencilModifierType_WeightProximity, MEM_SAFE_FREE, NUM_GREASEPENCIL_MODIFIER_TYPES, DashGpencilModifierData::segments, TimeGpencilModifierData::segments, and GpencilModifierData::type.
Referenced by BKE_gpencil_modifier_free_ex().
|
static |
Definition at line 37 of file gpencil_modifier_legacy.cc.
References BLI_assert_unreachable, eGpencilModifierType_Armature, eGpencilModifierType_Array, eGpencilModifierType_Build, eGpencilModifierType_Color, eGpencilModifierType_Dash, eGpencilModifierType_Envelope, eGpencilModifierType_Hook, eGpencilModifierType_Lattice, eGpencilModifierType_Length, eGpencilModifierType_Lineart, eGpencilModifierType_Mirror, eGpencilModifierType_Multiply, eGpencilModifierType_Noise, eGpencilModifierType_None, eGpencilModifierType_Offset, eGpencilModifierType_Opacity, eGpencilModifierType_Outline, eGpencilModifierType_Shrinkwrap, eGpencilModifierType_Simplify, eGpencilModifierType_Smooth, eGpencilModifierType_Subdiv, eGpencilModifierType_Texture, eGpencilModifierType_Thick, eGpencilModifierType_Time, eGpencilModifierType_Tint, eGpencilModifierType_WeightAngle, eGpencilModifierType_WeightProximity, and NUM_GREASEPENCIL_MODIFIER_TYPES.
Referenced by BKE_gpencil_modifier_blend_write().
|
static |
Definition at line 103 of file gpencil_modifier_legacy.cc.
References NUM_GREASEPENCIL_MODIFIER_TYPES.
Referenced by BKE_gpencil_modifier_blend_read_data(), and BKE_gpencil_modifier_blend_write().
Definition at line 422 of file gpencil_modifier_legacy.cc.
References id_us_min(), and IDWALK_CB_USER.
Referenced by BKE_gpencil_modifier_free_ex().