circle widget thickness property
authorozantonkal <ozantonkal@gmail.com>
Sun, 7 Jul 2013 13:21:47 +0000 (16:21 +0300)
committerozantonkal <ozantonkal@gmail.com>
Sun, 7 Jul 2013 13:21:47 +0000 (16:21 +0300)
modules/viz/include/opencv2/viz/widgets.hpp
modules/viz/src/simple_widgets.cpp
modules/viz/test/test_viz3d.cpp

index 122c0c7bf68357a43a6df08a6bdeffbe107e6ff4..ea615a18422f7ba86ad4a36c8c94ec7562447792 100644 (file)
@@ -65,7 +65,7 @@ namespace temp_viz
     class CV_EXPORTS CircleWidget : public Widget
     {
     public:
-        CircleWidget(const Point3f& pt, double radius, const Color &color = Color::white());
+        CircleWidget(const Point3f& pt, double radius, double thickness = 0.01, const Color &color = Color::white());
     };
     
     class CV_EXPORTS CylinderWidget : public Widget
index fa7026c9db76b701abaf7091abd659acad1b413e..ffba14ec961a5466fd1fc6d21c95dbb31f59e5b3 100644 (file)
@@ -156,14 +156,13 @@ temp_viz::ArrowWidget::ArrowWidget(const Point3f& pt1, const Point3f& pt2, const
 ///////////////////////////////////////////////////////////////////////////////////////////////
 /// circle widget implementation
 
-temp_viz::CircleWidget::CircleWidget(const temp_viz::Point3f& pt, double radius, const temp_viz::Color& color)
+temp_viz::CircleWidget::CircleWidget(const temp_viz::Point3f& pt, double radius, double thickness, const temp_viz::Color& color)
 {
     vtkSmartPointer<vtkDiskSource> disk = vtkSmartPointer<vtkDiskSource>::New ();
     // Maybe the resolution should be lower e.g. 50 or 25
-    disk->SetCircumferentialResolution (100);
-    disk->SetInnerRadius (radius - 0.001);
-    disk->SetOuterRadius (radius + 0.001);
-    disk->SetCircumferentialResolution (20);
+    disk->SetCircumferentialResolution (50);
+    disk->SetInnerRadius (radius - thickness);
+    disk->SetOuterRadius (radius + thickness);
 
     // Set the circle origin
     vtkSmartPointer<vtkTransform> t = vtkSmartPointer<vtkTransform>::New ();
index 6cb27dbc2b0f11100206c348c3dc609707682a24..f89635f48fd67e418849c4619ed9f701ed21a3ac 100644 (file)
@@ -94,18 +94,18 @@ TEST(Viz_viz3d, accuracy)
     temp_viz::PlaneWidget pw(cv::Vec4f(0.0,1.0,2.0,3.0));
     temp_viz::SphereWidget sw(cv::Point3f(0,0,0), 0.5);
     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), 1.0, temp_viz::Color(0,255,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::CoordinateSystemWidget csw(1.0f, cv::Affine3f::Identity());
     
-    v.showWidget("line", lw);
-    v.showWidget("plane", pw);
-    v.showWidget("sphere", sw);
-    v.showWidget("arrow", aw);
+//     v.showWidget("line", lw);
+//     v.showWidget("plane", pw);
+//     v.showWidget("sphere", sw);
+//     v.showWidget("arrow", aw);
     v.showWidget("circle", cw);
-    v.showWidget("cylinder", cyw);
-    v.showWidget("cube", cuw);
+//     v.showWidget("cylinder", cyw);
+//     v.showWidget("cube", cuw);
     v.showWidget("coordinateSystem", csw);
     
     temp_viz::LineWidget lw2 = lw;