本文整理匯總了Java中com.bulletphysics.collision.broadphase.CollisionAlgorithm類的典型用法代碼示例。如果您正苦於以下問題:Java CollisionAlgorithm類的具體用法?Java CollisionAlgorithm怎麽用?Java CollisionAlgorithm使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。
CollisionAlgorithm類屬於com.bulletphysics.collision.broadphase包,在下文中一共展示了CollisionAlgorithm類的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。
示例1: shape_vs_shape_collision
import com.bulletphysics.collision.broadphase.CollisionAlgorithm; //導入依賴的package包/類
protected void shape_vs_shape_collision(CollisionObject body0, CollisionObject body1, CollisionShape shape0, CollisionShape shape1) {
CollisionShape tmpShape0 = body0.getCollisionShape();
CollisionShape tmpShape1 = body1.getCollisionShape();
body0.internalSetTemporaryCollisionShape(shape0);
body1.internalSetTemporaryCollisionShape(shape1);
{
CollisionAlgorithm algor = newAlgorithm(body0, body1);
// post : checkManifold is called
resultOut.setShapeIdentifiers(part0, triface0, part1, triface1);
algor.processCollision(body0, body1, dispatchInfo, resultOut);
//algor.destroy();
dispatcher.freeCollisionAlgorithm(algor);
}
body0.internalSetTemporaryCollisionShape(tmpShape0);
body1.internalSetTemporaryCollisionShape(tmpShape1);
}
示例2: findAlgorithm
import com.bulletphysics.collision.broadphase.CollisionAlgorithm; //導入依賴的package包/類
@Override
public CollisionAlgorithm findAlgorithm(CollisionObject body0, CollisionObject body1, PersistentManifold sharedManifold) {
CollisionAlgorithmConstructionInfo ci = tmpCI;
ci.dispatcher1 = this;
ci.manifold = sharedManifold;
CollisionAlgorithmCreateFunc createFunc = doubleDispatch[body0.getCollisionShape().getShapeType().ordinal()][body1.getCollisionShape().getShapeType().ordinal()];
CollisionAlgorithm algo = createFunc.createCollisionAlgorithm(ci, body0, body1);
if (algo instanceof EmptyAlgorithm) {
System.out.println(" NO COLLISION ALGO: " + body0.getUserPointer() + " " + body1.getUserPointer());
System.out.println(" NO COLLISION ALGO: " + body0.getCollisionShape().getShapeType() + " " + body1.getCollisionShape().getShapeType());
} else {
// System.out.println("COLLISION ALGO: " + body0.getUserPointer() + " " + body1.getUserPointer());
// System.out.println("COLLISION ALGO: " + body0.getCollisionShape().getShapeType() + " " + body1.getCollisionShape().getShapeType());
// System.out.println("algo = " + algo);
}
algo.internalSetCreateFunc(createFunc);
return algo;
}
示例3: createCollisionAlgorithm
import com.bulletphysics.collision.broadphase.CollisionAlgorithm; //導入依賴的package包/類
@Override
public CollisionAlgorithm createCollisionAlgorithm (CollisionAlgorithmConstructionInfo ci, CollisionObject body0,
CollisionObject body1) {
ConvexPlaneCollisionAlgorithm algo = pool.get();
if (!swapped) {
algo.init(null, ci, body0, body1, false);
} else {
algo.init(null, ci, body0, body1, true);
}
return algo;
}
示例4: createCollisionAlgorithm
import com.bulletphysics.collision.broadphase.CollisionAlgorithm; //導入依賴的package包/類
@Override
public CollisionAlgorithm createCollisionAlgorithm (CollisionAlgorithmConstructionInfo ci, CollisionObject body0,
CollisionObject body1) {
ConvexConvexAlgorithm algo = pool.get();
algo.init(ci.manifold, ci, body0, body1, simplexSolver, pdSolver);
return algo;
}
示例5: createCollisionAlgorithm
import com.bulletphysics.collision.broadphase.CollisionAlgorithm; //導入依賴的package包/類
@Override
public CollisionAlgorithm createCollisionAlgorithm (CollisionAlgorithmConstructionInfo ci, CollisionObject body0,
CollisionObject body1) {
SphereSphereCollisionAlgorithm algo = pool.get();
algo.init(null, ci, body0, body1);
return algo;
}
示例6: findAlgorithm
import com.bulletphysics.collision.broadphase.CollisionAlgorithm; //導入依賴的package包/類
@Override
public CollisionAlgorithm findAlgorithm(CollisionObject body0, CollisionObject body1, PersistentManifold sharedManifold) {
CollisionAlgorithmConstructionInfo ci = tmpCI;
ci.dispatcher1 = this;
ci.manifold = sharedManifold;
CollisionAlgorithmCreateFunc createFunc = doubleDispatch[body0.getCollisionShape().getShapeType().ordinal()][body1.getCollisionShape().getShapeType().ordinal()];
CollisionAlgorithm algo = createFunc.createCollisionAlgorithm(ci, body0, body1);
algo.internalSetCreateFunc(createFunc);
return algo;
}
示例7: freeCollisionAlgorithm
import com.bulletphysics.collision.broadphase.CollisionAlgorithm; //導入依賴的package包/類
@Override
public void freeCollisionAlgorithm(CollisionAlgorithm algo) {
CollisionAlgorithmCreateFunc createFunc = algo.internalGetCreateFunc();
algo.internalSetCreateFunc(null);
createFunc.releaseCollisionAlgorithm(algo);
algo.destroy();
}
示例8: createCollisionAlgorithm
import com.bulletphysics.collision.broadphase.CollisionAlgorithm; //導入依賴的package包/類
@Override
public CollisionAlgorithm createCollisionAlgorithm (CollisionAlgorithmConstructionInfo ci, CollisionObject body0,
CollisionObject body1) {
ConvexConcaveCollisionAlgorithm algo = pool.get();
algo.init(ci, body0, body1, false);
return algo;
}
示例9: newAlgorithm
import com.bulletphysics.collision.broadphase.CollisionAlgorithm; //導入依賴的package包/類
/**
* Call before process collision.
*/
protected CollisionAlgorithm newAlgorithm(CollisionObject body0, CollisionObject body1) {
checkManifold(body0, body1);
CollisionAlgorithm convex_algorithm = dispatcher.findAlgorithm(body0, body1, getLastManifold());
return convex_algorithm;
}
示例10: createCollisionAlgorithm
import com.bulletphysics.collision.broadphase.CollisionAlgorithm; //導入依賴的package包/類
@Override
public CollisionAlgorithm createCollisionAlgorithm(CollisionAlgorithmConstructionInfo ci, CollisionObject body0, CollisionObject body1) {
ConvexPlaneCollisionAlgorithm algo = pool.get();
if (!swapped) {
algo.init(null, ci, body0, body1, false);
}
else {
algo.init(null, ci, body0, body1, true);
}
return algo;
}
示例11: freeCollisionAlgorithm
import com.bulletphysics.collision.broadphase.CollisionAlgorithm; //導入依賴的package包/類
@Override
public void freeCollisionAlgorithm(CollisionAlgorithm algo) {
CollisionAlgorithmCreateFunc createFunc = algo.internalGetCreateFunc();
algo.internalSetCreateFunc(null);
if (createFunc == null) {
System.out.println("create func null: " + algo);
} else {
createFunc.releaseCollisionAlgorithm(algo);
}
algo.destroy();
}
示例12: createCollisionAlgorithm
import com.bulletphysics.collision.broadphase.CollisionAlgorithm; //導入依賴的package包/類
@Override
public CollisionAlgorithm createCollisionAlgorithm(CollisionAlgorithmConstructionInfo ci, CollisionObject body0, CollisionObject body1) {
return INSTANCE;
}
示例13: releaseCollisionAlgorithm
import com.bulletphysics.collision.broadphase.CollisionAlgorithm; //導入依賴的package包/類
@Override
public void releaseCollisionAlgorithm(CollisionAlgorithm algo) {
}
示例14: releaseCollisionAlgorithm
import com.bulletphysics.collision.broadphase.CollisionAlgorithm; //導入依賴的package包/類
@Override
public void releaseCollisionAlgorithm (CollisionAlgorithm algo) {
pool.release((ConvexPlaneCollisionAlgorithm)algo);
}
示例15: releaseCollisionAlgorithm
import com.bulletphysics.collision.broadphase.CollisionAlgorithm; //導入依賴的package包/類
@Override
public void releaseCollisionAlgorithm (CollisionAlgorithm algo) {
pool.release((ConvexConvexAlgorithm)algo);
}