コード例 #1
0
ファイル: viewer_mk2.py プロジェクト: johnyc90/sverchok
 def free(self):
     global cache_viewer_baker
     n_id = node_id(self)
     callback_disable(n_id)
     cache_viewer_baker.pop(n_id + 'v', None)
     cache_viewer_baker.pop(n_id + 'ep', None)
     cache_viewer_baker.pop(n_id + 'm', None)
コード例 #2
0
ファイル: viewer_mk2.py プロジェクト: hsab/sverchok
 def free(self):
     global cache_viewer_baker
     n_id = node_id(self)
     callback_disable(n_id)
     cache_viewer_baker.pop(n_id + 'v', None)
     cache_viewer_baker.pop(n_id + 'ep', None)
     cache_viewer_baker.pop(n_id + 'm', None)
コード例 #3
0
ファイル: viewer_mk2.py プロジェクト: johnyc90/sverchok
 def update(self):
     if not ("matrix" in self.inputs):
         return
     try:
         if not (self.inputs[0].other or self.inputs[2].other):
             callback_disable(node_id(self))
     except:
         print('vdmk2 update holdout')
コード例 #4
0
ファイル: viewer_mk2.py プロジェクト: cclauss/sverchok
 def update(self):
     if not ("matrix" in self.inputs):
         return
     try:
         if not (self.inputs[0].other or self.inputs[2].other):
             callback_disable(node_id(self))
     except:
         print('vdmk2 update holdout')
コード例 #5
0
ファイル: viewer_mk2.py プロジェクト: hsab/sverchok
    def process(self):
        if not (self.id_data.sv_show and self.activate):
            callback_disable(node_id(self))
            return

        n_id = node_id(self)

        global cache_viewer_baker
        vertex_ref = n_id + 'v'
        poledg_ref = n_id + 'ep'
        matrix_ref = n_id + 'm'
        cache_viewer_baker[vertex_ref] = []
        cache_viewer_baker[poledg_ref] = []
        cache_viewer_baker[matrix_ref] = []

        callback_disable(n_id)

        # every time you hit a dot, you pay a price, so alias and benefit
        inputs = self.inputs

        # this should catch accidental connections which otherwise will cause
        # an unrecoverable crash. It might even be an idea to have step in between
        # new connections and processing, it could auto rewire s->s v->v m->m.
        def check_origin(to_socket, socket_type):
            origin_socket_bl_idname = inputs[to_socket].other.bl_idname

            if isinstance(socket_type, str):
                return origin_socket_bl_idname == sock_dict.get(socket_type)
            else:
                return reverse_sock_dict.get(origin_socket_bl_idname) in socket_type

        vertex_links = inputs['vertices'].is_linked and check_origin('vertices', ('v', 'm'))
        matrix_links = inputs['matrix'].is_linked and check_origin('matrix', ('m', 'v'))
        edgepol_links = inputs['edg_pol'].is_linked and check_origin('edg_pol', 's')

        if vertex_links or matrix_links:

            if vertex_links:
                propv = inputs['vertices'].sv_get(deepcopy=False, default=[])
                if propv:
                    cache_viewer_baker[vertex_ref] = dataCorrect(propv)

            if edgepol_links:
                prope = inputs['edg_pol'].sv_get(deepcopy=False, default=[])
                if prope:
                    cache_viewer_baker[poledg_ref] = dataCorrect(prope)

            if matrix_links:
                propm = inputs['matrix'].sv_get(deepcopy=False, default=[])
                if propm:
                    cache_viewer_baker[matrix_ref] = dataCorrect(propm)

        if cache_viewer_baker[vertex_ref] or cache_viewer_baker[matrix_ref]:
            config_options = self.get_options()
            callback_enable(n_id, cache_viewer_baker, config_options)
コード例 #6
0
ファイル: viewer_mk2.py プロジェクト: rangerBR/sverchok
    def process(self):
        if not (self.id_data.sv_show and self.activate):
            callback_disable(node_id(self))
            return

        n_id = node_id(self)

        global cache_viewer_baker
        vertex_ref = n_id + 'v'
        poledg_ref = n_id + 'ep'
        matrix_ref = n_id + 'm'
        cache_viewer_baker[vertex_ref] = []
        cache_viewer_baker[poledg_ref] = []
        cache_viewer_baker[matrix_ref] = []

        callback_disable(n_id)

        # every time you hit a dot, you pay a price, so alias and benefit
        inputs = self.inputs

        # this should catch accidental connections which otherwise will cause
        # an unrecoverable crash. It might even be an idea to have step in between
        # new connections and processing, it could auto rewire s->s v->v m->m.
        def check_origin(to_socket, socket_type):
            sock_string = sock_dict.get(socket_type)
            return inputs[to_socket].links[0].from_socket.bl_idname == sock_string

        vertex_links = inputs['vertices'].is_linked and check_origin('vertices', 'v')
        matrix_links = inputs['matrix'].is_linked and check_origin('matrix', 'm')
        edgepol_links = inputs['edg_pol'].is_linked and check_origin('edg_pol', 's')

        if (vertex_links or matrix_links):

            if vertex_links:
                propv = inputs['vertices'].sv_get(deepcopy=False, default=[])
                if propv:
                    verts = dataCorrect(propv)
                    for v in verts:
                        if any(l != 3 for l in map(len, v)):
                            raise ValueError
                    cache_viewer_baker[vertex_ref] = verts

            if edgepol_links:
                prope = inputs['edg_pol'].sv_get(deepcopy=False, default=[])
                if prope:
                    cache_viewer_baker[poledg_ref] = dataCorrect(prope)

            if matrix_links:
                propm = inputs['matrix'].sv_get(deepcopy=False, default=[])
                if propm:
                    cache_viewer_baker[matrix_ref] = dataCorrect(propm)

        if cache_viewer_baker[vertex_ref] or cache_viewer_baker[matrix_ref]:
            config_options = self.get_options()
            callback_enable(n_id, cache_viewer_baker, config_options)
