Changeset View
Changeset View
Standalone View
Standalone View
source/blender/editors/mesh/editmesh_knife_project.c
| Show First 20 Lines • Show All 59 Lines • ▼ Show 20 Lines | static LinkNode *knifeproject_poly_from_object(const bContext *C, Scene *scene, Object *ob, LinkNode *polys) | ||||
| struct Mesh *me_eval; | struct Mesh *me_eval; | ||||
| bool me_eval_needs_free; | bool me_eval_needs_free; | ||||
| if (ob->type == OB_MESH || ob->runtime.mesh_eval) { | if (ob->type == OB_MESH || ob->runtime.mesh_eval) { | ||||
| Object *ob_eval = DEG_get_evaluated_object(depsgraph, ob); | Object *ob_eval = DEG_get_evaluated_object(depsgraph, ob); | ||||
| me_eval = ob_eval->runtime.mesh_eval; | me_eval = ob_eval->runtime.mesh_eval; | ||||
| if (me_eval == NULL) { | if (me_eval == NULL) { | ||||
| Scene *scene_eval = (Scene *)DEG_get_evaluated_id(depsgraph, &scene->id); | Scene *scene_eval = (Scene *)DEG_get_evaluated_id(depsgraph, &scene->id); | ||||
| me_eval = mesh_get_eval_final(depsgraph, scene_eval, ob_eval, CD_MASK_BAREMESH); | me_eval = mesh_get_eval_final(depsgraph, scene_eval, ob_eval, &CD_MASK_BAREMESH); | ||||
| } | } | ||||
| me_eval_needs_free = false; | me_eval_needs_free = false; | ||||
| } | } | ||||
| else if (ELEM(ob->type, OB_FONT, OB_CURVE, OB_SURF)) { | else if (ELEM(ob->type, OB_FONT, OB_CURVE, OB_SURF)) { | ||||
| Object *ob_eval = DEG_get_evaluated_object(depsgraph, ob); | Object *ob_eval = DEG_get_evaluated_object(depsgraph, ob); | ||||
| me_eval = BKE_mesh_new_nomain_from_curve(ob_eval); | me_eval = BKE_mesh_new_nomain_from_curve(ob_eval); | ||||
| me_eval_needs_free = true; | me_eval_needs_free = true; | ||||
| } | } | ||||
| ▲ Show 20 Lines • Show All 103 Lines • Show Last 20 Lines | |||||