Package teilchen.util
Class Util
- java.lang.Object
-
- teilchen.util.Util
-
public class Util extends java.lang.Object
-
-
Constructor Summary
Constructors Constructor Description Util()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static boolean
almost(float a, float b)
static boolean
almost(processing.core.PVector p0, processing.core.PVector p1)
static float
angle(processing.core.PVector p, processing.core.PVector pVector)
static void
calculateNormal(processing.core.PVector pVectorAB, processing.core.PVector pVectorBC, processing.core.PVector pResultNormal)
static void
calculateNormal(processing.core.PVector pointA, processing.core.PVector pointB, processing.core.PVector pointC, processing.core.PVector pResultNormal)
calculate a normal from a set of three vectors.static processing.core.PVector
calculateReflectionVector(Particle pParticle, processing.core.PVector pNormal)
static processing.core.PVector
clone(processing.core.PVector p)
static boolean
contains(float pTestValue, float pContainerValue, float pRange)
static boolean
contains(processing.core.PVector pPosition, WorldAxisAlignedBoundingBox pWorldAlignedBox)
static TriangleDeflector
createTriangleDeflector2D(float x1, float y1, float x2, float y2, float mCoefficientOfRestitution)
static java.util.ArrayList<TriangleDeflector>
createTriangleDeflectors(float[] pVertices, float pCoefficientOfRestitution)
static java.util.ArrayList<TriangleDeflector>
createTriangleDeflectors(processing.core.PVector[] pVertices, float pCoefficientOfRestitution)
static java.util.ArrayList<TriangleDeflector>
createTriangleDeflectorsIndexed(float[] pVertices, float pCoefficientOfRestitution)
static processing.core.PVector
cross(processing.core.PVector p1, processing.core.PVector p2)
static float
distance(processing.core.PVector p1, processing.core.PVector p2)
static float
distanceSquared(processing.core.PVector p0, processing.core.PVector p1)
static void
divide(processing.core.PVector p, processing.core.PVector pVector)
static float
fastInverseSqrt(float v)
static Particle
findParticleByProximity(java.util.ArrayList<Particle> pParticles, float x, float y, float z, float pSelectionRadius)
static Particle
findParticleByProximity(java.util.ArrayList<Particle> pParticles, processing.core.PVector pPosition, float pSelectionRadius)
static Particle
findParticleByProximity(Physics pPhysics, float x, float y, float z, float pSelectionRadius)
static Particle
findParticleByProximity(Physics pPhysics, processing.core.PVector pPosition, float pSelectionRadius)
static boolean
inside2DPolygon(processing.core.PVector pPoint, java.util.ArrayList<processing.core.PVector> pPolygon)
static boolean
insidePolygon(processing.core.PVector pPoint, java.util.ArrayList<processing.core.PVector> pPolygon)
static boolean
insidePolygon(processing.core.PVector pPoint, processing.core.PVector[] pPolygon)
static boolean
isNaN(processing.core.PVector p)
static boolean
isPointInTriangle(processing.core.PVector v0, processing.core.PVector v1, processing.core.PVector v2, processing.core.PVector pPoint)
static float
lengthSquared(processing.core.PVector p)
static processing.core.PVector
mult(processing.core.PVector v1, processing.core.PVector v2)
static processing.core.PVector
mult(processing.core.PVector v1, processing.core.PVector v2, processing.core.PVector target)
static void
pointAt(processing.core.PMatrix3D pResult, processing.core.PVector pPosition, processing.core.PVector pUpVector, processing.core.PVector pPointAtPosition)
static processing.core.PVector
projectPointOnLineSegment(processing.core.PVector v, processing.core.PVector w, processing.core.PVector p)
static void
randomize(processing.core.PVector p)
Sets a position randomly distributed inside a sphere of unit radius centered at the origin.static void
randomize2D(processing.core.PVector p)
static void
reflect(processing.core.PVector pVector, processing.core.PVector pNormal)
static void
reflect(processing.core.PVector pVector, processing.core.PVector pNormal, float pCoefficientOfRestitution)
static void
reflectVelocity(Particle pParticle, processing.core.PVector pNormal, float pCoefficientOfRestitution)
static processing.core.PVector
rotatePoint(processing.core.PVector p, double pta, processing.core.PVector p1, processing.core.PVector p2)
static void
satisfyNeighborConstraints(java.util.ArrayList<Particle> pParticles, float pRelaxedness)
static void
scale(processing.core.PVector v1, processing.core.PVector v2)
static void
setVelocityAndOldPosition(Particle pParticle, processing.core.PVector pNewVelocity)
static void
updateBoundingBox(WorldAxisAlignedBoundingBox pWorldAxisAlignedBoundingBox, processing.core.PVector[] mVectors)
-
-
-
Method Detail
-
projectPointOnLineSegment
public static processing.core.PVector projectPointOnLineSegment(processing.core.PVector v, processing.core.PVector w, processing.core.PVector p)
- Parameters:
v
- line segment startw
- line segment endp
- point- Returns:
- resulting point on line segment
-
setVelocityAndOldPosition
public static void setVelocityAndOldPosition(Particle pParticle, processing.core.PVector pNewVelocity)
-
contains
public static boolean contains(processing.core.PVector pPosition, WorldAxisAlignedBoundingBox pWorldAlignedBox)
-
contains
public static boolean contains(float pTestValue, float pContainerValue, float pRange)
-
insidePolygon
public static boolean insidePolygon(processing.core.PVector pPoint, processing.core.PVector[] pPolygon)
-
insidePolygon
public static boolean insidePolygon(processing.core.PVector pPoint, java.util.ArrayList<processing.core.PVector> pPolygon)
-
inside2DPolygon
public static boolean inside2DPolygon(processing.core.PVector pPoint, java.util.ArrayList<processing.core.PVector> pPolygon)
-
updateBoundingBox
public static void updateBoundingBox(WorldAxisAlignedBoundingBox pWorldAxisAlignedBoundingBox, processing.core.PVector[] mVectors)
-
calculateNormal
public static void calculateNormal(processing.core.PVector pointA, processing.core.PVector pointB, processing.core.PVector pointC, processing.core.PVector pResultNormal)
calculate a normal from a set of three vectors.- Parameters:
pointA
- point ApointB
- point BpointC
- point CpResultNormal
- normal
-
calculateNormal
public static void calculateNormal(processing.core.PVector pVectorAB, processing.core.PVector pVectorBC, processing.core.PVector pResultNormal)
- Parameters:
pVectorAB
- vector ABpVectorBC
- vector BCpResultNormal
- normal
-
randomize
public static void randomize(processing.core.PVector p)
Sets a position randomly distributed inside a sphere of unit radius centered at the origin. Orientation will be random and length will range between 0 and 1- Parameters:
p
- randomized vector
-
randomize2D
public static void randomize2D(processing.core.PVector p)
-
rotatePoint
public static processing.core.PVector rotatePoint(processing.core.PVector p, double pta, processing.core.PVector p1, processing.core.PVector p2)
-
divide
public static void divide(processing.core.PVector p, processing.core.PVector pVector)
-
satisfyNeighborConstraints
public static void satisfyNeighborConstraints(java.util.ArrayList<Particle> pParticles, float pRelaxedness)
-
clone
public static processing.core.PVector clone(processing.core.PVector p)
-
angle
public static float angle(processing.core.PVector p, processing.core.PVector pVector)
-
distance
public static float distance(processing.core.PVector p1, processing.core.PVector p2)
-
distanceSquared
public static float distanceSquared(processing.core.PVector p0, processing.core.PVector p1)
-
almost
public static boolean almost(processing.core.PVector p0, processing.core.PVector p1)
-
reflectVelocity
public static void reflectVelocity(Particle pParticle, processing.core.PVector pNormal, float pCoefficientOfRestitution)
-
reflect
public static void reflect(processing.core.PVector pVector, processing.core.PVector pNormal, float pCoefficientOfRestitution)
-
reflect
public static void reflect(processing.core.PVector pVector, processing.core.PVector pNormal)
-
createTriangleDeflectors
public static java.util.ArrayList<TriangleDeflector> createTriangleDeflectors(float[] pVertices, float pCoefficientOfRestitution)
-
createTriangleDeflectors
public static java.util.ArrayList<TriangleDeflector> createTriangleDeflectors(processing.core.PVector[] pVertices, float pCoefficientOfRestitution)
-
createTriangleDeflector2D
public static TriangleDeflector createTriangleDeflector2D(float x1, float y1, float x2, float y2, float mCoefficientOfRestitution)
-
calculateReflectionVector
public static processing.core.PVector calculateReflectionVector(Particle pParticle, processing.core.PVector pNormal)
-
createTriangleDeflectorsIndexed
public static java.util.ArrayList<TriangleDeflector> createTriangleDeflectorsIndexed(float[] pVertices, float pCoefficientOfRestitution)
-
cross
public static processing.core.PVector cross(processing.core.PVector p1, processing.core.PVector p2)
-
pointAt
public static void pointAt(processing.core.PMatrix3D pResult, processing.core.PVector pPosition, processing.core.PVector pUpVector, processing.core.PVector pPointAtPosition)
-
isNaN
public static boolean isNaN(processing.core.PVector p)
-
lengthSquared
public static float lengthSquared(processing.core.PVector p)
-
scale
public static void scale(processing.core.PVector v1, processing.core.PVector v2)
-
mult
public static processing.core.PVector mult(processing.core.PVector v1, processing.core.PVector v2)
-
mult
public static processing.core.PVector mult(processing.core.PVector v1, processing.core.PVector v2, processing.core.PVector target)
-
isPointInTriangle
public static boolean isPointInTriangle(processing.core.PVector v0, processing.core.PVector v1, processing.core.PVector v2, processing.core.PVector pPoint)
-
almost
public static boolean almost(float a, float b)
-
fastInverseSqrt
public static float fastInverseSqrt(float v)
-
findParticleByProximity
public static Particle findParticleByProximity(Physics pPhysics, float x, float y, float z, float pSelectionRadius)
-
findParticleByProximity
public static Particle findParticleByProximity(Physics pPhysics, processing.core.PVector pPosition, float pSelectionRadius)
-
findParticleByProximity
public static Particle findParticleByProximity(java.util.ArrayList<Particle> pParticles, float x, float y, float z, float pSelectionRadius)
-
-