From dfef42f94e1c56730c0dd47b275539ee639d1606 Mon Sep 17 00:00:00 2001 From: Anatoly Baksheev Date: Sat, 16 Nov 2013 20:56:42 +0400 Subject: [PATCH] Fixed Viz compilation: removed CV_EXPORTS from cv::viz::Color. The macro forced instantiation of all Matx constructors and triggered StaticAssert there. --- modules/viz/include/opencv2/viz/types.hpp | 22 ++++++++++++++++++++-- modules/viz/src/interactor_style.h | 2 +- modules/viz/src/types.cpp | 20 -------------------- 3 files changed, 21 insertions(+), 23 deletions(-) diff --git a/modules/viz/include/opencv2/viz/types.hpp b/modules/viz/include/opencv2/viz/types.hpp index 5a3667b..3cccfa0 100644 --- a/modules/viz/include/opencv2/viz/types.hpp +++ b/modules/viz/include/opencv2/viz/types.hpp @@ -57,7 +57,7 @@ namespace cv { namespace viz { - class CV_EXPORTS Color : public Scalar + class Color : public Scalar { public: Color(); @@ -169,8 +169,26 @@ namespace cv Vec2f principal_point_; Vec2f focal_; }; - } /* namespace viz */ } /* namespace cv */ +////////////////////////////////////////////////////////////////////////////////////////////////////// +/// cv::viz::Color + +inline cv::viz::Color::Color() : Scalar(0, 0, 0) {} +inline cv::viz::Color::Color(double gray) : Scalar(gray, gray, gray) {} +inline cv::viz::Color::Color(double blue, double green, double red) : Scalar(blue, green, red) {} +inline cv::viz::Color::Color(const Scalar& color) : Scalar(color) {} + +inline cv::viz::Color cv::viz::Color::black() { return Color( 0, 0, 0); } +inline cv::viz::Color cv::viz::Color::green() { return Color( 0, 255, 0); } +inline cv::viz::Color cv::viz::Color::blue() { return Color(255, 0, 0); } +inline cv::viz::Color cv::viz::Color::cyan() { return Color(255, 255, 0); } +inline cv::viz::Color cv::viz::Color::red() { return Color( 0, 0, 255); } +inline cv::viz::Color cv::viz::Color::yellow() { return Color( 0, 255, 255); } +inline cv::viz::Color cv::viz::Color::magenta() { return Color(255, 0, 255); } +inline cv::viz::Color cv::viz::Color::white() { return Color(255, 255, 255); } +inline cv::viz::Color cv::viz::Color::gray() { return Color(128, 128, 128); } + + #endif diff --git a/modules/viz/src/interactor_style.h b/modules/viz/src/interactor_style.h index 7b80ee9..30d8529 100644 --- a/modules/viz/src/interactor_style.h +++ b/modules/viz/src/interactor_style.h @@ -49,7 +49,7 @@ #ifndef __OPENCV_VIZ_INTERACTOR_STYLE_H__ #define __OPENCV_VIZ_INTERACTOR_STYLE_H__ -#include +#include "precomp.hpp" namespace cv { diff --git a/modules/viz/src/types.cpp b/modules/viz/src/types.cpp index 5528fbc..861a783 100644 --- a/modules/viz/src/types.cpp +++ b/modules/viz/src/types.cpp @@ -48,26 +48,6 @@ #include "precomp.hpp" -////////////////////////////////////////////////////////////////////////////////////////////////////// -/// cv::viz::Color - -cv::viz::Color::Color() : Scalar(0, 0, 0) {} -cv::viz::Color::Color(double gray) : Scalar(gray, gray, gray) {} -cv::viz::Color::Color(double blue, double green, double red) : Scalar(blue, green, red) {} -cv::viz::Color::Color(const Scalar& color) : Scalar(color) {} - -cv::viz::Color cv::viz::Color::black() { return Color( 0, 0, 0); } -cv::viz::Color cv::viz::Color::green() { return Color( 0, 255, 0); } -cv::viz::Color cv::viz::Color::blue() { return Color(255, 0, 0); } -cv::viz::Color cv::viz::Color::cyan() { return Color(255, 255, 0); } - -cv::viz::Color cv::viz::Color::red() { return Color( 0, 0, 255); } -cv::viz::Color cv::viz::Color::yellow() { return Color( 0, 255, 255); } -cv::viz::Color cv::viz::Color::magenta() { return Color(255, 0, 255); } -cv::viz::Color cv::viz::Color::white() { return Color(255, 255, 255); } - -cv::viz::Color cv::viz::Color::gray() { return Color(128, 128, 128); } - //////////////////////////////////////////////////////////////////// /// cv::viz::KeyboardEvent -- 2.7.4