Freeciv21
Develop your civilization from humble roots to a global empire
trade_generator Class Reference

#include <tradecalculation.h>

Public Member Functions

 trade_generator ()
 Constructor for trade calculator. More...
 
void add_all_cities ()
 Adds all cities to trade generator. More...
 
void add_city (struct city *pcity)
 Adds single city to trade generator. More...
 
void add_tile (struct tile *ptile)
 Adds/removes tile to trade generator. More...
 
void calculate ()
 Finds trade routes to establish. More...
 
void clear_trade_planing ()
 Clears genrated routes, virtual cities, cities. More...
 
void remove_city (struct city *pcity)
 Removes single city from trade generator. More...
 
void remove_virtual_city (struct tile *ptile)
 Removes virtual city from trade generator. More...
 

Public Attributes

bool hover_city
 
QList< qtileslines
 
QList< struct city * > virtual_cities
 
QList< trade_city * > cities
 

Private Member Functions

bool discard_any (trade_city *tc, int freeroutes)
 Drops all trade routes for given city. More...
 
int find_over_max (struct city *pcity)
 Finds highest number of trade routes over maximum for all cities, skips given city. More...
 
trade_cityfind_most_free ()
 Finds city with highest trade routes possible. More...
 
void check_if_done (trade_city *tc1, trade_city *tc2)
 Marks cities with full trade routes to finish searching. More...
 
void discard ()
 Drops all possible trade routes. More...
 
void discard_trade (trade_city *tc1, trade_city *tc2)
 Drops trade routes between given cities. More...
 
void find_certain_routes ()
 Adds routes for cities which can only have maximum possible trade routes. More...
 

Detailed Description

Definition at line 52 of file tradecalculation.h.

Constructor & Destructor Documentation

◆ trade_generator()

trade_generator::trade_generator ( )

Constructor for trade calculator.

Definition at line 42 of file tradecalculation.cpp.

Member Function Documentation

◆ add_all_cities()

void trade_generator::add_all_cities ( )

Adds all cities to trade generator.

Definition at line 47 of file tradecalculation.cpp.

Referenced by mr_menu::slot_trade_add_all().

◆ add_city()

void trade_generator::add_city ( struct city pcity)

Adds single city to trade generator.

Definition at line 82 of file tradecalculation.cpp.

Referenced by add_all_cities(), and add_tile().

◆ add_tile()

void trade_generator::add_tile ( struct tile ptile)

Adds/removes tile to trade generator.

Definition at line 93 of file tradecalculation.cpp.

Referenced by map_view::shortcut_pressed().

◆ calculate()

void trade_generator::calculate ( )

Finds trade routes to establish.

Definition at line 161 of file tradecalculation.cpp.

Referenced by mr_menu::slot_calculate().

◆ check_if_done()

void trade_generator::check_if_done ( trade_city tc1,
trade_city tc2 
)
private

Marks cities with full trade routes to finish searching.

Definition at line 347 of file tradecalculation.cpp.

Referenced by discard_trade(), and find_certain_routes().

◆ clear_trade_planing()

void trade_generator::clear_trade_planing ( )

Clears genrated routes, virtual cities, cities.

Definition at line 65 of file tradecalculation.cpp.

Referenced by add_all_cities(), and mr_menu::slot_clear_trade().

◆ discard()

void trade_generator::discard ( )
private

Drops all possible trade routes.

Definition at line 260 of file tradecalculation.cpp.

Referenced by calculate().

◆ discard_any()

bool trade_generator::discard_any ( trade_city tc,
int  freeroutes 
)
private

Drops all trade routes for given city.

Definition at line 291 of file tradecalculation.cpp.

Referenced by discard().

◆ discard_trade()

void trade_generator::discard_trade ( trade_city tc1,
trade_city tc2 
)
private

Drops trade routes between given cities.

Definition at line 277 of file tradecalculation.cpp.

Referenced by discard_any().

◆ find_certain_routes()

void trade_generator::find_certain_routes ( )
private

Adds routes for cities which can only have maximum possible trade routes.

Definition at line 310 of file tradecalculation.cpp.

Referenced by calculate().

◆ find_most_free()

trade_city * trade_generator::find_most_free ( )
private

Finds city with highest trade routes possible.

Definition at line 243 of file tradecalculation.cpp.

Referenced by discard().

◆ find_over_max()

int trade_generator::find_over_max ( struct city pcity = nullptr)
private

Finds highest number of trade routes over maximum for all cities, skips given city.

Definition at line 228 of file tradecalculation.cpp.

◆ remove_city()

void trade_generator::remove_city ( struct city pcity)

Removes single city from trade generator.

Definition at line 124 of file tradecalculation.cpp.

Referenced by add_tile().

◆ remove_virtual_city()

void trade_generator::remove_virtual_city ( struct tile ptile)

Removes virtual city from trade generator.

Definition at line 140 of file tradecalculation.cpp.

Referenced by add_tile().

Member Data Documentation

◆ cities

◆ hover_city

bool trade_generator::hover_city

◆ lines

QList<qtiles> trade_generator::lines

◆ virtual_cities

QList<struct city *> trade_generator::virtual_cities

Definition at line 58 of file tradecalculation.h.

Referenced by add_tile(), clear_trade_planing(), and remove_virtual_city().