/** * Gets the segment forming the base of the minimum diameter * * @return the segment forming the base of the minimum diameter */ LineString* MinimumDiameter::getSupportingSegment() { computeMinimumDiameter(); const GeometryFactory *fact = inputGeom->getFactory(); CoordinateSequence* cl=fact->getCoordinateSequenceFactory()->create(); cl->add(minBaseSeg->p0); cl->add(minBaseSeg->p1); return fact->createLineString(cl); }
/** * Gets a LineString which is a minimum diameter * * @return a LineString which is a minimum diameter */ LineString* MinimumDiameter::getDiameter() { computeMinimumDiameter(); // return empty linestring if no minimum width calculated if (minWidthPt==NULL) return inputGeom->getFactory()->createLineString(NULL); Coordinate* basePt=minBaseSeg->project(*minWidthPt); CoordinateSequence* cl=inputGeom->getFactory()->getCoordinateSequenceFactory()->create(NULL); cl->add(*basePt); cl->add(*minWidthPt); delete basePt; return inputGeom->getFactory()->createLineString(cl); }
/** * Gets the {@link Coordinate} forming one end of the minimum diameter * * @return a coordinate forming one end of the minimum diameter */ Coordinate* MinimumDiameter::getWidthCoordinate() { computeMinimumDiameter(); return minWidthPt; }
/** * Gets the length of the minimum diameter of the input Geometry * * @return the length of the minimum diameter */ double MinimumDiameter::getLength() { computeMinimumDiameter(); return minWidth; }