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

#include <hsGMaterial.h>

Inheritance diagram for hsGMaterial:
plSynchedObject hsKeyedObject plCreatable

Public Types

enum  hsGCompFlags {
  kCompShaded = 0x1, kCompEnvironMap = 0x2, kCompProjectOnto = 0x4, kCompSoftShadow = 0x8,
  kCompSpecular = 0x10, kCompTwoSided = 0x20, kCompDrawAsSplats = 0x40, kCompAdjusted = 0x80,
  kCompNoSoftShadow = 0x100, kCompDynamic = 0x200, kCompDecal = 0x400, kCompIsEmissive = 0x800,
  kCompIsLightMapped = 0x1000, kCompNeedsBlendChannel = 0x2000
}
- 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

 hsGMaterial ()
virtual void read (hsStream *S, plResManager *mgr)
virtual void write (hsStream *S, plResManager *mgr)
const std::vector< plKey > & getLayers () const
std::vector< plKey > & getLayers ()
void addLayer (plKey layer)
void delLayer (size_t idx)
void clearLayers ()
const std::vector< plKey > & getPiggyBacks () const
std::vector< plKey > & getPiggyBacks ()
void addPiggyBack (plKey layer)
void delPiggyBack (size_t idx)
void clearPiggyBacks ()
unsigned int getCompFlags () const
unsigned int getLoadFlags () const
void setCompFlags (unsigned int flags)
void setLoadFlags (unsigned int flags)
- 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)

Additional Inherited Members

- Protected Attributes inherited from plSynchedObject
unsigned int fSynchFlags
std::vector< plStringfSDLExcludeList
std::vector< plStringfSDLVolatileList

Member Enumeration Documentation

Enumerator:
kCompShaded 
kCompEnvironMap 
kCompProjectOnto 
kCompSoftShadow 
kCompSpecular 
kCompTwoSided 
kCompDrawAsSplats 
kCompAdjusted 
kCompNoSoftShadow 
kCompDynamic 
kCompDecal 
kCompIsEmissive 
kCompIsLightMapped 
kCompNeedsBlendChannel 

Constructor & Destructor Documentation

hsGMaterial::hsGMaterial ( )

Member Function Documentation

void hsGMaterial::addLayer ( plKey  layer)
void hsGMaterial::addPiggyBack ( plKey  layer)
void hsGMaterial::clearLayers ( )
void hsGMaterial::clearPiggyBacks ( )
void hsGMaterial::delLayer ( size_t  idx)
void hsGMaterial::delPiggyBack ( size_t  idx)
unsigned int hsGMaterial::getCompFlags ( ) const
const std::vector<plKey>& hsGMaterial::getLayers ( ) const
std::vector<plKey>& hsGMaterial::getLayers ( )
unsigned int hsGMaterial::getLoadFlags ( ) const
const std::vector<plKey>& hsGMaterial::getPiggyBacks ( ) const
std::vector<plKey>& hsGMaterial::getPiggyBacks ( )
virtual void hsGMaterial::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 plSynchedObject.

virtual void hsGMaterial::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 plSynchedObject.

virtual void hsGMaterial::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 plSynchedObject.

void hsGMaterial::setCompFlags ( unsigned int  flags)
void hsGMaterial::setLoadFlags ( unsigned int  flags)
virtual void hsGMaterial::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 plSynchedObject.


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