public object this[int timeStamp, int formatIdx] { get { Initialize(); if (!tsIdxDataItems.ContainsKey(timeStamp)) { return(null); } if (!tsIdxDataItems[timeStamp].ContainsKey(formatIdx)) { return(null); } byte[] content = dataChunk["TIME"][tsIdxDataItems[timeStamp][formatIdx]].ReadChunkBytes(sizeof(int) * 2, -1); int readDataSize = 0; return(ChunkParser.Parse(content, tsFormats.TSFormats[formatIdx], 0, out readDataSize)); } }
private void Initialize() { dataList = new List <object>(formats.NTSFormats.Count); dataNameToIndex = new Dictionary <string, int>(); int iFormat = 0; int readCursor = 0; foreach (DataFormat fmt in formats.NTSFormats) { int readDataSize = 0; dataList.Add(ChunkParser.Parse(dataChunk, fmt, readCursor, out readDataSize)); readCursor += readDataSize; dataNameToIndex.Add(fmt.Name, iFormat++); } }