@Override public void accept(PositionVisitor<P> visitor) { for (PositionSequence<P> child : getChildren()) { child.accept(visitor); } }
@Override public void accept(LLAPositionVisitor visitor) { for (PositionSequence<P> child : getChildren()) { child.accept(visitor); } }
private <P extends Position> void addToBuilder(PositionSequence<P> seq, int skip, PositionSequenceBuilder<P> builder, CombiningVisitor<P> visitor) { if (skip == 0) { seq.accept(visitor); } else { for (P pos : seq) { if (skip-- <= 0) { builder.add(pos); } } } }
@Override public Double execute() { if (geometry == null) { throw new IllegalArgumentException("Operation expects a non-empty geometry"); } if (geometry.isEmpty()) { return Double.NaN; } FindExtremumMeasureVisitor<P> visitor = new FindExtremumMeasureVisitor<P>(min); geometry.getPositions().accept(visitor); return visitor.extremum; } };
protected Double[] convertPositionSequence(PositionSequence<?> coordinates) { int dim = coordinates.getCoordinateDimension(); if (dim > 4) { throw new IllegalArgumentException("Dim parameter value cannot be greater than 4"); } final Double[] converted = new Double[coordinates.size() * dim]; LLAPositionVisitor visitor = new ToArrayVisitor(converted); coordinates.accept(visitor); return converted; }
/** * Returns the {@code Envelope} of this instance. * @return the {@code Envelope} of this instance. */ public Envelope<P> getEnvelope() { if (isEmpty()) return new Envelope<P>(getCoordinateReferenceSystem()); PositionSequence<P> positions = getPositions(); EnvelopeVisitor<P> visitor = new EnvelopeVisitor<P>(getCoordinateReferenceSystem()); positions.accept(visitor); return visitor.result(); }
source.accept( visitor ); return builder.toPositionSequence();