[Bf-blender-cvs] [761090b9d40] functions: object type in function system

Jacques Lucke noreply at git.blender.org
Tue Jul 9 18:01:46 CEST 2019


Commit: 761090b9d403027a56574822961b5d0fab6f2f7a
Author: Jacques Lucke
Date:   Tue Jul 9 16:09:22 2019 +0200
Branches: functions
https://developer.blender.org/rB761090b9d403027a56574822961b5d0fab6f2f7a

object type in function system

===================================================================

M	source/blender/functions/CMakeLists.txt
M	source/blender/functions/FN_types.hpp
A	source/blender/functions/types/external.cpp
A	source/blender/functions/types/external.hpp

===================================================================

diff --git a/source/blender/functions/CMakeLists.txt b/source/blender/functions/CMakeLists.txt
index 1b7f11fff28..90be353ce02 100644
--- a/source/blender/functions/CMakeLists.txt
+++ b/source/blender/functions/CMakeLists.txt
@@ -103,6 +103,8 @@ set(SRC
   types/numeric.cpp
   types/boolean.hpp
   types/boolean.cpp
+  types/external.hpp
+  types/external.cpp
   types/types-c.h
   types/types-c.cpp
   types/tuple_access-c.h
diff --git a/source/blender/functions/FN_types.hpp b/source/blender/functions/FN_types.hpp
index 67823022c1a..69afb88d56f 100644
--- a/source/blender/functions/FN_types.hpp
+++ b/source/blender/functions/FN_types.hpp
@@ -4,3 +4,4 @@
 #include "types/numeric.hpp"
 #include "types/numeric_lists.hpp"
 #include "types/boolean.hpp"
+#include "types/external.hpp"
diff --git a/source/blender/functions/types/external.cpp b/source/blender/functions/types/external.cpp
new file mode 100644
index 00000000000..7531af0256d
--- /dev/null
+++ b/source/blender/functions/types/external.cpp
@@ -0,0 +1,21 @@
+#include "external.hpp"
+#include "BLI_lazy_init.hpp"
+
+#include "FN_tuple.hpp"
+#include "FN_llvm.hpp"
+#include "DNA_object_types.h"
+
+namespace FN {
+namespace Types {
+
+BLI_LAZY_INIT(SharedType, GET_TYPE_object)
+{
+  SharedType type = SharedType::New("Object");
+  type->add_extension<CPPTypeInfoForType<Object *>>();
+  type->add_extension<PointerLLVMTypeInfo>(
+      [](void *value) { return value; }, [](void *UNUSED(value)) {}, []() { return nullptr; });
+  return type;
+}
+
+}  // namespace Types
+}  // namespace FN
diff --git a/source/blender/functions/types/external.hpp b/source/blender/functions/types/external.hpp
new file mode 100644
index 00000000000..3383f7a3708
--- /dev/null
+++ b/source/blender/functions/types/external.hpp
@@ -0,0 +1,10 @@
+#pragma once
+
+#include "../FN_core.hpp"
+
+namespace FN {
+namespace Types {
+
+SharedType &GET_TYPE_object();
+}
+}  // namespace FN



More information about the Bf-blender-cvs mailing list