Differential D15401 Diff 53411 source/blender/editors/space_spreadsheet/spreadsheet_data_source_geometry.cc
Changeset View
Changeset View
Standalone View
Standalone View
source/blender/editors/space_spreadsheet/spreadsheet_data_source_geometry.cc
| Show First 20 Lines • Show All 391 Lines • ▼ Show 20 Lines | if (sspreadsheet->object_eval_state == SPREADSHEET_OBJECT_EVAL_STATE_ORIGINAL) { | ||||
| else if (object_orig->type == OB_CURVES) { | else if (object_orig->type == OB_CURVES) { | ||||
| const Curves &curves_id = *(const Curves *)object_orig->data; | const Curves &curves_id = *(const Curves *)object_orig->data; | ||||
| CurveComponent &curve_component = geometry_set.get_component_for_write<CurveComponent>(); | CurveComponent &curve_component = geometry_set.get_component_for_write<CurveComponent>(); | ||||
| curve_component.replace(&const_cast<Curves &>(curves_id), GeometryOwnershipType::ReadOnly); | curve_component.replace(&const_cast<Curves &>(curves_id), GeometryOwnershipType::ReadOnly); | ||||
| } | } | ||||
| } | } | ||||
| else { | else { | ||||
| if (object_eval->mode == OB_MODE_EDIT && object_eval->type == OB_MESH) { | if (object_eval->mode == OB_MODE_EDIT && object_eval->type == OB_MESH) { | ||||
| Mesh *mesh = BKE_modifier_get_evaluated_mesh_from_evaluated_object(object_eval, false); | Mesh *mesh = BKE_modifier_get_evaluated_mesh_from_evaluated_object(object_eval); | ||||
| if (mesh == nullptr) { | if (mesh == nullptr) { | ||||
| return geometry_set; | return geometry_set; | ||||
| } | } | ||||
| BKE_mesh_wrapper_ensure_mdata(mesh); | BKE_mesh_wrapper_ensure_mdata(mesh); | ||||
| MeshComponent &mesh_component = geometry_set.get_component_for_write<MeshComponent>(); | MeshComponent &mesh_component = geometry_set.get_component_for_write<MeshComponent>(); | ||||
| mesh_component.replace(mesh, GeometryOwnershipType::ReadOnly); | mesh_component.replace(mesh, GeometryOwnershipType::ReadOnly); | ||||
| } | } | ||||
| else { | else { | ||||
| ▲ Show 20 Lines • Show All 148 Lines • Show Last 20 Lines | |||||