Manipulating geometries is one of the most important and - due to ambiguous data representation and interpretation see Section 2.1.2 - most difficult tasks that have to be performed by TCAD tools. A central geometry-handling facility is therefore a must for any TCAD framework. The G2S (Geometry Two-dimensional Support) library provides these services for the VISTA system. It automatically adapts geometry descriptions to an unambiguous representation, it provides functions for geometry checking, and allows applications to query information from geometries, like which faces or segments touch each other, or which lines belong to what face boundary.
Maintaining its own internal data representation of the PIF geometry, the G2S library provides read and write functions from this internal representation from and to PIF data. Geometry manipulation routines include insertion and removal of primitive geometric elements like points, lines, faces, boundaries and segments, as well as higher-level routines like finding the boundaries of a segment and merging subsequent lines fulfilling a certain criterion into a single line.
The G2S library uses the slab method [Prep85] to perform point location on its internal representation of the geometry. Due to this method, the G2S library is inherently limited to two-dimensional geometries. However, recent developments are aimed to provide the same functionality for three-dimensional applications too see Section 9.2.