protected void GetHavokPhysicsParams() { dialogCaptionBar.Description = "Version: " + HavokManaged.ManagedModule.GetVersionInfo(); // Get settings HavokManaged.WorldSetupSettings ws = new HavokManaged.WorldSetupSettings(); HavokManaged.ManagedModule.GetWorldSetupSettings(ws); HavokManaged.WorldRuntimeSettings wr = new HavokManaged.WorldRuntimeSettings(); HavokManaged.ManagedModule.GetWorldRuntimeSettings(wr); _settings = new HavokPhysicsSettingsWrapper(); _settings.VisionUnitsNoPrompt = ws.m_havokToVisionScale; _settings.StaticGeometryModeNoPrompt = (HavokPhysicsSettingsWrapper.StaticGeometryMode_e)ws.m_staticGeomMode; _settings.MergedStaticWeldingTypeNoPrompt = (HavokPhysicsSettingsWrapper.MergedStaticWeldingType_e)ws.m_mergedStaticWeldingType; _settings.BroadphaseSize = wr.m_broadPhaseSizeAuto ? HavokPhysicsSettingsWrapper.BroadphaseSize_e.BoundAllStaticMeshes : HavokPhysicsSettingsWrapper.BroadphaseSize_e.Manual; _settings.BroadphaseSizeManual = wr.m_broadPhaseSizeManual; _settings.Gravity = new Vector3F(wr.m_gravityX, wr.m_gravityY, wr.m_gravityZ); _settings.ConstrainedBodyCollision = !wr.m_disableConstrainedBodiesCollisions; _settings.LegacyCompoundShapes = wr.m_enableLegacyCompoundShapes; _settings.DiskShapeCaching = wr.m_diskShapeCaching; _settings.SolverType = getSolverType(wr.m_solverIterations, wr.m_solverHardness); // Update property grid PropertyGrid.SelectedObject = _settings; }
protected void getSolverIterations(HavokPhysicsSettingsWrapper.SolverType_e st, ref int iters, ref int hardness) { switch (st) { case HavokPhysicsSettingsWrapper.SolverType_e.Two_Iterations_Soft: iters = 2; hardness = 0; break; case HavokPhysicsSettingsWrapper.SolverType_e.Two_Iterations_Medium: iters = 2; hardness = 1; break; case HavokPhysicsSettingsWrapper.SolverType_e.Two_Iterations_Hard: iters = 2; hardness = 2; break; case HavokPhysicsSettingsWrapper.SolverType_e.Four_Iterations_Soft: iters = 4; hardness = 0; break; default: case HavokPhysicsSettingsWrapper.SolverType_e.Four_Iterations_Medium: iters = 4; hardness = 1; break; case HavokPhysicsSettingsWrapper.SolverType_e.Four_Iterations_Hard: iters = 4; hardness = 2; break; case HavokPhysicsSettingsWrapper.SolverType_e.Eight_Iterations_Soft: iters = 8; hardness = 0; break; case HavokPhysicsSettingsWrapper.SolverType_e.Eight_Iterations_Medium: iters = 8; hardness = 1; break; case HavokPhysicsSettingsWrapper.SolverType_e.Eight_Iterations_Hard: iters = 8; hardness = 2; break; } }
protected void GetHavokPhysicsParams() { dialogCaptionBar.Description = "Version: " + HavokManaged.ManagedModule.GetVersionInfo(); // Get settings HavokManaged.WorldSetupSettings ws = new HavokManaged.WorldSetupSettings(); HavokManaged.ManagedModule.GetWorldSetupSettings(ws); HavokManaged.WorldRuntimeSettings wr = new HavokManaged.WorldRuntimeSettings(); HavokManaged.ManagedModule.GetWorldRuntimeSettings(wr); _settings = new HavokPhysicsSettingsWrapper(); _settings.VisionUnitsNoPrompt = ws.m_havokToVisionScale; _settings.StaticGeometryModeNoPrompt = (HavokPhysicsSettingsWrapper.StaticGeometryMode_e) ws.m_staticGeomMode; _settings.MergedStaticWeldingTypeNoPrompt = (HavokPhysicsSettingsWrapper.MergedStaticWeldingType_e) ws.m_mergedStaticWeldingType; _settings.BroadphaseSize = wr.m_broadPhaseSizeAuto ? HavokPhysicsSettingsWrapper.BroadphaseSize_e.BoundAllStaticMeshes : HavokPhysicsSettingsWrapper.BroadphaseSize_e.Manual; _settings.BroadphaseSizeManual = wr.m_broadPhaseSizeManual; _settings.Gravity = new Vector3F(wr.m_gravityX, wr.m_gravityY, wr.m_gravityZ); _settings.ConstrainedBodyCollision = !wr.m_disableConstrainedBodiesCollisions; _settings.LegacyCompoundShapes = wr.m_enableLegacyCompoundShapes; _settings.ShapeCaching = wr.m_shapeCaching; _settings.SolverType = getSolverType(wr.m_solverIterations, wr.m_solverHardness); // Update property grid PropertyGrid.SelectedObject = _settings; }