auto: 2026-09-06 20:58 (ESD_LAPTOP)
This commit is contained in:
@@ -445,15 +445,18 @@ export function computeMassHaulSeries(
|
||||
crossSections: MassHaulSection[],
|
||||
conversion: EarthworkConversion,
|
||||
naturalSpoilMinSlope?: number,
|
||||
/** 낼 기준. 총괄값(배지)만 필요하면 `["cross"]` 로 불러 종단 기준 적분을 건너뛴다. */
|
||||
bases: readonly MassHaulBasis[] = SERIES_BASES,
|
||||
): MassHaulSeries[] {
|
||||
const sections = designedSections(crossSections);
|
||||
const sampleSets: Record<MassHaulBasis, AreaSample[]> = {
|
||||
cross: crossAreaSamples(sections, naturalSpoilMinSlope),
|
||||
longitudinal: longitudinalAreaSamples(longitudinal, sections),
|
||||
};
|
||||
const samplesFor = (basis: MassHaulBasis): AreaSample[] =>
|
||||
basis === "cross"
|
||||
? crossAreaSamples(sections, naturalSpoilMinSlope)
|
||||
: longitudinalAreaSamples(longitudinal, sections);
|
||||
const series: MassHaulSeries[] = [];
|
||||
for (const basis of SERIES_BASES) {
|
||||
const result = integrate(sampleSets[basis], conversion);
|
||||
if (!bases.includes(basis)) continue;
|
||||
const result = integrate(samplesFor(basis), conversion);
|
||||
if (result) series.push({ key: basis, basis, result });
|
||||
}
|
||||
return series;
|
||||
|
||||
Reference in New Issue
Block a user