63 switch (stemp->
type) {
74 dval->
min = (int)stemp->
min;
75 dval->
max = (
int)stemp->
max;
146 if (stemp_first ==
nullptr) {
148 nextsock = sock->
next;
155 while (stemp->
type != -1) {
161 nextsock = sock->
next;
167 if (socklist->
first) {
171 while (stemp->
type != -1) {
178 while (stemp->
type != -1) {
219 dval->
min = -FLT_MAX;
227 "node socket value int");
250 dval->
min = -FLT_MAX;
269 dval->
value[0] =
'\0';
277 dval->
value =
nullptr;
285 dval->
value =
nullptr;
293 dval->
value =
nullptr;
310 if (!
from->default_value) {
316 if (
from->label[0] !=
'\0') {
320 switch (
from->typeinfo->type) {
386 const int loop_limit = 100;
413 if (input && input->
link) {
435 const char *
UNUSED(data_path))
453 const char *
UNUSED(data_path))
470 toval->
min = fromval->min;
471 toval->
max = fromval->max;
477 toval->
min = fromval->min;
478 toval->
max = fromval->max;
484 toval->
min = fromval->min;
485 toval->
max = fromval->max;
549 const char *socket_idname =
"NodeSocketVirtual";
579 socktype->
get_cpp_type = []() {
return &blender::fn::CPPType::get<bool>(); };
589 socktype->
get_cpp_type = []() {
return &blender::fn::CPPType::get<float>(); };
599 socktype->
get_cpp_type = []() {
return &blender::fn::CPPType::get<int>(); };
609 socktype->
get_cpp_type = []() {
return &blender::fn::CPPType::get<blender::float3>(); };
619 socktype->
get_cpp_type = []() {
return &blender::fn::CPPType::get<blender::Color4f>(); };
629 socktype->
get_cpp_type = []() {
return &blender::fn::CPPType::get<std::string>(); };
665 "PersistentDataHandleMap");
667 if (handle_map ==
nullptr) {
688 return &blender::fn::CPPType::get<blender::bke::PersistentObjectHandle>();
700 socktype->
get_cpp_type = []() {
return &blender::fn::CPPType::get<GeometrySet>(); };
712 return &blender::fn::CPPType::get<blender::bke::PersistentCollectionHandle>();
void id_us_plus(struct ID *id)
void nodeRegisterSocketType(struct bNodeSocketType *stype)
struct bNodeSocket * nodeAddStaticSocket(struct bNodeTree *ntree, struct bNode *node, eNodeSocketInOut in_out, int type, int subtype, const char *identifier, const char *name)
const char * nodeStaticSocketType(int type, int subtype)
const char * nodeStaticSocketInterfaceType(int type, int subtype)
void nodeRemoveSocket(struct bNodeTree *ntree, struct bNode *node, struct bNodeSocket *sock)
#define CMP_NODE_R_LAYERS
void nodeModifySocketType(struct bNodeTree *ntree, struct bNode *node, struct bNodeSocket *sock, int type, int subtype)
void BLI_addtail(struct ListBase *listbase, void *vlink) ATTR_NONNULL(1)
void BLI_remlink(struct ListBase *listbase, void *vlink) ATTR_NONNULL(1)
void BLI_insertlinkbefore(struct ListBase *listbase, void *vnextlink, void *vnewlink) ATTR_NONNULL(1)
MINLINE void copy_v4_v4(float r[4], const float a[4])
MINLINE void copy_v3_v3(float r[3], const float a[3])
char * BLI_strncpy(char *__restrict dst, const char *__restrict src, const size_t maxncpy) ATTR_NONNULL()
#define STREQLEN(a, b, n)
Object groups, one object can be in many groups at once.
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei GLfloat GLfloat GLfloat GLfloat const GLubyte *bitmap _GL_VOID_RET _GL_VOID GLenum type
Read Guarded memory(de)allocation.
ObjectSocketMultiFunction(Object *object)
static blender::fn::MFSignature create_signature()
void call(blender::IndexMask mask, blender::fn::MFParams params, blender::fn::MFContext context) const override
void set_signature(const MFSignature *signature)
const MFSignature & signature() const
void(* MEM_freeN)(void *vmemh)
void *(* MEM_callocN)(size_t len, const char *str)
void node_socket_init_default_value(bNodeSocket *sock)
void ED_init_node_socket_type_virtual(bNodeSocketType *)
void node_verify_socket_templates(bNodeTree *ntree, bNode *node)
static void standard_node_socket_interface_init_socket(bNodeTree *UNUSED(ntree), bNodeSocket *stemp, bNode *UNUSED(node), bNodeSocket *sock, const char *UNUSED(data_path))
static void standard_node_socket_interface_verify_socket(bNodeTree *UNUSED(ntree), bNodeSocket *stemp, bNode *UNUSED(node), bNodeSocket *sock, const char *UNUSED(data_path))
void node_socket_copy_default_value(bNodeSocket *to, const bNodeSocket *from)
static void standard_node_socket_interface_from_socket(bNodeTree *UNUSED(ntree), bNodeSocket *stemp, bNode *UNUSED(node), bNodeSocket *sock)
static void verify_socket_template_list(bNodeTree *ntree, bNode *node, eNodeSocketInOut in_out, ListBase *socklist, bNodeSocketTemplate *stemp_first)
void register_standard_node_socket_types(void)
MAKE_CPP_TYPE(PersistentObjectHandle, blender::bke::PersistentObjectHandle)
static bNodeSocketType * make_socket_type_geometry()
static bNodeSocketType * make_socket_type_string()
static bNodeSocketType * make_socket_type_vector(PropertySubType subtype)
static bNodeSocketType * make_standard_socket_type(int type, int subtype)
static bNodeSocketType * make_socket_type_int(PropertySubType subtype)
static bNodeSocketType * make_socket_type_virtual()
static bNodeSocketType * make_socket_type_object()
void ED_init_standard_node_socket_type(bNodeSocketType *)
struct bNodeSocket * node_add_socket_from_template(struct bNodeTree *ntree, struct bNode *node, struct bNodeSocketTemplate *stemp, eNodeSocketInOut in_out)
static bNodeSocketType * make_socket_type_rgba()
static bNodeSocketType * make_socket_type_collection()
void node_socket_skip_reroutes(ListBase *links, bNode *node, bNodeSocket *socket, bNode **r_node, bNodeSocket **r_socket)
static bNodeSocket * verify_socket_template(bNodeTree *ntree, bNode *node, eNodeSocketInOut in_out, ListBase *socklist, bNodeSocketTemplate *stemp)
static bNodeSocketType * make_socket_type_float(PropertySubType subtype)
static bNodeSocketType * make_socket_type_bool()
void RNA_struct_blender_type_set(StructRNA *srna, void *blender_type)
StructRNA * RNA_struct_find(const char *identifier)
struct SELECTID_Context context
Compact definition of a node socket.
struct bNodeSocket * sock
void(* interface_init_socket)(struct bNodeTree *ntree, struct bNodeSocket *stemp, struct bNode *node, struct bNodeSocket *sock, const char *data_path)
ExtensionRNA ext_interface
void(* interface_verify_socket)(struct bNodeTree *ntree, struct bNodeSocket *stemp, struct bNode *node, struct bNodeSocket *sock, const char *data_path)
bool use_link_limits_of_type
void(* free_self)(struct bNodeSocketType *stype)
SocketGetCPPTypeFunction get_cpp_type
SocketExpandInMFNetworkFunction expand_in_mf_network
SocketGetCPPValueFunction get_cpp_value
void(* interface_from_socket)(struct bNodeTree *ntree, struct bNodeSocket *stemp, struct bNode *node, struct bNodeSocket *sock)
struct Collection * value
struct bNodeSocket * next
struct bNodeSocketType * typeinfo
bNodeSocketTemplate * outputs
bNodeSocketTemplate * inputs
ccl_device_inline float4 mask(const int4 &mask, const float4 &a)