feat(JOML): migrate 2d facets to BlockArea (#32)

Adjust for MovingBlocks/Terasology#4364
develop
Michael Pollind 2021-01-06 13:56:03 -08:00 committed by GitHub
parent 95eddff8a1
commit 50b1ece2d8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 9 additions and 6 deletions

View File

@ -16,6 +16,7 @@
package org.terasology.polyworld.biome;
import org.joml.Vector2ic;
import org.terasology.math.geom.BaseVector2i;
import org.terasology.math.geom.Vector2i;
import org.terasology.polyworld.graph.Graph;
@ -52,7 +53,7 @@ public class WhittakerBiomeProvider implements FacetProvider {
Graph graph = null;
BiomeModel model = null;
for (BaseVector2i pos : facet.getWorldRegion().contents()) {
for (Vector2ic pos : facet.getWorldArea()) {
if (graph == null || !graph.getBounds().contains(pos.x(), pos.y())) {
graph = graphFacet.getWorld(pos.x(), pos.y());
model = biomeModelFacet.get(graph);

View File

@ -17,6 +17,7 @@
package org.terasology.polyworld.elevation;
import com.google.common.base.Stopwatch;
import org.joml.Vector2ic;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.terasology.math.geom.BaseVector2i;
@ -89,7 +90,7 @@ public class ElevationProvider implements FacetProvider {
ElevationModel elevation = null;
for (BaseVector2i p : facet.getWorldRegion().contents()) {
for (Vector2ic p : facet.getWorldArea()) {
if (graph == null || !graph.getBounds().contains(p.x(), p.y())) {
graph = graphFacet.getWorld(p.x(), p.y());
elevation = elevationModelFacet.get(graph);
@ -111,7 +112,7 @@ public class ElevationProvider implements FacetProvider {
}
if (traceLog) {
logger.trace("Created elevation facet for {} in {}ms.", facet.getWorldRegion(), sw.elapsed(TimeUnit.MILLISECONDS));
logger.trace("Created elevation facet for {} in {}ms.", facet.getWorldArea(), sw.elapsed(TimeUnit.MILLISECONDS));
}
region.setRegionFacet(ElevationFacet.class, facet);

View File

@ -86,8 +86,8 @@ public class GraphFacetImpl extends BaseFacet2D implements GraphFacet {
@Override
public Graph get(int x, int z) {
int wx = x - getRelativeRegion().minX() + getWorldRegion().minX();
int wz = z - getRelativeRegion().minY() + getWorldRegion().minY();
int wx = x - getRelativeArea().minX() + getRelativeArea().minX();
int wz = z - getRelativeArea().minY() + getRelativeArea().minY();
return getWorld(wx, wz);
}

View File

@ -27,6 +27,7 @@ import org.terasology.polyworld.graph.Graph;
import org.terasology.polyworld.graph.GraphFacet;
import org.terasology.polyworld.graph.GraphRegion;
import org.terasology.polyworld.graph.Triangle;
import org.terasology.world.block.BlockAreac;
import org.terasology.world.viewer.layers.AbstractFacetLayer;
import org.terasology.world.viewer.layers.FacetLayerConfig;
import org.terasology.world.viewer.layers.Renders;
@ -104,7 +105,7 @@ public class GraphFacetLayer extends AbstractFacetLayer {
}
private void drawTriangleLookup(Graphics2D g, GraphFacet graphFacet) {
Rect2i worldReg = graphFacet.getWorldRegion();
BlockAreac worldReg = graphFacet.getWorldArea();
for (int z = worldReg.minY(); z < worldReg.maxY(); z++) {
for (int x = worldReg.minX(); x < worldReg.maxX(); x++) {
Triangle tri = graphFacet.getWorldTriangle(x, z);