本文整理汇总了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);
}