[ Previous | Next | Contents | Glossary | Home | Search ]
GL3.2 for AIX: Graphics Library (GL) Technical Reference

## pmv Subroutine

### Purpose

Moves to the starting point for a filled polygon.

### Libraries

Graphics Library

C (libgl.a)

FORTRAN (libfgl.a)

### C Syntax

void pmv
(Coord x, Coord y, Coord z)
void pmvi
(Icoord x, Icoord y, Icoord z)
void pmvs
(Scoord x, Scoord y, Scoord z)
void pmv2
(Coord x, Coord y)
void pmv2i
(Icoord x, Icoord y)
void pmv2s
(Scoord x, Scoord y)

### FORTRAN Syntax

SUBROUTINE PMV(x, y, z)
REAL x, y, z
SUBROUTINE PMVI(x, y, z)
INTEGER*4 x, y, z
SUBROUTINE PMVS(x, y, z)
INTEGER*2 x, y, z
SUBROUTINE PMV2(x, y)
REAL x, y
SUBROUTINE PMV2I(x, y)
INTEGER*4 x, y
SUBROUTINE PMV2S(x, y)
INTEGER*2 x, y
Note: For FORTRAN users, the INTEGER*2 versions of this subroutine, PMVS and PMV2S, should not be called with integer constant parameters. For example, 2 is an integer constant; JJ is an integer variable. The XL FORTRAN compiler, invoked by the xlf command, stores all integer constants as long integers (INTEGER*4), not as short integers (INTEGER*2). Invoking one of the short versions of this subroutine with an integer constant will result in unexpected behavior.

### Description

The pmv subroutine specifies the starting point of a filled polygon. To draw a typical polygon, start with a call to the pmv subroutine, follow it with a sequence of calls to the pdr subroutine, and end it with a call to the pclos subroutine.

There can be no more than 256 vertices in a polygon. Therefore, there can be no more than 255 calls to the pdr subroutine between calls to the pmv and pclos subroutines.

Between calls to the pmv and pclos subroutines, you can issue calls only to the following GL subroutines:

Use the lmdef and lmbind subroutines to respecify only materials and their properties.

The six different forms for the pmv subroutine are as follows:

 2-D 3-D Int16 pmv2s pmvs Int32 pmv2i pmvi float pmv2 pmv

The syntax for each of the subroutine forms is the same except for the parameter type. They differ only in that pmv expects real coordinates, pmvi expects integer coordinates, and pmvs expects short integer coordinates. In addition, the pmv2 routines assume a 2-D point instead of a 3-D point.

### Parameters

 x Specifies the x coordinate of the starting point for the polygon. y Specifies the y coordinate of the starting point for the polygon. z Specifies the z coordinate of the starting point for the polygon.

### Example

The example C language program zbuffer1.c uses the pmv subroutine to move to the beginning position for drawing a filled polygon.

### Implementation Specifics

This subroutine is part of GL in the AIXwindows Environment/6000 Version 1, Release 2 with AIXwindows/3D Feature.

### Files

 /usr/include/gl/gl.h Contains C language constant and variable type definitions for GL. /usr/include/gl/fgl.h Contains FORTRAN constant and variable type definitions for GL.

### Related Information

Forcing the system to draw concave polygons correctly with the concave subroutine.

Closing a filled polygon with the pclos subroutine.

Drawing a polygon with the poly subroutine.

Drawing a relative polygon with the rpdr subroutine.

Moving the current graphics position to a starting point for a filled polygon relative to the current point with the rpmv subroutine.

Selecting the shading model used to draw a polygon with the shademodel subroutine.

AIX Graphics Library Overview, Creating Lighting Effects, Drawing with Move-Draw Style Subroutines, Setting Drawing Attributes, and Working in Color Map and RGB Modes.

[ Previous | Next | Contents | Glossary | Home | Search ]