forked from blender/blender
index-of-nearest-104619 #2
@ -510,28 +510,23 @@ GeometrySet spreadsheet_get_display_geometry_set(const SpaceSpreadsheet *sspread
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
if (object_eval->mode == OB_MODE_EDIT && object_eval->type == OB_MESH) {
|
if (BLI_listbase_count(&sspreadsheet->viewer_path.path) == 1) {
|
||||||
Mesh *mesh = BKE_modifier_get_evaluated_mesh_from_evaluated_object(object_eval);
|
if (const GeometrySet *geometry_eval = object_eval->runtime.geometry_set_eval) {
|
||||||
if (mesh == nullptr) {
|
geometry_set = *geometry_eval;
|
||||||
return geometry_set;
|
}
|
||||||
|
|
||||||
|
if (object_eval->mode == OB_MODE_EDIT && object_eval->type == OB_MESH) {
|
||||||
|
if (Mesh *mesh = BKE_modifier_get_evaluated_mesh_from_evaluated_object(object_eval)) {
|
||||||
|
BKE_mesh_wrapper_ensure_mdata(mesh);
|
||||||
|
geometry_set.replace_mesh(mesh, GeometryOwnershipType::ReadOnly);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
BKE_mesh_wrapper_ensure_mdata(mesh);
|
|
||||||
MeshComponent &mesh_component = geometry_set.get_component_for_write<MeshComponent>();
|
|
||||||
mesh_component.replace(mesh, GeometryOwnershipType::ReadOnly);
|
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
if (BLI_listbase_count(&sspreadsheet->viewer_path.path) == 1) {
|
if (const ViewerNodeLog *viewer_log =
|
||||||
/* Use final evaluated object. */
|
nodes::geo_eval_log::GeoModifierLog::find_viewer_node_log_for_path(
|
||||||
if (object_eval->runtime.geometry_set_eval != nullptr) {
|
sspreadsheet->viewer_path)) {
|
||||||
geometry_set = *object_eval->runtime.geometry_set_eval;
|
geometry_set = viewer_log->geometry;
|
||||||
}
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
if (const ViewerNodeLog *viewer_log =
|
|
||||||
nodes::geo_eval_log::GeoModifierLog::find_viewer_node_log_for_path(
|
|
||||||
sspreadsheet->viewer_path)) {
|
|
||||||
geometry_set = viewer_log->geometry;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user