QcRoadLayer Class
Lays one road of a village (decision E-408, E-419): its runs in eight directions, bending where its street plan says and winding with the terrain, crossing rivers on bridges (decision E-841), cut short at other water, steep steps, pieces and the village's radius, recorded cell by cell in the draft; over water the boardwalk's stairs down to land at its end. More...
| Header: | #include <worldgen/villages/QcRoadLayer.h> |
Public Types
Public Functions
| QList<QcRoadLayer::Road> | layArm(QcVillageDraft &draft, const QcRoadLayer::Arm &arm) const |
| QList<QcRoadLayer::Road> | walkArm(QcVillageDraft &draft, const QcRoadLayer::Arm &arm) const |
Detailed Description
Deterministic and thread-safe (const).
Member Type Documentation
[alias] QcRoadLayer::Road
One straight run of a laid road.
Member Function Documentation
QList<QcRoadLayer::Road> QcRoadLayer::layArm(QcVillageDraft &draft, const QcRoadLayer::Arm &arm) const
Lays arm in draft and returns its runs, recorded with their cells (over water with the stairs at its end, unless closed); empty when nothing past its first slot is left (or a closed arm is cut).
QList<QcRoadLayer::Road> QcRoadLayer::walkArm(QcVillageDraft &draft, const QcRoadLayer::Arm &arm) const
Returns the runs layArm() would lay for arm in draft, without recording them (the winding still draws from the draft's sequence).