private void SwapGroundActor(Tuple <PhysX.RigidActor, PhysX.Shape, PhysX.TriangleMesh> groundActor)
        {
            if (_groundActor != null)
            {
                _scene.RemoveActor(_groundActor);
                _groundActor.Dispose();

                if (!_groundShape.Disposed)
                {
                    _groundShape.Dispose();
                }

                _mesh.Dispose();
            }

            _groundActor = groundActor.Item1;
            _groundShape = groundActor.Item2;
            _mesh        = groundActor.Item3;

            _groundActor.UserData = this;

            CollisionGroup.SetCollisionGroup(CollisionGroupFlag.Ground, _groundShape);

            _scene.AddActor(_groundActor);
        }