I would like to know if vtk has a tool to apply a non-uniform scale. For example, I want to scale a polydata according to a vector but not symmetrically. Scale only allows positive vectors and different from 0. And I would like to define a direction of scale. Something similar of what vtkboxwidget does when we drag only a face and it only grows in the direction of movement in that face. Someone knows if there is a function for that?
Use a transform such as vtkTransform. Using a combination of rotation and scaling should do the trick. I’m assuming you want to transform some sort of vtkPointSet (and subclasses). In which case, use the transform in combination with vtkTransformFilter. Note that while transforms are in principle easy, you have to be very careful that you concatenate the transformations in the correct order, and be mindful of the origin of rotation(s).
Hi !!. I was thinking about exactly this, by doing a symmetric scale along one single axis half of the factor scale and translate half of the factor so that I get the effect of translation of only one side. I hope it is the same effect as extruding along one vector.