Exemple #1
0
 public void SetGlobalLock(LockObject gLock)
 {
     if (gLock == null)
     {
         m_globalLock = new LockObject();
     }
     else
     {
         m_globalLock = gLock;
     }
 }
        public static LockObject Eval(LockAxes[] lockAxes)
        {
            LockObject lockObject = new LockObject();

            if (lockAxes != null)
            {
                lockObject.PositionX = lockAxes.Any(la => la.PositionX);
                lockObject.PositionY = lockAxes.Any(la => la.PositionY);
                lockObject.PositionZ = lockAxes.Any(la => la.PositionZ);

                lockObject.RotationX      = lockAxes.Any(la => la.RotationX);
                lockObject.RotationY      = lockAxes.Any(la => la.RotationY);
                lockObject.RotationZ      = lockAxes.Any(la => la.RotationZ);
                lockObject.RotationFree   = lockAxes.Any(la => la.RotationFree);
                lockObject.RotationScreen = lockAxes.Any(la => la.RotationScreen);

                lockObject.ScaleX = lockAxes.Any(la => la.ScaleX);
                lockObject.ScaleY = lockAxes.Any(la => la.ScaleY);
                lockObject.ScaleZ = lockAxes.Any(la => la.ScaleZ);

                lockObject.PivotMode = null;
                if (lockAxes.Any(la => la.PivotMode))
                {
                    if (lockAxes.All(la => la.PivotModeValue == RuntimePivotMode.Center))
                    {
                        lockObject.PivotMode = RuntimePivotMode.Center;
                    }
                    else if (lockAxes.All(la => la.PivotModeValue == RuntimePivotMode.Pivot))
                    {
                        lockObject.PivotMode = RuntimePivotMode.Pivot;
                    }
                }

                lockObject.PivotRotation = null;
                if (lockAxes.Any(la => la.PivotRotation))
                {
                    if (lockAxes.All(la => la.PivotRotationValue == RuntimePivotRotation.Global))
                    {
                        lockObject.PivotRotation = RuntimePivotRotation.Global;
                    }
                    else if (lockAxes.All(la => la.PivotRotationValue == RuntimePivotRotation.Local))
                    {
                        lockObject.PivotRotation = RuntimePivotRotation.Local;
                    }
                }
            }

            return(lockObject);
        }
Exemple #3
0
        public static LockObject Eval(LockAxes[] lockAxes)
        {
            LockObject lockObject = new LockObject();

            if (lockAxes != null)
            {
                lockObject.PositionX = lockAxes.Any(la => la.PositionX);
                lockObject.PositionY = lockAxes.Any(la => la.PositionY);
                lockObject.PositionZ = lockAxes.Any(la => la.PositionZ);

                lockObject.RotationX      = lockAxes.Any(la => la.RotationX);
                lockObject.RotationY      = lockAxes.Any(la => la.RotationY);
                lockObject.RotationZ      = lockAxes.Any(la => la.RotationZ);
                lockObject.RotationScreen = lockAxes.Any(la => la.RotationScreen);

                lockObject.ScaleX = lockAxes.Any(la => la.ScaleX);
                lockObject.ScaleY = lockAxes.Any(la => la.ScaleY);
                lockObject.ScaleZ = lockAxes.Any(la => la.ScaleZ);
            }

            return(lockObject);
        }