private agxSDK.Simulation GetOrCreateSimulation() { if (m_simulation == null) { NativeHandler.Instance.MakeMainThread(); m_simulation = new agxSDK.Simulation(); m_space = m_simulation.getSpace(); m_system = m_simulation.getDynamicsSystem(); // Solver settings will assign number of threads. if (m_solverSettings != null) { m_solverSettings.SetSimulation(m_simulation); m_solverSettings.GetInitialized <SolverSettings>(); } // No solver settings - set the default. else { agx.agxSWIG.setNumThreads(Convert.ToUInt32(SolverSettings.DefaultNumberOfThreads)); } } return(m_simulation); }
private agxSDK.Simulation GetOrCreateSimulation() { if (m_simulation == null) { NativeHandler.Instance.MakeMainThread(); m_simulation = new agxSDK.Simulation(); m_space = m_simulation.getSpace(); m_system = m_simulation.getDynamicsSystem(); // Since AGXUnity.Simulation is optional in the hierarchy // we have to synchronize fixedDeltaTime here if SimulationTool // never has been seen in the inspector. if (AutoSteppingMode == AutoSteppingModes.FixedUpdate) { TimeStep = Time.fixedDeltaTime; } // Solver settings will assign number of threads. if (m_solverSettings != null) { m_solverSettings.SetSimulation(m_simulation); m_solverSettings.GetInitialized <SolverSettings>(); } // No solver settings - set the default. else { agx.agxSWIG.setNumThreads(Convert.ToUInt32(SolverSettings.DefaultNumberOfThreads)); } StepCallbacks.OnInitialize(m_simulation); } return(m_simulation); }
protected override bool Initialize() { agxCollide.Space space = GetSimulation().getSpace(); foreach (CollisionGroupEntryPair pair in m_disabledPairs) { SetEnablePair(pair, false, space); } return(base.Initialize()); }
private agxSDK.Simulation GetOrCreateSimulation() { if (m_simulation == null) { NativeHandler.Instance.MakeMainThread(); m_simulation = new agxSDK.Simulation(); m_defaultNumDryFrictionIterations = (int)m_simulation.getSolver().getNumDryFrictionIterations(); m_defaultNumRestingIterations = (int)m_simulation.getSolver().getNumRestingIterations(); m_space = m_simulation.getSpace(); m_system = m_simulation.getDynamicsSystem(); m_system.setEnableContactWarmstarting(m_warmStartingDirectContacts); } return(m_simulation); }
private void SetEnablePair(CollisionGroupEntryPair pair, bool enable, agxCollide.Space space) { space.setEnablePair(pair.First.Tag.To32BitFnv1aHash(), pair.Second.Tag.To32BitFnv1aHash(), enable); }