コード例 #1
0
ファイル: ZoomController.cs プロジェクト: ming81/SciSim
 void CheckChangeUnits()
 {
     if (currentScale < 1f || currentScale > 1E3f)
     {
         currentScale = Mathf.Clamp(currentScale, 1f, 1E3f);
         Units newUnits = ScaleUtility.GetNextScale(currentUnits, currentScale > 1f ? 1 : -1);
         currentScale = currentScale * ScaleUtility.ConvertUnitMultiplier(currentUnits, newUnits);
         currentUnits = newUnits;
     }
 }
コード例 #2
0
ファイル: ScaleUtility.cs プロジェクト: ming81/SciSim
 public static float ConvertUnitMultiplier(Units fromUnits, Units toUnits)
 {
     return(ScaleUtility.MultiplierFromMeters(toUnits) / ScaleUtility.MultiplierFromMeters(fromUnits));
 }
コード例 #3
0
ファイル: ScaleUtility.cs プロジェクト: ming81/SciSim
 public static float ToMeters(float number, Units fromUnits)
 {
     return(number / ScaleUtility.MultiplierFromMeters(fromUnits));
 }
コード例 #4
0
 void SetScale()
 {
     transform.localScale = size * ScaleUtility.MultiplierFromMeters(factory.container.units) / ScaleUtility.MultiplierFromMeters(units) * Vector3.one;
 }
コード例 #5
0
        float avogadro = 6.022E23f;         // agents/mol
        int NumberOfAgentsForConcentration(float concentration)
        {
            float volume = 4f / 3f * Mathf.PI * Mathf.Pow(spawnRadius * ScaleUtility.ConvertUnitMultiplier(currentUnits, Units.Centimeters), 3f) * 1E-3f;           //liters

            return(Mathf.RoundToInt(concentration * volume * avogadro));
        }