Changeset View
Changeset View
Standalone View
Standalone View
source/blender/editors/transform/transform_conversions.c
- This file is larger than 256 KB, so syntax highlighting is disabled by default.
| Show First 20 Lines • Show All 2,408 Lines • ▼ Show 20 Lines | for (i = 0, point = edit->points; i < edit->totpoint; i++, point++) { | ||||
| head = tail = td; | head = tail = td; | ||||
| if (!(point->flag & PEP_TRANSFORM)) { | if (!(point->flag & PEP_TRANSFORM)) { | ||||
| continue; | continue; | ||||
| } | } | ||||
| if (psys && !(psys->flag & PSYS_GLOBAL_HAIR)) { | if (psys && !(psys->flag & PSYS_GLOBAL_HAIR)) { | ||||
| ParticleSystemModifierData *psmd_eval = edit->psmd_eval; | ParticleSystemModifierData *psmd_eval = edit->psmd_eval; | ||||
| psys_mat_hair_to_global( | Mesh *mesh_final = BKE_particle_modifier_mesh_final_get(psmd_eval); | ||||
| ob, psmd_eval->mesh_final, psys->part->from, psys->particles + i, mat); | psys_mat_hair_to_global(ob, mesh_final, psys->part->from, psys->particles + i, mat); | ||||
| } | } | ||||
| for (k = 0, key = point->keys; k < point->totkey; k++, key++) { | for (k = 0, key = point->keys; k < point->totkey; k++, key++) { | ||||
| if (key->flag & PEK_USE_WCO) { | if (key->flag & PEK_USE_WCO) { | ||||
| copy_v3_v3(key->world_co, key->co); | copy_v3_v3(key->world_co, key->co); | ||||
| mul_m4_v3(mat, key->world_co); | mul_m4_v3(mat, key->world_co); | ||||
| td->loc = key->world_co; | td->loc = key->world_co; | ||||
| } | } | ||||
| ▲ Show 20 Lines • Show All 74 Lines • ▼ Show 20 Lines | FOREACH_TRANS_DATA_CONTAINER (t, tc) { | ||||
| td = tc->data; | td = tc->data; | ||||
| for (i = 0, point = edit->points; i < edit->totpoint; i++, point++, td++) { | for (i = 0, point = edit->points; i < edit->totpoint; i++, point++, td++) { | ||||
| if (!(point->flag & PEP_TRANSFORM)) { | if (!(point->flag & PEP_TRANSFORM)) { | ||||
| continue; | continue; | ||||
| } | } | ||||
| if (psys && !(psys->flag & PSYS_GLOBAL_HAIR)) { | if (psys && !(psys->flag & PSYS_GLOBAL_HAIR)) { | ||||
| ParticleSystemModifierData *psmd_eval = edit->psmd_eval; | ParticleSystemModifierData *psmd_eval = edit->psmd_eval; | ||||
| psys_mat_hair_to_global( | Mesh *mesh_final = BKE_particle_modifier_mesh_final_get(psmd_eval); | ||||
| ob, psmd_eval->mesh_final, psys->part->from, psys->particles + i, mat); | psys_mat_hair_to_global(ob, mesh_final, psys->part->from, psys->particles + i, mat); | ||||
| invert_m4_m4(imat, mat); | invert_m4_m4(imat, mat); | ||||
| for (k = 0, key = point->keys; k < point->totkey; k++, key++) { | for (k = 0, key = point->keys; k < point->totkey; k++, key++) { | ||||
| copy_v3_v3(co, key->world_co); | copy_v3_v3(co, key->world_co); | ||||
| mul_m4_v3(imat, co); | mul_m4_v3(imat, co); | ||||
| /* optimization for proportional edit */ | /* optimization for proportional edit */ | ||||
| if (!is_prop_edit || !compare_v3v3(key->co, co, 0.0001f)) { | if (!is_prop_edit || !compare_v3v3(key->co, co, 0.0001f)) { | ||||
| ▲ Show 20 Lines • Show All 7,165 Lines • Show Last 20 Lines | |||||