def loadTextureForMesh(polyData, meshFileName): textureFileName = Geometry.getTextureFileName(polyData) if textureFileName in Geometry.TextureCache or textureFileName is None: return if not os.path.isabs(textureFileName): baseDir = os.path.dirname(meshFileName) imageFile = os.path.join(baseDir, textureFileName) else: imageFile = textureFileName if not os.path.isfile(imageFile): print 'cannot find texture file:', textureFileName return image = ioUtils.readImage(imageFile) if not image: print 'failed to load image file:', imageFile return texture = vtk.vtkTexture() texture.SetInput(image) texture.EdgeClampOn() texture.RepeatOn() Geometry.TextureCache[textureFileName] = texture
def loadBackgroundImage(self, filename): view = self.view img = ioUtils.readImage(filename) tex = vtk.vtkTexture() tex.SetInput(img) view.renderer().SetBackgroundTexture(tex) view.renderer().TexturedBackgroundOn()
def loadTextureForMesh(polyData, meshFileName): textureFileName = Geometry.getTextureFileName(polyData) if textureFileName in Geometry.TextureCache or textureFileName is None: return if not os.path.isabs(textureFileName): baseDir = os.path.dirname(meshFileName) imageFile = os.path.join(baseDir, textureFileName) else: imageFile = textureFileName if not os.path.isfile(imageFile): print "cannot find texture file:", textureFileName return image = ioUtils.readImage(imageFile) if not image: print "failed to load image file:", imageFile return texture = vtk.vtkTexture() texture.SetInput(image) texture.EdgeClampOn() texture.RepeatOn() Geometry.TextureCache[textureFileName] = texture
def createTexture(imageFilename): image = ioutils.readImage(imageFilename) tex = vtk.vtkTexture() tex.SetInput(image) tex.EdgeClampOn() tex.RepeatOff() return tex
def createTexture(imageFilename): image = ioUtils.readImage(imageFilename) tex = vtk.vtkTexture() tex.SetInput(image) tex.EdgeClampOn() tex.RepeatOff() return tex
def addImage(self, name, robotName): if robotName in self.images and name in self.images[robotName]: return image = vtk.vtkImageData() tex = vtk.vtkTexture() tex.SetInputData(image) tex.EdgeClampOn() tex.RepeatOff() if robotName not in self.images: self.imageUtimes[robotName] = {} self.images[robotName] = {} self.textures[robotName] = {} self.imageRotations180[robotName] = {} self.queue[robotName] = {} self.providerClasses[robotName] = None self.imageUtimes[robotName][name] = 0 self.images[robotName][name] = image self.textures[robotName][name] = tex self.imageRotations180[robotName][name] = False if self.providerClasses[robotName]: self.queue[robotName][name] = self.providerClasses[ robotName].initialise_from_name(name, robotName) else: print( "Could not initialise camera {} as the provider class is not initialised." .format(name)) self.queue[robotName][name] = None
def getTextureForMaterial(self, material): materialDict = dict(material.properties.items()) if 'file' not in materialDict: return None textureFile = materialDict['file'] if textureFile in self.textureCache: return self.textureCache[textureFile] if not os.path.isabs(textureFile): imageFile = os.path.join(self.baseDir, textureFile) else: imageFile = textureFile if os.path.isfile(imageFile): image = ioUtils.readImage(imageFile) if image: texture = vtk.vtkTexture() texture.SetInput(image) texture.EdgeClampOn() texture.RepeatOn() else: print 'failed to load image file:', imageFile texture = None else: print 'cannot find texture file:', textureFile texture = None self.textureCache[textureFile] = texture return texture
def addImage(self, name): if name in self.images: return image = vtk.vtkImageData() tex = vtk.vtkTexture() tex.SetInput(image) tex.EdgeClampOn() tex.RepeatOff() self.imageUtimes[name] = 0 self.images[name] = image self.textures[name] = tex
def addImage(self, name): if name in self.images: return image = vtk.vtkImageData() tex = vtk.vtkTexture() tex.SetInput(image) tex.EdgeClampOn() tex.RepeatOff() self.imageUtimes[name] = 0 self.images[name] = image self.textures[name] = tex self.imageRotations180[name] = False
def create_texture(texture_size, color_map): """Creates a texture image by uniformly sampling the color space in the given color map.""" color_map.data_range = [0, 1] samples = np.linspace(0.0, 1.0, texture_size) texture_image = vtk.vtkImageCanvasSource2D() texture_image.SetScalarTypeToUnsignedChar() texture_image.SetExtent(0, texture_size-1, 0, 0, 0, 0) texture_image.SetNumberOfScalarComponents(3) for i in range(0, texture_size): [r, g, b] = color_map.get_color(samples[i]) texture_image.SetDrawColor(255*r, 255*g, 255*b, 0) texture_image.DrawPoint(i, 0) texture_image.Update() texture = vtk.vtkTexture() texture.SetInputConnection(texture_image.GetOutputPort()) texture.RepeatOff() return texture