/** * @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; }