Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ PEXChangePickDevice(3) — Open3D 4.96

Media Vault

Software Library

Restoration Projects

Artifacts Sought

PEXChangePickDevice(3)  —  Subroutines

Name

PEXChangePickDevice - Change Pick Device Attributes

Synopsis

void PEXChangePickDevice(Display ∗display, PEXWorkstation workstation, int pick_device_type, unsigned long value_mask, PEXPDAttributes ∗values)

Arguments

displayA pointer to a display structure returned by a successful XOpenDisplay call. 

workstationThe resource identifier of the workstation. 

pick_device_type
The pick device type (PEXPickDeviceDCHitBox or PEXPickDeviceNPCHitVolume).

value_maskA mask indicating which attributes to return. 

valuesA pointer to the pick device attribute values. 

Returns

None

Description

This function will modify the attributes of a pick descriptor for the PHIGS workstation resource specified.  The descriptor to be modified will be the currently-defined descriptor for the pick device of the type specified.  Supported pick device types are inquirable via PEXGetEnumTypeInfo. The value mask indicates which attributes are to be changed. The value mask is constructed by or’ing together the following constants:

PEXPDPickStatus
PEXPDPickPath
PEXPDPickPathOrder
PEXPDPickIncl
PEXPDPickExcl
PEXPDPickDataRec
PEXPDPromptEchoType
PEXPDEchoVolume
PEXPDEchoSwitch

Data Structures

typedef XID             PEXWorkstation;
typedef struct {
    unsigned short      status;
    PEXPickPath         path;
    int                 path_order;
    PEXNameSet          inclusion;
    PEXNameSet          exclusion;
    PEXPickRecord       pick_record;
    PEXEnumTypeIndex    prompt_echo_type;
    PEXViewport         echo_volume;
    int                 echo_switch;
} PEXPDAttributes;
typedef struct {
    unsigned long       count;
    PEXPickElementRef   ∗elements;
} PEXPickPath;
typedef struct {
    PEXStructure        sid;
    unsigned long       offset;
    unsigned long       pick_id;
} PEXPickElementRef;
typedef XID             PEXStructure;
typedef XID             PEXNameSet;
typedef union {
    PEXPDNPCHitVolume       volume;
    PEXPDDCHitBox           box;
    PEXPickDataRecord       data;
} PEXPickRecord;
typedef PEXNPCSubVolume PEXPDNPCHitVolume;
typedef struct {
    PEXCoord            min;
    PEXCoord            max;
} PEXNPCSubVolume;
typedef struct {
    float               x;
    float               y;
    float               z;
} PEXCoord;
typedef struct {
    PEXDeviceCoord2D    position;
    float               distance;
} PEXPDDCHitBox;
typedef struct {
    short               x;
    short               y;
} PEXDeviceCoord2D;
typedef struct {
    unsigned short      length;
    char                ∗record;
} PEXPickDataRecord;
typedef short           PEXEnumTypeIndex;
typedef struct {
    PEXDeviceCoord      min;
    PEXDeviceCoord      max;
    PEXSwitch           use_drawable;
    unsigned char       reserved[3];
} PEXViewport;
typedef struct {
    short               x;
    short               y;
    float               z;
} PEXDeviceCoord;
typedef unsigned char   PEXSwitch;

Errors

BadPEXNameSet
The specified name set resource identifier is invalid.

BadPEXPathThe specified path is invalid. 

BadPEXWorkstation
The specified workstation resource identifier is invalid.

BadValueThe specified pick device type is invalid, a specified value is invalid, or an invalid bit set in the value mask. 

See Also

PEXGetPickDevice, PEXGetEnumTypeInfo

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