cube widget wireframe
authorozantonkal <ozantonkal@gmail.com>
Mon, 8 Jul 2013 09:34:11 +0000 (11:34 +0200)
committerozantonkal <ozantonkal@gmail.com>
Mon, 8 Jul 2013 09:34:11 +0000 (11:34 +0200)
modules/viz/include/opencv2/viz/widgets.hpp
modules/viz/src/simple_widgets.cpp
modules/viz/test/test_viz3d.cpp

index eaf9e62..3198a07 100644 (file)
@@ -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
index 7ae8225..8cc4867 100644 (file)
@@ -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<vtkCubeSource> cube = vtkSmartPointer<vtkCubeSource>::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<vtkLODActor> actor = vtkLODActor::SafeDownCast(WidgetAccessor::getActor(*this));
     actor->SetMapper(mapper);
     
+    if (wire_frame)
+        actor->GetProperty ()->SetRepresentationToWireframe ();
+    
     setColor(color);
 }
 
index 4c58652..0ec3677 100644 (file)
@@ -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);