internal TableCellASCII(TableRow row, FieldInfoBase fi) : base(row, fi) { HDUTable table = row.Header.Table as HDUTable; _offset = table.BytesPerRow * row.Index + fi.Offset - 1; // -1 as FITS TBCOLn starts from 1 not from zero }
internal TableCellBase(TableRow row, FieldInfoBase fi) { _fieldInfo = fi; _row = row; _rawData = (row.Header.Table as HDUTable).Data; _offset = long.MaxValue; // I'd like something really bad to happen if offset is not initialized! }
internal TableCellBinary(TableRow row, FieldInfoBase fi) : base(row, fi) { HDUTable table = row.Header.Table as HDUTable; _offset = table.BytesPerRow * row.Index + fi.Offset; }
internal void InitFromCardImage(string key, string val) { int fieldIndex = GetFieldIndex(key, 5); FieldInfoBase fi = _fieldsInfo[fieldIndex]; key = key.Substring(0, 5); switch (key) { case "TBCOL": fi.Offset = int.Parse(val); break; case "TFORM": fi.Format = val; break; case "TSCAL": fi.Scale = double.Parse(val); break; case "TZERO": fi.Zero = double.Parse(val); break; case "TNULL": fi.NULL = val; break; case "TTYPE": fi.Name = val; break; case "TUNIT": fi.Unit = val; break; case "TDISP": fi.DisplayFormat = val; break; default: Utils.CheckBool(false, new TableException("Invalid cardimage used to initialzed binary table header")); break; } }