libHSPlasma
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
plLightInfo Class Reference

#include <plLightInfo.h>

Inheritance diagram for plLightInfo:
plObjInterface plSynchedObject hsKeyedObject plCreatable plDirectionalLightInfo plOmniLightInfo plLimitedDirLightInfo plSpotLightInfo

Public Types

enum  {
  kDisable, kLPObsolete, kLPCastShadows, kLPMovable,
  kLPHasIncludes, kLPIncludesChars, kLP_OBSOLECTE_0, kLPOverAll,
  kLPHasSpecular, kLPShadowOnly, kLPShadowLightGroup, kLPForceProj,
  kNumProps
}
- Public Types inherited from plObjInterface
enum  { kDisable }
- Public Types inherited from plSynchedObject
enum  Flags {
  kDontDirty = 0x1, kSendReliably = 0x2, kHasConstantNetGroup = 0x4, kDontSynchGameMessages = 0x8,
  kExcludePersistentState = 0x10, kExcludeAllPersistentState = 0x20, kLocalOnly = kExcludeAllPersistentState | kDontSynchGameMessages, kHasVolatileState = 0x40,
  kAllStateIsVolatile = 0x80
}
enum  SDLSendFlags {
  kBCastToClients = 0x1, kForceFullSend = 0x2, kSkipLocalOwnershipCheck = 0x4, kSendImmediately = 0x8,
  kDontPersistOnServer = 0x10, kUseRelevanceRegions = 0x20, kNewState = 0x40, kIsAvatarState = 0x80
}

Public Member Functions

 plLightInfo ()
virtual void read (hsStream *S, plResManager *mgr)
virtual void write (hsStream *S, plResManager *mgr)
hsColorRGBA getAmbient () const
hsColorRGBA getDiffuse () const
hsColorRGBA getSpecular () const
hsMatrix44 getLightToLocal () const
hsMatrix44 getLocalToLight () const
hsMatrix44 getLightToWorld () const
hsMatrix44 getWorldToLight () const
plKey getProjection () const
plKey getSoftVolume () const
plKey getSceneNode () const
void setAmbient (const hsColorRGBA &color)
void setDiffuse (const hsColorRGBA &color)
void setSpecular (const hsColorRGBA &color)
void setLightToLocal (const hsMatrix44 &xform)
void setLocalToLight (const hsMatrix44 &xform)
void setLightToWorld (const hsMatrix44 &xform)
void setWorldToLight (const hsMatrix44 &xform)
void setProjection (plKey proj)
void setSoftVolume (plKey vol)
void setSceneNode (plKey node)
const std::vector< plKey > & getVisRegions () const
std::vector< plKey > & getVisRegions ()
void addVisRegion (plKey region)
void delVisRegion (size_t idx)
void clearVisRegions ()
- Public Member Functions inherited from plObjInterface
 plObjInterface ()
bool getProperty (size_t prop) const
void setProperty (size_t prop, bool value)
plKey getOwner () const
void setOwner (plKey owner)
- Public Member Functions inherited from plSynchedObject
 plSynchedObject ()
int getFlags () const
void setFlags (int flags)
const std::vector< plString > & getExcludes () const
const std::vector< plString > & getVolatiles () const
void setExclude (const plString &sdl)
void setVolatile (const plString &sdl)
void clearExcludes ()
void clearVolatiles ()
- Public Member Functions inherited from hsKeyedObject
void init (const plString &name)
plKey getKey () const
void setKey (plKey key)
- Public Member Functions inherited from plCreatable
 plCreatable ()
virtual ~plCreatable ()
virtual short ClassIndex () const =0
short ClassIndex (PlasmaVer ver) const
virtual const char * ClassName () const
virtual bool ClassInstance (short) const
virtual bool isStub () const
virtual void prcWrite (pfPrcHelper *prc)
virtual void prcParse (const pfPrcTag *tag, plResManager *mgr)

Protected Member Functions

virtual void IPrcWrite (pfPrcHelper *prc)
virtual void IPrcParse (const pfPrcTag *tag, plResManager *mgr)

Protected Attributes

std::vector< plKeyfVisRegions
hsColorRGBA fAmbient
hsColorRGBA fDiffuse
hsColorRGBA fSpecular
hsMatrix44 fLightToLocal
hsMatrix44 fLocalToLight
hsMatrix44 fLightToWorld
hsMatrix44 fWorldToLight
plKey fProjection
plKey fSoftVolume
plKey fSceneNode
- Protected Attributes inherited from plObjInterface
plKey fOwner
hsBitVector fProps
- Protected Attributes inherited from plSynchedObject
unsigned int fSynchFlags
std::vector< plStringfSDLExcludeList
std::vector< plStringfSDLVolatileList

