private void ResetRigHandles()
        {
            inputDownEventData = null;

            if (this.AffineType == BoundingBoxGizmoHandleTransformType.Scale)
            {
                cachedRenderer.sharedMaterial = Rig.ScaleHandleMaterial;
            }
            else
            {
                cachedRenderer.sharedMaterial = Rig.RotateHandleMaterial;
            }

            HoloToolkit.Unity.InputModule.InputManager.Instance.PopModalInputHandler();
            Rig.FocusOnHandle(null);
        }
        public void OnInputDown(InputEventData eventData)
        {
            inputDownEventData = eventData;

            initialHandPosition    = GetHandPosition(eventData.SourceId);
            lastHandWorldPos       = initialHandPosition;
            initialScale           = transformToAffect.localScale;
            initialPosition        = transformToAffect.position;
            initialOrientation     = transformToAffect.rotation.eulerAngles;
            initialRotation        = transformToAffect.rotation;
            initialHandOrientation = GetHandOrientation(eventData.SourceId);
            initialScaleOrigin     = transformToAffect.position - this.transform.position;

            HoloToolkit.Unity.InputModule.InputManager.Instance.PushModalInputHandler(gameObject);

            cachedRenderer.sharedMaterial = Rig.InteractingMaterial;
            Rig.FocusOnHandle(this.gameObject);
            eventData.Use();
        }