VARKON Version 1.16 1998-04.03


ident_2 - Procedure

Pick multiple entities with rubberband box


Description

Interactive pick function. Lets a user identify one or more entities with the help of a "rubberband" box. Typemask and mode may be used to control which entities to be selected.

Syntax

ident_2(typemask, mode, maxid, idarray, numid)

INT typemask;
INT mode;
INT maxid;
REF idarray(maxid);
INT numid;


Principal parameters

typemask - Type of entitiy to pick. Multiple types can be combined to a typemask by adding their
   type codes. See GET_HDR for the complete list of type codes.
mode - 0 = Only entities completely inside the box are selected.
- 1 = Entities fully or partially inside the box are selected.
- 2 = Only entities completely outside the box are selected.
- 3 = Entities fully or partially outside the box are selected.
maxid - Maximum number of entities to be returned.
idarray - REF-array to recieve ID:s of entities picked.
numid - Number of entities actually returned or -1.


Optional parameters

None.

Examples

REF idarray(100);
INT numid;

ident_2(2+4, 0, 100, idarray, numid);

Displays the crosshair cursor and lets the user drag the mouse on the screen to inscribe in a box the entities he wants to pick. A maximum of 100 lines (2) and arcs (4) completely inside (0) the box are selected. If no entities are selected numid returns 0. If more than 100 entities are selected numid returns 100.

Comments

It is up to the calling module to ensure that idarray is big enough to hold all entities picked. The maximum number returned will in any case never be larger than the global system variable IGMAXID which is the maximum number of ID:s VARKON can hold in one operation. Current value of IGMAXID in VARKON 1.16 is 2000 but may be increased in the future.

Entities with the HIT attribute set to zero can not be picked.

If the pointer button is pressed and then released without moving the pointer ident_2 returns the single ID closest to the pointer as if the MBS-routine ident() would have been used.

Pressing the middle button or right button returns numid = -1.

If typemask is 16384 only PART ID:s will be returned.


VARKON Homepage Index