bool bHaveConstrainedPosition
If true, then Position is the snap target point but ConstrainedPosition is the one we should return Sounds weird but allows for things like axis-constrained grid snapping to work. We have to snap to the line first, based on user interaction, and then to the grid once the line is selected