Added GMatP type

This commit is contained in:
Ruslan Garnov
2019-04-29 19:21:14 +03:00
parent faca45a7ea
commit 834d438d6e
11 changed files with 50 additions and 10 deletions
+5
View File
@@ -49,6 +49,11 @@ cv::GMat cv::GCall::yield(int output)
return cv::GMat(m_priv->m_node, output);
}
cv::GMatP cv::GCall::yieldP(int output)
{
return cv::GMatP(m_priv->m_node, output);
}
cv::GScalar cv::GCall::yieldScalar(int output)
{
return cv::GScalar(m_priv->m_node, output);
+5
View File
@@ -25,6 +25,9 @@ const cv::GOrigin& cv::gimpl::proto::origin_of(const cv::GProtoArg &arg)
case cv::GProtoArg::index_of<cv::GMat>():
return util::get<cv::GMat>(arg).priv();
case cv::GProtoArg::index_of<cv::GMatP>():
return util::get<cv::GMatP>(arg).priv();
case cv::GProtoArg::index_of<cv::GScalar>():
return util::get<cv::GScalar>(arg).priv();
@@ -53,6 +56,7 @@ bool cv::gimpl::proto::is_dynamic(const cv::GArg& arg)
switch (arg.kind)
{
case detail::ArgKind::GMAT:
case detail::ArgKind::GMATP:
case detail::ArgKind::GSCALAR:
case detail::ArgKind::GARRAY:
return true;
@@ -78,6 +82,7 @@ cv::GProtoArg cv::gimpl::proto::rewrap(const cv::GArg &arg)
switch (arg.kind)
{
case detail::ArgKind::GMAT: return GProtoArg(arg.get<cv::GMat>());
case detail::ArgKind::GMATP: return GProtoArg(arg.get<cv::GMatP>());
case detail::ArgKind::GSCALAR: return GProtoArg(arg.get<cv::GScalar>());
case detail::ArgKind::GARRAY: return GProtoArg(arg.get<cv::detail::GArrayU>());
default: util::throw_error(std::logic_error("Unsupported GArg type"));
+1
View File
@@ -156,6 +156,7 @@ void cv::gimpl::GCompiler::validateInputMeta()
{
// FIXME: Auto-generate methods like this from traits:
case GProtoArg::index_of<cv::GMat>():
case GProtoArg::index_of<cv::GMatP>():
return util::holds_alternative<cv::GMatDesc>(meta);
case GProtoArg::index_of<cv::GScalar>():