CrystalSpace

Public API Reference

Main Page   Modules   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members   Related Pages  

iShadowBlock Struct Reference
[Lighting]

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

#include <shadows.h>

Inheritance diagram for iShadowBlock:

iBase List of all members.

Public Methods

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

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

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

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

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

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

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

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.

virtual const csBox3GetBoundingBox ()=0
 Get the bounding box of this shadow block.


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 by doxygen 1.2.18