DBidentifyPointsInElementUsingPath

Top  Previous  Next

Search of plumb line points.

In the given element all points which lie in the surroundings from (x, y) are identified. Besides, not the base with the slightest distance is searched in contrast to the procedure DBidentifyPointsInElementsUsingKnots by the Sollkoordinate, but the point of the object which lies the Sollkoordinate with the next. The plumb line on the line trains is liked in each case and with it the distance of the Sollpunktes is determined by the lines. In detail the following actions are explained:

If toleranz 0 are, the point which lies to the point (x, y) most near is returned. By the call must stand in anzahl at least 1, so that generally a point can be stored away. If no points are found in the element, is returned in anzahl 0, but stands in anzahl 1 and the first element in the field points it is booked with the pointer on this point. Is toleranz >0, all points which have a distance from less than toleranz to (x, y) are searched. It is initialized anzahl before the call with 0, the points are only counted and their number is written in anzahl. Is anzahl >0, are written first anzahl points in the field points and the number of the found points is returned in anzahl, was never given, nevertheless, more than for the call there.

Parametre

elem (PELEMENT) [IN]

Act on any element.

x (STANDS IN) [IN]

X co-ordinate of the authoritative point.

y (STANDS IN) [IN]

Y co-ordinate of the authoritative point.

toleranz (STANDS IN) [IN]

Distance around the authoritative point in which the points should be found. If toleranz=0 is, the next point is determined if toleranz> 0 are, all points whose distance from (x, y) is not greater than toleranz are determined. Is toleranz< 0, no point can be found.

anzahl (int *) [IN / OUT

IN: Number of the points in the field points which fit there at most. If more points are found, are not returned supernumerary. Is anzahl = 0, the points are only counted.

OUT: Number of the really returned points. This is with toleranz = 0 always 0 or 1.

points (T_PPOINTS *) [IN / OUT]

Pointer on a field which should take up the pointers of the points which are found with identifying. If the points are only counted, this pointer is irrelevant. But he must point at a field with enough storage space.

status (BYTE *) [IN / OUT]

To every plumb line point pair there is a status which describes the situation to the bases. See constants

xLot (STANDS IN *) [IN / OUT]

List of the X values of the found plumb line points.

yLot (STANDS IN *) [IN / OUT]

List of the Y values of the found plumb line points

pIsHiddenL (int) [IN]

If becomes this value on TRUE (! = 0) sedate, so all P connections are so treated in line trains as if these are invisible lines. If is the value FALSE (=0), the line trains are interrupted with a P connection.

parameterList (PIDENTIFY_PARAMETER) [IN]

The structure IDENTIFY_PARAMETER contains a list all DKY, DKA and KEY values. The values can be generated before with the routine SYSmakeParameterList.

Result

---

Declaration

#include "database.h"

 

void DLLENTRY DBidentifyPointsInElementUsingPath (

PELEMENT elem,

STAND-IN x,

STAND-IN y,

STAND-IN toleranz,

int * anzahl,

T_PPOINTS * points,

BYTE * status

STAND-IN * xLot,

STAND-IN * yLot,

int pIsHiddenL,

PIDENTIFY_PARAMETER parameterlist

);

Constants

IDENTIFY_PATH_STATUS_IS_PERPENDICULAR 1

IDENTIFY_PATH_STATUS_IS_EXACT 2

IDENTIFY_PATH_STATUS_IF_BEFORE 4

IDENTIFY_PATH_STATUS_IS_AFTER 8

IDENTIFY_PATH_STATUS_IS_SECOND_ARC_POINT 16

IDENTIFY_PATH_STATUS_IS_ARC_CENTER_POINT 32

IDENTIFY_PATH_STATUS_IS_ON_TEXT 64

Related functions

DBidentifyPointsInElementUsingKnots