Cuberite
A lightweight, fast and extensible game server for Minecraft
|
Zooms the underlying value array to twice the size. More...
#include <IntGen.h>
Public Types | |
using | Underlying = std::shared_ptr< cIntGen< m_LowerSizeX, m_LowerSizeZ > > |
Public Types inherited from cIntGen< SizeX, SizeZ > | |
using | IntGenType = cIntGen< SizeX, SizeZ > |
using | Values = int[SizeX *SizeZ] |
Holds the array of values generated by this class (descendant). More... | |
Public Member Functions | |
cIntGenZoom (int a_Seed, Underlying a_UnderlyingGen) | |
virtual void | GetInts (int a_MinX, int a_MinZ, typename Super::Values &a_Values) override |
Generates the array of templated size into a_Values, based on given min coords. More... | |
Public Member Functions inherited from cIntGenWithNoise< SizeX, SizeX > | |
cIntGenWithNoise (int a_Seed) | |
Public Member Functions inherited from cIntGen< SizeX, SizeZ > | |
virtual | ~cIntGen () |
Force a virtual destructor in all descendants. More... | |
Protected Attributes | |
Underlying | m_UnderlyingGen |
Protected Attributes inherited from cIntGenWithNoise< SizeX, SizeX > | |
cNoise | m_Noise |
Static Protected Attributes | |
static const int | m_LowerSizeX = (SizeX / 2) + 2 |
static const int | m_LowerSizeZ = (SizeZ / 2) + 2 |
Private Types | |
using | Super = cIntGenWithNoise< SizeX, SizeZ > |
Additional Inherited Members | |
Protected Member Functions inherited from cIntGenWithNoise< SizeX, SizeX > | |
int | ChooseRandomOne (int a_RndX, int a_RndZ, int a_Val1, int a_Val2) |
Chooses one of a_Val1 or a_Val2, based on m_Noise and the coordinates for querying the noise. More... | |
int | ChooseRandomOne (int a_RndX, int a_RndZ, int a_Val1, int a_Val2, int a_Val3, int a_Val4) |
Chooses one of a_ValN, based on m_Noise and the coordinates for querying the noise. More... | |
Zooms the underlying value array to twice the size.
Uses random-neighbor for the pixels in-between. This means that the zoome out image is randomly distorted. Applying zoom several times provides all the distortion that the generators need.
|
private |
using cIntGenZoom< SizeX, SizeZ >::Underlying = std::shared_ptr<cIntGen<m_LowerSizeX, m_LowerSizeZ> > |
|
inline |
|
inlineoverridevirtual |
Generates the array of templated size into a_Values, based on given min coords.
Implements cIntGen< SizeX, SizeZ >.
|
staticprotected |
|
staticprotected |
|
protected |