NPCPhysicsMath

public class NPCPhysicsMath

Class NPCPhysicsMath. Provides npcphysicsmath functionality for the Hytale server.

java.lang.Object > NPCPhysicsMath

Field Summary

s

final double s

Field s.

sine

final double sine

Field sine.

mX

final double mX

Field mX.

mY

final double mY

Field mY.

mZ

final double mZ

Field mZ.

nX

final double nX

Field nX.

nY

final double nY

Field nY.

nZ

final double nZ

Field nZ.

nLen

final double nLen

Field nLen.

c

final double c

Field c.

d

final double d

Field d.

x

final double x

Field x.

y

final double y

Field y.

z

final double z

Field z.

ax

final double ax

Field ax.

ay

final double ay

Field ay.

az

final double az

Field az.

l

final double l

Field l.

len

final double len

Field len.

dot

final double dot

Field dot.

cx

final double cx

Field cx.

cy

final double cy

Field cy.

cz

final double cz

Field cz.

a

final double a

Field a.

b

final double b

Field b.

t

final double t

Field t.

t3

final double t3

Field t3.

dx

final double dx

Field dx.

dy

final double dy

Field dy.

dz

final double dz

Field dz.

px

final double px

Field px.

py

final double py

Field py.

pz

final double pz

Field pz.

ox

final double ox

Field ox.

oy

final double oy

Field oy.

oz

final double oz

Field oz.

lambda

final double lambda

Field lambda.

blockBoundingBoxes

final BlockBoundingBoxes blockBoundingBoxes

Field blockBoundingBoxes.

tempBoundingBox

final Box tempBoundingBox

Field tempBoundingBox.

ix

final int ix

Field ix.

iy

final int iy

Field iy.

iz

final int iz

Field iz.

chunk

final WorldChunk chunk

Field chunk.

blockType

final BlockType blockType

Field blockType.

rotation

final int rotation

Field rotation.

rotationIndex

final int rotationIndex

Field rotationIndex.

vx

final double vx

Field vx.

vy

final double vy

Field vy.

vz

final double vz

Field vz.

n

final int n

Field n.

n2

final int n2

Field n2.

npcComponent

final NPCEntity npcComponent

Field npcComponent.

role

final Role role

Field role.

radius

final double radius

Field radius.

boundingBoxComponent

final BoundingBox boundingBoxComponent

Field boundingBoxComponent.

boundingBox

final Box boundingBox

Field boundingBox.

r1

final double r1

Field r1.

r2

final double r2

Field r2.

d3

final double d3

Field d3.

s1

final double s1

Field s1.

s2

final double s2

Field s2.

v

final double v

Field v.

phi

final float phi

Field phi.

ratio

final double ratio

Field ratio.

pow

final double pow

Field pow.

dragAccel

final double dragAccel

Field dragAccel.

newV

final double newV

Field newV.

Method Detail

NPCPhysicsMath

public private NPCPhysicsMath ()

Method NPCPhysicsMath.

near

Method near.

Parameters:
@Nonnull final Vector3d v
@Nonnull final Vector3d w

headingFromDirection

static float headingFromDirection (final double x, final double z, final float def)

Method headingFromDirection.

Parameters:
final double x
final double z
final float def

pitchFromDirection

static float pitchFromDirection (final double x, final double y, final double z, final float def)

Method pitchFromDirection.

Parameters:
final double x
final double y
final double z
final float def

getViewDirection

static Vector3d getViewDirection (@Nonnull final Vector3f lookDirection, @Nonnull final Vector3d outDirection)

Method getViewDirection.

Parameters:
@Nonnull final Vector3f lookDirection
@Nonnull final Vector3d outDirection

cosAngleBetweenVectors

static double cosAngleBetweenVectors (@Nonnull final Vector3d v, @Nonnull final Vector3d w)

Method cosAngleBetweenVectors.

Parameters:
@Nonnull final Vector3d v
@Nonnull final Vector3d w

