10 * @brief default constructor
23 * @param [in] a The Position X.
24 * @param [in] b The Position Y.
25 * @param [in] c The Position Z.
27 public Position(float a, float b, float c):this()
38 * @param [in] o The Vector Position X, Y, Z.
40 public Position(Vector3 o)
46 ///< name "X", type float (Position X value)
54 ///< name "Y", type float (Position Y value)
62 ///< name "Z", type float (Position Z value)
74 * @param [in] l The Position to add.
75 * @param [in] r The Position to add
76 * @return A reference to this
78 public static Position operator +(Position l, Position r)
80 return new Position(l.X + r.X, l.Y + r.Y, l.Z + r.Z);
87 * @param [in] l The Position to substract.
88 * @param [in] r The Position to substract
89 * @return A reference to this
91 public static Position operator -(Position l, Position r)
93 return new Position(l.X - r.X, l.Y - r.Y, l.Z - r.Z);
100 * @param [in] a The Position to multiply.
101 * @param [in] b The Position to multiply
102 * @return A reference to this
104 public static Position operator *(Position a, double b)
106 return new Position((float)(a.X * b), (float)(a.Y * b), (float)(a.Z * b));
113 * @param [in] a The Position to divide.
114 * @param [in] b The Position to divide
115 * @return float value of division operation
117 public static float operator /(Position a, Position b)
119 return (float)System.Math.Sqrt((a.X / b.X) * (a.Y / b.Y) * (a.Z / b.Z));
126 * @param [in] o The Position object to compare.
127 * @return bool, whether object equal or not
129 public override bool Equals(object obj)
131 Position r = obj as Position;
136 return this.X == r.X && this.Y == r.Y && this.Z == r.Z;
143 * @return Position object
145 public Position Clone()
147 Position copy = new Position(X, Y, Z);