protected ShockwaveFlash(FlashReader input) : this(false) { Compression = (CompressionKind)input.ReadString(3)[0]; Version = input.ReadByte(); FileLength = input.ReadUInt32(); switch (Compression) { case CompressionKind.LZMA: { byte[] decompressed = LZMA.Decompress(input.BaseStream, ((int)FileLength - 8)); _input = new FlashReader(decompressed); break; } case CompressionKind.ZLIB: { _input = ZLIB.WrapDecompressor(input.BaseStream); break; } case CompressionKind.None: { _input = input; break; } } Frame = new FrameRecord(_input); }
private static FrameRecord CreateFrameRecord2() { FrameRecord r = new FrameRecord(); r.BorderType = (FrameRecord.BORDER_TYPE_REGULAR); r.IsAutoSize = (true); r.IsAutoPosition = (true); return(r); }
protected ShockwaveFlash(bool isCreatingTemplate) { Tags = new List <TagItem>(); if (isCreatingTemplate) { Frame = new FrameRecord(); Frame.Area = new RectangeRecord(); Compression = CompressionKind.ZLIB; } }
public void TestLoad() { FrameRecord record = new FrameRecord(TestcaseRecordInputStream.Create((short)0x1032, data)); Assert.AreEqual(FrameRecord.BORDER_TYPE_REGULAR, record.BorderType); Assert.AreEqual(2, record.Options); Assert.AreEqual(false, record.IsAutoSize); Assert.AreEqual(true, record.IsAutoPosition); Assert.AreEqual(8, record.RecordSize); }
public void TestStore() { FrameRecord record = new FrameRecord(); record.BorderType = (FrameRecord.BORDER_TYPE_REGULAR); record.Options = ((short)2); record.IsAutoSize = (false); record.IsAutoPosition = (true); byte[] recordBytes = record.Serialize(); Assert.AreEqual(recordBytes.Length - 4, data.Length); for (int i = 0; i < data.Length; i++) Assert.AreEqual(data[i], recordBytes[i + 4], "At offset " + i); }
public void TestStore() { FrameRecord record = new FrameRecord(); record.BorderType = (FrameRecord.BORDER_TYPE_REGULAR); record.Options = ((short)2); record.IsAutoSize = (false); record.IsAutoPosition = (true); byte[] recordBytes = record.Serialize(); Assert.AreEqual(recordBytes.Length - 4, data.Length); for (int i = 0; i < data.Length; i++) { Assert.AreEqual(data[i], recordBytes[i + 4], "At offset " + i); } }
public FrameAggregate(RecordStream rs, ChartRecordAggregate container) : base(RuleName_FRAME, container) { frame = (FrameRecord)rs.GetNext(); rs.GetNext();//BeginRecord lineFormat = (LineFormatRecord)rs.GetNext(); areaFormat = (AreaFormatRecord)rs.GetNext(); if (rs.PeekNextChartSid() == GelFrameRecord.sid) { gelFrame = new GelFrameAggregate(rs, this); } if (rs.PeekNextChartSid() == ShapePropsStreamRecord.sid) { shapeProps = new ShapePropsAggregate(rs, this); } Record r = rs.GetNext();//EndRecord Debug.Assert(r.GetType() == typeof(EndRecord)); }
private FrameRecord CreateFrameRecord2() { FrameRecord r = new FrameRecord(); r.BorderType = (FrameRecord.BORDER_TYPE_REGULAR); r.IsAutoSize = (true); r.IsAutoPosition = (true); return r; }
private FrameRecord CreateFrameRecord2() { FrameRecord r = new FrameRecord(); r.SetBorderType( FrameRecord.BORDER_TYPE_REGULAR ); r.SetAutoSize( true ); r.SetAutoPosition( true ); return r; }
protected override void OnUpdate() { processing.records.Clear(); processing.frame = frames++; for (int i = 0; i < agentGroup.Length; i++) { processing.records.Add(new AgentRecord { AgentID = agentGroup.Data[i].ID, Position = WindowManager.Crowds2Clouds(agentGroup.Position[i].Value), CloudID = agentGroup.OwnerCloud[i].CloudID }); } FrameRecord aux = complete; complete = processing; processing = aux; var inst = BioClouds.Parameters.Instance; if (!inst.SaveSimulationData) { return; } //Data recording #region BioClouds Datarecording NativeMultiHashMap <int, float3> cellmap = m_CellMarkSystem.cloudID2MarkedCellsMap; float3 currentCellPosition; NativeMultiHashMapIterator <int> it; //if ((inst.SaveDenstiies || inst.SavePositions)) //{ if (inst.MaxSimulationFrames > CurrentFrame && CurrentFrame % inst.FramesForDataSave == 0) { for (int i = 0; i < m_CloudDataGroup.Length; i++) { List <int> cellIDs = new List <int>(); if (!cellmap.TryGetFirstValue(m_CloudDataGroup.CloudData[i].ID, out currentCellPosition, out it)) { continue; } int2 grid_cell = GridConverter.PositionToGridCell(new float3(currentCellPosition.x, currentCellPosition.y, currentCellPosition.z)); cellIDs.Add(GridConverter.GridCell2CellID(grid_cell)); while (cellmap.TryGetNextValue(out currentCellPosition, ref it)) { grid_cell = GridConverter.PositionToGridCell(new float3(currentCellPosition.x, currentCellPosition.y, currentCellPosition.z)); cellIDs.Add(GridConverter.GridCell2CellID(grid_cell)); } if (inst.IDToRecord == -1 || m_CloudDataGroup.CloudData[i].ID == inst.IDToRecord) { BioClouds.Record record = new BioClouds.Record(frames, m_CloudDataGroup.CloudData[i].ID, m_CloudDataGroup.CloudData[i].AgentQuantity, cellIDs.Count, cellIDs, m_CloudDataGroup.Position[i].Value, m_CloudDataGroup.CloudData[i].Radius ); bioCloudsRecords.Add(record); } } } //if (inst.MaxSimulationFrames == CurrentFrame - 1) //{ using (System.IO.StreamWriter file = new System.IO.StreamWriter(inst.LogFilePath + "Clouds.txt", true)) { foreach (BioClouds.Record record in bioCloudsRecords) { file.Write(record.ToString() + '\n'); } } bioCloudsRecords.Clear(); //} //} #endregion #region BioCrowds DataRecording //if (inst.MaxSimulationFrames == CurrentFrame - 1) //{ using (System.IO.StreamWriter file = new System.IO.StreamWriter(inst.LogFilePath + "Agents.txt", true)) { file.Write(complete.ToString() + '\n'); } //} #endregion }