Urbanisme  1.3.0
Projet visant à l'optimisation du placement de routes sur une surface. https://flodavid.github.io/Urbanisme
Fonctions membres publiques | Liste de tous les membres
Référence de la classe FieldEvaluation

La classe permettant de stocker une surface et de calculer et mettre à jour son évaluation. Plus de détails...

#include <fieldevaluation.h>

Graphe d'héritage de FieldEvaluation:
Field Evaluation

Fonctions membres publiques

 FieldEvaluation (Field &field, const Parameters &params)
 
unsigned getRoadDistance (const Coordinates &coord1, const Coordinates &coord2) const
 
void reset ()
 
float threadsEvaluateRatio () const
 
unsigned evaluateTotalUsable ()
 
float manhattanRatioBetween2Parcels (const Coordinates &p1, const Coordinates &p2) const
 
float evaluateRatio ()
 
- Fonctions membres publiques hérités de Field
unsigned get_width () const
 
unsigned get_height () const
 
std::list< Coordinates > & get_insOuts ()
 
unsigned getNbParcels () const
 
void set_width (unsigned width)
 
void set_height (unsigned height)
 
void add_road (const Coordinates &coords)
 
void add_road (unsigned col, unsigned row)
 
bool tryAdd_in_out (unsigned col, unsigned row)
 
void add_undefined (unsigned col, unsigned row)
 
State at (const Coordinates &pos) const
 
State operator[] (const Coordinates &pos) const
 
Fieldoperator= (const Field &other)
 
 Field (unsigned width, unsigned height)
 
 Field (const Field &other)
 
void deleteOldMatrix ()
 
void resizeWithDimensions ()
 
void addRoads (std::list< Coordinates > *roads, unsigned serveDistance)
 
void removeRoads (std::list< Coordinates > *roads, unsigned serveDistance)
 
bool tryAdd_in_out (const Coordinates &coords)
 
void add_undefined (const Coordinates &coords)
 
void show_ins_and_outs () const
 
std::ostream & print (std::ostream &out) const
 
bool contains (int x, int y) const
 
bool contains (const Coordinates &coord) const
 
bool nextCoordinates (Coordinates *coord) const
 
void createExample ()
 createExample Plus de détails...
 
void generateInsAndOuts (unsigned nb)
 
std::list< Coordinates > * getNeighbourRoads (const Coordinates &coord) const
 
std::list< Coordinates > * getCloseUnusableParcels (const Coordinates &coord, unsigned servingDistance) const
 
std::list< Coordinates > * getCloseParcels (const Coordinates &coord, unsigned maxDist) const
 
std::list< Coordinates > * getCloseRoads (const Coordinates &coord, unsigned maxDist) const
 
std::list< Coordinates > * getServingRoads (const Coordinates &coord, unsigned servingDistance) const
 
bool hasServingRoad (const Coordinates &coord, unsigned servingDistance) const
 
void setUsables (unsigned servingDistance)
 
void resetUsables (unsigned servingDistance)
 
void updateUsables (unsigned servingDistance)
 
- Fonctions membres publiques hérités de Evaluation
 Evaluation ()
 
unsigned get_nbUsables () const
 
float get_avgAccess () const
 
bool is_dominated (const Evaluation &other) const
 
void initRoadDistances ()
 
unsigned parcelsRoadDistance (const Coordinates &coord1, const Coordinates &coord2)
 

Membres hérités additionnels

- Fonctions membres publiques statiques hérités de Field
static Coordinatesfirst ()
 begin Plus de détails...
 
- Attributs publics hérités de Evaluation
bool road_distances_are_initiated = false
 
- Attributs protégés hérités de Field
unsigned nb_cols
 nb_cols Nombre de colonnes de la surface
 
unsigned nb_rows
 nb_rows Nombre de lignes de la surface
 
std::list< Coordinatesins_outs
 ins_outs Liste des entrées-sorties de la surface
 
State ** parcels
 Matrice d'états des cellules.
 
- Attributs protégés hérités de Evaluation
unsigned nbUsables
 Nombre de parcelles utilisables.
 
float avgAccess
 Moyenne du ratio entre distance directe et distance par les routes, représente l'accessibilité de la surface.
 

Description détaillée

La classe permettant de stocker une surface et de calculer et mettre à jour son évaluation.

Documentation des constructeurs et destructeur

FieldEvaluation::FieldEvaluation ( Field field,
const Parameters params 
)

Constructeur à partir d'une surface existante recopiée et de paramètres recopiés

Paramètres
field
params

Documentation des fonctions membres

float FieldEvaluation::evaluateRatio ( )

Evalue le ratio de toutes les solutions

Renvoie
la moyenne des ratios
unsigned int FieldEvaluation::evaluateTotalUsable ( )

Compte le nombre total de parcelles exploitables sur la surface

Renvoie
nombre de parcelles exploitables

FieldEvaluations

unsigned FieldEvaluation::getRoadDistance ( const Coordinates coord1,
const Coordinates coord2 
) const
inline

Donne la distance par les routes stockée

Paramètres
coord1Première coordonnée
coord2Seconde coordonnée
Renvoie
La distance par le route, un entier non signé
void FieldEvaluation::initRoadDistances ( )

Définit la matrice de distance entre chaque parcelle et chaque autre parcelle

float FieldEvaluation::manhattanRatioBetween2Parcels ( const Coordinates p1,
const Coordinates p2 
) const

Calcule le ratio entre distance par la route et distance Manhattan entre deux positions

Paramètres
p1premières coordonnées
p2secondes coordonnées
Renvoie
le ratio, sous forme de flottant
unsigned FieldEvaluation::parcelsRoadDistance ( const Coordinates coord1,
const Coordinates coord2 
)

Calcule la distance par les routes entre deux cellules quelconques, en testant toutes les routes qui desservent les cellules et en respectant les paramètres

Paramètres
coord1Coordonnée "de départ"
coord2Coordonnée "d'arrivée"
Renvoie
la valeur, entier non signé, de distance la plus courte, entre les deux coordonnées, en passant par les routes
void FieldEvaluation::reset ( )

Change de surface et remet à zéro les valeurs

float FieldEvaluation::threadsEvaluateRatio ( ) const

Evalue le ratio de toutes les solutions avec des threads

Renvoie
l'évaluation en flottant

La documentation de cette classe a été générée à partir des fichiers suivants :