def sv_get(self, default=sentinel, deepcopy=True, implicit_conversions=None): if implicit_conversions is None: implicit_conversions = FieldImplicitConversionPolicy if self.is_linked and not self.is_output: source_data = SvGetSocket(self, deepcopy=True if self.needs_data_conversion() else deepcopy) return self.convert_data(source_data, implicit_conversions) if self.prop_name: return [[getattr(self.node, self.prop_name)[:]]] elif default is sentinel: raise SvNoDataError(self) else: return default
def sv_get(self, default=sentinel, deepcopy=True, implicit_conversions=None): if self.is_linked and not self.is_output: return self.convert_data(SvGetSocket(self, deepcopy), implicit_conversions) elif self.text: return [self.text] elif default is sentinel: raise SvNoDataError(self) else: return default
def sv_get(self, default=sentinel, deepcopy=True, implicit_conversions=None): if self.is_linked and not self.is_output: return self.convert_data(SvGetSocket(self, deepcopy), implicit_conversions) elif self.object_ref or self.object_ref_pointer: # this can be more granular and even attempt to set object_ref_points from object_ref, and then wipe object_ref obj_ref = self.node.get_bpy_data_from_name(self.object_ref or self.object_ref_pointer, bpy.data.objects) if not obj_ref: raise SvNoDataError(self) return [obj_ref] elif default is sentinel: raise SvNoDataError(self) else: return default
def sv_get(self, default=sentinel, deepcopy=True, implicit_conversions=None): self.num_matrices = 0 if self.is_linked and not self.is_output: source_data = SvGetSocket( self, deepcopy=True if self.needs_data_conversion() else deepcopy) return self.convert_data(source_data, implicit_conversions) elif default is sentinel: raise SvNoDataError(self) else: return default
def sv_get(self, default=sentinel, deepcopy=True, implicit_conversions=None): if self.is_linked and not self.is_output: return self.convert_data(SvGetSocket(self, deepcopy), implicit_conversions) if self.get_prop_name(): return [[getattr(self.node, self.get_prop_name())[:]]] elif self.use_prop: return [[self.prop[:]]] elif default is sentinel: raise SvNoDataError(self) else: return default
def sv_get(self, default=sentinel, deepcopy=True, implicit_conversions=None): if self.is_linked and not self.is_output: return self.convert_data(SvGetSocket(self, deepcopy), implicit_conversions) elif self.object_ref: obj_ref = bpy.data.objects.get(self.object_ref.strip()) if not obj_ref: raise SvNoDataError(self) return [obj_ref] elif default is sentinel: raise SvNoDataError(self) else: return default
def sv_get(self, default=sentinel, deepcopy=True): if self.is_linked and not self.is_output: return SvGetSocket(self, deepcopy) elif self.prop_name: # to deal with subtype ANGLE, this solution should be considered temporary... _, prop_dict = getattr(self.node.rna_type, self.prop_name, (None, {})) subtype = prop_dict.get("subtype", "") if subtype == "ANGLE": return [[math.degrees(getattr(self.node, self.prop_name))]] return [[getattr(self.node, self.prop_name)]] elif self.prop_type: return [[getattr(self.node, self.prop_type)[self.prop_index]]] elif default is not sentinel: return default else: raise SvNoDataError(self)
def sv_get(self, default=sentinel, deepcopy=True, implicit_conversions=None): # debug("Node %s, socket %s, is_linked: %s, is_output: %s", # self.node.name, self.name, self.is_linked, self.is_output) if self.is_linked and not self.is_output: return self.convert_data(SvGetSocket(self, deepcopy), implicit_conversions) elif self.get_prop_name(): # to deal with subtype ANGLE, this solution should be considered temporary... _, prop_dict = getattr(self.node.rna_type, self.get_prop_name(), (None, {})) subtype = prop_dict.get("subtype", "") if subtype == "ANGLE": return [[math.degrees(getattr(self.node, self.get_prop_name()))]] return [[getattr(self.node, self.get_prop_name())]] elif self.prop_type: return [[getattr(self.node, self.prop_type)[self.prop_index]]] elif default is not sentinel: return default else: raise SvNoDataError(self)
def sv_get(self, default=sentinel, deepcopy=True, implicit_conversions=None): if self.is_linked and not self.is_output: return self.convert_data(SvGetSocket(self, deepcopy), implicit_conversions) else: return [[self.default_value]]
def sv_get(self, default=sentinel, deepcopy=True): if self.is_linked and not self.is_output: return SvGetSocket(self, deepcopy) else: return [[self.default_value]]