Cuberite
A lightweight, fast and extensible game server for Minecraft
Public Member Functions | Protected Attributes | Private Types | List of all members
cProtIntGenZoom Class Reference

Zooms the underlying value array to twice the size. More...

#include <ProtIntGen.h>

Inheritance diagram for cProtIntGenZoom:
Inheritance graph
[legend]
Collaboration diagram for cProtIntGenZoom:
Collaboration graph
[legend]

Public Member Functions

 cProtIntGenZoom (int a_Seed, Underlying a_UnderlyingGen)
 
virtual void GetInts (int a_MinX, int a_MinZ, size_t a_SizeX, size_t a_SizeZ, int *a_Values) override
 Generates the array of specified size into a_Values, based on given min coords. More...
 
- Public Member Functions inherited from cProtIntGenWithNoise
 cProtIntGenWithNoise (int a_Seed)
 
- Public Member Functions inherited from cProtIntGen
virtual ~cProtIntGen ()
 Force a virtual destructor in all descendants. More...
 

Protected Attributes

Underlying m_UnderlyingGen
 
- Protected Attributes inherited from cProtIntGenWithNoise
cNoise m_Noise
 

Private Types

using Super = cProtIntGenWithNoise
 

Additional Inherited Members

- Public Types inherited from cProtIntGen
using Underlying = std::shared_ptr< cProtIntGen >
 Type of the generic interface used for storing links to the underlying generators. More...
 
- Protected Member Functions inherited from cProtIntGenWithNoise
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...
 
- Static Protected Attributes inherited from cProtIntGen
static const int m_BufferSize = PROT_INT_BUFFER_SIZE
 Maximum size of the generated area. More...
 

Detailed Description

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.

Definition at line 192 of file ProtIntGen.h.

Member Typedef Documentation

◆ Super

Definition at line 195 of file ProtIntGen.h.

Constructor & Destructor Documentation

◆ cProtIntGenZoom()

cProtIntGenZoom::cProtIntGenZoom ( int  a_Seed,
Underlying  a_UnderlyingGen 
)
inline

Definition at line 199 of file ProtIntGen.h.

Member Function Documentation

◆ GetInts()

virtual void cProtIntGenZoom::GetInts ( int  a_MinX,
int  a_MinZ,
size_t  a_SizeX,
size_t  a_SizeZ,
int *  a_Values 
)
inlineoverridevirtual

Generates the array of specified size into a_Values, based on given min coords.

Implements cProtIntGen.

Definition at line 206 of file ProtIntGen.h.

Member Data Documentation

◆ m_UnderlyingGen

Underlying cProtIntGenZoom::m_UnderlyingGen
protected

Definition at line 254 of file ProtIntGen.h.


The documentation for this class was generated from the following file: