|
Blender V4.3
|
#include <optional>#include "BLI_bounds_types.hh"#include "BLI_compiler_attrs.h"#include "BLI_math_vector_types.hh"#include "BLI_sys_types.h"Go to the source code of this file.
Enumerations | |
| enum | { BKE_LATTICE_BATCH_DIRTY_ALL = 0 , BKE_LATTICE_BATCH_DIRTY_SELECT } |
Functions | |
| void | BKE_lattice_resize (Lattice *lt, int u_new, int v_new, int w_new, Object *lt_ob) |
| Lattice * | BKE_lattice_add (Main *bmain, const char *name) |
| void | calc_lat_fudu (int flag, int res, float *r_fu, float *r_du) |
| void | outside_lattice (Lattice *lt) |
| float(* | BKE_lattice_vert_coords_alloc (const Lattice *lt, int *r_vert_len))[3] |
| void | BKE_lattice_vert_coords_get (const Lattice *lt, float(*vert_coords)[3]) |
| void | BKE_lattice_vert_coords_apply_with_mat4 (Lattice *lt, const float(*vert_coords)[3], const float mat[4][4]) |
| void | BKE_lattice_vert_coords_apply (Lattice *lt, const float(*vert_coords)[3]) |
| void | BKE_lattice_modifiers_calc (Depsgraph *depsgraph, Scene *scene, Object *ob) |
| MDeformVert * | BKE_lattice_deform_verts_get (const Object *oblatt) |
| BPoint * | BKE_lattice_active_point_get (Lattice *lt) |
| std::optional< blender::Bounds< blender::float3 > > | BKE_lattice_minmax (const Lattice *lt) |
| void | BKE_lattice_center_median (Lattice *lt, float cent[3]) |
| void | BKE_lattice_translate (Lattice *lt, const float offset[3], bool do_keys) |
| void | BKE_lattice_transform (Lattice *lt, const float mat[4][4], bool do_keys) |
| bool | BKE_lattice_is_any_selected (const Lattice *lt) |
| int | BKE_lattice_index_from_uvw (const Lattice *lt, int u, int v, int w) |
| void | BKE_lattice_index_to_uvw (const Lattice *lt, int index, int *r_u, int *r_v, int *r_w) |
| int | BKE_lattice_index_flip (const Lattice *lt, int index, bool flip_u, bool flip_v, bool flip_w) |
| void | BKE_lattice_bitmap_from_flag (const Lattice *lt, unsigned int *bitmap, uint8_t flag, bool clear, bool respecthide) |
| void | BKE_lattice_eval_geometry (Depsgraph *depsgraph, Lattice *latt) |
| void | BKE_lattice_batch_cache_dirty_tag (Lattice *lt, int mode) |
| void | BKE_lattice_batch_cache_free (Lattice *lt) |
Deform 3D Coordinates by Lattice (<tt>lattice_deform.cc</tt>) | |
| LatticeDeformData * | BKE_lattice_deform_data_create (const Object *oblatt, const Object *ob) ATTR_WARN_UNUSED_RESULT |
| void | BKE_lattice_deform_data_eval_co (LatticeDeformData *lattice_deform_data, float co[3], float weight) |
| void | BKE_lattice_deform_data_destroy (LatticeDeformData *lattice_deform_data) |
| void | BKE_lattice_deform_coords (const Object *ob_lattice, const Object *ob_target, float(*vert_coords)[3], int vert_coords_len, short flag, const char *defgrp_name, float fac) |
| void | BKE_lattice_deform_coords_with_mesh (const Object *ob_lattice, const Object *ob_target, float(*vert_coords)[3], int vert_coords_len, short flag, const char *defgrp_name, float fac, const Mesh *me_target) |
| void | BKE_lattice_deform_coords_with_editmesh (const Object *ob_lattice, const Object *ob_target, float(*vert_coords)[3], int vert_coords_len, short flag, const char *defgrp_name, float fac, const BMEditMesh *em_target) |
Variables | |
| void(* | BKE_lattice_batch_cache_dirty_tag_cb )(Lattice *lt, int mode) |
| void(* | BKE_lattice_batch_cache_free_cb )(Lattice *lt) |
| anonymous enum |
| Enumerator | |
|---|---|
| BKE_LATTICE_BATCH_DIRTY_ALL | |
| BKE_LATTICE_BATCH_DIRTY_SELECT | |
Definition at line 64 of file BKE_lattice.hh.
Definition at line 582 of file lattice.cc.
References Lattice::actbp, BLI_assert, Lattice::def, Lattice::editlatt, GS, Lattice::id, ID_LT, EditLatt::latt, LT_ACTBP_NONE, ID::name, Lattice::pntsu, Lattice::pntsv, and Lattice::pntsw.
Referenced by blender::ed::object::calc_active_center_for_editmode(), and blender::ed::object::vgroup_select_verts().
Definition at line 388 of file lattice.cc.
References BKE_id_new(), and ID_LT.
Referenced by BKE_object_obdata_add_from_type().
Definition at line 710 of file lattice.cc.
References Lattice::batch_cache, and BKE_lattice_batch_cache_dirty_tag_cb.
Referenced by BKE_object_batch_cache_dirty_tag(), and BKE_object_data_select_update().
| void BKE_lattice_batch_cache_free | ( | Lattice * | lt | ) |
Definition at line 716 of file lattice.cc.
References Lattice::batch_cache, and BKE_lattice_batch_cache_free_cb.
Referenced by lattice_free_data().
| void BKE_lattice_bitmap_from_flag | ( | const Lattice * | lt, |
| unsigned int * | bitmap, | ||
| uint8_t | flag, | ||
| bool | clear, | ||
| bool | respecthide ) |
Definition at line 235 of file lattice.cc.
References BLI_BITMAP_DISABLE, BLI_BITMAP_ENABLE, clear(), Lattice::def, BPoint::f1, flag, BPoint::hide, Lattice::pntsu, Lattice::pntsv, and Lattice::pntsw.
Referenced by ed_lattice_select_mirrored(), and lattice_select_more_less().
Definition at line 599 of file lattice.cc.
References add_v3_v3(), Lattice::def, Lattice::editlatt, EditLatt::latt, mul_v3_fl(), Lattice::pntsu, Lattice::pntsv, Lattice::pntsw, BPoint::vec, and zero_v3().
Referenced by blender::ed::object::object_origin_set_exec().
| void BKE_lattice_deform_coords | ( | const Object * | ob_lattice, |
| const Object * | ob_target, | ||
| float(*) | vert_coords[3], | ||
| int | vert_coords_len, | ||
| short | flag, | ||
| const char * | defgrp_name, | ||
| float | fac ) |
Definition at line 417 of file lattice_deform.cc.
References flag, and lattice_deform_coords_impl().
Referenced by BKE_lattice_resize(), and BKE_mball_data_update().
| void BKE_lattice_deform_coords_with_editmesh | ( | const Object * | ob_lattice, |
| const Object * | ob_target, | ||
| float(*) | vert_coords[3], | ||
| int | vert_coords_len, | ||
| short | flag, | ||
| const char * | defgrp_name, | ||
| float | fac, | ||
| const BMEditMesh * | em_target ) |
Definition at line 456 of file lattice_deform.cc.
References flag, and lattice_deform_coords_impl().
Referenced by deform_verts_EM().
| void BKE_lattice_deform_coords_with_mesh | ( | const Object * | ob_lattice, |
| const Object * | ob_target, | ||
| float(*) | vert_coords[3], | ||
| int | vert_coords_len, | ||
| short | flag, | ||
| const char * | defgrp_name, | ||
| float | fac, | ||
| const Mesh * | me_target ) |
Definition at line 436 of file lattice_deform.cc.
References flag, and lattice_deform_coords_impl().
Referenced by deform_verts().
| LatticeDeformData * BKE_lattice_deform_data_create | ( | const Object * | oblatt, |
| const Object * | ob ) |
Definition at line 58 of file lattice_deform.cc.
References BKE_defvert_find_weight(), BKE_displist_find(), BKE_id_defgroup_name_index(), BKE_lattice_deform_verts_get(), BKE_object_get_lattice(), copy_m4_m4(), Lattice::def, DL_VERTS, Lattice::du, Lattice::dv, Lattice::dw, Lattice::fu, Lattice::fv, Lattice::fw, Lattice::id, invert_m4_m4(), LatticeDeformData::latmat, LatticeDeformData::lattice_weights, LatticeDeformData::latticedata, LatticeDeformData::lt, MEM_malloc_arrayN, MEM_mallocN, mul_m4_m4m4(), mul_mat3_m4_v3(), Lattice::pntsu, Lattice::pntsv, Lattice::pntsw, Object::runtime, v, BPoint::vec, DispList::verts, Lattice::vgroup, and w().
Referenced by lattice_deform_coords_impl(), blender::modify_geometry_set(), and psys_sim_data_init().
| void BKE_lattice_deform_data_destroy | ( | LatticeDeformData * | lattice_deform_data | ) |
Definition at line 257 of file lattice_deform.cc.
References LatticeDeformData::latticedata, and MEM_freeN().
Referenced by gpencil_modifier_free_data(), lattice_deform_coords_impl(), blender::modify_geometry_set(), and psys_sim_data_free().
| void BKE_lattice_deform_data_eval_co | ( | LatticeDeformData * | lattice_deform_data, |
| float | co[3], | ||
| float | weight ) |
Definition at line 145 of file lattice_deform.cc.
References BLI_assert, copy_v3_v3(), Lattice::du, Lattice::dv, Lattice::dw, floor(), Lattice::fu, Lattice::fv, Lattice::fw, int, interp_v3_v3v3(), key_curve_position_weights(), LatticeDeformData::latmat, LatticeDeformData::lattice_weights, LatticeDeformData::latticedata, LatticeDeformData::lt, madd_v3_v3fl(), mul_v3_m4v3(), Lattice::pntsu, Lattice::pntsv, Lattice::pntsw, Lattice::typeu, Lattice::typev, Lattice::typew, v, and w().
Referenced by lattice_deform_vert_with_dvert(), blender::modify_curves(), psys_apply_hair_lattice(), psys_cache_paths(), psys_get_particle_on_path(), and psys_get_particle_state().
| MDeformVert * BKE_lattice_deform_verts_get | ( | const Object * | oblatt | ) |
Definition at line 575 of file lattice.cc.
References BKE_object_get_lattice(), BLI_assert, Lattice::dvert, OB_LATTICE, and Object::type.
Referenced by BKE_lattice_deform_data_create(), and MOD_get_vgroup().
| void BKE_lattice_eval_geometry | ( | Depsgraph * | depsgraph, |
| Lattice * | latt ) |
Definition at line 703 of file lattice.cc.
Referenced by blender::deg::DepsgraphNodeBuilder::build_object_data_geometry_datablock().
Definition at line 213 of file lattice.cc.
References BKE_lattice_index_from_uvw(), BKE_lattice_index_to_uvw(), Lattice::pntsu, Lattice::pntsv, Lattice::pntsw, v, and w().
Referenced by ed_lattice_select_mirrored().
Definition at line 195 of file lattice.cc.
References Lattice::pntsu, Lattice::pntsv, v, and w().
Referenced by BKE_lattice_index_flip(), latt_bp(), lattice_flip_point_value(), lattice_swap_point_pairs(), lattice_test_bitmap_uvw(), blender::ed::object::object_shape_key_mirror(), and blender::ed::object::vgroup_mirror().
Definition at line 203 of file lattice.cc.
References Lattice::pntsu, and Lattice::pntsv.
Referenced by BKE_lattice_index_flip().
| bool BKE_lattice_is_any_selected | ( | const Lattice * | lt | ) |
Definition at line 685 of file lattice.cc.
References Lattice::def, BPoint::f1, BPoint::hide, Lattice::pntsu, Lattice::pntsv, Lattice::pntsw, and SELECT.
Referenced by lattice_select_all_exec().
| std::optional< blender::Bounds< blender::float3 > > BKE_lattice_minmax | ( | const Lattice * | lt | ) |
Definition at line 617 of file lattice.cc.
References Lattice::def, Lattice::editlatt, EditLatt::latt, min, minmax_v3v3_v3(), Lattice::pntsu, Lattice::pntsv, Lattice::pntsw, and BPoint::vec.
Referenced by BKE_object_boundbox_get(), and blender::ed::object::object_origin_set_exec().
Definition at line 516 of file lattice.cc.
References BKE_id_copy_ex(), BKE_lattice_vert_coords_alloc(), BKE_lattice_vert_coords_apply(), BKE_modifier_get_info(), BKE_modifiers_get_virtual_modifierlist(), BKE_object_eval_assign_data(), BKE_object_free_derived_caches(), BKE_object_get_evaluated_lattice(), BKE_object_get_lattice(), Object::data, ModifierTypeInfo::deform_verts, depsgraph, Lattice::editlatt, eModifierMode_Editmode, eModifierMode_Realtime, eModifierTypeFlag_AcceptsVertexCosOnly, ModifierTypeInfo::flags, float, Lattice::id, ModifierTypeInfo::is_disabled, LIB_ID_COPY_LOCALIZE, MEM_callocN, MEM_freeN(), ModifierData::mode, ModifierData::next, OnlyDeform, Object::runtime, ModifierData::type, and ModifierTypeInfo::type.
Referenced by BKE_object_handle_data_update(), and blender::ed::object::object_force_modifier_update_for_bind().
Definition at line 273 of file lattice.cc.
References Lattice::actbp, BKE_defvert_array_free(), BKE_displist_free(), BKE_lattice_deform_coords(), calc_lat_fudu(), copy_m4_m4(), copy_v3_v3(), Lattice::def, Lattice::du, Lattice::dv, Lattice::dvert, Lattice::dw, Lattice::flag, Lattice::fu, Lattice::fv, Lattice::fw, KEY_LINEAR, LT_ACTBP_NONE, MEM_callocN, MEM_freeN(), MEM_mallocN, Lattice::pntsu, Lattice::pntsv, Lattice::pntsw, Object::runtime, Lattice::typeu, Lattice::typev, Lattice::typew, unit_m4(), v, BPoint::vec, and w().
Referenced by lattice_init_data(), and make_regular_exec().
Definition at line 637 of file lattice.cc.
References Key::block, Lattice::def, Lattice::key, LISTBASE_FOREACH, mul_m4_v3(), Lattice::pntsu, Lattice::pntsv, Lattice::pntsw, and BPoint::vec.
Referenced by blender::ed::object::apply_objects_internal(), and BKE_object_obdata_size_init().
Definition at line 657 of file lattice.cc.
References add_v3_v3(), Key::block, Lattice::def, Lattice::editlatt, Lattice::key, EditLatt::latt, LISTBASE_FOREACH, Lattice::pntsu, Lattice::pntsv, Lattice::pntsw, and BPoint::vec.
Referenced by blender::ed::object::object_origin_set_exec().
Definition at line 489 of file lattice.cc.
References BKE_lattice_vert_coords_get(), float, MEM_mallocN, Lattice::pntsu, Lattice::pntsv, and Lattice::pntsw.
Referenced by BKE_lattice_modifiers_calc(), and blender::ed::object::modifier_apply_obdata().
Definition at line 508 of file lattice.cc.
References copy_v3_v3(), Lattice::def, Lattice::pntsu, Lattice::pntsv, Lattice::pntsw, and BPoint::vec.
Referenced by BKE_lattice_modifiers_calc(), blender::ed::object::data_xform_restore(), and blender::ed::object::modifier_apply_obdata().
| void BKE_lattice_vert_coords_apply_with_mat4 | ( | Lattice * | lt, |
| const float(*) | vert_coords[3], | ||
| const float | mat[4][4] ) |
Definition at line 498 of file lattice.cc.
References Lattice::def, mul_v3_m4v3(), Lattice::pntsu, Lattice::pntsv, Lattice::pntsw, and BPoint::vec.
Referenced by blender::ed::object::data_xform_by_mat4().
Definition at line 481 of file lattice.cc.
References copy_v3_v3(), Lattice::def, Lattice::pntsu, Lattice::pntsv, Lattice::pntsw, and BPoint::vec.
Referenced by BKE_lattice_vert_coords_alloc(), and blender::ed::object::data_xform_create_ex().
Definition at line 257 of file lattice.cc.
Referenced by BKE_lattice_resize(), and blo_do_versions_pre250().
| void outside_lattice | ( | Lattice * | lt | ) |
Definition at line 402 of file lattice.cc.
References Lattice::def, BPoint::f1, Lattice::flag, float, BPoint::hide, latt_bp(), LT_OUTSIDE, mul_v3_fl(), Lattice::pntsu, Lattice::pntsv, Lattice::pntsw, v, BPoint::vec, and w().
Referenced by do_latt_key(), ED_transverts_update_obedit(), and recalcData_lattice().
|
extern |
Definition at line 707 of file lattice.cc.
Referenced by BKE_lattice_batch_cache_dirty_tag(), and DRW_engines_register().
Definition at line 708 of file lattice.cc.
Referenced by BKE_lattice_batch_cache_free(), and DRW_engines_register().