Commit 39a8de4d authored by Stephane LOUIS DIT PICARD's avatar Stephane LOUIS DIT PICARD
Browse files

fix: compute invalid matrix on get reloc info

parent d3f5ba5e
Loading
Loading
Loading
Loading
+9 −9
Original line number Diff line number Diff line
@@ -223,7 +223,7 @@ namespace ETSI.ARF.OpenAPI.WorldStorage.Controllers
                        results.Add(result);

                        // Recursive search starting with the attached trackable
                        results.AddRange(FindRelocInfo(trackable.UUID, mode, m, capabilities, ref history));
                        results.AddRange(FindRelocInfoAsTo(trackable.UUID, mode, m, capabilities, ref history));
                    }
                    else
                    {
@@ -264,7 +264,7 @@ namespace ETSI.ARF.OpenAPI.WorldStorage.Controllers
                        }

                        // Recursive search starting with the attached anchor
                        results.AddRange(FindRelocInfo(anchor.UUID, mode, m, capabilities, ref history));
                        results.AddRange(FindRelocInfoAsTo(anchor.UUID, mode, m, capabilities, ref history));
                    }
                    else
                    {
@@ -323,14 +323,14 @@ namespace ETSI.ARF.OpenAPI.WorldStorage.Controllers

                        if (mode == ModeWorldStorage.REQUESTTOTRACKABLESEnum)
                        {
                            m = link.Matrix() * matrix;
                            m = matrix * link.Matrix();
                        }
                        else if (mode == ModeWorldStorage.TRACKABLESTOREQUESTEnum)
                        {
                            Matrix4x4 invert;
                            if (Matrix4x4.Invert(link.Matrix(), out invert))
                            {
                                m = matrix * invert;
                                m = invert * matrix;
                            }
                            else
                            {
@@ -359,7 +359,7 @@ namespace ETSI.ARF.OpenAPI.WorldStorage.Controllers
                        results.Add(result);

                        // Recursive search starting with the attached trackable
                        results.AddRange(FindRelocInfo(trackable.UUID, mode, m, capabilities, ref history));
                        results.AddRange(FindRelocInfoAsFrom(trackable.UUID, mode, m, capabilities, ref history));
                    }
                    else
                    {
@@ -374,18 +374,18 @@ namespace ETSI.ARF.OpenAPI.WorldStorage.Controllers
                    {

                        Matrix4x4 m;
                        m = link.Matrix() * matrix;
                        //m = link.Matrix() * matrix;

                        if (mode == ModeWorldStorage.REQUESTTOTRACKABLESEnum)
                        {
                            m = link.Matrix() * matrix;
                            m = matrix * link.Matrix();
                        }
                        else if (mode == ModeWorldStorage.TRACKABLESTOREQUESTEnum)
                        {
                            Matrix4x4 invert;
                            if (Matrix4x4.Invert(link.Matrix(), out invert))
                            {
                                m = matrix * invert;
                                m = invert * matrix;
                            }
                            else
                            {
@@ -400,7 +400,7 @@ namespace ETSI.ARF.OpenAPI.WorldStorage.Controllers
                        }

                        // Recursive search starting with the attached anchor
                        results.AddRange(FindRelocInfo(anchor.UUID, mode, m, capabilities, ref history));
                        results.AddRange(FindRelocInfoAsFrom(anchor.UUID, mode, m, capabilities, ref history));
                    }
                    else
                    {