From 2b022311a48351fdab5b7098a9d883a8556e1d84 Mon Sep 17 00:00:00 2001 From: catree Date: Thu, 25 Oct 2018 20:05:01 +0200 Subject: [PATCH] Make cast() function const. Make parameters of addLight() const. --- modules/viz/include/opencv2/viz/viz3d.hpp | 5 +- modules/viz/include/opencv2/viz/widgets.hpp | 56 ++++++++++----------- modules/viz/src/clouds.cpp | 12 ++--- modules/viz/src/shapes.cpp | 38 +++++++------- modules/viz/src/viz3d.cpp | 3 +- modules/viz/src/vizimpl.cpp | 3 +- modules/viz/src/vizimpl.hpp | 3 +- modules/viz/src/widget.cpp | 4 +- 8 files changed, 64 insertions(+), 60 deletions(-) diff --git a/modules/viz/include/opencv2/viz/viz3d.hpp b/modules/viz/include/opencv2/viz/viz3d.hpp index b761224a00..1e6e9d5e54 100644 --- a/modules/viz/include/opencv2/viz/viz3d.hpp +++ b/modules/viz/include/opencv2/viz/viz3d.hpp @@ -246,8 +246,9 @@ namespace cv @param ambientColor The ambient color of the light @param specularColor The specular color of the light */ - void addLight(Vec3d position, Vec3d focalPoint = Vec3d(0, 0, 0), Color color = Color::white(), - Color diffuseColor = Color::white(), Color ambientColor = Color::black(), Color specularColor = Color::white()); + void addLight(const Vec3d &position, const Vec3d &focalPoint = Vec3d(0, 0, 0), const Color &color = Color::white(), + const Color &diffuseColor = Color::white(), const Color &ambientColor = Color::black(), + const Color &specularColor = Color::white()); /** @brief Returns whether the event loop has been stopped. */ diff --git a/modules/viz/include/opencv2/viz/widgets.hpp b/modules/viz/include/opencv2/viz/widgets.hpp index 4e2a4565d0..4691079811 100644 --- a/modules/viz/include/opencv2/viz/widgets.hpp +++ b/modules/viz/include/opencv2/viz/widgets.hpp @@ -167,7 +167,7 @@ namespace cv @note 3D Widgets can only be cast to 3D Widgets. 2D Widgets can only be cast to 2D Widgets. */ - template _W cast(); + template _W cast() const; private: class Impl; Impl *impl_; @@ -814,33 +814,33 @@ namespace cv ///////////////////////////////////////////////////////////////////////////// /// Utility exports - template<> CV_EXPORTS Widget2D Widget::cast(); - template<> CV_EXPORTS Widget3D Widget::cast(); - template<> CV_EXPORTS WLine Widget::cast(); - template<> CV_EXPORTS WPlane Widget::cast(); - template<> CV_EXPORTS WSphere Widget::cast(); - template<> CV_EXPORTS WCylinder Widget::cast(); - template<> CV_EXPORTS WArrow Widget::cast(); - template<> CV_EXPORTS WCircle Widget::cast(); - template<> CV_EXPORTS WCone Widget::cast(); - template<> CV_EXPORTS WCube Widget::cast(); - template<> CV_EXPORTS WCoordinateSystem Widget::cast(); - template<> CV_EXPORTS WPolyLine Widget::cast(); - template<> CV_EXPORTS WGrid Widget::cast(); - template<> CV_EXPORTS WText3D Widget::cast(); - template<> CV_EXPORTS WText Widget::cast(); - template<> CV_EXPORTS WImageOverlay Widget::cast(); - template<> CV_EXPORTS WImage3D Widget::cast(); - template<> CV_EXPORTS WCameraPosition Widget::cast(); - template<> CV_EXPORTS WTrajectory Widget::cast(); - template<> CV_EXPORTS WTrajectoryFrustums Widget::cast(); - template<> CV_EXPORTS WTrajectorySpheres Widget::cast(); - template<> CV_EXPORTS WCloud Widget::cast(); - template<> CV_EXPORTS WPaintedCloud Widget::cast(); - template<> CV_EXPORTS WCloudCollection Widget::cast(); - template<> CV_EXPORTS WCloudNormals Widget::cast(); - template<> CV_EXPORTS WMesh Widget::cast(); - template<> CV_EXPORTS WWidgetMerger Widget::cast(); + template<> CV_EXPORTS Widget2D Widget::cast() const; + template<> CV_EXPORTS Widget3D Widget::cast() const; + template<> CV_EXPORTS WLine Widget::cast() const; + template<> CV_EXPORTS WPlane Widget::cast() const; + template<> CV_EXPORTS WSphere Widget::cast() const; + template<> CV_EXPORTS WCylinder Widget::cast() const; + template<> CV_EXPORTS WArrow Widget::cast() const; + template<> CV_EXPORTS WCircle Widget::cast() const; + template<> CV_EXPORTS WCone Widget::cast() const; + template<> CV_EXPORTS WCube Widget::cast() const; + template<> CV_EXPORTS WCoordinateSystem Widget::cast() const; + template<> CV_EXPORTS WPolyLine Widget::cast() const; + template<> CV_EXPORTS WGrid Widget::cast() const; + template<> CV_EXPORTS WText3D Widget::cast() const; + template<> CV_EXPORTS WText Widget::cast() const; + template<> CV_EXPORTS WImageOverlay Widget::cast() const; + template<> CV_EXPORTS WImage3D Widget::cast() const; + template<> CV_EXPORTS WCameraPosition Widget::cast() const; + template<> CV_EXPORTS WTrajectory Widget::cast() const; + template<> CV_EXPORTS WTrajectoryFrustums Widget::cast() const; + template<> CV_EXPORTS WTrajectorySpheres Widget::cast() const; + template<> CV_EXPORTS WCloud Widget::cast() const; + template<> CV_EXPORTS WPaintedCloud Widget::cast() const; + template<> CV_EXPORTS WCloudCollection Widget::cast() const; + template<> CV_EXPORTS WCloudNormals Widget::cast() const; + template<> CV_EXPORTS WMesh Widget::cast() const; + template<> CV_EXPORTS WWidgetMerger Widget::cast() const; //! @} diff --git a/modules/viz/src/clouds.cpp b/modules/viz/src/clouds.cpp index 6e47f928c3..c9a13fcfec 100644 --- a/modules/viz/src/clouds.cpp +++ b/modules/viz/src/clouds.cpp @@ -91,7 +91,7 @@ cv::viz::WCloud::WCloud(cv::InputArray cloud, cv::InputArray colors, cv::InputAr WidgetAccessor::setProp(*this, actor); } -template<> cv::viz::WCloud cv::viz::Widget::cast() +template<> cv::viz::WCloud cv::viz::Widget::cast() const { Widget3D widget = this->cast(); return static_cast(widget); @@ -201,7 +201,7 @@ cv::viz::WPaintedCloud::WPaintedCloud(InputArray cloud, const Point3d& p1, const WidgetAccessor::setProp(*this, actor); } -template<> cv::viz::WPaintedCloud cv::viz::Widget::cast() +template<> cv::viz::WPaintedCloud cv::viz::Widget::cast() const { Widget3D widget = this->cast(); return static_cast(widget); @@ -271,7 +271,7 @@ void cv::viz::WCloudCollection::finalize() VtkUtils::SetInputData(mapper, polydata); } -template<> cv::viz::WCloudCollection cv::viz::Widget::cast() +template<> cv::viz::WCloudCollection cv::viz::Widget::cast() const { Widget3D widget = this->cast(); return static_cast(widget); @@ -357,7 +357,7 @@ cv::viz::WCloudNormals::WCloudNormals(InputArray _cloud, InputArray _normals, in WidgetAccessor::setProp(*this, actor); } -template<> cv::viz::WCloudNormals cv::viz::Widget::cast() +template<> cv::viz::WCloudNormals cv::viz::Widget::cast() const { Widget3D widget = this->cast(); return static_cast(widget); @@ -461,7 +461,7 @@ cv::viz::WMesh::WMesh(InputArray cloud, InputArray polygons, InputArray colors, *this = WMesh(mesh); } -template<> CV_EXPORTS cv::viz::WMesh cv::viz::Widget::cast() +template<> CV_EXPORTS cv::viz::WMesh cv::viz::Widget::cast() const { Widget3D widget = this->cast(); return static_cast(widget); @@ -523,7 +523,7 @@ void cv::viz::WWidgetMerger::finalize() mapper->Modified(); } -template<> CV_EXPORTS cv::viz::WWidgetMerger cv::viz::Widget::cast() +template<> CV_EXPORTS cv::viz::WWidgetMerger cv::viz::Widget::cast() const { Widget3D widget = this->cast(); return static_cast(widget); diff --git a/modules/viz/src/shapes.cpp b/modules/viz/src/shapes.cpp index 30fde1cc5c..399106dd31 100644 --- a/modules/viz/src/shapes.cpp +++ b/modules/viz/src/shapes.cpp @@ -66,7 +66,7 @@ cv::viz::WLine::WLine(const Point3d &pt1, const Point3d &pt2, const Color &color WidgetAccessor::setProp(*this, actor); } -template<> cv::viz::WLine cv::viz::Widget::cast() +template<> cv::viz::WLine cv::viz::Widget::cast() const { Widget3D widget = this->cast(); return static_cast(widget); @@ -97,7 +97,7 @@ cv::viz::WSphere::WSphere(const Point3d ¢er, double radius, int sphere_resol WidgetAccessor::setProp(*this, actor); } -template<> cv::viz::WSphere cv::viz::Widget::cast() +template<> cv::viz::WSphere cv::viz::Widget::cast() const { Widget3D widget = this->cast(); return static_cast(widget); @@ -138,7 +138,7 @@ cv::viz::WPlane::WPlane(const Point3d& center, const Vec3d& normal, const Vec3d& *this = plane; } -template<> cv::viz::WPlane cv::viz::Widget::cast() +template<> cv::viz::WPlane cv::viz::Widget::cast() const { Widget3D widget = this->cast(); return static_cast(widget); @@ -178,7 +178,7 @@ cv::viz::WArrow::WArrow(const Point3d& pt1, const Point3d& pt2, double thickness WidgetAccessor::setProp(*this, actor); } -template<> cv::viz::WArrow cv::viz::Widget::cast() +template<> cv::viz::WArrow cv::viz::Widget::cast() const { Widget3D widget = this->cast(); return static_cast(widget); @@ -220,7 +220,7 @@ cv::viz::WCircle::WCircle(double radius, const Point3d& center, const Vec3d& nor *this = circle; } -template<> cv::viz::WCircle cv::viz::Widget::cast() +template<> cv::viz::WCircle cv::viz::Widget::cast() const { Widget3D widget = this->cast(); return static_cast(widget); @@ -262,7 +262,7 @@ cv::viz::WCone::WCone(double radius, const Point3d& center, const Point3d& tip, *this = circle; } -template<> cv::viz::WCone cv::viz::Widget::cast() +template<> cv::viz::WCone cv::viz::Widget::cast() const { Widget3D widget = this->cast(); return static_cast(widget); @@ -295,7 +295,7 @@ cv::viz::WCylinder::WCylinder(const Point3d& axis_point1, const Point3d& axis_po WidgetAccessor::setProp(*this, actor); } -template<> cv::viz::WCylinder cv::viz::Widget::cast() +template<> cv::viz::WCylinder cv::viz::Widget::cast() const { Widget3D widget = this->cast(); return static_cast(widget); @@ -338,7 +338,7 @@ cv::viz::WCube::WCube(const Point3d& min_point, const Point3d& max_point, bool w WidgetAccessor::setProp(*this, actor); } -template<> cv::viz::WCube cv::viz::Widget::cast() +template<> cv::viz::WCube cv::viz::Widget::cast() const { Widget3D widget = this->cast(); return static_cast(widget); @@ -382,7 +382,7 @@ cv::viz::WCoordinateSystem::WCoordinateSystem(double scale) WidgetAccessor::setProp(*this, actor); } -template<> cv::viz::WCoordinateSystem cv::viz::Widget::cast() +template<> cv::viz::WCoordinateSystem cv::viz::Widget::cast() const { Widget3D widget = this->cast(); return static_cast(widget); @@ -422,7 +422,7 @@ cv::viz::WPolyLine::WPolyLine(InputArray points, const Color &color) *this = polyline; } -template<> cv::viz::WPolyLine cv::viz::Widget::cast() +template<> cv::viz::WPolyLine cv::viz::Widget::cast() const { Widget3D widget = this->cast(); return static_cast(widget); @@ -472,7 +472,7 @@ cv::viz::WGrid::WGrid(const Point3d& center, const Vec3d& normal, const Vec3d& n *this = grid; } -template<> cv::viz::WGrid cv::viz::Widget::cast() +template<> cv::viz::WGrid cv::viz::Widget::cast() const { Widget3D widget = this->cast(); return static_cast(widget); @@ -538,7 +538,7 @@ cv::String cv::viz::WText3D::getText() const return textSource->GetText(); } -template<> cv::viz::WText3D cv::viz::Widget::cast() +template<> cv::viz::WText3D cv::viz::Widget::cast() const { Widget3D widget = this->cast(); return static_cast(widget); @@ -567,7 +567,7 @@ cv::viz::WText::WText(const String &text, const Point &pos, int font_size, const WidgetAccessor::setProp(*this, actor); } -template<> cv::viz::WText cv::viz::Widget::cast() +template<> cv::viz::WText cv::viz::Widget::cast() const { Widget2D widget = this->cast(); return static_cast(widget); @@ -658,7 +658,7 @@ void cv::viz::WImageOverlay::setImage(InputArray image) mapper->SetInputConnection(image_reslice->GetOutputPort()); } -template<> cv::viz::WImageOverlay cv::viz::Widget::cast() +template<> cv::viz::WImageOverlay cv::viz::Widget::cast() const { Widget2D widget = this->cast(); return static_cast(widget); @@ -746,7 +746,7 @@ void cv::viz::WImage3D::setSize(const cv::Size& size) plane->SetPoint2(-0.5 * size.width, 0.5 * size.height, 0.0); } -template<> cv::viz::WImage3D cv::viz::Widget::cast() +template<> cv::viz::WImage3D cv::viz::Widget::cast() const { Widget3D widget = this->cast(); return static_cast(widget); @@ -920,7 +920,7 @@ cv::viz::WCameraPosition::WCameraPosition(const Vec2d &fov, InputArray _image, d WidgetAccessor::setProp(*this, actor); } -template<> cv::viz::WCameraPosition cv::viz::Widget::cast() +template<> cv::viz::WCameraPosition cv::viz::Widget::cast() const { Widget3D widget = this->cast(); return static_cast(widget); @@ -971,7 +971,7 @@ cv::viz::WTrajectory::WTrajectory(InputArray _path, int display_mode, double sca WidgetAccessor::setProp(*this, actor); } -template<> cv::viz::WTrajectory cv::viz::Widget::cast() +template<> cv::viz::WTrajectory cv::viz::Widget::cast() const { Widget3D widget = this->cast(); return static_cast(widget); @@ -1032,7 +1032,7 @@ cv::viz::WTrajectoryFrustums::WTrajectoryFrustums(InputArray _path, const Vec2d WidgetAccessor::setProp(*this, actor); } -template<> cv::viz::WTrajectoryFrustums cv::viz::Widget::cast() +template<> cv::viz::WTrajectoryFrustums cv::viz::Widget::cast() const { Widget3D widget = this->cast(); return static_cast(widget); @@ -1100,7 +1100,7 @@ cv::viz::WTrajectorySpheres::WTrajectorySpheres(InputArray _path, double line_le WidgetAccessor::setProp(*this, actor); } -template<> cv::viz::WTrajectorySpheres cv::viz::Widget::cast() +template<> cv::viz::WTrajectorySpheres cv::viz::Widget::cast() const { Widget3D widget = this->cast(); return static_cast(widget); diff --git a/modules/viz/src/viz3d.cpp b/modules/viz/src/viz3d.cpp index 98ccca47f1..62e570e656 100644 --- a/modules/viz/src/viz3d.cpp +++ b/modules/viz/src/viz3d.cpp @@ -102,7 +102,8 @@ void cv::viz::Viz3d::spin() { impl_->spin(); } void cv::viz::Viz3d::spinOnce(int time, bool force_redraw) { impl_->spinOnce(time, force_redraw); } void cv::viz::Viz3d::setOffScreenRendering() { impl_->setOffScreenRendering(); } void cv::viz::Viz3d::removeAllLights() { impl_->removeAllLights(); } -void cv::viz::Viz3d::addLight(Vec3d position, Vec3d focalPoint, Color color, Color diffuseColor, Color ambientColor, Color specularColor) +void cv::viz::Viz3d::addLight(const Vec3d &position, const Vec3d &focalPoint, const Color &color, + const Color &diffuseColor, const Color &ambientColor, const Color &specularColor) { impl_->addLight(position, focalPoint, color, diffuseColor, ambientColor, specularColor); } bool cv::viz::Viz3d::wasStopped() const { return impl_->wasStopped(); } void cv::viz::Viz3d::close() { impl_->close(); } diff --git a/modules/viz/src/vizimpl.cpp b/modules/viz/src/vizimpl.cpp index 23cba7531c..2c291c0569 100644 --- a/modules/viz/src/vizimpl.cpp +++ b/modules/viz/src/vizimpl.cpp @@ -203,7 +203,8 @@ void cv::viz::Viz3d::VizImpl::removeAllLights() } ///////////////////////////////////////////////////////////////////////////////////////////// -void cv::viz::Viz3d::VizImpl::addLight(Vec3d position, Vec3d focalPoint, Color color, Color diffuseColor, Color ambientColor, Color specularColor) +void cv::viz::Viz3d::VizImpl::addLight(Vec3d position, Vec3d focalPoint, const Color &color, const Color &diffuseColor, + const Color &ambientColor, const Color &specularColor) { Color color_ = vtkcolor(color); Color diffuseColor_ = vtkcolor(diffuseColor); diff --git a/modules/viz/src/vizimpl.hpp b/modules/viz/src/vizimpl.hpp index d3e7f17350..b39bc49788 100644 --- a/modules/viz/src/vizimpl.hpp +++ b/modules/viz/src/vizimpl.hpp @@ -65,7 +65,8 @@ public: void setOffScreenRendering(); void removeAllLights(); - void addLight(Vec3d position, Vec3d focalPoint, Color color, Color diffuseColor, Color ambientColor, Color specularColor); + void addLight(Vec3d position, Vec3d focalPoint, const Color &color, const Color &diffuseColor, + const Color &ambientColor, const Color &specularColor); void showWidget(const String &id, const Widget &widget, const Affine3d &pose = Affine3d::Identity()); void removeWidget(const String &id); diff --git a/modules/viz/src/widget.cpp b/modules/viz/src/widget.cpp index 6c2789f895..b46d3d1ce0 100644 --- a/modules/viz/src/widget.cpp +++ b/modules/viz/src/widget.cpp @@ -319,7 +319,7 @@ void cv::viz::Widget3D::setColor(const Color &color) actor->Modified(); } -template<> cv::viz::Widget3D cv::viz::Widget::cast() +template<> cv::viz::Widget3D cv::viz::Widget::cast() const { vtkProp3D *actor = vtkProp3D::SafeDownCast(WidgetAccessor::getProp(*this)); CV_Assert("Widget cannot be cast." && actor); @@ -341,7 +341,7 @@ void cv::viz::Widget2D::setColor(const Color &color) actor->Modified(); } -template<> cv::viz::Widget2D cv::viz::Widget::cast() +template<> cv::viz::Widget2D cv::viz::Widget::cast() const { vtkActor2D *actor = vtkActor2D::SafeDownCast(WidgetAccessor::getProp(*this)); CV_Assert("Widget cannot be cast." && actor);