Changeset View
Changeset View
Standalone View
Standalone View
source/blender/editors/curves/intern/curves_ops.cc
| Show First 20 Lines • Show All 459 Lines • ▼ Show 20 Lines | LISTBASE_FOREACH (ModifierData *, md, &ob_from_eval->modifiers) { | ||||
| ParticleSystemModifierData *psmd = reinterpret_cast<ParticleSystemModifierData *>(md); | ParticleSystemModifierData *psmd = reinterpret_cast<ParticleSystemModifierData *>(md); | ||||
| if (!STREQ(psmd->psys->name, psys_orig->name)) { | if (!STREQ(psmd->psys->name, psys_orig->name)) { | ||||
| continue; | continue; | ||||
| } | } | ||||
| psys_eval = psmd->psys; | psys_eval = psmd->psys; | ||||
| } | } | ||||
| Object *ob_new = BKE_object_add(&bmain, &view_layer, OB_CURVES, psys_eval->name); | Object *ob_new = BKE_object_add(&bmain, &view_layer, OB_CURVES, psys_eval->name); | ||||
| ob_new->dtx |= OB_DRAWBOUNDOX; /* TODO: Remove once there is actual drawing. */ | |||||
| Curves *curves_id = static_cast<Curves *>(ob_new->data); | Curves *curves_id = static_cast<Curves *>(ob_new->data); | ||||
| BKE_object_apply_mat4(ob_new, ob_from_orig->obmat, true, false); | BKE_object_apply_mat4(ob_new, ob_from_orig->obmat, true, false); | ||||
| bke::CurvesGeometry::wrap(curves_id->geometry) = particles_to_curves(*ob_from_eval, *psys_eval); | bke::CurvesGeometry::wrap(curves_id->geometry) = particles_to_curves(*ob_from_eval, *psys_eval); | ||||
| DEG_relations_tag_update(&bmain); | DEG_relations_tag_update(&bmain); | ||||
| WM_main_add_notifier(NC_OBJECT | ND_DRAW, nullptr); | WM_main_add_notifier(NC_OBJECT | ND_DRAW, nullptr); | ||||
| return OPERATOR_FINISHED; | return OPERATOR_FINISHED; | ||||
| ▲ Show 20 Lines • Show All 483 Lines • Show Last 20 Lines | |||||