Minetest  5.4.0
MapgenFractal Class Reference

#include <mapgen_fractal.h>

+ Inheritance diagram for MapgenFractal:
+ Collaboration diagram for MapgenFractal:

Public Member Functions

 MapgenFractal (MapgenFractalParams *params, EmergeParams *emerge)
 
 ~MapgenFractal ()
 
virtual MapgenType getType () const
 
virtual void makeChunk (BlockMakeData *data)
 
int getSpawnLevelAtPoint (v2s16 p)
 
bool getFractalAtPoint (s16 x, s16 y, s16 z)
 
s16 generateTerrain ()
 
- Public Member Functions inherited from MapgenBasic
 MapgenBasic (int mapgenid, MapgenParams *params, EmergeParams *emerge)
 
virtual ~MapgenBasic ()
 
virtual void generateBiomes ()
 
virtual void dustTopNodes ()
 
virtual void generateCavesNoiseIntersection (s16 max_stone_y)
 
virtual void generateCavesRandomWalk (s16 max_stone_y, s16 large_cave_ymax)
 
virtual bool generateCavernsNoise (s16 max_stone_y)
 
virtual void generateDungeons (s16 max_stone_y)
 
- Public Member Functions inherited from Mapgen
 Mapgen ()=default
 
 Mapgen (int mapgenid, MapgenParams *params, EmergeParams *emerge)
 
virtual ~Mapgen ()=default
 
 DISABLE_CLASS_COPY (Mapgen)
 
s16 findGroundLevel (v2s16 p2d, s16 ymin, s16 ymax)
 
s16 findLiquidSurface (v2s16 p2d, s16 ymin, s16 ymax)
 
void updateHeightmap (v3s16 nmin, v3s16 nmax)
 
void getSurfaces (v2s16 p2d, s16 ymin, s16 ymax, std::vector< s16 > &floors, std::vector< s16 > &ceilings)
 
void updateLiquid (UniqueQueue< v3s16 > *trans_liquid, v3s16 nmin, v3s16 nmax)
 
void setLighting (u8 light, v3s16 nmin, v3s16 nmax)
 
void lightSpread (VoxelArea &a, std::queue< std::pair< v3s16, u8 >> &queue, const v3s16 &p, u8 light)
 
void calcLighting (v3s16 nmin, v3s16 nmax, v3s16 full_nmin, v3s16 full_nmax, bool propagate_shadow=true)
 
void propagateSunlight (v3s16 nmin, v3s16 nmax, bool propagate_shadow)
 
void spreadLight (const v3s16 &nmin, const v3s16 &nmax)
 
virtual int getGroundLevelAtPoint (v2s16 p)
 

Private Attributes

u16 formula
 
bool julia
 
u16 fractal
 
u16 iterations
 
v3f scale
 
v3f offset
 
float slice_w
 
float julia_x
 
float julia_y
 
float julia_z
 
float julia_w
 
Noisenoise_seabed = nullptr
 

Additional Inherited Members

- Static Public Member Functions inherited from Mapgen
static u32 getBlockSeed (v3s16 p, s32 seed)
 
static u32 getBlockSeed2 (v3s16 p, s32 seed)
 
static MapgenType getMapgenType (const std::string &mgname)
 
static const char * getMapgenName (MapgenType mgtype)
 
static MapgencreateMapgen (MapgenType mgtype, MapgenParams *params, EmergeParams *emerge)
 
static MapgenParamscreateMapgenParams (MapgenType mgtype)
 
static void getMapgenNames (std::vector< const char * > *mgnames, bool include_hidden)
 
static void setDefaultSettings (Settings *settings)
 
- Public Attributes inherited from Mapgen
s32 seed = 0
 
int water_level = 0
 
int mapgen_limit = 0
 
u32 flags = 0
 
bool generating = false
 
int id = -1
 
MMVManipvm = nullptr
 
const NodeDefManagerndef = nullptr
 
u32 blockseed
 
s16 * heightmap = nullptr
 
biome_tbiomemap = nullptr
 
v3s16 csize
 
BiomeGenbiomegen = nullptr
 
GenerateNotifier gennotify
 
- Protected Attributes inherited from MapgenBasic
EmergeParamsm_emerge
 
BiomeManagerm_bmgr
 
