source: Revenant/gdmodule/include/core.h@ 8125274

port/mars-tycoon
Last change on this file since 8125274 was 8125274, checked in by Jonathan Neufeld <support@…>, 3 years ago

(WIP) Introduction of GD Native module and Godot-CPP API sub-module

  • Property mode set to 100644
File size: 2.8 KB
RevLine 
[8125274]1#ifndef __GDTERRAINGENCORE_H__
2#define __GDTERRAINGENCORE_H__
3
4#include <synthsession.h>
5#include <gmregistry.h>
6#include <boost/filesystem.hpp>
7
8namespace godot {
9 class TerrainGeneratorCore : private geoworld::ISynthesisSessionListener {
10 private:
11 geoworld::SynthesisSession * sess;
12 geoworld::GeoMorphRegistry * geoMorphRegistry;
13
14 virtual void onRaster( geoworld::GeoWorld * const pWorld );
15 virtual void onRejects( geoworld::GeoWorld * const pWorld, const geoworld::MorphList & rejects );
16 virtual void onInitMorph( geoworld::GeoWorld * const pWorld, const geoworld::GeoMorph * pMorph );
17 virtual void onGenerate( geoworld::GeoWorld * const pWorld );
18 virtual void onDoMorph (geoworld::GeoWorld * const pWorld, mars::ptr< geoworld::GeoMorph > & pGM, const size_t i, const size_t nTotal);
19 virtual void onCreateMiddleTier (geoworld::GeoWorld * const pWorld, const std::string & sFileName);
20 virtual void onGenerateMiddleTier (geoworld::GeoWorld * const pWorld, const geoworld::PagedGeoWorld * const pPgWorld);
21 virtual void onPrepareMorphs( geoworld::GeoWorld * const pWorld, const geoworld::MorphList & morphs);
22 virtual void onPrepareMorphs2( geoworld::PagedGeoWorld * const pPgWorld, const unsigned short nPass, const geoworld::MorphList & morphs);
23 virtual void onInitMorph2( geoworld::PagedGeoWorld * const pPgWorld, const unsigned short nPass, const geoworld::GeoMorph * pMorph );
24 virtual void onDoMorph2( geoworld::PagedGeoWorld * const pPgWorld, const unsigned short nPass, mars::ptr< geoworld::GeoMorph > & pGM, const size_t i, const size_t nTotal );
25 virtual void onRaster2( geoworld::PagedGeoWorld * const pPgWorld, const unsigned short nPass );
26 virtual void onPass2( geoworld::PagedGeoWorld * const pPgWorld, const unsigned short nPass );
27 virtual void onGenerate2( geoworld::PagedGeoWorld * const pPgWorld );
28 virtual void onRejects2( geoworld::PagedGeoWorld * const pPgWorld, const unsigned short nPass, const geoworld::MorphList & rejects );
29 virtual void onGenerateGeoHostLayers (geoworld::GeoWorld * const pWorld, geoworld::DepositSynthesizer * const pDepSynth);
30 virtual void onSpawnMinerals (geoworld::GeoWorld * const pWorld, geoworld::DepositSynthesizer * const pDepSynth);
31 virtual void onSpawnMinerals2 (geoworld::PagedGeoWorld * const pPgWorld, const unsigned short nPass, geoworld::DepositSynthesizer * const pDepSynth);
32
33 public:
34 TerrainGeneratorCore(const boost::filesystem::path path, geoworld::GeoMorphRegistry * geoMorphRegistry);
35
36 void generate(const boost::filesystem::path outputFile, const unsigned short nTileDim, const unsigned long nWorldWidth, const unsigned long nWorldHeight, const unsigned short nWorldDepth);
37
38 ~TerrainGeneratorCore();
39 };
40}
41
42#endif
Note: See TracBrowser for help on using the repository browser.