Member Enumeration Documentation

anonymous enum
Enumerator:
kDisable 
kLPObsolete 
kLPCastShadows 
kLPMovable 
kLPHasIncludes 
kLPIncludesChars 
kLP_OBSOLECTE_0 
kLPOverAll 
kLPHasSpecular 
kLPShadowOnly 
kLPShadowLightGroup 
kLPForceProj 
kNumProps 

Constructor & Destructor Documentation

plLightInfo::plLightInfo ( )

Member Function Documentation

void plLightInfo::addVisRegion ( plKey  region)
void plLightInfo::clearVisRegions ( )
void plLightInfo::delVisRegion ( size_t  idx)
hsColorRGBA plLightInfo::getAmbient ( ) const
hsColorRGBA plLightInfo::getDiffuse ( ) const
hsMatrix44 plLightInfo::getLightToLocal ( ) const
hsMatrix44 plLightInfo::getLightToWorld ( ) const
hsMatrix44 plLightInfo::getLocalToLight ( ) const
plKey plLightInfo::getProjection ( ) const
plKey plLightInfo::getSceneNode ( ) const
plKey plLightInfo::getSoftVolume ( ) const
hsColorRGBA plLightInfo::getSpecular ( ) const
const std::vector<plKey>& plLightInfo::getVisRegions ( ) const
std::vector<plKey>& plLightInfo::getVisRegions ( )
hsMatrix44 plLightInfo::getWorldToLight ( ) const
virtual void plLightInfo::IPrcParse ( const pfPrcTag tag,
plResManager mgr 
)
protectedvirtual

This must be overloaded by subclasses to parse PRC data specific to the class from the PRC document. It is called once for each tag that is a child to the Creatable tag itself, so subclasses should check for each supported tag and handle it accordingly if it matches. If the tag is not recognized, it should be passed along to the parent class.

Reimplemented from plObjInterface.

Reimplemented in plSpotLightInfo, plLimitedDirLightInfo, and plOmniLightInfo.

virtual void plLightInfo::IPrcWrite ( pfPrcHelper prc)
protectedvirtual

This must be overloaded by subclasses to write PRC data specific to the class to the PRC document. Do not write the top-level creatable tag, that is handled by prcWrite().

Reimplemented from plObjInterface.

Reimplemented in plSpotLightInfo, plLimitedDirLightInfo, and plOmniLightInfo.

virtual void plLightInfo::read ( hsStream ,
plResManager  
)
virtual

Reads this creatable directly from the stream. If any keys are read, they will be added to the plResManager automatically.

Reimplemented from plObjInterface.

Reimplemented in plSpotLightInfo, plLimitedDirLightInfo, and plOmniLightInfo.

void plLightInfo::setAmbient ( const hsColorRGBA color)
void plLightInfo::setDiffuse ( const hsColorRGBA color)
void plLightInfo::setLightToLocal ( const hsMatrix44 xform)
void plLightInfo::setLightToWorld ( const hsMatrix44 xform)
void plLightInfo::setLocalToLight ( const hsMatrix44 xform)
void plLightInfo::setProjection ( plKey  proj)
void plLightInfo::setSceneNode ( plKey  node)
void plLightInfo::setSoftVolume ( plKey  vol)
void plLightInfo::setSpecular ( const hsColorRGBA color)
void plLightInfo::setWorldToLight ( const hsMatrix44 xform)
virtual void plLightInfo::write ( hsStream ,
plResManager  
)
virtual

Writes this creatable directly to the stream. The plResManager is used to manage any key references written by this creatable.

Reimplemented from plObjInterface.

Reimplemented in plSpotLightInfo, plLimitedDirLightInfo, and plOmniLightInfo.

Member Data Documentation

hsColorRGBA plLightInfo::fAmbient
protected
hsColorRGBA plLightInfo::fDiffuse
protected
hsMatrix44 plLightInfo::fLightToLocal
protected
hsMatrix44 plLightInfo::fLightToWorld
protected
hsMatrix44 plLightInfo::fLocalToLight
protected
plKey plLightInfo::fProjection
protected
plKey plLightInfo::fSceneNode
protected
plKey plLightInfo::fSoftVolume
protected
hsColorRGBA plLightInfo::fSpecular
protected
std::vector<plKey> plLightInfo::fVisRegions
protected
hsMatrix44 plLightInfo::fWorldToLight
protected

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