This can be useful to save the result of a cloth simulation as a shape key without destroying the simulation, so it's possible to e.g. re-run it to get other shapes, or simply use the new shape key to start the simulation already in a draped state. It also makes sense to allow applying as shape key even when the mesh is shared, because the operation itself just adds a shape key. To support this, split the apply operator into Apply and Apply As Shapekey so that they can have different poll callbacks. Differential Revision: https://developer.blender.org/D8173