void LidarOverlay::loadLidarOverlayCache()

in sensor_fusion_pkg/src/lidar_overlay.cpp [65:83]


    void LidarOverlay::loadLidarOverlayCache(const std::bitset<8>& sectorLidarData){
        auto overlay = cv::Mat(imageHeight_,
                               imageWidth_,
                               CV_8UC3,
                               LIDAR_OVERLAY_CONFIG_LIDAR_OVERLAY_BACKGROUND_COLOR);
        
        int cacheKey = (int)(sectorLidarData.to_ulong());
        if(lidarOverlayCache_.find(cacheKey) == lidarOverlayCache_.end()){
            for(size_t sector_idx = 0; sector_idx < sectorLidarData.size(); sector_idx++){
                if(sectorLidarData[sector_idx] && sector_idx < lidarOverlayConfiguration_[LIDAR_OVERLAY_CONFIG_LIDAR_OVERLAY_NUM_SECTORS_KEY]){
                    cv::fillPoly(overlay,
                                 sectorCoordinatesMap_[sector_idx],
                                 LIDAR_OVERLAY_CONFIG_LIDAR_OVERLAY_FILL_COLOR);
                }
            }
            drawSectorSeparatorLinesOnImage(overlay);
            lidarOverlayCache_[cacheKey] = overlay;
        }
    }