diff --git a/src/processor/processor_compass.cpp b/src/processor/processor_compass.cpp index 7abc25ff089774bc670a163dd41993566f0b3f2f..972c26c572e51296a556f8c48c6daee941770bd8 100644 --- a/src/processor/processor_compass.cpp +++ b/src/processor/processor_compass.cpp @@ -28,7 +28,8 @@ void ProcessorCompass::processCapture(CaptureBasePtr _capture) } // Otherwise: store capture // Note that more than one processor can be emplacing frames, so an older frame can arrive later than this one. - buffer_capture_.add(_capture->getTimeStamp(), _capture); + else + buffer_capture_.add(_capture->getTimeStamp(), _capture); } void ProcessorCompass::processKeyFrame(FrameBasePtr _frame, const double& _time_tolerance) diff --git a/test/gtest_factor_compass_3d.cpp b/test/gtest_factor_compass_3d.cpp index 362e8b0748dfe724e6747377d19833a71c5c37cd..f438aa03fbc5c18ed3d6f0d87c26ed568c535a6d 100644 --- a/test/gtest_factor_compass_3d.cpp +++ b/test/gtest_factor_compass_3d.cpp @@ -44,9 +44,9 @@ void generateRandomSetup() // Random states frm_p = Vector3d::Random() * 10; - frm_q = Quaterniond(Vector4d::Random().normalized()); + frm_q = Quaterniond::UnitRandom(); sen_p = Vector3d::Random() * 10; - sen_q = Quaterniond(Vector4d::Random().normalized()); + sen_q = Quaterniond::UnitRandom(); sen_bias = Vector3d::Random(); field = Vector3d::Random().normalized() * 50;