Package squidpony.squidgrid.mapping
Class WorldMapGenerator.SpaceViewMap
java.lang.Object
squidpony.squidgrid.mapping.WorldMapGenerator
squidpony.squidgrid.mapping.WorldMapGenerator.SpaceViewMap
- All Implemented Interfaces:
Serializable
- Enclosing class:
- WorldMapGenerator
public static class WorldMapGenerator.SpaceViewMap extends WorldMapGenerator
A concrete implementation of
WorldMapGenerator that imitates an infinite-distance perspective view of a
world, showing only one hemisphere, that should be as wide as it is tall (its outline is a circle). This uses an
Orthographic projection with
the latitude always at the equator.
Example map, showing circular shape as if viewed
from afar- See Also:
- Serialized Form
-
Nested Class Summary
Nested classes/interfaces inherited from class squidpony.squidgrid.mapping.WorldMapGenerator
WorldMapGenerator.BiomeMapper, WorldMapGenerator.DetailedBiomeMapper, WorldMapGenerator.EllipticalHammerMap, WorldMapGenerator.EllipticalMap, WorldMapGenerator.HyperellipticalMap, WorldMapGenerator.LocalMap, WorldMapGenerator.LocalMimicMap, WorldMapGenerator.MimicMap, WorldMapGenerator.RotatingSpaceMap, WorldMapGenerator.RoundSideMap, WorldMapGenerator.SimpleBiomeMapper, WorldMapGenerator.SpaceViewMap, WorldMapGenerator.SphereMap, WorldMapGenerator.TilingMap -
Field Summary
Fields Modifier and Type Field Description protected int[]edgesNoise.Noise3Dheatprotected static doubleheatFreqprotected doublemaxHeat0protected doublemaxHeat1protected doublemaxWet0protected doubleminHeat0protected doubleminHeat1protected doubleminWet0Noise.Noise3Dmoistureprotected static doublemoistureFreqprotected static doubleotherFreqNoise.Noise3DotherRidgedNoise.Noise3Dterrainprotected static doubleterrainFreqNoise.Noise3DterrainLayeredprotected static doubleterrainRidgedFreqdouble[][]xPositionsdouble[][]yPositionsdouble[][]zPositionsFields inherited from class squidpony.squidgrid.mapping.WorldMapGenerator
cacheA, cacheB, centerLongitude, coastalWaterLower, coastalWaterUpper, deepWaterLower, deepWaterUpper, DEFAULT_NOISE, forestLower, forestUpper, grassLower, grassUpper, heatData, heatModifier, height, heightCodeData, heightData, landData, landModifier, maxHeat, maxHeight, maxHeightActual, maxWet, mediumWaterLower, mediumWaterUpper, minHeat, minHeight, minHeightActual, minWet, moistureData, rng, rockLower, rockUpper, sandLower, sandUpper, seedA, seedB, shallowWaterLower, shallowWaterUpper, snowLower, snowUpper, startCacheX, startCacheY, startX, startY, usedHeight, usedWidth, width, zoom, zoomStartX, zoomStartY -
Constructor Summary
Constructors Constructor Description SpaceViewMap()Constructs a concrete WorldMapGenerator for a map that can be used to view a spherical world from space, showing only one hemisphere at a time.SpaceViewMap(int mapWidth, int mapHeight)Constructs a concrete WorldMapGenerator for a map that can be used to view a spherical world from space, showing only one hemisphere at a time.SpaceViewMap(long initialSeed, int mapWidth, int mapHeight)Constructs a concrete WorldMapGenerator for a map that can be used to view a spherical world from space, showing only one hemisphere at a time.SpaceViewMap(long initialSeed, int mapWidth, int mapHeight, double octaveMultiplier)Constructs a concrete WorldMapGenerator for a map that can be used to view a spherical world from space, showing only one hemisphere at a time.SpaceViewMap(long initialSeed, int mapWidth, int mapHeight, Noise.Noise3D noiseGenerator)Constructs a concrete WorldMapGenerator for a map that can be used to view a spherical world from space, showing only one hemisphere at a time.SpaceViewMap(long initialSeed, int mapWidth, int mapHeight, Noise.Noise3D noiseGenerator, double octaveMultiplier)Constructs a concrete WorldMapGenerator for a map that can be used to view a spherical world from space, showing only one hemisphere at a time.SpaceViewMap(WorldMapGenerator.SpaceViewMap other)Copies the SpaceViewMapotherto construct a new one that is exactly the same. -
Method Summary
Modifier and Type Method Description protected voidregenerate(int startX, int startY, int usedWidth, int usedHeight, double landMod, double heatMod, int stateA, int stateB)intwrapX(int x, int y)intwrapY(int x, int y)Methods inherited from class squidpony.squidgrid.mapping.WorldMapGenerator
codeHeight, decodeX, decodeY, generate, generate, generate, getCenterLongitude, project, removeExcess, setCenterLongitude, zoomIn, zoomIn, zoomOut, zoomOut
-
Field Details
-
terrainFreq
- See Also:
- Constant Field Values
-
terrainRidgedFreq
- See Also:
- Constant Field Values
-
heatFreq
- See Also:
- Constant Field Values
-
moistureFreq
- See Also:
- Constant Field Values
-
otherFreq
- See Also:
- Constant Field Values
-
minHeat0
-
maxHeat0
-
minHeat1
-
maxHeat1
-
minWet0
-
maxWet0
-
terrain
-
heat
-
moisture
-
otherRidged
-
terrainLayered
-
xPositions
-
yPositions
-
zPositions
-
edges
-
-
Constructor Details
-
SpaceViewMap
public SpaceViewMap()Constructs a concrete WorldMapGenerator for a map that can be used to view a spherical world from space, showing only one hemisphere at a time. Always makes a 100x100 map. Uses FastNoise as its noise generator, with 1.0 as the octave multiplier affecting detail. If you were usingSpaceViewMap(long, int, int, Noise3D, double), then this would be the same as passing the parameters0x1337BABE1337D00DL, 100, 100, DEFAULT_NOISE, 1.0. -
SpaceViewMap
Constructs a concrete WorldMapGenerator for a map that can be used to view a spherical world from space, showing only one hemisphere at a time. Takes only the width/height of the map. The initial seed is set to the same large long every time, and it's likely that you would set the seed when you callWorldMapGenerator.generate(long). The width and height of the map cannot be changed after the fact, but you can zoom in. Uses FastNoise as its noise generator, with 1.0 as the octave multiplier affecting detail.- Parameters:
mapWidth- the width of the map(s) to generate; cannot be changed latermapHeight- the height of the map(s) to generate; cannot be changed later
-
SpaceViewMap
Constructs a concrete WorldMapGenerator for a map that can be used to view a spherical world from space, showing only one hemisphere at a time. Takes an initial seed and the width/height of the map. TheinitialSeedparameter may or may not be used, since you can specify the seed to use when you callWorldMapGenerator.generate(long). The width and height of the map cannot be changed after the fact, but you can zoom in. Uses FastNoise as its noise generator, with 1.0 as the octave multiplier affecting detail.- Parameters:
initialSeed- the seed for the GWTRNG this uses; this may also be set per-call to generatemapWidth- the width of the map(s) to generate; cannot be changed latermapHeight- the height of the map(s) to generate; cannot be changed later
-
SpaceViewMap
Constructs a concrete WorldMapGenerator for a map that can be used to view a spherical world from space, showing only one hemisphere at a time. Takes an initial seed and the width/height of the map. TheinitialSeedparameter may or may not be used, since you can specify the seed to use when you callWorldMapGenerator.generate(long). The width and height of the map cannot be changed after the fact, but you can zoom in. Uses FastNoise as its noise generator, with the given octave multiplier affecting detail.- Parameters:
initialSeed- the seed for the GWTRNG this uses; this may also be set per-call to generatemapWidth- the width of the map(s) to generate; cannot be changed latermapHeight- the height of the map(s) to generate; cannot be changed lateroctaveMultiplier- used to adjust the level of detail, with 0.5 at the bare-minimum detail and 1.0 normal
-
SpaceViewMap
Constructs a concrete WorldMapGenerator for a map that can be used to view a spherical world from space, showing only one hemisphere at a time. Takes an initial seed and the width/height of the map. TheinitialSeedparameter may or may not be used, since you can specify the seed to use when you callWorldMapGenerator.generate(long). The width and height of the map cannot be changed after the fact, but you can zoom in. Uses the given noise generator, with 1.0 as the octave multiplier affecting detail.- Parameters:
initialSeed- the seed for the GWTRNG this uses; this may also be set per-call to generatemapWidth- the width of the map(s) to generate; cannot be changed latermapHeight- the height of the map(s) to generate; cannot be changed laternoiseGenerator- an instance of a noise generator capable of 3D noise, usuallyFastNoise
-
SpaceViewMap
public SpaceViewMap(long initialSeed, int mapWidth, int mapHeight, Noise.Noise3D noiseGenerator, double octaveMultiplier)Constructs a concrete WorldMapGenerator for a map that can be used to view a spherical world from space, showing only one hemisphere at a time. Takes an initial seed, the width/height of the map, and parameters for noise generation (aNoise.Noise3Dimplementation, which is usuallyFastNoise.instance, and a multiplier on how many octaves of noise to use, with 1.0 being normal (high) detail and higher multipliers producing even more detailed noise when zoomed-in). TheinitialSeedparameter may or may not be used, since you can specify the seed to use when you callWorldMapGenerator.generate(long). The width and height of the map cannot be changed after the fact, but you can zoom in. FastNoise will be the fastest 3D generator to use fornoiseGenerator, and the seed it's constructed with doesn't matter because this will change the seed several times at different scales of noise (it's fine to use the staticFastNoise.instancebecause it has no changing state between runs of the program). TheoctaveMultiplierparameter should probably be no lower than 0.5, but can be arbitrarily high if you're willing to spend much more time on generating detail only noticeable at very high zoom; normally 1.0 is fine and may even be too high for maps that don't require zooming.- Parameters:
initialSeed- the seed for the GWTRNG this uses; this may also be set per-call to generatemapWidth- the width of the map(s) to generate; cannot be changed latermapHeight- the height of the map(s) to generate; cannot be changed laternoiseGenerator- an instance of a noise generator capable of 3D noise, usuallyFastNoiseoctaveMultiplier- used to adjust the level of detail, with 0.5 at the bare-minimum detail and 1.0 normal
-
SpaceViewMap
Copies the SpaceViewMapotherto construct a new one that is exactly the same. References will only be shared to Noise classes.- Parameters:
other- a SpaceViewMap to copy
-
-
Method Details
-
wrapX
- Overrides:
wrapXin classWorldMapGenerator
-
wrapY
- Overrides:
wrapYin classWorldMapGenerator
-
regenerate
protected void regenerate(int startX, int startY, int usedWidth, int usedHeight, double landMod, double heatMod, int stateA, int stateB)- Specified by:
regeneratein classWorldMapGenerator
-