diff --git a/modules/viz/src/precomp.hpp b/modules/viz/src/precomp.hpp index ddbef3a49e..7f3588e6b0 100644 --- a/modules/viz/src/precomp.hpp +++ b/modules/viz/src/precomp.hpp @@ -1,6 +1,5 @@ #pragma once -#include #include #include #include @@ -153,5 +152,8 @@ #endif +#include +#include #include "opencv2/viz/widget_accessor.hpp" #include +#include diff --git a/modules/viz/src/simple_widgets.cpp b/modules/viz/src/simple_widgets.cpp index 45e5a9755f..fa7026c9db 100644 --- a/modules/viz/src/simple_widgets.cpp +++ b/modules/viz/src/simple_widgets.cpp @@ -1,5 +1,4 @@ #include "precomp.hpp" -#include /////////////////////////////////////////////////////////////////////////////////////////////// /// line widget implementation @@ -135,15 +134,13 @@ temp_viz::ArrowWidget::ArrowWidget(const Point3f& pt1, const Point3f& pt2, const } // Apply the transforms - vtkSmartPointer transform = - vtkSmartPointer::New(); + vtkSmartPointer transform = vtkSmartPointer::New(); transform->Translate(startPoint); transform->Concatenate(matrix); transform->Scale(length, length, length); // Transform the polydata - vtkSmartPointer transformPD = - vtkSmartPointer::New(); + vtkSmartPointer transformPD = vtkSmartPointer::New(); transformPD->SetTransform(transform); transformPD->SetInputConnection(arrowSource->GetOutputPort()); diff --git a/modules/viz/src/viz3d_impl.cpp b/modules/viz/src/viz3d_impl.cpp index ae2e062284..4d51964c7b 100644 --- a/modules/viz/src/viz3d_impl.cpp +++ b/modules/viz/src/viz3d_impl.cpp @@ -1,5 +1,4 @@ #include "precomp.hpp" -#include namespace temp_viz { @@ -865,12 +864,10 @@ bool temp_viz::Viz3d::VizImpl::addPolygon (const cv::Mat& cloud, const Color& co return (true); } -#include "opencv2/viz/widget_accessor.hpp" - void temp_viz::Viz3d::VizImpl::showWidget(const String &id, const Widget &widget) { WidgetActorMap::iterator wam_itr = widget_actor_map_->find(id); - bool exists = !(wam_itr == widget_actor_map_->end()); + bool exists = wam_itr != widget_actor_map_->end(); if (exists) { // Remove it if it exists and add it again @@ -883,14 +880,11 @@ void temp_viz::Viz3d::VizImpl::showWidget(const String &id, const Widget &widget bool temp_viz::Viz3d::VizImpl::removeWidget(const String &id) { WidgetActorMap::iterator wam_itr = widget_actor_map_->find(id); - bool exists = !(wam_itr == widget_actor_map_->end()); + bool exists = wam_itr != widget_actor_map_->end(); if (!exists) - { - std::cout << "[removeWidget] A widget with id <" << id << "> does not exist!" << std::endl; - return false; - } - + return std::cout << "[removeWidget] A widget with id <" << id << "> does not exist!" << std::endl, false; + if (!removeActorFromRenderer (wam_itr->second.actor)) return false; diff --git a/modules/viz/src/widget.cpp b/modules/viz/src/widget.cpp index 0657c54147..d35b10d706 100644 --- a/modules/viz/src/widget.cpp +++ b/modules/viz/src/widget.cpp @@ -136,6 +136,7 @@ void temp_viz::Widget::release() if (impl_ && CV_XADD(&impl_->ref_counter, -1) == 1) { delete impl_; + impl_ = 0; } }