addition, each primitive needs to access its associated features in lieu of a relational join
table, so the features attribute variable was defined to hold a collection of associated
features. Another variable, lastld , maintains the last primld used for each primitive class.
This particular variable is defined as a class instance variable of TopologicalStructure,
which allows each subclass to maintain a single, unique lastld value independently of the
other subclasses. Therefore, the value of the last primld used for each primitive class can
be easily stored and retrieved.
Figure 5 shows several components of the topology framework. Figure 5A
presents a partial class hierarchy of spatial feature classes. Each spatial feature class
(bridge, buoy, etc.) would be represented by a subclass of PointFeature, LineFeature or
AreaFeature. Each feature instance object holds onto its symbol or graphical representation
(an instance of FeatureSymbol class, Figure 5B) which in turn holds a collection of one or
more spatial primitives (Figure 5C) in the FeatureSymbol graphicElements attribute
variable. Each feature class has been initialized to know what primitive class name
(■defaultPrimClass ) to invoke when it becomes time to create its graphicElements.
(A) (B)
Figure 5. Linkages (Object Pointers) Among Features and Primitives
Each primitive class has a specific collection for holding all its instances. As new
features are created or imported, a set of existing primitive instances is scanned to prevent
creation of duplicates. Each primitive class also maintains its topology-specific attribute
variables, such as firstEdge for ConnectedNodePrim. These attribute variables hold onto
pointers to other spatial primitive instances. For more detailed discussion, see (Chuns
1995).
5. FUNCTIONALITIES OF OVPF
OVPF has several functionalities implemented easily using the object-oriented
technology compared to the relational environment. With the previous sections as the
basis, those functionalities and the property of object-oriented technology exploited to