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

Light Class Reference

#include <light.h>

Inheritance diagram for Light:

ReferenceCount LightLensNode LightNode Spotlight AmbientLight DirectionalLight PointLight List of all members.

Public Member Functions

virtual void output (ostream &out) const=0
virtual void write (ostream &out, int indent_level) const=0
virtual void bind (GraphicsStateGuardianBase *gsg, int light_id)=0
GeomNodeget_viz ()
virtual TypeHandle get_type () const

Static Public Member Functions

TypeHandle get_class_type ()
void init_type ()

Protected Member Functions

virtual void fill_viz_geom (GeomNode *viz_geom)
INLINE void mark_viz_stale ()
void write_datagram (BamWriter *manager, Datagram &dg)
void fillin (DatagramIterator &scan, BamReader *manager)

Private Types

typedef CycleDataReader< CDataCDReader
typedef CycleDataWriter< CDataCDWriter

Private Member Functions

INLINE Light (const Light &copy)
virtual ~Light ()
virtual PandaNodeas_node ()=0
INLINE const Colorfget_color () const
INLINE void set_color (const Colorf &color)

Private Attributes

PUBLISHED __pad0__: INLINE Light()
PipelineCycler< CData_cycler

Static Private Attributes

TypeHandle _type_handle

Member Typedef Documentation

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

Reimplemented in DirectionalLight, PointLight, and Spotlight.

Definition at line 86 of file light.h.

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

Reimplemented in DirectionalLight, PointLight, and Spotlight.

Definition at line 87 of file light.h.


Constructor & Destructor Documentation

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

Light::~Light  )  [private, virtual]
 

Definition at line 67 of file light.cxx.


Member Function Documentation

virtual PandaNode* Light::as_node  )  [private, pure virtual]
 

Implemented in LightLensNode, and LightNode.

Referenced by LightAttrib::write_datagram().

virtual void Light::bind GraphicsStateGuardianBase gsg,
int  light_id
[pure virtual]
 

Implemented in AmbientLight, DirectionalLight, PointLight, and Spotlight.

Referenced by GraphicsStateGuardian::issue_light().

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

Reimplemented in Spotlight.

Definition at line 97 of file light.cxx.

Referenced by get_viz().

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

Reimplemented in AmbientLight, DirectionalLight, LightLensNode, LightNode, PointLight, and Spotlight.

Definition at line 119 of file light.cxx.

References _cycler, and BamReader::read_cdata().

Referenced by LightNode::fillin(), and LightLensNode::fillin().

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

Reimplemented from ReferenceCount.

Reimplemented in AmbientLight, DirectionalLight, LightLensNode, LightNode, PointLight, and Spotlight.

Definition at line 94 of file light.h.

Referenced by LightNode::force_init_type(), LightNode::get_type(), LightNode::init_type(), and LightLensNode::init_type().

INLINE const Colorf& Light::get_color  )  const [private]
 

Referenced by GraphicsStateGuardian::issue_light(), Spotlight::make_image(), Spotlight::write(), PointLight::write(), DirectionalLight::write(), and AmbientLight::write().

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

Reimplemented in AmbientLight, DirectionalLight, LightLensNode, LightNode, PointLight, and Spotlight.

Definition at line 102 of file light.h.

Referenced by GraphicsStateGuardian::issue_light(), and LightAttrib::output().

GeomNode * Light::get_viz  ) 
 

Definition at line 78 of file light.cxx.

References _cycler, and fill_viz_geom().

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

Reimplemented from ReferenceCount.

Reimplemented in AmbientLight, DirectionalLight, LightLensNode, LightNode, PointLight, and Spotlight.

Definition at line 97 of file light.h.

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

Referenced by LightNode::force_init_type(), init_libpgraph(), LightNode::init_type(), and LightLensNode::init_type().

INLINE void Light::mark_viz_stale  )  [protected]
 

Referenced by Spotlight::xform(), PointLight::xform(), and DirectionalLight::xform().

virtual void Light::output ostream &  out  )  const [pure virtual]
 

Referenced by operator<<().

INLINE void Light::set_color const Colorf color  )  [private]
 

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

Implemented in AmbientLight, DirectionalLight, LightLensNode, LightNode, PointLight, and Spotlight.

void Light::write_datagram BamWriter manager,
Datagram dg
[protected]
 

Reimplemented in AmbientLight, DirectionalLight, LightLensNode, LightNode, PointLight, and Spotlight.

Definition at line 107 of file light.cxx.

References _cycler, and BamWriter::write_cdata().

Referenced by LightNode::write_datagram(), and LightLensNode::write_datagram().


Member Data Documentation

PUBLISHED Light::__pad0__ [private]
 

Reimplemented from ReferenceCount.

Reimplemented in AmbientLight, DirectionalLight, LightLensNode, LightNode, PointLight, and Spotlight.

Definition at line 49 of file light.h.

PipelineCycler<CData> Light::_cycler [private]
 

Reimplemented in DirectionalLight, PointLight, and Spotlight.

Definition at line 85 of file light.h.

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

TypeHandle Light::_type_handle [static, private]
 

Reimplemented from ReferenceCount.

Reimplemented in AmbientLight, DirectionalLight, LightLensNode, LightNode, PointLight, and Spotlight.

Definition at line 25 of file light.cxx.


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