26static const char *
const extensions_sgi[] = {
29static const int num_extensions_sgi =
sizeof(extensions_sgi) /
sizeof(
const char *);
43string PNMFileTypeSGI::
53get_num_extensions()
const {
54 return num_extensions_sgi;
61string PNMFileTypeSGI::
62get_extension(
int n)
const {
63 nassertr(n >= 0 && n < num_extensions_sgi,
string());
64 return extensions_sgi[n];
71string PNMFileTypeSGI::
72get_suggested_extension()
const {
81has_magic_number()
const {
91matches_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);
105make_reader(std::istream *file,
bool owns_file,
const string &magic_number) {
107 return new Reader(
this, file, owns_file, magic_number);
116make_writer(std::ostream *file,
bool owns_file) {
118 return new Writer(
this, file, owns_file);
126register_with_read_factory() {
128 register_factory(get_class_type(), make_PNMFileTypeSGI);
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
static WritableFactory * get_factory()
Returns the global WritableFactory for generating TypedWritable objects.
An instance of this class is passed to the Factory when requesting it to do its business and construc...
PNMFileType * get_type_by_handle(TypeHandle handle) const
Returns the PNMFileType instance stored in the registry for the given TypeHandle, e....
static PNMFileTypeRegistry * get_global_ptr()
Returns a pointer to the global PNMFileTypeRegistry object.
This is an abstract base class that defines the interface for reading image files of various types.
This is an abstract base class that defines the interface for writing image files of various types.
TypeHandle is the identifier used to differentiate C++ class types.
Base class for objects that can be written to and read from Bam files.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.