public void SaveRangeGraph() { var range = new RangeGraph <Vector2D>(Vector2D.Zero, new Vector2D(3.0f, 3.0f)); var data = BinaryDataExtensions.SaveToMemoryStream(range); Assert.AreEqual(68, data.Length); }
public ParticleEditorDesign() { ParticleSystemName = "MyParticleSystem"; ParticleEmitterNameToAdd = "ExistingEmitter"; AvailableEmitterIndices = new List<string>(new[] { "0" }); CurrentEmitterInEffect = "0"; SpawnerTypeList = new List<string>(new[] { "Point" }); SelectedSpawnerType = "Point"; MaterialList = new List<string>(new[] { "Default2D" }); SelectedMaterialName = "Default2D"; Size = new RangeGraph<Size>(new Size(0.01f, 0.01f), new Size(0.1f, 0.1f)); Color = new RangeGraph<Color>(Datatypes.Color.White, Datatypes.Color.TransparentWhite); LifeTime = 1.0f; BillboardModeList = new List<string>(new[] { "CameraFacing" }); SelectedBillboardMode = "CameraFacing"; StartPosition = new RangeGraph<Vector3D>(new Vector3D(0.0f, 0.0f, 0.0f), new Vector3D(0.0f, 0.0f, 0.0f)); StartRotation = new RangeGraph<ValueRange>(new ValueRange(0.0f), new ValueRange(0.0f)); StartVelocity = new RangeGraph<Vector3D>(new Vector3D(-0.1f, -0.2f, 0.0f), new Vector3D(0.2f, -0.2f, 0.0f)); Acceleration = new RangeGraph<Vector3D>(new Vector3D(0.0f, 0.1f, 0.0f), new Vector3D(0.0f, 0.3f, 0.0f)); RotationSpeed = new RangeGraph<ValueRange>(new ValueRange(0.0f), new ValueRange(0.0f)); SpawnInterval = 0.1f; MaxNumberOfParticles = 128; ParticlesPerSpawn = 1; }
public void MinMaxConstructor() { var rangeGraph = new RangeGraph <Vector2D>(Vector2D.UnitX, Vector2D.UnitY); Assert.AreEqual(Vector2D.UnitX, rangeGraph.Start); Assert.AreEqual(Vector2D.UnitY, rangeGraph.End); }
public void SetStart() { var rangeGraph = new RangeGraph <Vector2D>(Vector2D.UnitX, Vector2D.UnitY); rangeGraph.Start = Vector2D.One; Assert.AreEqual(Vector2D.One, rangeGraph.Start); }
public void SetEnd() { var rangeGraph = new RangeGraph <Vector2D>(Vector2D.UnitX, Vector2D.UnitY); rangeGraph.End = Vector2D.One; Assert.AreEqual(Vector2D.One, rangeGraph.End); }
public void SingleConstructor() { var rangeGraph = new RangeGraph <Vector2D>(Vector2D.UnitX); Assert.AreEqual(Vector2D.UnitX, rangeGraph.Start); Assert.AreEqual(Vector2D.UnitX, rangeGraph.End); }
public ParticleEditorDesign() { ParticleSystemName = "MyParticleSystem"; ParticleEmitterNameToAdd = "ExistingEmitter"; AvailableEmitterIndices = new List <string>(new[] { "0" }); CurrentEmitterInEffect = "0"; SpawnerTypeList = new List <string>(new[] { "Point" }); SelectedSpawnerType = "Point"; MaterialList = new List <string>(new[] { "Default2D" }); SelectedMaterialName = "Default2D"; Size = new RangeGraph <Size>(new Size(0.01f, 0.01f), new Size(0.1f, 0.1f)); Color = new RangeGraph <Color>(Datatypes.Color.White, Datatypes.Color.TransparentWhite); LifeTime = 1.0f; BillboardModeList = new List <string>(new[] { "CameraFacing" }); SelectedBillboardMode = "CameraFacing"; StartPosition = new RangeGraph <Vector3D>(new Vector3D(0.0f, 0.0f, 0.0f), new Vector3D(0.0f, 0.0f, 0.0f)); StartRotation = new RangeGraph <ValueRange>(new ValueRange(0.0f), new ValueRange(0.0f)); StartVelocity = new RangeGraph <Vector3D>(new Vector3D(-0.1f, -0.2f, 0.0f), new Vector3D(0.2f, -0.2f, 0.0f)); Acceleration = new RangeGraph <Vector3D>(new Vector3D(0.0f, 0.1f, 0.0f), new Vector3D(0.0f, 0.3f, 0.0f)); RotationSpeed = new RangeGraph <ValueRange>(new ValueRange(0.0f), new ValueRange(0.0f)); SpawnInterval = 0.1f; MaxNumberOfParticles = 128; ParticlesPerSpawn = 1; }
public void RangeConstructor() { var colors = new List<Color> { Color.Red, Color.Orange, Color.Yellow }; var rangeGraph = new RangeGraph<Color>(colors); Assert.AreEqual(colors[0], rangeGraph.Start); Assert.AreEqual(colors[2], rangeGraph.End); }
public void InsertValueBeforeIndexRightOfMax() { var colors = new[] { Color.Red, Color.Orange, Color.Yellow }; var colorGraph = new RangeGraph <Color>(colors[0], colors[1]); colorGraph.AddValueBefore(5, colors[2]); Assert.AreEqual(colors, colorGraph.Values); }
public void ConvertCompleteColorGraph() { var colorList = new List<Color>(new[] { Color.Black, Color.Red, Color.Green }); var graphToConvert = new RangeGraph<Color>(colorList); var convertedString = converter.Convert(graphToConvert, typeof(string), null, null); var expectedString = "({" + colorList[0] + "}, {" + colorList[1] + "}, {" + colorList[2] + "})"; Assert.AreEqual(expectedString, convertedString); }
public void GetTrivialInterpolation() { var points = new List<Vector2D>(new[] { Vector2D.One }); var graph = new RangeGraph<Vector2D>(points); var interpolatedPointMiddle = graph.GetInterpolatedValue(0.3f); var expectedPointMiddle = Vector2D.One; Assert.AreEqual(expectedPointMiddle, interpolatedPointMiddle); }
public void SettingValueLeftOfAllIndicesExpands() { var rectangles = new[] { Rectangle.One, Rectangle.Zero, Rectangle.One }; var rectGraph = new RangeGraph <Rectangle>(rectangles[1], rectangles[2]); rectGraph.SetValue(-1, rectangles[0]); Assert.AreEqual(rectangles, rectGraph.Values); }
public void ConvertCompleteVectorGraph() { var vectorList = new List<Vector3D>(new[] { Vector3D.Zero, Vector3D.One, Vector3D.UnitY }); var graphToConvert = new RangeGraph<Vector3D>(vectorList); var convertedString = converter.Convert(graphToConvert, typeof(string), null, null); var expectedString = "({" + vectorList[0] + "}, {" + vectorList[1] + "}, {" + vectorList[2] + "})"; Assert.AreEqual(expectedString, convertedString); }
public void InsertValueAfterIndexLeftOfMin() { var colors = new[] { Color.LightBlue, Color.Cyan, Color.Green }; var colorGraph = new RangeGraph <Color>(colors[1], colors[2]); colorGraph.AddValueAfter(-7, colors[0]); Assert.AreEqual(colors, colorGraph.Values); }
public void SetForce() { var emitter = new ParticleEmitter(GetEmitterData(spark, 512), Vector3D.Zero); var force = new RangeGraph <Vector3D>(Vector3D.One); emitter.EmitterData.Acceleration = force; Assert.AreEqual(force, emitter.EmitterData.Acceleration); }
public void ConvertCompleteSizeGraph() { var sizeList = new List<Size>(new[] { Size.Half, Size.One, Size.Zero, Size.Half }); var graphToConvert = new RangeGraph<Size>(sizeList); var convertedString = converter.Convert(graphToConvert, typeof(string), null, null); var expectedString = "({" + sizeList[0] + "}, {" + sizeList[1] + "}, {" + sizeList[2] + "}, {" + sizeList[3] + "})"; Assert.AreEqual(expectedString, convertedString); }
public void ConvertingBackReversesConverting() { var colorList = new List<Color>(new[] { Color.Black, Color.Red, Color.Green }); var initialGraph = new RangeGraph<Color>(colorList); var convertedString = converter.Convert(initialGraph, typeof(string), null, null); var retrievedGraph = (RangeGraph<Color>)converter.ConvertBack(convertedString, typeof(RangeGraph<Color>), null, null); Assert.AreEqual(initialGraph.Values, retrievedGraph.Values); }
public void ConvertCompleteColorGraph() { var colorList = new List <Color>(new[] { Color.Black, Color.Red, Color.Green }); var graphToConvert = new RangeGraph <Color>(colorList); var convertedString = converter.Convert(graphToConvert, typeof(string), null, null); var expectedString = "({" + colorList[0] + "}, {" + colorList[1] + "}, {" + colorList[2] + "})"; Assert.AreEqual(expectedString, convertedString); }
public void GetTrivialInterpolation() { var points = new List <Vector2D>(new[] { Vector2D.One }); var graph = new RangeGraph <Vector2D>(points); var interpolatedPointMiddle = graph.GetInterpolatedValue(0.3f); var expectedPointMiddle = Vector2D.One; Assert.AreEqual(expectedPointMiddle, interpolatedPointMiddle); }
public void ConvertCompleteVectorGraph() { var vectorList = new List <Vector3D>(new[] { Vector3D.Zero, Vector3D.One, Vector3D.UnitY }); var graphToConvert = new RangeGraph <Vector3D>(vectorList); var convertedString = converter.Convert(graphToConvert, typeof(string), null, null); var expectedString = "({" + vectorList[0] + "}, {" + vectorList[1] + "}, {" + vectorList[2] + "})"; Assert.AreEqual(expectedString, convertedString); }
public void ConvertToStringAndBackVector2D() { var rangeGraph = new RangeGraph <Vector2D>(Vector2D.UnitX, Vector2D.UnitY); var stringGraph = rangeGraph.ToString(); var retrievedRangeGraph = new RangeGraph <Vector2D>(stringGraph); Assert.AreEqual("({1, 0}, {0, 1})", stringGraph); Assert.AreEqual(rangeGraph.Values, retrievedRangeGraph.Values); }
public void RangeConstructor() { var colors = new List <Color> { Color.Red, Color.Orange, Color.Yellow }; var rangeGraph = new RangeGraph <Color>(colors); Assert.AreEqual(colors[0], rangeGraph.Start); Assert.AreEqual(colors[2], rangeGraph.End); }
public void ConvertCompleteSizeGraph() { var sizeList = new List <Size>(new[] { Size.Half, Size.One, Size.Zero, Size.Half }); var graphToConvert = new RangeGraph <Size>(sizeList); var convertedString = converter.Convert(graphToConvert, typeof(string), null, null); var expectedString = "({" + sizeList[0] + "}, {" + sizeList[1] + "}, {" + sizeList[2] + "}, {" + sizeList[3] + "})"; Assert.AreEqual(expectedString, convertedString); }
public void ConvertingBackReversesConverting() { var colorList = new List <Color>(new[] { Color.Black, Color.Red, Color.Green }); var initialGraph = new RangeGraph <Color>(colorList); var convertedString = converter.Convert(initialGraph, typeof(string), null, null); var retrievedGraph = (RangeGraph <Color>)converter.ConvertBack(convertedString, typeof(RangeGraph <Color>), null, null); Assert.AreEqual(initialGraph.Values, retrievedGraph.Values); }
public void ConvertToStringAndBackColors() { var rangeGraph = new RangeGraph <Color>(new[] { Color.Red, Color.Black, Color.Green }); var stringGraph = rangeGraph.ToString(); var retrievedGraph = new RangeGraph <Color>(stringGraph); Assert.AreEqual( "({R=255, G=0, B=0, A=255}, {R=0, G=0, B=0, A=255}, {R=0, G=255, B=0, A=255})", stringGraph); Assert.AreEqual(rangeGraph.Values, retrievedGraph.Values); }
public void AddColorsToGradient() { var colors = new List<Color>(new[] { Color.DarkGreen, Color.Red, Color.Orange, Color.Green}); var initiallySetColors = new List<Color>(new[] { colors[0], colors[2] }); var colorRanges = new RangeGraph<Color>(initiallySetColors); var gradient = new GradientGraph(new Rectangle(0.1f, 0.4f, 0.8f, 0.2f), colorRanges); gradient.AddValueAfter(1,colors[3]); gradient.AddValueBefore(1,colors[1]); Assert.AreEqual(colors.ToArray(), gradient.Values); }
public void ConvertBackCorrectString() { var colorList = new List<Color>(new[] { Color.Black, Color.Red, Color.Green }); var toConvert = "{" + colorList[0] + ", " + colorList[1] + ", " + colorList[2] + "}"; var retrieved = (RangeGraph<Color>) converter.ConvertBack(toConvert, typeof(RangeGraph<Color>), null, null); var expected = new RangeGraph<Color>(colorList); Assert.AreEqual(expected.Values, retrieved.Values); }
public void ConvertingBackReversesConverting() { var vectorList = new List<Vector3D>(new[] { Vector3D.Zero, Vector3D.One, Vector3D.UnitY }); var initialGraph = new RangeGraph<Vector3D>(vectorList); var convertedString = converter.Convert(initialGraph, typeof(string), null, null); var retrievedGraph = (RangeGraph<Vector3D>) converter.ConvertBack(convertedString, typeof(RangeGraph<Vector3D>), null, null); Assert.AreEqual(initialGraph.Values, retrievedGraph.Values); }
public void ConvertBackCorrectString() { var vectorList = new List<Vector3D>(new[] { Vector3D.Zero, Vector3D.One, Vector3D.UnitY }); var toConvert = "{" + vectorList[0] + ", " + vectorList[1] + ", " + vectorList[2] + "}"; var retrieved = (RangeGraph<Vector3D>) converter.ConvertBack(toConvert, typeof(RangeGraph<Vector3D>), null, null); var expected = new RangeGraph<Vector3D>(vectorList); Assert.AreEqual(expected.Values, retrieved.Values); }
public void SetValuesToSeveralGraphTypes() { var vectorGraph = new RangeGraph <Vector3D>(Vector3D.Zero, Vector3D.UnitZ); var colorGraph = new RangeGraph <Color>(Color.Red, Color.Orange); colorGraph.SetValue(1, Color.Gold); Assert.AreEqual(Vector3D.Zero, vectorGraph.Start); Assert.AreEqual(Vector3D.UnitZ, vectorGraph.Values[1]); Assert.AreEqual(Color.Gold, colorGraph.End); }
public void DrawGradientGraph() { var colors = new List<Color>(new[] { Color.DarkGreen, Color.Red, Color.Orange, Color.Green, Color.Black, Color.Gold, Color.PaleGreen }); var colorRanges = new RangeGraph<Color>(colors); new GradientGraph(new Rectangle(0.1f, 0.4f, 0.8f, 0.2f), colorRanges); }
public void ConvertingBackReversesConverting() { var sizeList = new List<Size>(new[] { Size.Half, Size.One, Size.Zero, Size.Half }); var initialGraph = new RangeGraph<Size>(sizeList); var convertedString = converter.Convert(initialGraph, typeof(string), null, null); var retrievedGraph = (RangeGraph<Size>) converter.ConvertBack(convertedString, typeof(RangeGraph<Vector3D>), null, null); Assert.AreEqual(initialGraph.Values, retrievedGraph.Values); }
public void ConvertingFromInvalidStringThrows() { var rangeGraph = new RangeGraph <Color>(new[] { Color.Red, Color.Black, Color.Green }); var stringGraph = rangeGraph.ToString(); Assert.Throws <Range <Vector3D> .TypeInStringNotEqualToInitializedType>( () => { new RangeGraph <Vector3D>(stringGraph); }); Assert.Throws <Range <Vector3D> .InvalidStringFormat>( () => { new RangeGraph <Vector3D>("rect, 123, que?"); }); }
public void DrawGradientGraph() { var colors = new List <Color>(new[] { Color.DarkGreen, Color.Red, Color.Orange, Color.Green, Color.Black, Color.Gold, Color.PaleGreen }); var colorRanges = new RangeGraph <Color>(colors); new GradientGraph(new Rectangle(0.1f, 0.4f, 0.8f, 0.2f), colorRanges); }
public void ConvertCompleteValueRangeGraph() { var valueRangeList = new List<ValueRange>(new[] { new ValueRange(0.0f, 1.0f), new ValueRange(0.5f, 0.75f), new ValueRange(1.0f, 2.0f) }); var graphToConvert = new RangeGraph<ValueRange>(valueRangeList); var convertedString = converter.Convert(graphToConvert, typeof(string), null, null); var expectedString = "({" + valueRangeList[0] + "}, {" + valueRangeList[1] + "}, {" + valueRangeList[2] + "})"; Assert.AreEqual(expectedString, convertedString); }
public void ConvertBackCorrectString() { var sizeList = new List<Size>(new[] { Size.Half, Size.One, Size.Zero, Size.Half }); var toConvert = "{" + sizeList[0] + ", " + sizeList[1] + ", " + sizeList[2] + ", " + sizeList[3] + "}"; var retrieved = (RangeGraph<Size>) converter.ConvertBack(toConvert, typeof(RangeGraph<Vector3D>), null, null); var expected = new RangeGraph<Size>(sizeList); Assert.AreEqual(expected.Values, retrieved.Values); }
public void ConvertBackCorrectString() { var colorList = new List <Color>(new[] { Color.Black, Color.Red, Color.Green }); var toConvert = "{" + colorList[0] + ", " + colorList[1] + ", " + colorList[2] + "}"; var retrieved = (RangeGraph <Color>) converter.ConvertBack(toConvert, typeof(RangeGraph <Color>), null, null); var expected = new RangeGraph <Color>(colorList); Assert.AreEqual(expected.Values, retrieved.Values); }
public void ConvertBackCorrectString() { var vectorList = new List <Vector3D>(new[] { Vector3D.Zero, Vector3D.One, Vector3D.UnitY }); var toConvert = "{" + vectorList[0] + ", " + vectorList[1] + ", " + vectorList[2] + "}"; var retrieved = (RangeGraph <Vector3D>) converter.ConvertBack(toConvert, typeof(RangeGraph <Vector3D>), null, null); var expected = new RangeGraph <Vector3D>(vectorList); Assert.AreEqual(expected.Values, retrieved.Values); }
public void ConvertingBackReversesConverting() { var vectorList = new List <Vector3D>(new[] { Vector3D.Zero, Vector3D.One, Vector3D.UnitY }); var initialGraph = new RangeGraph <Vector3D>(vectorList); var convertedString = converter.Convert(initialGraph, typeof(string), null, null); var retrievedGraph = (RangeGraph <Vector3D>) converter.ConvertBack(convertedString, typeof(RangeGraph <Vector3D>), null, null); Assert.AreEqual(initialGraph.Values, retrievedGraph.Values); }
public void AddColorsToGradient() { var colors = new List <Color>(new[] { Color.DarkGreen, Color.Red, Color.Orange, Color.Green }); var initiallySetColors = new List <Color>(new[] { colors[0], colors[2] }); var colorRanges = new RangeGraph <Color>(initiallySetColors); var gradient = new GradientGraph(new Rectangle(0.1f, 0.4f, 0.8f, 0.2f), colorRanges); gradient.AddValueAfter(1, colors[3]); gradient.AddValueBefore(1, colors[1]); Assert.AreEqual(colors.ToArray(), gradient.Values); }
public void ConvertingBackReversesConverting() { var sizeList = new List <Size>(new[] { Size.Half, Size.One, Size.Zero, Size.Half }); var initialGraph = new RangeGraph <Size>(sizeList); var convertedString = converter.Convert(initialGraph, typeof(string), null, null); var retrievedGraph = (RangeGraph <Size>) converter.ConvertBack(convertedString, typeof(RangeGraph <Vector3D>), null, null); Assert.AreEqual(initialGraph.Values, retrievedGraph.Values); }
public void InsertValuesInTheMiddle() { var points = new[] { Vector2D.Zero, Vector2D.UnitX, Vector2D.UnitY, Vector2D.UnitY, Vector2D.One }; var pointGraph = new RangeGraph <Vector2D>(points[0], points[4]); pointGraph.AddValueAfter(0, points[2]); pointGraph.AddValueAfter(1, points[3]); pointGraph.AddValueBefore(1, points[1]); Assert.AreEqual(points, pointGraph.Values); }
public void ConvertBackCorrectString() { var sizeList = new List <Size>(new[] { Size.Half, Size.One, Size.Zero, Size.Half }); var toConvert = "{" + sizeList[0] + ", " + sizeList[1] + ", " + sizeList[2] + ", " + sizeList[3] + "}"; var retrieved = (RangeGraph <Size>) converter.ConvertBack(toConvert, typeof(RangeGraph <Vector3D>), null, null); var expected = new RangeGraph <Size>(sizeList); Assert.AreEqual(expected.Values, retrieved.Values); }
public void ConvertCompleteValueRangeGraph() { var valueRangeList = new List <ValueRange>(new[] { new ValueRange(0.0f, 1.0f), new ValueRange(0.5f, 0.75f), new ValueRange(1.0f, 2.0f) }); var graphToConvert = new RangeGraph <ValueRange>(valueRangeList); var convertedString = converter.Convert(graphToConvert, typeof(string), null, null); var expectedString = "({" + valueRangeList[0] + "}, {" + valueRangeList[1] + "}, {" + valueRangeList[2] + "})"; Assert.AreEqual(expectedString, convertedString); }
public void ConvertingBackReversesConverting() { var ValueRangeList = new List<ValueRange>(new[] { new ValueRange(0.0f, 1.0f), new ValueRange(0.5f, 0.75f), new ValueRange(1.0f, 2.0f) }); var initialGraph = new RangeGraph<ValueRange>(ValueRangeList); var convertedString = converter.Convert(initialGraph, typeof(string), null, null); var retrievedGraph = (RangeGraph<ValueRange>) converter.ConvertBack(convertedString, typeof(RangeGraph<Vector3D>), null, null); Assert.AreEqual(initialGraph.Values, retrievedGraph.Values); }
public void GraphOfRanges() { var ranges = new[] { new Range<Color>(Color.Red, Color.Orange), new Range<Color>(Color.Orange, Color.Gold), new Range<Color>(Color.Gold, Color.Yellow) }; var rangesGraph = new RangeGraph<Range<Color>>(ranges[0], ranges[2]); rangesGraph.AddValueAfter(0, ranges[1]); Assert.AreEqual(ranges, rangesGraph.Values); Assert.IsTrue(rangesGraph.ToString().StartsWith("(")); }
public void ConvertBackCorrectString() { var ValueRangeList = new List<ValueRange>(new[] { new ValueRange(0.0f, 1.0f), new ValueRange(0.5f, 0.75f), new ValueRange(1.0f, 2.0f) }); var toConvert = "{" + ValueRangeList[0] + ", " + ValueRangeList[1] + ", " + ValueRangeList[2] + "}"; var retrieved = (RangeGraph<ValueRange>) converter.ConvertBack(toConvert, typeof(RangeGraph<Vector3D>), null, null); var expected = new RangeGraph<ValueRange>(ValueRangeList); Assert.AreEqual(expected.Values, retrieved.Values); }
public void ConvertingBackReversesConverting() { var ValueRangeList = new List <ValueRange>(new[] { new ValueRange(0.0f, 1.0f), new ValueRange(0.5f, 0.75f), new ValueRange(1.0f, 2.0f) }); var initialGraph = new RangeGraph <ValueRange>(ValueRangeList); var convertedString = converter.Convert(initialGraph, typeof(string), null, null); var retrievedGraph = (RangeGraph <ValueRange>) converter.ConvertBack(convertedString, typeof(RangeGraph <Vector3D>), null, null); Assert.AreEqual(initialGraph.Values, retrievedGraph.Values); }
public ParticleEmitterData() : base("<GeneratedParticleEmitterData>") { StartVelocity = new RangeGraph<Vector3D>(Vector3D.Zero, Vector3D.Zero); Acceleration = new RangeGraph<Vector3D>(Vector3D.Zero, Vector3D.Zero); Size = new RangeGraph<Size>(new Size(), new Size()); Color = new RangeGraph<Color>(Datatypes.Color.White, Datatypes.Color.White); PositionType = ParticleEmitterPositionType.Point; StartPosition = new RangeGraph<Vector3D>(Vector3D.Zero, Vector3D.Zero); StartRotation = new RangeGraph<ValueRange>(new ValueRange(0.0f), new ValueRange(0.0f)); RotationSpeed = new RangeGraph<ValueRange>(new ValueRange(0.0f), new ValueRange(0.0f)); ParticlesPerSpawn = new RangeGraph<ValueRange>(new ValueRange(1, 1), new ValueRange(1, 1)); }
public void GetInterpolation() { var points = new List<Vector2D>(new[] { Vector2D.Zero, Vector2D.UnitX, Vector2D.UnitY, Vector2D.UnitY, Vector2D.One }); var graph = new RangeGraph<Vector2D>(points); var interpolatedPointMiddle = graph.GetInterpolatedValue(0.3f); var expectedPointMiddle = points[1].Lerp(points[2], 4 * 0.3f - 1); var interpolatedPointEnd = graph.GetInterpolatedValue(1.0f); var expectedPointEnd = points[4]; var interpolatedPointStart = graph.GetInterpolatedValue(0.0f); var expectedPointStart = points[0]; Assert.AreEqual(expectedPointMiddle, interpolatedPointMiddle); Assert.AreEqual(expectedPointStart, interpolatedPointStart); Assert.AreEqual(expectedPointEnd, interpolatedPointEnd); }
public void ConvertingFromInvalidStringThrows() { var rangeGraph = new RangeGraph<Color>(new[] { Color.Red, Color.Black, Color.Green }); var stringGraph = rangeGraph.ToString(); Assert.Throws<Range<Vector3D>.TypeInStringNotEqualToInitializedType>( () => { new RangeGraph<Vector3D>(stringGraph); }); Assert.Throws<Range<Vector3D>.InvalidStringFormat>( () => { new RangeGraph<Vector3D>("rect, 123, que?"); }); }
public void SetStart() { var rangeGraph = new RangeGraph<Vector2D>(Vector2D.UnitX, Vector2D.UnitY); rangeGraph.Start = Vector2D.One; Assert.AreEqual(Vector2D.One, rangeGraph.Start); }
public void SingleConstructor() { var rangeGraph = new RangeGraph<Vector2D>(Vector2D.UnitX); Assert.AreEqual(Vector2D.UnitX, rangeGraph.Start); Assert.AreEqual(Vector2D.UnitX, rangeGraph.End); }
public void SaveRangeGraph() { var range = new RangeGraph<Vector2D>(Vector2D.Zero, new Vector2D(3.0f, 3.0f)); var data = BinaryDataExtensions.SaveToMemoryStream(range); Assert.AreEqual(68, data.Length); }
public void InsertValueBeforeIndexRightOfMax() { var colors = new[] { Color.Red, Color.Orange, Color.Yellow }; var colorGraph = new RangeGraph<Color>(colors[0], colors[1]); colorGraph.AddValueBefore(5, colors[2]); Assert.AreEqual(colors, colorGraph.Values); }
public GradientGraph(Rectangle drawArea, RangeGraph<Color> colorRanges) : base(drawArea) { colorIntervals = colorRanges; UpdateDrawingToRanges(); }
public void SmokeAndWind() { window.BackgroundColor = new Color(40, 64, 20); var defaultForce = new RangeGraph<Vector3D>(Vector3D.Zero); var windForce = new RangeGraph<Vector3D>(new Vector3D(-0.5f, -0.01f, 0.0f), new Vector3D(-1.0f, 0.01f, 0.0f)); var emitterData = GetEmitterData(spark, 256, 2.0f); emitterData.Color = new RangeGraph<Color>(Color.White, Color.Transparent(Color.DarkGray)); emitterData.Size = new RangeGraph<Size>(new Size(0.05f), new Size(0.2f)); emitterData.Acceleration = defaultForce; emitterData.StartVelocity = new RangeGraph<Vector3D>(new Vector3D(0.0f, 0.0f, 0.35f), new Vector3D(0.1f, 0.1f, 0.1f)); var emitter = new ParticleEmitter(emitterData, Vector3D.Zero); new Command(() => emitter.EmitterData.Acceleration = windForce).Add(new KeyTrigger(Key.Space)); new Command(() => emitter.EmitterData.Acceleration = defaultForce).Add( new KeyTrigger(Key.Space, State.Releasing)); }
public void SetForce() { var emitter = new ParticleEmitter(GetEmitterData(spark, 512), Vector3D.Zero); var force = new RangeGraph<Vector3D>(Vector3D.One); emitter.EmitterData.Acceleration = force; Assert.AreEqual(force, emitter.EmitterData.Acceleration); }
protected override void LoadData(Stream fileData) { var emitterData = (ParticleEmitterData)new BinaryReader(fileData).Create(); SpawnInterval = emitterData.SpawnInterval; LifeTime = emitterData.LifeTime; MaximumNumberOfParticles = emitterData.MaximumNumberOfParticles; StartVelocity = emitterData.StartVelocity; Acceleration = emitterData.Acceleration; Size = emitterData.Size; StartRotation = emitterData.StartRotation; Color = emitterData.Color; ParticleMaterial = emitterData.ParticleMaterial; ParticlesPerSpawn = emitterData.ParticlesPerSpawn; RotationSpeed = emitterData.RotationSpeed; PositionType = emitterData.PositionType; StartPosition = emitterData.StartPosition; ParticlesPerSpawn = emitterData.ParticlesPerSpawn; DoParticlesTrackEmitter = emitterData.DoParticlesTrackEmitter; }
public void SetEnd() { var rangeGraph = new RangeGraph<Vector2D>(Vector2D.UnitX, Vector2D.UnitY); rangeGraph.End = Vector2D.One; Assert.AreEqual(Vector2D.One, rangeGraph.End); }