コード例 #1
0
 [Test] public void can_use_mass_volume_constructor() {
     Mass m = new Mass(10, MassUnit.Pounds);
     Volume v = new Volume(2, VolumeUnit.Gallons);
     var d = new Density(m, v);
     d.Mass.ShouldEqual(m);
     d.Volume.ShouldEqual(v);
 }
コード例 #2
0
ファイル: GameOfLife.cs プロジェクト: PaulWild/GameOfLife
        public GameOfLife(int height, int width, Density gameDensity)
        {
            Height = height;
            Width = width;
            GameDensity = gameDensity;

            InitiliseGame();
        }
コード例 #3
0
        public string Format(string format, Density density) {
            string workingFormat = format;
            var massProvider = new CorrectPluralityFormatProvider(new Mass(density.Amount, density.Mass.Unit));
            foreach (var m in placeholder1.Matches(format).Cast<Match>())
                workingFormat = workingFormat.Replace(m.Value, String.Format(massProvider, m.Value, null, density.Mass.Unit));
            var volumeProvider = new CorrectPluralityFormatProvider(new Volume(UnitPlurality.Single.Example, density.Volume.Unit));
            foreach (var m in placeholder2.Matches(format).Cast<Match>())
                workingFormat = workingFormat.Replace(m.Value, String.Format(volumeProvider, m.Value, null, null, density.Volume.Unit));

            return String.Format(workingFormat, density.Amount, null, null);
        }
コード例 #4
0
	private static void Defaults()
	{
		_prefab = Resources.Load("Prefabs/Asteroids/Asteroid.Rock", typeof(GameObject)) as GameObject;
		_minScale = 1f;
		_maxScale = 1f;
		_radius = 1;
		_density = Density.Medium;
		_is3D = false;
		_limitObjectCount = true;
		_objectLimit = 100;
	}
コード例 #5
0
 protected virtual void Awake()
 {
     if (randomizeDensities)
     {
         switch(Random.Range(0, 10))
         {
         case(2):
             density = Density.Low;
             break;
         case(4):
             density = Density.Average;
             break;
         case(6):
             density = Density.Good;
             break;
         case(8):
             density = Density.High;
             break;
         case(10):
             density = Density.Fuckyeah;
             break;
         }
     }
 }
 public TerrainGenerator(Density density)
 {
     this.density = density;
     position = new Vector3 (0f, 0f, 0f);
 }
コード例 #7
0
            public void ShouldReturnTrueWhenObjectIsTheSame()
            {
                var density = new Density(50);

                Assert.IsTrue(density.Equals((object)density));
            }
コード例 #8
0
 public string Format(string format, Density density) {
     var provider = new CorrectPluralityFormatProvider(density);
     return String.Format(provider, format, density.Amount, density.Unit);
 }
コード例 #9
0
        public void DensityTimesVolumeFlowEqualsMassFlow()
        {
            MassFlow massFlow = Density.FromKilogramsPerCubicMeter(3) * VolumeFlow.FromCubicMetersPerSecond(7);

            Assert.Equal(MassFlow.FromKilogramsPerSecond(21), massFlow);
        }
コード例 #10
0
            public void ShouldReturnFalseWhenInstanceIsNull()
            {
                var density = new Density(50);

                Assert.IsFalse(density.Equals(null));
            }
