Пример #1
0
        public override void OnGizmoDragEnd(int handleId)
        {
            if (_transformableParents.Count != 0)
            {
                var postObjectTransformChangedAction = new PostObjectTransformsChangedAction(_preTransformSnapshots, LocalTransformSnapshot.GetSnapshotCollection(_targetObjects));
                postObjectTransformChangedAction.Execute();
            }

            RefreshPositionAndRotation();
        }
        public void End()
        {
            if (_state == State.Inactive)
            {
                return;
            }

            _targetObjects.Clear();
            _state = State.Inactive;

            var postObjectTransformChangedAction = new PostObjectTransformsChangedAction(_preTargetTransformSnapshots, LocalTransformSnapshot.GetSnapshotCollection(_targetParents));

            postObjectTransformChangedAction.Execute();
            _targetParents.Clear();

            if (SessionEnd != null)
            {
                SessionEnd();
            }
        }
Пример #3
0
 public override void OnGizmoDragEnd(int handleId)
 {
     if (OwnsHandle(handleId))
     {
         if (BoxUsage == Usage.ObjectScale && _targetHierarchyTransform != null)
         {
             var postSnapshot = new LocalTransformSnapshot();
             postSnapshot.Snapshot(_targetHierarchyTransform);
             var action = new PostObjectTransformsChangedAction(new List <LocalTransformSnapshot>()
             {
                 _dragBeginTargetTransformSnapshot
             },
                                                                new List <LocalTransformSnapshot>()
             {
                 postSnapshot
             });
             action.Execute();
         }
     }
 }
Пример #4
0
        public void End()
        {
            if (_state == State.Inactive)
            {
                return;
            }

            _grabTargets.Clear();
            _state = State.Inactive;
            _grabSurfaceInfo.SurfaceType = GrabSurfaceType.Invalid;

            PostObjectTransformsChangedAction postObjectTransformChangedAction = new PostObjectTransformsChangedAction(_preTargetTransformSnapshots, LocalTransformSnapshot.GetSnapshotCollection(_targetParents));

            postObjectTransformChangedAction.Execute();
            _targetParents.Clear();

            if (SessionEnd != null)
            {
                SessionEnd();
            }
        }