public void SetUp() { result = new StatisticsComputer.RunResult( objPath: "", expectedRotation: Quaternion.Euler(new Vector3(15, 30, -45)), expectedTranslation: new Vector3(+1.0f, +1.2f, -2.0f), runData: StatisticsComputer.RunData.RunDataForTests() ); }
public void Test_ExtractRotationAndTranslation(string file, Vector3 expectedActualTranslation, Quaternion expectedActualRotation) { _TransformationComputer computer = new _TransformationComputer(InputPath(file)); computer.ReadObjFile(); computer.CollectCorrespondences(); computer.ComputeTransformationMatrix(); computer.ExtractTranslationAndRotation(); StatisticsComputer.RunResult actual = computer.Run; Assert.IsTrue(actual.ActualTranslation == expectedActualTranslation); float deltaAngle = Quaternion.Angle(actual.ActualRotation, expectedActualRotation); Assert.That(deltaAngle, Is.EqualTo(0).Within(0.1f)); }
public IEnumerator <object> Compute(StatisticsComputer.RunResult run) { this.done = false; transformComputer = new _TransformationComputer(run); yield return(null); transformComputer.ReadObjFile(); yield return(null); transformComputer.CollectCorrespondences(); yield return(null); transformComputer.ComputeTransformationMatrix(); yield return(null); transformComputer.ExtractTranslationAndRotation(); yield return(null); this.done = true; }
public _TransformationComputer(StatisticsComputer.RunResult run) { correspondences = new CorrespondenceCollection(); this.run = run; }