コード例 #11
0
ファイル: DensityTests.cs プロジェクト: dlemstra/Magick.NET
    public void Test_Constructor()
    {
      Density density = new Density(5);
      Assert.AreEqual(5.0, density.X);
      Assert.AreEqual(5.0, density.Y);
      Assert.AreEqual(DensityUnit.PixelsPerInch, density.Units);

      density = new Density(8.5, DensityUnit.PixelsPerCentimeter);
      Assert.AreEqual(8.5, density.X);
      Assert.AreEqual(8.5, density.Y);
      Assert.AreEqual(DensityUnit.PixelsPerCentimeter, density.Units);

      density = new Density(2, 3);
      Assert.AreEqual(2.0, density.X);
      Assert.AreEqual(3.0, density.Y);
      Assert.AreEqual(DensityUnit.PixelsPerInch, density.Units);

      density = new Density(2.2, 3.3, DensityUnit.Undefined);
      Assert.AreEqual(2.2, density.X);
      Assert.AreEqual(3.3, density.Y);
      Assert.AreEqual(DensityUnit.Undefined, density.Units);

      ExceptionAssert.Throws<ArgumentNullException>(delegate ()
      {
        new Density(null);
      });

      ExceptionAssert.Throws<ArgumentException>(delegate ()
      {
        new Density("");
      });

      ExceptionAssert.Throws<ArgumentException>(delegate ()
      {
        new Density("1.0x");
      });

      ExceptionAssert.Throws<ArgumentException>(delegate ()
      {
        new Density("x1.0");
      });

      ExceptionAssert.Throws<ArgumentException>(delegate ()
      {
        new Density("ax1.0");
      });

      ExceptionAssert.Throws<ArgumentException>(delegate ()
      {
        new Density("1.0xb");
      });

      ExceptionAssert.Throws<ArgumentException>(delegate ()
      {
        new Density("1.0x6 magick");
      });

      density = new Density("1.0x2.5");
      Assert.AreEqual(1.0, density.X);
      Assert.AreEqual(2.5, density.Y);
      Assert.AreEqual(DensityUnit.Undefined, density.Units);
      Assert.AreEqual("1x2.5", density.ToString());

      density = new Density("2.5x1.0 cm");
      Assert.AreEqual(2.5, density.X);
      Assert.AreEqual(1.0, density.Y);
      Assert.AreEqual(DensityUnit.PixelsPerCentimeter, density.Units);
      Assert.AreEqual("2.5x1 cm", density.ToString());

      density = new Density("2.5x1.0 inch");
      Assert.AreEqual(2.5, density.X);
      Assert.AreEqual(1.0, density.Y);
      Assert.AreEqual(DensityUnit.PixelsPerInch, density.Units);
      Assert.AreEqual("2.5x1 inch", density.ToString());
    }
コード例 #12
0
ファイル: VolumeTests.cs プロジェクト: rmsryu/UnitsNet
        public void VolumeTimesDensityEqualsMass()
        {
            Mass mass = Volume.FromCubicMeters(2) * Density.FromKilogramsPerCubicMeter(3);

            Assert.Equal(mass, Mass.FromKilograms(6));
        }
コード例 #13
0
 public static Density?PoundsPerUSGallon <T>(this T?value) where T : struct => Density.FromPoundsPerUSGallon(value == null ? (double?)null : Convert.ToDouble(value.Value));
コード例 #14
0
 /// <inheritdoc cref="Density.FromSlugsPerCubicFoot(UnitsNet.QuantityValue)" />
 public static Density SlugsPerCubicFoot <T>(this T value) => Density.FromSlugsPerCubicFoot(Convert.ToDouble(value));
コード例 #15
0
 /// <inheritdoc cref="Density.FromPoundsPerCubicInch(UnitsNet.QuantityValue)" />
 public static Density PoundsPerCubicInch <T>(this T value) => Density.FromPoundsPerCubicInch(Convert.ToDouble(value));
コード例 #16
0
 /// <inheritdoc cref="Density.FromPoundsPerUSGallon(UnitsNet.QuantityValue)" />
 public static Density PoundsPerUSGallon <T>(this T value) => Density.FromPoundsPerUSGallon(Convert.ToDouble(value));
コード例 #17
0
 public static Density?PicogramsPerMilliliter <T>(this T?value) where T : struct => Density.FromPicogramsPerMilliliter(value == null ? (double?)null : Convert.ToDouble(value.Value));
コード例 #18
0
 /// <inheritdoc cref="Density.FromPicogramsPerDeciLiter(UnitsNet.QuantityValue)" />
 public static Density PicogramsPerDeciLiter <T>(this T value) => Density.FromPicogramsPerDeciLiter(Convert.ToDouble(value));
