You are here: Surpac Concepts > Macros > SCL > SWA Commands > SWA Overview
GEOVIA Surpac

Surpac Work Area (SWA)

The Surpac Work Area (SWA) is a collection of string, segment, point, triobject, trisolation, and triangle data. You typically use a SWA to show several data files at the same time. Within the SWA, data files are referenced using absolute paths, not relative paths. A SWA also stores a record of the viewports that are open, and the orientation of the data in those viewports.

Tip: When you send a SWA to another user to open on their computer, instruct the user to save the data files in the same file path in which the data files are stored on your computer. If the data files are not saved to the same location the other user's computer, the SWA will not find the files when the user opens the SWA.

The following terms are used in the context of SWAs.

  • SWA
  • The Surpac Work Area, commonly called a SWA, is a useful repository for storing string, segment, point, triobject, trisolation and triangle data. A SWA always contains point data (and therefore segment and string data). A SWA can contain triangle (and therefore trisolation and triobject) data. It is impossible for a SWA to contain triangle data without point data because the triangles are defined by the points that form the vertices of the triangles. For efficiency reasons, the triangle vertex coordinates are not defined explicitly but are defined indirectly by the point itself. Thus, even though a number of triangles may share a vertex, the coordinates of that vertex are defined only once.

  • Graphics layer
  • A graphics layer is a special SWA whose data can be drawn in a 3D graphics viewport. While every graphics layer is a SWA, not every SWA must be a graphics layer. In fact, it is common to have many SWAs that are not graphics layers.

  • Object handle
  • All SWA objects (points, segments, triangles, trisolations, and so on) that you can manipulate using Scl functions, are referenced by an object handle. The object handle is a unique reference to the object of interest. The object handle provides an efficient method of accessing and operating upon the object of interest. The term object handle, often abbreviated to handle, is widely used within the context of Scl to refer to the actual object that is the topic of the discussion, for example It is possible to iterate over all segments in a string provided you know the string handle.

  • Set
  • A set is a generic term that describes a collection of objects. For example, a segment contains a set of points, a string contains a set of segments, a trisolation contains a set of triangles and so on.

  • Parent
  • Because a set is a container of objects, the object that the set represents is typically referred to as a parent object. A segment therefore is commonly referred to as a parent object for points, and a string is referred to as a parent object for segments.

  • Child
  • The objects contained within a set are typically referred to as child objects. Points therefore are children of a segment, and segments are children of a string. The parent-child relationship is important because Scl provides ways to find the parent object of any child object. This is useful in the development of applications.

    See also