QtCraft API C++ classes QML types Handbook

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

struct Arm
Road

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).