/// <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); } }
/// <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); }
/// <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)); } }
/// <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; }