Panda3D
Public Member Functions | List of all members
PNMFileTypePfm::Writer Class Reference
Inheritance diagram for PNMFileTypePfm::Writer:
PNMWriter PNMImageHeader

Public Member Functions

 Writer (PNMFileType *type, std::ostream *file, bool owns_file)
 
virtual bool supports_floating_point ()
 Returns true if this PNMFileType can accept a floating-point image type, false if it can only accept a normal, integer type. More...
 
virtual bool supports_integer ()
 Returns true if this PNMFileType can accept an integer image type, false if it can only accept a floating-point type. More...
 
virtual bool write_pfm (const PfmFile &pfm)
 Writes floating-point data from the indicated PfmFile. More...
 
- Public Member Functions inherited from PNMWriter
void copy_header_from (const PNMImageHeader &header)
 Initializes all the data in the header (x_size, y_size, num_channels, etc.) to the same values indicated in the given header. More...
 
PNMFileTypeget_type () const
 Returns a pointer to the PNMFileType object that created this PNMWriter. More...
 
bool is_valid () const
 Returns true if the PNMWriter can be used to write data, false if something is wrong. More...
 
void set_color_type (ColorType type)
 
void set_maxval (xelval maxval)
 
void set_num_channels (int num_channels)
 
void set_x_size (int x_size)
 
void set_y_size (int y_size)
 
virtual bool supports_grayscale () const
 Returns true if this particular PNMWriter understands grayscale images. More...
 
virtual bool supports_stream_write () const
 Returns true if this particular PNMWriter can write to a general stream (including pipes, etc.), or false if the writer must occasionally fseek() on its output stream, and thus only disk streams are supported. More...
 
virtual bool supports_write_row () const
 Returns true if this particular PNMWriter supports a streaming interface to writing the data: that is, it is capable of writing the image one row at a time, via repeated calls to write_row(). More...
 
virtual int write_data (xel *array, xelval *alpha)
 Writes out an entire image all at once, including the header, based on the image data stored in the given _x_size * _y_size array and alpha pointers. More...
 
virtual bool write_header ()
 If supports_write_row(), above, returns true, this function may be called to write out the image header in preparation to writing out the image data one row at a time. More...
 
virtual bool write_row (xel *array, xelval *alpha)
 If supports_write_row(), above, returns true, this function may be called repeatedly to write the image, one horizontal row at a time, beginning from the top. More...
 
- Public Member Functions inherited from PNMImageHeader
 PNMImageHeader (const PNMImageHeader &copy)
 
ColorSpace get_color_space () const
 
ColorType get_color_type () const
 Returns the image type of the image, as an enumerated value. More...
 
std::string get_comment () const
 
xelval get_maxval () const
 
int get_num_channels () const
 
LVecBase2i get_size () const
 
PNMFileTypeget_type () const
 
int get_x_size () const
 Returns the number of pixels in the X direction. More...
 
int get_y_size () const
 Returns the number of pixels in the Y direction. More...
 
bool has_alpha () const
 Returns true if the image includes an alpha channel, false otherwise. More...
 
bool has_type () const
 
bool is_grayscale () const
 Returns false if the image is a full-color image, and has red, green, and blue components; true if it is a grayscale image and has only a gray component. More...
 
PNMReadermake_reader (const Filename &filename, PNMFileType *type=nullptr, bool report_unknown_type=true) const
 Returns a newly-allocated PNMReader of the suitable type for reading from the indicated image filename, or NULL if the filename cannot be read for some reason. More...
 
PNMReadermake_reader (std::istream *file, bool owns_file=true, const Filename &filename=Filename(), std::string magic_number=std::string(), PNMFileType *type=nullptr, bool report_unknown_type=true) const
 Returns a newly-allocated PNMReader of the suitable type for reading from the already-opened image file, or NULL if the file cannot be read for some reason. More...
 
