Blender Git Loki
Git Commits -> Revision 474adc6
Revision 474adc6 by Hans Goudey (master) December 15, 2021, 15:34 (GMT) |
Refactor: Simplify spreadsheet handling of cell values Previously we used a `CellValue` class to hold the data for a cell, and called a function to fill it whenever necessary. This is an unnecessary complication when we have virtual generic arrays and most data is already easily accessible that way anyway. This patch removes `CellValue` and uses `fn::GVArray` to provide access to data instead. In the future, if rows have different types within a single column, we can use a `GVArray` of `blender::Any` to interface with the drawing. Along with that, the use of virtual arrays made it easy to do a few other cleanups: - Use selection domain interpolations from rB5841f8656d95 for the mesh selection filter. - Change the row filter to only calculate for necessary indices. Differential Revision: https://developer.blender.org/D13478 |
Commit Details:
Full Hash: 474adc6f883c2d5a854d7324364f7996044d83cb
Parent Commit: d79868c
Lines Changed: +449, -714
1 Deleted Path:
/source/blender/editors/space_spreadsheet/spreadsheet_cell_value.hh (+0, -64)
14 Modified Paths:
/source/blender/blenkernel/intern/geometry_component_instances.cc (+4, -0) (Diff)
/source/blender/editors/space_spreadsheet/CMakeLists.txt (+0, -1) (Diff)
/source/blender/editors/space_spreadsheet/space_spreadsheet.cc (+2, -0) (Diff)
/source/blender/editors/space_spreadsheet/spreadsheet_column.cc (+38, -0) (Diff)
/source/blender/editors/space_spreadsheet/spreadsheet_column_values.hh (+17, -43) (Diff)
/source/blender/editors/space_spreadsheet/spreadsheet_data_source_geometry.cc (+79, -297) (Diff)
/source/blender/editors/space_spreadsheet/spreadsheet_data_source_geometry.hh (+1, -1) (Diff)
/source/blender/editors/space_spreadsheet/spreadsheet_layout.cc (+87, -84) (Diff)
/source/blender/editors/space_spreadsheet/spreadsheet_layout.hh (+1, -1) (Diff)
/source/blender/editors/space_spreadsheet/spreadsheet_row_filter.cc (+194, -219) (Diff)
/source/blender/editors/space_spreadsheet/spreadsheet_row_filter.hh (+4, -4) (Diff)
/source/blender/editors/space_spreadsheet/spreadsheet_row_filter_ui.cc (+6, -0) (Diff)
/source/blender/functions/FN_generic_virtual_array.hh (+15, -0) (Diff)
/source/blender/makesdna/DNA_space_types.h (+1, -0) (Diff)
/source/blender/editors/space_spreadsheet/CMakeLists.txt (+0, -1) (Diff)
/source/blender/editors/space_spreadsheet/space_spreadsheet.cc (+2, -0) (Diff)
/source/blender/editors/space_spreadsheet/spreadsheet_column.cc (+38, -0) (Diff)
/source/blender/editors/space_spreadsheet/spreadsheet_column_values.hh (+17, -43) (Diff)
/source/blender/editors/space_spreadsheet/spreadsheet_data_source_geometry.cc (+79, -297) (Diff)
/source/blender/editors/space_spreadsheet/spreadsheet_data_source_geometry.hh (+1, -1) (Diff)
/source/blender/editors/space_spreadsheet/spreadsheet_layout.cc (+87, -84) (Diff)
/source/blender/editors/space_spreadsheet/spreadsheet_layout.hh (+1, -1) (Diff)
/source/blender/editors/space_spreadsheet/spreadsheet_row_filter.cc (+194, -219) (Diff)
/source/blender/editors/space_spreadsheet/spreadsheet_row_filter.hh (+4, -4) (Diff)
/source/blender/editors/space_spreadsheet/spreadsheet_row_filter_ui.cc (+6, -0) (Diff)
/source/blender/functions/FN_generic_virtual_array.hh (+15, -0) (Diff)
/source/blender/makesdna/DNA_space_types.h (+1, -0) (Diff)