载入中...
搜索中...
未找到
TerrainSpawnPlanCodec.cpp 文件参考
#include "procgen/heightmap/TerrainSpawnPlan.h"
#include <algorithm>
#include <bit>
#include <cmath>
#include <limits>
#include <type_traits>
#include "common/Value.h"

浏览源代码.

命名空间

namespace  eve
 Build metadata (engine git commit, build time, third-party version).
 
namespace  eve::procgen
 

宏定义

#define STAMP_FIELDS(X)   X(originX) X(originZ) X(spacingX) X(spacingZ) X(centerX) X(centerZ) X(width) X(depth) X(rotation) X(amplitude) X(baseHeight) X(blendStrength) X(operation)
 
#define DETAIL_FIELDS(X)   X(minimumFitness) X(fadeStart) X(density) X(namespaceId)
 
#define TREE_FIELDS(X)   X(originX) X(originZ) X(width) X(depth) X(heightScale) X(spacing) X(spawnDensity) X(jitterPercent) X(failureRate) X(minimumFitness) X(snapToTerrain) X(yOffsetMode) X(seaLevel) X(customOffset) X(minimumYOffset) X(maximumYOffset) X(scaleMode) X(minimumWidth) X(maximumWidth) X(minimumHeight) X(maximumHeight) X(widthRandomPercentage) X(heightRandomPercentage) X(healthyR) X(healthyG) X(healthyB) X(healthyA) X(dryR) X(dryG) X(dryB) X(dryA) X(bendFactor) X(boundsRadius) X(seed) X(namespaceId) X(maxPoints)
 
#define OBJECT_FIELDS(X)   X(originX) X(originZ) X(width) X(depth) X(heightScale) X(spacing) X(spawnDensity) X(jitterPercent) X(startOffsetX) X(startOffsetZ) X(failureRate) X(minimumFitness) X(minimumInstanceFitness) X(minimumDirection) X(maximumDirection) X(boundsRadius) X(boundsCheckQuality) X(prototypeScale) X(boundsCollisionCheck) X(seaLevel) X(seed) X(namespaceId) X(maxPoints)
 
#define PROBE_FIELDS(X)   X(originX) X(originZ) X(width) X(depth) X(heightScale) X(spacing) X(jitterPercent) X(minimumFitness) X(seaLevelActive) X(seaLevel) X(reflectionOffset) X(lightOffset) X(reflectionResolution) X(reflectionClipDistance) X(reflectionShadowDistance) X(seed) X(namespaceId) X(maxPoints)
 
#define INSTANCE_FIELDS(X)   X(minimumInstances) X(maximumInstances) X(failureRate) X(minimumOffsetX) X(maximumOffsetX) X(minimumOffsetY) X(maximumOffsetY) X(minimumOffsetZ) X(maximumOffsetZ) X(yOffsetMode) X(customOffset) X(scaleMode) X(commonScale) X(minimumScale) X(maximumScale) X(minimumScaleX) X(maximumScaleX) X(minimumScaleY) X(maximumScaleY) X(minimumScaleZ) X(maximumScaleZ) X(scaleRandomPercentage) X(scaleRandomPercentageX) X(scaleRandomPercentageY) X(scaleRandomPercentageZ) X(minimumRotationX) X(maximumRotationX) X(minimumRotationY) X(maximumRotationY) X(minimumRotationZ) X(maximumRotationZ) X(yOffsetAlongSlope) X(alignForwardToSlope) X(rotateToSlope)
 
#define WRITE_MEMBER(name)   writer.scalar(value.name);
 
#define READ_MEMBER(name)   if (!reader.scalar(value.name)) return false;
 

宏定义说明

◆ DETAIL_FIELDS

#define DETAIL_FIELDS (   X)    X(minimumFitness) X(fadeStart) X(density) X(namespaceId)

在文件 TerrainSpawnPlanCodec.cpp 第 119 行定义.

◆ INSTANCE_FIELDS

