QtCraft API C++ classes QML types Handbook

QcTerrainColumn Struct

Shape and biome of one terrain column, before caves and features. More...

Header: #include <worldgen/terrain/QcTerrainColumn.h>

Public Functions

int ground() const

Public Variables

int biome
double exactHeight
int groundBiome
int height
int landBiome
double landFactor
double overhang
bool riverBank
double riverDistance
double riverHalfWidth
double riverNearDistance
double riverNearHalfWidth
int slope
double temperature

Static Public Members

const int unresolvedGround

Detailed Description

Member Function Documentation

int QcTerrainColumn::ground() const

Returns the biome whose ground blocks the column takes: groundBiome, or biome for -1. Only for a looked-up column (never unresolvedGround).

Member Variable Documentation

int QcTerrainColumn::biome

Index of the column's biome in QcTerrainDefinitions::biomes.

double QcTerrainColumn::exactHeight

The height before rounding, as column() computed it; where something moved the column since (it no longer rounds to height), height counts.

int QcTerrainColumn::groundBiome

The biome whose ground blocks the column takes (decision E-858): near a biome border the one a few jittered blocks away, so the ground mixes; -1 for biome itself, unresolvedGround while not looked up.

int QcTerrainColumn::height

Height of the terrain surface: the top solid block is at height - 1.

int QcTerrainColumn::landBiome

The biome of the climate alone, before a river channel takes its river biome.

double QcTerrainColumn::landFactor

0 = ocean, 1 = land; values in between are coasts.

double QcTerrainColumn::overhang

Overhang amplitude in blocks, blended across biome borders (0: plain column).

bool QcTerrainColumn::riverBank

Dry ground at the water's edge of a river (decision E-840): the river biome's beach in patches. The water of a river channel has the river biome as biome.

double QcTerrainColumn::riverNearDistance

Blocks from the middle line of that river, estimated without the steep growth of riverDistance where the river noise flattens (QcRiverField::Sample::nearDistance); 1e9 where riverDistance is.

double QcTerrainColumn::riverNearHalfWidth

Half the width of that river's water as the freezing ramp reads it (QcRiverField::Sample::nearHalfWidth).

int QcTerrainColumn::slope

Largest height difference to the four neighbouring columns; set where it is needed (generate(), surfaceBlockAt()), else 0.

double QcTerrainColumn::temperature

The climate's temperature at the column in [0, 1]: the top water layer freezes by it.

const int QcTerrainColumn::unresolvedGround

Marks a column near a biome border whose ground biome is not looked up yet (QcTerrainGenerator::withGround() does).