DBaddPointExisting

Top  Previous  Next

Base add, ID is known.

Every string element exists of any number of points which exist above all of a position and a connecting kind to the predecessor. As connections are possible for no (invisible) connection (P), just line (L), circle (R) and Spline (C). With DBaddPointExisting another point is added to a string behind. In contrast to the function DBaddPoint it is given with DBaddPointExisting the ID of the point.

Parametre

string (PSTRING_ELEMENT) [IN]

The point is suspended to this string element.

position [3] (STANDS IN) [IN]

This is the position of the new point in the space. If is given as a format FORMAT_2D, only the first both values are used. With FORMAT_3D all three values are used.

linkage (int) [IN]

With this value the kind of the connection with the preceding point is fixed. As possible values the LINK_L defined below, LINK_R, LINK_C and LINK_P are allowed here. The first point of a string must have the Linkagetyp LINK_P. This is not checked, but is simply accepted with the processing procedures. LINK_L connects with a distance, LINK_P connects invisibly, LINK_C connects with a Spline and LINK_R connects with a segment of a circle.

symbol (int) [IN]

The real point can be shown with a symbol obviously. If in symbol 0 are given, no symbol is used. Otherwise the symbol with the given number is taken from the symbolic table.

first-class (int) [IN]

Points are divided into point classes which can be used, e.g., for the search. Herewith this class is fixed.

format (int) [IN]

Possible values are FORMAT_2D and FORMAT_3D. Herewith it is fixed whether the point owns a height or not. In case of FORMAT_2D the 3rd co-ordinate from position is ignored.

blockId (ULONG) [IN]

systemID (ULONG) [IN]

ID of the new point. She is not ordinarily known and then can be put with blockID=0 and systemID=0. Then the call corresponds DBaddPoint.

Result

(T_PPOINT) [OUT]

The trading of the point which was anew put on in the given string. If a mistake has appeared ZERO is returned instead of this.

Declaration

#include "database.h"

 

T_PPOINT DLLENTRY DBaddPoint (

PSTRING_ELEMENT string,

STAND-IN position [3],

int linkage,

int symbol,

int first-class,

int format,

ULONG blockID,

ULONG systemID

);

Constants

Values for linkage (see LINKAGE)

#define LINK_L 1

#define LINK_R 2

#define LINK_P 3

#define LINK_C 4

#define LINK_CON 5

#define LINK_RPT 6

#define LINK_CLS 7

#define LINK_EBD 8

Related functions

DBdeletePoint

DBaddPointElement

Marker element in the object generate.

While line trains must contain at least one base, single points can be accommodated with point elements in the data bank. Besides, every point element exists of a single point with all qualities of a point from a string. On the screen point elements appear in a special form. Point elements with point classes between 1 and 15 are shown according to the markers by Gradis, i.e. as not scaled geometrical marks. All the other point elements do not become visible. This can become from the user with the help of own sign function umdefiniert. All the other qualities of the point are not considered with the drawing. However, they are stored consistently in the point element.

Parametre

object (POBJECT) [IN]

The new point element should be inserted in this object. If the object is selected, the new element is shown immediately.

pbuf [3] (STANDS IN) [IN]

This field contains the co-ordinates of the new point element. If as format FORMAT_2D is given, only the first both values are considered.

linkage (int) [IN]

This value becomes as a LINK _? however, put down in the point element, points no effect, because only a single point exists. This can be badly connected with a predecessor.

symbol (int) [IN]

If at this point one of 0 different numbers stands, the suitable symbol is drawn here instead of the point element.

first-class (int) [IN]

As long as symbol 0 are, the appearance of the point element determines first-class. For values between 1 and 15 the mark symbol known from Gradis is drawn, but the point element remains invisible.

format (int) [IN]

As possible values exist here FORMAT_2D and FORMAT_3D. With FORMAT_2D the third co-ordinate (z value) is accepted as 0 and is not taken over from pbuf.

Result

(PPOINT_ELEMENT) [OUT]

The trading of the element inserted anew. With this trading the element can be questioned and manipulated.

Declaration

#include "database.h"

[****]

PPOINT_ELEMENT DLLENTRY BaddPointElement (

POBJECT object,

STAND-IN pbuf [3],

int linkage,

int symbol,

int first-class,

int format

);

[****]

 

DBinsertPoint

DBaddRasterElement