Modify generate_axiom to use generate_group helper

This commit is contained in:
Maddie Busig 2025-05-11 08:54:26 -07:00
parent 7e8d4d6d1d
commit 65f379930f

View File

@ -226,26 +226,10 @@ void generator_t::clear_all_buffers() {
} }
bool generator_t::generate_axiom(etl::ivector<marker_t>& out_markers) { bool generator_t::generate_axiom(etl::ivector<marker_t>& out_markers) {
const group_output_t& axiom_output = m_group_outputs[m_axiom]; vec2 init_pos(0, 0);
mat<2, 2> init_orient = create_rotation(1, 0);
if (m_leafs_cur->capacity() < axiom_output.m_child_leafs.size() || return generate_group(m_axiom, init_pos, init_orient, out_markers);
m_wleafs_cur->capacity() < axiom_output.m_child_wleafs.size() ||
out_markers.capacity() < axiom_output.m_child_markers.size()) {
mlog::debug << "Reached limit" << endl;
return false;
}
for (const leaf_t& leaf : axiom_output.m_child_leafs) {
m_leafs_cur->push_back(leaf);
}
for (const weighted_leaf_t& wleaf : axiom_output.m_child_wleafs) {
m_wleafs_cur->push_back(wleaf);
}
for (const marker_t& mark : axiom_output.m_child_markers) {
out_markers.push_back(mark);
}
return true;
} }
bool generator_t::generate_group(group_id_t gid, vec2 pos, mat<2, 2> orient, etl::ivector<marker_t>& out_markers) { bool generator_t::generate_group(group_id_t gid, vec2 pos, mat<2, 2> orient, etl::ivector<marker_t>& out_markers) {