public override string ToString() { var result = FrameNumber.ToString("000000") + ":"; var defaults = (new FrameState()).Inputs; foreach (var change in Changes) { if (ValuesEqual(change.Value, defaults[change.Key])) { result += " ~" + change.Key; } else if (change.Key == "SPEED") { result += " SPEED:" + change.Value; } else if (change.Key == "LX" || change.Key == "LY" || change.Key == "RX" || change.Key == "RY") { result += " " + change.Key + ":" + (int)change.Value; } else if ((int)change.Value == 1) { result += " " + change.Key; } } if (!string.IsNullOrEmpty(Comment)) { result += new string(' ', Math.Max(35 - result.Length, 0)) + " // " + Comment; } return(result); }
/// <summary> /// Retrieves the string representation of this object /// </summary> /// <returns></returns> public override string ToString() { return (FrameNumber.ToString(NumberFormat) + ' ' + Score.ToString(ScoreFormat) + ' ' + AcousticScore.ToString(ScoreFormat) + ' ' + LanguageScore.ToString(ScoreFormat) + ' ' + SearchState); }
internal static unsafe int Invoke(FrameNumber InFrameNumber) { long *p = stackalloc long[] { 0L, 0L }; byte *b = (byte *)p; *((FrameNumber *)(b + 0)) = InFrameNumber; Main.GetProcessEvent(TimeManagementBlueprintLibrary.DefaultObject, Conv_FrameNumberToInteger_ptr, new IntPtr(p));; return(*((int *)(b + 4))); } }
public string ToListItem(Font font, int listWidth) { var result = FrameNumber.ToString(); var defaults = new FrameState(); while (TextRenderer.MeasureText(result, font).Width < listWidth - (listWidth - (listWidth / 7))) { result += ' '; } foreach (var change in Changes) { if (ValuesEqual(change.Value, defaults.Inputs[change.Key])) { result += " ~" + change.Key; } else if (change.Key == "SPEED") { result += " SPEED:" + change.Value; } else if (change.Key == "LX" || change.Key == "LY" || change.Key == "RX" || change.Key == "RY") { result += " " + change.Key + ":" + (int)change.Value; } else if ((int)change.Value == 1) { result += " " + change.Key; } } if (Random != string.Empty) { if (Random == defaults.Random) { result += " ~RNG"; } else { result += " RNG:" + Random; } } if (!string.IsNullOrEmpty(Comment)) { while (TextRenderer.MeasureText(result, font).Width < listWidth - (int)(listWidth / 2.4f)) { result += ' '; } result += ' ' + Comment; } return(result); }
internal static unsafe FrameNumber Invoke(FrameNumber A, FrameNumber B) { long *p = stackalloc long[] { 0L, 0L, 0L }; byte *b = (byte *)p; *((FrameNumber *)(b + 0)) = A; *((FrameNumber *)(b + 4)) = B; Main.GetProcessEvent(TimeManagementBlueprintLibrary.DefaultObject, Add_FrameNumberFrameNumber_ptr, new IntPtr(p));; return(*((FrameNumber *)(b + 8))); } }
public override int GetHashCode() { int hash = 1; if (FrameNumber != 0) { hash ^= FrameNumber.GetHashCode(); } hash ^= msgs_.GetHashCode(); return(hash); }
public void writeXml(System.Xml.XmlWriter writer) { writer.WriteElementString("timeStamp", FrameTime.ToString()); writer.WriteElementString("frameNumber", FrameNumber.ToString()); writer.WriteElementString("sensor", Sensor.ToString()); writer.WriteElementString("ground", String.Format("{0},{1},{2},{3}", GroundW, GroundX, GroundY, GroundZ)); writer.WriteElementString("trackingID", TrackingId.ToString()); writer.WriteStartElement("skeleton"); if (Joints != null) { foreach (var joint in Joints) { string jointStr = string.Format("{0},{1},{2},{3},{4},{5}", joint.TrackingState.ToString(), joint.X.ToString(), joint.Y.ToString(), joint.Z.ToString(), joint.DepthX.ToString(), joint.DepthY.ToString()); writer.WriteElementString(Enum.GetName(typeof(JointTypeGait), joint.JointType), jointStr); } } writer.WriteElementString("frameEdges", FrameEdges.ToString()); writer.WriteEndElement(); // skeleton writer.WriteElementString("currentTime", CurrentTime.ToString()); writer.WriteElementString("lean", String.Format("{0},{1},{2}", LeanX, LeanY, LeanTrackingState)); writer.WriteStartElement("wii"); writer.WriteElementString("COP", String.Format("{0},{1}", WiiBoardData.CenterOfPressureX, WiiBoardData.CenterOfPressureY)); writer.WriteElementString("raw", String.Format("{0},{1},{2},{3}", WiiBoardData.Raw.TopLeft, WiiBoardData.Raw.TopRight, WiiBoardData.Raw.BottomLeft, WiiBoardData.Raw.BottomRight)); writer.WriteElementString("cal0", String.Format("{0},{1},{2},{3}", WiiBoardData.Calib0kg.TopLeft, WiiBoardData.Calib0kg.TopRight, WiiBoardData.Calib0kg.BottomLeft, WiiBoardData.Calib0kg.BottomRight)); writer.WriteElementString("cal17", String.Format("{0},{1},{2},{3}", WiiBoardData.Calib17kg.TopLeft, WiiBoardData.Calib17kg.TopRight, WiiBoardData.Calib17kg.BottomLeft, WiiBoardData.Calib17kg.BottomRight)); writer.WriteElementString("cal34", String.Format("{0},{1},{2},{3}", WiiBoardData.Calib34kg.TopLeft, WiiBoardData.Calib34kg.TopRight, WiiBoardData.Calib34kg.BottomLeft, WiiBoardData.Calib34kg.BottomRight)); writer.WriteEndElement(); // wii writer.WriteStartElement("depth"); writer.WriteElementString("mean", String.Format("{0},{1},{2}", depthMeanX, depthMeanY, depthMeanZ)); writer.WriteElementString("cov", String.Format("{0},{1},{2},{3},{4},{5}", depthMeanXX, depthMeanXY, depthMeanXZ, depthMeanYY, depthMeanYZ, depthMeanZZ)); writer.WriteEndElement(); // depth writer.WriteStartElement("silhouette"); writer.WriteElementString("points", silhouettePointsToString(silhouette.points)); writer.WriteElementString("resolution", silhouette.resolution.ToString()); writer.WriteElementString("xRange", silhouette.xRange.ToString()); writer.WriteElementString("yRange", silhouette.yRange.ToString()); writer.WriteElementString("zRange", silhouette.zRange.ToString()); writer.WriteElementString("trackQuality", silhouette.trackQuality.ToString()); writer.WriteElementString("numberOfPixelsInBody", silhouette.numberOfPixelsInBody.ToString()); writer.WriteElementString("ground", String.Format("{0},{1},{2},{3}", silhouette.groundW, silhouette.groundX, silhouette.groundY, silhouette.groundZ)); writer.WriteElementString("mean", String.Format("{0},{1},{2}", silhouette.depthMeanX, silhouette.depthMeanY, silhouette.depthMeanZ)); writer.WriteElementString("Cov", String.Format("{0},{1},{2},{3},{4},{5}", silhouette.depthMeanXX, silhouette.depthMeanXY, silhouette.depthMeanXZ, silhouette.depthMeanYY, silhouette.depthMeanYZ, silhouette.depthMeanZZ)); writer.WriteEndElement(); // silhouette }
public override int GetHashCode() { int hash = 1; if (Error != 0) { hash ^= Error.GetHashCode(); } if (FrameNumber != 0) { hash ^= FrameNumber.GetHashCode(); } hash ^= battleFrame_.GetHashCode(); if (_unknownFields != null) { hash ^= _unknownFields.GetHashCode(); } return(hash); }
private void bgSaveImage_DoWork(object sender, System.ComponentModel.DoWorkEventArgs e) { Console("Start Record"); while (true) { try { var bmp1 = new Bitmap(pictureBox1.Image); var parthSave = txtParthSave.Text + "\\" + FrameNumber + ".bmp"; var parthPreview = txtParthPreview.Text; var qualitySave = int.Parse(textQualitySave.Text); var qualityPreview = int.Parse(txtQualityPreview.Text); var jpgEncoder = GetEncoder(ImageFormat.Jpeg); var myEncoderParameters = new EncoderParameters(1); myEncoderParameters.Param[0] = new EncoderParameter(Encoder.Quality, qualitySave); bmp1.Save(parthSave, jpgEncoder, myEncoderParameters); myEncoderParameters.Param[0] = new EncoderParameter(Encoder.Quality, qualityPreview); bmp1.Save(parthPreview, jpgEncoder, myEncoderParameters); this.Invoke((MethodInvoker) delegate() { txtFrame.Text = FrameNumber.ToString(); }); FrameNumber++; } catch (Exception ex) { ex.ToString(); } Thread.Sleep(1000); } }
public override int GetHashCode() { int hash = 1; hash ^= frameMetricRanges_.GetHashCode(); hash ^= onDemandMetrics_.GetHashCode(); if (FrameNumber != 0L) { hash ^= FrameNumber.GetHashCode(); } if (RealTimeSeconds != 0F) { hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(RealTimeSeconds); } if (Label.Length != 0) { hash ^= Label.GetHashCode(); } if (_unknownFields != null) { hash ^= _unknownFields.GetHashCode(); } return(hash); }
public void WriteData(string input, FrameType type) { byte[] Header = { STARTBYTE, (byte)type }; byte[] fileId = { 0 }; byte[] size; byte[] NumOfFrames; byte[] FrameNumber; byte[] BufferToSend; byte[] Telegram; string Telegram_s; string size_s; byte[] ByteToEncode; byte[] ByteEncoded; switch (type) { case FrameType.ERR_FILE: break; case FrameType.MSG: #region MSG if (IsConnected()) { // Telegram[] = Coding(input); Telegram = Encoding.Default.GetBytes(input); //потом это кыш BufferToSend = new byte[Header.Length + Telegram.Length]; //буфер для отправки = заголовок+сообщение Header.CopyTo(BufferToSend, 0); Telegram.CopyTo(BufferToSend, Header.Length); Port.Write(BufferToSend, 0, BufferToSend.Length); Log.AppendText("(" + Port.PortName + ") WriteData: sent message > " + Encoding.Default.GetString(Telegram) + "\n"); } break; #endregion case FrameType.ACK: #region ACK if (IsConnected()) { // Telegram[] = Coding(input); Telegram = Encoding.Default.GetBytes(input); //потом это кыш BufferToSend = new byte[Header.Length + Telegram.Length]; //буфер для отправки = заголовок+сообщение Header.CopyTo(BufferToSend, 0); Telegram.CopyTo(BufferToSend, Header.Length); Port.Write(BufferToSend, 0, BufferToSend.Length); Telegram_s = Encoding.Default.GetString(Telegram); //Log.AppendText("[" + DateTime.Now + "] Отправлено ACK согласие на принятие файла: " + Telegram_s + "\n"); } break; #endregion case FrameType.FILEOK: if (IsConnected()) { ByteToEncode = File.ReadAllBytes(input); FilePath = input; size = new byte[sizeLenght]; size = Encoding.Default.GetBytes(((double)ByteToEncode.Length).ToString()); //нужны байты //Telegram = Encoding.Default.GetBytes(size); //потом это кыш BufferToSend = new byte[Header.Length + size.Length]; //буфер для отправки = заголовок+сообщение Header.CopyTo(BufferToSend, 0); size.CopyTo(BufferToSend, Header.Length); Port.Write(BufferToSend, 0, BufferToSend.Length); size_s = Encoding.Default.GetString(size); Log.AppendText("[" + DateTime.Now + "] Отправлена информация о размере файла: " + size_s + "\n"); //SuccessfulFrameNumber = int.Parse(Telegram_s); } break; case FrameType.FRAME: if (IsConnected()) { // Telegram[] = Coding(input); Telegram = Encoding.Default.GetBytes(input); //потом это кыш BufferToSend = new byte[Header.Length + Telegram.Length]; //буфер для отправки = заголовок+сообщение Header.CopyTo(BufferToSend, 0); Telegram.CopyTo(BufferToSend, Header.Length); Port.Write(BufferToSend, 0, BufferToSend.Length); Telegram_s = Encoding.Default.GetString(Telegram); //Log.AppendText("[" + DateTime.Now + "] получен Frame > " + Telegram_s + " .Отправлено подтверждение о получении.\n"); //SuccessfulFrameNumber = int.Parse(Telegram_s); } else { Log.Invoke(new EventHandler(delegate { Log.AppendText("[" + DateTime.Now + "] : Передача файла нарушена.\n" + "Последний успешный фрейм: " + SuccessfulFrameNumber.ToString()); })); MessageBox.Show("Соединение прервано. Передача нарушена."); BreakConnection = true; break; } break; case FrameType.FILE: #region FILE int i; int parts = 0; int EncodedByteIndex; int Part_ByteEncodedIndex; ByteEncoded = new byte[0]; size = new byte[0]; NumOfFrames = new byte[0]; if (IsConnected()) { if (BreakConnection == false) { ByteToEncode = File.ReadAllBytes(@FilePath); size = new byte[sizeLenght]; size = Encoding.Default.GetBytes(((double)ByteToEncode.Length).ToString()); //нужны байты //WriteData(Encoding.Default.GetString(size), FrameType.FILEOK); NumOfFrames = new byte[NumOfFrameLenght]; FrameNumber = new byte[NumOfFrameLenght]; string typeFile = @input.Split('.')[1]; fileId[0] = TypeFile_to_IdFile(typeFile); ByteEncoded = new byte[ByteToEncode.Length * 2]; for (i = 0; i < ByteToEncode.Length; i++) { Hamming.HammingEncode74(ByteToEncode[i]).CopyTo(ByteEncoded, i * 2); } if (ByteEncoded.Length + InfoLen < Port.WriteBufferSize) { BufferToSend = new byte[InfoLen + ByteEncoded.Length]; Header.CopyTo(BufferToSend, 0); fileId.CopyTo(BufferToSend, Header.Length); size.CopyTo(BufferToSend, Header.Length + fileId.Length); NumOfFrames = Encoding.Default.GetBytes(1.ToString()); NumOfFrames.CopyTo(BufferToSend, Header.Length + fileId.Length + sizeLenght); FrameNumber = Encoding.Default.GetBytes(1.ToString()); FrameNumber.CopyTo(BufferToSend, Header.Length + fileId.Length + sizeLenght + NumOfFrameLenght); ByteEncoded.CopyTo(BufferToSend, InfoLen); bool flag = false; while (!flag) { if (MessageBox.Show("Отправить?", "Файл", MessageBoxButtons.YesNo) == DialogResult.Yes) { flag = true; Port.Write(BufferToSend, 0, BufferToSend.Length); //loading.Hide(); MessageBox.Show("Готово!"); //loading.progressBar1.Value = 0; //loading.i = 1; } else { flag = true; //loading.Hide(); //loading.progressBar1.Value = 0; MessageBox.Show("Вы отменили передачу файла."); // loading.i = 1; } } } else { parts = (int)Math.Ceiling((double)ByteEncoded.Length / (double)(Port.WriteBufferSize - InfoLen)); NumOfFrames = Encoding.Default.GetBytes(parts.ToString()); } SuccessfulFrameNumber = 0; } for (i = SuccessfulFrameNumber; i < parts; i++) { BreakConnection = false; EncodedByteIndex = i * (Port.WriteBufferSize - InfoLen); Part_ByteEncodedIndex = (Port.WriteBufferSize - InfoLen); byte[] Part_ByteEncoded = new byte[Part_ByteEncodedIndex]; int Part_Len = 0; if (((ByteEncoded.Length - EncodedByteIndex) >= Part_ByteEncodedIndex)) { Part_Len = Part_ByteEncodedIndex; } else if (ByteEncoded.Length - EncodedByteIndex > 0) { Part_Len = ByteEncoded.Length - i * (Port.WriteBufferSize - InfoLen); } BufferToSend = new byte[Port.WriteBufferSize]; Header.CopyTo(BufferToSend, 0); fileId.CopyTo(BufferToSend, Header.Length); size.CopyTo(BufferToSend, Header.Length + fileId.Length); NumOfFrames.CopyTo(BufferToSend, Header.Length + fileId.Length + sizeLenght); FrameNumber = Encoding.Default.GetBytes((i + 1).ToString()); FrameNumber.CopyTo(BufferToSend, Header.Length + fileId.Length + sizeLenght + NumOfFrameLenght); Array.ConstrainedCopy(ByteEncoded, EncodedByteIndex, BufferToSend, InfoLen, Part_Len); //Log.AppendText("[" + DateTime.Now + "] : Отправляется фрейм: " + (SuccessfulFrameNumber + 1).ToString() + "\n"); Port.Write(BufferToSend, 0, BufferToSend.Length); int ByteCheck; if (i > 0) { int WaitTime = 0; ByteCheck = Port.ReadByte(); while (ByteCheck != (int)STARTBYTE) { if (WaitTime <= 1000) { Thread.Sleep(100); WaitTime += 100; ByteCheck = Port.ReadByte(); } } ByteCheck = Port.ReadByte(); if (ByteCheck == (int)FrameType.FRAME) { int n = FrameNumber.Length;//Port.BytesToRead; byte[] msgByteBuffer = new byte[n]; Port.Read(msgByteBuffer, 0, n); //считываем сообщение string Message = Encoding.Default.GetString(msgByteBuffer); Log.Invoke(new EventHandler(delegate { Log.AppendText("[" + DateTime.Now + "] : Получено подтверждение об успешной доставке Frame " + Message + "\n"); })); SuccessfulFrameNumber = int.Parse(Message); } if (i == SuccessfulFrameNumber) { continue; } if (i != SuccessfulFrameNumber) { MessageBox.Show("Передача файла прервана"); BreakConnection = true; } } if (BreakConnection == true) { MessageBox.Show("Восстановите соединение или отмените отправку файла", "Файл", MessageBoxButtons.OKCancel); while ((IsConnected()) || (MessageBox.Show("Отправить?", "Файл", MessageBoxButtons.OKCancel) == DialogResult.Cancel)) { MessageBox.Show("Восстановите соединение или отмените отправку файла", "Файл", MessageBoxButtons.OKCancel); } if (MessageBox.Show("Отправить?", "Файл", MessageBoxButtons.OKCancel) == DialogResult.Cancel) { break; } } } } else { Log.Invoke(new EventHandler(delegate { Log.AppendText("[" + DateTime.Now + "] : Передача файла нарушена.\n" + "Последний успешный фрейм: " + SuccessfulFrameNumber.ToString()); })); MessageBox.Show("Соединение прервано. Передача нарушена."); BreakConnection = true; break; } break; #endregion default: if (IsConnected()) { Port.Write(Header, 0, Header.Length); } break; } //Зачем такая конструкция? Log.Invoke(new EventHandler(delegate { Log.AppendText("sent frame " + type + "\n"); //всё записываем, мы же снобы })); }
///<summary>Subtraction (FrameNumber A - int B)</summary> public static FrameNumber Subtract_FrameNumberInteger(FrameNumber A, int B) => TimeManagementBlueprintLibrary_methods.Subtract_FrameNumberInteger_method.Invoke(A, B);
///<summary>Multiply (FrameNumber A * B)</summary> public static FrameNumber Multiply_FrameNumberInteger(FrameNumber A, int B) => TimeManagementBlueprintLibrary_methods.Multiply_FrameNumberInteger_method.Invoke(A, B);
///<summary>Converts a FrameNumber to an int32 for use in functions that take int32 frame counts for convenience.</summary> public static int Conv_FrameNumberToInteger(FrameNumber InFrameNumber) => TimeManagementBlueprintLibrary_methods.Conv_FrameNumberToInteger_method.Invoke(InFrameNumber);
///<summary>Addition (FrameNumber A + FrameNumber B)</summary> public static FrameNumber Add_FrameNumberFrameNumber(FrameNumber A, FrameNumber B) => TimeManagementBlueprintLibrary_methods.Add_FrameNumberFrameNumber_method.Invoke(A, B);