Example #1
0
 private void SetTransformEdit()
 {
     IsEntryReady = false;
     if (FrameResource.IsFrameType(currentObject))
     {
         FrameObjectBase fObject = (currentObject as FrameObjectBase);
         CurrentEntry.Text      = fObject.Name.String;
         PositionXNumeric.Value = Convert.ToDecimal(fObject.Matrix.Position.X);
         PositionYNumeric.Value = Convert.ToDecimal(fObject.Matrix.Position.Y);
         PositionZNumeric.Value = Convert.ToDecimal(fObject.Matrix.Position.Z);
         RotationXNumeric.Value = Convert.ToDecimal(fObject.Matrix.Rotation.X);
         RotationYNumeric.Value = Convert.ToDecimal(fObject.Matrix.Rotation.Y);
         RotationZNumeric.Value = Convert.ToDecimal(fObject.Matrix.Rotation.Z);
         ScaleXNumeric.Enabled  = ScaleYNumeric.Enabled = ScaleZNumeric.Enabled = true;
         ScaleXNumeric.Value    = Convert.ToDecimal(fObject.Matrix.Scale.X);
         ScaleYNumeric.Value    = Convert.ToDecimal(fObject.Matrix.Scale.Y);
         ScaleZNumeric.Value    = Convert.ToDecimal(fObject.Matrix.Scale.Z);
     }
     else if (currentObject is ResourceTypes.Collisions.Collision.Placement)
     {
         ResourceTypes.Collisions.Collision.Placement placement = (currentObject as ResourceTypes.Collisions.Collision.Placement);
         CurrentEntry.Text      = placement.Hash.ToString();
         PositionXNumeric.Value = Convert.ToDecimal(placement.Position.X);
         PositionYNumeric.Value = Convert.ToDecimal(placement.Position.Y);
         PositionZNumeric.Value = Convert.ToDecimal(placement.Position.Z);
         RotationXNumeric.Value = Convert.ToDecimal(placement.Rotation.X);
         RotationYNumeric.Value = Convert.ToDecimal(placement.Rotation.Y);
         RotationZNumeric.Value = Convert.ToDecimal(placement.Rotation.Z);
         ScaleXNumeric.Value    = ScaleYNumeric.Value = ScaleZNumeric.Value = 0.0M;
         ScaleXNumeric.Enabled  = ScaleYNumeric.Enabled = ScaleZNumeric.Enabled = false;
     }
     IsEntryReady = true;
 }
