public static Color GetColor(GColor idx) { switch (idx) { case GColor.Green1: return(Green1); case GColor.Green2: return(Green2); case GColor.Green3: return(Green3); case GColor.Gray1: return(Gray1); case GColor.Yellow1: return(Yellow1); case GColor.Yellow2: return(Yellow2); case GColor.Yellow3: return(Yellow3); case GColor.Red1: return(Red1); case GColor.Purple1: return(Purple1); } return(Color.black); }
public unsafe void SetRGBA(float r, float g, float b, float a) { GColor gColor = r; *(ref gColor + 4) = g; *(ref gColor + 8) = b; *(ref gColor + 12) = a;
public unsafe void SetColor(uint color) { GColor gColor = (color >> 16 & 255) * 0.003921569f; *(ref gColor + 4) = (color >> 8 & 255) * 0.003921569f; *(ref gColor + 8) = (color & 255) * 0.003921569f; *(ref gColor + 12) = (color >> 24) * 0.003921569f; int hue; int sat; int val;
public override void SetupChannels() { m_damperFactor = dataLogger.NewChannel("Damper"); m_damperFactor.color = GColor.Alpha(GColor.orange, 1.0f); m_damperFactor.SetOriginAndSpan(0.0f, 5.0f); m_damperFactor.valueFormat = "0.0 %"; m_forceFactor = dataLogger.NewChannel("Force"); m_forceFactor.color = GColor.Alpha(GColor.accentBlue, 1.0f); m_forceFactor.SetOriginAndSpan(5.0f, 5.0f); m_forceFactor.valueFormat = "0.0 %"; }
public void OnDrawGizmosSelected() { BoxCollider collider = GetComponent <BoxCollider>(); Vector3 planePoint = transform.TransformPoint(collider.center + Vector3.forward * collider.size.z * -0.5f); Vector3 planeSize = Vector3.Scale(collider.size, transform.lossyScale); Gizmos.color = GColor.Alpha(GColor.accentGreen, 0.5f); Gizmos.matrix = Matrix4x4.TRS(planePoint, transform.rotation, Vector3.one); Gizmos.DrawCube(Vector3.zero, new Vector3(planeSize.x, planeSize.y, 0)); }
public void OnDrawGizmos() { if (!isActiveAndEnabled) { return; } if (m_rigidbody != null) { if (showLabel) { UnityEditor.Handles.Label(m_drawPosition, m_rigidbody.name + "\nM: " + m_rigidbody.mass + "\nI: " + m_rigidbody.inertiaTensor + " - " + m_rigidbody.inertiaTensor.magnitude.ToString("0.0") + "\nR: " + m_rigidbody.inertiaTensorRotation.eulerAngles ); } if (showInertiaTensor) { Gizmos.matrix = Matrix4x4.TRS( m_drawPosition, transform.rotation * m_rigidbody.inertiaTensorRotation, Vector3.one); Vector3 normalizedInertia = m_rigidbody.inertiaTensor / m_rigidbody.mass; float maxDim = Mathf.Max(normalizedInertia.x, Mathf.Max(normalizedInertia.y, normalizedInertia.z)); Vector3 inertiaX = new Vector3(maxDim, normalizedInertia.x, normalizedInertia.x); Vector3 inertiaY = new Vector3(normalizedInertia.y, maxDim, normalizedInertia.y); Vector3 inertiaZ = new Vector3(normalizedInertia.z, normalizedInertia.z, maxDim); Gizmos.color = GColor.Alpha(GColor.accentRed, 0.7f); Gizmos.DrawWireCube(Vector3.zero, inertiaX); Gizmos.color = GColor.Alpha(GColor.accentGreen, 0.7f); Gizmos.DrawWireCube(Vector3.zero, inertiaY); Gizmos.color = GColor.Alpha(GColor.accentBlue, 0.7f); Gizmos.DrawWireCube(Vector3.zero, inertiaZ); } } }
void OnDrawGizmosSelected() { if (!isActiveAndEnabled) { return; } Gizmos.matrix = Matrix4x4.TRS(transform.position, transform.rotation, Vector3.one); Gizmos.color = GColor.Alpha(GColor.accentRed, 0.5f); Gizmos.DrawCube(Vector3.zero, new Vector3(range.x, range.y, 0)); Gizmos.color = GColor.Alpha(GColor.accentGreen, 0.9f); Gizmos.DrawWireCube(0.5f * range.z * Vector3.forward, range); #if UNITY_EDITOR // string text = string.Format("{0,0:0.0} m/s\n{1,0:0.0} km/h", targetSpeed, targetSpeed * 3.6f); // UnityEditor.Handles.Label(transform.position, text); #endif }
void OnDrawGizmosSelected() { if (!isActiveAndEnabled) { return; } // Entry / exit planes Gizmos.matrix = Matrix4x4.TRS(transform.position, transform.rotation, Vector3.one); Vector3 planeSize = new Vector3(range.x, range.y, 0); // Entry plane Gizmos.color = GColor.Alpha(GColor.lightBlue, 0.5f); Gizmos.DrawWireCube(new Vector3(0, 0, range.z * fadeInZone), planeSize); Gizmos.DrawCube(Vector3.zero, planeSize); // Exit plane Gizmos.color = GColor.Alpha(GColor.indigo, 0.5f); Gizmos.DrawWireCube(new Vector3(0, 0, range.z * (1.0f - fadeOutZone)), planeSize); Gizmos.DrawCube(new Vector3(0, 0, range.z), planeSize); // Volume wire Gizmos.color = GColor.Alpha(GColor.blue, 0.9f); Gizmos.DrawWireCube(0.5f * range.z * Vector3.forward, range); // Texts #if UNITY_EDITOR // string text1 = string.Format("Entry: {0,0:0.0} m/s\n{1,0:0.0} km/h", entryTargetSpeed, entryTargetSpeed * 3.6f); // string text2 = string.Format("Exit: {0,0:0.0} m/s\n{1,0:0.0} km/h", exitTargetSpeed, exitTargetSpeed * 3.6f); // UnityEditor.Handles.Label(transform.position, text1); // UnityEditor.Handles.Label(transform.position + transform.forward*range.z, text2); #endif }
public override void SetupChannels() { m_suspensionTravel = dataLogger.NewChannel("Suspension travel"); m_suspensionTravel.color = GColor.Alpha(GColor.lime, 0.7f); m_suspensionTravel.SetOriginAndSpan(3.0f, 1.0f, reference.maxSuspensionDistance * 1000.0f); m_suspensionTravel.alphaBlend = true; m_suspensionTravel.valueFormat = "0 mm"; m_suspensionTravel.captionPositionY = 0; m_contactSpeed = dataLogger.NewChannel("Contact Speed"); m_contactSpeed.color = GColor.Alpha(GColor.lightBlue, 0.7f); m_contactSpeed.SetOriginAndSpan(3.0f, 0.5f, reference.maxSuspensionDistance * 1000.0f); m_contactSpeed.alphaBlend = true; m_contactSpeed.scale = 1.0f / (reference.maxSuspensionDistance * 1000.0f) * 0.5f; m_contactSpeed.valueFormat = "0 mm/s"; m_contactSpeed.captionPositionY = 1; m_contactDepth = dataLogger.NewChannel("Contact Depth"); m_contactDepth.color = GColor.Alpha(GColor.accentTeal, 0.7f); m_contactDepth.SetOriginAndSpan(3.0f, 1.0f, reference.maxSuspensionDistance * 1000.0f); m_contactDepth.alphaBlend = true; m_contactDepth.valueFormat = "0 mm"; m_contactDepth.captionPositionY = 2; m_damperForce = dataLogger.NewChannel("Damper force"); m_damperForce.color = GColor.Alpha(GColor.purple, 0.7f); m_damperForce.SetOriginAndSpan(3.0f, 2.0f, reference.maxSuspensionDistance * reference.maxSpringRate); m_damperForce.alphaBlend = true; m_damperForce.valueFormat = "0 N"; m_damperForce.captionPositionY = -2; m_suspensionForce = dataLogger.NewChannel("Suspension force"); m_suspensionForce.color = GColor.Alpha(GColor.red, 0.7f); m_suspensionForce.SetOriginAndSpan(3.0f, 2.0f, reference.maxSuspensionDistance * reference.maxSpringRate); m_suspensionForce.alphaBlend = true; m_suspensionForce.valueFormat = "0 N"; m_suspensionForce.captionPositionY = -1; }
public override void SetupChannels() { m_compressionDiff = dataLogger.NewChannel("Compression Diff"); m_compressionDiff.color = GColor.gray; m_compressionDiff.SetOriginAndSpan(4.5f, 1.0f, reference.maxSuspensionDistance * 1000.0f); m_compressionDiff.valueFormat = "0 mm"; m_compressionDiff.captionPositionY = 1; m_steerAngle = dataLogger.NewChannel("Steer Angle (avg)"); m_steerAngle.color = GColor.Alpha(Color.Lerp(GColor.teal, GColor.green, 0.75f), 0.7f); m_steerAngle.SetOriginAndSpan(4.5f, -1.0f, 35.0f); m_steerAngle.valueFormat = "0.00 �"; m_steerAngle.alphaBlend = true; m_steerAngle.captionPositionY = 2; m_roll = dataLogger.NewChannel("Roll"); m_roll.color = GColor.Alpha(GColor.teal, 0.7f); m_roll.SetOriginAndSpan(4.5f, -1.0f, 10.0f); m_roll.valueFormat = "0.00 �"; m_roll.alphaBlend = true; m_roll.captionPositionY = 0; m_yawRate = dataLogger.NewChannel("Turn Rate"); m_yawRate.color = GColor.Alpha(GColor.red, 0.6f); m_yawRate.SetOriginAndSpan(4.5f, -1.0f, 35.0f); m_yawRate.valueFormat = "0.0 �/s"; // m_yawRate.alphaBlend = true; m_yawRate.captionPositionY = -1; m_yawRateVsSteer = dataLogger.NewChannel("Turn Rate vs. Steering"); m_yawRateVsSteer.color = GColor.gray; m_yawRateVsSteer.SetOriginAndSpan(2.0f, 1.0f, 15.0f); m_yawRateVsSteer.valueFormat = "0.00"; // Channels will be drawn in the same order they're created m_leftCompression = dataLogger.NewChannel("Left Contact Depth"); m_leftCompression.color = GColor.Alpha(GColor.accentYellow, 0.7f); m_leftCompression.SetOriginAndSpan(1.0f, 1.0f, reference.maxSuspensionDistance * 1000.0f); m_leftCompression.alphaBlend = true; m_leftCompression.valueFormat = "0 mm"; m_leftCompression.captionPositionY = 2; m_rightCompression = dataLogger.NewChannel("Right Contact Depth"); m_rightCompression.color = GColor.Alpha(GColor.accentLightBlue, 0.7f); m_rightCompression.SetOriginAndSpan(1.0f, 1.0f, reference.maxSuspensionDistance * 1000.0f); m_rightCompression.alphaBlend = true; m_rightCompression.valueFormat = "0 mm"; m_rightCompression.captionPositionY = 1; m_leftSpring = dataLogger.NewChannel("Effective Left Spring"); m_leftSpring.color = GColor.Alpha(GColor.yellowA100, 0.7f); m_leftSpring.SetOriginAndSpan(0.0f, 0.9f, reference.maxSpringRate * 2.0f); m_leftSpring.alphaBlend = true; m_leftSpring.valueFormat = "0"; m_leftSpring.captionPositionY = 2; m_rightSpring = dataLogger.NewChannel("Effective Right Spring"); m_rightSpring.color = GColor.Alpha(GColor.lightBlue200, 0.7f); m_rightSpring.SetOriginAndSpan(0.0f, 0.9f, reference.maxSpringRate * 2.0f); m_rightSpring.alphaBlend = true; m_rightSpring.valueFormat = "0"; m_rightSpring.captionPositionY = 1; }
private unsafe Bitmap CalculateColorPickerBitmap(float hue) { Bitmap bitmap = new Bitmap(120, 120); Color color = Color.FromKnownColor(KnownColor.Control); float num = hue * -0.0174532924f; double num2 = (double)num; float num3 = (float)Math.Cos(num2); GLine gLine = (float)Math.Sin(num2); double num4 = (double)(num + 2.09439516f); float num5 = (float)Math.Cos(num4); float num6 = num5; float num7 = (float)Math.Sin(num4); GLine gLine2 = num7; double num8 = (double)(num - 2.09439516f); float num9 = (float)Math.Cos(num8); GLine gLine3 = (float)Math.Sin(num8); int num10 = 0; do { float num11 = (float)(num10 - 60); float num12 = num11 + 0.5f; int num13 = -60; do { float num14 = num12; float num15 = (float)num13; float num16 = num15 + 0.5f; float num17 = num16; float expr_AC = num17; float arg_B2_0 = expr_AC * expr_AC; float expr_B0 = num14; float num18 = arg_B2_0 + expr_B0 * expr_B0; if (num18 > 3685.353f) { bitmap.SetPixel(num13 + 60, num10, color); } else if (num18 < 2236.61768f) { int num19 = 0; int num20 = 0; float num21 = num15 + 0.125f; float num22 = num15 + 0.375f; float num23 = num15 + 0.625f; float num24 = num15 + 0.875f; do { GPoint2 gPoint = num21; float num25 = ((float)num20 + 0.5f) * 0.25f + num11; *(ref gPoint + 4) = num25; if (*(ref gPoint + 4) * num3 + gPoint * gLine - 22.5f < 0f && gPoint * gLine2 + *(ref gPoint + 4) * num6 - 22.5f < 0f && gPoint * gLine3 + *(ref gPoint + 4) * num9 - 22.5f < 0f) { num19++; } gPoint = num22; *(ref gPoint + 4) = num25; if (*(ref gPoint + 4) * num3 + gPoint * gLine - 22.5f < 0f && gPoint * gLine2 + *(ref gPoint + 4) * num6 - 22.5f < 0f && gPoint * gLine3 + *(ref gPoint + 4) * num9 - 22.5f < 0f) { num19++; } gPoint = num23; *(ref gPoint + 4) = num25; if (*(ref gPoint + 4) * num3 + gPoint * gLine - 22.5f < 0f && gPoint * gLine2 + *(ref gPoint + 4) * num6 - 22.5f < 0f && gPoint * gLine3 + *(ref gPoint + 4) * num9 - 22.5f < 0f) { num19++; } gPoint = num24; *(ref gPoint + 4) = num25; if (*(ref gPoint + 4) * num3 + gPoint * gLine - 22.5f < 0f && gPoint * gLine2 + *(ref gPoint + 4) * num6 - 22.5f < 0f && gPoint * gLine3 + *(ref gPoint + 4) * num9 - 22.5f < 0f) { num19++; } num20++; }while (num20 < 4); if (num19 != 0) { GPoint2 gPoint2 = num16; *(ref gPoint2 + 4) = num12; float num26 = num5; float num27 = num7; float num28 = (num27 * gPoint2 + num26 * *(ref gPoint2 + 4) + 45f) * 0.0148148146f; float num29; if (num28 <= 0f) { num29 = 0f; goto IL_32A; } num29 = num28; if (num28 < 1f) { goto IL_32A; } float num30 = 1f; IL_337: double num31 = (double)(num + 3.66519165f); float num32 = (float)Math.Cos(num31); float num33 = (float)Math.Sin(num31); float num34 = num33 * gPoint2 + num32 * *(ref gPoint2 + 4); if (num30 <= 0.001f) { goto IL_3A2; } num34 = num34 / num30 * 0.0222222228f / (float)Math.Sqrt(3.0) + 0.5f; if (num34 <= 0f) { goto IL_3A2; } float num35 = num34; if (num34 < 1f) { goto IL_3B4; } float num36 = 1f; IL_3C1: GColor gColor; *(ref gColor + 8) = 0f; *(ref gColor + 4) = 0f; gColor = 0f; *(ref gColor + 12) = 1f; < Module >.GColor.FromHSV(ref gColor, (int)((double)hue), (int)((double)(num36 * 100f)), (int)((double)(num30 * 100f))); if (num19 == 16) { Color color2 = Color.FromArgb(255, (int)(gColor * 255f), (int)((double)(*(ref gColor + 4) * 255f)), (int)((double)(*(ref gColor + 8) * 255f))); bitmap.SetPixel(num13 + 60, num10, color2); goto IL_8D1; } float num37 = (float)num19 * 0.0625f; float num38 = 1f - num37; Color color3 = Color.FromArgb(255, (int)((float)color.R * num38 + num37 * gColor * 255f), (int)((double)((float)color.G * num38 + num37 * *(ref gColor + 4) * 255f)), (int)((double)((float)color.B * num38 + num37 * *(ref gColor + 8) * 255f))); bitmap.SetPixel(num13 + 60, num10, color3); goto IL_8D1; IL_3B4: num36 = num35; goto IL_3C1; IL_3A2: num35 = 0f; goto IL_3B4; IL_32A: num30 = num29; goto IL_337; } bitmap.SetPixel(num13 + 60, num10, color); }