Skip to content

Commit

Permalink
Reorganize related classes into the new scene package
Browse files Browse the repository at this point in the history
  • Loading branch information
tordanik committed Feb 18, 2025
1 parent 19ee8d7 commit 3be7059
Show file tree
Hide file tree
Showing 188 changed files with 658 additions and 658 deletions.
4 changes: 2 additions & 2 deletions core/src/main/java/org/osm2world/O2WConverterImpl.java
Original file line number Diff line number Diff line change
Expand Up @@ -48,8 +48,8 @@
import org.osm2world.output.Output;
import org.osm2world.output.common.compression.Compression;
import org.osm2world.output.common.compression.CompressionUtil;
import org.osm2world.output.common.material.Materials;
import org.osm2world.output.common.model.Models;
import org.osm2world.scene.material.Materials;
import org.osm2world.scene.model.Models;
import org.osm2world.scene.Scene;
import org.osm2world.util.FaultTolerantIterationUtil;
import org.osm2world.world.attachment.AttachmentConnector;
Expand Down
4 changes: 2 additions & 2 deletions core/src/main/java/org/osm2world/conversion/O2WConfig.java
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package org.osm2world.conversion;

import static org.osm2world.output.common.mesh.LevelOfDetail.*;
import static org.osm2world.scene.mesh.LevelOfDetail.*;

import java.awt.*;
import java.io.File;
Expand All @@ -24,7 +24,7 @@
import org.osm2world.math.geo.MapProjection;
import org.osm2world.math.geo.MetricMapProjection;
import org.osm2world.math.geo.OrthographicAzimuthalMapProjection;
import org.osm2world.output.common.mesh.LevelOfDetail;
import org.osm2world.scene.mesh.LevelOfDetail;

