载入中...
搜索中...
未找到
CaveKnickpoint.cpp
浏览该文件的文档.
9CaveHydrologyVec3 subtract(CaveHydrologyVec3 a, CaveHydrologyVec3 b) { return {a.x - b.x, a.y - b.y, a.z - b.z}; }
11CaveHydrologyVec3 add(CaveHydrologyVec3 a, CaveHydrologyVec3 b) { return {a.x + b.x, a.y + b.y, a.z + b.z}; }
38std::vector<CaveKnickpointSite> createCaveKnickpointSites(const std::vector<CaveHydrologyPoint>& trunk,
60 const float poolScale = radius * (0.9f + std::min(drop / std::max(radius, 1e-6f), 1.2f) * 0.35f);
65 sites.push_back({trunk[i].position, poolCenter, headwallCenter, tangent, lateral, poolScale * 1.65f,
85 const float floorBias = 1.f - smoothstep(-0.12f, 0.68f, vertical / std::max(site.depthRadius, 1e-6f));
93 std::sqrt((headAlong * headAlong) / std::max(site.alongRadius * site.alongRadius * 0.22f, 1e-6f) +
97 const float lowerFace = 1.f - smoothstep(0.05f, 0.75f, headVertical / std::max(site.depthRadius, 1e-6f));
100 if (erosion > result.erosion) result = {erosion, verticalDrilling, headwallUndercut, site.slopeBreak, int(i)};
Definition EvpackPointGraphLoader.h:12
CaveKnickpointSample sampleCaveKnickpointErosion(CaveHydrologyVec3 point, const std::vector< CaveKnickpointSite > &sites)
Sample plunge-pool drilling and lower-headwall erosion around derived knickpoints.
Definition CaveKnickpoint.cpp:71
std::vector< CaveKnickpointSite > createCaveKnickpointSites(const std::vector< CaveHydrologyPoint > &trunk, const std::vector< float > &hydraulicWeights, float sedimentLoad)
Derive knickpoints from steepening downstream segments of the authoritative trunk path.
Definition CaveKnickpoint.cpp:38
Local vertical drilling and headwall-undercut response at a cave-stream knickpoint.
Definition CaveKnickpoint.h:27
One slope-break-driven cave-stream knickpoint and downstream plunge pool.
Definition CaveKnickpoint.h:12
float erosionPotential
Definition CaveKnickpoint.h:23
CaveHydrologyVec3 headwallCenter
Definition CaveKnickpoint.h:15
CaveHydrologyVec3 poolCenter
Definition CaveKnickpoint.h:14