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

Spotlight Class Reference

#include <spotlight.h>

Inheritance diagram for Spotlight:

LightLensNode Light LensNode ReferenceCount PandaNode TypedWritable Namable BoundedObject ReferenceCount TypedObject List of all members.

Public Member Functions

virtual PandaNodemake_copy () const
virtual void xform (const LMatrix4f &mat)
virtual void write (ostream &out, int indent_level) const
INLINE void set_exponent (float exponent)
INLINE const Colorfget_specular_color () const
INLINE void set_specular_color (const Colorf &color)
INLINE const LVecBase3f & get_attenuation () const
INLINE void set_attenuation (const LVecBase3f &attenuation)
virtual void bind (GraphicsStateGuardianBase *gsg, int light_id)
bool make_image (Texture *texture, float radius)
virtual void write_datagram (BamWriter *manager, Datagram &dg)
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 ()

Public Attributes

PUBLISHED __pad1__: INLINE float get_exponent() const

Protected Member Functions

 Spotlight (const Spotlight &copy)
virtual void fill_viz_geom (GeomNode *viz_geom)
void fillin (DatagramIterator &scan, BamReader *manager)

Static Protected Member Functions

TypedWritablemake_from_bam (const FactoryParams &params)

Private Types

typedef CycleDataReader< CDataCDReader
typedef CycleDataWriter< CDataCDWriter

Private Member Functions

 CPT (RenderState) get_viz_state()

Private Attributes

PUBLISHED __pad0__: Spotlight(const string &name)
PipelineCycler< CData_cycler

Static Private Attributes

TypeHandle _type_handle

Member Typedef Documentation

typedef CycleDataReader<CData> Spotlight::CDReader [private]
 

Reimplemented from Light.

Definition at line 89 of file spotlight.h.

typedef CycleDataWriter<CData> Spotlight::CDWriter [private]
 

Reimplemented from Light.

Definition at line 90 of file spotlight.h.


Constructor & Destructor Documentation

Spotlight::Spotlight const Spotlight &  copy  )  [protected]
 

Definition at line 86 of file spotlight.cxx.

References _cycler.

Referenced by make_copy(), and make_from_bam().


Member Function Documentation

void Spotlight::bind GraphicsStateGuardianBase gsg,
int  light_id
[virtual]
 

Implements Light.

Definition at line 148 of file spotlight.cxx.

References GraphicsStateGuardianBase::bind_light().

Spotlight::CPT RenderState   )  [private]
 

void Spotlight::fill_viz_geom GeomNode viz_geom  )  [protected, virtual]
 

Reimplemented from Light.

Definition at line 242 of file spotlight.cxx.

References GeomNode::add_geom(), LensNode::get_lens(), NULL, and LensNode::PT().

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

Reimplemented from LightLensNode.

Definition at line 319 of file spotlight.cxx.

References _cycler, LightLensNode::fillin(), and BamReader::read_cdata().

Referenced by make_from_bam().

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

Reimplemented from LightLensNode.

Definition at line 112 of file spotlight.h.

INLINE const LVecBase3f& Spotlight::get_attenuation  )  const
 

Referenced by GLGraphicsStateGuardian::bind_light(), DXGraphicsStateGuardian8::bind_light(), CRGraphicsStateGuardian::bind_light(), DXGraphicsStateGuardian7::prepare_texture(), and write().

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

Reimplemented from LightLensNode.

Definition at line 101 of file spotlight.h.

Referenced by SpotlightShader::config(), RIBGraphicsStateGuardian::define_light(), SpheretexHighlighter::pre_apply(), ProjtexShadower::pre_apply(), and register_with_read_factory().

INLINE const Colorf& Spotlight::get_specular_color  )  const
 

Referenced by GLGraphicsStateGuardian::bind_light(), DXGraphicsStateGuardian8::bind_light(), CRGraphicsStateGuardian::bind_light(), DXGraphicsStateGuardian7::prepare_texture(), and write().

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

Reimplemented from LightLensNode.

Definition at line 109 of file spotlight.h.

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

Reimplemented from LightLensNode.

Definition at line 104 of file spotlight.h.

References LightLensNode::get_class_type(), LightLensNode::init_type(), and register_type().

Referenced by init_libpgraph().

PandaNode * Spotlight::make_copy  )  const [virtual]
 

Reimplemented from LensNode.

Definition at line 102 of file spotlight.cxx.

References Spotlight().

TypedWritable * Spotlight::make_from_bam const FactoryParams params  )  [static, protected]
 

Reimplemented from LensNode.

Definition at line 300 of file spotlight.cxx.

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

Referenced by register_with_read_factory().

bool Spotlight::make_image Texture texture,
float  radius
 

Definition at line 167 of file spotlight.cxx.

References Colorf, Light::get_color(), PixelBuffer::get_xsize(), NULL, pb, pow(), RGBColorf, PixelBuffer::set_uchar_rgb_texel(), texture, ty, uchar, x, and y.

Referenced by SpotlightShader::config().

void Spotlight::register_with_read_factory  )  [static]
 

Reimplemented from LensNode.

Definition at line 275 of file spotlight.cxx.

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

Referenced by init_libpgraph().

INLINE void Spotlight::set_attenuation const LVecBase3f &  attenuation  ) 
 

INLINE void Spotlight::set_exponent float  exponent  ) 
 

INLINE void Spotlight::set_specular_color const Colorf color  ) 
 

void Spotlight::write ostream &  out,
int  indent_level
const [virtual]
 

Reimplemented from LightLensNode.

Definition at line 125 of file spotlight.cxx.

References get_attenuation(), Light::get_color(), LensNode::get_lens(), get_specular_color(), indent(), NULL, and Lens::write().

void Spotlight::write_datagram BamWriter manager,
Datagram dg
[virtual]
 

Reimplemented from LightLensNode.

Definition at line 286 of file spotlight.cxx.

References _cycler, BamWriter::write_cdata(), and LightLensNode::write_datagram().

void Spotlight::xform const LMatrix4f &  mat  )  [virtual]
 

Reimplemented from LensNode.

Definition at line 114 of file spotlight.cxx.

References Light::mark_viz_stale(), and LensNode::xform().


Member Data Documentation

PUBLISHED Spotlight::__pad0__ [private]
 

Reimplemented from LightLensNode.

Definition at line 42 of file spotlight.h.

PUBLISHED Spotlight::__pad1__
 

Reimplemented from LightLensNode.

Definition at line 53 of file spotlight.h.

PipelineCycler<CData> Spotlight::_cycler [private]
 

Reimplemented from Light.

Definition at line 88 of file spotlight.h.

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

TypeHandle Spotlight::_type_handle [static, private]
 

Reimplemented from LightLensNode.

Definition at line 28 of file spotlight.cxx.


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