@@ -911,6 +911,11 @@ Public Class ClassLogManageServiceDevices
911911 Single .Parse(mDeviceConfig.GetValue( "pose\orientation" , "z" , "0.0" ), Globalization.NumberStyles.Float, Globalization.CultureInfo.InvariantCulture),
912912 Single .Parse(mDeviceConfig.GetValue( "pose\orientation" , "w" , "1.0" ), Globalization.NumberStyles.Float, Globalization.CultureInfo.InvariantCulture)
913913 )
914+ Dim mTrackerPosition As New Vector3(
915+ Single .Parse(mDeviceConfig.GetValue( "pose\position" , "x" , "0.0" ), Globalization.NumberStyles.Float, Globalization.CultureInfo.InvariantCulture),
916+ Single .Parse(mDeviceConfig.GetValue( "pose\position" , "y" , "0.0" ), Globalization.NumberStyles.Float, Globalization.CultureInfo.InvariantCulture),
917+ Single .Parse(mDeviceConfig.GetValue( "pose\position" , "z" , "0.0" ), Globalization.NumberStyles.Float, Globalization.CultureInfo.InvariantCulture)
918+ )
914919
915920 For Each mDeviceOther In GetDevices()
916921 If (mDeviceOther.iId < 0 ) Then
@@ -944,11 +949,18 @@ Public Class ClassLogManageServiceDevices
944949 Single .Parse(mDeviceOtherConfig.GetValue( "pose\orientation" , "z" , "0.0" ), Globalization.NumberStyles.Float, Globalization.CultureInfo.InvariantCulture),
945950 Single .Parse(mDeviceOtherConfig.GetValue( "pose\orientation" , "w" , "1.0" ), Globalization.NumberStyles.Float, Globalization.CultureInfo.InvariantCulture)
946951 )
952+ Dim mOtherTrackerPosition As New Vector3(
953+ Single .Parse(mDeviceOtherConfig.GetValue( "pose\position" , "x" , "0.0" ), Globalization.NumberStyles.Float, Globalization.CultureInfo.InvariantCulture),
954+ Single .Parse(mDeviceOtherConfig.GetValue( "pose\position" , "y" , "0.0" ), Globalization.NumberStyles.Float, Globalization.CultureInfo.InvariantCulture),
955+ Single .Parse(mDeviceOtherConfig.GetValue( "pose\position" , "z" , "0.0" ), Globalization.NumberStyles.Float, Globalization.CultureInfo.InvariantCulture)
956+ )
957+
958+ Dim fAngleDiff1 As Single = ClassMathUtils.CalculateAngleDegreesDifferenceFov(mTrackerPosition, mTrackerOrientation, mOtherTrackerPosition, mOtherTrackerOrientation)
959+ Dim fAngleDiff2 As Single = ClassMathUtils.CalculateAngleDegreesDifferenceFov(mOtherTrackerPosition, mOtherTrackerOrientation, mTrackerPosition, mTrackerOrientation)
947960
948- Dim fAngleDiff As Single = ClassMathUtils.CalculateAngleDegreesDifference(mTrackerOrientation, mOtherTrackerOrientation)
949- If (fAngleDiff > 180.0F - iAngleLimit) Then
961+ If (Math.Abs(fAngleDiff1) < iAngleLimit AndAlso Math.Abs(fAngleDiff2) < iAngleLimit) Then
950962 Dim mIssue As New STRUC_LOG_ISSUE(mTemplate)
951- mIssue.sDescription = String .Format(mIssue.sDescription, mDevice.iId, mDeviceOther.iId, CInt (Math.Abs(fAngleDiff - 180.0F ) ))
963+ mIssue.sDescription = String .Format(mIssue.sDescription, mDevice.iId, mDeviceOther.iId, CInt (( Math.Abs(fAngleDiff1) + Math.Abs(fAngleDiff2)) / 2 ))
952964 mIssues.Add(mIssue)
953965 End If
954966 Next
0 commit comments