|
Blender V4.3
|
#include <algorithm>#include <cmath>#include <cstdio>#include <cstdlib>#include <cstring>#include "MEM_guardedalloc.h"#include "BLI_math_matrix.h"#include "BLI_math_vector.h"#include "BLI_simd.hh"#include "BLI_task.h"#include "BLI_utildefines.h"#include "DNA_curve_types.h"#include "DNA_lattice_types.h"#include "DNA_mesh_types.h"#include "DNA_meshdata_types.h"#include "DNA_object_types.h"#include "BKE_curve.hh"#include "BKE_displist.h"#include "BKE_editmesh.hh"#include "BKE_key.hh"#include "BKE_lattice.hh"#include "BKE_modifier.hh"#include "BKE_object.hh"#include "BKE_object_types.hh"#include "BKE_deform.hh"Go to the source code of this file.
Classes | |
| struct | LatticeDeformData |
| struct | LatticeDeformUserdata |
Functions | |
Lattice Deform API | |
| LatticeDeformData * | BKE_lattice_deform_data_create (const Object *oblatt, const Object *ob) |
| 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) |
Lattice Deform #BKE_lattice_deform_coords API | |
BKE_lattice_deform_coords and related functions. | |
| static void | lattice_deform_vert_with_dvert (const LatticeDeformUserdata *data, const int index, const MDeformVert *dvert) |
| static void | lattice_deform_vert_task (void *__restrict userdata, const int index, const TaskParallelTLS *__restrict) |
| static void | lattice_vert_task_editmesh (void *__restrict userdata, MempoolIterData *iter, const TaskParallelTLS *__restrict) |
| static void | lattice_vert_task_editmesh_no_dvert (void *__restrict userdata, MempoolIterData *iter, const TaskParallelTLS *__restrict) |
| static void | lattice_deform_coords_impl (const Object *ob_lattice, const Object *ob_target, float(*vert_coords)[3], const int vert_coords_len, const short flag, const char *defgrp_name, const float fac, const Mesh *me_target, const BMEditMesh *em_target) |
| void | BKE_lattice_deform_coords (const Object *ob_lattice, const Object *ob_target, float(*vert_coords)[3], const int vert_coords_len, const 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], const int vert_coords_len, const short flag, const char *defgrp_name, const 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], const int vert_coords_len, const short flag, const char *defgrp_name, const float fac, const BMEditMesh *em_target) |
Deform coordinates by a lattice object (used by modifier).
Definition in file lattice_deform.cc.
| void BKE_lattice_deform_coords | ( | const Object * | ob_lattice, |
| const Object * | ob_target, | ||
| float(*) | vert_coords[3], | ||
| const int | vert_coords_len, | ||
| const 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], | ||
| const int | vert_coords_len, | ||
| const short | flag, | ||
| const char * | defgrp_name, | ||
| const 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], | ||
| const int | vert_coords_len, | ||
| const short | flag, | ||
| const char * | defgrp_name, | ||
| const 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().
|
static |
Definition at line 335 of file lattice_deform.cc.
References BKE_id_defgroup_name_index(), BKE_lattice_deform_data_create(), BKE_lattice_deform_data_destroy(), BLI_parallel_mempool_settings_defaults(), BLI_parallel_range_settings_defaults(), BLI_task_parallel_mempool(), BLI_task_parallel_range(), BMEditMesh::bm, BM_mesh_elem_index_ensure(), BM_VERT, CD_MDEFORMVERT, CustomData_get_layer(), CustomData_get_offset(), Object::data, ELEM, flag, Mesh::id, LatticeDeformUserdata::lattice_deform_data, lattice_deform_vert_task(), lattice_vert_task_editmesh(), lattice_vert_task_editmesh_no_dvert(), MOD_LATTICE_INVERT_VGROUP, OB_LATTICE, OB_MESH, Object::type, BMesh::vdata, Mesh::vert_data, and BMesh::vpool.
Referenced by BKE_lattice_deform_coords(), BKE_lattice_deform_coords_with_editmesh(), and BKE_lattice_deform_coords_with_mesh().
|
static |
Definition at line 307 of file lattice_deform.cc.
References lattice_deform_vert_with_dvert().
Referenced by lattice_deform_coords_impl().
|
static |
Definition at line 288 of file lattice_deform.cc.
References BKE_defvert_find_weight(), and BKE_lattice_deform_data_eval_co().
Referenced by lattice_deform_vert_task(), lattice_vert_task_editmesh(), and lattice_vert_task_editmesh_no_dvert().
|
static |
Definition at line 315 of file lattice_deform.cc.
References BM_ELEM_CD_GET_VOID_P, BM_elem_index_get, lattice_deform_vert_with_dvert(), and v.
Referenced by lattice_deform_coords_impl().
|
static |
Definition at line 326 of file lattice_deform.cc.
References BM_elem_index_get, lattice_deform_vert_with_dvert(), and v.
Referenced by lattice_deform_coords_impl().