示例#1
0
/**
 * Merge point cloud in the internal model
 * with the sensor to world transformation,
 * and slide, save, load tiles.
 *
 * @param cloud: point cloud in the sensor frame
 * @param transformation: sensor to world transformation
 */
void atlaas::merge(points& cloud, const matrix& transformation,
        const covmat& covariance, bool dump) {
    if (cloud.size() < 1)
        return; // pcl writeBinaryCompressed crash with empty cloud
    if (dump) {
        save_inc(cloud, transformation);
        if (reprocess_in_progress)
            return;
    }

    sensor_xy = matrix_to_point(transformation);
    // slide map while needed
    do_slide();
    // use dynamic merge
    // clear the dynamic map (zeros)
    cell_info_t zeros{}; // value-initialization w/empty initializer
    std::fill(dyninter.begin(), dyninter.end(), zeros);
    // transform the cloud from sensor to custom frame
    transform(cloud, transformation);
    // merge the point-cloud
    rasterize(cloud, dyninter);

    // merge the dynamic atlaas with internal data
    merge();
}
示例#2
0
void
ValueList::init_keystrings()
{
    m_keyStrings.resize(VAL_NUMBER_OF);

    int cnt = 0;
    //--------------------------------------------------
    m_keyStrings[save_inc(&cnt)] = "VAL_RES_W";
    m_keyStrings[save_inc(&cnt)] = "VAL_RES_H";
    //--------------------------------------------------
    m_keyStrings[save_inc(&cnt)] = "VAL_CELL_W";
    m_keyStrings[save_inc(&cnt)] = "VAL_CELL_H";
    //--------------------------------------------------
    m_keyStrings[save_inc(&cnt)] = "VAL_FIELD_OFFSET_X";
    m_keyStrings[save_inc(&cnt)] = "VAL_FIELD_OFFSET_Y";
    //--------------------------------------------------
    m_keyStrings[save_inc(&cnt)] = "VAL_SHOVE_W";
    m_keyStrings[save_inc(&cnt)] = "VAL_SHOVE_H";
    //--------------------------------------------------
    m_keyStrings[save_inc(&cnt)] = "VAL_MAX_MAPS";
    //--------------------------------------------------
    m_keyStrings[save_inc(&cnt)] = "VAL_INTRO_TIME_LOGO";
    m_keyStrings[save_inc(&cnt)] = "VAL_INTRO_TIME_TITLE";
    //--------------------------------------------------
    m_keyStrings[save_inc(&cnt)] = "VAL_FIELD_WIDTH";
    m_keyStrings[save_inc(&cnt)] = "VAL_FIELD_HEIGHT";
    //--------------------------------------------------
    m_keyStrings[save_inc(&cnt)] = "VAL_MAX_PLAYERS";
    //--------------------------------------------------
    m_keyStrings[save_inc(&cnt)] = "VAL_NUM_TO_WIN_MATCH";
    m_keyStrings[save_inc(&cnt)] = "VAL_WIN_ON_WINS";
    m_keyStrings[save_inc(&cnt)] = "VAL_ENCLOSEMENT_DEPTH";
    m_keyStrings[save_inc(&cnt)] = "VAL_TEAMPLAY";
    m_keyStrings[save_inc(&cnt)] = "VAL_GAME_MUSIC";
    m_keyStrings[save_inc(&cnt)] = "VAL_MENU_MUSIC";
    m_keyStrings[save_inc(&cnt)] = "VAL_MAP";
    m_keyStrings[save_inc(&cnt)] = "VAL_ROUNDTIME";
    m_keyStrings[save_inc(&cnt)] = "VAL_FULLSCREEN";
    m_keyStrings[save_inc(&cnt)] = "VAL_PLAYER_RANDOM_START";
    m_keyStrings[save_inc(&cnt)] = "VAL_GOLDBOMBERMAN";
    m_keyStrings[save_inc(&cnt)] = "VAL_CONVEYOR_SPEED";
    m_keyStrings[save_inc(&cnt)] = "VAL_LOST_NET_REVERT_AI";
    m_keyStrings[save_inc(&cnt)] = "VAL_STOMPED_BOMBS_DETONATE";
    //--------------------------------------------------
    m_keyStrings[save_inc(&cnt)] = "VAL_PLAYER_SPEED";
    m_keyStrings[save_inc(&cnt)] = "VAL_PLAYER_SPEED_ADD";
    m_keyStrings[save_inc(&cnt)] = "VAL_PLAYER_SPEED_MOLASSES";
    m_keyStrings[save_inc(&cnt)] = "VAL_PLAYER_SPEED_CRACK";
    m_keyStrings[save_inc(&cnt)] = "VAL_PLAYER_SPEED_CRACK_ADD";
    m_keyStrings[save_inc(&cnt)] = "VAL_BOMB_ROLL_SPEED";
    m_keyStrings[save_inc(&cnt)] = "VAL_BOMB_PUNCH_SPEED";
    //--------------------------------------------------
    m_keyStrings[save_inc(&cnt)] = "VAL_MAINMENU_FONT_COLOR_R";
    m_keyStrings[save_inc(&cnt)] = "VAL_MAINMENU_FONT_COLOR_G";
    m_keyStrings[save_inc(&cnt)] = "VAL_MAINMENU_FONT_COLOR_B";
    m_keyStrings[save_inc(&cnt)] = "VAL_MENU_KEYREPEAT_DELAY";
    m_keyStrings[save_inc(&cnt)] = "VAL_MENU_KEYREPEAT_INTERVAL";
    m_keyStrings[save_inc(&cnt)] = "VAL_DOUBLECLICK_TIME";
    //--------------------------------------------------
    m_keyStrings[save_inc(&cnt)] = "VAL_FUZE_TIME_NORMAL";
    m_keyStrings[save_inc(&cnt)] = "VAL_FUZE_TIME_SHORT";
    m_keyStrings[save_inc(&cnt)] = "VAL_FUZE_TIME_DUD_MIN";
    m_keyStrings[save_inc(&cnt)] = "VAL_FUZE_TIME_DUD_ADD";
    m_keyStrings[save_inc(&cnt)] = "VAL_TIME_FLAME_TRIGGER";
    m_keyStrings[save_inc(&cnt)] = "VAL_TIME_FLAME";
    m_keyStrings[save_inc(&cnt)] = "VAL_TIME_BRICK_DISINTEGRATE";
    //--------------------------------------------------
    m_keyStrings[save_inc(&cnt)] = "VAL_MAX_TIME_PER_FRAME";
    //--------------------------------------------------
    m_keyStrings[save_inc(&cnt)] = "VAL_TEAMPLAY_TIME_TRUECOLORS";
    //--------------------------------------------------
    m_keyStrings[save_inc(&cnt)] = "VAL_SHOW_POWERUPS_IN_BRICKS";
    m_keyStrings[save_inc(&cnt)] = "VAL_SUICIDE_IMPOSSIBLE";
    //--------------------------------------------------
    m_keyStrings[save_inc(&cnt)] = "VAL_FIREINTHEHOLE_BOMBS";
    m_keyStrings[save_inc(&cnt)] = "VAL_FIREINTHEHOLE_TIME";
    //--------------------------------------------------
    m_keyStrings[save_inc(&cnt)] = "VAL_PLAYER_KEEPS_ADDITIONAL_PUS";
    m_keyStrings[save_inc(&cnt)] = "VAL_TIME_POWERUP_RECYCLE";
    m_keyStrings[save_inc(&cnt)] = "VAL_POWERUPS_DESTROYABLE";
    m_keyStrings[save_inc(&cnt)] = "VAL_DISEASES_DESTROYABLE";
    m_keyStrings[save_inc(&cnt)] = "VAL_TRY_HIDING_DEAD_PLAYER_PUS";
    m_keyStrings[save_inc(&cnt)] = "VAL_TRY_HIDING_EXCLUSION_PUS";
    m_keyStrings[save_inc(&cnt)] = "VAL_TRY_HIDING_OTHER_RECYCLED_PUS";
    //--------------------------------------------------
    m_keyStrings[save_inc(&cnt)] = "VAL_PU_INIT_BOMB";
    m_keyStrings[save_inc(&cnt)] = "VAL_PU_INIT_FLAME";
    m_keyStrings[save_inc(&cnt)] = "VAL_PU_INIT_DISEASE";
    m_keyStrings[save_inc(&cnt)] = "VAL_PU_INIT_ABILITY_KICK";
    m_keyStrings[save_inc(&cnt)] = "VAL_PU_INIT_EXTRA_SPEED";
    m_keyStrings[save_inc(&cnt)] = "VAL_PU_INIT_ABLITY_PUNCH";
    m_keyStrings[save_inc(&cnt)] = "VAL_PU_INIT_ABILITY_GRAB";
    m_keyStrings[save_inc(&cnt)] = "VAL_PU_INIT_SPOOGER";
    m_keyStrings[save_inc(&cnt)] = "VAL_PU_INIT_GOLDFLAME";
    m_keyStrings[save_inc(&cnt)] = "VAL_PU_INIT_TRIGGER";
    m_keyStrings[save_inc(&cnt)] = "VAL_PU_INIT_JELLY";
    m_keyStrings[save_inc(&cnt)] = "VAL_PU_INIT_EBOLA";
    m_keyStrings[save_inc(&cnt)] = "VAL_PU_INIT_RANDOM";
    //--------------------------------------------------
    m_keyStrings[save_inc(&cnt)] = "VAL_PU_MAX_BOMB";
    m_keyStrings[save_inc(&cnt)] = "VAL_PU_MAX_FLAME";
    m_keyStrings[save_inc(&cnt)] = "VAL_PU_MAX_DISEASE";
    m_keyStrings[save_inc(&cnt)] = "VAL_PU_MAX_ABILITY_KICK";
    m_keyStrings[save_inc(&cnt)] = "VAL_PU_MAX_EXTRA_SPEED";
    m_keyStrings[save_inc(&cnt)] = "VAL_PU_MAX_ABILITY_PUNCH";
    m_keyStrings[save_inc(&cnt)] = "VAL_PU_MAX_ABILITY_GRAB";
    m_keyStrings[save_inc(&cnt)] = "VAL_PU_MAX_SPOOGER";
    m_keyStrings[save_inc(&cnt)] = "VAL_PU_MAX_GOLDFLAME";
    m_keyStrings[save_inc(&cnt)] = "VAL_PU_MAX_TRIGGER";
    m_keyStrings[save_inc(&cnt)] = "VAL_PU_MAX_JELLY";
    m_keyStrings[save_inc(&cnt)] = "VAL_PU_MAX_EBOLA";
    m_keyStrings[save_inc(&cnt)] = "VAL_PU_MAX_RANDOM";
    //--------------------------------------------------
    m_keyStrings[save_inc(&cnt)] = "VAL_PU_FIELD_BOMB";
    m_keyStrings[save_inc(&cnt)] = "VAL_PU_FIELD_FLAME";
    m_keyStrings[save_inc(&cnt)] = "VAL_PU_FIELD_DISEASE";
    m_keyStrings[save_inc(&cnt)] = "VAL_PU_FIELD_ABILITY_KICK";
    m_keyStrings[save_inc(&cnt)] = "VAL_PU_FIELD_EXTRA_SPEED";
    m_keyStrings[save_inc(&cnt)] = "VAL_PU_FIELD_ABLITY_PUNCH";
    m_keyStrings[save_inc(&cnt)] = "VAL_PU_FIELD_ABILITY_GRAB";
    m_keyStrings[save_inc(&cnt)] = "VAL_PU_FIELD_SPOOGER";
    m_keyStrings[save_inc(&cnt)] = "VAL_PU_FIELD_GOLDFLAME";
    m_keyStrings[save_inc(&cnt)] = "VAL_PU_FIELD_TRIGGER";
    m_keyStrings[save_inc(&cnt)] = "VAL_PU_FIELD_JELLY";
    m_keyStrings[save_inc(&cnt)] = "VAL_PU_FIELD_EBOLA";
    m_keyStrings[save_inc(&cnt)] = "VAL_PU_FIELD_RANDOM";
    //--------------------------------------------------
    m_keyStrings[save_inc(&cnt)] = "VAL_DSE_TIME_LIMITED";
    m_keyStrings[save_inc(&cnt)] = "VAL_DSE_MULTIPLY";
    m_keyStrings[save_inc(&cnt)] = "VAL_DSE_MIN_KEEP_BEFORE_PASS";
    m_keyStrings[save_inc(&cnt)] = "VAL_DSE_ARE_CUREABLE";
    m_keyStrings[save_inc(&cnt)] = "VAL_DSE_CURE_CHANCE";
    m_keyStrings[save_inc(&cnt)] = "VAL_DSE_TIME_MOLASSES";
    //--------------------------------------------------
    m_keyStrings[save_inc(&cnt)] = "VAL_DSE_TIME_CRACK";
    m_keyStrings[save_inc(&cnt)] = "VAL_DSE_TIME_CONSTIPATION";
    m_keyStrings[save_inc(&cnt)] = "VAL_DSE_TIME_POOPS";
    m_keyStrings[save_inc(&cnt)] = "VAL_DSE_TIME_SHORTFLAME";
    m_keyStrings[save_inc(&cnt)] = "VAL_DSE_TIME_CRACKPOOPS";
    m_keyStrings[save_inc(&cnt)] = "VAL_DSE_TIME_SHORTFUZE";
    m_keyStrings[save_inc(&cnt)] = "VAL_DSE_TIME_SWAP";
    m_keyStrings[save_inc(&cnt)] = "VAL_DSE_TIME_REVERSED";
    m_keyStrings[save_inc(&cnt)] = "VAL_DSE_TIME_LEPROSY";
    m_keyStrings[save_inc(&cnt)] = "VAL_DSE_TIME_INVISIBLE";
    m_keyStrings[save_inc(&cnt)] = "VAL_DSE_TIME_DUDS";
    m_keyStrings[save_inc(&cnt)] = "VAL_DSE_TIME_HYPERSWAP";
    //--------------------------------------------------
    m_keyStrings[save_inc(&cnt)] = "VAL_DSE_PROB_MOLASSES";
    m_keyStrings[save_inc(&cnt)] = "VAL_DSE_PROB_CRACK";
    m_keyStrings[save_inc(&cnt)] = "VAL_DSE_PROB_CONSTIPATION";
    m_keyStrings[save_inc(&cnt)] = "VAL_DSE_PROB_POOPS";
    m_keyStrings[save_inc(&cnt)] = "VAL_DSE_PROB_SHORTFLAME";
    m_keyStrings[save_inc(&cnt)] = "VAL_DSE_PROB_CRACKPOOPS";
    m_keyStrings[save_inc(&cnt)] = "VAL_DSE_PROB_SHORTFUZE";
    m_keyStrings[save_inc(&cnt)] = "VAL_DSE_PROB_SWAP";
    m_keyStrings[save_inc(&cnt)] = "VAL_DSE_PROB_REVERSED";
    m_keyStrings[save_inc(&cnt)] = "VAL_DSE_PROB_LEPROSY";
    m_keyStrings[save_inc(&cnt)] = "VAL_DSE_PROB_INVISIBLE";
    m_keyStrings[save_inc(&cnt)] = "VAL_DSE_PROB_DUDS";
    m_keyStrings[save_inc(&cnt)] = "VAL_DSE_PROB_HYPERSWAP";
    //--------------------------------------------------
    m_keyStrings[save_inc(&cnt)] = "VAL_COLOR_PLAYER_0R";
    m_keyStrings[save_inc(&cnt)] = "VAL_COLOR_PLAYER_0G";
    m_keyStrings[save_inc(&cnt)] = "VAL_COLOR_PLAYER_0B";
    m_keyStrings[save_inc(&cnt)] = "VAL_COLOR_PLAYER_1R";
    m_keyStrings[save_inc(&cnt)] = "VAL_COLOR_PLAYER_1G";
    m_keyStrings[save_inc(&cnt)] = "VAL_COLOR_PLAYER_1B";
    m_keyStrings[save_inc(&cnt)] = "VAL_COLOR_PLAYER_2R";
    m_keyStrings[save_inc(&cnt)] = "VAL_COLOR_PLAYER_2G";
    m_keyStrings[save_inc(&cnt)] = "VAL_COLOR_PLAYER_2B";
    m_keyStrings[save_inc(&cnt)] = "VAL_COLOR_PLAYER_3R";
    m_keyStrings[save_inc(&cnt)] = "VAL_COLOR_PLAYER_3G";
    m_keyStrings[save_inc(&cnt)] = "VAL_COLOR_PLAYER_3B";
    m_keyStrings[save_inc(&cnt)] = "VAL_COLOR_PLAYER_4R";
    m_keyStrings[save_inc(&cnt)] = "VAL_COLOR_PLAYER_4G";
    m_keyStrings[save_inc(&cnt)] = "VAL_COLOR_PLAYER_4B";
    m_keyStrings[save_inc(&cnt)] = "VAL_COLOR_PLAYER_5R";
    m_keyStrings[save_inc(&cnt)] = "VAL_COLOR_PLAYER_5G";
    m_keyStrings[save_inc(&cnt)] = "VAL_COLOR_PLAYER_5B";
    m_keyStrings[save_inc(&cnt)] = "VAL_COLOR_PLAYER_6R";
    m_keyStrings[save_inc(&cnt)] = "VAL_COLOR_PLAYER_6G";
    m_keyStrings[save_inc(&cnt)] = "VAL_COLOR_PLAYER_6B";
    m_keyStrings[save_inc(&cnt)] = "VAL_COLOR_PLAYER_7R";
    m_keyStrings[save_inc(&cnt)] = "VAL_COLOR_PLAYER_7G";
    m_keyStrings[save_inc(&cnt)] = "VAL_COLOR_PLAYER_7B";
    m_keyStrings[save_inc(&cnt)] = "VAL_COLOR_PLAYER_8R";
    m_keyStrings[save_inc(&cnt)] = "VAL_COLOR_PLAYER_8G";
    m_keyStrings[save_inc(&cnt)] = "VAL_COLOR_PLAYER_8B";
    m_keyStrings[save_inc(&cnt)] = "VAL_COLOR_PLAYER_9R";
    m_keyStrings[save_inc(&cnt)] = "VAL_COLOR_PLAYER_9G";
    m_keyStrings[save_inc(&cnt)] = "VAL_COLOR_PLAYER_9B";
    //--------------------------------------------------

    if (cnt != VAL_NUMBER_OF)
        cerr << "ValueList::load(): Error in 'valuelist.cpp': number of enum entries does not match with number of load instructions!" << endl;
}