Modify generate_axiom to use generate_group helper
This commit is contained in:
parent
eb1fefbf5c
commit
baa2912e5b
@ -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) {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user