SYSidentifyCoordinate |
Top Previous Next |
Digitalisieren eines Punktes aus der Datenbank oder dem Konstruktionspuffer. Mit dieser Routine wird ein Punkt beim Anwender abgefragt und dann der nächstliegende Wert aus der Datenbank, d.h. aus der Menge der selektierten Objekte und den Punkten des Konstruktionspuffers, zurückgegeben. Als Ergebnis werden sowohl die Koordinaten, als auch das Punkthandle ermittelt. Parameter x (double *) [OUT] y (double *) [OUT] Die Position des identifizierten Punktes, wenn als Funktionswert von SYSidentifyCoordinate SYS_COORD_VALID_IDENTIFY geliefert wird. Wird x oder y als NULL-Zeiger übergeben, dann wird die Position nicht abgespeichert. point (T_PPOINT *) [OUT] In dieser Variablen wird das Handle des identifizierten Punktes gespeichert. Wenn für diesen Parameter ein NULL-Zeiger übergeben wird, dann wird das Handle nicht zurückgeliefert. flags (long int) [IN] Steuert das Verhalten der Funktion und die weiteren Parameter. Der Parameter kann jede Kombination der nachfolgend beschriebenen Flags oder 0 sein. Es werden die folgenden Flags ausgewertet: SYS_COORD_MARK_IDENTIFIED Der identifizierte Punkt wird mit einem Marker gekennzeichnet. Der Marker wird aus dem Initialisierungssegment entnommen, wenn dort kein Marker angegeben ist, wird der Marker 1 verwendet. Mit SYS_COORD_MARKER kann dieser Wert überschrieben werden. SYS_COORD_NO_MESSAGE_TEXT Es wird keine Meldung vor dem Abfragen der Koordinaten ausgegeben. SYS_COORD_HIGHLIGHT_POINT Der identifizierte Punkt wird durch Highlighting mit der Stufe Identify gekennzeichnet. SYS_COORD_HIGHLIGHT_ELEMENT Das identifizierte Element wird durch Highlighting mit der Stufe Identify gekennzeichnet. SYS_COORD_RETURN_TEXT Der letzte, vom Anwender eingegebene Text wird in dem übergebenen Textpuffer zurückgegeben. Der Puffer sollte eine Mindestlänge von 20 Zeichen haben, da sonst ggf. die eingegebenen Koordinaten verstümmelt werden. SYS_COORD_IDENTIFY_FLAGS_P Beim Identifizieren mit der Taste P werden statt der Identifikation über alle Elemente und Stützpunkte die angegebenen Merkmale verwendet. SYS_COORD_IDENTIFY_FLAGS_L Beim Identifizieren mit der Taste L werden statt der Identifikation über Stringelemente und Stützpunkte die angegebenen Merkmale verwendet. SYS_COORD_IDENTIFY_FLAGS_R Beim Identifizieren mit der Taste R werden statt der Identifikation über Symbole und Stützpunkte die angegebenen Merkmale verwendet. SYS_COORD_IDENTIFY_FLAGS_C Beim Identifizieren mit der Taste C werden statt der Identifikation über Texte und Stützpunkte die angegebenen Merkmale verwendet. SYS_COORD_MSGTEXT Statt der eingebauten Meldung wird die mitgelieferte Meldung verwendet, wenn der Anwender zu einer Koordinateneingabe aufgefordert werden soll. SYS_COORD_NO_USE_CONSTRUCTION_BUFFER Die Suche nach identifizierbaren Punkten bleibt auf die Selektionsmenge beschränkt. Standardmäßig wird auch der Konstruktionspuffer durchsucht. SYS_COORD_MARKER Es soll statt des in der Initialisierung angegebenen Markers der mit dieser Routine mitgelieferte verwendet werden. Dieser wird aber nur angezeigt, wenn auch SYS_COORD_MARK_IDENTIFIED angegeben wird. text (char *) [OUT, optional] Wenn in flags SYS_COORD_RETURN_TEXT angegeben wurde, wird mit text ein Puffer erwartet, der zum Speichern des eingegebenen Textstrings verwendet wird. Dies gilt auch für Koordinaten. Wenn zum Identifizieren mehrere Strings angefordert werden, dann wird der letzte hier abgelegt. Die Länge des Puffers wird in textlen angegeben. textlen (int) [OUT, optional] Wenn in flags SYS_COORD_RETURN_TEXT angegeben wurde, dann wird in textlen die Länge des Textpuffers erwartet. Diese Länge sollte mindestens 20 Zeichen lang sein, damit eine vollständige Koordinate eingelesen werden kann. identifyFlagsP (int) [IN, optional] Wird in flags der Parameter SYS_COORD_IDENTIFY_FLAGS_P gesetzt, so wird dieser Wert zum Identifizieren eines Punktes eingesetzt, wenn die Koordinate mit der Taste P digitalisiert wurde. Wird dieses Flag nicht gesetzt, so ist für die Taste P voreingestellt, sodass alle Elemente nach dem Stützpunktverfahren durchsucht werden. identifyFlagsL (int) [IN, optional] Wird in flags der Parameter SYS_COORD_IDENTIFY_FLAGS_L gesetzt, so wird dieser Wert zum Identifizieren eines Punktes eingesetzt, wenn die Koordinate mit der Taste L digitalisiert wurde. Wird dieses Flag nicht gesetzt, so ist für die Taste L voreingestellt, sodass nur Stringelemente nach dem Stützpunktverfahren durchsucht werden. identifyFlagsR (int) [IN, optional] Wird in flags der Parameter SYS_COORD_IDENTIFY_FLAGS_R gesetzt, so wird dieser Wert zum Identifizieren eines Punktes eingesetzt, wenn die Koordinate mit der Taste R digitalisiert wurde. Wird dieses Flag nicht gesetzt, so ist für die Taste R voreingestellt, sodass nur Symbolelemente nach dem Stützpunktverfahren durchsucht werden. identifyFlagsC (int) [IN, optional] Wird in flags der Parameter SYS_COORD_IDENTIFY_FLAGS_C gesetzt, so wird dieser Wert zum Identifizieren eines Punktes eingesetzt, wenn die Koordinate mit der Taste C digitalisiert wurde. Wird dieses Flag nicht gesetzt, so ist für die Taste C voreingestellt, sodass nur Textelemente nach dem Stützpunktverfahren durchsucht werden. msgText (char *) [IN, optional] Wird in flags der Parameter SYS_COORD_MSGTEXT gesetzt, so wird dieser Text vor dem Identifizieren ausgegeben. marker (int) [IN, optional] Wird in flags der Parameter SYS_COORD_MARKER gesetzt, so wird statt des Standardmarkers dieser Marker zum Kennzeichnen des identifizierten Punktes verwendet. Zusätzlich muss das Flag SYS_COORD_MARK_IDENTIFIED gesetzt werden. Der Standardmarker wird durch die Initialisierungsvariable IdentifyMarker bestimmt. Ergebnis (int) [OUT] 0 Es wurde kein Punkt gefunden, weil entweder CON betätigt wurde oder statt einer Koordinate ein Text eingegeben wurde. 1 (SYS_COORD_VALID_IDENTIFY) Es wurde ein Punkt digitalisiert. Die Koordinaten stehen in (x,y), das Handle in point. Konstanten #define SYS_COORD_VALID_IDENTIFY 1 #define SYS_COORD_MARK_IDENTIFIED 0x00000001 #define SYS_COORD_NO_MESSAGE_TEXT 0x00000002 #define SYS_COORD_HIGHLIGHT_POINT 0x00000004 #define SYS_COORD_HIGHLIGHT_ELEMENT 0x00000008 #define SYS_COORD_RETURN_TEXT 0x00000010 #define SYS_COORD_IDENTIFY_FLAGS_P 0x00000020 #define SYS_COORD_IDENTIFY_FLAGS_L 0x00000040 #define SYS_COORD_IDENTIFY_FLAGS_R 0x00000080 #define SYS_COORD_IDENTIFY_FLAGS_C 0x00000100 #define SYS_COORD_MSGTEXT 0x00000200 #define SYS_COORD_NO_USE_CONSTRUCTION_BUFFER 0x00000400 #define SYS_COORD_MARKER 0x00008000
Deklaration #include "system.h"
int DLLENTRY SYSidentifyCoordinate ( double * x, double * y, T_PPOINT * point, long int flags, ... );
|