Blender
V3.3
|
#include <string.h>
#include "BLI_utildefines.h"
#include "BLI_math.h"
#include "BLI_task.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_action.h"
#include "BKE_context.h"
#include "BKE_deform.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 "RNA_prototypes.h"
#include "DEG_depsgraph_query.h"
#include "MOD_ui_common.h"
#include "MOD_util.h"
Go to the source code of this file.
Classes | |
struct | UVWarpData |
Typedefs | |
typedef struct UVWarpData | UVWarpData |
Functions | |
static void | uv_warp_from_mat4_pair (float uv_dst[2], const float uv_src[2], const float warp_mat[4][4]) |
static void | initData (ModifierData *md) |
static void | requiredDataMask (Object *UNUSED(ob), ModifierData *md, CustomData_MeshMasks *r_cddata_masks) |
static void | matrix_from_obj_pchan (float mat[4][4], Object *ob, const char *bonename) |
static void | uv_warp_compute (void *__restrict userdata, const int i, const TaskParallelTLS *__restrict UNUSED(tls)) |
static Mesh * | modifyMesh (ModifierData *md, const ModifierEvalContext *ctx, Mesh *mesh) |
static void | foreachIDLink (ModifierData *md, Object *ob, IDWalkFunc walk, void *userData) |
static void | updateDepsgraph (ModifierData *md, const ModifierUpdateDepsgraphContext *ctx) |
static void | panel_draw (const bContext *UNUSED(C), Panel *panel) |
static void | transform_panel_draw (const bContext *UNUSED(C), Panel *panel) |
static void | panelRegister (ARegionType *region_type) |
Variables | |
ModifierTypeInfo | modifierType_UVWarp |
typedef struct UVWarpData UVWarpData |
|
static |
Definition at line 228 of file MOD_uvwarp.c.
References IDWALK_CB_NOP, UVWarpModifierData::object_dst, and UVWarpModifierData::object_src.
|
static |
Definition at line 51 of file MOD_uvwarp.c.
References BLI_assert, DNA_struct_default_get, MEMCMP_STRUCT_AFTER_IS_ZERO, and MEMCPY_STRUCT_AFTER.
Definition at line 72 of file MOD_uvwarp.c.
References BKE_pose_channel_find_name(), copy_m4_m4(), mul_m4_m4m4(), Object::obmat, Object::pose, and bPoseChannel::pose_mat.
Referenced by modifyMesh().
|
static |
Definition at line 130 of file MOD_uvwarp.c.
References UVWarpModifierData::axis_u, UVWarpModifierData::axis_v, BLI_parallel_range_settings_defaults(), BLI_task_parallel_range(), UVWarpModifierData::bone_dst, UVWarpModifierData::bone_src, CD_MLOOPUV, UVWarpModifierData::center, CustomData_duplicate_referenced_layer_named(), CustomData_has_layer(), CustomData_validate_layer_name(), data, ELEM, UVWarpModifierData::flag, invert_m4_m4(), Mesh_Runtime::is_original, is_zero_v2(), Mesh::ldata, matrix_from_obj_pchan(), MAX_CUSTOMDATA_LAYER_NAME, mesh, Mesh::mloop, MOD_get_vgroup(), MOD_UVWARP_INVERT_VGROUP, Mesh::mpoly, mul_m4_m4m4(), NULL, ModifierEvalContext::object, UVWarpModifierData::object_dst, UVWarpModifierData::object_src, UVWarpModifierData::offset, rescale_m4(), rotate_m4(), UVWarpModifierData::rotation, Mesh::runtime, UVWarpModifierData::scale, shuffle_m4(), Mesh::totloop, Mesh::totpoly, translate_m4(), transpose_m4(), unit_m4(), TaskParallelSettings::use_threading, uv_warp_compute(), UVWarpModifierData::uvlayer_name, and UVWarpModifierData::vgroup_name.
Definition at line 248 of file MOD_uvwarp.c.
References col, IFACE_, Panel::layout, modifier_panel_end(), modifier_panel_get_property_pointers(), modifier_vgroup_ui(), NULL, OB_ARMATURE, ptr, RNA_enum_get(), RNA_pointer_get(), RNA_pointer_is_null(), uiItemPointerR(), uiItemR(), uiLayoutColumn(), and uiLayoutSetPropSep().
Referenced by panelRegister().
|
static |
Definition at line 303 of file MOD_uvwarp.c.
References eModifierType_UVWarp, modifier_panel_register(), modifier_subpanel_register(), NULL, panel_draw(), and transform_panel_draw().
|
static |
Definition at line 60 of file MOD_uvwarp.c.
References CD_MASK_MDEFORMVERT, UVWarpModifierData::vgroup_name, and CustomData_MeshMasks::vmask.
Definition at line 290 of file MOD_uvwarp.c.
References Panel::layout, modifier_panel_get_property_pointers(), NULL, ptr, uiItemR(), and uiLayoutSetPropSep().
Referenced by panelRegister().
|
static |
Definition at line 236 of file MOD_uvwarp.c.
References UVWarpModifierData::bone_dst, UVWarpModifierData::bone_src, DEG_add_modifier_to_transform_relation(), MOD_depsgraph_update_object_bone_relation(), ModifierUpdateDepsgraphContext::node, UVWarpModifierData::object_dst, and UVWarpModifierData::object_src.
|
static |
Definition at line 95 of file MOD_uvwarp.c.
References BKE_defvert_find_weight(), data, float(), interp_v2_v2v2(), l, MPoly::loopstart, MPoly::totloop, MLoopUV::uv, and uv_warp_from_mat4_pair().
Referenced by modifyMesh().
|
static |
Definition at line 40 of file MOD_uvwarp.c.
References copy_v2_v2(), and mul_m4_v3().
Referenced by uv_warp_compute().
ModifierTypeInfo modifierType_UVWarp |
Definition at line 310 of file MOD_uvwarp.c.