Q:

C# Vector.Add with PointF

I am programming a little program for interpreting and drawing G-Code (used for CNC - machines)
For linking two lines with a radius i wrote a little program and have to use the function Vector.Add.
No code, had probelems with formatting :)
p1,p2,p3 are the three points 
p1->p2 = vector ab 
p2->p3 = vector bc 
eab = Unit vector ab 
ebc = Unit vector bc 
eres = resulting vector 

My problem is: For the operation Vector.Add() I need a Vector and a Point(PointF is not allowed) but I have to use PointF due to the accuracy. 
What shall I do?
eab = ab / ab.Length;
ebc = bc / bc.Length;
eres = Vector.Add(eab, ebc);
PointF test= new PointF();
test= Vector.Add(5 * eres, test ); 

I use System.Windows.Drawing for drawing and System.Windows.Base for the vectors.

A:

In the System.Drawing.dll, namespace System.Drawing, there are:
public struct Point { ... }
public struct PointF { ... }

whose coordinates are int (System.Int32) and float (System.Single), respectively.
In the WindowsBase.dll, namespace System.Windows, there is another:
public struct Point { ... }

whose coordinates are double (System.Double).
If you need both, you can

Have both the directives using System.Drawing; and using System.Windows; at the same level in your file, and then inside the code give the full name (like e.g. System.Winodws.Point instead of just Point) whenever there's disambiguity (that is whenever the compiler requires that). Or:
Have only one of the using directives (the one you use the most), and then give the full name in cases where you use types (like structs) from the other namespace. Or:
Create one or more using alias directives (see link).

