Пример #1
0
            if N < 1:
                raise FilterException("Given value for N not a valid integer")

            try:
                W = int(W)
            except ValueError:
                raise FilterException("Given value for W not a valid integer")
            if W < 1:
                raise FilterException("Given value for W not a valid integer")

            try:
                H = int(H)
            except ValueError:
                raise FilterException("Given value for H not a valid integer")
            if H < 1:
                raise FilterException("Given value for H not a valid integer")

            if os.path.exists(filename):
                raise FilterException("specified filename already exists")

            p3dApp = setupPandaApp(mesh)
            saveRotateScreenshots(p3dApp, filename, N, W, H)

            return mesh

    return SaveScreenshotFilter()


from meshtool.filters import factory
factory.register(FilterGenerator().name, FilterGenerator)
                orig_index.shape = -1
                prims_to_add.append((orig_index, inpl, prim.material))
                prims_to_delete.append(prim_index)

        # delete old ones and add new ones
        for i in sorted(prims_to_delete, reverse=True):
            del geom.primitives[i]
        for new_index, inpl, mat in prims_to_add:
            newtriset = geom.createTriangleSet(new_index, inpl, mat)
            geom.primitives.append(newtriset)


def FilterGenerator():
    class SplitTriangleTexcoordsFilter(OptimizationFilter):
        def __init__(self):
            super(SplitTriangleTexcoordsFilter, self).__init__(
                "split_triangle_texcoords",
                "Splits triangles that span multiple texcoords into multiple triangles to better help texture atlasing",
            )

        def apply(self, mesh):
            splitTriangleTexcoords(mesh)
            return mesh

    return SplitTriangleTexcoordsFilter()


from meshtool.filters import factory

factory.register(FilterGenerator().name, FilterGenerator)