コード例 #19
0
 /// <inheritdoc cref="Density.FromMilligramsPerCubicMeter(UnitsNet.QuantityValue)" />
 public static Density MilligramsPerCubicMeter <T>(this T value) => Density.FromMilligramsPerCubicMeter(Convert.ToDouble(value));
 public TerrainGenerator(Density density, int horizontalChunks, int verticalChunks, int chunkSize)
     : this(density, horizontalChunks, verticalChunks)
 {
     this.chunkSize = chunkSize;
 }
コード例 #21
0
 public static Density?SlugsPerCubicFoot <T>(this T?value) where T : struct => Density.FromSlugsPerCubicFoot(value == null ? (double?)null : Convert.ToDouble(value.Value));
コード例 #22
0
	public void OnGUI()
	{
		_scrollPos = EditorGUILayout.BeginScrollView(_scrollPos);
		EditorGUILayout.BeginVertical();
		if (GUILayout.Button("Restore Defaults"))
		{
			Defaults();
		}
		_prefab = EditorGUILayout.ObjectField(_prefab, typeof(GameObject), false, null) as GameObject;
		_transformToggle = EditorGUILayout.Foldout(_transformToggle, "Transform");
		if (_transformToggle)
		{
			_randomizeScale = EditorGUILayout.Toggle("Randomize Scale", _randomizeScale);
			if (_randomizeScale)
			{
				EditorGUILayout.BeginHorizontal();
				_randomizeScaleX = EditorGUILayout.Toggle("Randomize X", _randomizeScaleX);
				_randomizeScaleY = EditorGUILayout.Toggle("Randomize Y", _randomizeScaleY);
				_randomizeScaleZ = EditorGUILayout.Toggle("Randomize Z", _randomizeScaleZ);
				EditorGUILayout.EndHorizontal();

				EditorGUILayout.MinMaxSlider(new GUIContent("Scale"), ref _minScale, ref _maxScale, 0.001f, 100f, null);
				EditorGUILayout.BeginHorizontal();
				_minScale = EditorGUILayout.FloatField("Min", Mathf.Clamp(_minScale, 0.1f, _maxScale - 0.1f));
				_maxScale = EditorGUILayout.FloatField("Max", Mathf.Clamp(_maxScale, _minScale + 0.1f, 100f));
				EditorGUILayout.EndHorizontal();
			}
			else
			{
				_maxScale = _minScale = EditorGUILayout.FloatField("Scale", Mathf.Clamp(_minScale, 0.1f, 100f));
			}

			_randomizeRotations = EditorGUILayout.Toggle("Randomize Rotations", _randomizeRotations);
			if (_randomizeRotations)
			{
				EditorGUILayout.BeginHorizontal();
				_randomizeRotationX = EditorGUILayout.Toggle("Randomize X", _randomizeRotationX);
				_randomizeRotationY = EditorGUILayout.Toggle("Randomize Y", _randomizeRotationY);
				_randomizeRotationZ = EditorGUILayout.Toggle("Randomize Z", _randomizeRotationZ);
				EditorGUILayout.EndHorizontal();
			}
		}
		EditorGUILayout.Separator();
		_spawnAreaToggle = EditorGUILayout.Foldout(_spawnAreaToggle, "Spawn");
		if (_spawnAreaToggle)
		{
			_density = (Density)EditorGUILayout.EnumPopup("Density", _density);
			_shape = (Shape)EditorGUILayout.EnumPopup("Shape", _shape);
			switch (_density)
			{
			case Density.Low:
				_maximumRetry = 100;
				break;
			case Density.Medium:
				_maximumRetry = 1000;
				break;
			case Density.High:
				_maximumRetry = 10000;
				break;
			case Density.Extreme:
				_maximumRetry = 100000;
				break;
			}
			_castRadius = (int)_density;
			switch (_shape)
			{
			case Shape.Cube:
				_cubeArea = EditorGUILayout.Vector3Field("Area", _cubeArea);
				_maximumRetry *= (_cubeArea.x + _cubeArea.y + _cubeArea.z) / 3;
				break;
			case Shape.Sphere:
				_radius = EditorGUILayout.FloatField("Radius", _radius);
				_is3D = EditorGUILayout.Toggle("Is 3D Field(Extremely Slow)", _is3D);
				_maximumRetry *= _radius;
				break;
			}
		}
		EditorGUILayout.Separator();
		_advancedToggle = EditorGUILayout.Foldout(_advancedToggle, "Advanced");
		if (_advancedToggle)
		{
			_allowOverdraw = EditorGUILayout.Toggle("Allow Overdraw", _allowOverdraw);
			_limitObjectCount = EditorGUILayout.Toggle("Limit Object Count", _limitObjectCount);
			if (_limitObjectCount)
			{
				_objectLimit = EditorGUILayout.IntField("Object Limit", _objectLimit);
			}
			_limitIterations = EditorGUILayout.Toggle("Limit Iterations", _limitIterations);
			if (_limitIterations)
			{
				_iterationLimit = EditorGUILayout.IntField("Iteration Limit", _iterationLimit);
				_maximumRetry = _iterationLimit;
			}
			_updateEvery = EditorGUILayout.FloatField(string.Format("Update every {0} seconds.", _updateEvery), Mathf.Clamp(_updateEvery, 0.1f, 60f));
		}
		if (_maximumRetry > 25000 || _is3D)
		{
			EditorGUILayout.HelpBox(string.Format("OPERATION WILL BE VERY SLOW.\nIterations : {0}\nObject Limit : {1}\nConsider Lowering Density,Disabling 3D or Limiting Object Count.", _maximumRetry, (_limitObjectCount ? _objectLimit.ToString() : "Unlimited")), MessageType.Warning);
			//EditorGUILayout.LabelField("OPERATION WILL BE VERY SLOW.");
			//EditorGUILayout.LabelField("Iterations : " + _maximumRetry.ToString());
			//EditorGUILayout.LabelField("Object Limit : " + (_limitObjectCount ? _objectLimit.ToString() : "Unlimited"));
			//EditorGUILayout.LabelField("Consider Lowering Density,Disabling 3D or Limiting Object Count.");
		}
		EditorGUILayout.EndVertical();

		if (GUILayout.Button("Create Field"))
		{
			_occupiedPositions.Clear();
			_container = new GameObject("Container");
			_currentObjectCount = 0;
			_currentRetry = 0;

			Spawn();
		}
		EditorGUILayout.EndScrollView();
	}
