Exemplo n.º 1
0
        /// <summary>
        /// Writes the value expressed as a <c>stripeOrientation</c>, which is the orientation of stripes in the stripe material.
        /// </summary>
        /// <param name="value">The orientation.</param>
        public void WriteStripeOrientation(CesiumStripeOrientation value)
        {
            const string PropertyName = StripeOrientationPropertyName;

            if (ForceInterval)
            {
                OpenIntervalIfNecessary();
            }
            if (IsInterval)
            {
                Output.WritePropertyName(PropertyName);
            }
            Output.WriteValue(CesiumFormattingHelper.StripeOrientationToString(value));
        }
        public void TestStripeOrientationToString(CesiumStripeOrientation value)
        {
            string s = CesiumFormattingHelper.StripeOrientationToString(value);

            Assert.IsNotNull(s);
        }
        public void TestWriteStripeMaterial()
        {
            var          expectedEvenColor = Color.Red;
            var          expectedOddColor  = Color.Blue;
            const double expectedOffset    = 1.5;
            const CesiumStripeOrientation expectedOrientation = CesiumStripeOrientation.Vertical;
            const double expectedRepeat = 3.5;

            using (Packet)
                using (var polyline = Packet.OpenPolylineProperty())
                    using (var material = polyline.OpenMaterialProperty())
                        using (var stripeMaterial = material.OpenStripeProperty())
                        {
                            stripeMaterial.WriteEvenColorProperty(expectedEvenColor);
                            stripeMaterial.WriteOddColorProperty(expectedOddColor);
                            stripeMaterial.WriteOffsetProperty(expectedOffset);
                            stripeMaterial.WriteOrientationProperty(expectedOrientation);
                            stripeMaterial.WriteRepeatProperty(expectedRepeat);
                        }

            AssertExpectedJson(PacketCesiumWriter.PolylinePropertyName, new Dictionary <string, object>
            {
                {
                    PolylineCesiumWriter.MaterialPropertyName, new Dictionary <string, object>
                    {
                        {
                            PolylineMaterialCesiumWriter.StripePropertyName, new Dictionary <string, object>
                            {
                                { StripeMaterialCesiumWriter.EvenColorPropertyName, expectedEvenColor },
                                { StripeMaterialCesiumWriter.OddColorPropertyName, expectedOddColor },
                                { StripeMaterialCesiumWriter.OffsetPropertyName, expectedOffset },
                                { StripeMaterialCesiumWriter.OrientationPropertyName, CesiumFormattingHelper.StripeOrientationToString(expectedOrientation) },
                                { StripeMaterialCesiumWriter.RepeatPropertyName, expectedRepeat },
                            }
                        },
                    }
                }
            });
        }