#define INSTANCE_FIELDS (   X)    X(minimumInstances) X(maximumInstances) X(failureRate) X(minimumOffsetX) X(maximumOffsetX) X(minimumOffsetY) X(maximumOffsetY) X(minimumOffsetZ) X(maximumOffsetZ) X(yOffsetMode) X(customOffset) X(scaleMode) X(commonScale) X(minimumScale) X(maximumScale) X(minimumScaleX) X(maximumScaleX) X(minimumScaleY) X(maximumScaleY) X(minimumScaleZ) X(maximumScaleZ) X(scaleRandomPercentage) X(scaleRandomPercentageX) X(scaleRandomPercentageY) X(scaleRandomPercentageZ) X(minimumRotationX) X(maximumRotationX) X(minimumRotationY) X(maximumRotationY) X(minimumRotationZ) X(maximumRotationZ) X(yOffsetAlongSlope) X(alignForwardToSlope) X(rotateToSlope)

在文件 TerrainSpawnPlanCodec.cpp 第 123 行定义.

◆ OBJECT_FIELDS

#define OBJECT_FIELDS (   X)    X(originX) X(originZ) X(width) X(depth) X(heightScale) X(spacing) X(spawnDensity) X(jitterPercent) X(startOffsetX) X(startOffsetZ) X(failureRate) X(minimumFitness) X(minimumInstanceFitness) X(minimumDirection) X(maximumDirection) X(boundsRadius) X(boundsCheckQuality) X(prototypeScale) X(boundsCollisionCheck) X(seaLevel) X(seed) X(namespaceId) X(maxPoints)

在文件 TerrainSpawnPlanCodec.cpp 第 121 行定义.

◆ PROBE_FIELDS

#define PROBE_FIELDS (   X)    X(originX) X(originZ) X(width) X(depth) X(heightScale) X(spacing) X(jitterPercent) X(minimumFitness) X(seaLevelActive) X(seaLevel) X(reflectionOffset) X(lightOffset) X(reflectionResolution) X(reflectionClipDistance) X(reflectionShadowDistance) X(seed) X(namespaceId) X(maxPoints)

在文件 TerrainSpawnPlanCodec.cpp 第 122 行定义.

◆ READ_MEMBER

#define READ_MEMBER (   name)    if (!reader.scalar(value.name)) return false;

在文件 TerrainSpawnPlanCodec.cpp 第 126 行定义.

◆ STAMP_FIELDS

#define STAMP_FIELDS (   X)    X(originX) X(originZ) X(spacingX) X(spacingZ) X(centerX) X(centerZ) X(width) X(depth) X(rotation) X(amplitude) X(baseHeight) X(blendStrength) X(operation)

在文件 TerrainSpawnPlanCodec.cpp 第 118 行定义.

◆ TREE_FIELDS

#define TREE_FIELDS (   X)    X(originX) X(originZ) X(width) X(depth) X(heightScale) X(spacing) X(spawnDensity) X(jitterPercent) X(failureRate) X(minimumFitness) X(snapToTerrain) X(yOffsetMode) X(seaLevel) X(customOffset) X(minimumYOffset) X(maximumYOffset) X(scaleMode) X(minimumWidth) X(maximumWidth) X(minimumHeight) X(maximumHeight) X(widthRandomPercentage) X(heightRandomPercentage) X(healthyR) X(healthyG) X(healthyB) X(healthyA) X(dryR) X(dryG) X(dryB) X(dryA) X(bendFactor) X(boundsRadius) X(seed) X(namespaceId) X(maxPoints)

在文件 TerrainSpawnPlanCodec.cpp 第 120 行定义.

◆ WRITE_MEMBER

#define WRITE_MEMBER (   name)    writer.scalar(value.name);

在文件 TerrainSpawnPlanCodec.cpp 第 125 行定义.

变量说明

◆ bytes

std::string_view bytes

在文件 TerrainSpawnPlanCodec.cpp 第 18 行定义.

被这些函数引用 eve::procgen::TerrainSpawnPlan::restoreJson().

◆ offset

std::size_t offset = 0

在文件 TerrainSpawnPlanCodec.cpp 第 45 行定义.