Blender Git Commit Log

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)
By: Miika HämäläinenLast update: Nov-07-2014 14:18MiikaHweb | 2003-2021