Blender
V3.3
|
#include "BLI_utildefines.h"
#include "BLI_math.h"
#include "BLI_uvproject.h"
#include "BLT_translation.h"
#include "DNA_camera_types.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_camera.h"
#include "BKE_context.h"
#include "BKE_lib_query.h"
#include "BKE_material.h"
#include "BKE_mesh.h"
#include "BKE_screen.h"
#include "UI_interface.h"
#include "UI_resources.h"
#include "RNA_access.h"
#include "RNA_prototypes.h"
#include "MOD_modifiertypes.h"
#include "MOD_ui_common.h"
#include "MEM_guardedalloc.h"
#include "DEG_depsgraph.h"
#include "DEG_depsgraph_build.h"
#include "DEG_depsgraph_query.h"
Go to the source code of this file.
Classes | |
struct | Projector |
Typedefs | |
typedef struct Projector | Projector |
Functions | |
static void | initData (ModifierData *md) |
static void | requiredDataMask (Object *UNUSED(ob), ModifierData *UNUSED(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 Mesh * | uvprojectModifier_do (UVProjectModifierData *umd, const ModifierEvalContext *UNUSED(ctx), Object *ob, Mesh *mesh) |
static Mesh * | modifyMesh (ModifierData *md, const ModifierEvalContext *ctx, Mesh *mesh) |
static void | panel_draw (const bContext *UNUSED(C), Panel *panel) |
static void | panelRegister (ARegionType *region_type) |
Variables | |
ModifierTypeInfo | modifierType_UVProject |
|
static |
Definition at line 63 of file MOD_uvproject.c.
References IDWALK_CB_NOP, MOD_UVPROJECT_MAXPROJECTORS, and UVProjectModifierData::projectors.
|
static |
Definition at line 46 of file MOD_uvproject.c.
References BLI_assert, DNA_struct_default_get, MEMCMP_STRUCT_AFTER_IS_ZERO, and MEMCPY_STRUCT_AFTER.
|
static |
Definition at line 292 of file MOD_uvproject.c.
References mesh, ModifierEvalContext::object, result, and uvprojectModifier_do().
Definition at line 302 of file MOD_uvproject.c.
References IFACE_, Panel::layout, modifier_panel_end(), modifier_panel_get_property_pointers(), NULL, OB_CAMERA, ptr, RNA_BEGIN, RNA_END, RNA_enum_get(), RNA_pointer_get(), RNA_pointer_is_null(), uiItemPointerR(), uiItemR(), uiLayoutColumn(), uiLayoutSetActive(), and uiLayoutSetPropSep().
Referenced by panelRegister().
|
static |
Definition at line 346 of file MOD_uvproject.c.
References eModifierType_UVProject, modifier_panel_register(), and panel_draw().
|
static |
Definition at line 55 of file MOD_uvproject.c.
References CD_MASK_MLOOPUV, and CustomData_MeshMasks::lmask.
|
static |
Definition at line 71 of file MOD_uvproject.c.
References DEG_add_modifier_to_transform_relation(), DEG_add_object_relation(), DEG_OB_COMP_TRANSFORM, ModifierUpdateDepsgraphContext::node, NULL, UVProjectModifierData::projectors, and UVProjectModifierData::projectors_num.
|
static |
Definition at line 94 of file MOD_uvproject.c.
References UVProjectModifierData::aspectx, UVProjectModifierData::aspecty, BKE_camera_params_compute_matrix(), BKE_camera_params_compute_viewplane(), BKE_camera_params_from_object(), BKE_camera_params_init(), BKE_mesh_calc_poly_normal_coords(), BKE_mesh_vert_coords_alloc(), BLI_uvproject_camera_info(), BLI_uvproject_camera_info_scale(), BLI_uvproject_from_camera(), CAM_PANO, CD_DEFAULT, CD_MLOOPUV, copy_m4_m4(), copy_v2_v2(), CustomData_add_layer_named(), CustomData_duplicate_referenced_layer_named(), CustomData_has_layer(), CustomData_validate_layer_name(), Object::data, dot_v3v3(), float(), if(), invert_m4_m4(), Mesh_Runtime::is_original, Mesh::ldata, MPoly::loopstart, MAX_CUSTOMDATA_LAYER_NAME, MEM_freeN, mesh, Mesh::mloop, MOD_UVPROJECT_MAXPROJECTORS, Mesh::mpoly, mul_m4_m4m4(), mul_m4_v3(), mul_mat3_m4_fl(), mul_mat3_m4_v3(), mul_project_m4_v3(), mul_v2_project_m4_v3(), normal, Projector::normal, NULL, Projector::ob, OB_CAMERA, Object::obmat, params, UVProjectModifierData::projectors, UVProjectModifierData::projectors_num, Projector::projmat, Mesh::runtime, UVProjectModifierData::scalex, UVProjectModifierData::scaley, Mesh::totloop, MPoly::totloop, Mesh::totpoly, Camera::type, Object::type, Projector::uci, unit_m4(), UVProjectModifierData::uvlayer_name, and MLoop::v.
Referenced by modifyMesh().
ModifierTypeInfo modifierType_UVProject |
Definition at line 351 of file MOD_uvproject.c.