|
Blender V5.0
|
#include "BLI_utildefines.h"#include "BLI_math_matrix.h"#include "BLI_math_vector.h"#include "BLT_translation.hh"#include "DNA_camera_types.h"#include "DNA_defaults.h"#include "DNA_mesh_types.h"#include "DNA_object_types.h"#include "DNA_screen_types.h"#include "BKE_attribute.hh"#include "BKE_camera.h"#include "BKE_customdata.hh"#include "BKE_lib_query.hh"#include "BKE_mesh.hh"#include "BKE_uvproject.h"#include "UI_interface_layout.hh"#include "UI_resources.hh"#include "RNA_access.hh"#include "RNA_prototypes.hh"#include "MOD_modifiertypes.hh"#include "MOD_ui_common.hh"#include "MEM_guardedalloc.h"#include "DEG_depsgraph_build.hh"Go to the source code of this file.
Classes | |
| struct | Projector |
Functions | |
| static void | init_data (ModifierData *md) |
| static void | required_data_mask (ModifierData *, 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 blender::bke::SpanAttributeWriter< blender::float2 > | get_uv_attribute (Mesh &mesh, const blender::StringRef md_name) |
| static Mesh * | uvprojectModifier_do (UVProjectModifierData *umd, const ModifierEvalContext *, Object *ob, Mesh *mesh) |
| static Mesh * | modify_mesh (ModifierData *md, const ModifierEvalContext *ctx, Mesh *mesh) |
| static void | panel_draw (const bContext *, Panel *panel) |
| static void | panel_register (ARegionType *region_type) |
Variables | |
| ModifierTypeInfo | modifierType_UVProject |
|
static |
Definition at line 59 of file MOD_uvproject.cc.
References i, IDWALK_CB_NOP, MOD_UVPROJECT_MAXPROJECTORS, and UVProjectModifierData::projectors.
|
static |
Definition at line 90 of file MOD_uvproject.cc.
References BKE_attribute_calc_unique_name(), CD_PROP_FLOAT2, blender::bke::Corner, Mesh::corner_data, CustomData_get_active_layer_name(), AttributeOwner::from_id(), Mesh::id, blender::StringRefBase::is_empty(), blender::bke::MutableAttributeAccessor::lookup_or_add_for_write_span(), and name.
Referenced by uvprojectModifier_do().
|
static |
Definition at line 44 of file MOD_uvproject.cc.
References BLI_assert, DNA_struct_default_get, MEMCMP_STRUCT_AFTER_IS_ZERO, and MEMCPY_STRUCT_AFTER.
|
static |
Definition at line 286 of file MOD_uvproject.cc.
References ModifierEvalContext::object, result, and uvprojectModifier_do().
Definition at line 296 of file MOD_uvproject.cc.
References uiLayout::active_set(), uiLayout::column(), IFACE_, Panel::layout, modifier_error_message_draw(), modifier_panel_get_property_pointers(), OB_CAMERA, uiLayout::prop(), uiLayout::prop_search(), ptr, RNA_BEGIN, RNA_END, RNA_enum_get(), RNA_pointer_get(), RNA_pointer_is_null(), UI_ITEM_NONE, and uiLayout::use_property_split_set().
|
static |
Definition at line 340 of file MOD_uvproject.cc.
References eModifierType_UVProject, modifier_panel_register(), and panel_draw().
|
static |
Definition at line 53 of file MOD_uvproject.cc.
References CD_MASK_PROP_FLOAT2, and CustomData_MeshMasks::lmask.
|
static |
Definition at line 67 of file MOD_uvproject.cc.
References DEG_add_depends_on_transform_relation(), DEG_add_object_relation(), DEG_OB_COMP_TRANSFORM, i, ModifierUpdateDepsgraphContext::node, UVProjectModifierData::projectors, and UVProjectModifierData::projectors_num.
|
static |
Definition at line 110 of file MOD_uvproject.cc.
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_uvproject_camera_info(), BKE_uvproject_camera_info_scale(), BKE_uvproject_from_camera(), CAM_PANO, copy_m4_m4(), copy_v2_v2(), Object::data, dot_v3v3(), blender::bke::mesh::face_normal_calc(), faces, blender::bke::SpanAttributeWriter< T >::finish(), get_uv_attribute(), i, invert_m4_m4(), MEM_freeN(), MOD_UVPROJECT_MAXPROJECTORS, mul_m4_m4m4(), mul_mat3_m4_fl(), mul_mat3_m4_v3(), mul_project_m4_v3(), mul_v2_project_m4_v3(), mul_v3_m4v3(), Projector::normal, Projector::ob, OB_CAMERA, params, UVProjectModifierData::projectors, UVProjectModifierData::projectors_num, Projector::projmat, Mesh::runtime, UVProjectModifierData::scalex, UVProjectModifierData::scaley, Array< T, InlineBufferCapacity, Allocator >::size(), Span< T >::size(), Span< T >::slice(), blender::bke::SpanAttributeWriter< T >::span, Camera::type, Object::type, Projector::uci, unit_m4(), and UVProjectModifierData::uvlayer_name.
Referenced by modify_mesh().
| ModifierTypeInfo modifierType_UVProject |
Definition at line 345 of file MOD_uvproject.cc.