cosAngleBetweenUnitVectors

static double cosAngleBetweenUnitVectors (@Nonnull final Vector3d v, @Nonnull final Vector3d w)

Method cosAngleBetweenUnitVectors.

Parameters:
@Nonnull final Vector3d v
@Nonnull final Vector3d w

realignVector

static void realignVector (@Nonnull final Vector3d v, @Nonnull final Vector3d w, final double cosine, @Nonnull final Vector3d result)

Method realignVector.

Parameters:
@Nonnull final Vector3d v
@Nonnull final Vector3d w
final double cosine
@Nonnull final Vector3d result

realignUnitVector

static void realignUnitVector (@Nonnull final Vector3d v, @Nonnull final Vector3d w, final double cosine, @Nonnull final Vector3d result)

Method realignUnitVector.

Parameters:
@Nonnull final Vector3d v
@Nonnull final Vector3d w
final double cosine
@Nonnull final Vector3d result

realignVectorReturnDirection

static boolean realignVectorReturnDirection (@Nonnull final Vector3d v, final double vLen, @Nonnull final Vector3d w, final double wLen, final double cosine, @Nonnull final Vector3d result)

Method realignVectorReturnDirection.

Parameters:
@Nonnull final Vector3d v
final double vLen
@Nonnull final Vector3d w
final double wLen
final double cosine
@Nonnull final Vector3d result

dotProduct

public return dotProduct (v.x, v.y, v.z, nX, nY, nZ)

Method dotProduct.

Parameters:
v.x v.x
v.y v.y
v.z v.z
nX nX
nY nY
nZ nZ

createOrthogonalvector

static Vector3d createOrthogonalvector (@Nonnull final Vector3d in, @Nonnull final Vector3d out)

Method createOrthogonalvector.

Parameters:
@Nonnull final Vector3d in
@Nonnull final Vector3d out

if

public else if (ay >= ax && ay >= az)

Method if.

Parameters:
ay >= ax && ay >= az

inViewSector

static boolean inViewSector (final double xViewer, final double zViewer, final float heading, final float coneAngle, double xObject, double zObject)

Method inViewSector.

Parameters:
final double xViewer
final double zViewer
final float heading
final float coneAngle
double xObject
double zObject

isInViewCone

static boolean isInViewCone (final double xViewer, final double yViewer, final double zViewer, final double xViewDirection, final double yViewDirection, final double zViewDirection, final float cosConeHalfAngle, final double xObject, final double yObject, final double zObject)

Method isInViewCone.

Parameters:
final double xViewer
final double yViewer
final double zViewer
final double xViewDirection
final double yViewDirection
final double zViewDirection
final float cosConeHalfAngle
final double xObject
final double yObject
final double zObject

turnAngle

static float turnAngle (final float from, final float to)

Method turnAngle.

Parameters:
final float from
final float to

clampRotation

static float clampRotation (final float rotation, final float maxAngle)

Method clampRotation.

Parameters:
final float rotation
final float maxAngle

intersectLineSphere

static int intersectLineSphere (@Nonnull final Vector3d center, final double radius, @Nonnull final Vector3d p, @Nonnull final Vector3d q, @Nonnull final Vector3d x1, @Nonnull final Vector3d x2, final boolean segmentOnly)

Method intersectLineSphere.

Parameters:
@Nonnull final Vector3d center
final double radius
@Nonnull final Vector3d p
@Nonnull final Vector3d q
@Nonnull final Vector3d x1
@Nonnull final Vector3d x2
final boolean segmentOnly

intersectLineSphereLerp

static double intersectLineSphereLerp (@Nonnull final Vector3d center, final double radius, @Nonnull final Vector3d p, @Nonnull final Vector3d q, @Nonnull final Vector3d t1, @Nonnull final Vector3d t2, @Nonnull final Vector3d componentSelector)

Method intersectLineSphereLerp.

