DBidentifyPointsInElementUsingKnots

Top  Previous  Next

Suche von Stützpunkten.

In dem angegebenen Element werden all die Punkte identifiziert, die in der Umgebung von (x,y) liegen. Im Einzelnen werden folgende Aktionen ausgeführt:

Wenn toleranz 0 ist, wird der Punkt zurückgegeben, der dem Punkt (x,y) am nächsten liegt. Beim Aufruf muß in anzahl mindestens 1 stehen, damit überhaupt ein Punkt abgespeichert werden kann. Werden im Element keine Punkte gefunden, so wird in anzahl 0 zurückgegeben, sonst steht in anzahl 1 und das erste Element im Feld points wird mit dem Zeiger auf diesen Punkt belegt. Ist toleranz >0, so werden alle Punkte gesucht, die einen Abstand von weniger als toleranz zu (x,y) haben. Wird anzahl vor dem Aufruf mit 0 initialisiert, so werden die Punkte nur gezählt und deren Anzahl wird in anzahl geschrieben. Ist anzahl >0, so werden die ersten anzahl Punkte in das Feld points geschrieben und die Zahl der gefundenen Punkte wird in anzahl zurückgegeben, nie jedoch mehr als zum Aufruf dort vorgegeben war.

Parameter

elem (PELEMENT)                                     [IN]

Handle auf beliebiges Element, das Stützpunkte enthält.

x (DOUBLE)                                                [IN]

X-Koordinate des Referenzpunktes.

y (DOUBLE)                                                [IN]

Y-Koordinate des Referenzpunktes.

toleranz (DOUBLE)                                     [IN]

Abstand um den Referenzpunkt, in dem die Punkte gefunden werden sollen. Wenn toleranz=0 ist, wird der nächste Punkt ermittelt, wenn toleranz > 0 ist, werden alle Punkte ermittelt, deren Abstand von (x,y) nicht größer als toleranz ist. Ist toleranz < 0, so kann kein Punkt gefunden werden.

anzahl (int *)                                         [IN/OUT

IN:             Anzahl der Punkte im Feld points, die dort maximal hineinpassen. Werden mehr Punkte gefunden, so werden die überzähligen nicht zurückgegeben. Ist anzahl = 0, so werden die Punkte nur gezählt.

OUT:          Anzahl der wirklich zurückgegebenen Punkte. Dies ist bei toleranz = 0 immer 0 oder 1.

points (T_PPOINTS *)                       [IN/OUT]

Zeiger auf ein Feld, das die Zeiger der Punkte aufnehmen soll, die beim Identifizieren gefunden werden. Wenn die Punkte nur gezählt werden, dann ist dieser Zeiger irrelevant. Sonst muss er auf ein Feld mit ausreichend Speicherplatz zeigen.

typeSelect (int)                                            [IN]

Gibt vor, welche Elementtypen berücksichtigt werden. In dieser Variablen werden all die Konstanten TYPE_SELECT_??? geodert, die in die Suche eingeschlossen werden sollen. Wenn alle Elementtypen berücksichtigt werden sollen, dann kann auch die Konstante TYPE_SELECT_ALL verwendet werden.

parameterList (PIDENTIFY_PARAMETER) [IN]

Die Struktur IDENTIFY_PARAMETER enthält eine Liste aller DKY, DKA und KEY-Werte. Die Werte können zuvor mit der Routine SYSmakeParameterList erzeugt werden.

Ergebnis

---

Deklaration

#include "database.h"

 

void DLLENTRY DBidentifyPointsInElementUsingKnots (

     PELEMENT             elem,

     DOUBLE                  x,

     DOUBLE                  y,

     DOUBLE                  toleranz,

     int *                anzahl,

     T_PPOINTS *             points,

     int                     typeSelect

     PIDENTIFY_PARAMETER     parameterlist

);

Konstanten

TYPE_SELECT_STRING

TYPE_SELECT_TEXT

TYPE_SELECT_POINTELEMENT

TYPE_SELECT_ELIPSE

TYPE_SELECT_SYMBOL

TYPE_SELECT_ALL

Verwandte Funktionen

DBidentifyPointsInElementUsingPath