i_overlay 6.0.0

Boolean Operations for 2D Polygons: Supports intersection, union, difference, xor, and self-intersections for all polygon varieties.
Documentation
{
  "xor" : [
    [
      [
        [
          [
            -4,
            -2
          ],
          [
            0,
            -1
          ],
          [
            1,
            -2
          ],
          [
            -1,
            -3
          ]
        ]
      ],
      [
        [
          [
            -1,
            5
          ],
          [
            4,
            4
          ],
          [
            2,
            3
          ],
          [
            5,
            2
          ],
          [
            2,
            0
          ],
          [
            2,
            -1
          ],
          [
            0,
            -1
          ]
        ]
      ],
      [
        [
          [
            1,
            -3
          ],
          [
            1,
            -2
          ],
          [
            2,
            -1
          ]
        ]
      ]
    ]
  ],
  "clip" : [
    [
      [
        [
          [
            -4,
            -2
          ],
          [
            0,
            -1
          ],
          [
            2,
            -1
          ],
          [
            1,
            -2
          ],
          [
            -1,
            -3
          ]
        ]
      ],
      [
        [
          [
            2,
            0
          ],
          [
            2,
            3
          ],
          [
            5,
            2
          ]
        ]
      ]
    ]
  ],
  "clipPaths" : [
    [
      [
        5,
        2
      ],
      [
        -1,
        -3
      ],
      [
        -4,
        -2
      ],
      [
        2,
        -1
      ],
      [
        2,
        3
      ]
    ]
  ],
  "subjPaths" : [
    [
      [
        -1,
        5
      ],
      [
        1,
        -4
      ],
      [
        3,
        5
      ],
      [
        1,
        -3
      ],
      [
        4,
        4
      ]
    ]
  ],
  "fillRule" : 1,
  "difference" : [
    [
      [
        [
          [
            -1,
            5
          ],
          [
            4,
            4
          ],
          [
            2,
            3
          ],
          [
            2,
            -1
          ],
          [
            0,
            -1
          ]
        ]
      ],
      [
        [
          [
            1,
            -3
          ],
          [
            1,
            -2
          ],
          [
            2,
            -1
          ]
        ]
      ]
    ]
  ],
  "inverseDifference" : [
    [
      [
        [
          [
            -4,
            -2
          ],
          [
            0,
            -1
          ],
          [
            1,
            -2
          ],
          [
            -1,
            -3
          ]
        ]
      ],
      [
        [
          [
            2,
            0
          ],
          [
            2,
            3
          ],
          [
            5,
            2
          ]
        ]
      ]
    ]
  ],
  "intersect" : [
    [
      [
        [
          [
            0,
            -1
          ],
          [
            2,
            -1
          ],
          [
            1,
            -2
          ]
        ]
      ]
    ]
  ],
  "subject" : [
    [
      [
        [
          [
            -1,
            5
          ],
          [
            4,
            4
          ],
          [
            2,
            3
          ],
          [
            2,
            -1
          ],
          [
            1,
            -3
          ],
          [
            1,
            -2
          ],
          [
            0,
            -1
          ]
        ]
      ]
    ]
  ],
  "union" : [
    [
      [
        [
          [
            -4,
            -2
          ],
          [
            0,
            -1
          ],
          [
            -1,
            5
          ],
          [
            4,
            4
          ],
          [
            2,
            3
          ],
          [
            5,
            2
          ],
          [
            2,
            0
          ],
          [
            2,
            -1
          ],
          [
            1,
            -3
          ],
          [
            1,
            -2
          ],
          [
            -1,
            -3
          ]
        ]
      ]
    ]
  ]
}