Пример #1
0
 /**
  * Calcola il dominio comune tra la GeoPolitica attuale ed una seconda fornita
  * - Se le due GeoPolitiche risiedono su di un ramo comune, ritorna la GeoPolitica inferiore
  * - Se le due GeoPolitiche risiedono su rami differenti, ritorna FALSE
  * @param GeoPolitica $g                La seconda GeoPolitica
  * @return false|GeoPolitica      Il dominio comune
  */
 public function dominioComune(GeoPolitica $g)
 {
     if (static::$_ESTENSIONE == $g::$_ESTENSIONE) {
         // Le due sono dello stesso livello.
         if ($this->oid() == $g->oid()) {
             return $this;
         }
         return false;
     } elseif (static::$_ESTENSIONE > $g::$_ESTENSIONE) {
         // Questa e' superiore
         $maggiore = $this;
         $minore = $g;
     } else {
         // Questa e' inferiore
         $maggiore = $g;
         $minore = $this;
     }
     if ($maggiore->contiene($minore)) {
         return $minore;
     }
     return false;
 }