26 static const char *
const extensions_sgi[] = {
29 static const int num_extensions_sgi =
sizeof(extensions_sgi) /
sizeof(
const char *);
43 string PNMFileTypeSGI::
53 get_num_extensions()
const {
54 return num_extensions_sgi;
61 string PNMFileTypeSGI::
62 get_extension(
int n)
const {
63 nassertr(n >= 0 && n < num_extensions_sgi,
string());
64 return extensions_sgi[n];
71 string PNMFileTypeSGI::
72 get_suggested_extension()
const {
81 has_magic_number()
const {
91 matches_magic_number(
const string &magic_number)
const {
92 nassertr(magic_number.size() >= 2,
false);
94 ((
unsigned char)magic_number[0] << 8) |
95 ((
unsigned char)magic_number[1]);
96 return (mn == SGI_MAGIC);
105 make_reader(std::istream *file,
bool owns_file,
const string &magic_number) {
107 return new Reader(
this, file, owns_file, magic_number);
116 make_writer(std::ostream *file,
bool owns_file) {
118 return new Writer(
this, file, owns_file);
125 void PNMFileTypeSGI::
126 register_with_read_factory() {
128 register_factory(get_class_type(), make_PNMFileTypeSGI);
144 #endif // HAVE_SGI_RGB