예제 #1
0
        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;
        }