public static PolyhedralSurface readPolyhedralSurface(ByteReader reader,
			boolean hasZ, boolean hasM) {
    """
	Read a Polyhedral Surface
	
	@param reader
	@param hasZ
	@param hasM
	@return polyhedral surface
    """

		PolyhedralSurface polyhedralSurface = new PolyhedralSurface(hasZ, hasM);

		int numPolygons = reader.readInt();

		for (int i = 0; i < numPolygons; i++) {
			Polygon polygon = readGeometry(reader, Polygon.class);
			polyhedralSurface.addPolygon(polygon);

		}

		return polyhedralSurface;
	}
public static PolyhedralSurface readPolyhedralSurface(ByteReader reader,
			boolean hasZ, boolean hasM) {

		PolyhedralSurface polyhedralSurface = new PolyhedralSurface(hasZ, hasM);

		int numPolygons = reader.readInt();

		for (int i = 0; i < numPolygons; i++) {
			Polygon polygon = readGeometry(reader, Polygon.class);
			polyhedralSurface.addPolygon(polygon);

		}

		return polyhedralSurface;
	}
public static PolyhedralSurface readPolyhedralSurface ( ByteReader reader , boolean hasZ , boolean hasM ) { PolyhedralSurface polyhedralSurface = new PolyhedralSurface ( hasZ , hasM ) ; int numPolygons = reader . readInt ( ) ; for ( int i = 0 ; i < numPolygons ; i ++ ) { Polygon polygon = readGeometry ( reader , Polygon . class ) ; polyhedralSurface . addPolygon ( polygon ) ; } return polyhedralSurface ; }
Read a Polyhedral Surface

@param reader
@param hasZ
@param hasM
@return polyhedral surface
Read a Polyhedral Surface