当前位置: 首页>>代码示例>>Java>>正文


Java CollisionAlgorithm类代码示例

本文整理汇总了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);
}
 
开发者ID:vbousquet,项目名称:libgdx-jbullet,代码行数:23,代码来源:GImpactCollisionAlgorithm.java

示例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;
}
 
开发者ID:unktomi,项目名称:form-follows-function,代码行数:20,代码来源:CollisionDispatcher.java

示例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;
}
 
开发者ID:vbousquet,项目名称:libgdx-jbullet,代码行数:12,代码来源:ConvexPlaneCollisionAlgorithm.java

示例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;
}
 
开发者ID:vbousquet,项目名称:libgdx-jbullet,代码行数:8,代码来源:ConvexConvexAlgorithm.java

示例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;
}
 
开发者ID:vbousquet,项目名称:libgdx-jbullet,代码行数:8,代码来源:SphereSphereCollisionAlgorithm.java

示例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;
}
 
开发者ID:vbousquet,项目名称:libgdx-jbullet,代码行数:12,代码来源:CollisionDispatcher.java

示例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();
}
 
开发者ID:vbousquet,项目名称:libgdx-jbullet,代码行数:8,代码来源:CollisionDispatcher.java

示例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;
}
 
开发者ID:vbousquet,项目名称:libgdx-jbullet,代码行数:8,代码来源:ConvexConcaveCollisionAlgorithm.java

示例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;
}
 
开发者ID:vbousquet,项目名称:libgdx-jbullet,代码行数:10,代码来源:GImpactCollisionAlgorithm.java

示例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;
}
 
开发者ID:warlockcodes,项目名称:Null-Engine,代码行数:12,代码来源:ConvexPlaneCollisionAlgorithm.java

示例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();
}
 
开发者ID:unktomi,项目名称:form-follows-function,代码行数:12,代码来源:CollisionDispatcher.java

示例12: createCollisionAlgorithm

import com.bulletphysics.collision.broadphase.CollisionAlgorithm; //导入依赖的package包/类
@Override
public CollisionAlgorithm createCollisionAlgorithm(CollisionAlgorithmConstructionInfo ci, CollisionObject body0, CollisionObject body1) {
	return INSTANCE;
}
 
开发者ID:vbousquet,项目名称:libgdx-jbullet,代码行数:5,代码来源:EmptyAlgorithm.java

示例13: releaseCollisionAlgorithm

import com.bulletphysics.collision.broadphase.CollisionAlgorithm; //导入依赖的package包/类
@Override
public void releaseCollisionAlgorithm(CollisionAlgorithm algo) {
}
 
开发者ID:vbousquet,项目名称:libgdx-jbullet,代码行数:4,代码来源:EmptyAlgorithm.java

示例14: releaseCollisionAlgorithm

import com.bulletphysics.collision.broadphase.CollisionAlgorithm; //导入依赖的package包/类
@Override
public void releaseCollisionAlgorithm (CollisionAlgorithm algo) {
	pool.release((ConvexPlaneCollisionAlgorithm)algo);
}
 
开发者ID:vbousquet,项目名称:libgdx-jbullet,代码行数:5,代码来源:ConvexPlaneCollisionAlgorithm.java

示例15: releaseCollisionAlgorithm

import com.bulletphysics.collision.broadphase.CollisionAlgorithm; //导入依赖的package包/类
@Override
public void releaseCollisionAlgorithm (CollisionAlgorithm algo) {
	pool.release((ConvexConvexAlgorithm)algo);
}
 
开发者ID:vbousquet,项目名称:libgdx-jbullet,代码行数:5,代码来源:ConvexConvexAlgorithm.java


注:本文中的com.bulletphysics.collision.broadphase.CollisionAlgorithm类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。