Noisenoise_filler_depth
 
v3s16 node_min
 
v3s16 node_max
 
v3s16 full_node_min
 
v3s16 full_node_max
 
content_t c_stone
 
content_t c_water_source
 
content_t c_river_water_source
 
content_t c_lava_source
 
content_t c_cobble
 
int ystride
 
int zstride
 
int zstride_1d
 
int zstride_1u1d
 
u32 spflags
 
NoiseParams np_cave1
 
NoiseParams np_cave2
 
NoiseParams np_cavern
 
NoiseParams np_dungeons
 
float cave_width
 
float cavern_limit
 
float cavern_taper
 
float cavern_threshold
 
int small_cave_num_min
 
int small_cave_num_max
 
int large_cave_num_min
 
int large_cave_num_max
 
float large_cave_flooded
 
s16 large_cave_depth
 
s16 dungeon_ymin
 
s16 dungeon_ymax
 

Constructor & Destructor Documentation

◆ MapgenFractal()

◆ ~MapgenFractal()

MapgenFractal::~MapgenFractal ( )

Member Function Documentation

◆ generateTerrain()

s16 MapgenFractal::generateTerrain ( )

References MapgenBasic::c_stone, MapgenBasic::c_water_source, CONTENT_AIR, CONTENT_IGNORE, MapNode::getContent(), getFractalAtPoint(), VoxelArea::index(), VoxelManipulator::m_area, VoxelManipulator::m_data, MAX_MAP_GENERATION_LIMIT, MGFRACTAL_TERRAIN, MapgenBasic::node_max, MapgenBasic::node_min, noise_seabed, Noise::perlinMap2D(), Noise::result, MapgenBasic::spflags, Mapgen::vm, Mapgen::water_level, and MapgenBasic::ystride.

Referenced by makeChunk().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getFractalAtPoint()

bool MapgenFractal::getFractalAtPoint ( s16  x,
s16  y,
s16  z 
)

References formula, iterations, julia, julia_w, julia_x, julia_y, julia_z, offset, scale, and slice_w.

Referenced by generateTerrain(), and getSpawnLevelAtPoint().

+ Here is the caller graph for this function:

◆ getSpawnLevelAtPoint()

int MapgenFractal::getSpawnLevelAtPoint ( v2s16  p)
virtual

Reimplemented from Mapgen.

References getFractalAtPoint(), MAX_MAP_GENERATION_LIMIT, MYMAX, noise_seabed, NoisePerlin2D(), Noise::np, p(), Mapgen::seed, and Mapgen::water_level.

+ Here is the call graph for this function:

◆ getType()

virtual MapgenType MapgenFractal::getType ( ) const
inlinevirtual

Reimplemented from Mapgen.

References MAPGEN_FRACTAL.

◆ makeChunk()

Member Data Documentation

◆ formula

u16 MapgenFractal::formula
private

Referenced by MapgenFractal(), and getFractalAtPoint().

◆ fractal

u16 MapgenFractal::fractal
private

Referenced by MapgenFractal().

◆ iterations

u16 MapgenFractal::iterations
private

Referenced by MapgenFractal(), and getFractalAtPoint().

◆ julia

bool MapgenFractal::julia
private

Referenced by MapgenFractal(), and getFractalAtPoint().

◆ julia_w

float MapgenFractal::julia_w
private

Referenced by MapgenFractal(), and getFractalAtPoint().

◆ julia_x

float MapgenFractal::julia_x
private

Referenced by MapgenFractal(), and getFractalAtPoint().

◆ julia_y

float MapgenFractal::julia_y
private

Referenced by MapgenFractal(), and getFractalAtPoint().

◆ julia_z

float MapgenFractal::julia_z
private

Referenced by MapgenFractal(), and getFractalAtPoint().

◆ noise_seabed

Noise* MapgenFractal::noise_seabed = nullptr
private

◆ offset

v3f MapgenFractal::offset
private

Referenced by MapgenFractal(), and getFractalAtPoint().

◆ scale

v3f MapgenFractal::scale
private

Referenced by MapgenFractal(), and getFractalAtPoint().

◆ slice_w

float MapgenFractal::slice_w
private

Referenced by MapgenFractal(), and getFractalAtPoint().


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