net.java.dev.joode.collision.collider
Class TriMeshTriMeshCollider

java.lang.Object
  extended by net.java.dev.joode.collision.collider.TriMeshTriMeshCollider
All Implemented Interfaces:
Collider

public class TriMeshTriMeshCollider
extends java.lang.Object
implements Collider

Finds contact points between pairs of triangular meshes.

This implementation is derived from GIMPACT, a software library for geometry processing and collision detection. GIMPACT source code is used under the following license.

Copyright (c) 2006, Francisco Le�n.
All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Author:
Art Pope

Field Summary
static TriMeshTriMeshCollider INSTANCE
          The TriMeshTriMeshCollider instance used by Colliders.dCollide(net.java.dev.joode.geom.Geom, net.java.dev.joode.geom.Geom, int, net.java.dev.joode.collision.ContactGeom[], int, boolean).
 
Constructor Summary
TriMeshTriMeshCollider()
           
 
Method Summary
 int collide(Geom o1, Geom o2, int flags, ContactGeom[] contacts, int contactIndex, int skip)
          Finds contact points between a pair of triangular meshes.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

INSTANCE

public static final TriMeshTriMeshCollider INSTANCE
The TriMeshTriMeshCollider instance used by Colliders.dCollide(net.java.dev.joode.geom.Geom, net.java.dev.joode.geom.Geom, int, net.java.dev.joode.collision.ContactGeom[], int, boolean).

Constructor Detail

TriMeshTriMeshCollider

public TriMeshTriMeshCollider()
Method Detail

collide

public int collide(Geom o1,
                   Geom o2,
                   int flags,
                   ContactGeom[] contacts,
                   int contactIndex,
                   int skip)
Finds contact points between a pair of triangular meshes.

Specified by:
collide in interface Collider
Parameters:
o1 - one triangular mesh
o2 - the other triangular mesh
flags - is currently ignored
contacts - an array into which to store contacts found. The caller may pre-allocate the array entries or leave them as null.
contactIndex - the index of the first element in contact at which a contact should be stored.
skip - is unused
Returns:
the number of contacts found.