Пример #1
0
 /**
  * @param $nodeGettingSwitched
  * @param $nodeToSwitch
  * @return array
  */
 private function isNodeFeasibleToSwitch(RideNode $nodeGettingSwitched, RideNode $nodeToSwitch)
 {
     $left = $nodeGettingSwitched->previousNode;
     $right = $nodeGettingSwitched->nextNode;
     //if previous or next node is null - then we set feas to possible
     if ($left !== null) {
         $feasibleLeft = $this->adjacenceMatrix[$left->getRideNodeHashId()][$nodeToSwitch->getRideNodeHashId()];
     } else {
         $feasibleLeft = 0;
     }
     if ($right !== null) {
         $feasibleRight = $this->adjacenceMatrix[$nodeToSwitch->getRideNodeHashId()][$right->getRideNodeHashId()];
     } else {
         $feasibleRight = 0;
     }
     if ($feasibleLeft !== -1 && $feasibleRight !== -1) {
         return true;
     }
     return false;
 }