 adjusting for the node's rotation
    effectiveAngle(id, angle) {
      const dir = id[1];
      let a = 0;
      if (dir === '1') a = 45;
      else if (dir === '2') a = 90;
      else if (dir === '3') a = 135;
      else if (dir === '4') a = 180;
      else if (dir === '5') a = 225;
      else if (dir === '6') a = 270;
      else if (dir === '7') a = 315;
      a += angle;
      if (a < 0) a += 360;
      else if (a >= 360) a -= 360;
      return a;
    }

    // Override this method to find the offset s