PNMWritermake_writer (const Filename &filename, PNMFileType *type=nullptr) const
 Returns a newly-allocated PNMWriter of the suitable type for writing an image to the indicated filename, or NULL if the filename cannot be written for some reason. More...
 
PNMWritermake_writer (std::ostream *file, bool owns_file=true, const Filename &filename=Filename(), PNMFileType *type=nullptr) const
 Returns a newly-allocated PNMWriter of the suitable type for writing to the already-opened image file, or NULL if the file cannot be written for some reason. More...
 
void operator= (const PNMImageHeader &copy)
 
void output (std::ostream &out) const
 
bool read_header (const Filename &filename, PNMFileType *type=nullptr, bool report_unknown_type=true)
 Opens up the image file and tries to read its header information to determine its size, number of channels, etc. More...
 
bool read_header (std::istream &data, const std::string &filename=std::string(), PNMFileType *type=nullptr, bool report_unknown_type=true)
 Reads the image header information only from the indicated stream. More...
 
void set_comment (const std::string &comment)
 
void set_type (PNMFileType *type)
 Sets the file type of this PNMImage. More...
 

Additional Inherited Members

- Public Types inherited from PNMImageHeader
enum  ColorType {
  CT_invalid = 0, CT_grayscale = 1, CT_two_channel = 2, CT_color = 3,
  CT_four_channel = 4
}
 
typedef pmap< PixelSpec, int > HistMap
 
typedef pvector< PixelSpecPalette
 
typedef pvector< PixelSpecCountPixelCount
 
- Static Public Member Functions inherited from PNMImageHeader
static bool has_alpha (ColorType color_type)
 This static variant of has_alpha() returns true if the indicated image type includes an alpha channel, false otherwise. More...
 
static bool is_grayscale (ColorType color_type)
 This static variant of is_grayscale() returns true if the indicated image type represents a grayscale image, false otherwise. More...
 
static bool read_magic_number (std::istream *file, std::string &magic_number, int num_bytes)
 Ensures that the first n bytes of the file are read into magic_number. More...
 
- Public Attributes inherited from PNMImageHeader
 get_color_space
 Returns the color space that the image is encoded in, or CS_unspecified if unknown. More...
 
 get_comment
 Gets the user comment from the file. More...
 
 get_maxval
 Returns the maximum channel value allowable for any pixel in this image; for instance, 255 for a typical 8-bit-per-channel image. More...
 
 get_num_channels
 Returns the number of channels in the image. More...
 
 get_size
 Returns the number of pixels in each direction. More...
 
 get_type
 If the file type is known (e.g. More...
 
 has_type
 Returns true if the PNMImageHeader knows what type it is, false otherwise. More...
 
 set_comment
 Writes a user comment string to the image (header). More...
 

Detailed Description

Definition at line 57 of file pnmFileTypePfm.h.

Member Function Documentation

◆ supports_floating_point()

bool PNMFileTypePfm::Writer::supports_floating_point ( )
virtual

Returns true if this PNMFileType can accept a floating-point image type, false if it can only accept a normal, integer type.

If this returns true, write_pfm() is implemented.

Reimplemented from PNMWriter.

Definition at line 246 of file pnmFileTypePfm.cxx.

◆ supports_integer()

bool PNMFileTypePfm::Writer::supports_integer ( )
virtual

Returns true if this PNMFileType can accept an integer image type, false if it can only accept a floating-point type.

If this returns true, write_data() or write_row() is implemented.

Reimplemented from PNMWriter.

Definition at line 256 of file pnmFileTypePfm.cxx.

◆ write_pfm()

bool PNMFileTypePfm::Writer::write_pfm ( const PfmFile pfm)
virtual

Writes floating-point data from the indicated PfmFile.

Returns true on success, false on failure.

Reimplemented from PNMWriter.

Definition at line 265 of file pnmFileTypePfm.cxx.


The documentation for this class was generated from the following files: