// This file is automatically generated.
#include "cssysdef.h"
#include "csutil/scf.h"

// Put static linking stuff into own section.
// The idea is that this allows the section to be swapped out but not
// swapped in again b/c something else in it was needed.
#if !defined(CS_DEBUG) && defined(CS_COMPILER_MSVC)
#pragma const_seg(".CSmetai")
#pragma comment(linker, "/section:.CSmetai,r")
#pragma code_seg(".CSmeta")
#pragma comment(linker, "/section:.CSmeta,er")
#pragma comment(linker, "/merge:.CSmetai=.CSmeta")
#endif

namespace csStaticPluginInit
{
static char const metainfo_terrain2[] =
"<?xml version=\"1.0\"?>"
"<!-- terrain2.csplugin -->"
"<plugin>"
"  <scf>"
"    <classes>"
"      <class>"
"        <name>crystalspace.mesh.object.terrain2.bruteblockrenderer</name>"
"        <implementation>csTerrainBruteBlockRenderer</implementation>"
"        <description>Bruteblock terrain renderer</description>"
"      </class>"
"      <class>"
"        <name>crystalspace.mesh.object.terrain2.terraformerdatafeeder</name>"
"        <implementation>csTerrainTerraFormerDataFeeder</implementation>"
"        <description>Terraformer-based data feeder</description>"
"      </class>"
"      <class>"
"        <name>crystalspace.mesh.object.terrain2.threadeddatafeeder</name>"
"        <implementation>csTerrainThreadedDataFeeder</implementation>"
"        <description>Terrain multithreaded data feeder</description>"
"      </class>"
"      <class>"
"        <name>crystalspace.mesh.object.terrain2.simpledatafeeder</name>"
"        <implementation>csTerrainSimpleDataFeeder</implementation>"
"        <description>Terrain simple data feeder</description>"
"      </class>"
"      <class>"
"        <name>crystalspace.mesh.object.terrain2.modifiabledatafeeder</name>"
"        <implementation>csTerrainModifiableDataFeeder</implementation>"
"        <description>Terrain modifiable data feeder</description>"
"      </class>"
"      <class>"
"        <name>crystalspace.mesh.object.terrain2</name>"
"        <implementation>csTerrainMeshObjectType</implementation>"
"        <description>Terrain mesh type</description>"
"      </class>"
"    </classes>"
"  </scf>"
"</plugin>"
;
  #ifndef csTerrainBruteBlockRenderer_FACTORY_REGISTER_DEFINED 
  #define csTerrainBruteBlockRenderer_FACTORY_REGISTER_DEFINED 
    SCF_DEFINE_FACTORY_FUNC_REGISTRATION(csTerrainBruteBlockRenderer) 
  #endif
  #ifndef csTerrainTerraFormerDataFeeder_FACTORY_REGISTER_DEFINED 
  #define csTerrainTerraFormerDataFeeder_FACTORY_REGISTER_DEFINED 
    SCF_DEFINE_FACTORY_FUNC_REGISTRATION(csTerrainTerraFormerDataFeeder) 
  #endif
  #ifndef csTerrainThreadedDataFeeder_FACTORY_REGISTER_DEFINED 
  #define csTerrainThreadedDataFeeder_FACTORY_REGISTER_DEFINED 
    SCF_DEFINE_FACTORY_FUNC_REGISTRATION(csTerrainThreadedDataFeeder) 
  #endif
  #ifndef csTerrainSimpleDataFeeder_FACTORY_REGISTER_DEFINED 
  #define csTerrainSimpleDataFeeder_FACTORY_REGISTER_DEFINED 
    SCF_DEFINE_FACTORY_FUNC_REGISTRATION(csTerrainSimpleDataFeeder) 
  #endif
  #ifndef csTerrainModifiableDataFeeder_FACTORY_REGISTER_DEFINED 
  #define csTerrainModifiableDataFeeder_FACTORY_REGISTER_DEFINED 
    SCF_DEFINE_FACTORY_FUNC_REGISTRATION(csTerrainModifiableDataFeeder) 
  #endif
  #ifndef csTerrainMeshObjectType_FACTORY_REGISTER_DEFINED 
  #define csTerrainMeshObjectType_FACTORY_REGISTER_DEFINED 
    SCF_DEFINE_FACTORY_FUNC_REGISTRATION(csTerrainMeshObjectType) 
  #endif

class terrain2
{
SCF_REGISTER_STATIC_LIBRARY(terrain2,metainfo_terrain2)
  #ifndef csTerrainBruteBlockRenderer_FACTORY_REGISTERED 
  #define csTerrainBruteBlockRenderer_FACTORY_REGISTERED 
    csTerrainBruteBlockRenderer_StaticInit csTerrainBruteBlockRenderer_static_init__; 
  #endif
  #ifndef csTerrainTerraFormerDataFeeder_FACTORY_REGISTERED 
  #define csTerrainTerraFormerDataFeeder_FACTORY_REGISTERED 
    csTerrainTerraFormerDataFeeder_StaticInit csTerrainTerraFormerDataFeeder_static_init__; 
  #endif
  #ifndef csTerrainThreadedDataFeeder_FACTORY_REGISTERED 
  #define csTerrainThreadedDataFeeder_FACTORY_REGISTERED 
    csTerrainThreadedDataFeeder_StaticInit csTerrainThreadedDataFeeder_static_init__; 
  #endif
  #ifndef csTerrainSimpleDataFeeder_FACTORY_REGISTERED 
  #define csTerrainSimpleDataFeeder_FACTORY_REGISTERED 
    csTerrainSimpleDataFeeder_StaticInit csTerrainSimpleDataFeeder_static_init__; 
  #endif
  #ifndef csTerrainModifiableDataFeeder_FACTORY_REGISTERED 
  #define csTerrainModifiableDataFeeder_FACTORY_REGISTERED 
    csTerrainModifiableDataFeeder_StaticInit csTerrainModifiableDataFeeder_static_init__; 
  #endif
  #ifndef csTerrainMeshObjectType_FACTORY_REGISTERED 
  #define csTerrainMeshObjectType_FACTORY_REGISTERED 
    csTerrainMeshObjectType_StaticInit csTerrainMeshObjectType_static_init__; 
  #endif
public:
 terrain2();
};
terrain2::terrain2() {}

}
