next up previous contents
Next: 4.2.6 Syntaktische Aspekte Up: 4.2 CLS-Unterprogrammbibliothek Previous: 4.2.4 Operationen auf Listen

4.2.5 Negative Referenzen

Besonderer Erwähnung bedürfen negative Referenzen. Diese dienen in PIF dazu, die Richtung bzw. Orientierung von Linien- und Flächenreferenzen anzugeben. Im PIF wird dazu dem Index der Referenz, der ja immer eine ganze Zahl n ;SPMgt;= 1 ist, ein negatives Vorzeichen verliehen. Dieses Verfahren verbietet sich naturgemäß bei Adreßzeigern. Daher wurde in CLS ein virtuelles Objekt mit Typ clsNegative eingeführt. Dieses referenziert das entsprechende CLS-Objekt und verleiht das Attribut ,,negativ``. Es gibt fast alle Funktionsaufrufe unverändert weiter. Ausgenommen davon ist die Funktion clsObjectGetRefs, die nicht die Liste der Referenzen liefert, sondern eine Kopie anlegt, die Reihenfolge umkehrt und, wenn die referenzierten Objekte selbst orientiert sind, deren Referenzen ihrerseits auch negativ macht.

Die Funktion clsObjectGetSelf dient dazu, die unmittelbare Referenz auf das Objekt zu erhalten. Dies ist z.B. notwendig, um zu testen, ob zwei Linien, die ev. negativ referenziert werden, identisch sind (clsPredicateSelfSelfEqual).



Martin Knaipp
Wed Jun 12 15:41:33 MET DST 1996