Example #2
0
 public void UpdateObject()
 {
     if (IsEntryReady && currentObject != null)
     {
         if (FrameResource.IsFrameType(currentObject))
         {
             FrameObjectBase fObject = (currentObject as FrameObjectBase);
             fObject.Matrix.Position = new Vector3(Convert.ToSingle(PositionXNumeric.Value), Convert.ToSingle(PositionYNumeric.Value), Convert.ToSingle(PositionZNumeric.Value));
             fObject.Matrix.SetRotationMatrix(new Vector3(Convert.ToSingle(RotationXNumeric.Value), Convert.ToSingle(RotationYNumeric.Value), Convert.ToSingle(RotationZNumeric.Value)));
             fObject.Matrix.SetScaleMatrix(new Vector3(Convert.ToSingle(ScaleXNumeric.Value), Convert.ToSingle(ScaleYNumeric.Value), Convert.ToSingle(ScaleZNumeric.Value)));
         }
         else if (currentObject is ResourceTypes.Collisions.Collision.Placement)
         {
             ResourceTypes.Collisions.Collision.Placement placement = (currentObject as ResourceTypes.Collisions.Collision.Placement);
             placement.Position = new Vector3(Convert.ToSingle(PositionXNumeric.Value), Convert.ToSingle(PositionYNumeric.Value), Convert.ToSingle(PositionZNumeric.Value));
             placement.Rotation = new Vector3(Convert.ToSingle(RotationXNumeric.Value), Convert.ToSingle(RotationYNumeric.Value), Convert.ToSingle(RotationZNumeric.Value));
         }
     }
 }
        private void SetTransformEdit()
        {
            IsEntryReady = false;
            if (FrameResource.IsFrameType(currentObject))
            {
                FrameObjectBase fObject   = (currentObject as FrameObjectBase);
                Vector3         position  = Vector3.Zero;
                Quaternion      rotation2 = Quaternion.Identity;
                Vector3         scale     = Vector3.Zero;
                Matrix4x4.Decompose(fObject.LocalTransform, out scale, out rotation2, out position);

                CurrentEntry.Text      = fObject.Name.ToString();
                PositionXNumeric.Value = Convert.ToDecimal(position.X);
                PositionYNumeric.Value = Convert.ToDecimal(position.Y);
                PositionZNumeric.Value = Convert.ToDecimal(position.Z);

                Vector3 rotation = rotation2.ToEuler();
                RotationXNumeric.Value = Convert.ToDecimal(rotation.X);
                RotationYNumeric.Value = Convert.ToDecimal(rotation.Y);
                RotationZNumeric.Value = Convert.ToDecimal(rotation.Z);
                ScaleXNumeric.Enabled  = ScaleYNumeric.Enabled = ScaleZNumeric.Enabled = true;
                ScaleXNumeric.Value    = Convert.ToDecimal(scale.X);
                ScaleYNumeric.Value    = Convert.ToDecimal(scale.Y);
                ScaleZNumeric.Value    = Convert.ToDecimal(scale.Z);
            }
            else if (currentObject is ResourceTypes.Collisions.Collision.Placement)
            {
                ResourceTypes.Collisions.Collision.Placement placement = (currentObject as ResourceTypes.Collisions.Collision.Placement);
                CurrentEntry.Text      = placement.Hash.ToString();
                PositionXNumeric.Value = Convert.ToDecimal(placement.Position.X);
                PositionYNumeric.Value = Convert.ToDecimal(placement.Position.Y);
                PositionZNumeric.Value = Convert.ToDecimal(placement.Position.Z);
                Vector3 placementRotation = placement.RotationDegrees;
                RotationXNumeric.Value = Convert.ToDecimal(placementRotation.X);
                RotationYNumeric.Value = Convert.ToDecimal(placementRotation.Y);
                RotationZNumeric.Value = Convert.ToDecimal(placementRotation.Z);
                ScaleXNumeric.Value    = ScaleYNumeric.Value = ScaleZNumeric.Value = 0.0M;
                ScaleXNumeric.Enabled  = ScaleYNumeric.Enabled = ScaleZNumeric.Enabled = false;
            }
            IsEntryReady = true;
        }
        public void UpdateObject()
        {
            if (IsEntryReady && currentObject != null)
            {
                Vector3 position = new Vector3(Convert.ToSingle(PositionXNumeric.Value), Convert.ToSingle(PositionYNumeric.Value), Convert.ToSingle(PositionZNumeric.Value));
                Vector3 rotation = new Vector3(Convert.ToSingle(RotationXNumeric.Value), Convert.ToSingle(RotationYNumeric.Value), Convert.ToSingle(RotationZNumeric.Value));
                Vector3 scale    = new Vector3(Convert.ToSingle(ScaleXNumeric.Value), Convert.ToSingle(ScaleYNumeric.Value), Convert.ToSingle(ScaleZNumeric.Value));

                if (FrameResource.IsFrameType(currentObject))
                {
                    FrameObjectBase fObject = (currentObject as FrameObjectBase);
                    fObject.LocalTransform = MatrixUtils.SetMatrix(rotation, scale, position);
                }
                else if (currentObject is ResourceTypes.Collisions.Collision.Placement)
                {
                    ResourceTypes.Collisions.Collision.Placement placement = (currentObject as ResourceTypes.Collisions.Collision.Placement);
                    placement.Position        = position;
                    placement.RotationDegrees = rotation;
                }
            }
        }