GINO Graphics Suite - GINO v9.0  

gReturnInternalPoints

Syntax

[C/C++:]
int gReturnInternalPoints2D(int nn, GPOINT *points2, int np, GPOLYGON *polyline2, int *npts, int * npol);
int gReturnInternalPoints3D(int nn, GPOINT3 *points3, int np, GPOLYGON3 *polyline3, int *npts, int *npol);
[F90:]
integer function gReturnInternalPoints2D(nn, points2, np, polyline2, npts, npol)
integer function gReturnInternalPoints3D(nn, points3, np, polyline3, npts, npol)

integer, intent(in) :: nn,np
type (GPOINT), intent(out) :: points2(*)
type (GPOINT3), intent(out) :: points3(*)
type (GPOLYGON), intent(out) :: polyline2(*)
type (GPOLYGON3), intent(out) :: polyline3(*)
integer, intent(out) :: npts,npol

Arguments

nn
Size of points array

points2,points3
Array to contain internal vertices from point storage workspace

np
Size of polyline array

polyline2,polyline3
Array to contain internal vertices from point storage workspace

npts
Size of polyline array, returns number of points stored

npol
Size of polyline array, returns number of polylines stored

lverts [vb.net only]
Integer array containing number of points in each polyline

xarr,yarr,zarr [vb.net only]
X, Y and Z arrays containing all points

Description

The functions gReturnInternalPoints2D() and gReturnInternalPoints3D() fill two arrays with information about visible lines that have been drawn while internal point storage is switched on. Vertices are stored in space (untransformed) or picture (transformed) mode according to the current point storage mode as set by gSetPointMode().

The functions return all the vertices in the array points2/3 together with an array of polylines in the array polyline2/3 where the vertex pointers in the structures polyline2/3 point to relevant vertices in the points2/3 array.

[VB.NET]
The functions return all the vertices in the arrays xarr,yarr,zarr and the number of vertices in each polygon is stored in the lverts array.

The arguments nn and np should be set to the size of the respective arrays that have been passed to the routines, and arguments npts and npol return the number of points and polylines that are in the internal storage workspace. The functions themselves return the actual number of polylines that have been returned in the user supplied arrays which may be less than the number stored if there is not enough room in the supplied arrays. The total number of vertices that can be stored is limited by the amount of point storage workspace that has been allocated by gDefinePointWorkspace().

The returned polyline array can be drawn or filled using the gDrawPolylineSet2D/3D or gFillPolygonSet2D/3D routines.

See Also

gReturnInternalPoints2D Usage
gReturnInternalPoints3D Usage
gDefinePointWorkspace
gDrawPolylineSet2D
gDrawPolylineSet3D
gFillPolygonSet2D
gFillPolygonSet3D
gSetPointMode