private void SetJointRotation(Transform joint, AxisEnum axis, float fAU, float fMin, float fMax) { if (joint == null) { return; } // float fSign = 1.0f; // if(fMax < fMin) // fSign = -1.0f; // [-1, +1] -> [0, 1] //fAUnorm = (fAU + 1f) / 2f; float fValue = fMin + (fMax - fMin) * fAU; Vector3 jointRot = joint.localRotation.eulerAngles; switch (axis) { case AxisEnum.X: jointRot.x = fValue; break; case AxisEnum.Y: jointRot.y = fValue; break; case AxisEnum.Z: jointRot.z = fValue; break; } joint.localRotation = Quaternion.Euler(jointRot); }
public bool SetAxisPos(AxisEnum Axis, double Pos) { bool IsTrue = true; IsTrue = MyMotionBase.SetAixsPos(Axis, Pos); return(IsTrue); }
private float GetJointRotation(Transform joint, AxisEnum axis) { float fJointRot = 0.0f; if (joint == null) { return(fJointRot); } Vector3 jointRot = joint.localRotation.eulerAngles; switch (axis) { case AxisEnum.X: fJointRot = jointRot.x; break; case AxisEnum.Y: fJointRot = jointRot.y; break; case AxisEnum.Z: fJointRot = jointRot.z; break; } return(fJointRot); }
public AxisMapping(AxisEnum axis, float sensitivity, ActionEnum action, float minimumInput) { this.axis = axis; this.sensitivity = sensitivity; this.action = action; this.minimumInput = minimumInput; }
public bool GetAxisPos(AxisEnum Axis, out double Pos) { Pos = 0; bool IsTrue = true; IsTrue = MyMotionBase.GetAxisPos(Axis, out Pos); return(IsTrue); }
/// <summary> /// Get a specified axis value /// </summary> public float GetAxisValue(AxisEnum axis, int controller = 0) { if (OnGetAxisValue != null) { return(OnGetAxisValue(axis, controller)); } return(0.0f); }
/// <summary> /// Конструктор. Создаёт одномерную сетку с заданным по осям числом узлов /// </summary> /// <param name="gridSize">Размер расчетной области</param> /// <param name="numNodes">Количество узлов</param> public Grid1D(decimal gridSize, uint numNodes, AxisEnum axisEnum = AxisEnum.X) { AxisEnum = axisEnum; GridSize = gridSize; StepTransition st = new StepTransition(numNodes, gridSize / (numNodes - 1), gridSize); StepTransitions.Add(st); }
public virtual bool SetAixsPos(AxisEnum Axis, double Pos) { LD.Common.PlcDevice PLCAxis = (LD.Common.PlcDevice)Enum.Parse(typeof(LD.Common.PlcDevice), Axis.ToString()); double Pos0 = Pos * 1000.0; int PosIn = (int)Pos0; LD.Logic.PlcHandle.Instance.WriteValue(PLCAxis, PosIn); return(true); }
void SetAxisOverride(bool use, AxisEnum value, Vector3 vector) { if (useAxisOverride || !use) { return; } useAxisOverride = true; axisOverride = value; axisOverrideVector = vector; }
public AxisMap IsAxisDown(AxisEnum axisEnum) { foreach (AxisMap axisMap in axisMaps) { if (Input.GetButton(axisMap [axisEnum])) { return(axisMap); } } return(null); }
public virtual bool GetAxisPos(AxisEnum Axis, out double Pos) { Pos = 0; LD.Common.PlcDevice PLCAxis = (LD.Common.PlcDevice)Enum.Parse(typeof(LD.Common.PlcDevice), Axis.ToString()); Object obj = LD.Logic.PlcHandle.Instance.ReadValue(PLCAxis); if (obj == null) { return(false); } double Pos0 = (int)obj; Pos = Pos0 / 1000.0; return(true); }
/// <summary> /// Конструктор. Создаёт одномерную сетку с заданным по осям числом узлов /// </summary> /// <param name="gridSize">Размер расчетной области</param> /// <param name="numNodes">Количество узлов</param> public Grid2D(decimal gridSize1, decimal gridSize2, uint numNodes1, uint numNodes2, AxisEnum axisEnum1 = AxisEnum.X, AxisEnum axisEnum2 = AxisEnum.Y) { AxisEnum1 = axisEnum1; AxisEnum2 = axisEnum2; GridSize1 = gridSize1; GridSize2 = gridSize2; StepTransition st1 = new StepTransition(numNodes1, gridSize1 / (numNodes1 - 1), gridSize1); StepTransitions1.Add(st1); StepTransition st2 = new StepTransition(numNodes2, gridSize2 / (numNodes2 - 1), gridSize2); StepTransitions1.Add(st2); }
/// <summary> /// Takes input on Horizontal and Verical (keyboard) /// Takes input on X and Y (mouse) /// Positions camera and sets target position based on these inputs. /// </summary> private void GetInput() { ///Keyboard Input float horizontal = Input.GetAxis("Horizontal"); float vertical = Input.GetAxis("Vertical"); ///Multiply vector by rotation to move forward relative to where we are looking targetVector = gameObject.transform.rotation * new Vector3(targetVector.x + horizontal, 0, targetVector.z + vertical); ///Mouse Input float mouseX = Input.GetAxis("Mouse X"); float mouseY = Input.GetAxis("Mouse Y"); gameObject.transform.Rotate(0, mouseX, 0); AxisEnum xAxis = AxisEnum.x; cameraController.SetCameraRotation(xAxis, mouseY, CameraChoice); }
private void SetJointRotation(Transform joint, AxisEnum axis, float fAU, float fMin, float fMax) { if (joint == null) { return; } float fSign = 1.0f; if (fMax < fMin) { fSign = -1.0f; } // [-1, +1] -> [0, 1] //fAUnorm = (fAU + 1f) / 2f; float fValue = fMin + (fMax - fMin) * fAU; Vector3 jointRot = joint.localRotation.eulerAngles; switch (axis) { case AxisEnum.X: jointRot.x = fValue; break; case AxisEnum.Y: jointRot.y = fValue; break; case AxisEnum.Z: jointRot.z = fValue; break; } if (smoothFactor != 0f) { joint.localRotation = Quaternion.Slerp(joint.localRotation, Quaternion.Euler(jointRot), smoothFactor * Time.deltaTime); } else { joint.localRotation = Quaternion.Euler(jointRot); } }
/** * \brief Get the value of the requested axis, of a playerId to a certain frame. * This function can be overwritten to include more axis * \param axis Axis to retrieve * \param playerId Id of the player * \param frameNumber Frame number to get. Returns the current value by default * \return Value of the axis */ public virtual float GetAxis(AxisEnum axis, int playerId, int frameNumber = -1) { if (playerId >= _playerInputList.Count) { return(0.0f); } frameNumber = CheckFrameNumber(frameNumber); switch (axis) { case AxisEnum.VERTICAL: return(_playerInputList[playerId].GetValue(frameNumber).GetVerticalAxis()); case AxisEnum.HORIZONTAL: return(_playerInputList[playerId].GetValue(frameNumber).GetHorizontalAxis()); } return(0.0f); }
/// <summary> /// /// </summary> /// <param name="axis"></param> /// <param name="angleToChangeTo"></param> /// <param name="camera"></param> public void SetCameraRotation(AxisEnum axis, float angleToChangeTo, PlayerCameraEnum camera) { Camera cameraToChange = GetCameraFromEnum(camera); switch (axis) { case AxisEnum.x: cameraToChange.transform.Rotate(angleToChangeTo, 0, 0); break; case AxisEnum.y: cameraToChange.transform.Rotate(0, angleToChangeTo, 0); break; case AxisEnum.z: cameraToChange.transform.Rotate(0, 0, angleToChangeTo); break; } }
public void SetValues(Transform target, AxisEnum axis, Transform firstConstraint, Transform secondConstraint, Transform FixedPoint, Transform zPosition, Vector3 smoothingTime) { this.target = target; this.axis = axis; this.zPosition = zPosition.position.z; this.smoothingTime = smoothingTime; switch (axis) { case AxisEnum.Horizontal: this.firstConstraint = firstConstraint.position.x; this.secondConstraint = secondConstraint.position.x; this.fixedPoint = FixedPoint.position.y; break; case AxisEnum.Vertical: this.firstConstraint = firstConstraint.position.y; this.secondConstraint = secondConstraint.position.y; this.fixedPoint = FixedPoint.position.x; break; } }
public void GetStateUpdateMessageTest() { Random rndVal = new Random(); int headerSize = 2; EmuControllerInputState emu = new EmuControllerInputState(); for (int i = 0; i < 100; i++) { AxisEnum ax1 = (AxisEnum)rndVal.Next(0, 8); ushort ax1Val = (ushort)rndVal.Next(0, 65536); int buttonIndex1 = rndVal.Next(0, 128); int dpad1 = rndVal.Next(0, 4); DPadDirectionEnum dpad1Val = (DPadDirectionEnum)rndVal.Next(-1, 8); emu.Axes.SetValue(ax1, ax1Val); emu.Buttons.SetValue(buttonIndex1, true); emu.DPads.SetValue(dpad1, dpad1Val); byte[] message = emu.GetStateUpdateMessage(); int expectedMessageLen = 2 * sizeof(ushort) + sizeof(byte) + 6 + headerSize; Assert.IsTrue(message.Length == expectedMessageLen); Assert.IsTrue(message[1] == message.Length - headerSize); Assert.IsTrue(message[2] == (byte)UsageId.Axis); Assert.IsTrue(Utils.IsBitSet(message[3], (byte)ax1)); Assert.IsTrue(BitConverter.ToUInt16(message, 4) == ax1Val); Assert.IsTrue(message[6] == (byte)UsageId.Button); Assert.IsTrue(Utils.IsBitSet(message[7], buttonIndex1 / 16)); Assert.IsTrue(Utils.IsBitSet(BitConverter.ToUInt16(message, 8), buttonIndex1 % 16)); Assert.IsTrue(message[10] == (byte)UsageId.DPad); Assert.IsTrue(Utils.IsBitSet(message[11], (byte)dpad1)); Assert.IsTrue(message[12] == (byte)dpad1Val); } }
private void btnAxisNegMotionMouseDn_Click(object sender, MouseEventArgs e) { Button btn = (Button)sender; int axisIndex = 0; checkAxisTag(btn, out axisIndex); AxisEnum nowAxis = (AxisEnum)(axisIndex + (int)NowCoordi * 8); double rltDis = 0; if (!CheckRltTextValue(ref rltDis)) { return; } double NowPos = 0; if (!MotionManager.Instance.GetAxisPos(nowAxis, out NowPos)) { return; } AxisEnum NowAxisWrite = (AxisEnum)(axisIndex + (int)NowCoordi * 8 + 4); MotionManager.Instance.SetAxisPos(NowAxisWrite, NowPos - rltDis); }
public void SetAxisCamera(Transform target, AxisEnum axis, Transform firstConstraint, Transform secondConstraint, Transform fixedPoint, Transform zPosition, Vector3 smoothingTime) { axisCameraScript.SetValues(target, axis, firstConstraint, secondConstraint, fixedPoint, zPosition, smoothingTime); currentCamera = axisCameraScript; }
private void SetJointRotation(Transform joint, AxisEnum axis, float fAU, float fMin, float fMax) { if(joint == null) return; // float fSign = 1.0f; // if(fMax < fMin) // fSign = -1.0f; // [-1, +1] -> [0, 1] //fAUnorm = (fAU + 1f) / 2f; float fValue = fMin + (fMax - fMin) * fAU; Vector3 jointRot = joint.localRotation.eulerAngles; switch(axis) { case AxisEnum.X: jointRot.x = fValue; break; case AxisEnum.Y: jointRot.y = fValue; break; case AxisEnum.Z: jointRot.z = fValue; break; } if(smoothFactor != 0f) joint.localRotation = Quaternion.Slerp(joint.localRotation, Quaternion.Euler(jointRot), smoothFactor * Time.deltaTime); else joint.localRotation = Quaternion.Euler(jointRot); }
private float GetJointRotation(Transform joint, AxisEnum axis) { float fJointRot = 0.0f; if(joint == null) return fJointRot; Vector3 jointRot = joint.localRotation.eulerAngles; switch(axis) { case AxisEnum.X: fJointRot = jointRot.x; break; case AxisEnum.Y: fJointRot = jointRot.y; break; case AxisEnum.Z: fJointRot = jointRot.z; break; } return fJointRot; }
/// <summary> /// Set value for Axis with the specified index. /// </summary> /// <param name="axisType">Axis type</param> /// <param name="value">Axis value</param> public void SetValue(AxisEnum axisType, ushort value) { SetValue((int)axisType, value); }