internal DynamicWorldImp() { //Debug.WriteLine("DynamicWorldImp"); //Default // collision configuration contains default setup for memory, collision setup BtCollisionConf = new DefaultCollisionConfiguration(); BtDispatcher = new CollisionDispatcher(BtCollisionConf); BtBroadphase = new DbvtBroadphase(); BtSolver = new SequentialImpulseConstraintSolver(); // BtCollisionShapes = new AlignedCollisionShapeArray(); BtWorld = new DiscreteDynamicsWorld(BtDispatcher, BtBroadphase, BtSolver, BtCollisionConf) { Gravity = new Vector3(0, -9.81f, 0) }; BtWorld.SolverInfo.NumIterations = 5; BtWorld.PerformDiscreteCollisionDetection(); //GImpactCollisionAlgorithm.RegisterAlgorithm(BtDispatcher); // BtWorld.SetInternalTickCallback(MyTickCallBack); //BtWorld.SetInternalTickCallback(TickTack); //ManifoldPoint.ContactAdded += OnContactAdded; //PersistentManifold.ContactDestroyed += OnContactDestroyed; //PersistentManifold.ContactProcessed += OnContactProcessed; }