package com.revolsys.elevation.tin;
import java.util.Map;
import com.revolsys.io.ReadIoFactory;
import com.revolsys.spring.resource.Resource;
public interface TriangulatedIrregularNetworkReadFactory extends ReadIoFactory {
default void forEachTriangle(final Resource resource,
final Map<String, ? extends Object> properties, final TriangleConsumer action) {
final TriangulatedIrregularNetwork tin = newTriangulatedIrregularNetwork(resource, properties);
tin.forEachTriangle((triangle) -> {
final double x1 = triangle.getX(0);
final double y1 = triangle.getY(0);
final double z1 = triangle.getZ(0);
final double z2 = triangle.getZ(1);
final double x2 = triangle.getX(1);
final double y2 = triangle.getY(1);
final double x3 = triangle.getX(2);
final double y3 = triangle.getY(2);
final double z3 = triangle.getZ(2);
action.accept(x1, y1, z1, x2, y2, z2, x3, y3, z3);
});
}
TriangulatedIrregularNetwork newTriangulatedIrregularNetwork(Resource resource,
Map<String, ? extends Object> properties);
}