mirror of
https://github.com/Azgaar/Fantasy-Map-Generator.git
synced 2025-12-17 17:51:24 +01:00
Merge branch 'master' of https://github.com/Azgaar/Fantasy-Map-Generator into burg-groups
This commit is contained in:
commit
34ad8015f7
5 changed files with 20 additions and 13 deletions
|
|
@ -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);
|
||||
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
|
|
|
|||
|
|
@ -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});
|
||||
|
|
|
|||
|
|
@ -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");
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue