Example #1
0
        /// <summary>
        /// Refreshes the values from the given transform.
        /// </summary>
        public void Refresh(Transform inTransform, TransformProperties inProperties = TransformProperties.All)
        {
            if ((inProperties & TransformProperties.Scale) != 0)
            {
                m_Scale = inTransform.localScale;
            }

            if (m_Space == Space.Self)
            {
                if ((inProperties & TransformProperties.Position) != 0)
                {
                    m_Position = inTransform.localPosition;
                }
            }
            else
            {
                if ((inProperties & TransformProperties.Position) != 0)
                {
                    m_Position = inTransform.position;
                }
            }

            if ((inProperties & TransformProperties.Rotation) != 0)
            {
                m_Rotation = GetRotation(inTransform);
            }
        }
Example #2
0
        /// <summary>
        /// Snaps this transform's properties to those on the given transform.
        /// </summary>
        static public void SnapTo(this Transform inTransform, Transform inTarget, TransformProperties inProperties = TransformProperties.All, Space inSpace = Space.World)
        {
            TransformState state = (inSpace == Space.World ? TransformState.WorldState() : TransformState.LocalState());

            state.Refresh(inTarget, inProperties);
            state.Apply(inTransform, inProperties);
        }
 public TweenData_Transform_Transform(Transform inTransform, Transform inTarget, Space inSpace, TransformProperties inProperties)
 {
     m_Transform  = inTransform;
     m_Target     = inTarget;
     m_Properties = inProperties;
     m_End        = new TransformState(inTarget, inSpace);
 }
Example #4
0
        /// <summary>
        /// Applies a TransformState to the given transform.
        /// </summary>
        public void Apply(Transform inTransform, TransformProperties inProperties = TransformProperties.All)
        {
            if ((inProperties & TransformProperties.Position) != 0)
            {
                inTransform.SetPosition(m_Position, inProperties.ToPositionAxis(), m_Space);
            }

            if ((inProperties & TransformProperties.Scale) != 0)
            {
                inTransform.SetScale(m_Scale, inProperties.ToScaleAxis());
            }

            if ((inProperties & TransformProperties.Rotation) != 0)
            {
                inTransform.SetRotation(m_Rotation, inProperties.ToRotationAxis(), m_Space);
            }
        }
        public static float GetValue(TransformFeature transformFeature, TransformJointData transformJointData,
                                     TransformConfig transformConfig)
        {
            TransformProperties transformProps =
                new TransformProperties(transformJointData.CenterEyePose, transformJointData.WristPose,
                                        transformJointData.Handedness, transformJointData.TrackingSystemUp,
                                        transformJointData.TrackingSystemForward);

            switch (transformFeature)
            {
            case TransformFeature.WristDown:
                return(GetWristDownValue(in transformProps, in transformConfig));

            case TransformFeature.WristUp:
                return(GetWristUpValue(in transformProps, in transformConfig));

            case TransformFeature.PalmDown:
                return(GetPalmDownValue(in transformProps, in transformConfig));

            case TransformFeature.PalmUp:
                return(GetPalmUpValue(in transformProps, in transformConfig));

            case TransformFeature.PalmTowardsFace:
                return(GetPalmTowardsFaceValue(in transformProps, in transformConfig));

            case TransformFeature.PalmAwayFromFace:
                return(GetPalmAwayFromFaceValue(in transformProps, in transformConfig));

            case TransformFeature.FingersUp:
                return(GetFingersUpValue(in transformProps, in transformConfig));

            case TransformFeature.FingersDown:
                return(GetFingersDownValue(in transformProps, in transformConfig));

            case TransformFeature.PinchClear:
            default:
                return(GetPinchClearValue(in transformProps, in transformConfig));
            }
        }
Example #6
0
        /// <summary>
        /// Converts the TransformProperties to an equivalent
        /// Axis value for rotations.
        /// </summary>
        static public Axis ToRotationAxis(this TransformProperties inProperties)
        {
            uint axisValue = ((uint)inProperties >> 6) & 0x07;

            return((Axis)axisValue);
        }
 /// <summary>
 /// Transforms the Transform to another Transform over time.
 /// </summary>
 static public Tween TransformTo(this Transform inTransform, Transform inTarget, TweenSettings inSettings, TransformProperties inProperties = TransformProperties.All, Space inSpace = Space.World)
 {
     return(Tween.Create(new TweenData_Transform_Transform(inTransform, inTarget, inSpace, inProperties), inSettings));
 }
 /// <summary>
 /// Transforms the Transform to another Transform over time.
 /// </summary>
 static public Tween TransformTo(this Transform inTransform, TransformState inTarget, float inTime, TransformProperties inProperties = TransformProperties.All)
 {
     return(Tween.Create(new TweenData_Transform_TransformState(inTransform, inTarget, inProperties), inTime));
 }
 public TweenData_Transform_TransformState(Transform inTransform, TransformState inTarget, TransformProperties inProperties)
 {
     m_Transform  = inTransform;
     m_Target     = inTarget;
     m_Properties = inProperties;
 }