Example #1
0
    def process(self):

        if not any(self.outputs[idx].is_linked for idx in range(3)):
            return

        vertices_s = self.inputs['Vertices'].sv_get(default=[[]])
        edges_s = self.inputs['Edges'].sv_get(default=[[]])
        faces_s = self.inputs['Polygons'].sv_get(default=[[]])

        geom = [[], [], []]

        if self.selected_mode == 'mask':
            mask_s = self.inputs['Mask'].sv_get(default=[[True]])
            for *single_geom, mask in zip(
                    *mlrepeat([vertices_s, edges_s, faces_s, mask_s])):
                for idx, d in enumerate(
                        flip_from_mask(mask, single_geom, self.reverse)):
                    geom[idx].append(d)

        elif self.selected_mode == 'match':
            for single_geom in zip(*mlrepeat([vertices_s, edges_s, faces_s])):
                for idx, d in enumerate(
                        flip_to_match_1st(single_geom, self.reverse)):
                    geom[idx].append(d)

        self.set_output(geom)
Example #2
0
    def process(self):

        if not any(self.outputs[idx].is_linked for idx in range(3)):
            return

        vertices_s = self.inputs['Vertices'].sv_get(default=[[]])
        edges_s = self.inputs['Edges'].sv_get(default=[[]])
        faces_s = self.inputs['Polygons'].sv_get(default=[[]])

        # if vertices_s is [[]] and faces_s is [[]]:
        #    return

        geom = [[], [], []]

        if self.selected_mode == 'mask':
            mask_s = self.inputs['Mask'].sv_get(default=[[True]])
            for *single_geom, mask in zip(*mlrepeat([vertices_s, edges_s, faces_s, mask_s])):
                for idx, d in enumerate(flip_from_mask(mask, single_geom, self.reverse)):
                    geom[idx].append(d)

        elif self.selected_mode == 'match':
            for single_geom in zip(*mlrepeat([vertices_s, edges_s, faces_s])):
                for idx, d in enumerate(flip_to_match_1st(single_geom, self.reverse)):
                    geom[idx].append(d)

        self.set_output(geom)