Back to project page gameengine.
The source code is released under:
Apache License
If you think the Android project gameengine listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.
/******************************************************************************* * Copyright 2011 See AUTHORS file./*www. j a v a 2s. c o m*/ * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. ******************************************************************************/ package com.badlogic.gdx.physics.box2d; /** * Contact impulses for reporting. Impulses are used instead of forces because * sub-step forces may approach infinity for rigid body collisions. These match * up one-to-one with the contact points in b2Manifold. * * @author mzechner */ public class ContactImpulse { /* * JNI #include <Box2D/Box2D.h> */ final World world; long addr; float[] tmp = new float[2]; final float[] normalImpulses = new float[2]; final float[] tangentImpulses = new float[2]; protected ContactImpulse(World world, long addr) { this.world = world; this.addr = addr; } public float[] getNormalImpulses() { jniGetNormalImpulses(addr, normalImpulses); return normalImpulses; } private native void jniGetNormalImpulses(long addr, float[] values); /* * b2ContactImpulse * * * contactImpulse * = ( * b2ContactImpulse * * * )addr * ; * values * [0] * = * contactImpulse * -> * normalImpulses * [0]; * values * [1] * = * contactImpulse * -> * normalImpulses * [1]; */ public float[] getTangentImpulses() { jniGetTangentImpulses(addr, tangentImpulses); return tangentImpulses; } private native void jniGetTangentImpulses(long addr, float[] values); /* * b2ContactImpulse * * * contactImpulse * = ( * b2ContactImpulse * * * )addr * ; * values * [0] * = * contactImpulse * -> * tangentImpulses * [ * 0]; * values * [1] * = * contactImpulse * -> * tangentImpulses * [ * 1]; */ public int getCount() { return jniGetCount(addr); } private native int jniGetCount(long addr); /* * b2ContactImpulse* * contactImpulse = * (b2ContactImpulse*)addr; * return contactImpulse->count; */ }