Ejemplo n.º 1
0
 /// <summary>
 /// Writes a value for the <c>image</c> property as a <c>uri</c> value.  The <c>image</c> property specifies the image to display on the surface.
 /// </summary>
 /// <param name="resource">A resource object describing external data.</param>
 public void WriteImageProperty(CesiumResource resource)
 {
     using (var writer = OpenImageProperty())
     {
         writer.WriteUri(resource);
     }
 }
Ejemplo n.º 2
0
        public HttpResponseMessage Get()
        {
            StringWriter sw = new StringWriter();

            CesiumOutputStream output = new CesiumOutputStream(sw);
            CesiumStreamWriter czmlWriter = new CesiumStreamWriter();

            output.WriteStartSequence();

            using (var entity = czmlWriter.OpenPacket(output))
            {
                entity.WriteId("document");
                entity.WriteVersion("1.0");
            }

            for (int lat = 0; lat < 60; lat = lat + 5)
            {
                for (int lon = 0; lon < 100; lon = lon + 5)
                {
                    using (var entity = czmlWriter.OpenPacket(output))
                    {
                        entity.WriteId("facility_" + lat.ToString() + "_" + lon.ToString());
                        entity.WriteName("facility_" + lat.ToString() + "_" + lon.ToString());
                        entity.WritePositionPropertyCartographicDegrees(new Cartographic(lon, lat, 100));

                        using (var billboard = entity.OpenBillboardProperty())
                        {
                            Uri uri = new Uri("http://localhost:64225/Data/Facility.png");
                            CesiumResource resource = new CesiumResource(uri, CesiumResourceBehavior.LinkTo);
                            billboard.WriteImageProperty(resource);
                        }

                        using (var label = entity.OpenLabelProperty())
                        {
                            label.WriteTextProperty("facility_" + lat.ToString() + "_" + lon.ToString());
                            label.WriteHorizontalOriginProperty(CesiumHorizontalOrigin.Left);
                            label.WriteVerticalOriginProperty(CesiumVerticalOrigin.Bottom);
                        }

                        using (var model = entity.OpenModelProperty())
                        {
                            model.WriteGltfProperty(new CesiumResource(
                                new Uri("http://localhost:64225/Data/Cesium_Man.bgltf"),
                                CesiumResourceBehavior.LinkTo));
                            model.WriteScaleProperty(500000);
                        }
                    }
                }
            }

            output.WriteEndSequence();

            var response = Request.CreateResponse();
            response.StatusCode = HttpStatusCode.OK;
            response.Content = new StringContent(sw.ToString(), System.Text.Encoding.UTF8, "application/json");

            return response;
        }
Ejemplo n.º 3
0
 /// <summary>
 /// Writes the <code>uri</code> property.  The <code>uri</code> property specifies the URI value.
 /// </summary>
 /// <param name="resource">A resource object describing external data.</param>
 public void WriteUri(CesiumResource resource)
 {
     WriteUri(resource.Uri, resource.Behavior);
 }
Ejemplo n.º 4
0
 /// <summary>
 /// Writes the <code>image</code> property.  The <code>image</code> property specifies the URL of the image.
 /// </summary>
 /// <param name="resource">A resource object describing the image.</param>
 public void WriteImage(CesiumResource resource)
 {
     WriteImage(resource.Url, resource.Behavior);
 }