members: //XYZ components of vector public Vector3 direction //Lat/Long angles in Radians public float latitude, longitude functions: public PolarVector() public PolarVector(float x, float y, float z) public PolarVector(float lat, float lng) public PolarVector(Vector3 vector) //Calculates the angles based on XYZ public void SetByComponent(Vector3 vector) public void SetByComponent(float x, float y, float z) //Calculates the XYZ based on angles public void SetByAngles(float lat, float lng) //Overload the * for dot product public PolarVector operator * (Vector3 rhs) public PolarVector operator * (PolarVector rhs) //Overload addition public PolarVector operator + (Vector3 rhs) public PolarVector operator + (PolarVector rhs) //Overload subtraction public PolarVector operator - (Vector3 rhs) public PolarVector operator - (PolarVector rhs) //Overload division public PolarVector operator / (float rhs) //Cross Product public PolarVector Cross(Vector3 rhs) public PolarVector Cross(PolarVector rhs) //Return a normalized version of vector public PolarVector GetNormalized() //Normalize this vector public void Normalize()