コード例 #7
0
ファイル: viewer_mk2.py プロジェクト: johnyc90/sverchok
    def process(self):
        if not (self.id_data.sv_show and self.activate):
            callback_disable(node_id(self))
            return

        n_id = node_id(self)

        global cache_viewer_baker
        vertex_ref = n_id + 'v'
        poledg_ref = n_id + 'ep'
        matrix_ref = n_id + 'm'
        cache_viewer_baker[vertex_ref] = []
        cache_viewer_baker[poledg_ref] = []
        cache_viewer_baker[matrix_ref] = []

        callback_disable(n_id)

        # every time you hit a dot, you pay a price, so alias and benefit
        inputs = self.inputs

        vertex_links = inputs['vertices'].is_linked
        matrix_links = inputs['matrix'].is_linked
        edgepol_links = inputs['edg_pol'].is_linked

        if vertex_links or matrix_links:

            if vertex_links:
                propv = inputs['vertices'].sv_get(deepcopy=False, default=[])
                if propv:
                    cache_viewer_baker[vertex_ref] = dataCorrect(propv)

            if edgepol_links:
                prope = inputs['edg_pol'].sv_get(deepcopy=False, default=[])
                if prope:
                    cache_viewer_baker[poledg_ref] = dataCorrect(prope)

            if matrix_links:
                propm = inputs['matrix'].sv_get(deepcopy=False, default=[])
                if propm:
                    cache_viewer_baker[matrix_ref] = dataCorrect(propm)

        if cache_viewer_baker[vertex_ref] or cache_viewer_baker[matrix_ref]:
            config_options = self.get_options()
            callback_enable(n_id, cache_viewer_baker, config_options)
コード例 #8
0
ファイル: viewer_mk2.py プロジェクト: cclauss/sverchok
    def process(self):
        if not (self.id_data.sv_show and self.activate):
            callback_disable(node_id(self))
            return

        n_id = node_id(self)

        global cache_viewer_baker
        vertex_ref = n_id + 'v'
        poledg_ref = n_id + 'ep'
        matrix_ref = n_id + 'm'
        cache_viewer_baker[vertex_ref] = []
        cache_viewer_baker[poledg_ref] = []
        cache_viewer_baker[matrix_ref] = []

        callback_disable(n_id)

        # every time you hit a dot, you pay a price, so alias and benefit
        inputs = self.inputs

        vertex_links = inputs['vertices'].is_linked
        matrix_links = inputs['matrix'].is_linked
        edgepol_links = inputs['edg_pol'].is_linked

        if vertex_links or matrix_links:

            if vertex_links:
                propv = inputs['vertices'].sv_get(deepcopy=False, default=[])
                if propv:
                    cache_viewer_baker[vertex_ref] = dataCorrect(propv)

            if edgepol_links:
                prope = inputs['edg_pol'].sv_get(deepcopy=False, default=[])
                if prope:
                    cache_viewer_baker[poledg_ref] = dataCorrect(prope)

            if matrix_links:
                propm = inputs['matrix'].sv_get(deepcopy=False, default=[])
                if propm:
                    cache_viewer_baker[matrix_ref] = dataCorrect(propm)

        if cache_viewer_baker[vertex_ref] or cache_viewer_baker[matrix_ref]:
            config_options = self.get_options()
            callback_enable(n_id, cache_viewer_baker, config_options)
コード例 #9
0
ファイル: viewer_mk2.py プロジェクト: hsab/sverchok
 def update(self):
     if not ("matrix" in self.inputs):
         return
     if self.inputs[0].links or self.inputs[2].links:
         callback_disable(node_id(self))
コード例 #10
0
ファイル: viewer_mk2.py プロジェクト: rangerBR/sverchok
 def update(self):
     if not "matrix" in self.inputs:
         return
     if self.inputs[0].links or self.inputs[2].links:
         callback_disable(node_id(self))
コード例 #11
0
ファイル: viewer_mk2.py プロジェクト: bryant1410/sverchok
 def update(self):
     if not ("matrix" in self.inputs):
         return
     if not (self.inputs[0].other or self.inputs[2].other):
         callback_disable(node_id(self))