/**
* a set of configuration options for OSM2World.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
import org.osm2world.math.VectorXYZW;
import org.osm2world.math.VectorXZ;
import org.osm2world.math.shapes.*;
import org.osm2world.util.color.LColor;
import org.osm2world.scene.color.LColor;

/**
* utility class for some useful calculations involving geometric objects and shapes
Expand Down
16 changes: 8 additions & 8 deletions core/src/main/java/org/osm2world/output/CommonTarget.java
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@
import static org.osm2world.math.VectorXYZ.NULL_VECTOR;
import static org.osm2world.math.algorithms.GeometryUtil.trianglesFromTriangleFan;
import static org.osm2world.math.algorithms.GeometryUtil.trianglesFromTriangleStrip;
import static org.osm2world.output.common.texcoord.NamedTexCoordFunction.GLOBAL_X_Y;
import static org.osm2world.output.common.texcoord.TexCoordUtil.texCoordLists;
import static org.osm2world.scene.texcoord.NamedTexCoordFunction.GLOBAL_X_Y;
import static org.osm2world.scene.texcoord.TexCoordUtil.texCoordLists;
import static org.osm2world.world.modules.common.WorldModuleGeometryUtil.transformShape;

import java.util.*;
Expand All @@ -21,12 +21,12 @@
import org.osm2world.math.shapes.TriangleXYZ;
import org.osm2world.math.shapes.TriangleXZ;
import org.osm2world.output.common.ExtrudeOption;
import org.osm2world.output.common.material.Material;
import org.osm2world.output.common.mesh.ExtrusionGeometry;
import org.osm2world.output.common.mesh.Mesh;
import org.osm2world.output.common.mesh.MeshUtil;
import org.osm2world.output.common.mesh.TriangleGeometry;
import org.osm2world.output.common.model.ModelInstance;
import org.osm2world.scene.material.Material;
import org.osm2world.scene.mesh.ExtrusionGeometry;
import org.osm2world.scene.mesh.Mesh;
import org.osm2world.scene.mesh.MeshUtil;
import org.osm2world.scene.mesh.TriangleGeometry;
import org.osm2world.scene.model.ModelInstance;
import org.osm2world.world.data.ProceduralWorldObject;

/**
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package org.osm2world.output;
package org.osm2world.output.common;

import static java.util.Objects.requireNonNullElse;
import static org.osm2world.util.FaultTolerantIterationUtil.DEFAULT_EXCEPTION_HANDLER;
Expand All @@ -8,11 +8,13 @@

import org.osm2world.conversion.O2WConfig;
import org.osm2world.map_elevation.data.GroundState;
import org.osm2world.output.common.MeshStore;
import org.osm2world.output.common.mesh.LevelOfDetail;
import org.osm2world.output.common.mesh.Mesh;
import org.osm2world.output.common.mesh.TriangleGeometry;
import org.osm2world.output.CommonTarget;
import org.osm2world.output.Output;
import org.osm2world.scene.Scene;
import org.osm2world.scene.mesh.LevelOfDetail;
import org.osm2world.scene.mesh.Mesh;
import org.osm2world.scene.mesh.MeshStore;
import org.osm2world.scene.mesh.TriangleGeometry;
import org.osm2world.world.data.WorldObject;

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,11 @@
import java.util.Set;

import org.osm2world.math.shapes.ShapeXZ;
import org.osm2world.output.common.material.Material;
import org.osm2world.scene.material.Material;

/**
* Flags describing available options for
* {@link org.osm2world.output.DrawBasedOutput#drawExtrudedShape(Material, ShapeXZ, List, List, List, List, Set)}.
* {@link DrawBasedOutput#drawExtrudedShape(Material, ShapeXZ, List, List, List, List, Set)}.
*/
public enum ExtrudeOption {

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,7 @@
import org.osm2world.math.VectorXYZ;
import org.osm2world.math.VectorXZ;
import org.osm2world.math.shapes.TriangleXYZ;
import org.osm2world.output.DrawBasedOutput;
import org.osm2world.output.common.material.Material;
import org.osm2world.scene.material.Material;
import org.osm2world.world.data.WorldObject;

import com.google.common.collect.HashMultimap;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,10 @@

import java.util.List;

import org.osm2world.output.DrawBasedOutput;
import org.osm2world.output.Output;
import org.osm2world.output.common.MeshStore.MeshMetadata;
import org.osm2world.output.common.mesh.Mesh;
import org.osm2world.scene.mesh.Mesh;
import org.osm2world.scene.mesh.MeshStore;
import org.osm2world.scene.mesh.MeshStore.MeshMetadata;
import org.osm2world.world.data.WorldObject;

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,8 @@
import org.osm2world.math.VectorXYZ;
import org.osm2world.math.VectorXZ;
import org.osm2world.math.shapes.TriangleXYZ;
import org.osm2world.output.DrawBasedOutput;
import org.osm2world.output.common.material.Material;
import org.osm2world.output.common.material.Material.Interpolation;
import org.osm2world.scene.material.Material;
import org.osm2world.scene.material.Material.Interpolation;

/**
* superclass for output formats that are based on OpenGL primitives.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,9 @@
import javax.annotation.Nullable;

import org.osm2world.conversion.O2WConfig;
import org.osm2world.output.common.material.ImageFileTexture;
import org.osm2world.output.common.material.RasterImageFileTexture;
import org.osm2world.output.common.material.TextureData;
import org.osm2world.scene.material.ImageFileTexture;
import org.osm2world.scene.material.RasterImageFileTexture;
import org.osm2world.scene.material.TextureData;

/** options for how to handle textures and other resources when exporting generated models/scenes as files */
public record ResourceOutputSettings(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,12 +7,12 @@
import static org.osm2world.math.VectorXYZ.NULL_VECTOR;
import static org.osm2world.output.common.ExtrudeOption.END_CAP;
import static org.osm2world.output.common.ExtrudeOption.START_CAP;
import static org.osm2world.output.common.MeshStore.*;
import static org.osm2world.output.common.MeshStore.MergeMeshes.MergeOption.*;
import static org.osm2world.output.common.MeshStore.ReplaceTexturesWithAtlas.generateTextureAtlasGroup;
import static org.osm2world.output.common.material.Materials.*;
import static org.osm2world.output.common.texcoord.NamedTexCoordFunction.GLOBAL_X_Z;
import static org.osm2world.output.common.texcoord.TexCoordUtil.triangleTexCoordLists;
import static org.osm2world.scene.mesh.MeshStore.*;
import static org.osm2world.scene.mesh.MeshStore.MergeMeshes.MergeOption.*;
import static org.osm2world.scene.mesh.MeshStore.ReplaceTexturesWithAtlas.generateTextureAtlasGroup;
import static org.osm2world.scene.material.Materials.*;
import static org.osm2world.scene.texcoord.NamedTexCoordFunction.GLOBAL_X_Z;
import static org.osm2world.scene.texcoord.TexCoordUtil.triangleTexCoordLists;
import static org.osm2world.world.modules.common.WorldModuleParseUtil.parseDirection;

import java.io.*;
Expand All @@ -32,24 +32,24 @@
import org.osm2world.math.VectorXZ;
import org.osm2world.math.shapes.*;
import org.osm2world.output.common.MeshOutput;
import org.osm2world.output.common.MeshStore;
import org.osm2world.output.common.MeshStore.ReplaceTexturesWithAtlas.TextureAtlasGroup;
import org.osm2world.scene.mesh.MeshStore;
import org.osm2world.scene.mesh.MeshStore.ReplaceTexturesWithAtlas.TextureAtlasGroup;
import org.osm2world.output.common.compression.Compression;
import org.osm2world.output.common.compression.CompressionUtil;
import org.osm2world.output.common.material.ImageFileTexture;
import org.osm2world.output.common.material.Material;
import org.osm2world.output.common.material.Material.Shadow;
import org.osm2world.output.common.material.RuntimeTexture;
import org.osm2world.output.common.material.TextureData;
import org.osm2world.output.common.mesh.ExtrusionGeometry;
import org.osm2world.output.common.mesh.LevelOfDetail;
import org.osm2world.output.common.mesh.Mesh;
import org.osm2world.output.common.mesh.TriangleGeometry;
import org.osm2world.output.common.model.ExternalResourceModel;
import org.osm2world.output.common.model.InstanceParameters;
import org.osm2world.output.common.model.Model;
import org.osm2world.output.common.model.ModelInstance;
import org.osm2world.output.common.texcoord.GlobalXZTexCoordFunction;
import org.osm2world.scene.material.ImageFileTexture;
import org.osm2world.scene.material.Material;
import org.osm2world.scene.material.Material.Shadow;
import org.osm2world.scene.material.RuntimeTexture;
import org.osm2world.scene.material.TextureData;
import org.osm2world.scene.mesh.ExtrusionGeometry;
import org.osm2world.scene.mesh.LevelOfDetail;
import org.osm2world.scene.mesh.Mesh;
import org.osm2world.scene.mesh.TriangleGeometry;
import org.osm2world.scene.model.ExternalResourceModel;
import org.osm2world.scene.model.InstanceParameters;
import org.osm2world.scene.model.Model;
import org.osm2world.scene.model.ModelInstance;
import org.osm2world.scene.texcoord.GlobalXZTexCoordFunction;
import org.osm2world.output.frontend_pbf.FrontendPbf.*;
import org.osm2world.output.frontend_pbf.FrontendPbf.Animation.AnimationType;
import org.osm2world.output.frontend_pbf.FrontendPbf.Material.TextureLayer;
Expand All @@ -58,7 +58,7 @@
import org.osm2world.output.frontend_pbf.FrontendPbf.Material.Transparency;
import org.osm2world.output.frontend_pbf.FrontendPbf.Shape.ShapeType;
import org.osm2world.util.FaultTolerantIterationUtil;
import org.osm2world.util.color.LColor;
import org.osm2world.scene.color.LColor;
import org.osm2world.util.exception.InvalidGeometryException;
import org.osm2world.world.data.WorldObject;
import org.osm2world.world.modules.BarrierModule.BollardRow;
Expand Down Expand Up @@ -363,15 +363,15 @@ private FrontendPbf.Material convertMaterial(Material material) {
materialBuilder.setDoubleSided(true);
}

for (org.osm2world.output.common.material.TextureLayer textureLayer : material.getTextureLayers()) {
for (org.osm2world.scene.material.TextureLayer textureLayer : material.getTextureLayers()) {
materialBuilder.addTextureLayer(convertTextureLayer(textureLayer));
}

return materialBuilder.build();

}

private TextureLayer convertTextureLayer(org.osm2world.output.common.material.TextureLayer textureLayer) {
private TextureLayer convertTextureLayer(org.osm2world.scene.material.TextureLayer textureLayer) {

TextureLayer.Builder layerBuilder = TextureLayer.newBuilder();

Expand Down
18 changes: 9 additions & 9 deletions core/src/main/java/org/osm2world/output/gltf/GltfModel.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@

import static java.lang.Boolean.TRUE;
import static java.lang.Math.*;
import static org.osm2world.output.common.material.TextureData.Wrap;
import static org.osm2world.output.common.texcoord.NamedTexCoordFunction.GLOBAL_X_Z;
import static org.osm2world.scene.material.TextureData.Wrap;
import static org.osm2world.scene.texcoord.NamedTexCoordFunction.GLOBAL_X_Z;

import java.awt.*;
import java.io.File;
Expand All @@ -26,14 +26,14 @@
import org.osm2world.math.VectorXYZ;
import org.osm2world.math.VectorXZ;
import org.osm2world.math.shapes.TriangleXYZ;
import org.osm2world.output.common.material.*;
import org.osm2world.output.common.mesh.LODRange;
import org.osm2world.output.common.mesh.Mesh;
import org.osm2world.output.common.mesh.TriangleGeometry;
import org.osm2world.output.common.model.InstanceParameters;
import org.osm2world.output.common.model.Model;
import org.osm2world.output.gltf.data.*;
import org.osm2world.util.color.LColor;
import org.osm2world.scene.color.LColor;
import org.osm2world.scene.material.*;
import org.osm2world.scene.mesh.LODRange;
import org.osm2world.scene.mesh.Mesh;
import org.osm2world.scene.mesh.TriangleGeometry;
import org.osm2world.scene.model.InstanceParameters;
import org.osm2world.scene.model.Model;
import org.osm2world.util.exception.InvalidGeometryException;

import com.google.gson.Gson;
Expand Down
26 changes: 13 additions & 13 deletions core/src/main/java/org/osm2world/output/gltf/GltfOutput.java
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,13 @@
import static java.util.Objects.requireNonNullElse;
import static java.util.stream.Collectors.toList;
import static org.osm2world.math.algorithms.NormalCalculationUtil.calculateTriangleNormals;
import static org.osm2world.output.common.MeshStore.*;
import static org.osm2world.scene.mesh.MeshStore.*;
import static org.osm2world.output.common.ResourceOutputSettings.ResourceOutputMode.EMBED;
import static org.osm2world.output.common.ResourceOutputSettings.ResourceOutputMode.REFERENCE;
import static org.osm2world.output.common.compression.Compression.*;
import static org.osm2world.output.common.compression.CompressionUtil.writeFileWithCompression;
import static org.osm2world.output.common.material.Material.Interpolation.SMOOTH;
import static org.osm2world.output.common.texcoord.TexCoordUtil.mirroredVertically;
import static org.osm2world.scene.material.Material.Interpolation.SMOOTH;
import static org.osm2world.scene.texcoord.TexCoordUtil.mirroredVertically;
import static org.osm2world.output.gltf.GltfOutput.GltfFlavor.GLB;
import static org.osm2world.output.gltf.GltfOutput.GltfFlavor.GLTF;

Expand All @@ -32,25 +32,25 @@
import org.osm2world.math.shapes.SimpleClosedShapeXZ;
import org.osm2world.math.shapes.TriangleXYZ;
import org.osm2world.output.common.AbstractOutput;
import org.osm2world.output.common.MeshStore;
import org.osm2world.output.common.MeshStore.MergeMeshes.MergeOption;
import org.osm2world.scene.mesh.MeshStore;
import org.osm2world.scene.mesh.MeshStore.MergeMeshes.MergeOption;
import org.osm2world.output.common.ResourceOutputSettings;
import org.osm2world.output.common.compression.Compression;
import org.osm2world.output.common.material.Material;
import org.osm2world.output.common.material.Materials;
import org.osm2world.output.common.material.TextureData;
import org.osm2world.output.common.material.TextureLayer;
import org.osm2world.output.common.mesh.LevelOfDetail;
import org.osm2world.output.common.mesh.Mesh;
import org.osm2world.output.common.mesh.TriangleGeometry;
import org.osm2world.scene.material.Material;
import org.osm2world.scene.material.Materials;
import org.osm2world.scene.material.TextureData;
import org.osm2world.scene.material.TextureLayer;
import org.osm2world.scene.mesh.LevelOfDetail;
import org.osm2world.scene.mesh.Mesh;
import org.osm2world.scene.mesh.TriangleGeometry;
import org.osm2world.output.gltf.data.*;
import org.osm2world.output.gltf.data.GltfMaterial.NormalTextureInfo;
import org.osm2world.output.gltf.data.GltfMaterial.OcclusionTextureInfo;
import org.osm2world.output.gltf.data.GltfMaterial.PbrMetallicRoughness;
import org.osm2world.output.gltf.data.GltfMaterial.TextureInfo;
import org.osm2world.scene.Scene;
import org.osm2world.util.FaultTolerantIterationUtil;
import org.osm2world.util.color.LColor;
import org.osm2world.scene.color.LColor;

import com.google.common.collect.Multimap;
import com.google.gson.GsonBuilder;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
import org.osm2world.math.VectorXZ;
import org.osm2world.math.geo.MapProjection;
import org.osm2world.output.common.FaceOutput;
import org.osm2world.output.common.material.Material;
import org.osm2world.scene.material.Material;
import org.osm2world.world.data.WorldObject;

/**
Expand Down
14 changes: 7 additions & 7 deletions core/src/main/java/org/osm2world/output/obj/ObjOutput.java
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
import static java.awt.Color.WHITE;
import static java.lang.Math.max;
import static java.util.Collections.nCopies;
import static org.osm2world.output.common.material.Material.multiplyColor;
import static org.osm2world.scene.material.Material.multiplyColor;

import java.awt.*;
import java.io.File;
Expand All @@ -24,12 +24,12 @@
import org.osm2world.math.shapes.TriangleXYZ;
import org.osm2world.output.common.FaceOutput;
import org.osm2world.output.common.ResourceOutputSettings;
import org.osm2world.output.common.material.Material;
import org.osm2world.output.common.material.Material.Transparency;
import org.osm2world.output.common.material.Materials;
import org.osm2world.output.common.material.TextureData;
import org.osm2world.output.common.material.TextureData.Wrap;
import org.osm2world.output.common.material.TextureLayer;
import org.osm2world.scene.material.Material;
import org.osm2world.scene.material.Material.Transparency;
import org.osm2world.scene.material.Materials;
import org.osm2world.scene.material.TextureData;
import org.osm2world.scene.material.TextureData.Wrap;
import org.osm2world.scene.material.TextureLayer;
import org.osm2world.world.data.WorldObject;

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,13 +17,13 @@
import org.osm2world.math.VectorXYZ;
import org.osm2world.math.VectorXZ;
import org.osm2world.math.shapes.TriangleXYZ;
import org.osm2world.output.DrawBasedOutput;
import org.osm2world.output.common.AbstractOutput;
import org.osm2world.output.common.DrawBasedOutput;
import org.osm2world.output.common.lighting.GlobalLightingParameters;
import org.osm2world.output.common.material.*;
import org.osm2world.output.common.rendering.Camera;
import org.osm2world.output.common.rendering.OrthographicProjection;
import org.osm2world.output.common.rendering.Projection;
import org.osm2world.scene.material.*;

/**
* Writes models to files for the POVRay ray tracer.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,8 @@
import org.osm2world.math.VectorXZ;
import org.osm2world.output.common.Primitive.Type;
import org.osm2world.output.common.PrimitiveOutput;
import org.osm2world.output.common.material.Material;
import org.osm2world.output.common.mesh.LevelOfDetail;
import org.osm2world.scene.material.Material;
import org.osm2world.scene.mesh.LevelOfDetail;
import org.osm2world.world.data.WorldObject;

/**
Expand Down
Loading

0 comments on commit 3be7059

Please sign in to comment.