Ejemplo n.º 1
0
 /// <summary>
 /// Writes the czml packet of the given coordinate in the series.
 /// </summary>
 /// <param name="index">The index of the coordinate to write as a packet.</param>
 public void WritePacket(int index)
 {
     if (index < m_coordinates.Length)
     {
         using (PacketCesiumWriter packetWriter = m_document.CesiumStreamWriter.OpenPacket(m_document.CesiumOutputStream))
         {
             packetWriter.WriteId(m_id + index);
             using (PolylineCesiumWriter polyline = packetWriter.OpenPolylineProperty())
             {
                 polyline.WriteColorProperty(ColorFromHSV(0.6 - (m_coordinates[index].Height * 0.5), 1.0, 1.0));
             }
             using (PositionListCesiumWriter vertexPositions = packetWriter.OpenVertexPositionsProperty())
             {
                 Cartographic[] positions = new Cartographic[] {
                     new Cartographic(m_coordinates[index].Longitude, m_coordinates[index].Latitude, 0.0),
                     new Cartographic(m_coordinates[index].Longitude, m_coordinates[index].Latitude, m_coordinates[index].Height * m_scalar)
                 };
                 vertexPositions.WriteCartographicDegrees(positions);
             }
         }
     }
 }