PostGIS  3.7.0dev-r@@SVN_REVISION@@

◆ SHPComputeExtents()

void SHPAPI_CALL SHPComputeExtents ( SHPObject psObject)

Definition at line 1172 of file shpopen.c.

1174 {
1175  int i;
1176 
1177 /* -------------------------------------------------------------------- */
1178 /* Build extents for this object. */
1179 /* -------------------------------------------------------------------- */
1180  if( psObject->nVertices > 0 )
1181  {
1182  psObject->dfXMin = psObject->dfXMax = psObject->padfX[0];
1183  psObject->dfYMin = psObject->dfYMax = psObject->padfY[0];
1184  psObject->dfZMin = psObject->dfZMax = psObject->padfZ[0];
1185  psObject->dfMMin = psObject->dfMMax = psObject->padfM[0];
1186  }
1187 
1188  for( i = 0; i < psObject->nVertices; i++ )
1189  {
1190  psObject->dfXMin = MIN(psObject->dfXMin, psObject->padfX[i]);
1191  psObject->dfYMin = MIN(psObject->dfYMin, psObject->padfY[i]);
1192  psObject->dfZMin = MIN(psObject->dfZMin, psObject->padfZ[i]);
1193  psObject->dfMMin = MIN(psObject->dfMMin, psObject->padfM[i]);
1194 
1195  psObject->dfXMax = MAX(psObject->dfXMax, psObject->padfX[i]);
1196  psObject->dfYMax = MAX(psObject->dfYMax, psObject->padfY[i]);
1197  psObject->dfZMax = MAX(psObject->dfZMax, psObject->padfZ[i]);
1198  psObject->dfMMax = MAX(psObject->dfMMax, psObject->padfM[i]);
1199  }
1200 }
#define MIN(a, b)
Definition: shpopen.c:64
#define MAX(a, b)
Definition: shpopen.c:65
double dfYMax
Definition: shapefil.h:401
double * padfX
Definition: shapefil.h:390
double dfXMin
Definition: shapefil.h:395
int nVertices
Definition: shapefil.h:389
double dfYMin
Definition: shapefil.h:396
double * padfY
Definition: shapefil.h:391
double dfMMax
Definition: shapefil.h:403
double * padfZ
Definition: shapefil.h:392
double dfZMax
Definition: shapefil.h:402
double dfXMax
Definition: shapefil.h:400
double * padfM
Definition: shapefil.h:393
double dfMMin
Definition: shapefil.h:398
double dfZMin
Definition: shapefil.h:397

References tagSHPObject::dfMMax, tagSHPObject::dfMMin, tagSHPObject::dfXMax, tagSHPObject::dfXMin, tagSHPObject::dfYMax, tagSHPObject::dfYMin, tagSHPObject::dfZMax, tagSHPObject::dfZMin, MAX, MIN, tagSHPObject::nVertices, tagSHPObject::padfM, tagSHPObject::padfX, tagSHPObject::padfY, and tagSHPObject::padfZ.