From d394e233bb181fd0bbf6bce603fb1cc9cd7ce92a Mon Sep 17 00:00:00 2001 From: ozantonkal Date: Mon, 8 Jul 2013 11:34:11 +0200 Subject: [PATCH] cube widget wireframe --- modules/viz/include/opencv2/viz/widgets.hpp | 2 +- modules/viz/src/simple_widgets.cpp | 5 ++++- modules/viz/test/test_viz3d.cpp | 4 ++-- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/modules/viz/include/opencv2/viz/widgets.hpp b/modules/viz/include/opencv2/viz/widgets.hpp index eaf9e62..3198a07 100644 --- a/modules/viz/include/opencv2/viz/widgets.hpp +++ b/modules/viz/include/opencv2/viz/widgets.hpp @@ -81,7 +81,7 @@ namespace temp_viz class CV_EXPORTS CubeWidget : public Widget { public: - CubeWidget(const Point3f& pt_min, const Point3f& pt_max, const Color &color = Color::white()); + CubeWidget(const Point3f& pt_min, const Point3f& pt_max, bool wire_frame = true, const Color &color = Color::white()); }; class CV_EXPORTS CoordinateSystemWidget : public Widget diff --git a/modules/viz/src/simple_widgets.cpp b/modules/viz/src/simple_widgets.cpp index 7ae8225..8cc4867 100644 --- a/modules/viz/src/simple_widgets.cpp +++ b/modules/viz/src/simple_widgets.cpp @@ -211,7 +211,7 @@ temp_viz::CylinderWidget::CylinderWidget(const Point3f& pt_on_axis, const Point3 /////////////////////////////////////////////////////////////////////////////////////////////// /// cylinder widget implementation -temp_viz::CubeWidget::CubeWidget(const Point3f& pt_min, const Point3f& pt_max, const Color &color) +temp_viz::CubeWidget::CubeWidget(const Point3f& pt_min, const Point3f& pt_max, bool wire_frame, const Color &color) { vtkSmartPointer cube = vtkSmartPointer::New (); cube->SetBounds (pt_min.x, pt_max.x, pt_min.y, pt_max.y, pt_min.z, pt_max.z); @@ -222,6 +222,9 @@ temp_viz::CubeWidget::CubeWidget(const Point3f& pt_min, const Point3f& pt_max, c vtkSmartPointer actor = vtkLODActor::SafeDownCast(WidgetAccessor::getActor(*this)); actor->SetMapper(mapper); + if (wire_frame) + actor->GetProperty ()->SetRepresentationToWireframe (); + setColor(color); } diff --git a/modules/viz/test/test_viz3d.cpp b/modules/viz/test/test_viz3d.cpp index 4c58652..0ec3677 100644 --- a/modules/viz/test/test_viz3d.cpp +++ b/modules/viz/test/test_viz3d.cpp @@ -96,7 +96,7 @@ TEST(Viz_viz3d, accuracy) temp_viz::ArrowWidget aw(cv::Point3f(0,0,0), cv::Point3f(1,1,1), temp_viz::Color(255,0,0)); temp_viz::CircleWidget cw(cv::Point3f(0,0,0), 0.5, 0.01, temp_viz::Color(0,255,0)); temp_viz::CylinderWidget cyw(cv::Point3f(0,0,0), cv::Point3f(-1,-1,-1), 0.5, 30, temp_viz::Color(0,255,0)); - temp_viz::CubeWidget cuw(cv::Point3f(-2,-2,-2), cv::Point3f(-1,-1,-1), temp_viz::Color(0,0,255)); + temp_viz::CubeWidget cuw(cv::Point3f(-2,-2,-2), cv::Point3f(-1,-1,-1)); temp_viz::CoordinateSystemWidget csw(1.0f, cv::Affine3f::Identity()); temp_viz::TextWidget tw("TEST", cv::Point2i(100,100), 20); @@ -106,7 +106,7 @@ TEST(Viz_viz3d, accuracy) // v.showWidget("arrow", aw); // v.showWidget("circle", cw); // v.showWidget("cylinder", cyw); -// v.showWidget("cube", cuw); + v.showWidget("cube", cuw); v.showWidget("coordinateSystem", csw); v.showWidget("text",tw); -- 2.7.4