[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