/** * \brief Reset Walker * * Frees all states from the worklist, resetting the walker * for reuse in a new walk. */ void BMW_reset(BMWalker *walker) { while (BMW_current_state(walker)) { BMW_state_remove(walker); } walker->depth = 0; BLI_gset_clear(walker->visit_set, NULL); BLI_gset_clear(walker->visit_set_alt, NULL); }
/** * \brief Reset Walker * * Frees all states from the worklist, resetting the walker * for reuse in a new walk. */ void BMW_reset(BMWalker *walker) { while (BMW_current_state(walker)) { BMW_state_remove(walker); } walker->depth = 0; BLI_ghash_free(walker->visithash, NULL, NULL); BLI_ghash_free(walker->secvisithash, NULL, NULL); walker->visithash = BLI_ghash_ptr_new("bmesh walkers 1"); walker->secvisithash = BLI_ghash_ptr_new("bmesh walkers sec 1"); }