20 #include "RNA_prototypes.h"
85 return type_a == type_b;
111 strcpy(tt->
idname,
"GeometryNodeTree");
112 strcpy(tt->
ui_name,
N_(
"Geometry Node Editor"));
113 tt->
ui_icon = ICON_GEOMETRY_NODES;
struct ViewLayer * CTX_data_view_layer(const bContext *C)
void ntreeTypeAdd(struct bNodeTreeType *nt)
#define NODE_CLASS_CONVERTER
void(* bNodeClassCallback)(void *calldata, int nclass, const char *name)
#define NODE_CLASS_GEOMETRY
bool nodeIsStaticSocketType(const struct bNodeSocketType *stype)
void ntreeSetOutput(struct bNodeTree *ntree)
#define NODE_CLASS_OP_VECTOR
#define NODE_CLASS_LAYOUT
#define NODE_CLASS_OP_COLOR
#define NODE_CLASS_ATTRIBUTE
General operations, lookup, etc. for blender objects.
struct ModifierData * BKE_object_active_modifier(const struct Object *ob)
#define OBACT(_view_layer)
Read Guarded memory(de)allocation.
void *(* MEM_callocN)(size_t len, const char *str)
void ntree_update_reroute_nodes(bNodeTree *ntree)
static void foreach_nodeclass(Scene *UNUSED(scene), void *calldata, bNodeClassCallback func)
bNodeTreeType * ntreeType_Geometry
static void geometry_node_tree_get_from_context(const bContext *C, bNodeTreeType *UNUSED(treetype), bNodeTree **r_ntree, ID **r_id, ID **r_from)
static void geometry_node_tree_update(bNodeTree *ntree)
void register_node_tree_type_geo()
static bool geometry_node_tree_socket_type_valid(bNodeTreeType *UNUSED(ntreetype), bNodeSocketType *socket_type)
static bool geometry_node_tree_validate_link(eNodeSocketDatatype type_a, eNodeSocketDatatype type_b)
struct bNodeTree * node_group
bool(* validate_link)(eNodeSocketDatatype from, eNodeSocketDatatype to)
void(* update)(struct bNodeTree *ntree)
void(* get_from_context)(const struct bContext *C, struct bNodeTreeType *ntreetype, struct bNodeTree **r_ntree, struct ID **r_id, struct ID **r_from)
bool(* valid_socket_type)(struct bNodeTreeType *ntreetype, struct bNodeSocketType *socket_type)
void(* foreach_nodeclass)(struct Scene *scene, void *calldata, bNodeClassCallback func)