コード例 #23
0
 /// <inheritdoc cref="Density.FromTonnesPerCubicMillimeter(UnitsNet.QuantityValue)" />
 public static Density TonnesPerCubicMillimeter <T>(this T value) => Density.FromTonnesPerCubicMillimeter(Convert.ToDouble(value));
コード例 #24
0
 public static Density?KilopoundsPerCubicInch <T>(this T?value) where T : struct => Density.FromKilopoundsPerCubicInch(value == null ? (double?)null : Convert.ToDouble(value.Value));
コード例 #25
0
 public static Density?TonnesPerCubicMillimeter <T>(this T?value) where T : struct => Density.FromTonnesPerCubicMillimeter(value == null ? (double?)null : Convert.ToDouble(value.Value));
コード例 #26
0
        public void VolumeFlowTimesDensityEqualsMassFlow()
        {
            MassFlow massFlow = VolumeFlow.FromCubicMetersPerSecond(2) * Density.FromKilogramsPerCubicMeter(3);

            Assert.Equal(MassFlow.FromKilogramsPerSecond(6), massFlow);
        }
コード例 #27
0
 /// <inheritdoc cref="Density.FromCentigramsPerMilliliter(UnitsNet.QuantityValue)" />
 public static Density CentigramsPerMilliliter <T>(this T value) => Density.FromCentigramsPerMilliliter(Convert.ToDouble(value));
