#include <grid.hpp>
Collaboration diagram for Arak::Grid< ItemType >::LineCellIteratorBase< GridType, CellType >:

The current implementation performs an orientation test per iteration.
Definition at line 235 of file grid.hpp.
Public Member Functions | |
| LineCellIteratorBase (GridType &g, const Geometry::Point &p, const Geometry::Point &q, SEGMENT) | |
| Constructor for a cell iterator that travels along a line segment. | |
| LineCellIteratorBase (GridType &g, const Geometry::Point &p, const Geometry::Point &q, RAY) | |
| Constructor for a cell iterator that travels along a ray. | |
| LineCellIteratorBase () | |
| Constructor for an end iterator outside the grid. | |
| bool | operator== (const LineCellIteratorBase< GridType, CellType > &other) const |
| Comparison operators. | |
| bool | operator!= (const LineCellIteratorBase< GridType, CellType > &other) const |
| LineCellIteratorBase< GridType, CellType > & | operator++ (int) |
| Increment operators. | |
| LineCellIteratorBase< GridType, CellType > & | operator++ () |
| CellType * | operator-> () const |
| Accessors. | |
| CellType & | operator * () const |
Protected Types | |
| enum | CompassDirection { NORTH, NORTH_EAST, EAST, SOUTH_EAST, SOUTH, SOUTH_WEST, WEST, NORTH_WEST } |
| A categorical direction for rays. More... | |
Protected Member Functions | |
| CompassDirection | direction (const Geometry::Point &p, const Geometry::Point &q) |
| Computes the direction of the line from p to q. | |
Protected Attributes | |
| Geometry::Line | line |
| The supporting line of the segment or ray that is being traversed. | |
| CompassDirection | dir |
| The direction of the traversed ray. | |
| CellType * | curCell |
| The current cell of the iterator. | |
| CellType * | lastCell |
| The last cell the iterator must visit (or NULL if the iterator should terminate at the boundary of the grid). | |
|
|||||||||
|
A categorical direction for rays.
Definition at line 247 of file grid.hpp. Referenced by Arak::Grid< ItemType >::LineCellIteratorBase< GridType, CellType >::direction(). |
|
||||||||||||||||||||||||||||
|
Constructor for a cell iterator that travels along a line segment.
Definition at line 343 of file grid.hpp. References Arak::Grid< ItemType >::LineCellIteratorBase< GridType, CellType >::curCell, Arak::Grid< ItemType >::LineCellIteratorBase< GridType, CellType >::dir, Arak::Grid< ItemType >::LineCellIteratorBase< GridType, CellType >::direction(), Arak::intersection(), Arak::Grid< ItemType >::LineCellIteratorBase< GridType, CellType >::lastCell, Arak::Grid< ItemType >::LineCellIteratorBase< GridType, CellType >::line, Arak::Geometry::Point, and Arak::Geometry::Segment. |
|
||||||||||||||||||||||||||||
|
Constructor for a cell iterator that travels along a ray.
Definition at line 375 of file grid.hpp. References Arak::Grid< ItemType >::LineCellIteratorBase< GridType, CellType >::curCell, Arak::Grid< ItemType >::LineCellIteratorBase< GridType, CellType >::dir, Arak::Grid< ItemType >::LineCellIteratorBase< GridType, CellType >::direction(), Arak::intersection(), Arak::Grid< ItemType >::LineCellIteratorBase< GridType, CellType >::lastCell, Arak::Grid< ItemType >::LineCellIteratorBase< GridType, CellType >::line, Arak::Geometry::Point, and Arak::Geometry::Segment. |
|
|||||||||||||
|
Constructor for an end iterator outside the grid.
Definition at line 402 of file grid.hpp. References Arak::Grid< ItemType >::LineCellIteratorBase< GridType, CellType >::curCell, Arak::Grid< ItemType >::LineCellIteratorBase< GridType, CellType >::lastCell, and Arak::Grid< ItemType >::LineCellIteratorBase< GridType, CellType >::line. |
|
||||||||||||||||||||
|
|||||||||||||
|
Definition at line 505 of file grid.hpp. References Arak::Grid< ItemType >::LineCellIteratorBase< GridType, CellType >::curCell. |
|
||||||||||||||
|
|
|
|||||||||||||
|
Definition at line 425 of file grid.hpp. References Arak::Grid< ItemType >::LineCellIteratorBase< GridType, CellType >::curCell, Arak::Grid< ItemType >::LineCellIteratorBase< GridType, CellType >::dir, Arak::Grid< ItemType >::LineCellIteratorBase< GridType, CellType >::EAST, Arak::Grid< ItemType >::LineCellIteratorBase< GridType, CellType >::lastCell, Arak::Grid< ItemType >::LineCellIteratorBase< GridType, CellType >::line, Arak::Grid< ItemType >::LineCellIteratorBase< GridType, CellType >::NORTH, Arak::Grid< ItemType >::LineCellIteratorBase< GridType, CellType >::NORTH_EAST, Arak::Grid< ItemType >::LineCellIteratorBase< GridType, CellType >::NORTH_WEST, Arak::Grid< ItemType >::LineCellIteratorBase< GridType, CellType >::SOUTH, Arak::Grid< ItemType >::LineCellIteratorBase< GridType, CellType >::SOUTH_EAST, Arak::Grid< ItemType >::LineCellIteratorBase< GridType, CellType >::SOUTH_WEST, and Arak::Grid< ItemType >::LineCellIteratorBase< GridType, CellType >::WEST. |
|
||||||||||||||
|
Increment operators.
|
|
|||||||||||||
|
Accessors.
Definition at line 504 of file grid.hpp. References Arak::Grid< ItemType >::LineCellIteratorBase< GridType, CellType >::curCell. |
|
||||||||||||||
|
Comparison operators.
Definition at line 411 of file grid.hpp. References Arak::Grid< ItemType >::LineCellIteratorBase< GridType, CellType >::curCell. |
|
|||||||||
|
The current cell of the iterator.
Definition at line 266 of file grid.hpp. Referenced by Arak::Grid< ItemType >::LineCellIteratorBase< GridType, CellType >::LineCellIteratorBase(), Arak::Grid< ItemType >::LineCellIteratorBase< GridType, CellType >::operator *(), Arak::Grid< ItemType >::LineCellIteratorBase< GridType, CellType >::operator++(), Arak::Grid< ItemType >::LineCellIteratorBase< GridType, CellType >::operator->(), and Arak::Grid< ItemType >::LineCellIteratorBase< GridType, CellType >::operator==(). |
|
|||||||||
|
The direction of the traversed ray.
Definition at line 261 of file grid.hpp. Referenced by Arak::Grid< ItemType >::LineCellIteratorBase< GridType, CellType >::LineCellIteratorBase(), and Arak::Grid< ItemType >::LineCellIteratorBase< GridType, CellType >::operator++(). |
|
|||||||||
|
The last cell the iterator must visit (or NULL if the iterator should terminate at the boundary of the grid).
Definition at line 272 of file grid.hpp. Referenced by Arak::Grid< ItemType >::LineCellIteratorBase< GridType, CellType >::LineCellIteratorBase(), and Arak::Grid< ItemType >::LineCellIteratorBase< GridType, CellType >::operator++(). |
|
|||||||||
|
The supporting line of the segment or ray that is being traversed.
Definition at line 242 of file grid.hpp. Referenced by Arak::Grid< ItemType >::LineCellIteratorBase< GridType, CellType >::LineCellIteratorBase(), and Arak::Grid< ItemType >::LineCellIteratorBase< GridType, CellType >::operator++(). |
1.3.6