PostGIS  3.4.0dev-r@@SVN_REVISION@@

◆ SHPComputeExtents() [2/2]

void SHPAPI_CALL SHPComputeExtents ( SHPObject psObject)

Definition at line 1161 of file shpopen.c.

1163 {
1164  int i;
1165 
1166 /* -------------------------------------------------------------------- */
1167 /* Build extents for this object. */
1168 /* -------------------------------------------------------------------- */
1169  if( psObject->nVertices > 0 )
1170  {
1171  psObject->dfXMin = psObject->dfXMax = psObject->padfX[0];
1172  psObject->dfYMin = psObject->dfYMax = psObject->padfY[0];
1173  psObject->dfZMin = psObject->dfZMax = psObject->padfZ[0];
1174  psObject->dfMMin = psObject->dfMMax = psObject->padfM[0];
1175  }
1176 
1177  for( i = 0; i < psObject->nVertices; i++ )
1178  {
1179  psObject->dfXMin = MIN(psObject->dfXMin, psObject->padfX[i]);
1180  psObject->dfYMin = MIN(psObject->dfYMin, psObject->padfY[i]);
1181  psObject->dfZMin = MIN(psObject->dfZMin, psObject->padfZ[i]);
1182  psObject->dfMMin = MIN(psObject->dfMMin, psObject->padfM[i]);
1183 
1184  psObject->dfXMax = MAX(psObject->dfXMax, psObject->padfX[i]);
1185  psObject->dfYMax = MAX(psObject->dfYMax, psObject->padfY[i]);
1186  psObject->dfZMax = MAX(psObject->dfZMax, psObject->padfZ[i]);
1187  psObject->dfMMax = MAX(psObject->dfMMax, psObject->padfM[i]);
1188  }
1189 }
#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.