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 <jacques@blender.org>2021-02-16 14:30:42 +0300
committerJacques Lucke <jacques@blender.org>2021-02-16 14:30:42 +0300
commit5688f791f51827d77f4479bee90c4e88add72ce6 (patch)
tree188ca52923a3e74f2bf690de5d7bd303d5dfe5a7 /source/blender/blenkernel/BKE_geometry_set_instances.hh
parent21de1f91480ac2165517a4ba244fa0708a939baf (diff)
Geometry Nodes: move realize-instances code to blenkernel
I need to access this functionality from modifier code. Therefore it should not be in the nodes module.
Diffstat (limited to 'source/blender/blenkernel/BKE_geometry_set_instances.hh')
-rw-r--r--source/blender/blenkernel/BKE_geometry_set_instances.hh19
1 files changed, 19 insertions, 0 deletions
diff --git a/source/blender/blenkernel/BKE_geometry_set_instances.hh b/source/blender/blenkernel/BKE_geometry_set_instances.hh
index 11725d75df9..4f3c9c65203 100644
--- a/source/blender/blenkernel/BKE_geometry_set_instances.hh
+++ b/source/blender/blenkernel/BKE_geometry_set_instances.hh
@@ -14,6 +14,8 @@
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
+#pragma once
+
#include "BKE_geometry_set.hh"
namespace blender::bke {
@@ -39,4 +41,21 @@ struct GeometryInstanceGroup {
Vector<GeometryInstanceGroup> geometry_set_gather_instances(const GeometrySet &geometry_set);
+GeometrySet geometry_set_realize_instances(const GeometrySet &geometry_set);
+
+struct AttributeInfo {
+ CustomDataType data_type;
+ AttributeDomain domain;
+};
+
+/**
+ * Add information about all the attributes on every component of the type. The resulting info
+ * will contain the highest complexity data type and the highest priority domain among every
+ * attribute with the given name on all of the input components.
+ */
+void gather_attribute_info(Map<std::string, AttributeInfo> &attributes,
+ const GeometryComponentType component_type,
+ Span<bke::GeometryInstanceGroup> set_groups,
+ const Set<std::string> &ignored_attributes);
+
} // namespace blender::bke