QuadrantMode.java

package com.varnernet.gerb4j;

/**
 * Quadrant mode for circular interpolation (G74 / G75).
 *
 * <p>G74 selects <em>single-quadrant</em> mode, where arcs must not exceed 90° and the signs of the
 * I/J offsets encode which quadrant the arc centre lies in. G75 selects <em>multi-quadrant</em>
 * mode (the default since Gerber X2), where arcs may span any angle and I/J are signed offsets from
 * the start point to the centre.
 *
 * <p>See Ucamco Gerber Format Specification §4.7.
 */
public enum QuadrantMode {
    /**
     * G74 — single-quadrant mode (arcs ≤ 90°, I/J sign encodes quadrant).
     */
    SINGLE,
    /**
     * G75 — multi-quadrant mode (arcs may span 0–360°, I/J are signed offsets).
     */
    MULTI
}