Cuberite
A lightweight, fast and extensible game server for Minecraft
Public Types | Public Member Functions | Protected Attributes | Private Types | Static Private Attributes | List of all members
cIntGenRiver< SizeX, SizeZ > Class Template Reference

Generates a river based on the underlying data. More...

#include <IntGen.h>

Inheritance diagram for cIntGenRiver< SizeX, SizeZ >:
Inheritance graph
[legend]
Collaboration diagram for cIntGenRiver< SizeX, SizeZ >:
Collaboration graph
[legend]

Public Types

using Underlying = std::shared_ptr< cIntGen< UnderlyingSizeX, UnderlyingSizeZ > >
 
- 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

 cIntGenRiver (int a_Seed, Underlying a_Underlying)
 
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_Underlying
 
- Protected Attributes inherited from cIntGenWithNoise< SizeX, SizeX >
cNoise m_Noise
 

Private Types

using Super = cIntGenWithNoise< SizeX, SizeZ >
 

Static Private Attributes

static const int UnderlyingSizeX = SizeX + 2
 
static const int UnderlyingSizeZ = SizeZ + 2
 

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...
 

Detailed Description

template<int SizeX, int SizeZ = SizeX>
class cIntGenRiver< SizeX, SizeZ >

Generates a river based on the underlying data.

This is basically an edge detector over the underlying data. The rivers are the edges where the underlying data changes from one pixel to its neighbor.

Definition at line 930 of file IntGen.h.

Member Typedef Documentation

◆ Super

template<int SizeX, int SizeZ = SizeX>
using cIntGenRiver< SizeX, SizeZ >::Super = cIntGenWithNoise<SizeX, SizeZ>
private

Definition at line 933 of file IntGen.h.

◆ Underlying

template<int SizeX, int SizeZ = SizeX>
using cIntGenRiver< SizeX, SizeZ >::Underlying = std::shared_ptr<cIntGen<UnderlyingSizeX, UnderlyingSizeZ> >

Definition at line 940 of file IntGen.h.

Constructor & Destructor Documentation

◆ cIntGenRiver()

template<int SizeX, int SizeZ = SizeX>
cIntGenRiver< SizeX, SizeZ >::cIntGenRiver ( int  a_Seed,
Underlying  a_Underlying 
)
inline

Definition at line 943 of file IntGen.h.

Member Function Documentation

◆ GetInts()

template<int SizeX, int SizeZ = SizeX>
virtual void cIntGenRiver< SizeX, SizeZ >::GetInts ( int  a_MinX,
int  a_MinZ,
typename Super::Values a_Values 
)
inlineoverridevirtual

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

Implements cIntGen< SizeX, SizeZ >.

Definition at line 950 of file IntGen.h.

Member Data Documentation

◆ m_Underlying

template<int SizeX, int SizeZ = SizeX>
Underlying cIntGenRiver< SizeX, SizeZ >::m_Underlying
protected

Definition at line 981 of file IntGen.h.

◆ UnderlyingSizeX

template<int SizeX, int SizeZ = SizeX>
const int cIntGenRiver< SizeX, SizeZ >::UnderlyingSizeX = SizeX + 2
staticprivate

Definition at line 935 of file IntGen.h.

◆ UnderlyingSizeZ

template<int SizeX, int SizeZ = SizeX>
const int cIntGenRiver< SizeX, SizeZ >::UnderlyingSizeZ = SizeZ + 2
staticprivate

Definition at line 936 of file IntGen.h.


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