As mentioned in the previous section, the SPRING Library is composed of three components, namely basic classes, tool classes and auxiliary functions, described in subsections 2.2.1, 2.2.2 and 2.2.3 respectively. The SPRING basic classes implement the system core functionality, for instance, the conceptual model, relational databases interfaces, representations manipulation and storage, drawing facilities, etc.. These classes are employed by SPRING team developers to create SPRING tools and may optionally be used for the development of independent applications. These basic classes are grouped by functionality in the following manner: In this section, a brief description of each group is provided. Additionaly, the classes that comprise each group are indicated. All chapters in SECTION 2 of this manual are devoted to describing how to manipulate the basic classes. For detailed information about the classes, references to the Basic Classes Reference Manual are provided. An alphabethical order index of Library classes Files are also available. This group of classes implement the conceptual model described in Section 1.2. These classes provide the necessary framework to develop SPRING tools. The Visual subgroup manages visualization attributes of drawable entities. Chapter 6 presents the most important considerations about how to manipulate the conceptual model. This group implements the interface between SPRING system and different Relational DBMS systems. In the current library, the only interface available is with CodeBase. For further information about CodeBase, see Section 2.5 . However, the abstract class DataBase can be further derived in order to implement new RDBMS interfaces, as described in Section 5.7. The Scell, SField and Sheet classes are generic and may be used with other database interfaces as well. The Representation Group implements the storage and manipulation capabilities for the different representations of geo-objects and geo-fields, as described in Chapter 1. The system implements two derived classes for Representation: Raster and Vector. This classes contain other classes as members to implement its operations, especially storage and retrieval. However, the applications uses only methods defined for the basic classes Raster and Vector and their descendents. Ideally, the Raster representation would implement all basic raster manipulation and storage funcionalities (GRIB format), and the derived classes Image, Grid and ThemhaticImage would implement specific capabilities for the Image, Digital and Thematic Models respectively. But, in the present implementation, the Image class concetrates all methods, except for the Grid class, derived from Image. The Vector class implements general capabilities to deal with all vector data. Basically, this class contains sets of 2D and 3D points, lines, nodes, polygons and anchors and is used to represent Thematic Maps, Cadastral Maps, Network Maps, 3D Samples and Isolines. The sets are persistent, i.e., normally data is stored on disk and retrieved automatically to main memory as required. These sets deal basically with the storage and retrieval of Graphical Elements (point, line, node, polygon) on disk. The Anchor Set associates vector elements with the geo-objects they represent. The TIN class is a specialization of Vector and implements a Triangular Grid as a representation of Digital Terrain Model. Chapter 7 presents the most important considerations about representations. Chapters 8, 9, 10 and 11 discusses specific representation issues relative to the Image Model, Digital Model, Thematic Model and Object, Cadastral and Network Models respectivelly. The graphical kernel classes are responsible for the SPRING raster and vector drawing capabities. The cursor events group consists of the editing classes, referred as tools, avaliable in SPRING. Chapter 12 presents the most important considerations about drawing and editing using the SPRING Library facilities. The Projection Group implement a basic hierarchy of map projections (derived from Sprojection) which includes some widely used projections as well as the applicable planimetric datum options. This basic hierarchy may be extend to include new map projections. Chapter 13 presents the most important considerations about how to manipulate map projections. This group consists of SPRING classes whose instances create MOTIF widgets for SPRING graphical user interfaces. Chapter 15 deal with aspects related to the creation of SPRING user interfaces. This group encompass several non correlated, but very important, auxiliary subgroups. Chapter 14 presents the most important considerations about how to use the SPRING Library auxiliary classes. Source.