コード例 #28
0
        public void AccelerationTimesDensityEqualsSpecificWeight()
        {
            SpecificWeight specificWeight = Acceleration.FromMetersPerSecondSquared(10) * Density.FromKilogramsPerCubicMeter(2);

            Assert.Equal(SpecificWeight.FromNewtonsPerCubicMeter(20), specificWeight);
        }
コード例 #29
0
 /// <inheritdoc cref="Density.FromDecigramsPerLiter(UnitsNet.QuantityValue)" />
 public static Density DecigramsPerLiter <T>(this T value) => Density.FromDecigramsPerLiter(Convert.ToDouble(value));
コード例 #30
0
            public void ShouldReturnTrueWhenInstanceIsTheSame()
            {
                var density = new Density(50);

                Assert.IsTrue(density.Equals(density));
            }
コード例 #31
0
 public static Density?DecigramsPerLiter <T>(this T?value) where T : struct => Density.FromDecigramsPerLiter(value == null ? (double?)null : Convert.ToDouble(value.Value));
コード例 #32
0
 /// <inheritdoc cref="Density.FromKilogramsPerCubicMillimeter(UnitsNet.QuantityValue)" />
 public static Density KilogramsPerCubicMillimeter <T>(this T value) => Density.FromKilogramsPerCubicMillimeter(Convert.ToDouble(value));
コード例 #33
0
        public static void DynamicViscosityDividedByDensityEqualsKinematicViscosity()
        {
            KinematicViscosity kinematicViscosity = DynamicViscosity.FromNewtonSecondsPerMeterSquared(10) / Density.FromKilogramsPerCubicMeter(2);

            Assert.Equal(kinematicViscosity, KinematicViscosity.FromSquareMetersPerSecond(5));
        }
コード例 #34
0
 public static Density?KilogramsPerCubicMeter <T>(this T?value) where T : struct => Density.FromKilogramsPerCubicMeter(value == null ? (double?)null : Convert.ToDouble(value.Value));
コード例 #35
0
 public void applyDensity(Density density)
 {
     float xPos, yPos, zPos;
     Vector3 absPos = transform.position;
     for (int x=0; x<LENGHT; x++) {
         xPos = x*DELTA;
         for (int y=0; y<LENGHT; y++) {
             yPos = y*DELTA;
             for (int z=0; z<LENGHT; z++) {
                 zPos = z*DELTA;
                 setDensityAt(x, y, z, density.apply(xPos+absPos.x, yPos+absPos.y, zPos+absPos.z));
             }
         }
     }
 }
 public TerrainGenerator(Density density, int horizontalChunks, int verticalChunks)
     : this(density)
 {
     this.horizontalChunks = horizontalChunks;
     this.verticalChunks = verticalChunks;
 }
コード例 #37
0
 protected void SetScalarValue(DependencyProperty property, Density? quantity)
 {
     // we set this flag to prevent from setting scalar value changing quantity values.
     this.isUpdatingScalarValue = true;
     var value = quantity != null
         ? this.Unit.GetScalarValue(quantity.Value)
         : (double?)null;
     this.SetCurrentValue(property, value);
     this.isUpdatingScalarValue = false;
 }
コード例 #38
0
 /// <inheritdoc cref="Density.FromGramsPerCubicCentimeter(UnitsNet.QuantityValue)" />
 public static Density GramsPerCubicCentimeter <T>(this T value) => Density.FromGramsPerCubicCentimeter(Convert.ToDouble(value));
