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); }
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); } }
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); }