|
Blender
V2.93
|
#include "BLI_utildefines.h"#include "BLI_math.h"#include "BLT_translation.h"#include "DNA_defaults.h"#include "DNA_mesh_types.h"#include "DNA_meshdata_types.h"#include "DNA_object_types.h"#include "DNA_screen_types.h"#include "BKE_context.h"#include "BKE_deform.h"#include "BKE_editmesh.h"#include "BKE_lib_id.h"#include "BKE_lib_query.h"#include "BKE_mesh.h"#include "BKE_mesh_wrapper.h"#include "BKE_modifier.h"#include "BKE_screen.h"#include "UI_interface.h"#include "UI_resources.h"#include "RNA_access.h"#include "DEG_depsgraph_query.h"#include "MOD_ui_common.h"#include "MOD_util.h"#include "bmesh.h"Go to the source code of this file.
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 UNUSED(axis), const float dcut[3], float r_co[3]) |
| static void | simpleDeform_stretch (const float factor, const int UNUSED(axis), const float dcut[3], float r_co[3]) |
| static void | simpleDeform_twist (const float factor, const int UNUSED(axis), 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 | SimpleDeformModifier_do (SimpleDeformModifierData *smd, const ModifierEvalContext *UNUSED(ctx), struct Object *ob, struct Mesh *mesh, float(*vertexCos)[3], int numVerts) |
| static void | initData (ModifierData *md) |
| static void | requiredDataMask (Object *UNUSED(ob), ModifierData *md, CustomData_MeshMasks *r_cddata_masks) |
| static void | foreachIDLink (ModifierData *md, Object *ob, IDWalkFunc walk, void *userData) |
| static void | updateDepsgraph (ModifierData *md, const ModifierUpdateDepsgraphContext *ctx) |
| static void | deformVerts (ModifierData *md, const ModifierEvalContext *ctx, struct Mesh *mesh, float(*vertexCos)[3], int numVerts) |
| static void | deformVertsEM (ModifierData *md, const ModifierEvalContext *ctx, struct BMEditMesh *editData, struct Mesh *mesh, float(*vertexCos)[3], int numVerts) |
| static void | panel_draw (const bContext *UNUSED(C), Panel *panel) |
| static void | restrictions_panel_draw (const bContext *UNUSED(C), Panel *panel) |
| static void | panelRegister (ARegionType *region_type) |
Variables | |
| static const uint | axis_map_table [3][3] |
| ModifierTypeInfo | modifierType_SimpleDeform |
| #define BEND_EPS 0.000001f |
Definition at line 58 of file MOD_simpledeform.c.
Definition at line 86 of file MOD_simpledeform.c.
Referenced by SimpleDeformModifier_do(), and viewrotate_apply_snap().
| BLI_INLINE void copy_v3_v3_map | ( | float | a[3], |
| const float | b[3], | ||
| const uint | map[3] | ||
| ) |
Definition at line 70 of file MOD_simpledeform.c.
References Freestyle::a.
Referenced by SimpleDeformModifier_do().
| BLI_INLINE void copy_v3_v3_unmap | ( | float | a[3], |
| const float | b[3], | ||
| const uint | map[3] | ||
| ) |
Definition at line 77 of file MOD_simpledeform.c.
References Freestyle::a.
Referenced by SimpleDeformModifier_do().
|
static |
Definition at line 417 of file MOD_simpledeform.c.
References BKE_id_free(), ELEM, mesh, MOD_deform_mesh_eval_get(), NULL, OB_MESH, ModifierEvalContext::object, SimpleDeformModifier_do(), Object::type, and SimpleDeformModifierData::vgroup_name.
|
static |
Definition at line 438 of file MOD_simpledeform.c.
References BKE_id_free(), BKE_mesh_wrapper_ensure_mdata(), ELEM, mesh, MOD_deform_mesh_eval_get(), NULL, OB_MESH, ModifierEvalContext::object, SimpleDeformModifier_do(), Object::type, and SimpleDeformModifierData::vgroup_name.
|
static |
Definition at line 401 of file MOD_simpledeform.c.
References IDWALK_CB_NOP, and SimpleDeformModifierData::origin.
|
static |
Definition at line 380 of file MOD_simpledeform.c.
References BLI_assert, DNA_struct_default_get, MEMCMP_STRUCT_AFTER_IS_ZERO, and MEMCPY_STRUCT_AFTER.
Definition at line 465 of file MOD_simpledeform.c.
References ELEM, Panel::layout, MOD_SIMPLEDEFORM_MODE_STRETCH, MOD_SIMPLEDEFORM_MODE_TAPER, modifier_panel_end(), modifier_panel_get_property_pointers(), NULL, ptr, RNA_enum_get(), UI_ITEM_R_EXPAND, uiItemR(), uiLayoutRow(), and uiLayoutSetPropSep().
Referenced by panelRegister().
|
static |
Definition at line 529 of file MOD_simpledeform.c.
References eModifierType_SimpleDeform, modifier_panel_register(), modifier_subpanel_register(), NULL, panel_draw(), and restrictions_panel_draw().
|
static |
Definition at line 389 of file MOD_simpledeform.c.
References CD_MASK_MDEFORMVERT, SimpleDeformModifierData::vgroup_name, and CustomData_MeshMasks::vmask.
Definition at line 493 of file MOD_simpledeform.c.
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(), NULL, ptr, RNA_enum_get(), UI_ITEM_R_FORCE_BLANK_DECORATE, UI_ITEM_R_SLIDER, UI_ITEM_R_TOGGLE, uiItemR(), uiLayoutRowWithHeading(), and uiLayoutSetPropSep().
Referenced by panelRegister().
|
static |
Definition at line 151 of file MOD_simpledeform.c.
References ATTR_FALLTHROUGH, BEND_EPS, BLI_assert, cosf, fabsf, sinf, x, y, and z.
Referenced by SimpleDeformModifier_do().
|
static |
Definition at line 115 of file MOD_simpledeform.c.
References add_v3_v3(), x, y, and z.
Referenced by SimpleDeformModifier_do().
|
static |
Definition at line 100 of file MOD_simpledeform.c.
References add_v3_v3(), x, y, and z.
Referenced by SimpleDeformModifier_do().
|
static |
Definition at line 132 of file MOD_simpledeform.c.
References add_v3_v3(), cosf, sinf, x, y, and z.
Referenced by SimpleDeformModifier_do().
|
static |
Definition at line 209 of file MOD_simpledeform.c.
References ATTR_FALLTHROUGH, SimpleDeformModifierData::axis, axis_limit(), axis_map_table, BEND_EPS, BKE_defvert_array_find_weight_safe(), BLI_space_transform_apply(), BLI_space_transform_invert(), BLI_SPACE_TRANSFORM_SETUP, copy_v3_v3(), copy_v3_v3_map(), copy_v3_v3_unmap(), SimpleDeformModifierData::deform_axis, fabsf, SimpleDeformModifierData::factor, SimpleDeformModifierData::flag, interp_v3_v3v3(), SimpleDeformModifierData::limit, max_ff(), mesh, min_ff(), MOD_get_vgroup(), MOD_SIMPLEDEFORM_FLAG_INVERT_VGROUP, 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, SimpleDeformModifierData::mode, NULL, SimpleDeformModifierData::origin, simpleDeform_bend(), simpleDeform_stretch(), simpleDeform_taper(), simpleDeform_twist(), and SimpleDeformModifierData::vgroup_name.
Referenced by deformVerts(), and deformVertsEM().
|
static |
Definition at line 407 of file MOD_simpledeform.c.
References DEG_add_modifier_to_transform_relation(), DEG_add_object_relation(), DEG_OB_COMP_TRANSFORM, ModifierUpdateDepsgraphContext::node, NULL, and SimpleDeformModifierData::origin.
|
static |
Definition at line 64 of file MOD_simpledeform.c.
Referenced by SimpleDeformModifier_do().
| ModifierTypeInfo modifierType_SimpleDeform |
Definition at line 537 of file MOD_simpledeform.c.