crystalspace.jbind.interfaces.iengine.shadows
Interface iShadowBlock

All Superinterfaces:
iBase, iPointer
All Known Implementing Classes:
csShadowBlock

public interface iShadowBlock
extends iBase

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

Author:
Java wrapper - Quentin Anciaux, c++ version - http://crystal.sourceforge.net/docs/online/devapi/structiShadowBlock.php

Method Summary
 void addAllShadows(iShadowBlockList source)
          Copy all shadow frustums from another shadow block list into this block.
 void addRelevantShadows(iShadowBlock source)
          Copy all relevant shadow frustums from another shadow block into this block.
 void addRelevantShadows(iShadowBlock source, csTransform trans)
          Copy all relevant shadow frustums from another shadow block into this block.
 void addRelevantShadows(iShadowBlockList source)
          Copy all relevant shadow frustums from another shadow block list into this block.
 csFrustum addShadow(csVector3 origin, iPointer userData, int num_verts, csPlane3 backplane)
          Add a new frustum and return a reference.
 void addUniqueRelevantShadows(iShadowBlockList source)
          Add unique shadows.
 void deleteShadows()
          Dereference all shadows in the list.
 csBox3 getBoundingBox()
          Get the bounding box of this shadow block.
 csFrustum getShadow(int idx)
          Get the specified shadow.
 int getShadowCount()
          Get the number of shadows in this list.
 iShadowIterator getShadowIterator()
          Get an iterator to iterate over all shadows in this block.
 iShadowIterator getShadowIterator(boolean reverse)
          Get an iterator to iterate over all shadows in this block.
 void transform(csTransform trans)
          Apply a transformation to all frustums in this list.
 void unlinkShadow(int idx)
          Unlink a shadow frustum from the list and dereference it.
 
Methods inherited from interface crystalspace.jbind.interfaces.iutil.scf.iBase
decRef, getName, getRefCount, getVersion, incRef, queryInterface, queryInterfaceSafe
 
Methods inherited from interface crystalspace.jbind.interfaces.iPointer
changePointer, getPointer, isMemoryOwner, setMemoryOwner
 

Method Detail

addAllShadows

public void addAllShadows(iShadowBlockList source)
Copy all shadow frustums from another shadow block list into this block. The frustums are not really copied but a new reference is kept. Implemented in csShadowBlock.

Parameters:
source -

addRelevantShadows

public void addRelevantShadows(iShadowBlockList source)
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. Implemented in csShadowBlock.

Parameters:
source -

addRelevantShadows

public void addRelevantShadows(iShadowBlock source)
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. Implemented in csShadowBlock.

Parameters:
source -

addRelevantShadows

public void addRelevantShadows(iShadowBlock source,
                               csTransform trans)
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. Implemented in csShadowBlock.

Parameters:
source -
trans -

addShadow

public csFrustum addShadow(csVector3 origin,
                           iPointer userData,
                           int num_verts,
                           csPlane3 backplane)
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. Implemented in csShadowBlock.

Parameters:
origin -
userData -
num_verts -
backplane -
Returns:

addUniqueRelevantShadows

public void addUniqueRelevantShadows(iShadowBlockList source)
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. Implemented in csShadowBlock.

Parameters:
source -

deleteShadows

public void deleteShadows()
Dereference all shadows in the list. Implemented in csShadowBlock.


getBoundingBox

public csBox3 getBoundingBox()
Get the bounding box of this shadow block. Implemented in csShadowBlock.

Returns:

getShadow

public csFrustum getShadow(int idx)
Get the specified shadow. Implemented in csShadowBlock.

Parameters:
idx -
Returns:

getShadowCount

public int getShadowCount()
Get the number of shadows in this list. Implemented in csShadowBlock.

Returns:

getShadowIterator

public iShadowIterator getShadowIterator()
Get an iterator to iterate over all shadows in this block. Implemented in csShadowBlock.

Returns:

getShadowIterator

public iShadowIterator getShadowIterator(boolean reverse)
Get an iterator to iterate over all shadows in this block. Implemented in csShadowBlock.

Parameters:
reverse -
Returns:

transform

public void transform(csTransform trans)
Apply a transformation to all frustums in this list. Implemented in csShadowBlock.

Parameters:
trans -

unlinkShadow

public void unlinkShadow(int idx)
Unlink a shadow frustum from the list and dereference it. Implemented in csShadowBlock

Parameters:
idx -