Use different scalar arrays as texture coordinates

Is there an easy way to switch the array used for the texture coordinates to different point scalar arrays present in a dataset?

I have three sets of texture coordinates as scalar arrays on my vtkPolyData surface and I have three corresponding texture images. I’d like a simple way to switch between the active texture coordinates and texture images.

There is no filter or mechanism to do this. Programmable Filter is your friend here. Say you want to switch to a texture named “DifferentTexture”. Then your script would look like

input = self.GetInput()
output = self.GetOutput()
output.ShallowCopy(input)
output.GetPointData().SetActiveTCoords('DifferentTexture')