Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ pinit_pick3(3g) — PHIGS 5.1

Media Vault

Software Library

Restoration Projects

Artifacts Sought

pinit_pick3(3g)  —  Subroutines

Name

pinit_pick3 − Sets the pick device to application-specific values. 

 
Operating States: PHOP, WSOP, ∗, ∗
PHIGS standard function

Syntax

void pinit_pick3 (
  Pint               wsid,         /∗ (I) Workstation identifier ∗/
  Pint               dev_num,      /∗ (I) Pick device number ∗/
  Pin_status         status,       /∗ (I) Initial pick status ∗/
  const Ppick_path  ∗init,         /∗ (I) Initial pick path ∗/
  Pint               pet,          /∗ (I) Prompt and echo type ∗/
  const Plimit3     ∗echo_vol,     /∗ (I) Echo volume, in device
                                          coordinates ∗/
  const Ppick_data3 ∗record,       /∗ (I) Data record ∗/
  Ppath_order        order         /∗ (I) Pick path order ∗/
)

Data Structures

typedef enum {
    PIN_STATUS_NONE,
    PIN_STATUS_OK,      /∗ Use this value if you are supplying an initial
                           pick ∗/
    PIN_STATUS_NO_IN    /∗ Use this value if you are not supplying an
                           initial pick ∗/
} Pin_status;
typedef struct {
    Pint                depth;        /∗ pick path depth ∗/
    Ppick_path_elem    ∗path_list;    /∗ pick path list ∗/
} Ppick_path;
    typedef struct {
        Pint    struct_id;    /∗ structure identifier ∗/
        Pint    pick_id;      /∗ pick identifier ∗/
        Pint    elem_pos;     /∗ element position ∗/
    } Ppick_path_elem;
typedef struct {
    Pfloat    x_min;    /∗ x minimum ∗/
    Pfloat    x_max;    /∗ x maximum ∗/
    Pfloat    y_min;    /∗ y minimum ∗/
    Pfloat    y_max;    /∗ y maximum ∗/
    Pfloat    z_min;    /∗ z minimum ∗/
    Pfloat    z_max;    /∗ z maximum ∗/
} Plimit3;
typedef struct { /∗ pick data record ∗/
    union Ppick3_pets {
        struct Ppick3_pet_r1 {
            Pfloat    aperture;     /∗ pick aperture ∗/
        } pet_r1;
        struct Ppick3_pet_r2 {
            Pfloat    aperture;     /∗ pick aperture ∗/
        } pet_r2;
        struct Ppick3_pet_r3 {
            Pfloat    aperture;     /∗ pick aperture ∗/
        } pet_r3;
    } pets;
} Ppick_data3;
typedef enum {
    PORDER_TOP_FIRST,       /∗ top first ∗/
    PORDER_BOTTOM_FIRST     /∗ bottom first ∗/
} Ppath_order;

Description

pinit_pick3 sets the pick device to application-specific values.  You specify the initial pick status, the initial pick path, and the pick path order.  Digital PHIGS uses the pick path order to determine the order of the pick path it returns to the pget_pick, psample_pick, and preq_pick functions. 

This function accepts the echo volume in a 6-component list of x-, y-, and z-coordinates, in device coordinates.  The order of the list components is XMIN < XMAX, YMIN < YMAX, ZMIN < ZMAX. 

When an application calls pinit_pick3, the workstation surface cannot contain the pick device’s prompt.  To remove an existing prompt from the surface, call the pset_pick_mode function and place the device in request mode. 

The size and contents of the data record depend on the prompt and echo type you specify.  If the size or contents of the data record does not match the requirements of your chosen prompt and echo type, Digital PHIGS generates an error. 

See Pick-Class PETs for information on pick-class prompt and echo types. 

See Also

pget_pick
pinit_pick
pinq_def_pick_data3
pinq_pick_st3
preq_pick
psample_pick
pset_pick_filter
pe_set_pick_highl_ind
pset_pick_id
pset_pick_mode

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026