コード例 #39
0
        public void RandomDeplayment(int sinkIndex)
        {
            PublicParameters.NumberofNodes = myNetWork.Count;
            int rootNodeId = sinkIndex;

            PublicParameters.SinkNode = myNetWork[rootNodeId];
            NeighborsDiscovery overlappingNodesFinder = new NeighborsDiscovery(myNetWork);

            overlappingNodesFinder.GetOverlappingForAllNodes();



            isCoverageSelected       = true;
            PublicParameters.Density = Density.GetDensity(myNetWork);
            DisplaySimulationParameters(rootNodeId, "Random");

            EngageMacAndRadioProcol();

            TopologyConstractor.BuildToplogy(Canvas_SensingFeild, myNetWork);


            double radius;

            //radius = (PublicParameters.Density / 2) * (PublicParameters.CommunicationRangeRadius / 2);
            radius = 100;
            double clusterArea = Math.PI * (Math.Pow((radius), 2));


            PublicParameters.clusterRadius = radius;

            PublicParameters.myNetwork = myNetWork;

            if (buildMethod == null)
            {
                buildMethod = "center";
            }
            Ring.getCenterOfNetwork();
            foreach (Sensor sen in PublicParameters.myNetwork)
            {
                sen.NetworkCenter    = PublicParameters.networkCenter;
                sen.RingNeighborRule = new RingNeighbor(sen);
            }
            Ring.setInitialParameters(radius, 10, Canvas_SensingFeild);
            Ring.startRingConstruction(); // RingNodes are all defined
            // Need to define the neighbors of the ring nodes

            BorderHullRing.setInitialParameters(radius, 10, Canvas_SensingFeild);
            BorderHullRing.startRingConstruction(); // RingNodes are all defined

            // BorderHullRing.setInitialParameters(radius*4, 10, Canvas_SensingFeild);
            //BorderHullRing.startRingConstruction(); // RingNodes are all defined
            MobileModel.passField(Canvas_SensingFeild);
            PublicParameters.InitialRingCount = PublicParameters.RingNodes.Count;
            networkInitialized = true;


            MyGraph = Graph.ConvertNodeToVertex(myNetWork);
            InitMobileSink();

            TrialTimer.Interval = TimeSpan.FromSeconds(20);
            TrialTimer.Tick    += TrialTimer_Tick;
            TrialTimer.Start();
        }
コード例 #40
0
ファイル: DensityTests.cs プロジェクト: dlemstra/Magick.NET
    public void Test_IEquatable()
    {
      Density first = new Density(50.0);
      Density second = new Density(50);

      Assert.IsTrue(first == second);
      Assert.IsTrue(first.Equals(second));
      Assert.IsTrue(first.Equals((object)second));

      first = new Density(50.0);
      second = new Density(50, DensityUnit.PixelsPerCentimeter);

      Assert.IsFalse(first == second);
      Assert.IsFalse(first.Equals(second));
      Assert.IsFalse(first.Equals((object)second));

      Assert.IsFalse(first == null);
      Assert.IsFalse(first.Equals(null));
      Assert.IsFalse(first.Equals((object)null));
    }
コード例 #41
0
        public void MassDividedByVolumeEqualsDensity()
        {
            Density density = Mass.FromKilograms(18) / Volume.FromCubicMeters(3);

            Assert.Equal(density, Density.FromKilogramsPerCubicMeter(6));
        }
コード例 #42
0
        public static void ConstantOverSpecificVolumeEqualsDensity()
        {
            Density density = 5 / SpecificVolume.FromCubicMetersPerKilogram(20);

            Assert.Equal(density, Density.FromKilogramsPerCubicMeter(0.25));
        }
コード例 #43
0
 /// <inheritdoc cref="Density.FromKilopoundsPerCubicFoot(UnitsNet.QuantityValue)" />
 public static Density KilopoundsPerCubicFoot <T>(this T value) => Density.FromKilopoundsPerCubicFoot(Convert.ToDouble(value));
