本文整理汇总了Java中com.bulletphysics.collision.dispatch.CollisionObject.getCollisionShape方法的典型用法代码示例。如果您正苦于以下问题:Java CollisionObject.getCollisionShape方法的具体用法?Java CollisionObject.getCollisionShape怎么用?Java CollisionObject.getCollisionShape使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类com.bulletphysics.collision.dispatch.CollisionObject
的用法示例。
在下文中一共展示了CollisionObject.getCollisionShape方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: shape_vs_shape_collision
import com.bulletphysics.collision.dispatch.CollisionObject; //导入方法依赖的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: processCollision
import com.bulletphysics.collision.dispatch.CollisionObject; //导入方法依赖的package包/类
@Override
public void processCollision(CollisionObject body0, CollisionObject body1, DispatcherInfo dispatchInfo, ManifoldResult resultOut) {
clearCache();
this.resultOut = resultOut;
this.dispatchInfo = dispatchInfo;
GImpactShapeInterface gimpactshape0;
GImpactShapeInterface gimpactshape1;
if (body0.getCollisionShape().getShapeType()==BroadphaseNativeType.GIMPACT_SHAPE_PROXYTYPE)
{
gimpactshape0 = (GImpactShapeInterface)body0.getCollisionShape();
if( body1.getCollisionShape().getShapeType()==BroadphaseNativeType.GIMPACT_SHAPE_PROXYTYPE )
{
gimpactshape1 = (GImpactShapeInterface)body1.getCollisionShape();
gimpact_vs_gimpact(body0,body1,gimpactshape0,gimpactshape1);
}
else
{
gimpact_vs_shape(body0,body1,gimpactshape0,body1.getCollisionShape(),false);
}
}
else if (body1.getCollisionShape().getShapeType()==BroadphaseNativeType.GIMPACT_SHAPE_PROXYTYPE )
{
gimpactshape1 = (GImpactShapeInterface)body1.getCollisionShape();
gimpact_vs_shape(body1,body0,gimpactshape1,body0.getCollisionShape(),true);
}
}
示例3: convex_vs_convex_collision
import com.bulletphysics.collision.dispatch.CollisionObject; //导入方法依赖的package包/类
protected void convex_vs_convex_collision(CollisionObject body0, CollisionObject body1, CollisionShape shape0, CollisionShape shape1) {
CollisionShape tmpShape0 = body0.getCollisionShape();
CollisionShape tmpShape1 = body1.getCollisionShape();
body0.internalSetTemporaryCollisionShape(shape0);
body1.internalSetTemporaryCollisionShape(shape1);
resultOut.setShapeIdentifiers(part0, triface0, part1, triface1);
checkConvexAlgorithm(body0, body1);
convex_algorithm.processCollision(body0, body1, dispatchInfo, resultOut);
body0.internalSetTemporaryCollisionShape(tmpShape0);
body1.internalSetTemporaryCollisionShape(tmpShape1);
}