package com.revolsys.geometry.test.function; import java.util.List; import com.revolsys.geometry.model.BoundingBox; import com.revolsys.geometry.model.Geometry; import com.revolsys.geometry.model.GeometryFactory; import com.revolsys.geometry.model.impl.BoundingBoxDoubleXY; public class FunctionsUtil { public static final BoundingBox DEFAULT_ENVELOPE = new BoundingBoxDoubleXY(0, 0, 100, 100); public static Geometry buildGeometry(final List geoms, final Geometry parentGeom) { if (geoms.size() <= 0) { return null; } if (geoms.size() == 1) { return (Geometry)geoms.get(0); } // if parent was a GC, ensure returning a GC if (parentGeom.getGeometryType().equals("GeometryCollection")) { return parentGeom.getGeometryFactory().geometryCollection(geoms); } // otherwise return MultiGeom return parentGeom.getGeometryFactory().buildGeometry(geoms); } public static BoundingBox getEnvelopeOrDefault(final Geometry g) { if (g == null) { return DEFAULT_ENVELOPE; } else { return g.getBoundingBox(); } } public static GeometryFactory getFactoryOrDefault(final Geometry g) { if (g == null) { return GeometryFactory.DEFAULT_3D; } else { return g.getGeometryFactory(); } } }