Example #1
0
        public void Destroy()
        {
            if (shapesDictionary.Count != 0)
            {
                Log.Warning("ODEPhysicsWorld: OnShutdownLibrary: shapesDictionary.Count != 0.");
            }

            if (neoAxisAdditionsID != IntPtr.Zero)
            {
                Ode.NeoAxisAdditions_Shutdown(neoAxisAdditionsID);
                neoAxisAdditionsID = IntPtr.Zero;
            }

            if (rayCastGeomID != dGeomID.Zero)
            {
                Ode.dGeomDestroy(rayCastGeomID);
                rayCastGeomID = dGeomID.Zero;
            }

            if (rootSpaceID != dSpaceID.Zero)
            {
                Ode.dSpaceDestroy(rootSpaceID);
                rootSpaceID = dSpaceID.Zero;
            }

            if (worldID != dWorldID.Zero)
            {
                Ode.dWorldDestroy(worldID);
                worldID = dWorldID.Zero;
            }

            if (contactJointGroupID != dJointGroupID.Zero)
            {
                Ode.dJointGroupDestroy(contactJointGroupID);
                contactJointGroupID = dJointGroupID.Zero;
            }
        }