private void addCollisionEvent_native(PhysicsCollisionObject node, PhysicsCollisionObject node1, long manifoldPointObjectId) { // System.out.println("addCollisionEvent:"+node.getObjectId()+" "+ node1.getObjectId()); collisionEvents.add(eventFactory.getEvent(PhysicsCollisionEvent.TYPE_PROCESSED, node, node1, manifoldPointObjectId)); }
public void distributeEvents() { //add collision callbacks int clistsize = collisionListeners.size(); while( collisionEvents.isEmpty() == false ) { PhysicsCollisionEvent physicsCollisionEvent = collisionEvents.pop(); for(int i=0;i<clistsize;i++) { collisionListeners.get(i).collision(physicsCollisionEvent); } //recycle events eventFactory.recycle(physicsCollisionEvent); } }
private PhysicsCollisionEventFactory eventFactory = new PhysicsCollisionEventFactory();
private Map<Integer, PhysicsCollisionGroupListener> collisionGroupListeners = new ConcurrentHashMap<Integer, PhysicsCollisionGroupListener>(); private ConcurrentLinkedQueue<PhysicsTickListener> tickListeners = new ConcurrentLinkedQueue<PhysicsTickListener>(); private PhysicsCollisionEventFactory eventFactory = new PhysicsCollisionEventFactory(); private Vector3f worldMin = new Vector3f(-10000f, -10000f, -10000f); private Vector3f worldMax = new Vector3f(10000f, 10000f, 10000f);
public boolean contactProcessed(ManifoldPoint cp, Object body0, Object body1) { if (body0 instanceof CollisionObject && body1 instanceof CollisionObject) { PhysicsCollisionObject node = null, node1 = null; CollisionObject rBody0 = (CollisionObject) body0; CollisionObject rBody1 = (CollisionObject) body1; node = (PhysicsCollisionObject) rBody0.getUserPointer(); node1 = (PhysicsCollisionObject) rBody1.getUserPointer(); collisionEvents.add(eventFactory.getEvent(PhysicsCollisionEvent.TYPE_PROCESSED, node, node1, cp)); } return true; } });
/** * Distribute each collision event to all listeners. */ public void distributeEvents() { //add collision callbacks int clistsize = collisionListeners.size(); while( collisionEvents.isEmpty() == false ) { PhysicsCollisionEvent physicsCollisionEvent = collisionEvents.pop(); for(int i=0;i<clistsize;i++) { collisionListeners.get(i).collision(physicsCollisionEvent); } //recycle events eventFactory.recycle(physicsCollisionEvent); } }
private Map<Integer, PhysicsCollisionGroupListener> collisionGroupListeners = new ConcurrentHashMap<Integer, PhysicsCollisionGroupListener>(); private ConcurrentLinkedQueue<PhysicsTickListener> tickListeners = new ConcurrentLinkedQueue<PhysicsTickListener>(); private PhysicsCollisionEventFactory eventFactory = new PhysicsCollisionEventFactory(); private Vector3f worldMin = new Vector3f(-10000f, -10000f, -10000f); private Vector3f worldMax = new Vector3f(10000f, 10000f, 10000f);
private void addCollisionEvent_native(PhysicsCollisionObject node, PhysicsCollisionObject node1, long manifoldPointObjectId) { // System.out.println("addCollisionEvent:"+node.getObjectId()+" "+ node1.getObjectId()); collisionEvents.add(eventFactory.getEvent(PhysicsCollisionEvent.TYPE_PROCESSED, node, node1, manifoldPointObjectId)); }
public void distributeEvents() { //add collision callbacks int clistsize = collisionListeners.size(); while( collisionEvents.isEmpty() == false ) { PhysicsCollisionEvent physicsCollisionEvent = collisionEvents.pop(); for(int i=0;i<clistsize;i++) { collisionListeners.get(i).collision(physicsCollisionEvent); } //recycle events eventFactory.recycle(physicsCollisionEvent); } }
public void addCollisionEvent(PhysicsCollisionObject node, PhysicsCollisionObject node1, long manifoldPointObjectId) { // System.out.println("addCollisionEvent:"+node.getObjectId()+" "+ node1.getObjectId()); collisionEvents.add(eventFactory.getEvent(PhysicsCollisionEvent.TYPE_PROCESSED, node, node1, manifoldPointObjectId)); } /**
public void distributeEvents() { //add collision callbacks int clistsize = collisionListeners.size(); while( collisionEvents.isEmpty() == false ) { PhysicsCollisionEvent physicsCollisionEvent = collisionEvents.pop(); for(int i=0;i<clistsize;i++) { collisionListeners.get(i).collision(physicsCollisionEvent); } //recycle events eventFactory.recycle(physicsCollisionEvent); } }
public boolean contactProcessed(ManifoldPoint cp, Object body0, Object body1) { if (body0 instanceof CollisionObject && body1 instanceof CollisionObject) { PhysicsCollisionObject node = null, node1 = null; CollisionObject rBody0 = (CollisionObject) body0; CollisionObject rBody1 = (CollisionObject) body1; node = (PhysicsCollisionObject) rBody0.getUserPointer(); node1 = (PhysicsCollisionObject) rBody1.getUserPointer(); collisionEvents.add(eventFactory.getEvent(PhysicsCollisionEvent.TYPE_PROCESSED, node, node1, cp)); } return true; } });
public void distributeEvents() { //add collision callbacks synchronized (collisionEvents) { for (Iterator<PhysicsCollisionEvent> it = collisionEvents.iterator(); it.hasNext();) { PhysicsCollisionEvent physicsCollisionEvent = it.next(); for (PhysicsCollisionListener listener : collisionListeners) { listener.collision(physicsCollisionEvent); } //recycle events eventFactory.recycle(physicsCollisionEvent); it.remove(); } } }