Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ pinq_loc_st3(3g) — PHIGS 5.1

Media Vault

Software Library

Restoration Projects

Artifacts Sought

pinq_loc_st3(3g)  —  Subroutines

Name

pinq_loc_st3 − Returns locator device state information. 

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

Syntax

void pinq_loc_st3 (
  Pint           wsid,         /∗ (I) Workstation identifier. ∗/
  Pint           dev_num,      /∗ (I) Locator device number. ∗/
  Pinq_type      return_type,  /∗ (I) Type of the returned values. ∗/
  Pstore         store,        /∗ (I) Handle to store the object.  store
                                      manages the memory referenced by
                                      ∗datarec. ∗/
  Pint          ∗error_ind,    /∗ (O) Error indicator. ∗/
  Pop_mode      ∗mode,         /∗ (O) Operating mode. ∗/
  Pecho_switch  ∗echo,         /∗ (O) Echo switch. ∗/
  Pint          ∗init_index,   /∗ (O) Initial view index. ∗/
  Ppoint3       ∗init_pos,     /∗ (O) Initial locator position. ∗/
  Pint          ∗pet,          /∗ (O) Prompt and echo type. ∗/
  Plimit3       ∗echo_vol,     /∗ (O) Echo volume, in device
                                      coordinates. ∗/
  Ploc_data3   ∗∗datarec       /∗ (O) Locator data record. ∗/
)

 

Data Structures

