Exemple #1
0
        public override bool process(BroadphaseProxy proxy)
        {
            CollisionObject collisionObject = proxy.clientObject;

            //only perform raycast if filterMask matches
            RaytestAlgorithm algorithm = dispatcher.findAlgorithm(collisionObject);

            algorithm(rayFrom, rayTo,
                      collisionObject,
                      m_resultCallback);

            return(true);
        }
        public DefaultCollisionConfiguration()
        {
            sphereSphereCF   = SphereSphereCollisionAlgorithm.processCollision;
            sphereBoxCF      = SphereBoxCollisionAlgorithm.processCollision;
            sphereCapsuleCF  = SphereCapsuleCollisionAlgorithm.processCollision;
            capsuleCapsuleCF = CapsuleCapsuleCollisionAlgorithm.processCollision;
            boxCapsuleCF     = BoxCapsuleCollisionAlgorithm.processCollision;
            boxBoxCF         = BoxBoxCollisionAlgorithm.processCollision;
            emptyCreateFunc  = EmptyAlgorithm.processCollision;

            emptyRaytestFunc   = EmptyRaytestAlgorithm.rayTestSingle;
            sphereRaytestFunc  = SphereRaytestAlgorithm.rayTestSingle;
            boxRaytestFunc     = BoxRaytestAlgorithm.rayTestSingle;
            capsuleRaytestFunc = CapsuleRaytestAlgorithm.rayTestSingle;

            emptySweepFunc          = EmptySweepFunc.objectQuerySingle;
            sphereBoxSweepFunc      = SphereBoxSweepAlgorithm.objectQuerySingle;
            sphereSphereSweepFunc   = SphereSphereSweepAlgorithm.objectQuerySingle;
            sphereCapsuleSweepFunc  = SphereCapsuleSweepAlgorithm.objectQuerySingle;
            capsuleCapsuleSweepFunc = CapsuleCapsuleSweepAlgorithm.objectQuerySingle;
            capsuleBoxSweepFunc     = CapsuleBoxSweepAlgorithm.objectQuerySingle;
        }
Exemple #3
0
        public override RaytestAlgorithm findAlgorithm(CollisionObject body)
        {
            RaytestAlgorithm algo = raytestDispatch[(int)body.getCollisionShape().getShapeType()];

            return(algo);
        }