DragonFly On-Line Manual Pages

Search: Section:  


geoLnArr(3)                  Geography C functions                 geoLnArr(3)

See the file man.macros.

NAME

GeoLnArr, GeoLnArrCreate, GeoLnArrSetDescr, GeoLnArrSetAlloc, GeoLnArrAddLine, GeoLnArrPutLine, GeoLnArrContainGeoPt, GeoLnArrGetDescr, GeoLnArrGetInfo, GeoLnArrGetLine, GeoLnArrFree, GeoLnArrDestroy, - manage GeoLnArr objects, which are containers for GeoLn objects.

SYNOPSIS

#include <geoLines.h> GeoLnArr GeoLnArrCreate(unsigned nLinesMax); void GeoLnArrSetAlloc(GeoLnArr geoLnArr, unsigned nLinesMax); void GeoLnArrFree(GeoLnArr geoLnArr); void GeoLnArrDestroy(GeoLnArr geoLnArr); void GeoLnArrSetDescr(GeoLnArr geoLnArr, CONST char *descr); int GeoLnArrAddLine(GeoLn geoLn, GeoLnArr geoLnArr); int GeoLnArrPutLine(GeoLn geoLn, GeoLnArr geoLnArr); int GeoLnArrContainGeoPt(GeoPt geoPt, GeoLnArr geoLnArr); char *GeoLnArrGetDescr(GeoLnArr geoLnArr); struct GeoLnArrInfo GeoLnArrGetInfo(GeoLnArr lnArr); GeoLn GeoLnArrGetLine(GeoLnArr geoLnArr, unsigned n);

DESCRIPTION

These functions create, manipulate, and access geolinearrays, which are arrays of geolines. Geolines are arrays of geographic points. See geoLn(3) and geography(3) for information on geolines and geographic points. Geolinearrays are represented as objects of type GeoLnArr. GeoLnArrCreate creates and initializes a geolinearray with storage for up to nLinesMax geolines. It returns a new geolinearray, or NULL if it fails. When no longer needed, the array should be destroyed with a call to GeoLnArrDestroy. GeoLnArrSetAlloc sets the internal allocation for geoLnArr so that it can hold up to nLinesMax geolines. GeoLnArrFree frees internal storage in geoLnArr. GeoLnArrDestroy frees internal storage in geoLnArr and frees geoLnArr. GeoLnArrSetDescr sets the descriptor for geoLnArr to descr. The descriptor is a text string with no required format which normally contains human-readable information about the geolinearray. GeoLnArrGetDescr returns the descriptor for geoLnArr. The return value should not be modified by the caller. GeoLnArrAddLine copies geoLn onto the end of geoLnArr. It automatically increases geoLnArr's allocation if necessary. GeoLnArrAddLine returns true if successful, otherwise it returns false, leaving geoLnArr untouched. GeoLnArrPutLine behaves similarly to GeoLnArrAddLine, except that it transfers geoLn onto the end of geoLnArr, instead of making a copy. geoLn becomes the property of geoLnArr. The user should not subsequently modify or delete geoLn. GeoLnArrPutLine is faster and more efficient with memory and GeoLnArrAddLine. GeoLnArrPutLine returns true if successful, otherwise it returns false, leaving geoLnArr untouched. GeoLnArrContainGeoPt returns true if any geoline in geoLnArr contains geoPt, as determined by GeoLnContainPt (see geoLn(3)). GeoLnArrGetInfo returns a structure of form: struct GeoLnArrInfo { unsigned nLines; /* Number of lines */ unsigned nPts; /* Number of points for all lines */ unsigned nMax; /* Number of points in longest line */ Angle latMax; /* Max longitude for all lines */ Angle lonMax; /* Max latitude for all lines */ Angle latMin; /* Min longitude for all lines */ Angle lonMin; /* Min latitude for all lines */ }; in which nLines is the number of lines in geoLnArr, nPts is the number of points for all lines, nMax is the number of points in longest line, latMax is the maximum longitude for all lines in Angle units, lonMax is the maximum latitude for all lines in Angle units, latMin is the minimum longitude for all lines in Angle units, and lonMin is the minimum latitude for all lines in Angle units. See the geography (3) man page for information on Angle units. GeoLnArrGetLine returns the geoline with index n from geoLnArr. The first geoline in a geolinearray has index 0. It returns NULL if n is out of bounds.

SEE ALSO

geoLn, geography

KEYWORDS

GeoLnArr, geolinearray, geography, container

AUTHOR

Gordon Carrie (user0@tkgeomap.org) Geography 2 geoLnArr(3)

Search: Section: