GetConnected

Top  Previous  Next

Der Befehl GetConnected wertet - ausgehend vom geöffneten Punkt - ein digitalisiertes Netz aus Knoten- und Kantenobjekten aus und liefert eine Liste mit Objektpointern zurück.  Für jede Richtung, die vom geöffneten Punkt aus erreichbar ist, wird ein String mit den Objektpointern zurückgeliefert.

Voraussetzung

Es muß ein Knotenpunkt geöffnet sein, der Bestandteil des Netzes ist, das untersucht werden soll. Der geöffneten Punkt muß entweder zu einem Stopp-Objekt (Symbol) oder zu einem Verbindungsknoten (Endpunkt einer Kante und Anfangspunkt einer anderen Kante) gehören.

Syntax

GetConnected  <KEYS/key1,key2,... > {STOPPER/key3,key4,…} {/RETURNSTOPOBJECTS} {/RETURNLINEOBJECT}|{/RETURNLINEOBJECTS} {TOLERANZ/m.mm}

Parameter

KEYS/key1,key2,…

Liste der Objektschlüssel der Objekte, die von der Funktion als Kanten-Objekte im Netz interpretiert werden. Die Angabe dieses Parameters ist zwingend.

STOPPER/key1,key2,...

Liste der Objektschlüssel der Objekte, die von der Funktion als Stop-Objekte im Netz interpretiert werden. Dieser Parameter ist optional. Ist er nicht angegeben, werden alle Kanten bis zum Ende angegeben (Vorsicht: bei Verzweigungen wird nur eine zufällige Richtung eingeschlagen!).

/ReturnStopObjects

Die Pointer der Stop-Objekte werden zurückgegeben (jeweils an vorderster Stelle je Richtung).

/ReturnLineObjects

Die Pointer aller Kanten-Objekte werden zurückgegeben.

/ReturnLineObject

Nur der Pointer des ersten (= richtungsweisenden) Kantenobjektes wird zurückgegeben.

TOLERANZ/m.mm

Angabe der  Abweichungstoleranz in Metern, bei der eine Knoten-Kanten-Verknüpfung über (fast) gleiche Koordinatenwerte noch akzeptiert wird. Die Angabe dieses Parameters ist optional.

Rückgabewert

Pointerliste zeilenweise:

"PTR_abcd01 PTR_abcd02 PTR_abcd03 " (erste Richtung)

"PTR_abcd05 PTR_abcd06 PTR_abcd07 " (zweite Richtung)

Beispiel

Gegeben sei folgendes Netz (6 Kanten-Objekte mit Schlüssel 11000 und Objektpointer als Attributtext, ebenso 4 Kreissymbole als Stop-Objekte mit dem Schlüssel  11001 ):

image5_33

Geöffnet ist der Punkt in der Mitte des Netzes (rechter Endpunkt der Kante PTR_12afc4).

GetConnected( KEYS/11000 STOPPER/11001 /RETURNSTOPOBJECTS /RETURNLINEOBJECTS)

-> PTR_ecfb94 PTR_ecf9e4 PTR_ecfa74

PTR_ecfbdc PTR_ecf954 PTR_ecf8c4

PTR_12d2fe4 PTR_12a7fc4 PTR_12d3104

Da die Parameter ReturnStopObjects und ReturnLineObjects angegeben sind, werden am Anfang jeder Zeile erst das Ziel (Stop-Objekt) und dann die Kanten auf dem Weg dorthin geliefert.

GetConnected( KEYS/11000 STOPPER/11001 /RETURNSTOPOBJECTS /RETURNLINEOBJECT)

-> PTR_ecfb94 PTR_ecf9e4

PTR_ecfbdc PTR_ecf954

PTR_12d2fe4 PTR_12a7fc4

Da die Parameter ReturnLineObject (ohne s) und ReturnStopObjects angegeben sind, werden nur die Ziele und jeweils die erste Kante auf dem Weg dorthin zurückgegeben.

Bemerkung

Wenn der Paramter STOPPER/key1,... nicht gesetzt ist, werden alle Kanten bis zu einer „Sackgasse“ zurückgegeben (Vorsicht: bei Verzweigungen wird dann nur eine zufällige Richtung eingeschlagen!). Um eine Eindeutigkeit zu bewahren, sollte also ein sauberes Knoten-Kanten-Modell vorliegen und auf Verzweigungspunkten sollten  Stop-Objekte liegen

Siehe auch