/// <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); } } } }