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

Material Class Reference

#include <material.h>

Inheritance diagram for Material:

TypedWritableReferenceCount TypedWritable ReferenceCount TypedObject List of all members.

Public Member Functions

virtual void write_datagram (BamWriter *manager, Datagram &me)
virtual TypeHandle get_type () const
virtual TypeHandle force_init_type ()

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_Material (const FactoryParams &params)

Private Types

enum  Flags {
  F_ambient = 0x001, F_diffuse = 0x002, F_specular = 0x004, F_emission = 0x008,
  F_local = 0x010, F_twoside = 0x020
}

Private Member Functions

INLINE Material (const Material &copy)
void operator= (const Material &copy)
INLINE ~Material ()
INLINE bool has_ambient () const
INLINE const Colorfget_ambient () const
void set_ambient (const Colorf &color)
INLINE void clear_ambient ()
INLINE bool has_diffuse () const
INLINE const Colorfget_diffuse () const
void set_diffuse (const Colorf &color)
INLINE void clear_diffuse ()
INLINE bool has_specular () const
INLINE const Colorfget_specular () const
void set_specular (const Colorf &color)
INLINE void clear_specular ()
INLINE bool has_emission () const
INLINE const Colorfget_emission () const
void set_emission (const Colorf &color)
INLINE void clear_emission ()
INLINE float get_shininess () const
INLINE void set_shininess (float shininess)
INLINE bool get_local () const
INLINE void set_local (bool local)
INLINE bool get_twoside () const
INLINE void set_twoside (bool twoside)
INLINE bool operator== (const Material &other) const
INLINE bool operator!= (const Material &other) const
INLINE bool operator< (const Material &other) const
int compare_to (const Material &other) const
void output (ostream &out) const
void write (ostream &out, int indent) const

Private Attributes

PUBLISHED __pad0__: INLINE Material()
Colorf _ambient
Colorf _diffuse
Colorf _specular
Colorf _emission
float _shininess
int _flags

Static Private Attributes

TypeHandle _type_handle

Member Enumeration Documentation

enum Material::Flags [private]
 

Enumeration values:
F_ambient 
F_diffuse 
F_specular 
F_emission 
F_local 
F_twoside 

Definition at line 86 of file material.h.


Constructor & Destructor Documentation

INLINE Material::Material const Material &  copy  )  [private]
 

INLINE Material::~Material  )  [private]
 


Member Function Documentation

INLINE void Material::clear_ambient  )  [private]
 

INLINE void Material::clear_diffuse  )  [private]
 

INLINE void Material::clear_emission  )  [private]
 

INLINE void Material::clear_specular  )  [private]
 

int Material::compare_to const Material &  other  )  const [private]
 

Definition at line 137 of file material.cxx.

References _flags, get_ambient(), get_diffuse(), get_emission(), get_shininess(), get_specular(), has_ambient(), has_diffuse(), has_emission(), and has_specular().

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

Reimplemented from TypedWritable.

Definition at line 262 of file material.cxx.

References _ambient, _diffuse, _emission, _flags, _shininess, _specular, DatagramIterator::get_float32(), and DatagramIterator::get_int32().

Referenced by make_Material().

virtual TypeHandle Material::force_init_type void   )  [inline, virtual]
 

Reimplemented from TypedWritableReferenceCount.

Definition at line 116 of file material.h.

References ReferenceCount::get_class_type(), and TypedWritableReferenceCount::init_type().

INLINE const Colorf& Material::get_ambient  )  const [private]
 

Referenced by GLGraphicsStateGuardian::apply_material(), DXGraphicsStateGuardian8::apply_material(), CRGraphicsStateGuardian::apply_material(), compare_to(), output(), DXGraphicsStateGuardian7::prepare_texture(), and write().

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

Reimplemented from ReferenceCount.

Definition at line 105 of file material.h.

Referenced by register_with_read_factory().

INLINE const Colorf& Material::get_diffuse  )  const [private]
 

Referenced by GLGraphicsStateGuardian::apply_material(), DXGraphicsStateGuardian8::apply_material(), CRGraphicsStateGuardian::apply_material(), compare_to(), output(), DXGraphicsStateGuardian7::prepare_texture(), and write().

INLINE const Colorf& Material::get_emission  )  const [private]
 

Referenced by GLGraphicsStateGuardian::apply_material(), DXGraphicsStateGuardian8::apply_material(), CRGraphicsStateGuardian::apply_material(), compare_to(), output(), DXGraphicsStateGuardian7::prepare_texture(), and write().

INLINE bool Material::get_local  )  const [private]
 

Referenced by GLGraphicsStateGuardian::apply_material(), CRGraphicsStateGuardian::apply_material(), output(), and write().

INLINE float Material::get_shininess  )  const [private]
 

Referenced by GLGraphicsStateGuardian::apply_material(), DXGraphicsStateGuardian8::apply_material(), CRGraphicsStateGuardian::apply_material(), compare_to(), output(), SpheretexHighlighter::pre_apply(), DXGraphicsStateGuardian7::prepare_texture(), and write().

INLINE const Colorf& Material::get_specular  )  const [private]
 

