The mentioned methods are coupled to shape types - if one of the two shapes is rectangle, and other is ellipse, you can foreach the sides of the rectangle in order to find IntersectionPointOnEllipse.
Instead of posting diagram specific code here, I will try to explain that the problem is more generic. Every shape in Diagram is pretty much a Path and every shape in Diagram has Geometry property of type System.Windows.Media.Geometry. So the generic problem is how to find that two Paths or two Geometries are intersecting ? I am sure many stackoverflow, msdn forums have some suggestions on how this can be achieved. For example this one:
Getting the intersection points of two [path] geometries in WPF
Telerik by Progress
Do you need help with upgrading your WPF project? Try the Telerik API Analyzer
and share your thoughts!