Ejemplo n.º 1
0
        def apply(self, mesh, filename, N, W, H):

            try:
                N = int(N)
            except ValueError:
                raise FilterException("Given value for N not a valid integer")
            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
Ejemplo n.º 2
0
def get_screenshot(dae_data, subfile_map):
    from meshtool.filters.panda_filters import pandacore
    from meshtool.filters.panda_filters import save_screenshot
    
    def customImageLoader(filename):
        return subfile_map[posixpath.basename(filename)]
    
    mesh = collada.Collada(StringIO(dae_data), aux_file_loader=customImageLoader)

    p3dApp = pandacore.setupPandaApp(mesh)
    im = pandacore.getScreenshot(p3dApp)
    im.load()
    if 'A' in list(im.getbands()):
        bbox = im.split()[list(im.getbands()).index('A')].getbbox()
        im = im.crop(bbox)
    main_screenshot = StringIO()
    im.save(main_screenshot, "PNG", optimize=1)
    main_screenshot = main_screenshot.getvalue()
    
    return main_screenshot
 def apply(self, mesh, filename, N, W, H):
     
     try: N = int(N)
     except ValueError: raise FilterException("Given value for N not a valid integer")
     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
Ejemplo n.º 4
0
 def apply(self, mesh, filename):
     if os.path.exists(filename):
         raise FilterException("specified filename already exists")
     p3dApp = setupPandaApp(mesh)
     saveScreenshot(p3dApp, filename)
     return mesh
Ejemplo n.º 5
0
 def apply(self, mesh, filename):
     if os.path.exists(filename):
         raise FilterException("specified filename already exists")
     p3dApp = setupPandaApp(mesh)
     saveScreenshot(p3dApp, filename)
     return mesh