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 UsagegReturnInternalPoints3D UsagegDefinePointWorkspacegDrawPolylineSet2D
gDrawPolylineSet3D
gFillPolygonSet2D
gFillPolygonSet3D
gSetPointMode