/** * Constructor for deserialization. * @param planetModel is the planet model. * @param inputStream is the input stream. */ public GeoDegeneratePath(final PlanetModel planetModel, final InputStream inputStream) throws IOException { this(planetModel, SerializableObject.readPointArray(planetModel, inputStream)); }
private static List<List<GeoPoint>> readPointsList(final PlanetModel planetModel, final InputStream inputStream) throws IOException { final int count = SerializableObject.readInt(inputStream); final List<List<GeoPoint>> array = new ArrayList<>(count); for (int i = 0; i < count; i++) { array.add(java.util.Arrays.asList(SerializableObject.readPointArray(planetModel, inputStream))); } return array; }
/** * Constructor for deserialization. * @param planetModel is the planet model. * @param inputStream is the input stream. */ public GeoStandardPath(final PlanetModel planetModel, final InputStream inputStream) throws IOException { this(planetModel, SerializableObject.readDouble(inputStream), SerializableObject.readPointArray(planetModel, inputStream)); }
/** * Constructor for deserialization. * @param planetModel is the planet model. * @param inputStream is the input stream. */ public GeoConvexPolygon(final PlanetModel planetModel, final InputStream inputStream) throws IOException { super(planetModel); this.points = java.util.Arrays.asList(SerializableObject.readPointArray(planetModel, inputStream)); final List<GeoPolygon> holes = java.util.Arrays.asList(SerializableObject.readPolygonArray(planetModel, inputStream)); if (holes != null && holes.size() == 0) { this.holes = null; } else { this.holes = holes; } this.isInternalEdges = SerializableObject.readBitSet(inputStream); done(this.isInternalEdges.get(points.size()-1)); }
/** * Constructor for deserialization. * @param planetModel is the planet model. * @param inputStream is the input stream. */ public GeoConcavePolygon(final PlanetModel planetModel, final InputStream inputStream) throws IOException { super(planetModel); this.points = java.util.Arrays.asList(SerializableObject.readPointArray(planetModel, inputStream)); final List<GeoPolygon> holes = java.util.Arrays.asList(SerializableObject.readPolygonArray(planetModel, inputStream)); if (holes != null && holes.size() == 0) { this.holes = null; } else { this.holes = holes; } this.isInternalEdges = SerializableObject.readBitSet(inputStream); done(this.isInternalEdges.get(points.size()-1)); }