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 ): 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
|