/** @return The squared euclidian length */
float len2 ();
+
+ /** Limits this vector's length to given value
+ * @return This vector for chaining */
+ T limit (float limit);
/** Sets this vector from the given vector
* @param v The vector
final float y_d = y - this.y;\r
return x_d * x_d + y_d * y_d;\r
}\r
+ \r
+ /** Limits this vector's length to given value\r
+ * @param limit Max length\r
+ * @return This vector for chaining */\r
+ public Vector2 limit (float limit) {\r
+ if (len2() > limit * limit) {\r
+ nor();\r
+ mul(limit);\r
+ }\r
+ return this;\r
+ }\r
\r
public String toString () {\r
return "[" + x + ":" + y + "]";\r
\r
return a + b + c;\r
}\r
+ \r
+ /** Limits this vector's length to given value\r
+ * @param limit Max length\r
+ * @return This vector for chaining */\r
+ public Vector3 limit (float limit) {\r
+ if (len2() > limit * limit) {\r
+ nor();\r
+ mul(limit);\r
+ }\r
+ return this;\r
+ }\r
\r
/** Returns the squared distance between this point and the given point\r
* \r