typedef enum {
    PINQ_SET,        /∗ Use the exact state list values. ∗/
    PINQ_REALIZED    /∗ Use the values approximated by the graphics
                        handler. ∗/
} Pinq_type;
typedef void ∗Pstore;
typedef enum {
    POP_REQ,       /∗ request mode ∗/
    POP_SAMPLE,    /∗ sample mode ∗/
    POP_EVENT      /∗ event mode ∗/
} Pop_mode;
typedef enum {
    PSWITCH_NO_ECHO,    /∗ echo disabled ∗/
    PSWITCH_ECHO        /∗ echo enabled ∗/
} Pecho_switch;
typedef struct {
    Pfloat     x;    /∗ x coordinate ∗/
    Pfloat     y;    /∗ y coordinate ∗/
    Pfloat     z;    /∗ z coordinate ∗/
} Ppoint3;
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 { /∗ locator data record ∗/
    union Ploc3_pets {
        struct Ploc3_pet_r1 {
            Pint   impl_dep;
        } pet_r1;
        struct Ploc3_pet_r2 {
            Pint   impl_dep;
        } pet_r2;
        struct Ploc3_pet_r3 {
            Pint   impl_dep;
        } pet_r3;
        struct Ploc3_pet_r4 {
            Pline_attrs    line_attrs;   /∗ polyline attributes ∗/
        } pet_r4;
        struct Ploc3_pet_r5 {
            Pline_fill_ctrl_flag  line_fill_ctrl_flag;   /∗ control flag ∗/
            Ploc_attrs            attrs;
        } pet_r5;
        struct Ploc3_pet_r6 {
            char    ∗title_string;
        } pet_r6;
        struct Ploc3_pet_u1 {
            Pfloat    box_x;    /∗ size of the box in x ∗/
            Pfloat    box_y;    /∗ size of the box in y ∗/
        } pet_u1;
        struct Ploc3_pet_u2 {
            Pline_fill_ctrl_flag   line_fill_ctrl_flag;  /∗ control flag ∗/
            Ploc_attrs             attrs;
        } pet_u2;
        struct Ploc3_pet_u3 {
            Pline_attrs     line_attrs;    /∗ polyline attributes ∗/
            Ppoint3         point1;        /∗ point 1 for echo ∗/
            Ppoint3         point2;        /∗ point 2 for echo ∗/
        } pet_u3;
        struct Ploc3_pet_u4 {
            Pline_attrs     line_attrs;    /∗ polyline attributes ∗/
        } pet_u4;
        struct Ploc3_pet_u5 {
            Pline_attrs     line_attrs;    /∗ polyline attributes ∗/
        } pet_u5;
        struct Ploc3_pet_u6 {
            Pline_attrs     line_attrs;    /∗ polyline attributes ∗/
            Ppoint3         point1;        /∗ point 1 for echo ∗/
            Ppoint3         point2;        /∗ point 2 for echo ∗/
        } pet_u6;
        struct Ploc3_pet_u7 {
            Pline_attrs     line_attrs;    /∗ polyline attributes ∗/
            Ppoint3         point1;        /∗ point 1 for echo ∗/
            Ppoint3         point2;        /∗ point 2 for echo ∗/
        } pet_u7;
        struct Ploc3_pet_u8 {
            Pline_attrs     line_attrs;    /∗ polyline attributes ∗/
            Ppoint3         point1;        /∗ point 1 for echo ∗/
            Ppoint3         point2;        /∗ point 2 for echo ∗/
        } pet_u8;
        struct Ploc3_pet_u9 {
            Pline_attrs     line_attrs;    /∗ polyline attributes ∗/
        } pet_u9;
        struct Ploc3_pet_u10 {
            Pline_attrs     line_attrs;    /∗ polyline attributes ∗/
        } pet_u10;
        struct Ploc3_pet_u11 {
            Pint            impl_dep;      /∗ implementation-dependent ∗/
        } pet_u11;
        struct Ploc3_pet_u12 {
            Pline_attrs     line_attrs;    /∗ polyline attributes ∗/
        } pet_u12;
    } pets;
} Ploc_data3;
    typedef struct {
        Pasf           type_asf;      /∗ line type asf ∗/
        Pasf           width_asf;     /∗ line width asf ∗/
        Pasf           colr_ind_asf;  /∗ line color index asf ∗/
        Pint           ind;           /∗ line index ∗/
        Pline_bundle   bundle;        /∗ line bundle ∗/
    } Pline_attrs;
        typedef enum {
            PASF_BUNDLED,   /∗ bundled attributes ∗/
            PASF_INDIV      /∗ individual attributes ∗/
        } Pasf;
        typedef struct {
            Pint      type;      /∗ line type ∗/
            Pfloat    width;     /∗ line width scale factor ∗/
            Pint      colr_ind;  /∗ color index ∗/
        } Pline_bundle;
    typedef enum {
        PFLAG_LINE,      /∗ polyline ∗/
        PFLAG_FILL,      /∗ fill area ∗/
        PFLAG_FILL_SET   /∗ fill area set ∗/
    } Pline_fill_ctrl_flag;
    typedef union {
        Pline_attrs     line_attrs;   /∗ polyline attributes ∗/
        Pint_attrs      int_attrs;    /∗ interior attributes ∗/
        Ploc_fill_set   fill_set;     /∗ fill area set attributes ∗/
    } Ploc_attrs;
        typedef struct {
            Pasf         style_asf;       /∗ interior asf ∗/
            Pasf         style_ind_asf;   /∗ interior style asf ∗/
            Pasf         colr_ind_asf;    /∗ interior color index asf ∗/
            Pint         ind;             /∗ interior index ∗/
            Pint_bundle  bundle;          /∗ interior bundle ∗/
        } Pint_attrs;
            typedef struct {
                Pint_style   style;       /∗ interior style ∗/
                Pint         style_ind;   /∗ interior style index ∗/
                Pint         colr_ind;    /∗ interior color index ∗/
            } Pint_bundle;
                typedef enum {
                    PSTYLE_HOLLOW,   /∗ hollow interior ∗/
                    PSTYLE_SOLID,    /∗ solid interior ∗/
                    PSTYLE_PAT,      /∗ patterned interior ∗/
                    PSTYLE_HATCH,    /∗ hatched interior ∗/
                    PSTYLE_EMPTY     /∗ empty interior ∗/
                } Pint_style;
        typedef struct {
            Pint_attrs     int_attrs;    /∗ interior attributes ∗/
            Pedge_attrs    edge_attrs;   /∗ edge attributes ∗/
        } Ploc_fill_set;
            typedef struct {
                Pasf           flag_asf;       /∗ edge flag asf ∗/
                Pasf           type_asf;       /∗ edge type asf ∗/
                Pasf           width_asf;      /∗ edge width asf ∗/
                Pasf           colr_ind_asf;   /∗ edge color index asf ∗/
                Pint           ind;            /∗ edge index ∗/
                Pedge_bundle   bundle;         /∗ edge bundle ∗/
            } Pedge_attrs;
                typedef struct {
                    Pedge_flag   flag;       /∗ edge flag ∗/
                    Pint         type;       /∗ edge type ∗/
                    Pfloat       width;      /∗ edge width scale factor ∗/
                    Pint         colr_ind;   /∗ edge color index ∗/
                } Pedge_bundle;
                    typedef enum {
                        PEDGE_OFF,   /∗ edges off ∗/
                        PEDGE_ON     /∗ edges on ∗/
                    } Pedge_flag;

Constants

Data Structure Constants     Constant               Description
---------------------------------------------------------------------------
Line and edge types          PLINE_SOLID            Solid line
                             PLINE_DASH             Dashed line
                             PLINE_DOT              Dotted line
                             PLINE_DOTDASH          Dashed-dotted line
                             PLINE_DASH_2_DOT       Dash-2-dots line
                             PLINE_DASH_3_DOT       Dash-3-dots line
                             PLINE_LONG_DASH        Long dashed line
                             PLINE_LONG_SHORT_DAS   Long-short dashed line
                             PLINE_SPACED_DASH      Spaced dashed line
                             PLINE_SPACED_DOT       Spaced dotted line
                             PLINE_DOUBLE_DOT       Double-dotted line
                             PLINE_TRIPLE_DOT       Triple-dotted line
                             PLINE_CENTER           Long line, dash, long
                                                    line
                             PLINE_PHANTOM          Long line, two dashes,
                                                    long line
---------------------------------------------------------------------------

Description

pinq_loc_st3 queries the workstation state list and returns values for the following:

•Operating mode

•Echo switch value

•Initial view index

•Initial locator position in world coordinates

•Prompt and echo type

•Echo volume in device coordinates

•Locator data record

See Also

pcreate_store
pdel_store
pinit_loc3
pinq_loc_st
pset_loc_mode

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