コード例 #1
0
ファイル: FitsFile.cs プロジェクト: skyquery/sharpfitsio
        private void InitializeMembers(StreamingContext context)
        {
            this.baseStream = null;
            this.ownsBaseStream = false;
            this.forwardStream = null;

            this.fileMode = FitsFileMode.Unknown;
            this.path = null;

            this.endianness = Endianness.LittleEndian;
            this.bitConverter = null;

            this.hdus = new List<HduBase>();
            this.hduCounter = -1;
        }
コード例 #2
0
ファイル: FitsFile.cs プロジェクト: skyquery/sharpfitsio
        public FitsFile(string path, FitsFileMode fileMode, Endianness endianness)
        {
            InitializeMembers(new StreamingContext());

            this.path = path;
            this.fileMode = fileMode;
            this.endianness = endianness;

            Open();
        }
コード例 #3
0
ファイル: FitsFile.cs プロジェクト: skyquery/sharpfitsio
        /// <summary>
        /// Opens a file by wrapping a stream.
        /// </summary>
        /// <param name="stream"></param>
        /// <param name="mode"></param>
        /// <param name="compression"></param>
        protected void OpenExternalStream(Stream stream, FitsFileMode fileMode, Endianness endianness)
        {
            this.baseStream = stream;
            this.ownsBaseStream = false;

            this.fileMode = fileMode;
            this.endianness = endianness;
        }
コード例 #4
0
ファイル: FitsFile.cs プロジェクト: skyquery/sharpfitsio
        private void CopyMembers(FitsFile old)
        {
            this.baseStream = null;
            this.ownsBaseStream = false;
            this.forwardStream = null;

            this.fileMode = old.fileMode;
            this.path = old.path;

            this.endianness = old.endianness;
            this.bitConverter = old.bitConverter;

            // Deep copy HDUs
            this.hdus = new List<HduBase>();
            foreach (var hdu in old.hdus)
            {
                this.hdus.Add((HduBase)hdu.Clone());
            }
            this.hduCounter = old.hduCounter;
        }
コード例 #5
0
ファイル: FitsFile.cs プロジェクト: skyquery/sharpfitsio
        /// <summary>
        /// Opens a file by opening a new stream.
        /// </summary>
        /// <param name="uri"></param>
        /// <param name="fileMode"></param>
        public void Open(string path, FitsFileMode fileMode, Endianness endianness)
        {
            if (path == null)
            {
                throw new ArgumentNullException("path"); // TODO
            }

            this.path = path;
            this.fileMode = fileMode;
            this.endianness = endianness;

            Open();
        }
コード例 #6
0
ファイル: FitsFile.cs プロジェクト: skyquery/sharpfitsio
        /// <summary>
        /// Opens a file by wrapping an external file stream
        /// </summary>
        /// <param name="stream"></param>
        /// <param name="fileMode"></param>
        public void Open(Stream stream, FitsFileMode fileMode, Endianness endianness)
        {
            if (stream == null)
            {
                throw new ArgumentNullException("stream");  // TODO
            }

            OpenExternalStream(stream, fileMode, endianness);
            Open();
        }
コード例 #7
0
ファイル: FitsFile.cs プロジェクト: skyquery/sharpfitsio
 public FitsFile(Stream stream, FitsFileMode fileMode)
     : this(stream, fileMode, Endianness.LittleEndian)
 {
     // Overload
 }
コード例 #8
0
ファイル: FitsFile.cs プロジェクト: skyquery/sharpfitsio
        public FitsFile(Stream stream, FitsFileMode fileMode, Endianness endianness)
        {
            InitializeMembers(new StreamingContext());

            OpenExternalStream(stream, fileMode, endianness);
        }
コード例 #9
0
ファイル: FitsFile.cs プロジェクト: skyquery/sharpfitsio
 public FitsFile(string path, FitsFileMode fileMode)
     : this(path, fileMode, Endianness.LittleEndian)
 {
     // Overload
 }