void OGRPolygon::addRingDirectly( OGRLinearRing * poNewRing ) { papoRings = (OGRLinearRing **) OGRRealloc( papoRings, sizeof(void*) * (nRingCount+1)); papoRings[nRingCount] = poNewRing; nRingCount++; }
OGRErr OGRGeometryCollection::addGeometryDirectly( OGRGeometry * poNewGeom ) { papoGeoms = (OGRGeometry **) OGRRealloc( papoGeoms, sizeof(void*) * (nGeomCount+1) ); papoGeoms[nGeomCount] = poNewGeom; nGeomCount++; return OGRERR_NONE; }
void OGRPolygon::addRing( OGRLinearRing * poNewRing ) { papoRings = (OGRLinearRing **) OGRRealloc( papoRings, sizeof(void*) * (nRingCount+1)); papoRings[nRingCount] = new OGRLinearRing( poNewRing ); nRingCount++; if( poNewRing->getCoordinateDimension() == 3 ) nCoordDimension = 3; }
OGRErr OGRGeometryCollection::addGeometryDirectly( OGRGeometry * poNewGeom ) { papoGeoms = (OGRGeometry **) OGRRealloc( papoGeoms, sizeof(void*) * (nGeomCount+1) ); papoGeoms[nGeomCount] = poNewGeom; nGeomCount++; if( poNewGeom->getCoordinateDimension() == 3 ) nCoordinateDimension = 3; return OGRERR_NONE; }
void OGRLineString::setNumPoints( int nNewPointCount ) { if( nNewPointCount == 0 ) { OGRFree( paoPoints ); paoPoints = NULL; OGRFree( padfZ ); padfZ = NULL; nPointCount = 0; return; } if( nNewPointCount > nPointCount ) { paoPoints = (OGRRawPoint *) OGRRealloc(paoPoints, sizeof(OGRRawPoint) * nNewPointCount); assert( paoPoints != NULL ); memset( paoPoints + nPointCount, 0, sizeof(OGRRawPoint) * (nNewPointCount - nPointCount) ); if( getCoordinateDimension() == 3 ) { padfZ = (double *) OGRRealloc( padfZ, sizeof(double)*nNewPointCount ); memset( padfZ + nPointCount, 0, sizeof(double) * (nNewPointCount - nPointCount) ); } } nPointCount = nNewPointCount; }
OGRErr OGRCurveCollection::addCurveDirectly( OGRGeometry* poGeom, OGRCurve* poCurve, int bNeedRealloc ) { if( poCurve->getCoordinateDimension() == 3 && poGeom->getCoordinateDimension() != 3 ) poGeom->setCoordinateDimension(3); else if( poCurve->getCoordinateDimension() != 3 && poGeom->getCoordinateDimension() == 3 ) poCurve->setCoordinateDimension(3); if( bNeedRealloc ) { papoCurves = (OGRCurve **) OGRRealloc( papoCurves, sizeof(OGRCurve*) * (nCurveCount+1) ); } papoCurves[nCurveCount] = poCurve; nCurveCount++; return OGRERR_NONE; }