Simulateur Ferroviaire
Reconstruction et visualisation d'un réseau ferroviaire à partir de données GeoJSON — Win32 / WebView2 / Leaflet
Chargement...
Recherche...
Aucune correspondance
Référence de la classe TCORenderer

#include <TCORenderer.h>

Graphe de collaboration de TCORenderer:

Classes

struct  Projection
 Paramètres de projection logique → écran. Plus de détails...
 

Fonctions membres publiques

 TCORenderer ()=delete
 

Fonctions membres publiques statiques

static Projection computeProjection (const RECT &rect, const PCCGraph &graph, Logger &logger)
 Calcule la projection logique → écran depuis le graphe et la RECT.
 
static void draw (HDC hdc, const RECT &rect, const PCCGraph &graph, const Projection &proj, Logger &logger, bool fillBackground=true)
 Point d'entrée du rendu — remplit le fond puis dessine tous les nœuds.
 

Fonctions membres privées statiques

static POINT project (int logicalX, int logicalY, const Projection &proj)
 Projette une position logique (x, y) en coordonnées écran.
 
static void drawNodes (HDC hdc, const Projection &proj, const PCCGraph &graph, Logger &logger)
 Dessine tous les nœuds du graphe avec la projection fournie.
 
static void drawStraightBlock (HDC hdc, const Projection &proj, const PCCNode *node, Logger &logger)
 Dessine un nœud StraightBlock (trait horizontal avec gap).
 
static void drawSwitchBlock (HDC hdc, const Projection &proj, const PCCSwitchNode *sw, Logger &logger)
 Dessine un nœud SwitchBlock (root + normal + déviation).
 
static COLORREF stateToColor (ShuntingState state)
 Retourne la couleur GDI correspondant à un état ShuntingState.
 

Documentation des constructeurs et destructeur

◆ TCORenderer()

TCORenderer::TCORenderer ( )
delete

Documentation des fonctions membres

◆ computeProjection()

TCORenderer::Projection TCORenderer::computeProjection ( const RECT &  rect,
const PCCGraph graph,
Logger logger 
)
static

Calcule la projection logique → écran depuis le graphe et la RECT.

Exposée publiquement pour permettre à PCCPanel de mettre le résultat en cache et éviter un recalcul O(n) à chaque WM_PAINT.

Paramètres
rectRectangle client de la fenêtre de dessin.
graphGraphe PCC source des positions logiques.
loggerLogger pour les traces de débogage.
Renvoie
Projection calculée.

◆ draw()

void TCORenderer::draw ( HDC  hdc,
const RECT &  rect,
const PCCGraph graph,
const Projection proj,
Logger logger,
bool  fillBackground = true 
)
static

Point d'entrée du rendu — remplit le fond puis dessine tous les nœuds.

La projection est passée depuis le cache de PCCPanelcomputeProjection() n'est plus appelé en interne.

Paramètres
hdcContexte de dessin GDI.
rectRectangle client (pour FillRect uniquement).
graphGraphe PCC.
projProjection précalculée par PCCPanel.
loggerLogger.
fillBackgroundSi false, le remplissage du fond est ignoré. Mettre à false quand PCCPanel remplit le fond avant d'appliquer une world transform (zoom/pan), afin d'éviter de recouvrir la zone avec la transform active.

◆ drawNodes()

void TCORenderer::drawNodes ( HDC  hdc,
const Projection proj,
const PCCGraph graph,
Logger logger 
)
staticprivate

Dessine tous les nœuds du graphe avec la projection fournie.

Paramètres
hdcContexte de dessin.
projProjection courante.
graphGraphe PCC.
loggerLogger.

◆ drawStraightBlock()

void TCORenderer::drawStraightBlock ( HDC  hdc,
const Projection proj,
const PCCNode node,
Logger logger 
)
staticprivate

Dessine un nœud StraightBlock (trait horizontal avec gap).

Paramètres
hdcContexte de dessin.
projProjection courante.
nodeNœud straight à dessiner.

◆ drawSwitchBlock()

void TCORenderer::drawSwitchBlock ( HDC  hdc,
const Projection proj,
const PCCSwitchNode sw,
Logger logger 
)
staticprivate

Dessine un nœud SwitchBlock (root + normal + déviation).

Utilise static_cast (type garanti par getNodeType() == SWITCH). Instancie un PenScope par branche — aucun CreatePen redondant.

Paramètres
hdcContexte de dessin.
projProjection courante (stub/inactiveGap/halfGap précalculés).
swNœud switch à dessiner.

◆ project()

POINT TCORenderer::project ( int  logicalX,
int  logicalY,
const Projection proj 
)
staticprivate

Projette une position logique (x, y) en coordonnées écran.

Paramètres
logicalXPosition X logique (colonne BFS).
logicalYPosition Y logique (rang vertical).
projParamètres de projection.
Renvoie
Point écran correspondant.

◆ stateToColor()

COLORREF TCORenderer::stateToColor ( ShuntingState  state)
staticprivate

Retourne la couleur GDI correspondant à un état ShuntingState.

Paramètres
stateÉtat opérationnel du bloc.
Renvoie
COLORREF associé.

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