[Bf-blender-cvs] [029e63093d5] functions-experimental-refactor: fix
Jacques Lucke
noreply at git.blender.org
Tue Oct 15 15:57:01 CEST 2019
Commit: 029e63093d546404c421101041868bc35af2b632
Author: Jacques Lucke
Date: Thu Oct 10 21:46:12 2019 +0200
Branches: functions-experimental-refactor
https://developer.blender.org/rB029e63093d546404c421101041868bc35af2b632
fix
===================================================================
M source/blender/blenkernel/BKE_generic_vector_array.h
M source/blender/blenkernel/intern/node_functions.cc
===================================================================
diff --git a/source/blender/blenkernel/BKE_generic_vector_array.h b/source/blender/blenkernel/BKE_generic_vector_array.h
index 1b8d754711a..e5bc9e412a3 100644
--- a/source/blender/blenkernel/BKE_generic_vector_array.h
+++ b/source/blender/blenkernel/BKE_generic_vector_array.h
@@ -163,11 +163,26 @@ class GenericVectorArrayOrSingleRef {
CPPType *m_type;
public:
- GenericArrayRef operator[](uint index)
+ GenericArrayRef operator[](uint index) const
{
/* TODO */
return GenericArrayRef(*m_type);
}
+
+ template<typename T> class TypedRef {
+ private:
+ const GenericVectorArrayOrSingleRef *m_data;
+
+ public:
+ TypedRef(const GenericVectorArrayOrSingleRef &data) : m_data(&data)
+ {
+ }
+
+ ArrayRef<T> operator[](uint index)
+ {
+ return (*m_data)[index].get_ref<T>();
+ }
+ };
};
}; // namespace BKE
diff --git a/source/blender/blenkernel/intern/node_functions.cc b/source/blender/blenkernel/intern/node_functions.cc
index db45da833fc..872e83c34d9 100644
--- a/source/blender/blenkernel/intern/node_functions.cc
+++ b/source/blender/blenkernel/intern/node_functions.cc
@@ -44,7 +44,8 @@ class MultiFunction {
GenericMutableArrayRef single_output(uint index, StringRef name);
template<typename T>
- const GenericVectorArray::TypedRef<T> readonly_vector_input(uint index, StringRef name);
+ const GenericVectorArrayOrSingleRef::TypedRef<T> readonly_vector_input(uint index,
+ StringRef name);
GenericVectorArrayOrSingleRef readonly_vector_input(uint index, StringRef name);
template<typename T>
More information about the Bf-blender-cvs
mailing list