private void drawHorizontalPole(Target<?> target, double elevation,
double diameter, double width) {
double half = diameter / 2;
VectorXZ ortho = direction.rightNormal();
// TODO: if we can switch off backface culling we'd only need one face here
VectorXZ[][] draw = new VectorXZ[][] {
getPoleCoordinates(node.getPos().add(direction.mult(-half)), ortho, width, half),
getPoleCoordinates(node.getPos().add(direction.mult(-half)), ortho.invert(), width, half),
getPoleCoordinates(node.getPos().add(direction.mult(half)), ortho.invert(), width, half),
getPoleCoordinates(node.getPos().add(direction.mult(half)), ortho, width, half)
};
for (int i = 0; i < 4; i++) {
drawHorizontalSegment(target, draw[i][0], draw[i][1], elevation, 0.1, diameter/2);