예제 #1
0
        /// <summary>
        /// Adds the collider to the engine processing pipeline.
        /// </summary>
        /// <param name="collider">The collider.</param>
        /// <param name="group">The group.</param>
        /// <param name="mask">The mask.</param>
        public void AddCollider(Collider collider, CollisionFilterGroupFlags group, CollisionFilterGroupFlags mask)
        {
            collisionWorld.AddCollisionObject(collider.InternalCollider, (BulletSharp.CollisionFilterGroups)group, (BulletSharp.CollisionFilterGroups)mask);

            aliveColliders.Add(collider.InternalCollider, collider);

            collider.Simulation = this;
        }
예제 #2
0
        private void LoadPhysics()
        {
            var defaultCollisionConfiguration = new BulletSharp.DefaultCollisionConfiguration();
            var collisionDispatcher = new BulletSharp.CollisionDispatcher();
            var worldAabbMin = new Vector3(-1000, -1000, -1000);
            var worldAabbMax = new Vector3(1000, 1000, 1000);
            var broadphase = new BulletSharp.AxisSweep3(worldAabbMin, worldAabbMax);
            this.collisionWorld = new BulletSharp.CollisionWorld(collisionDispatcher, broadphase, defaultCollisionConfiguration);
            this.collisionWorld.DebugDrawer = new BulletDebugDrawer(this.viewscreenProgram);

            foreach (var collisionObject in mousePole.ContactObjects)
            {
                collisionWorld.AddCollisionObject(collisionObject);
            }
        }
예제 #3
0
 /// <summary>
 /// Adds the collider to the engine processing pipeline.
 /// </summary>
 /// <param name="collider">The collider.</param>
 public void AddCollider(Collider collider)
 {
     collisionWorld.AddCollisionObject(collider.InternalCollider);
     collider.Simulation = this;
 }
예제 #4
0
 internal void AddCollider(PhysicsComponent component, CollisionFilterGroupFlags group, CollisionFilterGroupFlags mask)
 {
     collisionWorld.AddCollisionObject(component.NativeCollisionObject, (BulletSharp.CollisionFilterGroups)group, (BulletSharp.CollisionFilterGroups)mask);
 }
예제 #5
0
 /// <summary>
 /// Adds the collider to the engine processing pipeline.
 /// </summary>
 /// <param name="collider">The collider.</param>
 public void AddCollider(Collider collider)
 {
     collisionWorld.AddCollisionObject(collider.InternalCollider);
 }