1 #ifndef ROGUELIKE_ALG_LOS_OCTANTPROCESSOR_H_
2 #define ROGUELIKE_ALG_LOS_OCTANTPROCESSOR_H_
10 #include <ugdk/portable/tr1.h>
11 #include FROM_TR1(functional)
12 #include <ugdk/math/integer2D.h>
33 const std::set<Eye*>& eyes,
const std::tr1::function<
bool (
const ugdk::math::Integer2D&)>&
blocks_vision);
41 bool process_cone_here(
Cone* cone);
45 std::list<Cone*> cones_;
48 const double& sight_range_;
49 const std::set<Eye*>& eyes_;
51 const std::tr1::function<bool (ugdk::math::Integer2D&)> blocks_vision_;
52 const std::tr1::function<bool (Cone*)> cone_processor_;
59 #endif // ROGUELIKE_ALG_LOS_OCTANTPROCESSOR_H_
void set_origin(const ugdk::math::Integer2D &origin)
Definition: octantprocessor.h:38
OctantProcessor(int octant_id, const VisibleTileAction &visible_tile_action, const double &sight_range, const std::set< Eye * > &eyes, const std::tr1::function< bool(const ugdk::math::Integer2D &)> &blocks_vision)
Definition: octantprocessor.cc:29
void ProcessOctant()
Definition: octantprocessor.cc:38
void set_origin(const ugdk::math::Integer2D &origin)
Definition: octant.h:40
bool blocks_vision(const Integer2D &tile)
Definition: vision.cc:27
std::tr1::function< void(const ugdk::math::Integer2D &tile, const EquationalLineDouble &upper, const EquationalLineDouble &lower, enums::bump::BumpType bump)> VisibleTileAction
Definition: los.h:37
~OctantProcessor()
Definition: octantprocessor.cc:36
Definition: octantprocessor.h:28