Exemple #1
0
	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;
	}
Exemple #2
0
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;
	}