#include <TCORenderer.h>
|
| 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.
|
| |
|
| 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.
|
| |
◆ TCORenderer()
| TCORenderer::TCORenderer |
( |
| ) |
|
|
delete |
◆ computeProjection()
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
-
| rect | Rectangle client de la fenêtre de dessin. |
| graph | Graphe PCC source des positions logiques. |
| logger | Logger 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 PCCPanel — computeProjection() n'est plus appelé en interne.
- Paramètres
-
| hdc | Contexte de dessin GDI. |
| rect | Rectangle client (pour FillRect uniquement). |
| graph | Graphe PCC. |
| proj | Projection précalculée par PCCPanel. |
| logger | Logger. |
| fillBackground | Si 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()
Dessine tous les nœuds du graphe avec la projection fournie.
- Paramètres
-
◆ drawStraightBlock()
Dessine un nœud StraightBlock (trait horizontal avec gap).
- Paramètres
-
| hdc | Contexte de dessin. |
| proj | Projection courante. |
| node | Nœud straight à dessiner. |
◆ drawSwitchBlock()
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
-
| hdc | Contexte de dessin. |
| proj | Projection courante (stub/inactiveGap/halfGap précalculés). |
| sw | Nœ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
-
| logicalX | Position X logique (colonne BFS). |
| logicalY | Position Y logique (rang vertical). |
| proj | Paramètres de projection. |
- Renvoie
- Point écran correspondant.
◆ stateToColor()
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 :