Parameters:
@Nonnull final Vector3d center
final double radius
@Nonnull final Vector3d p
@Nonnull final Vector3d q
@Nonnull final Vector3d t1
@Nonnull final Vector3d t2
@Nonnull final Vector3d componentSelector

Vector3d

public new Vector3d ()

Method Vector3d.

length

static double length (final double dx, final double dy, final double dz)

Method length.

Parameters:
final double dx
final double dy
final double dz

lerpDistance

static void lerpDistance (@Nonnull final Vector3d start, @Nonnull final Vector3d end, final double distance, @Nonnull final Vector3d result)

Method lerpDistance.

Parameters:
@Nonnull final Vector3d start
@Nonnull final Vector3d end
final double distance
@Nonnull final Vector3d result

lerp

static void lerp (@Nonnull final Vector3d start, @Nonnull final Vector3d end, final double lambda, @Nonnull final Vector3d result)

Method lerp.

Parameters:
@Nonnull final Vector3d start
@Nonnull final Vector3d end
final double lambda
@Nonnull final Vector3d result

offsetVector

static void offsetVector (@Nonnull final Vector3d start, final double dx, final double dy, final double dz, final double lambda, @Nonnull final Vector3d result)

Method offsetVector.

Parameters:
@Nonnull final Vector3d start
final double dx
final double dy
final double dz
final double lambda
@Nonnull final Vector3d result

orthoComposition

static void orthoComposition (@Nonnull final Vector3d start, @Nonnull final Vector3d end, @Nonnull final Vector3d ortho, final double distance, @Nonnull final Vector3d result)

Method orthoComposition.

Parameters:
@Nonnull final Vector3d start
@Nonnull final Vector3d end
@Nonnull final Vector3d ortho
final double distance
@Nonnull final Vector3d result

lookatHeading

static float lookatHeading (@Nonnull final Vector3d self, @Nonnull final Vector3d pointOfInterest, final float headingHint)

Method lookatHeading.

Parameters:
@Nonnull final Vector3d self
@Nonnull final Vector3d pointOfInterest
final float headingHint

blockEmptySpace

static double blockEmptySpace (@Nonnull final BlockType blockType, final int rotation, @Nonnull final Direction direction)

Method blockEmptySpace.

Parameters:
@Nonnull final BlockType blockType
final int rotation
@Nonnull final Direction direction

heightOverGround

static double heightOverGround (@Nonnull final World world, final double x, final double y, final double z)

Method heightOverGround.

Parameters:
@Nonnull final World world
final double x
final double y
final double z

blockHeight

static double blockHeight (@Nonnull final BlockType blockType, final int rotation)

Method blockHeight.

Parameters:
@Nonnull final BlockType blockType
final int rotation

projectedLengthSquared

static double projectedLengthSquared (@Nonnull final Vector3d v, @Nonnull final Vector3d componentSelector)

Method projectedLengthSquared.

Parameters:
@Nonnull final Vector3d v
@Nonnull final Vector3d componentSelector

projectedLength

static double projectedLength (@Nonnull final Vector3d v, @Nonnull final Vector3d componentSelector)

Method projectedLength.

Parameters:
@Nonnull final Vector3d v
@Nonnull final Vector3d componentSelector

intersectSweptSpheres

static int intersectSweptSpheres (@Nonnull final Vector3d p1, @Nonnull final Vector3d velocity1, @Nonnull final Vector3d p2, @Nonnull final Vector3d velocity2, final double radius, @Nonnull final Vector3d componentSelector, final double[] results)

Method intersectSweptSpheres.

Parameters:
@Nonnull final Vector3d p1
@Nonnull final Vector3d velocity1
@Nonnull final Vector3d p2
@Nonnull final Vector3d velocity2
final double radius
@Nonnull final Vector3d componentSelector
final double[] results

intersectSweptSpheresFootpoint

