SunPHIGS 3.0 Extensions Reference Manual
  Rechercher uniquement dans ce livre
Télécharger cet ouvrage au format PDF

NAME

SET PARAMETRIC SURFACE CHARACTERISTICS - create structure element to set the current parametric surface characteristics

SYNOPSIS

C Syntax

void
pset_para_surf_characs( psc_type, data )
Pint                  psc_type;    type
Ppara_surf_characs    * data;      OUT data record

Required PHIGS Operating States

(PHOP, * ,* ,* )

FORTRAN Syntax

SUBROUTINE pspsc ( PSCTYP,LDR,DATREC )
INTEGER             PSCTYP             parametric surface characteristic type
INTEGER             LDR                dimension of data record array
CHARACTER* 80       DATREC(LDR)        data record

Required PHIGS Operating States

(PHOP, * ,* ,* )

DESCRIPTION

Purpose

SET PARAMETRIC SURFACE CHARACTERISTICS sets current parametric surface characteristics to be used when displaying subsequent parametric surface output primitives.

C Input Parameter

psc_type
The parametric surface characteristic types.
1   PSC_NONE                              No surface characteristics
                                          specified
2   PSC_WS_DEP                            Workstation dependent
3   PSC_ISOPARAMETRIC_CURVES              Isoparametric curves specified
4   PSC_LEVEL_CURVES_MC                   Level curves specified in
                                          Modelling Coordinates
5   PSC_LEVEL_CURVES_WC                   Level curves specified in World
                                          Coordinates

C Output Parameters

data
The surface characteristics data record. A pointer to a structure Ppara_surf_characs. Ppara_surf_characs is defined in phigs.h as follows:
typedef union {
struct {
Pint
unused;
} psc_1;
struct {
Pint
unused;
} psc_2;
struct {
Pcurve_placement
placement;
Pint
u_count;
Pint
v_count;
} psc_3;
struct {
Ppoint3
origin;
Pvec3
direction;
Pfloat_list
params;
} psc_4;
struct {
Ppoint3
origin;
Pvec3
direction;
Pfloat_list
params;
} psc_5;
} Ppara_surf_characs;
Pcurve_placement is defined in phigs.h as follows:
typedef enum {
PCP_UNIFORM,
PCP_NON_UNIFORM
} Pcurve_placement;

FORTRAN Input Parameters

PSCTYP
The parametric surface characteristic type. The valid values defined in phigs77.h are:
1
PSCNON
2
PSCWSD
3
PSCISO
4
PSCLMC
5
PSCLWC
LDR
The dimension of the data record array, DATREC.
DATREC(LDR)
The data record is packed by PACK DATA RECORD. The contents depend on the parametric surface characteristic type specified:
For PSCTYP = PSCNON or PSCWSD:
IL = the number of integers, 0
RL = the number of real values, 0
SL = the number of strings, 0
For PSCTYP = PSCICO:
IL = the number of integers, 3
IA = an array of integers, with the following values:
IA(1 )= the curve placement. Valid values defined in phigs77.h are:
1
PUNIF
2
PNUNIF
IA(2 )= the u_count
IA(3 )= the v_count
RL = the number of reals, 0
SL = the number of strings, 0
For PSCTYP = PSCLMC or PSCLWC:
IL = 1
IA(1 )= number of level curve parameters
RL = 6 + IA(1 )
RA = an array of float values.
RA(1 )- RA(3 )are the x, y, and z coordinates of the origin.
RA(4 )- RA(6 )are the x, y, and z deltas of the direction vector.
RA(7 )- RA(RL) are the level curve parameters.
SL = The number of strings, 0 LSTR = () STR = ()

Execution

When the structure is traversed, SET PARAMETRIC SURFACE CHARACTERISTICS updates the current parametric surface characteristics entry in the traversal state list. These values are used when displaying subsequent parametric surface output primitives. When an element of this type is interpreted, if the specified parametric surface characteristic type is not available on a workstation, or the data record are invalid, type 1 is used and data record contents are workstation-dependent.

ERRORS

005
Ignoring function, function requires state (PHOP, * ,STOP, * )
138
Ignoring function, one or more of the fields in the specified data record is inconsistent with the specified type

SEE ALSO

NON-UNIFORM B-SPLINE SURFACE (3PP)