@@ -303,13 +303,29 @@ TEST (SampleConsensusModelCone, RANSAC)
303303 Eigen::VectorXf coeff;
304304 sac.getModelCoefficients (coeff);
305305 EXPECT_EQ (7 , coeff.size ());
306+ // apex
306307 EXPECT_NEAR (0.000000 , coeff[0 ], 1e-2 );
307308 EXPECT_NEAR (0.100000 , coeff[1 ], 1e-2 );
308- EXPECT_NEAR (0.510614 , coeff[6 ], 1e-2 );
309+ EXPECT_NEAR (1.000000 , coeff[2 ], 1e-2 );
310+ // axis, defined as a normal to a given plane
311+ EXPECT_NEAR (0.000000 , std::abs (coeff[3 ]), 1e-2 );
312+ EXPECT_NEAR (1.000000 , std::abs (coeff[4 ]), 1e-2 );
313+ EXPECT_NEAR (0.000000 , std::abs (coeff[5 ]), 1e-2 );
314+ // cones opening angle
315+ EXPECT_NEAR (0.349066 , coeff[6 ], 1e-2 );
309316
310317 Eigen::VectorXf coeff_refined;
311318 model->optimizeModelCoefficients (inliers, coeff, coeff_refined);
312319 EXPECT_EQ (7 , coeff_refined.size ());
320+ // apex
321+ EXPECT_NEAR (0.000000 , coeff_refined[0 ], 1e-2 );
322+ EXPECT_NEAR (0.100000 , coeff_refined[1 ], 1e-2 );
323+ EXPECT_NEAR (1.000000 , coeff_refined[2 ], 1e-2 );
324+ // axis, defined as a normal to a given plane
325+ EXPECT_NEAR (0.000000 , std::abs (coeff_refined[3 ]), 1e-2 );
326+ EXPECT_NEAR (1.000000 , std::abs (coeff_refined[4 ]), 1e-2 );
327+ EXPECT_NEAR (0.000000 , std::abs (coeff_refined[5 ]), 1e-2 );
328+ // cones opening angle
313329 EXPECT_NEAR (0.349066 , coeff_refined[6 ], 1e-2 );
314330}
315331
@@ -387,9 +403,9 @@ TEST (SampleConsensusModelCylinder, RANSAC)
387403 Eigen::VectorXf coeff;
388404 sac.getModelCoefficients (coeff);
389405 EXPECT_EQ (7 , coeff.size ());
390- EXPECT_NEAR (-0.49 , coeff[0 ], 1e-3 );
391- EXPECT_NEAR ( 1.69 , coeff[1 ], 1e-3 );
392- EXPECT_NEAR ( 0.49 , coeff[6 ], 1e-3 );
406+ EXPECT_NEAR (-0.5 , coeff[0 ], 1e-3 );
407+ EXPECT_NEAR ( 1.7 , coeff[1 ], 1e-3 );
408+ EXPECT_NEAR ( 0.5 , coeff[6 ], 1e-3 );
393409
394410 Eigen::VectorXf coeff_refined;
395411 model->optimizeModelCoefficients (inliers, coeff, coeff_refined);
0 commit comments