Google

Main Page   Class Hierarchy   Compound List   File List   Compound Members  

iShadowBlock Struct Reference

A block of shadows represent the shadows that are casted by one iShadowCaster object. More...

#include <shadows.h>

Inheritance diagram for iShadowBlock:

iBase csShadowBlock List of all members.

Public Methods

virtual iShadowIteratorGetShadowIterator (bool reverse=false)=0
 Get an iterator to iterate over all shadows in this block.

virtual iSectorGetSector ()=0
 Get a pointer to the sector in which this block was generated.

virtual int GetRecLevel ()=0
 Get the recursion level of this sector in our frustum check.

virtual void DeleteShadows ()=0
 Dereference all shadows in the list.

virtual void AddRelevantShadows (iShadowBlock *source, csTransform *trans=NULL)=0
 Copy all relevant shadow frustums from another shadow block into this block. More...

virtual void AddRelevantShadows (iShadowBlockList *source)=0
 Copy all relevant shadow frustums from another shadow block list into this block. More...

virtual void AddAllShadows (iShadowBlockList *source)=0
 Copy all shadow frustums from another shadow block list into this block. More...

virtual void AddUniqueRelevantShadows (iShadowBlockList *source)=0
 Add unique shadows. More...

virtual csFrustumAddShadow (const csVector3 &origin, void *userData, int num_verts, csPlane3 &backplane)=0
 Add a new frustum and return a reference. More...

virtual void UnlinkShadow (int idx)=0
 Unlink a shadow frustum from the list and dereference it.

virtual int GetShadowCount ()=0
 Get the number of shadows in this list.

virtual csFrustumGetShadow (int idx)=0
 Get the specified shadow.

virtual void Transform (csTransform *trans)=0
 Apply a transformation to all frustums in this list.


Detailed Description

A block of shadows represent the shadows that are casted by one iShadowCaster object.


Member Function Documentation

void iShadowBlock::AddAllShadows ( iShadowBlockList * source ) [pure virtual]
 

Copy all shadow frustums from another shadow block list into this block.

The frustums are not really copied but a new reference is kept.

Reimplemented in csShadowBlock.

void iShadowBlock::AddRelevantShadows ( iShadowBlockList * source ) [pure virtual]
 

Copy all relevant shadow frustums from another shadow block list into this block.

The frustums are not really copied but a new reference is kept.

Reimplemented in csShadowBlock.

void iShadowBlock::AddRelevantShadows ( iShadowBlock * source,
csTransform * trans = NULL ) [pure virtual]
 

Copy all relevant shadow frustums from another shadow block into this block.

The frustums are not really copied but a new reference is kept. However, if a transformation is given then a copy is made and the shadows are transformed.

Reimplemented in csShadowBlock.

csFrustum * iShadowBlock::AddShadow ( const csVector3 & origin,
void * userData,
int num_verts,
csPlane3 & backplane ) [pure virtual]
 

Add a new frustum and return a reference.

The frustum will have the specified number of vertices but the vertices still need to be initialized.

Reimplemented in csShadowBlock.

void iShadowBlock::AddUniqueRelevantShadows ( iShadowBlockList * source ) [pure virtual]
 

Add unique shadows.

Only add relevant shadow frustums that are not already in the current list. The frustums are not really copied but a new reference is kept.

Reimplemented in csShadowBlock.


The documentation for this struct was generated from the following file:
Generated for Crystal Space by doxygen 1.2.5 written by Dimitri van Heesch, ©1997-2000