Referenced by GLGraphicsStateGuardian::apply_material(), DXGraphicsStateGuardian8::apply_material(), CRGraphicsStateGuardian::apply_material(), compare_to(), output(), DXGraphicsStateGuardian7::prepare_texture(), and write().

INLINE bool Material::get_twoside  )  const [private]
 

Referenced by GLGraphicsStateGuardian::apply_material(), CRGraphicsStateGuardian::apply_material(), output(), and write().

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

Reimplemented from TypedWritableReferenceCount.

Definition at line 113 of file material.h.

References ReferenceCount::get_class_type().

INLINE bool Material::has_ambient  )  const [private]
 

Referenced by GLGraphicsStateGuardian::apply_material(), CRGraphicsStateGuardian::apply_material(), compare_to(), output(), and write().

INLINE bool Material::has_diffuse  )  const [private]
 

Referenced by GLGraphicsStateGuardian::apply_material(), CRGraphicsStateGuardian::apply_material(), compare_to(), output(), and write().

INLINE bool Material::has_emission  )  const [private]
 

Referenced by compare_to(), output(), and write().

INLINE bool Material::has_specular  )  const [private]
 

Referenced by compare_to(), output(), and write().

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

Reimplemented from TypedWritableReferenceCount.

Definition at line 108 of file material.h.

References ReferenceCount::get_class_type(), TypedWritableReferenceCount::init_type(), and register_type().

Referenced by ConfigureFn().

TypedWritable * Material::make_Material const FactoryParams params  )  [static, protected]
 

Definition at line 243 of file material.cxx.

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

Referenced by register_with_read_factory().

INLINE bool Material::operator!= const Material &  other  )  const [private]
 

INLINE bool Material::operator< const Material &  other  )  const [private]
 

void Material::operator= const Material &  copy  )  [private]
 

Definition at line 41 of file material.cxx.

References _ambient, _diffuse, _emission, _flags, _shininess, and _specular.

INLINE bool Material::operator== const Material &  other  )  const [private]
 

void Material::output ostream &  out  )  const [private]
 

Definition at line 166 of file material.cxx.

References get_ambient(), get_diffuse(), get_emission(), get_local(), get_shininess(), get_specular(), get_twoside(), has_ambient(), has_diffuse(), has_emission(), and has_specular().

Referenced by operator<<().

void Material::register_with_read_factory  )  [static]
 

Definition at line 217 of file material.cxx.

References get_class_type(), BamReader::get_factory(), make_Material(), and Factory< TypedWritable >::register_factory().

Referenced by ConfigureFn().

void Material::set_ambient const Colorf color  )  [private]
 

Definition at line 63 of file material.cxx.

References _ambient, _flags, and F_ambient.

void Material::set_diffuse const Colorf color  )  [private]
 

Definition at line 83 of file material.cxx.

References _diffuse, _flags, and F_diffuse.

void Material::set_emission const Colorf color  )  [private]
 

Definition at line 122 of file material.cxx.

References _emission, _flags, and F_emission.

INLINE void Material::set_local bool  local  )  [private]
 

INLINE void Material::set_shininess float  shininess  )  [private]
 

void Material::set_specular const Colorf color  )  [private]
 

Definition at line 102 of file material.cxx.

References _flags, _specular, and F_specular.

INLINE void Material::set_twoside bool  twoside  )  [private]
 

void Material::write ostream &  out,
int  indent
const [private]
 

Definition at line 191 of file material.cxx.

References get_ambient(), get_diffuse(), get_emission(), get_local(), get_shininess(), get_specular(), get_twoside(), has_ambient(), has_diffuse(), has_emission(), has_specular(), and indent().

void Material::write_datagram BamWriter manager,
Datagram me
[virtual]
 

Implements TypedWritableReferenceCount.

Definition at line 228 of file material.cxx.

References _ambient, _diffuse, _emission, _flags, _shininess, _specular, Datagram::add_float32(), and Datagram::add_int32().


Member Data Documentation

PUBLISHED Material::__pad0__ [private]
 

Reimplemented from TypedWritableReferenceCount.

Definition at line 37 of file material.h.

Colorf Material::_ambient [private]
 

Definition at line 80 of file material.h.

Referenced by fillin(), operator=(), set_ambient(), and write_datagram().

Colorf Material::_diffuse [private]
 

Definition at line 81 of file material.h.

Referenced by fillin(), operator=(), set_diffuse(), and write_datagram().

Colorf Material::_emission [private]
 

Definition at line 83 of file material.h.

Referenced by fillin(), operator=(), set_emission(), and write_datagram().

int Material::_flags [private]
 

Definition at line 94 of file material.h.

Referenced by compare_to(), fillin(), operator=(), set_ambient(), set_diffuse(), set_emission(), set_specular(), and write_datagram().

float Material::_shininess [private]
 

Definition at line 84 of file material.h.

Referenced by fillin(), operator=(), and write_datagram().

Colorf Material::_specular [private]
 

Definition at line 82 of file material.h.

Referenced by fillin(), operator=(), set_specular(), and write_datagram().

TypeHandle Material::_type_handle [static, private]
 

Reimplemented from TypedWritableReferenceCount.

Definition at line 33 of file material.cxx.


The documentation for this class was generated from the following files:
Generated on Fri Apr 18 00:12:43 2003 for Panda by doxygen1.3