Beispiel #1
0
 public static void ExportEngineInternalState(PInternalState3D internalState)
 {
     internalState.contactCount = _contactCount;
     Array.Copy(contactExports, internalState.contactExports, _contactCount);
     Array.Copy(convexExports, internalState.convexExports, _contactCount);
     Array.Copy(manifoldExports, internalState.manifoldExports, _contactCount * 3);
 }
Beispiel #2
0
        public static void AddExternalConvexCache(PInternalState3D state)
        {
            for (int i = 0; i < state.contactCount; i++)
            {
                PContactExport3D     export       = state.contactExports[i];
                PConvexCacheExport3D convexExport = state.convexExports[i];

                NativeParallel3D.AddExternalConvexCacheData(export.id, convexExport);
            }
        }
Beispiel #3
0
        public static void AddExternalContactWarmStartData(PInternalState3D state)
        {
            for (int i = 0; i < state.contactCount; i++)
            {
                PContactExport3D export = state.contactExports[i];
                int manifoldIndex       = 3 * i;
                PManifoldExport3D m1    = state.manifoldExports[manifoldIndex];
                PManifoldExport3D m2    = state.manifoldExports[manifoldIndex + 1];
                PManifoldExport3D m3    = state.manifoldExports[manifoldIndex + 2];

                NativeParallel3D.AddExternalContactWarmStartData(export.id, export.flag, (byte)export.manifoldCount, m1, m2, m3);
            }
        }
 public void AddWarmStart(PInternalState3D state)
 {
     Parallel3D.AddExternalContactWarmStartData(state);
 }
 public void ExportEngineState(PInternalState3D state)
 {
     Parallel3D.ExportEngineInternalState(state);
 }
 public void AddConvexCache(PInternalState3D state)
 {
     Parallel3D.AddExternalConvexCache(state);
 }