|
LazyLib | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.lazywizard.lazylib.MathUtils
public class MathUtils
Contains methods for working with vectors, angles, distances, and circles.
Method Summary | |
---|---|
static float |
clampAngle(float angle)
Clamps an angle within 360 degrees (ex: 400 degrees becomes 40 degrees). |
static float |
getAngle(org.lwjgl.util.vector.Vector2f from,
org.lwjgl.util.vector.Vector2f to)
Returns the angle between two Vector2f s. |
static org.lwjgl.util.vector.Vector2f |
getDirectionalVector(com.fs.starfarer.api.combat.CombatEntityAPI source,
com.fs.starfarer.api.combat.CombatEntityAPI destination)
Returns a normalized Vector2f pointing from source to destination . |
static org.lwjgl.util.vector.Vector2f |
getDirectionalVector(com.fs.starfarer.api.combat.CombatEntityAPI source,
org.lwjgl.util.vector.Vector2f destination)
Returns a normalized Vector2f pointing from source to destination . |
static org.lwjgl.util.vector.Vector2f |
getDirectionalVector(org.lwjgl.util.vector.Vector2f source,
org.lwjgl.util.vector.Vector2f destination)
Returns a normalized Vector2f pointing from source to destination . |
static float |
getDistance(com.fs.starfarer.api.combat.CombatEntityAPI obj1,
com.fs.starfarer.api.combat.CombatEntityAPI obj2)
Returns the distance between two CombatEntityAPI s, including collision radius. |
static float |
getDistance(com.fs.starfarer.api.combat.CombatEntityAPI entity,
org.lwjgl.util.vector.Vector2f vector)
Returns the distance between a CombatEntityAPI and a Vector2f (includes collision radius). |
static float |
getDistance(com.fs.starfarer.api.campaign.SectorEntityToken token1,
com.fs.starfarer.api.campaign.SectorEntityToken token2)
Returns the distance between two SectorEntityToken s. |
static float |
getDistance(com.fs.starfarer.api.campaign.SectorEntityToken token,
org.lwjgl.util.vector.Vector2f vector)
Returns the distance between a SectorEntityToken and a {@link Vector2f). |
static float |
getDistance(org.lwjgl.util.vector.Vector2f vector1,
org.lwjgl.util.vector.Vector2f vector2)
Returns the distance between two Vector2f s. |
static float |
getDistanceSquared(com.fs.starfarer.api.combat.CombatEntityAPI obj1,
com.fs.starfarer.api.combat.CombatEntityAPI obj2)
Deprecated. Use getDistance(com.fs.starfarer.api.combat.CombatEntityAPI,
com.fs.starfarer.api.combat.CombatEntityAPI) instead. With the addition of collision
radius checking, there's no way to avoid calculating the square root. |
static float |
getDistanceSquared(com.fs.starfarer.api.combat.CombatEntityAPI entity,
org.lwjgl.util.vector.Vector2f vector)
Deprecated. Use getDistance(com.fs.starfarer.api.combat.CombatEntityAPI,
org.lwjgl.util.vector.Vector2f) instead. With the addition of collision
radius checking, there's no way to avoid calculating the square root. |
static float |
getDistanceSquared(com.fs.starfarer.api.campaign.SectorEntityToken token1,
com.fs.starfarer.api.campaign.SectorEntityToken token2)
Returns the distance squared between two SectorEntityToken s. |
static float |
getDistanceSquared(com.fs.starfarer.api.campaign.SectorEntityToken token,
org.lwjgl.util.vector.Vector2f vector)
Returns the distance squared between a SectorEntityToken and a {@link Vector2f). |
static float |
getDistanceSquared(org.lwjgl.util.vector.Vector2f vector1,
org.lwjgl.util.vector.Vector2f vector2)
Returns the distance squared between two Vector2f s (avoids a costly sqrt()). |
static java.util.List<org.lwjgl.util.vector.Vector2f> |
getEquidistantPointsInsideCircle(org.lwjgl.util.vector.Vector2f center,
float radius,
float spaceBetweenPoints)
Returns a List of evenly spaced Vector2f s inside a circle. |
static float |
getFacing(org.lwjgl.util.vector.Vector2f vector)
Returns the facing of a Vector2f . |
static org.lwjgl.util.vector.Vector2f |
getPointOnCircumference(org.lwjgl.util.vector.Vector2f center,
float radius,
float angle)
Returns a point along the circumference of a circle at the given angle. |
static java.util.List<org.lwjgl.util.vector.Vector2f> |
getPointsAlongCircumference(org.lwjgl.util.vector.Vector2f center,
float radius,
int numPoints,
float angleOffset)
Returns an evenly distributed List of points along a circle's circumference. |
static float |
getRandomNumberInRange(float min,
float max)
Returns a random number within a given range. |
static org.lwjgl.util.vector.Vector2f |
getRandomPointInCircle(org.lwjgl.util.vector.Vector2f center,
float radius)
Returns a random point inside of a circle with uniform distribution. |
static org.lwjgl.util.vector.Vector2f |
getRandomPointOnCircumference(org.lwjgl.util.vector.Vector2f center,
float radius)
Returns a random point along the circumference of a circle. |
static boolean |
isPointWithinBounds(org.lwjgl.util.vector.Vector2f point,
com.fs.starfarer.api.combat.CombatEntityAPI entity)
Deprecated. Use CollisionUtils.isPointWithinBounds(org.lwjgl.util.vector.Vector2f, com.fs.starfarer.api.combat.CombatEntityAPI) instead. |
static boolean |
isPointWithinCircle(org.lwjgl.util.vector.Vector2f point,
org.lwjgl.util.vector.Vector2f center,
float radius)
Returns whether a point is within the bounds of a circle or not. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Method Detail |
---|
public static float getDistance(com.fs.starfarer.api.campaign.SectorEntityToken token1, com.fs.starfarer.api.campaign.SectorEntityToken token2)
SectorEntityToken
s.
getDistance(org.lwjgl.util.vector.Vector2f, org.lwjgl.util.vector.Vector2f)
public static float getDistance(com.fs.starfarer.api.campaign.SectorEntityToken token, org.lwjgl.util.vector.Vector2f vector)
SectorEntityToken
and a {@link Vector2f).
getDistance(org.lwjgl.util.vector.Vector2f, org.lwjgl.util.vector.Vector2f)
public static float getDistance(com.fs.starfarer.api.combat.CombatEntityAPI obj1, com.fs.starfarer.api.combat.CombatEntityAPI obj2)
CombatEntityAPI
s, including collision radius.
getDistance(org.lwjgl.util.vector.Vector2f, org.lwjgl.util.vector.Vector2f)
public static float getDistance(com.fs.starfarer.api.combat.CombatEntityAPI entity, org.lwjgl.util.vector.Vector2f vector)
CombatEntityAPI
and a Vector2f
(includes collision radius).
getDistance(org.lwjgl.util.vector.Vector2f, org.lwjgl.util.vector.Vector2f)
public static float getDistance(org.lwjgl.util.vector.Vector2f vector1, org.lwjgl.util.vector.Vector2f vector2)
Vector2f
s.
For comparing distances, it is vastly more efficient to use
getDistanceSquared(org.lwjgl.util.vector.Vector2f,
org.lwjgl.util.vector.Vector2f)
.
public static float getDistanceSquared(com.fs.starfarer.api.campaign.SectorEntityToken token1, com.fs.starfarer.api.campaign.SectorEntityToken token2)
SectorEntityToken
s.
getDistanceSquared(org.lwjgl.util.vector.Vector2f, org.lwjgl.util.vector.Vector2f)
public static float getDistanceSquared(com.fs.starfarer.api.campaign.SectorEntityToken token, org.lwjgl.util.vector.Vector2f vector)
SectorEntityToken
and a {@link Vector2f).
getDistanceSquared(org.lwjgl.util.vector.Vector2f, org.lwjgl.util.vector.Vector2f)
@Deprecated public static float getDistanceSquared(com.fs.starfarer.api.combat.CombatEntityAPI obj1, com.fs.starfarer.api.combat.CombatEntityAPI obj2)
getDistance(com.fs.starfarer.api.combat.CombatEntityAPI,
com.fs.starfarer.api.combat.CombatEntityAPI)
instead. With the addition of collision
radius checking, there's no way to avoid calculating the square root.
CombatEntityAPI
s (includes collision radii).
getDistanceSquared(org.lwjgl.util.vector.Vector2f, org.lwjgl.util.vector.Vector2f)
@Deprecated public static float getDistanceSquared(com.fs.starfarer.api.combat.CombatEntityAPI entity, org.lwjgl.util.vector.Vector2f vector)
getDistance(com.fs.starfarer.api.combat.CombatEntityAPI,
org.lwjgl.util.vector.Vector2f)
instead. With the addition of collision
radius checking, there's no way to avoid calculating the square root.
CombatEntityAPI
and a Vector2f
(includes collision radius).
getDistanceSquared(org.lwjgl.util.vector.Vector2f, org.lwjgl.util.vector.Vector2f)
public static float getDistanceSquared(org.lwjgl.util.vector.Vector2f vector1, org.lwjgl.util.vector.Vector2f vector2)
Vector2f
s (avoids a costly sqrt()).
When comparing distances, use this function instead of
getDistance(org.lwjgl.util.vector.Vector2f,
org.lwjgl.util.vector.Vector2f)
.
public static org.lwjgl.util.vector.Vector2f getDirectionalVector(org.lwjgl.util.vector.Vector2f source, org.lwjgl.util.vector.Vector2f destination)
Vector2f
pointing from source
to destination
.
source
- The origin of the vector.destination
- The location to point at.
Vector2f
pointing at destination
.public static org.lwjgl.util.vector.Vector2f getDirectionalVector(com.fs.starfarer.api.combat.CombatEntityAPI source, org.lwjgl.util.vector.Vector2f destination)
Vector2f
pointing from source
to destination
.
getDirectionalVector(org.lwjgl.util.vector.Vector2f, org.lwjgl.util.vector.Vector2f)
public static org.lwjgl.util.vector.Vector2f getDirectionalVector(com.fs.starfarer.api.combat.CombatEntityAPI source, com.fs.starfarer.api.combat.CombatEntityAPI destination)
Vector2f
pointing from source
to destination
.
getDirectionalVector(org.lwjgl.util.vector.Vector2f, org.lwjgl.util.vector.Vector2f)
public static float clampAngle(float angle)
angle
- The angle to be clamped.
public static float getFacing(org.lwjgl.util.vector.Vector2f vector)
Vector2f
.
vector
- The vector to get the facing of.
vector
.public static float getAngle(org.lwjgl.util.vector.Vector2f from, org.lwjgl.util.vector.Vector2f to)
Vector2f
s.
from
- The source Vector2f
.to
- The Vector2f
to get the angle to.
from
to to
.public static org.lwjgl.util.vector.Vector2f getPointOnCircumference(org.lwjgl.util.vector.Vector2f center, float radius, float angle)
center
- The center point of the circle (can be null for a 0, 0 origin).radius
- The radius of the circle.angle
- The angle, in degrees, to get the point at.
Vector2f
at [@code angle} degrees along the circumference of the given circle.public static org.lwjgl.util.vector.Vector2f getRandomPointOnCircumference(org.lwjgl.util.vector.Vector2f center, float radius)
center
- The center point of the circle (can be null for a 0, 0 origin).radius
- The radius of the circle.
getPointOnCircumference(org.lwjgl.util.vector.Vector2f, float, float)
public static org.lwjgl.util.vector.Vector2f getRandomPointInCircle(org.lwjgl.util.vector.Vector2f center, float radius)
center
- The center point of the circle (can be null for a 0, 0 origin).radius
- The radius of the circle.
public static java.util.List<org.lwjgl.util.vector.Vector2f> getPointsAlongCircumference(org.lwjgl.util.vector.Vector2f center, float radius, int numPoints, float angleOffset)
List
of points along a circle's circumference.
center
- The center point of the circle (can be null for a 0, 0 origin).radius
- The radius of the circle.numPoints
- How many points to generate.angleOffset
- The offset angle of the initial point.
List
of Vector2f
s that are evenly distributed along the circle's circumference.public static boolean isPointWithinCircle(org.lwjgl.util.vector.Vector2f point, org.lwjgl.util.vector.Vector2f center, float radius)
point
- The Vector2f
to check.center
- The center point of the circle (can be null for a 0, 0 origin).radius
- The radius of the circle.
true
if point
is within the circle, false
otherwise.public static java.util.List<org.lwjgl.util.vector.Vector2f> getEquidistantPointsInsideCircle(org.lwjgl.util.vector.Vector2f center, float radius, float spaceBetweenPoints)
List
of evenly spaced Vector2f
s inside a circle.
WARNING: be VERY conservative using this method - a radius of 250 and a spacing
of 5 will result in 10,000 circle checks and 7,825 Vector2f
s created!
center
- The center point of the circle (can be null for a 0, 0 origin).radius
- The radius of the circle.spaceBetweenPoints
- How much space should be between each point.
List
of evenly spaced Vector2f
s inside a circle.public static float getRandomNumberInRange(float min, float max)
min
- The minimum value to select.max
- The maximum value to select.
Float
between min
and max
.@Deprecated public static boolean isPointWithinBounds(org.lwjgl.util.vector.Vector2f point, com.fs.starfarer.api.combat.CombatEntityAPI entity)
CollisionUtils.isPointWithinBounds(org.lwjgl.util.vector.Vector2f, com.fs.starfarer.api.combat.CombatEntityAPI)
instead.
|
LazyLib | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |