1 // -*- mode: c++; c-set-style: "stroustrup"; tab-width: 4; -*- 2 // 3 // CReaderPFM.h 4 // 5 // Copyright (C) 2004 Koji Nakamaru 6 // 7 // This program is free software; you can redistribute it and/or modify 8 // it under the terms of the GNU General Public License as published by 9 // the Free Software Foundation; either version 2, or (at your option) 10 // any later version. 11 // 12 // This program is distributed in the hope that it will be useful, 13 // but WITHOUT ANY WARRANTY; without even the implied warranty of 14 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 // GNU General Public License for more details. 16 // 17 // You should have received a copy of the GNU General Public License 18 // along with this program; if not, write to the Free Software Foundation, 19 // Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 20 // 21 22 #ifndef _CReaderPFM_h_ 23 #define _CReaderPFM_h_ 24 25 #include "CReader.h" 26 27 class CReaderPFM : public CReader { 28 public: 29 CReaderPFM(); 30 virtual ~CReaderPFM(); 31 virtual bool initialize(CFile *fp, char *magic); 32 virtual void read(CFile *fp, CImage<float, 4> *image); 33 34 protected: 35 bool _is_color; 36 float _scale; 37 bool _is_swapped; 38 39 void swap4(float *f); 40 }; 41 42 #endif 43