MayaFlux 0.1.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 93 of file RegionUtils.cpp.

94{
95 if (group.regions.empty())
96 return Region {};
97 auto min_coords = group.regions.front().start_coordinates;
98 auto max_coords = group.regions.front().end_coordinates;
99
100 for (const auto& region : group.regions) {
101 for (size_t i = 0; i < min_coords.size() && i < region.start_coordinates.size(); ++i) {
102 min_coords[i] = std::min(min_coords[i], region.start_coordinates[i]);
103 }
104 for (size_t i = 0; i < max_coords.size() && i < region.end_coordinates.size(); ++i) {
105 max_coords[i] = std::max(max_coords[i], region.end_coordinates[i]);
106 }
107 }
108
109 Region bounds(min_coords, max_coords);
110 set_region_attribute(bounds, "type", std::string("bounding_box"));
111 return bounds;
112}
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 get_bounding_region(), MayaFlux::Kakshya::RegionGroup::regions, and set_region_attribute().

Referenced by get_bounding_region().

+ Here is the call graph for this function:
+ Here is the caller graph for this function: