Blender V4.3
NOD_socket_declarations_geometry.hh
Go to the documentation of this file.
1/* SPDX-FileCopyrightText: 2023 Blender Authors
2 *
3 * SPDX-License-Identifier: GPL-2.0-or-later */
4
5#pragma once
6
7#include "BKE_geometry_set.hh"
8
10
11namespace blender::nodes::decl {
12
13class GeometryBuilder;
14
16 private:
18 bool only_realized_data_ = false;
19 bool only_instances_ = false;
20
21 friend GeometryBuilder;
22
23 public:
25
27
28 bNodeSocket &build(bNodeTree &ntree, bNode &node) const override;
29 bool matches(const bNodeSocket &socket) const override;
30 bool can_connect(const bNodeSocket &socket) const override;
31
33 bool only_realized_data() const;
34 bool only_instances() const;
35};
36
44
45} // namespace blender::nodes::decl
eNodeSocketDatatype
@ SOCK_GEOMETRY
GeometryBuilder & only_realized_data(bool value=true)
GeometryBuilder & only_instances(bool value=true)
GeometryBuilder & supported_type(bke::GeometryComponent::Type supported_type)
static constexpr eNodeSocketDatatype static_socket_type
bNodeSocket & build(bNodeTree &ntree, bNode &node) const override
bool can_connect(const bNodeSocket &socket) const override
Span< bke::GeometryComponent::Type > supported_types() const
bool matches(const bNodeSocket &socket) const override