Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJacques Lucke <mail@jlucke.com>2019-12-09 00:01:31 +0300
committerJacques Lucke <mail@jlucke.com>2019-12-09 00:01:31 +0300
commit34d68139acd1c8035c458e272492f7ed837a184d (patch)
tree7b5f0cf10f9c55f8efc385f04811944ac4af15e5 /source/blender/functions/FN_generic_virtual_list_list_ref.h
parentb09c2c7d0091dad71b8059c20cf4be255c4d7f27 (diff)
extend single elements when necessary
Diffstat (limited to 'source/blender/functions/FN_generic_virtual_list_list_ref.h')
-rw-r--r--source/blender/functions/FN_generic_virtual_list_list_ref.h22
1 files changed, 22 insertions, 0 deletions
diff --git a/source/blender/functions/FN_generic_virtual_list_list_ref.h b/source/blender/functions/FN_generic_virtual_list_list_ref.h
index 9ccaef6b019..358b40ed780 100644
--- a/source/blender/functions/FN_generic_virtual_list_list_ref.h
+++ b/source/blender/functions/FN_generic_virtual_list_list_ref.h
@@ -152,6 +152,28 @@ class GenericVirtualListListRef {
BLI_assert(false);
return {*m_type};
}
+
+ GenericVirtualListListRef extended_single_list(uint new_virtual_size) const
+ {
+ BLI_assert(this->is_single_list());
+
+ switch (m_category) {
+ case Category::SingleArray:
+ return GenericVirtualListListRef::FromSingleArray(*m_type,
+ m_data.single_array.data,
+ m_data.single_array.real_array_size,
+ new_virtual_size);
+ case Category::FullArrayList:
+ return GenericVirtualListListRef::FromSingleArray(
+ *m_type,
+ m_data.full_array_list.starts[0],
+ m_data.full_array_list.real_array_sizes[0],
+ new_virtual_size);
+ }
+
+ BLI_assert(false);
+ return {};
+ }
};
} // namespace FN