CrystalSpace

Public API Reference

iShadowBlock Struct Reference
[Lighting]

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

#include <iengine/shadows.h>

Inheritance diagram for iShadowBlock:

List of all members.

Public Member Functions

virtual void AddAllShadows (iShadowBlockList *source)=0
 Copy all shadow frustums from another shadow block list into this block.
virtual void AddRelevantShadows (iShadowBlockList *source)=0
 Copy all relevant shadow frustums from another shadow block list into this block.
virtual void AddRelevantShadows (iShadowBlock *source, csTransform *trans=0)=0
 Copy all relevant shadow frustums from another shadow block into this block.
virtual csFrustumAddShadow (const csVector3 &origin, void *userData, int num_verts, csPlane3 &backplane)=0
 Add a new frustum and return a reference.
virtual void AddUniqueRelevantShadows (iShadowBlockList *source)=0
 Add unique shadows.
virtual void DeleteShadows ()=0
 Dereference all shadows in the list.
virtual const csBox3GetBoundingBox ()=0
 Get the bounding box of this shadow block.
virtual csFrustumGetShadow (int idx)=0
 Get the specified shadow.
virtual int GetShadowCount ()=0
 Get the number of shadows in this list.
virtual iShadowIteratorGetShadowIterator (bool reverse=false)=0
 Get an iterator to iterate over all shadows in this block.
virtual void Transform (csTransform *trans)=0
 Apply a transformation to all frustums in this list.
virtual void UnlinkShadow (int idx)=0
 Unlink a shadow frustum from the list and dereference it.

Detailed Description

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

Definition at line 72 of file shadows.h.


Member Function Documentation

virtual 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.

virtual 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.

virtual void iShadowBlock::AddRelevantShadows ( iShadowBlock source,
csTransform trans = 0 
) [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.

virtual 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.

virtual 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.

virtual void iShadowBlock::DeleteShadows (  )  [pure virtual]

Dereference all shadows in the list.

virtual const csBox3& iShadowBlock::GetBoundingBox (  )  [pure virtual]

Get the bounding box of this shadow block.

virtual csFrustum* iShadowBlock::GetShadow ( int  idx  )  [pure virtual]

Get the specified shadow.

virtual int iShadowBlock::GetShadowCount (  )  [pure virtual]

Get the number of shadows in this list.

virtual iShadowIterator* iShadowBlock::GetShadowIterator ( bool  reverse = false  )  [pure virtual]

Get an iterator to iterate over all shadows in this block.

virtual void iShadowBlock::Transform ( csTransform trans  )  [pure virtual]

Apply a transformation to all frustums in this list.

virtual void iShadowBlock::UnlinkShadow ( int  idx  )  [pure virtual]

Unlink a shadow frustum from the list and dereference it.


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

Generated for Crystal Space 1.4.1 by doxygen 1.7.1