csCoverageTile Class Reference
Coverage tile. More...
#include <csgeom/tcovbuf.h>
Public Member Functions | |
void | MarkEmpty () |
Mark the tile as empty but don't perform any other cleaning operations. | |
void | MakeEmpty () |
Really make the tile empty (as opposed to just marking it as empty with queue_tile_empty). | |
void | MakeEmptyQuick () |
Faster version of MakeEmpty() that assumes that several of the fields will be correctly updated directly after calling this function. | |
void | ClearOperations () |
Clear all operations. | |
bool | IsFull () const |
Return true if tile is full. | |
bool | IsEmpty () const |
Return true if tile is surely empty. | |
void | PushLine (int x1, int y1, int x2, int y2, int dx) |
Add a general line operation to the operations queue. | |
void | PushVLine (int x, int y1, int y2) |
Add a vertical line operation to the operations queue. | |
void | PushFullVLine (int x) |
Add a full vertical line operation to the operations queue. | |
void | PerformOperations () |
Perform all operations in a tile and render them on the coverage_cache. | |
void | FlushOperations () |
Flush all operations in a tile and render them on the coverage_cache. | |
void | PerformOperationsOnlyFValue (csTileCol &fvalue) |
Perform all operations in a tile and only update the fvalue. | |
void | FlushOperationsOnlyFValue (csTileCol &fvalue) |
Flush all operations in a tile and only update the fvalue. | |
bool | Flush (csTileCol &fvalue, float maxdepth) |
Flush all operations in a tile given the fvalue from the previous tile and return the new fvalue (also in fvalue). | |
bool | FlushIgnoreDepth (csTileCol &fvalue) |
Version of Flush that ignores depth. | |
bool | FlushForEmpty (csTileCol &fvalue, float maxdepth) |
Version of Flush that handles the case where the tile is empty. | |
bool | FlushForEmptyNoDepth (csTileCol &fvalue) |
Version of Flush that handles the case where the tile is empty. | |
bool | FlushForFull (csTileCol &fvalue, float maxdepth) |
Version of Flush that handles the case where the tile is full. | |
bool | FlushNoDepth (csTileCol &fvalue) |
Version of Flush that handles the case where there is no depth checking. | |
bool | FlushGeneral (csTileCol &fvalue, float maxdepth) |
General Flush (slowest version). | |
void | FlushForEmptyConstFValue (csTileCol &fvalue, float maxdepth) |
Version of Flush that handles the case where the tile is empty. | |
void | FlushForFullConstFValue (csTileCol &fvalue, float maxdepth) |
Version of Flush that handles the case where the tile is full. | |
bool | FlushNoDepthConstFValue (csTileCol &fvalue, float maxdepth) |
Version of Flush that handles the case where there is no depth checking. | |
bool | FlushGeneralConstFValue (csTileCol &fvalue, float maxdepth) |
General Flush (slowest version). | |
bool | TestCoverageFlush (csTileCol &fvalue, float mindepth, bool &do_depth_test) |
Perform a non-modifying flush and return true if Flush would have affected the coverage buffer. | |
bool | TestCoverageFlushForFull (csTileCol &fvalue, float mindepth, bool &do_depth_test) |
Version of TestFlush that handles the case where the tile is full. | |
bool | TestCoverageFlushGeneral (csTileCol &fvalue, float maxdepth, bool &do_depth_test) |
General TestFlush version (least efficient). | |
bool | TestDepthFlush (csTileCol &fvalue, float mindepth) |
Perform a non-modifying flush and return true if Flush would have affected the coverage buffer. | |
bool | TestDepthFlushGeneral (csTileCol &fvalue, float maxdepth) |
General TestFlush version (least efficient). | |
bool | TestFullRect (float testdepth) |
Test if a given rectangle with exactly the size of this tile (or bigger) is visible somewhere in this tile. | |
bool | TestDepthRect (int start, int end, float testdepth) |
Test if a given rectangle is visible. | |
bool | TestDepthRect (const csTileCol &vermask, int start, int end, float testdepth) |
Test if a given rectangle is visible. | |
bool | TestCoverageRect (int start, int end, float testdepth, bool &do_depth_test) |
Test if a given rectangle is visible. | |
bool | TestCoverageRect (const csTileCol &vermask, int start, int end, float testdepth, bool &do_depth_test) |
Test if a given rectangle is visible. | |
bool | TestPoint (int x, int y, float testdepth) |
Test if a given point is visible in this tile. | |
csPtr< iString > | Debug_Dump () |
Give a textual dump of this tile. | |
csPtr< iString > | Debug_Dump_Cache () |
Give a textual dump of the coverage cache. | |
Friends | |
class | csTiledCoverageBuffer |
Detailed Description
Coverage tile.One tile is 32x64 or 64x32 pixels. Every tile is made from 4x8 or 8x4 blocks (so one block is 8x8 pixels).
Definition at line 106 of file tcovbuf.h.
Member Function Documentation
|
Clear all operations.
|
|
Give a textual dump of this tile.
|
|
Give a textual dump of the coverage cache.
|
|
Flush all operations in a tile given the fvalue from the previous tile and return the new fvalue (also in fvalue). This is the 1-bit implementation of Flush. A 3-bit implementation will come later. This function will correctly handle the case where the current tile is full. In that case only the fvalue will be updated. Returns true if the tile was modified. |
|
Version of Flush that handles the case where the tile is empty. Returns true if the tile was modified. |
|
Version of Flush that handles the case where the tile is empty. This version is for a constant fvalue for the entire tile. |
|
Version of Flush that handles the case where the tile is empty. Returns true if the tile was modified. This version ignores depth. |
|
Version of Flush that handles the case where the tile is full. Returns true if the tile was modified. |
|
Version of Flush that handles the case where the tile is full. This version is for a constant fvalue for the entire tile. |
|
General Flush (slowest version). Returns true if the tile was modified. |
|
General Flush (slowest version). This version is for a constant fvalue for the entire tile. Returns true if the tile was modified. |
|
Version of Flush that ignores depth.
|
|
Version of Flush that handles the case where there is no depth checking. Returns true if the tile was modified. |
|
Version of Flush that handles the case where there is no depth checking. This version is for a constant fvalue for the entire tile. Returns true if the tile was modified. |
|
Flush all operations in a tile and render them on the coverage_cache. This is the same as PerformOperations() except that the operations are also cleared. |
|
Flush all operations in a tile and only update the fvalue. This version can be used if you know the tile is full. This is the same as PerformOperationsOnlyFValue() except that the operations are also cleared. |
|
Return true if tile is surely empty. This can return false even if tile is empty. So don't 100% depend on this! |
|
Return true if tile is full.
|
|
Really make the tile empty (as opposed to just marking it as empty with queue_tile_empty).
|
|
Faster version of MakeEmpty() that assumes that several of the fields will be correctly updated directly after calling this function. Don't call this unless you know what you are doing! |
|
Mark the tile as empty but don't perform any other cleaning operations. MakeEmpty() will do that. |
|
Perform all operations in a tile and render them on the coverage_cache.
|
|
Perform all operations in a tile and only update the fvalue. This version can be used if you know the tile is full. |
|
Add a full vertical line operation to the operations queue.
|
|
Add a general line operation to the operations queue.
|
|
Add a vertical line operation to the operations queue.
|
|
Perform a non-modifying flush and return true if Flush would have affected the coverage buffer.
|
|
Version of TestFlush that handles the case where the tile is full.
|
|
General TestFlush version (least efficient).
|
|
Test if a given rectangle is visible. The rectangle is defined as the vertical mask from 'start' to 'end' horizontally (inclusive range). |
|
Test if a given rectangle is visible. The rectangle is defined as a set of full vertical columns from 'start' to 'end'. |
|
Perform a non-modifying flush and return true if Flush would have affected the coverage buffer.
|
|
General TestFlush version (least efficient).
|
|
Test if a given rectangle is visible. The rectangle is defined as the vertical mask from 'start' to 'end' horizontally (inclusive range). |
|
Test if a given rectangle is visible. The rectangle is defined as a set of full vertical columns from 'start' to 'end'. |
|
Test if a given rectangle with exactly the size of this tile (or bigger) is visible somewhere in this tile. If the tile is not full this is automatically the case. If the tile is full the given depth will be used. If the given depth is smaller or equal than the maximum depth in the depth buffer then rectangle is visible. |
|
Test if a given point is visible in this tile. Coordinates are given relative to top-left coordinate of this tile. |
The documentation for this class was generated from the following file:
- csgeom/tcovbuf.h
Generated for Crystal Space by doxygen 1.3.9.1