MCPcopy Create free account
hub / github.com/MaaXYZ/MaaFramework / parse_rect

Method parse_rect

source/MaaFramework/Resource/PipelineParser.cpp:1640–1672  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1638}
1639
1640bool PipelineParser::parse_rect(const json::value& input_rect, cv::Rect& output)
1641{
1642 if (!input_rect.is_array()) {
1643 LogError << "rect is not array" << VAR(input_rect);
1644 return false;
1645 }
1646
1647 auto& rect_array = input_rect.as_array();
1648 if (rect_array.empty()) {
1649 LogError << "rect size invalid" << VAR(rect_array.size());
1650 return false;
1651 }
1652
1653 std::vector<int> rect_vec;
1654 for (const auto& r : rect_array) {
1655 if (!r.is_number()) {
1656 LogError << "type error" << VAR(r) << "is not integer";
1657 return false;
1658 }
1659 rect_vec.emplace_back(r.as_integer());
1660 }
1661 if (rect_vec.size() == 2) {
1662 output = cv::Rect(rect_vec[0], rect_vec[1], 1, 1);
1663 }
1664 else if (rect_vec.size() == 4) {
1665 output = cv::Rect(rect_vec[0], rect_vec[1], rect_vec[2], rect_vec[3]);
1666 }
1667 else {
1668 LogError << "rect size unsupported" << VAR(rect_vec.size());
1669 return false;
1670 }
1671 return true;
1672}
1673
1674template <typename TargetType>
1675bool PipelineParser::parse_target_variant(const json::value& input_target, TargetType& output)

Callers

nothing calls this directly

Calls 3

RectClass · 0.85
emptyMethod · 0.45
sizeMethod · 0.45

Tested by

no test coverage detected