Package teilchen.util

Class 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)  
      • Methods inherited from class java.lang.Object

        equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • Util

        public Util()
    • 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 start
        w - line segment end
        p - point
        Returns:
        resulting point on line segment
      • setVelocityAndOldPosition

        public static void setVelocityAndOldPosition​(Particle pParticle,
                                                     processing.core.PVector pNewVelocity)
      • 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 A
        pointB - point B
        pointC - point C
        pResultNormal - normal
      • calculateNormal

        public static void calculateNormal​(processing.core.PVector pVectorAB,
                                           processing.core.PVector pVectorBC,
                                           processing.core.PVector pResultNormal)
        Parameters:
        pVectorAB - vector AB
        pVectorBC - vector BC
        pResultNormal - 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)
      • findParticleByProximity

        public static Particle findParticleByProximity​(java.util.ArrayList<Particle> pParticles,
                                                       processing.core.PVector pPosition,
                                                       float pSelectionRadius)