MayaFlux 0.4.0
Digital-First Multimedia Processing Framework
Loading...
Searching...
No Matches

◆ get_bounding_region()

Region MayaFlux::Kakshya::get_bounding_region ( const RegionGroup group)

Get the bounding region that contains all regions in a RegionGroup.

Parameters
groupRegionGroup to query.
Returns
Region representing the bounding box.

Definition at line 99 of file RegionUtils.cpp.

100{
101 if (group.regions.empty())
102 return Region {};
103 auto min_coords = group.regions.front().start_coordinates;
104 auto max_coords = group.regions.front().end_coordinates;
105
106 for (const auto& region : group.regions) {
107 for (size_t i = 0; i < min_coords.size() && i < region.start_coordinates.size(); ++i) {
108 min_coords[i] = std::min(min_coords[i], region.start_coordinates[i]);
109 }
110 for (size_t i = 0; i < max_coords.size() && i < region.end_coordinates.size(); ++i) {
111 max_coords[i] = std::max(max_coords[i], region.end_coordinates[i]);
112 }
113 }
114
115 Region bounds(min_coords, max_coords);
116 set_region_attribute(bounds, "type", std::string("bounding_box"));
117 return bounds;
118}
void set_region_attribute(Region &region, const std::string &key, std::any value)
Set an attribute value on a Region.
std::vector< Region > regions
Collection of regions belonging to this group.
Represents a point or span in N-dimensional space.
Definition Region.hpp:67

References MayaFlux::Kakshya::RegionGroup::regions, and set_region_attribute().

+ Here is the call graph for this function: