Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

PaletteImage Class Reference

#include <paletteImage.h>

Inheritance diagram for PaletteImage:

ImageFile TypedWritable TypedObject List of all members.

Public Member Functions

 PaletteImage (PalettePage *page, int index)
PalettePageget_page () const
bool is_empty () const
double count_utilization () const
double count_coverage () const
bool place (TexturePlacement *placement)
void unplace (TexturePlacement *placement)
void check_solitary ()
void optimal_resize ()
bool resize_image (int x_size, int y_size)
void write_placements (ostream &out, int indent_level=0) const
void reset_image ()
void setup_shadow_image ()
void update_image (bool redo_all)
virtual void write_datagram (BamWriter *writer, Datagram &datagram)
virtual int complete_pointers (TypedWritable **p_list, BamReader *manager)
virtual TypeHandle get_type () const

Static Public Member Functions

void register_with_read_factory ()
TypeHandle get_class_type ()
void init_type ()

Protected Member Functions

void fillin (DatagramIterator &scan, BamReader *manager)

Static Protected Member Functions

TypedWritablemake_PaletteImage (const FactoryParams &params)

Private Types

typedef pvector< ClearedRegionClearedRegions
typedef pvector< TexturePlacement * > Placements

Private Member Functions

 PaletteImage ()
bool find_hole (int &x, int &y, int x_size, int y_size) const
TexturePlacementfind_overlap (int x, int y, int x_size, int y_size) const
void get_image ()
void remove_image ()

Private Attributes

ClearedRegions _cleared_regions
Placements _placements
PalettePage_page
int _index
string _basename
bool _new_image
bool _got_image
PNMImage _image
ImageFile _shadow_image
int _num_placements

Static Private Attributes

TypeHandle _type_handle

Member Typedef Documentation

typedef pvector<ClearedRegion> PaletteImage::ClearedRegions [private]
 

Definition at line 89 of file paletteImage.h.

typedef pvector<TexturePlacement *> PaletteImage::Placements [private]
 

Definition at line 92 of file paletteImage.h.


Constructor & Destructor Documentation

PaletteImage::PaletteImage  )  [private]
 

Definition at line 153 of file paletteImage.cxx.

References _got_image, _index, _new_image, _page, and NULL.

PaletteImage::PaletteImage PalettePage page,
int  index
 

Definition at line 166 of file paletteImage.cxx.

References _basename, _got_image, _new_image, Palettizer::_pal_x_size, Palettizer::_pal_y_size, ImageFile::_properties, _shadow_image, ImageFile::_size_known, ImageFile::_x_size, ImageFile::_y_size, PalettePage::get_group(), Namable::get_name(), PalettePage::get_properties(), index, ImageFile::make_shadow_image(), pal, ImageFile::set_filename(), and ostringstream::str().


Member Function Documentation

void PaletteImage::check_solitary  ) 
 

Definition at line 345 of file paletteImage.cxx.

References Palettizer::_omit_solitary, _placements, TexturePlacement::get_omit_reason(), nassertv, TexturePlacement::not_solitary(), TexturePlacement::omit_solitary(), OR_none, OR_solitary, and pal.

int PaletteImage::complete_pointers TypedWritable **  p_list,
BamReader manager
[virtual]
 

Reimplemented from ImageFile.

Definition at line 798 of file paletteImage.cxx.

References _num_placements, _page, _placements, ImageFile::complete_pointers(), DCAST_INTO_R, index, and NULL.

double PaletteImage::count_coverage  )  const
 

Definition at line 267 of file paletteImage.cxx.

References _placements, TexturePlacement::get_placed_x_size(), TexturePlacement::get_placed_y_size(), TexturePlacement::get_texture(), ImageFile::get_x_size(), ImageFile::get_y_size(), nassertr, NULL, and texture.

double PaletteImage::count_utilization  )  const
 

Definition at line 236 of file paletteImage.cxx.

References _placements, TexturePlacement::get_placed_x_size(), TexturePlacement::get_placed_y_size(), ImageFile::get_x_size(), and ImageFile::get_y_size().

void PaletteImage::fillin DatagramIterator scan,
BamReader manager
[protected]
 

Reimplemented from ImageFile.

Definition at line 845 of file paletteImage.cxx.

References _basename, _cleared_regions, _index, _new_image, _num_placements, ImageFile::fillin(), DatagramIterator::get_bool(), DatagramIterator::get_string(), DatagramIterator::get_uint32(), BamReader::read_pointer(), and BamReader::read_pointers().

Referenced by make_PaletteImage().

bool PaletteImage::find_hole int x,
int y,
int  x_size,
int  y_size
const [private]
 

Definition at line 625 of file paletteImage.cxx.

References ImageFile::_x_size, ImageFile::_y_size, find_overlap(), TexturePlacement::get_placed_x(), TexturePlacement::get_placed_x_size(), TexturePlacement::get_placed_y(), TexturePlacement::get_placed_y_size(), nassertr, NULL, x, and y.

Referenced by place().

TexturePlacement * PaletteImage::find_overlap int  x,
int  y,
int  x_size,
int  y_size
const [private]
 

Definition at line 668 of file paletteImage.cxx.

References _placements, TexturePlacement::intersects(), TexturePlacement::is_placed(), NULL, x, and y.

Referenced by find_hole().

TypeHandle PaletteImage::get_class_type void   )  [inline, static]
 

Reimplemented from ImageFile.

Definition at line 122 of file paletteImage.h.

References _type_handle.

Referenced by get_type(), and register_with_read_factory().

void PaletteImage::get_image  )  [private]
 

Definition at line 688 of file paletteImage.cxx.

References _cleared_regions, _got_image, _image, _new_image, _placements, ImageFile::_properties, Palettizer::_shadow_color_type, _shadow_image, PNMImage::clear(), TexturePlacement::fill_image(), ImageFile::get_filename(), TextureProperties::get_num_channels(), ImageFile::get_x_size(), ImageFile::get_y_size(), FilenameUnifier::make_user_filename(), nout, NULL, pal, and ImageFile::read().

Referenced by update_image().

PalettePage * PaletteImage::get_page  )  const
 

Definition at line 198 of file paletteImage.cxx.

References _page.

Referenced by TexturePlacement::get_page().

virtual TypeHandle PaletteImage::get_type void   )  const [inline, virtual]
 

Reimplemented from ImageFile.

Definition at line 130 of file paletteImage.h.

References get_class_type().

void PaletteImage::init_type void   )  [inline, static]
 

Reimplemented from ImageFile.

Definition at line 125 of file paletteImage.h.

References _type_handle, ImageFile::get_class_type(), ImageFile::init_type(), and register_type().

Referenced by ConfigureFn().

bool PaletteImage::is_empty  )  const
 

Definition at line 210 of file paletteImage.cxx.

References _placements, and OR_solitary.

Referenced by optimal_resize(), and update_image().

TypedWritable * PaletteImage::make_PaletteImage const FactoryParams params  )  [static, protected]
 

Definition at line 827 of file paletteImage.cxx.

References fillin(), params, and parse_params().

Referenced by register_with_read_factory().

void PaletteImage::optimal_resize  ) 
 

Definition at line 386 of file paletteImage.cxx.

References ImageFile::_x_size, ImageFile::_y_size, ImageFile::get_filename(), is_empty(), FilenameUnifier::make_user_filename(), nassertv, nout, and resize_image().

bool PaletteImage::place TexturePlacement placement  ) 
 

Definition at line 299 of file paletteImage.cxx.

References _placements, find_hole(), TexturePlacement::get_x_size(), TexturePlacement::get_y_size(), TexturePlacement::is_placed(), TexturePlacement::is_size_known(), nassertr, TexturePlacement::place_at(), x, and y.

Referenced by resize_image().

void PaletteImage::register_with_read_factory  )  [static]
 

Definition at line 746 of file paletteImage.cxx.

References get_class_type(), BamReader::get_factory(), and make_PaletteImage().

Referenced by ConfigureFn().

void PaletteImage::remove_image  )  [private]
 

Definition at line 731 of file paletteImage.cxx.

References _new_image, Palettizer::_shadow_color_type, _shadow_image, NULL, pal, and ImageFile::unlink().

Referenced by reset_image(), resize_image(), and update_image().

void PaletteImage::reset_image  ) 
 

Definition at line 508 of file paletteImage.cxx.

References _cleared_regions, _placements, TexturePlacement::force_replace(), and remove_image().

bool PaletteImage::resize_image int  x_size,
int  y_size
 

Definition at line 425 of file paletteImage.cxx.

References _cleared_regions, _placements, ImageFile::_x_size, ImageFile::_y_size, nassertr, packed, place(), and remove_image().

Referenced by optimal_resize().

void PaletteImage::setup_shadow_image  ) 
 

Definition at line 530 of file paletteImage.cxx.

References _basename, _shadow_image, and ImageFile::make_shadow_image().

void PaletteImage::unplace TexturePlacement placement  ) 
 

Definition at line 319 of file paletteImage.cxx.

References _cleared_regions, _placements, TexturePlacement::get_image(), TexturePlacement::is_placed(), and nassertv.

Referenced by TexturePlacement::force_replace(), and PalettePage::unplace().

void PaletteImage::update_image bool  redo_all  ) 
 

Definition at line 543 of file paletteImage.cxx.

References Palettizer::_aggressively_clean_mapdir, _cleared_regions, _image, _new_image, _placements, Palettizer::_shadow_color_type, _shadow_image, PaletteImage::ClearedRegion::clear(), Filename::compare_timestamps(), ImageFile::exists(), TexturePlacement::fill_image(), ImageFile::get_filename(), get_image(), TextureImage::get_preferred_source(), TexturePlacement::get_texture(), is_empty(), TexturePlacement::is_filled(), TexturePlacement::mark_unfilled(), NULL, pal, remove_image(), and ImageFile::write().

void PaletteImage::write_datagram BamWriter writer,
Datagram datagram
[virtual]
 

Reimplemented from ImageFile.

Definition at line 759 of file paletteImage.cxx.

References _basename, _cleared_regions, _index, _new_image, _page, _placements, Datagram::add_bool(), Datagram::add_string(), Datagram::add_uint32(), ImageFile::write_datagram(), and writer().

void PaletteImage::write_placements ostream &  out,
int  indent_level = 0
const
 

Definition at line 493 of file paletteImage.cxx.

References _placements, and TexturePlacement::write_placed().


Member Data Documentation

string PaletteImage::_basename [private]
 

Definition at line 97 of file paletteImage.h.

Referenced by fillin(), PaletteImage(), setup_shadow_image(), and write_datagram().

ClearedRegions PaletteImage::_cleared_regions [private]
 

Definition at line 90 of file paletteImage.h.

Referenced by fillin(), get_image(), reset_image(), resize_image(), unplace(), update_image(), and write_datagram().

bool PaletteImage::_got_image [private]
 

Definition at line 100 of file paletteImage.h.

Referenced by get_image(), and PaletteImage().

PNMImage PaletteImage::_image [private]
 

Definition at line 101 of file paletteImage.h.

Referenced by get_image(), and update_image().

int PaletteImage::_index [private]
 

Definition at line 96 of file paletteImage.h.

Referenced by fillin(), PaletteImage(), and write_datagram().

bool PaletteImage::_new_image [private]
 

Definition at line 99 of file paletteImage.h.

Referenced by fillin(), get_image(), PaletteImage(), remove_image(), update_image(), and write_datagram().

int PaletteImage::_num_placements [private]
 

Definition at line 119 of file paletteImage.h.

Referenced by complete_pointers(), and fillin().

PalettePage* PaletteImage::_page [private]
 

Definition at line 95 of file paletteImage.h.

Referenced by complete_pointers(), get_page(), PaletteImage(), and write_datagram().

Placements PaletteImage::_placements [private]
 

Definition at line 93 of file paletteImage.h.

Referenced by check_solitary(), complete_pointers(), count_coverage(), count_utilization(), find_overlap(), get_image(), is_empty(), place(), reset_image(), resize_image(), unplace(), update_image(), write_datagram(), and write_placements().

ImageFile PaletteImage::_shadow_image [private]
 

Definition at line 103 of file paletteImage.h.

Referenced by get_image(), PaletteImage(), remove_image(), setup_shadow_image(), and update_image().

TypeHandle PaletteImage::_type_handle [static, private]
 

Reimplemented from ImageFile.

Definition at line 36 of file paletteImage.cxx.

Referenced by get_class_type(), and init_type().


The documentation for this class was generated from the following files:
Generated on Fri Apr 18 01:01:19 2003 for Panda-Tool by doxygen1.3