Пример #1
0
        private SpacePin FindPinByName(GameObject rig, string pinName)
        {
            GameObject pinObject = GameObject.Find(pinName);

            Assert.IsNotNull(pinObject);
            SpacePin spacePin = pinObject.GetComponent <SpacePin>();

            return(spacePin);
        }
Пример #2
0
        private void FindAndSetPin(GameObject rig, string pinName, Vector3 offset)
        {
            SpacePin spacePin = FindPinByName(rig, pinName);

            Assert.IsNotNull(spacePin);
            Pose virtualPose = spacePin.ModelingPoseGlobal;
            Pose frozenPose  = virtualPose;

            frozenPose.position += offset;
            spacePin.SetFrozenPose(frozenPose);
        }
Пример #3
0
        private void FindAndCheckPin(GameObject rig, string pinName)
        {
            SpacePin spacePin = FindPinByName(rig, pinName);

            Pose    virtualPose = spacePin.ModelingPoseGlobal;
            Pose    lockedPose  = spacePin.LockedPose;
            Pose    frozenPose  = WorldLockingManager.GetInstance().FrozenFromLocked.Multiply(lockedPose);
            Vector3 offset      = frozenPose.position - virtualPose.position;
            float   len         = Mathf.Abs(offset.magnitude - 1.0f);

            Assert.Less(len, 1.0e-4f);
        }
Пример #4
0
        private void FindAndCheckPin(GameObject rig, string pinName)
        {
            SpacePin spacePin = FindPinByName(rig, pinName);

            Pose virtualPose = spacePin.ModelingPoseGlobal;
            Pose lockedPose  = spacePin.LockedPose;

            Debug.Log($"FFL:{WorldLockingManager.GetInstance().FrozenFromLocked.position.ToString("F3")}"
                      + $"/ {WorldLockingManager.GetInstance().FrozenFromLocked.rotation.ToString("F3")}");
            Pose    frozenPose = WorldLockingManager.GetInstance().FrozenFromLocked.Multiply(lockedPose);
            Vector3 offset     = frozenPose.position - virtualPose.position;
            float   len        = Mathf.Abs(offset.magnitude - 1.0f);

            Assert.Less(len, 1.0e-4f, $"pin={spacePin.name} fr={frozenPose.position.ToString("F3")} vi={virtualPose.position.ToString("F3")}");
        }
Пример #5
0
 /// <summary>
 /// Find the index of a space pin in the space pins list.
 /// </summary>
 /// <param name="spacePin">The pin to find.</param>
 /// <returns>Index in the list if found, else -1.</returns>
 private int FindSpacePin(SpacePin spacePin)
 {
     return(FindByPredicate(spacePins, x => x == spacePin));
 }