Merge branch 'master' of https://github.com/Azgaar/Fantasy-Map-Generator into burg-groups

This commit is contained in:
Azgaar 2024-12-14 15:16:27 +01:00
commit 34ad8015f7
5 changed files with 20 additions and 13 deletions

View file

@ -254,9 +254,11 @@ window.Resample = (function () {
});
if (points.length < 2) return null;
const firstCell = points[0][2];
const bbox = [0, 0, graphWidth, graphHeight];
const clipped = lineclip(points, bbox)[0].map(([x, y]) => [rn(x, 2), rn(y, 2), findCell(x, y)]);
const firstCell = clipped[0][2];
const feature = pack.cells.f[firstCell];
return {...route, feature, points};
return {...route, feature, points: clipped};
})
.filter(Boolean);

View file

@ -210,16 +210,16 @@ function fitMapToScreen() {
svgHeight = Math.min(+mapHeightInput.value, window.innerHeight);
svg.attr("width", svgWidth).attr("height", svgHeight);
const zoomExtent = [
[0, 0],
[graphWidth, graphHeight]
];
const zoomMin = rn(Math.max(svgWidth / graphWidth, svgHeight / graphHeight), 3);
zoomExtentMin.value = zoomMin;
const zoomMax = +zoomExtentMax.value;
zoom.translateExtent(zoomExtent).scaleExtent([zoomMin, zoomMax]).scaleTo(svg, zoomMin);
zoom
.translateExtent([
[0, 0],
[graphWidth, graphHeight]
])
.scaleExtent([zoomMin, zoomMax]);
fitScaleBar(scaleBar, svgWidth, svgHeight);
if (window.fitLegendBox) fitLegendBox();

View file

@ -49,6 +49,8 @@ function openSubmapTool() {
const projection = (x, y) => [(x - x0) * scale, (y - y0) * scale];
const inverse = (x, y) => [x / scale + x0, y / scale + y0];
applyGraphSize();
fitMapToScreen();
resetZoom(0);
undraw();
Resample.process({projection, inverse, scale});

View file

@ -132,9 +132,12 @@ async function openTransformTool() {
const [projection, inverse] = getProjection();
applyGraphSize();
fitMapToScreen();
resetZoom(0);
undraw();
Resample.process({projection, inverse, scale: 1});
drawLayers();
INFO && console.groupEnd("transformMap");