75 for (
int y = 0; y < lines; y++) {
79 if (y % chunk_height == 0) {
83 int dy = y % chunk_height;
84 for (
int x=0; x < width; x++) {
90 bool in_object = value > 0.0;
102 if (group_stack.
back().start == -1) {
105 group_stack.
back().start = x;
115 group_stack.
back().start = x;
132 inc_group_map.
erase(x);
134 group_stack.
back().start = -1;
137 auto prev_group = inc_group_map.
at(x);
138 inc_group_map.
erase(x);
140 group_stack.
back().merge_pixel_list(prev_group);
153 group_stack.
back().merge_pixel_list(old_group);
155 if (group_stack.
back().start == -1) {
156 group_stack.
back().start = old_group.start;
171 ps = ps_stack.
back();
178 if (old_group.start == -1) {
183 inc_group_map[old_group.start] = old_group;
185 ps = ps_stack.
back();
205 group_stack.
back().end = x;
208 ps = ps_stack.
back();
213 auto old_group = group_stack.
back();
216 inc_group_map[old_group.start] = old_group;
226 for (
auto& group : inc_group_map) {