Package org.boxutil.util
Class CalculateUtil
java.lang.Object
org.boxutil.util.CalculateUtil
-
Method Summary
Modifier and TypeMethodDescriptionstatic float[]add(float[] src, float dst) static float[]add(float[] src, float[] dst) static Colorstatic Colorstatic float[]addAll(float[] src, float[]... dst) static booleancheckIntersectionRayCircle(org.lwjgl.util.vector.Vector2f rayFrom, float rayFacing, org.lwjgl.util.vector.Vector2f circle, float radius) static float[]clamp(float[] array, float[] min, float[] max) static float[]clamp(float[] array, float min, float max) static org.lwjgl.util.vector.Vector2fclamp(org.lwjgl.util.vector.Vector2f vector, float min, float max) static org.lwjgl.util.vector.Vector2fclamp(org.lwjgl.util.vector.Vector2f vector, org.lwjgl.util.vector.Vector2f min, org.lwjgl.util.vector.Vector2f max) static org.lwjgl.util.vector.Vector3fclamp(org.lwjgl.util.vector.Vector3f vector, float min, float max) static org.lwjgl.util.vector.Vector3fclamp(org.lwjgl.util.vector.Vector3f vector, org.lwjgl.util.vector.Vector3f min, org.lwjgl.util.vector.Vector3f max) static org.lwjgl.util.vector.Vector4fclamp(org.lwjgl.util.vector.Vector4f vector, float min, float max) static org.lwjgl.util.vector.Vector4fclamp(org.lwjgl.util.vector.Vector4f vector, org.lwjgl.util.vector.Vector4f min, org.lwjgl.util.vector.Vector4f max) static floatcross(org.lwjgl.util.vector.Vector2f a, org.lwjgl.util.vector.Vector2f b) static floatcross(org.lwjgl.util.vector.Vector2f o, org.lwjgl.util.vector.Vector2f a, org.lwjgl.util.vector.Vector2f b) static float[]div(float[] src, float dst) static float[]div(float[] src, float[] dst) static Colorstatic Colorstatic float[]divAll(float[] src, float[]... dst) static floatfraction(float input) static bytegetExponentPOTMax(int input) Returnsnof2^nthat greater than input.static bytegetExponentPOTMax(long input) Returnsnof2^nthat greater than input.static bytegetExponentPOTMin(int input) Returnsnof2^nthat less than input.static bytegetExponentPOTMin(long input) Returnsnof2^nthat less than input.static org.lwjgl.util.vector.Vector2fgetHammersley(int i, int n) static org.lwjgl.util.vector.Vector2fgetNearestIntersectionRayCircle(org.lwjgl.util.vector.Vector2f rayFrom, float rayFacing, org.lwjgl.util.vector.Vector2f circle, float radius) static org.lwjgl.util.vector.Vector2fgetNearestIntersectionRayShield(org.lwjgl.util.vector.Vector2f rayFrom, float rayFacing, org.lwjgl.util.vector.Vector2f circle, float radius) Without shield arc check.static org.lwjgl.util.vector.Vector2fgetNearestIntersectionSegmentCircle(org.lwjgl.util.vector.Vector2f start, org.lwjgl.util.vector.Vector2f end, org.lwjgl.util.vector.Vector2f circle, float radius) static org.lwjgl.util.vector.Vector2fgetNearestIntersectionSegmentShield(org.lwjgl.util.vector.Vector2f start, org.lwjgl.util.vector.Vector2f end, org.lwjgl.util.vector.Vector2f circle, float radius) Without shield arc check.static org.lwjgl.util.vector.Vector3fgetPointOnSphere(org.lwjgl.util.vector.Vector3f center, float radius, org.lwjgl.util.vector.Vector3f rotate) static intgetPOTMax(int input) Returnsvalueof2^nthat greater than input.static longgetPOTMax(long input) Returnsvalueof2^nthat greater than input.static intgetPOTMin(int input) Returnsvalueof2^nthat less than input.static longgetPOTMin(long input) Returnsvalueof2^nthat less than input.static org.lwjgl.util.vector.Vector3fgetRandomPointOnSphere(org.lwjgl.util.vector.Vector3f center, float radius) static intgetStepMax(int input, int step) static floatinverseLerp(float edgeL, float edgeR, float value) static booleanisAABBOverlap(org.lwjgl.util.vector.Vector2f[] aabbSRC, org.lwjgl.util.vector.Vector2f[] aabbDST) static booleanisAABBOverlap(org.lwjgl.util.vector.Vector2f blSRC, org.lwjgl.util.vector.Vector2f trSRC, org.lwjgl.util.vector.Vector2f blDST, org.lwjgl.util.vector.Vector2f trDST) static booleanisPointInside(org.lwjgl.util.vector.Vector2f a, org.lwjgl.util.vector.Vector2f b, org.lwjgl.util.vector.Vector2f c, org.lwjgl.util.vector.Vector2f point) CCW order triangle.static booleanisPointWithinAABB(org.lwjgl.util.vector.Vector2f point, float range, org.lwjgl.util.vector.Vector2f[] aabb) static booleanisPointWithinAABB(org.lwjgl.util.vector.Vector2f point, float range, org.lwjgl.util.vector.Vector2f bl, org.lwjgl.util.vector.Vector2f tr) static booleanisPointWithinAABB(org.lwjgl.util.vector.Vector2f point, org.lwjgl.util.vector.Vector2f[] aabb) static booleanisPointWithinAABB(org.lwjgl.util.vector.Vector2f point, org.lwjgl.util.vector.Vector2f bl, org.lwjgl.util.vector.Vector2f tr) static booleanisSegmentWithinOrIntersectAABB(com.fs.starfarer.api.combat.BoundsAPI.SegmentAPI segment, org.lwjgl.util.vector.Vector2f[] aabb) static booleanisSegmentWithinOrIntersectAABB(com.fs.starfarer.api.combat.BoundsAPI.SegmentAPI segment, org.lwjgl.util.vector.Vector2f bl, org.lwjgl.util.vector.Vector2f tr) static booleanisSegmentWithinOrIntersectAABB(org.lwjgl.util.vector.Vector2f start, org.lwjgl.util.vector.Vector2f end, org.lwjgl.util.vector.Vector2f[] aabb) static booleanisSegmentWithinOrIntersectAABB(org.lwjgl.util.vector.Vector2f start, org.lwjgl.util.vector.Vector2f end, org.lwjgl.util.vector.Vector2f bl, org.lwjgl.util.vector.Vector2f tr) static org.lwjgl.util.vector.Vector2fmax(org.lwjgl.util.vector.Vector2f left, org.lwjgl.util.vector.Vector2f right, org.lwjgl.util.vector.Vector2f result) static org.lwjgl.util.vector.Vector3fmax(org.lwjgl.util.vector.Vector3f left, org.lwjgl.util.vector.Vector3f right, org.lwjgl.util.vector.Vector3f result) static org.lwjgl.util.vector.Vector4fmax(org.lwjgl.util.vector.Vector4f left, org.lwjgl.util.vector.Vector4f right, org.lwjgl.util.vector.Vector4f result) static org.lwjgl.util.vector.Vector2fmin(org.lwjgl.util.vector.Vector2f left, org.lwjgl.util.vector.Vector2f right, org.lwjgl.util.vector.Vector2f result) static org.lwjgl.util.vector.Vector3fmin(org.lwjgl.util.vector.Vector3f left, org.lwjgl.util.vector.Vector3f right, org.lwjgl.util.vector.Vector3f result) static org.lwjgl.util.vector.Vector4fmin(org.lwjgl.util.vector.Vector4f left, org.lwjgl.util.vector.Vector4f right, org.lwjgl.util.vector.Vector4f result) static byte[]mix(byte[] src, byte[] dst, float factor) static bytemix(byte src, byte dst, float factor) static double[]mix(double[] src, double[] dst, float factor) static doublemix(double src, double dst, double factor) static float[]mix(float[] src, float[] dst, float factor) static floatmix(float src, float dst, float factor) static int[]mix(int[] src, int[] dst, float factor) static intmix(int src, int dst, float factor) static Colorstatic org.lwjgl.util.vector.Vector2fmix(org.lwjgl.util.vector.Vector2f src, org.lwjgl.util.vector.Vector2f dst, org.lwjgl.util.vector.Vector2f result, float factor) static org.lwjgl.util.vector.Vector3fmix(org.lwjgl.util.vector.Vector3f src, org.lwjgl.util.vector.Vector3f dst, org.lwjgl.util.vector.Vector3f result, float factor) static org.lwjgl.util.vector.Vector4fmix(org.lwjgl.util.vector.Vector4f src, org.lwjgl.util.vector.Vector4f dst, org.lwjgl.util.vector.Vector4f result, float factor) static float[]mul(float[] src, float dst) static float[]mul(float[] src, float[] dst) static Colorstatic Colorstatic float[]mulAll(float[] src, float[]... dst) static booleanpointAtFront(org.lwjgl.util.vector.Vector2f point, com.fs.starfarer.api.combat.CombatEntityAPI entity) static booleanpointAtFront(org.lwjgl.util.vector.Vector2f point, org.lwjgl.util.vector.Vector2f forward) static booleanpointAtRight(org.lwjgl.util.vector.Vector2f point, com.fs.starfarer.api.combat.CombatEntityAPI entity) static booleanpointAtRight(org.lwjgl.util.vector.Vector2f point, org.lwjgl.util.vector.Vector2f forward) static org.lwjgl.util.vector.Vector2freflect(org.lwjgl.util.vector.Vector2f vector, org.lwjgl.util.vector.Vector2f normal, org.lwjgl.util.vector.Vector2f result) static org.lwjgl.util.vector.Vector3freflect(org.lwjgl.util.vector.Vector3f vector, org.lwjgl.util.vector.Vector3f normal, org.lwjgl.util.vector.Vector3f result) static org.lwjgl.util.vector.Vector3fscaleFormCenter(org.lwjgl.util.vector.Vector3f center, float factor, org.lwjgl.util.vector.Vector3f target, org.lwjgl.util.vector.Vector3f out) static floatsmoothstep(float edgeL, float edgeR, float value) static floatstepF(float edge, float value) static intstepI(float edge, float value) static float[]sub(float[] src, float dst) static float[]sub(float[] src, float[] dst) static Colorstatic Colorstatic float[]subAll(float[] src, float[]... dst)
-
Method Details
-
stepI
public static int stepI(float edge, float value) -
stepF
public static float stepF(float edge, float value) -
smoothstep
public static float smoothstep(float edgeL, float edgeR, float value) -
inverseLerp
public static float inverseLerp(float edgeL, float edgeR, float value) -
reflect
public static org.lwjgl.util.vector.Vector2f reflect(org.lwjgl.util.vector.Vector2f vector, org.lwjgl.util.vector.Vector2f normal, org.lwjgl.util.vector.Vector2f result) -
reflect
public static org.lwjgl.util.vector.Vector3f reflect(org.lwjgl.util.vector.Vector3f vector, org.lwjgl.util.vector.Vector3f normal, org.lwjgl.util.vector.Vector3f result) -
cross
public static float cross(org.lwjgl.util.vector.Vector2f o, org.lwjgl.util.vector.Vector2f a, org.lwjgl.util.vector.Vector2f b) -
cross
public static float cross(org.lwjgl.util.vector.Vector2f a, org.lwjgl.util.vector.Vector2f b) -
pointAtRight
public static boolean pointAtRight(org.lwjgl.util.vector.Vector2f point, org.lwjgl.util.vector.Vector2f forward) -
pointAtRight
public static boolean pointAtRight(org.lwjgl.util.vector.Vector2f point, com.fs.starfarer.api.combat.CombatEntityAPI entity) -
pointAtFront
public static boolean pointAtFront(org.lwjgl.util.vector.Vector2f point, org.lwjgl.util.vector.Vector2f forward) -
pointAtFront
public static boolean pointAtFront(org.lwjgl.util.vector.Vector2f point, com.fs.starfarer.api.combat.CombatEntityAPI entity) -
isPointInside
public static boolean isPointInside(org.lwjgl.util.vector.Vector2f a, org.lwjgl.util.vector.Vector2f b, org.lwjgl.util.vector.Vector2f c, org.lwjgl.util.vector.Vector2f point) CCW order triangle.- Parameters:
point- check point.
-
checkIntersectionRayCircle
public static boolean checkIntersectionRayCircle(org.lwjgl.util.vector.Vector2f rayFrom, float rayFacing, org.lwjgl.util.vector.Vector2f circle, float radius) -
getNearestIntersectionRayCircle
@Nullable public static org.lwjgl.util.vector.Vector2f getNearestIntersectionRayCircle(org.lwjgl.util.vector.Vector2f rayFrom, float rayFacing, org.lwjgl.util.vector.Vector2f circle, float radius) -
getNearestIntersectionRayShield
@Nullable public static org.lwjgl.util.vector.Vector2f getNearestIntersectionRayShield(org.lwjgl.util.vector.Vector2f rayFrom, float rayFacing, org.lwjgl.util.vector.Vector2f circle, float radius) Without shield arc check. -
getNearestIntersectionSegmentCircle
@Nullable public static org.lwjgl.util.vector.Vector2f getNearestIntersectionSegmentCircle(org.lwjgl.util.vector.Vector2f start, org.lwjgl.util.vector.Vector2f end, org.lwjgl.util.vector.Vector2f circle, float radius) -
getNearestIntersectionSegmentShield
@Nullable public static org.lwjgl.util.vector.Vector2f getNearestIntersectionSegmentShield(org.lwjgl.util.vector.Vector2f start, org.lwjgl.util.vector.Vector2f end, org.lwjgl.util.vector.Vector2f circle, float radius) Without shield arc check. -
getPointOnSphere
public static org.lwjgl.util.vector.Vector3f getPointOnSphere(@Nullable org.lwjgl.util.vector.Vector3f center, float radius, org.lwjgl.util.vector.Vector3f rotate) - Parameters:
rotate- angle of ZXY.
-
getRandomPointOnSphere
public static org.lwjgl.util.vector.Vector3f getRandomPointOnSphere(@Nullable org.lwjgl.util.vector.Vector3f center, float radius) -
scaleFormCenter
public static org.lwjgl.util.vector.Vector3f scaleFormCenter(@Nullable org.lwjgl.util.vector.Vector3f center, float factor, @NotNull org.lwjgl.util.vector.Vector3f target, @Nullable org.lwjgl.util.vector.Vector3f out) -
isPointWithinAABB
public static boolean isPointWithinAABB(org.lwjgl.util.vector.Vector2f point, org.lwjgl.util.vector.Vector2f bl, org.lwjgl.util.vector.Vector2f tr) -
isPointWithinAABB
public static boolean isPointWithinAABB(org.lwjgl.util.vector.Vector2f point, org.lwjgl.util.vector.Vector2f[] aabb) - Parameters:
aabb- Vector2f[] = {bottomLeft, topRight}
-
isPointWithinAABB
public static boolean isPointWithinAABB(org.lwjgl.util.vector.Vector2f point, float range, org.lwjgl.util.vector.Vector2f bl, org.lwjgl.util.vector.Vector2f tr) -
isPointWithinAABB
public static boolean isPointWithinAABB(org.lwjgl.util.vector.Vector2f point, float range, org.lwjgl.util.vector.Vector2f[] aabb) - Parameters:
aabb- Vector2f[] = {bottomLeft, topRight}
-
isSegmentWithinOrIntersectAABB
public static boolean isSegmentWithinOrIntersectAABB(org.lwjgl.util.vector.Vector2f start, org.lwjgl.util.vector.Vector2f end, org.lwjgl.util.vector.Vector2f bl, org.lwjgl.util.vector.Vector2f tr) -
isSegmentWithinOrIntersectAABB
public static boolean isSegmentWithinOrIntersectAABB(com.fs.starfarer.api.combat.BoundsAPI.SegmentAPI segment, org.lwjgl.util.vector.Vector2f bl, org.lwjgl.util.vector.Vector2f tr) -
isSegmentWithinOrIntersectAABB
public static boolean isSegmentWithinOrIntersectAABB(org.lwjgl.util.vector.Vector2f start, org.lwjgl.util.vector.Vector2f end, org.lwjgl.util.vector.Vector2f[] aabb) - Parameters:
aabb- Vector2f[] = {bottomLeft, topRight}
-
isSegmentWithinOrIntersectAABB
public static boolean isSegmentWithinOrIntersectAABB(com.fs.starfarer.api.combat.BoundsAPI.SegmentAPI segment, org.lwjgl.util.vector.Vector2f[] aabb) - Parameters:
aabb- Vector2f[] = {bottomLeft, topRight}
-
isAABBOverlap
public static boolean isAABBOverlap(org.lwjgl.util.vector.Vector2f blSRC, org.lwjgl.util.vector.Vector2f trSRC, org.lwjgl.util.vector.Vector2f blDST, org.lwjgl.util.vector.Vector2f trDST) -
isAABBOverlap
public static boolean isAABBOverlap(org.lwjgl.util.vector.Vector2f[] aabbSRC, org.lwjgl.util.vector.Vector2f[] aabbDST) - Parameters:
aabbSRC- Vector2f[] = {bottomLeft, topRight}aabbDST- Vector2f[] = {bottomLeft, topRight}
-
mix
public static byte mix(byte src, byte dst, float factor) -
mix
public static int mix(int src, int dst, float factor) -
mix
public static float mix(float src, float dst, float factor) -
mix
public static double mix(double src, double dst, double factor) -
mix
-
mix
public static org.lwjgl.util.vector.Vector2f mix(org.lwjgl.util.vector.Vector2f src, org.lwjgl.util.vector.Vector2f dst, @Nullable org.lwjgl.util.vector.Vector2f result, float factor) -
mix
public static org.lwjgl.util.vector.Vector3f mix(org.lwjgl.util.vector.Vector3f src, org.lwjgl.util.vector.Vector3f dst, @Nullable org.lwjgl.util.vector.Vector3f result, float factor) -
mix
public static org.lwjgl.util.vector.Vector4f mix(org.lwjgl.util.vector.Vector4f src, org.lwjgl.util.vector.Vector4f dst, @Nullable org.lwjgl.util.vector.Vector4f result, float factor) -
mix
public static byte[] mix(byte[] src, byte[] dst, float factor) -
mix
public static int[] mix(int[] src, int[] dst, float factor) -
mix
public static float[] mix(float[] src, float[] dst, float factor) -
mix
public static double[] mix(double[] src, double[] dst, float factor) -
addAll
public static float[] addAll(float[] src, float[]... dst) -
add
public static float[] add(float[] src, float[] dst) -
add
public static float[] add(float[] src, float dst) -
add
-
add
-
subAll
public static float[] subAll(float[] src, float[]... dst) -
sub
public static float[] sub(float[] src, float[] dst) -
sub
public static float[] sub(float[] src, float dst) -
sub
-
sub
-
mulAll
public static float[] mulAll(float[] src, float[]... dst) -
mul
public static float[] mul(float[] src, float[] dst) -
mul
public static float[] mul(float[] src, float dst) -
mul
-
mul
-
divAll
public static float[] divAll(float[] src, float[]... dst) -
div
public static float[] div(float[] src, float[] dst) -
div
public static float[] div(float[] src, float dst) -
div
-
div
-
clamp
public static org.lwjgl.util.vector.Vector2f clamp(org.lwjgl.util.vector.Vector2f vector, float min, float max) -
clamp
public static org.lwjgl.util.vector.Vector2f clamp(org.lwjgl.util.vector.Vector2f vector, org.lwjgl.util.vector.Vector2f min, org.lwjgl.util.vector.Vector2f max) -
clamp
public static org.lwjgl.util.vector.Vector3f clamp(org.lwjgl.util.vector.Vector3f vector, float min, float max) -
clamp
public static org.lwjgl.util.vector.Vector3f clamp(org.lwjgl.util.vector.Vector3f vector, org.lwjgl.util.vector.Vector3f min, org.lwjgl.util.vector.Vector3f max) -
clamp
public static org.lwjgl.util.vector.Vector4f clamp(org.lwjgl.util.vector.Vector4f vector, float min, float max) -
clamp
public static org.lwjgl.util.vector.Vector4f clamp(org.lwjgl.util.vector.Vector4f vector, org.lwjgl.util.vector.Vector4f min, org.lwjgl.util.vector.Vector4f max) -
clamp
public static float[] clamp(float[] array, float[] min, float[] max) -
clamp
public static float[] clamp(float[] array, float min, float max) -
min
public static org.lwjgl.util.vector.Vector2f min(org.lwjgl.util.vector.Vector2f left, org.lwjgl.util.vector.Vector2f right, org.lwjgl.util.vector.Vector2f result) -
min
public static org.lwjgl.util.vector.Vector3f min(org.lwjgl.util.vector.Vector3f left, org.lwjgl.util.vector.Vector3f right, org.lwjgl.util.vector.Vector3f result) -
min
public static org.lwjgl.util.vector.Vector4f min(org.lwjgl.util.vector.Vector4f left, org.lwjgl.util.vector.Vector4f right, org.lwjgl.util.vector.Vector4f result) -
max
public static org.lwjgl.util.vector.Vector2f max(org.lwjgl.util.vector.Vector2f left, org.lwjgl.util.vector.Vector2f right, org.lwjgl.util.vector.Vector2f result) -
max
public static org.lwjgl.util.vector.Vector3f max(org.lwjgl.util.vector.Vector3f left, org.lwjgl.util.vector.Vector3f right, org.lwjgl.util.vector.Vector3f result) -
max
public static org.lwjgl.util.vector.Vector4f max(org.lwjgl.util.vector.Vector4f left, org.lwjgl.util.vector.Vector4f right, org.lwjgl.util.vector.Vector4f result) -
fraction
public static float fraction(float input) - Parameters:
input- cannot too large.
-
getPOTMin
public static int getPOTMin(int input) Returnsvalueof2^nthat less than input. -
getPOTMax
public static int getPOTMax(int input) Returnsvalueof2^nthat greater than input. -
getPOTMin
public static long getPOTMin(long input) Returnsvalueof2^nthat less than input. -
getPOTMax
public static long getPOTMax(long input) Returnsvalueof2^nthat greater than input. -
getExponentPOTMin
public static byte getExponentPOTMin(int input) Returnsnof2^nthat less than input. -
getExponentPOTMax
public static byte getExponentPOTMax(int input) Returnsnof2^nthat greater than input. -
getExponentPOTMin
public static byte getExponentPOTMin(long input) Returnsnof2^nthat less than input. -
getExponentPOTMax
public static byte getExponentPOTMax(long input) Returnsnof2^nthat greater than input. -
getStepMax
public static int getStepMax(int input, int step) -
getHammersley
public static org.lwjgl.util.vector.Vector2f getHammersley(int i, int n)
-