diff options
author | Hans Goudey <h.goudey@me.com> | 2021-11-03 21:45:51 +0300 |
---|---|---|
committer | Hans Goudey <h.goudey@me.com> | 2021-11-03 21:45:51 +0300 |
commit | ccead2ed9c6121c42a516712da38a2faec877e2f (patch) | |
tree | ca3699abb9ba3760bbfa6831ab798b58ef34a14f /source/blender/editors/space_spreadsheet/spreadsheet_data_source_geometry.hh | |
parent | 4e5537d841e426c9d7fd731b7b6d5033c7e5fb65 (diff) |
Spreadsheet: Display geometry volume component grids
This shows a geometry's volume grids in the spreadsheet.
Three columns are displayed:
- Name: The text name of each grid
- Data type: Float, Vector, etc.
- Class: Fog volume, Level Set, or unkown
In the future, values of the voxels themselves could be displayed,
but that is a much more complex problem, with important performance
implications, etc.
Differential Revision: https://developer.blender.org/D13049
Diffstat (limited to 'source/blender/editors/space_spreadsheet/spreadsheet_data_source_geometry.hh')
-rw-r--r-- | source/blender/editors/space_spreadsheet/spreadsheet_data_source_geometry.hh | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/source/blender/editors/space_spreadsheet/spreadsheet_data_source_geometry.hh b/source/blender/editors/space_spreadsheet/spreadsheet_data_source_geometry.hh index 6c88a94f585..a4114dd1f6a 100644 --- a/source/blender/editors/space_spreadsheet/spreadsheet_data_source_geometry.hh +++ b/source/blender/editors/space_spreadsheet/spreadsheet_data_source_geometry.hh @@ -116,6 +116,26 @@ class InstancesDataSource : public DataSource { int tot_rows() const override; }; +class VolumeDataSource : public DataSource { + const GeometrySet geometry_set_; + const VolumeComponent *component_; + + public: + VolumeDataSource(GeometrySet geometry_set) + : geometry_set_(std::move(geometry_set)), + component_(geometry_set_.get_component_for_read<VolumeComponent>()) + { + } + + void foreach_default_column_ids( + FunctionRef<void(const SpreadsheetColumnID &, bool is_extra)> fn) const override; + + std::unique_ptr<ColumnValues> get_column_values( + const SpreadsheetColumnID &column_id) const override; + + int tot_rows() const override; +}; + std::unique_ptr<DataSource> data_source_from_geometry(const bContext *C, Object *object_eval); } // namespace blender::ed::spreadsheet |