static int intersectSweptSpheresFootpoint (@Nonnull final Vector3d p1, @Nonnull final Vector3d velocity1, final double radius1, @Nonnull final Vector3d p2, @Nonnull final Vector3d velocity2, final double radius2, @Nonnull final Vector3d componentSelector, final double[] results)

Method intersectSweptSpheresFootpoint.

Parameters:
@Nonnull final Vector3d p1
@Nonnull final Vector3d velocity1
final double radius1
@Nonnull final Vector3d p2
@Nonnull final Vector3d velocity2
final double radius2
@Nonnull final Vector3d componentSelector
final double[] results

collisionSphereRadius

static double collisionSphereRadius (@Nonnull final Box boundingBox)

Method collisionSphereRadius.

Parameters:
@Nonnull final Box boundingBox

rayCircleIntersect

static double rayCircleIntersect (final double sx, final double sy, final double dx, final double dy, final double radius)

Method rayCircleIntersect.

Parameters:
final double sx
final double sy
final double dx
final double dy
final double radius

subtractVector

Method subtractVector.

Parameters:
@Nonnull final Vector3d p
@Nonnull final Vector3d q
@Nonnull final Vector3d result

addDifference

Method addDifference.

Parameters:
@Nonnull final Vector3d result
@Nonnull final Vector3d p
@Nonnull final Vector3d q

multiply

Method multiply.

Parameters:
@Nonnull final Vector3d v
@Nonnull final Vector3d w

squaredDistProjected

static double squaredDistProjected (final double px, final double py, final double pz, @Nonnull final Vector3d q, @Nonnull final Vector3d normal)

Method squaredDistProjected.

Parameters:
final double px
final double py
final double pz
@Nonnull final Vector3d q
@Nonnull final Vector3d normal

getProjectedDifference

static double getProjectedDifference (@Nonnull final Vector3d p, @Nonnull final Vector3d q, @Nonnull final Vector3d componentSelector)

Method getProjectedDifference.

Parameters:
@Nonnull final Vector3d p
@Nonnull final Vector3d q
@Nonnull final Vector3d componentSelector

isInvalid

static boolean isInvalid (final double v)

Method isInvalid.

Parameters:
final double v

isValid

static boolean isValid (final double v)

Method isValid.

Parameters:
final double v

jumpParameters

static double jumpParameters (@Nonnull final Vector3d position, @Nonnull final Vector3d targetPosition, final double gravity, @Nonnull final Vector3d velocity)

Method jumpParameters.

Parameters:
@Nonnull final Vector3d position
@Nonnull final Vector3d targetPosition
final double gravity
@Nonnull final Vector3d velocity

accelerate

static double accelerate (double v, final double a, final double t, final double limitSpeed)

Method accelerate.

Parameters:
double v
final double a
final double t
final double limitSpeed

deccelerateToStop

static double deccelerateToStop (double v, final double a, final double t)

Method deccelerateToStop.

Parameters:
double v
final double a
final double t

accelerateDrag

static double accelerateDrag (final double v, final double a, final double t, final double terminalVelocity, final double p)

Method accelerateDrag.

Parameters:
final double v
final double a
final double t
final double terminalVelocity
final double p

accelerateDragCapped

static double accelerateDragCapped (double v, final double a, final double t, final double terminalVelocity, final double p)

Method accelerateDragCapped.

Parameters:
double v
final double a
final double t
final double terminalVelocity
final double p

accelerateToTargetSpeed

static double accelerateToTargetSpeed (final double vCurrent, double vTarget, final double dt, final double accel, final double decel, final double vMin, final double vMax)

Method accelerateToTargetSpeed.

Parameters:
final double vCurrent
double vTarget
final double dt
final double accel
final double decel
final double vMin
final double vMax

gravityDrag

static double gravityDrag (final double v, final double a, final double t, final double terminalVelocity, final double p)

Method gravityDrag.

Parameters:
final double v
final double a
final double t
final double terminalVelocity
final double p