コード例 #44
0
        public ActionResult Properties(bool?setWithResistance = null)
        {
            SetPropertiesModel viewModel = new SetPropertiesModel()
            {
                Layout     = new LayoutModel("Set properties"),
                Quantities = new SetPropertiesQuantitiesModel()
                {
                    InitialVelocity  = 15.0,
                    InitialHeight    = 0,
                    ElevationAngle   = Math.PI / 4.0,
                    GravAcceleration = GravAcceleration.GetGravAccelerationValue(GravAcceleration.GravAccelerations.Earth),
                    FrontalArea      = Math.Pow(new Length(12.9, UnitLength.Centimetre).GetBasicVal(), 2.0) * Math.PI,
                    DragCoefficient  = DragCoefficient.GetDragCoefficientValue(DragCoefficient.DragCoefficients.Sphere),
                    Mass             = 0.5,
                    Density          = Density.GetDensityValue(Density.Densities.Air),
                    WithResistance   = setWithResistance ?? false,
                },
                RoundDigits         = 6,
                PointsForTrajectory = 80,
                ShowMotionWithoutResistanceTrajectoryToo = false
            };

            viewModel.HexColorOfTrajectory = viewModel.Quantities.WithResistance ? "#007bff" : "#6c757d";

            SessionStore session = GetSession();

            if (session.IsSavedProjectileMotionWithResistance())
            {
                ProjectileMotionWithResistance savedMotion = session.GetSavedProjectileMotionWithResistance();

                viewModel.Quantities.InitialVelocity  = savedMotion.Settings.Quantities.V.Val;
                viewModel.Quantities.InitialHeight    = savedMotion.Settings.Quantities.H.Val;
                viewModel.Quantities.ElevationAngle   = savedMotion.Settings.Quantities.Α.Val;
                viewModel.Quantities.GravAcceleration = savedMotion.Settings.Quantities.G.Val;
                viewModel.Quantities.FrontalArea      = savedMotion.Settings.Quantities.A.Val;
                viewModel.Quantities.DragCoefficient  = savedMotion.Settings.Quantities.C.Val;
                viewModel.Quantities.Mass             = savedMotion.Settings.Quantities.M.Val;
                viewModel.Quantities.Density          = savedMotion.Settings.Quantities.Ρ.Val;
                viewModel.RoundDigits = savedMotion.Settings.RoundDigits;
                viewModel.Quantities.WithResistance = true;

                viewModel.PointsForTrajectory = savedMotion.Settings.PointsForTrajectory;

                viewModel.Quantities.InitialVelocityUnit  = savedMotion.Settings.Quantities.V.Unit.Name;
                viewModel.Quantities.InitialHeightUnit    = savedMotion.Settings.Quantities.H.Unit.Name;
                viewModel.Quantities.ElevationAngleUnit   = savedMotion.Settings.Quantities.Α.Unit.Name;
                viewModel.Quantities.GravAccelerationUnit = savedMotion.Settings.Quantities.G.Unit.Name;
                viewModel.Quantities.FrontalAreaUnit      = savedMotion.Settings.Quantities.A.Unit.Name;
                viewModel.Quantities.MassUnit             = savedMotion.Settings.Quantities.M.Unit.Name;
                viewModel.Quantities.DensityUnit          = savedMotion.Settings.Quantities.Ρ.Unit.Name;

                viewModel.ResultUnitAngle            = savedMotion.Settings.Quantities.Units.Angle.Name;
                viewModel.ResultUnitArea             = savedMotion.Settings.Quantities.Units.Area.Name;
                viewModel.ResultUnitGravAcceleration = savedMotion.Settings.Quantities.Units.GravAcceleration.Name;
                viewModel.ResultUnitLength           = savedMotion.Settings.Quantities.Units.Length.Name;
                viewModel.ResultUnitTime             = savedMotion.Settings.Quantities.Units.Time.Name;
                viewModel.ResultUnitVelocity         = savedMotion.Settings.Quantities.Units.Velocity.Name;

                viewModel.TxtInfoFileName      = savedMotion.Settings.TxtInfoFileName;
                viewModel.CsvDataFileName      = savedMotion.Settings.CsvDataFileName;
                viewModel.PdfInfoFileName      = savedMotion.Settings.PdfInfoFileName;
                viewModel.ChartFileName        = savedMotion.Settings.ChartFileName;
                viewModel.HexColorOfTrajectory = savedMotion.Settings.HexColorOfTrajectory;
                viewModel.ShowMotionWithoutResistanceTrajectoryToo = savedMotion.Settings.ShowMotionWithoutResistanceTrajectoryToo;

                viewModel.Layout.Title = "Edit properties";
            }
            else if (session.IsSavedProjectileMotion())
            {
                ProjectileMotion savedMotion = session.GetSavedProjectileMotion();

                viewModel.Quantities.InitialVelocity  = savedMotion.Settings.Quantities.V.Val;
                viewModel.Quantities.InitialHeight    = savedMotion.Settings.Quantities.H.Val;
                viewModel.Quantities.ElevationAngle   = savedMotion.Settings.Quantities.Α.Val;
                viewModel.Quantities.GravAcceleration = savedMotion.Settings.Quantities.G.Val;
                viewModel.Quantities.WithResistance   = false;


                viewModel.RoundDigits = savedMotion.Settings.RoundDigits;

                viewModel.PointsForTrajectory = savedMotion.Settings.PointsForTrajectory;

                viewModel.Quantities.InitialVelocityUnit  = savedMotion.Settings.Quantities.V.Unit.Name;
                viewModel.Quantities.InitialHeightUnit    = savedMotion.Settings.Quantities.H.Unit.Name;
                viewModel.Quantities.ElevationAngleUnit   = savedMotion.Settings.Quantities.Α.Unit.Name;
                viewModel.Quantities.GravAccelerationUnit = savedMotion.Settings.Quantities.G.Unit.Name;

                viewModel.Quantities.Length        = savedMotion.GetLength().Val;
                viewModel.Quantities.LengthUnit    = savedMotion.GetLength().Unit.Name;
                viewModel.Quantities.MaxHeight     = savedMotion.GetMaxHeight().Val;
                viewModel.Quantities.MaxHeightUnit = savedMotion.GetMaxHeight().Unit.Name;
                viewModel.Quantities.Duration      = savedMotion.GetDur().Val;
                viewModel.Quantities.DurationUnit  = savedMotion.GetDur().Unit.Name;

                viewModel.ResultUnitAngle            = savedMotion.Settings.Quantities.Units.Angle.Name;
                viewModel.ResultUnitArea             = savedMotion.Settings.Quantities.Units.Area.Name;
                viewModel.ResultUnitGravAcceleration = savedMotion.Settings.Quantities.Units.GravAcceleration.Name;
                viewModel.ResultUnitLength           = savedMotion.Settings.Quantities.Units.Length.Name;
                viewModel.ResultUnitTime             = savedMotion.Settings.Quantities.Units.Time.Name;
                viewModel.ResultUnitVelocity         = savedMotion.Settings.Quantities.Units.Velocity.Name;

                viewModel.TxtInfoFileName      = savedMotion.Settings.TxtInfoFileName;
                viewModel.CsvDataFileName      = savedMotion.Settings.CsvDataFileName;
                viewModel.PdfInfoFileName      = savedMotion.Settings.PdfInfoFileName;
                viewModel.ChartFileName        = savedMotion.Settings.ChartFileName;
                viewModel.HexColorOfTrajectory = savedMotion.Settings.HexColorOfTrajectory;
                viewModel.ShowMotionWithoutResistanceTrajectoryToo = false;

                viewModel.Quantities.SelectedAssignmentType = savedMotion.Settings.Quantities.UsedAssignmentType;

                viewModel.Layout.Title = "Edit properties";
            }
            else if (setWithResistance == null)
            {
                return(RedirectToAction(nameof(ChooseController.Neglection), "Choose"));
            }

            viewModel.Layout.Menu.SetWithResistance = viewModel.Quantities.WithResistance;
            viewModel.Layout.Menu.ActiveMenuItem    = LayoutMenuModel.ActiveNavItem.Set;

            return(View(viewModel));
        }
コード例 #45
0
 protected virtual void OnMaxValueChanged(Density? oldValue, Density? newValue)
 {
     this.SetScalarValue(ScalarMaxValueProperty, newValue);
 }