com.bulletphysics.collision.narrowphase
Class GjkEpaSolver.GJK

java.lang.Object
  extended by com.bulletphysics.collision.narrowphase.GjkEpaSolver.GJK
Enclosing class:
GjkEpaSolver

protected static class GjkEpaSolver.GJK
extends java.lang.Object


Nested Class Summary
static class GjkEpaSolver.GJK.He
           
static class GjkEpaSolver.GJK.Mkv
           
 
Field Summary
 boolean failed
           
 int iterations
           
 float margin
           
 int order
           
 javax.vecmath.Vector3f[] positions
           
 javax.vecmath.Vector3f ray
           
 ConvexShape[] shapes
           
 GjkEpaSolver.GJK.Mkv[] simplex
           
 GjkEpaSolver.GJK.He[] table
           
 javax.vecmath.Matrix3f[] wrotations
           
 
Constructor Summary
GjkEpaSolver.GJK()
           
GjkEpaSolver.GJK(javax.vecmath.Matrix3f wrot0, javax.vecmath.Vector3f pos0, ConvexShape shape0, javax.vecmath.Matrix3f wrot1, javax.vecmath.Vector3f pos1, ConvexShape shape1)
           
GjkEpaSolver.GJK(javax.vecmath.Matrix3f wrot0, javax.vecmath.Vector3f pos0, ConvexShape shape0, javax.vecmath.Matrix3f wrot1, javax.vecmath.Vector3f pos1, ConvexShape shape1, float pmargin)
           
 
Method Summary
 void destroy()
           
 boolean EncloseOrigin()
           
 boolean FetchSupport()
           
static int Hash(javax.vecmath.Vector3f v)
           
 void init(javax.vecmath.Matrix3f wrot0, javax.vecmath.Vector3f pos0, ConvexShape shape0, javax.vecmath.Matrix3f wrot1, javax.vecmath.Vector3f pos1, ConvexShape shape1, float pmargin)
           
 javax.vecmath.Vector3f LocalSupport(javax.vecmath.Vector3f d, int i, javax.vecmath.Vector3f out)
           
 boolean SearchOrigin()
           
 boolean SearchOrigin(javax.vecmath.Vector3f initray)
           
 boolean SolveSimplex2(javax.vecmath.Vector3f ao, javax.vecmath.Vector3f ab)
           
 boolean SolveSimplex3(javax.vecmath.Vector3f ao, javax.vecmath.Vector3f ab, javax.vecmath.Vector3f ac)
           
 boolean SolveSimplex3a(javax.vecmath.Vector3f ao, javax.vecmath.Vector3f ab, javax.vecmath.Vector3f ac, javax.vecmath.Vector3f cabc)
           
 boolean SolveSimplex4(javax.vecmath.Vector3f ao, javax.vecmath.Vector3f ab, javax.vecmath.Vector3f ac, javax.vecmath.Vector3f ad)
           
 void Support(javax.vecmath.Vector3f d, GjkEpaSolver.GJK.Mkv v)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

table

public final GjkEpaSolver.GJK.He[] table

wrotations

public final javax.vecmath.Matrix3f[] wrotations

positions

public final javax.vecmath.Vector3f[] positions

shapes

public final ConvexShape[] shapes

simplex

public final GjkEpaSolver.GJK.Mkv[] simplex

ray

public final javax.vecmath.Vector3f ray

order

public int order

iterations

public int iterations

margin

public float margin

failed

public boolean failed
Constructor Detail

GjkEpaSolver.GJK

public GjkEpaSolver.GJK()

GjkEpaSolver.GJK

public GjkEpaSolver.GJK(javax.vecmath.Matrix3f wrot0,
                        javax.vecmath.Vector3f pos0,
                        ConvexShape shape0,
                        javax.vecmath.Matrix3f wrot1,
                        javax.vecmath.Vector3f pos1,
                        ConvexShape shape1)

GjkEpaSolver.GJK

public GjkEpaSolver.GJK(javax.vecmath.Matrix3f wrot0,
                        javax.vecmath.Vector3f pos0,
                        ConvexShape shape0,
                        javax.vecmath.Matrix3f wrot1,
                        javax.vecmath.Vector3f pos1,
                        ConvexShape shape1,
                        float pmargin)
Method Detail

init

public void init(javax.vecmath.Matrix3f wrot0,
                 javax.vecmath.Vector3f pos0,
                 ConvexShape shape0,
                 javax.vecmath.Matrix3f wrot1,
                 javax.vecmath.Vector3f pos1,
                 ConvexShape shape1,
                 float pmargin)

destroy

public void destroy()

Hash

public static int Hash(javax.vecmath.Vector3f v)

LocalSupport

public javax.vecmath.Vector3f LocalSupport(javax.vecmath.Vector3f d,
                                           int i,
                                           javax.vecmath.Vector3f out)

Support

public void Support(javax.vecmath.Vector3f d,
                    GjkEpaSolver.GJK.Mkv v)

FetchSupport

public boolean FetchSupport()

SolveSimplex2

public boolean SolveSimplex2(javax.vecmath.Vector3f ao,
                             javax.vecmath.Vector3f ab)

SolveSimplex3

public boolean SolveSimplex3(javax.vecmath.Vector3f ao,
                             javax.vecmath.Vector3f ab,
                             javax.vecmath.Vector3f ac)

SolveSimplex3a

public boolean SolveSimplex3a(javax.vecmath.Vector3f ao,
                              javax.vecmath.Vector3f ab,
                              javax.vecmath.Vector3f ac,
                              javax.vecmath.Vector3f cabc)

SolveSimplex4

public boolean SolveSimplex4(javax.vecmath.Vector3f ao,
                             javax.vecmath.Vector3f ab,
                             javax.vecmath.Vector3f ac,
                             javax.vecmath.Vector3f ad)

SearchOrigin

public boolean SearchOrigin()

SearchOrigin

public boolean SearchOrigin(javax.vecmath.Vector3f initray)

EncloseOrigin

public boolean EncloseOrigin()