UnityEditor.TransformManipulator.SetLocalHandleOffsetScaleDelta C# (CSharp) Method

SetLocalHandleOffsetScaleDelta() private static method

private static SetLocalHandleOffsetScaleDelta ( Vector3 scaleDelta, Quaternion pivotRotation ) : void
scaleDelta Vector3
pivotRotation UnityEngine.Quaternion
return void
        private static void SetLocalHandleOffsetScaleDelta(Vector3 scaleDelta, Quaternion pivotRotation)
        {
            Quaternion quaternion = Quaternion.Inverse(Tools.handleRotation) * pivotRotation;
            Tools.localHandleOffset = Vector3.Scale(Vector3.Scale(s_StartLocalHandleOffset, (Vector3) (quaternion * scaleDelta)), (Vector3) (quaternion * Vector3.one));
        }

Usage Example

        public static void SetScaleDelta(Vector3 scaleDelta, Quaternion pivotRotation)
        {
            if (TransformManipulator.s_MouseDownState == null)
            {
                return;
            }
            TransformManipulator.SetLocalHandleOffsetScaleDelta(scaleDelta, pivotRotation);
            for (int i = 0; i < TransformManipulator.s_MouseDownState.Length; i++)
            {
                TransformManipulator.TransformData transformData = TransformManipulator.s_MouseDownState[i];
                Undo.RecordObject(transformData.transform, "Scale");
            }
            Vector3 scalePivot = Tools.handlePosition;

            for (int j = 0; j < TransformManipulator.s_MouseDownState.Length; j++)
            {
                if (Tools.pivotMode == PivotMode.Pivot)
                {
                    scalePivot = TransformManipulator.s_MouseDownState[j].position;
                }
                if (TransformManipulator.individualSpace)
                {
                    pivotRotation = TransformManipulator.s_MouseDownState[j].rotation;
                }
                TransformManipulator.s_MouseDownState[j].SetScaleDelta(scaleDelta, scalePivot, pivotRotation, false);
            }
        }
All Usage Examples Of UnityEditor.TransformManipulator::SetLocalHandleOffsetScaleDelta