bool Smt3DFeature::Equal( Smt3DFeature * poFeature ) { if( poFeature == this ) return true; if( GetID() != poFeature->GetID() ) return false; if( GetGeometryRef() == NULL && poFeature->GetGeometryRef() != NULL ) return false; if( GetGeometryRef() != NULL && poFeature->GetGeometryRef() == NULL ) return false; if( GetGeometryRef() != NULL && poFeature->GetGeometryRef() != NULL && (!GetGeometryRef()->Equals( poFeature->GetGeometryRef() ) ) ) return false; return true; }
OGRBoolean OGRFeature::Equal( OGRFeature * poFeature ) { if( poFeature == this ) return TRUE; if( GetFID() != poFeature->GetFID() ) return FALSE; if( GetDefnRef() != poFeature->GetDefnRef() ) return FALSE; //notdef: add testing of attributes at a later date. if( GetGeometryRef() != NULL && (!GetGeometryRef()->Equal( poFeature->GetGeometryRef() ) ) ) return FALSE; return TRUE; }
SmtGeometry *SmtMultiLineString::Clone() const { SmtMultiLineString *poNewGC; poNewGC = new SmtMultiLineString; for( int i = 0; i < GetNumGeometries(); i++ ) { poNewGC->AddGeometry( GetGeometryRef(i) ); } return poNewGC; }