// 
// Decompiled by Procyon v0.6.0
// 

package com.hypixel.hytale.procedurallib.logic.point;

import com.hypixel.hytale.procedurallib.logic.ResultBuffer;

public interface IPointGenerator
{
    ResultBuffer.ResultBuffer2d nearest2D(final int p0, final double p1, final double p2);
    
    ResultBuffer.ResultBuffer3d nearest3D(final int p0, final double p1, final double p2, final double p3);
    
    ResultBuffer.ResultBuffer2d transition2D(final int p0, final double p1, final double p2);
    
    ResultBuffer.ResultBuffer3d transition3D(final int p0, final double p1, final double p2, final double p3);
    
    void collect(final int p0, final double p1, final double p2, final double p3, final double p4, final PointConsumer2d p5);
    
    double getInterval();
    
    @FunctionalInterface
    public interface PointConsumer2d
    {
        void accept(final double p0, final double p1);
    }
}
