|
Blender V4.3
|
#include "BLI_math_matrix.h"#include "BLI_math_vector.h"#include "BLI_task.h"#include "BLI_utildefines.h"#include "BLT_translation.hh"#include "DNA_defaults.h"#include "DNA_object_types.h"#include "DNA_screen_types.h"#include "BKE_deform.hh"#include "BKE_lib_query.hh"#include "BKE_modifier.hh"#include "UI_interface.hh"#include "UI_resources.hh"#include "RNA_access.hh"#include "RNA_prototypes.hh"#include "MOD_ui_common.hh"#include "MOD_util.hh"Go to the source code of this file.
Classes | |
| struct | DeformUserData |
Macros | |
| #define | BEND_EPS 0.000001f |
Functions | |
| BLI_INLINE void | copy_v3_v3_map (float a[3], const float b[3], const uint map[3]) |
| BLI_INLINE void | copy_v3_v3_unmap (float a[3], const float b[3], const uint map[3]) |
| static void | axis_limit (const int axis, const float limits[2], float co[3], float dcut[3]) |
| static void | simpleDeform_taper (const float factor, const int, const float dcut[3], float r_co[3]) |
| static void | simpleDeform_stretch (const float factor, const int, const float dcut[3], float r_co[3]) |
| static void | simpleDeform_twist (const float factor, const int, const float *dcut, float r_co[3]) |
| static void | simpleDeform_bend (const float factor, const int axis, const float dcut[3], float r_co[3]) |
| static void | simple_helper (void *__restrict userdata, const int iter, const TaskParallelTLS *__restrict) |
| static void | SimpleDeformModifier_do (SimpleDeformModifierData *smd, const ModifierEvalContext *, Object *ob, Mesh *mesh, float(*vertexCos)[3], int verts_num) |
| static void | init_data (ModifierData *md) |
| static void | required_data_mask (ModifierData *md, CustomData_MeshMasks *r_cddata_masks) |
| static void | foreach_ID_link (ModifierData *md, Object *ob, IDWalkFunc walk, void *user_data) |
| static void | update_depsgraph (ModifierData *md, const ModifierUpdateDepsgraphContext *ctx) |
| static void | deform_verts (ModifierData *md, const ModifierEvalContext *ctx, Mesh *mesh, blender::MutableSpan< blender::float3 > positions) |
| static void | panel_draw (const bContext *, Panel *panel) |
| static void | restrictions_panel_draw (const bContext *, Panel *panel) |
| static void | panel_register (ARegionType *region_type) |
Variables | |
| static const uint | axis_map_table [3][3] |
| ModifierTypeInfo | modifierType_SimpleDeform |
| #define BEND_EPS 0.000001f |
Definition at line 32 of file MOD_simpledeform.cc.
Referenced by simpleDeform_bend(), and SimpleDeformModifier_do().
Clamps/Limits the given coordinate to: limits[0] <= co[axis] <= limits[1] The amount of clamp is saved on dcut.
Definition at line 76 of file MOD_simpledeform.cc.
Referenced by simple_helper(), and viewrotate_apply_snap().
| BLI_INLINE void copy_v3_v3_map | ( | float | a[3], |
| const float | b[3], | ||
| const uint | map[3] ) |
| BLI_INLINE void copy_v3_v3_unmap | ( | float | a[3], |
| const float | b[3], | ||
| const uint | map[3] ) |
|
static |
Definition at line 434 of file MOD_simpledeform.cc.
References ModifierEvalContext::object, and SimpleDeformModifier_do().
|
static |
Definition at line 418 of file MOD_simpledeform.cc.
References IDWALK_CB_NOP, and SimpleDeformModifierData::origin.
|
static |
Definition at line 399 of file MOD_simpledeform.cc.
References BLI_assert, DNA_struct_default_get, MEMCMP_STRUCT_AFTER_IS_ZERO, and MEMCPY_STRUCT_AFTER.
Definition at line 448 of file MOD_simpledeform.cc.
References ELEM, Panel::layout, MOD_SIMPLEDEFORM_MODE_STRETCH, MOD_SIMPLEDEFORM_MODE_TAPER, modifier_panel_end(), modifier_panel_get_property_pointers(), ptr, RNA_enum_get(), UI_ITEM_NONE, UI_ITEM_R_EXPAND, uiItemR(), uiLayoutRow(), and uiLayoutSetPropSep().
Referenced by panel_register().
|
static |
Definition at line 513 of file MOD_simpledeform.cc.
References eModifierType_SimpleDeform, modifier_panel_register(), modifier_subpanel_register(), panel_draw(), and restrictions_panel_draw().
|
static |
Definition at line 408 of file MOD_simpledeform.cc.
References CD_MASK_MDEFORMVERT, SimpleDeformModifierData::vgroup_name, and CustomData_MeshMasks::vmask.
Definition at line 476 of file MOD_simpledeform.cc.
References ELEM, IFACE_, Panel::layout, MOD_SIMPLEDEFORM_MODE_STRETCH, MOD_SIMPLEDEFORM_MODE_TAPER, MOD_SIMPLEDEFORM_MODE_TWIST, modifier_panel_get_property_pointers(), modifier_vgroup_ui(), ptr, RNA_enum_get(), UI_ITEM_R_FORCE_BLANK_DECORATE, UI_ITEM_R_SLIDER, UI_ITEM_R_TOGGLE, uiItemR(), uiLayoutRowWithHeading(), and uiLayoutSetPropSep().
Referenced by panel_register().
|
static |
Definition at line 198 of file MOD_simpledeform.cc.
References axis_limit(), axis_map_table, BKE_defvert_array_find_weight_safe(), BLI_space_transform_apply(), BLI_space_transform_invert(), copy_v3_v3(), copy_v3_v3_map(), copy_v3_v3_unmap(), DeformUserData::deform_axis, DeformUserData::dvert, interp_v3_v3v3(), DeformUserData::invert_vgroup, DeformUserData::limit_axis, DeformUserData::lock_axis, MOD_SIMPLEDEFORM_LOCK_AXIS_X, MOD_SIMPLEDEFORM_LOCK_AXIS_Y, MOD_SIMPLEDEFORM_LOCK_AXIS_Z, MOD_SIMPLEDEFORM_MODE_BEND, MOD_SIMPLEDEFORM_MODE_STRETCH, MOD_SIMPLEDEFORM_MODE_TAPER, MOD_SIMPLEDEFORM_MODE_TWIST, DeformUserData::mode, simpleDeform_bend(), simpleDeform_stretch(), simpleDeform_taper(), simpleDeform_twist(), DeformUserData::smd_factor, DeformUserData::smd_limit, DeformUserData::transf, DeformUserData::vertexCos, and DeformUserData::vgroup.
Referenced by SimpleDeformModifier_do().
|
static |
Definition at line 141 of file MOD_simpledeform.cc.
References ATTR_FALLTHROUGH, BEND_EPS, BLI_assert, cosf, fabsf, sinf, x, y, and z().
Referenced by simple_helper().
|
static |
Definition at line 105 of file MOD_simpledeform.cc.
References add_v3_v3(), and z().
Referenced by simple_helper().
|
static |
Definition at line 90 of file MOD_simpledeform.cc.
References add_v3_v3(), and z().
Referenced by simple_helper().
|
static |
Definition at line 122 of file MOD_simpledeform.cc.
References add_v3_v3(), cosf, sinf, and z().
Referenced by simple_helper().
|
static |
Definition at line 277 of file MOD_simpledeform.cc.
References ATTR_FALLTHROUGH, SimpleDeformModifierData::axis, BEND_EPS, BLI_parallel_range_settings_defaults(), BLI_space_transform_apply(), BLI_SPACE_TRANSFORM_SETUP, BLI_task_parallel_range(), copy_v3_v3(), SimpleDeformModifierData::deform_axis, fabsf, SimpleDeformModifierData::factor, SimpleDeformModifierData::flag, FLT_MAX, SimpleDeformModifierData::limit, max_ff(), min_ff(), MOD_get_vgroup(), MOD_SIMPLEDEFORM_FLAG_INVERT_VGROUP, MOD_SIMPLEDEFORM_MODE_BEND, DeformUserData::mode, SimpleDeformModifierData::mode, SimpleDeformModifierData::origin, simple_helper(), and SimpleDeformModifierData::vgroup_name.
Referenced by deform_verts().
|
static |
Definition at line 424 of file MOD_simpledeform.cc.
References DEG_add_depends_on_transform_relation(), DEG_add_object_relation(), DEG_OB_COMP_TRANSFORM, ModifierUpdateDepsgraphContext::node, and SimpleDeformModifierData::origin.
|
static |
Definition at line 52 of file MOD_simpledeform.cc.
Referenced by simple_helper().
| ModifierTypeInfo modifierType_SimpleDeform |
Definition at line 521 of file MOD_simpledeform.cc.