13namespace fpmas {
namespace model {
14 using api::model::DiscretePoint;
43 : origin(origin), extent(extent) {
73 return extent.
x - origin.
x;
80 return extent.
y - origin.
y;
134 std::vector<GridDimensions> process_grid_dimensions;
153 std::vector<Node*> childs;
180 void split_node(std::list<Node*>& leafs);
185 void delete_node(Node* node);
254 std::map<DiscreteCoordinate, int> process_bounds;
255 std::vector<GridDimensions> process_grid_dimensions;
Definition: communication.h:251
Definition: load_balancing.h:92
Definition: grid_load_balancing.h:30
DiscreteCoordinate height() const
Definition: grid_load_balancing.h:79
void setExtent(const DiscretePoint &point)
Definition: grid_load_balancing.h:66
DiscreteCoordinate width() const
Definition: grid_load_balancing.h:72
void setOrigin(const DiscretePoint &point)
Definition: grid_load_balancing.h:57
GridDimensions()
Definition: grid_load_balancing.h:48
DiscretePoint getOrigin() const
Definition: grid_load_balancing.h:53
GridDimensions(DiscretePoint origin, DiscretePoint extent)
Definition: grid_load_balancing.h:42
DiscretePoint getExtent() const
Definition: grid_load_balancing.h:62
Definition: grid_load_balancing.h:314
GridLoadBalancing(DiscreteCoordinate width, DiscreteCoordinate height, api::communication::MpiCommunicator &comm)
Definition: grid_load_balancing.cpp:162
api::graph::PartitionMap balance(api::graph::NodeMap< api::model::AgentPtr > nodes) override
Definition: grid_load_balancing.cpp:176
Definition: grid_load_balancing.h:91
virtual GridDimensions gridDimensions(int process) const =0
virtual int process(DiscretePoint point) const =0
Definition: grid_load_balancing.h:238
GridDimensions gridDimensions(int process) const override
Definition: grid_load_balancing.cpp:158
StripProcessMapping(DiscreteCoordinate width, DiscreteCoordinate height, api::communication::MpiCommunicator &comm)
Definition: grid_load_balancing.cpp:115
int process(DiscretePoint point) const override
Definition: grid_load_balancing.cpp:142
Definition: grid_load_balancing.h:126
GridDimensions gridDimensions(int process) const override
Definition: grid_load_balancing.cpp:111
TreeProcessMapping()
Definition: grid_load_balancing.cpp:4
std::unordered_map< DistributedId, int, api::graph::IdHash< DistributedId > > PartitionMap
Definition: load_balancing.h:19
PartitionMode
Definition: load_balancing.h:30
typename graph::Graph< graph::DistributedNode< T >, graph::DistributedEdge< T > >::NodeMap NodeMap
Definition: load_balancing.h:25
long DiscreteCoordinate
Definition: grid.h:15
DiscreteCoordinate x
Definition: grid.h:25
DiscreteCoordinate y
Definition: grid.h:29