11 #ifndef CAFU_WORLD_HPP_INCLUDED
12 #define CAFU_WORLD_HPP_INCLUDED
14 #include "Templates/Array.hpp"
15 #include "Math3D/BoundingBox.hpp"
16 #include "Math3D/Plane3.hpp"
17 #include "Math3D/Polygon.hpp"
18 #include "SceneGraph/FaceNode.hpp"
19 #include "SceneGraph/LightMapMan.hpp"
20 #include "SceneGraph/SHLMapMan.hpp"
21 #include "Terrain/Terrain.hpp"
22 #include "Plants/PlantDescrMan.hpp"
27 namespace cf {
namespace SceneGraph {
class BspTreeNodeT; } }
28 namespace cf {
namespace ClipSys {
class CollisionModelStaticT; } }
29 namespace cf {
namespace GameSys {
class WorldT; } }
30 namespace cf {
namespace GuiSys {
class GuiResourcesT; } }
50 void WriteTo(std::ostream& OutFile)
const;
92 typedef void (*ProgressFunctionT)(
float ProgressPercent,
const char* ProgressText);
117 void operator = (
const WorldT&);
unsigned long SideLength
Side length of the terrain height data.
Definition: World.hpp:54
WorldT()
Constructor for creating an empty world.
Definition: World.cpp:167
This class manages lightmaps, e.g. by "allocating" rectangular areas in larger bitmaps.
Definition: LightMapMan.hpp:25
This class represents terrains, offering methods for LoD rendering and collision detection.
Definition: Terrain.hpp:17
void SaveToDisk(const char *FileName) const
Saves the world to disk.
Definition: World.cpp:244
~WorldT()
Destructor.
Definition: World.cpp:172
This class manages SHL maps, e.g. by "allocating" rectangular areas in larger coefficient maps...
Definition: SHLMapMan.hpp:25
The plant description manager holds and manages all plant descriptions so they can be shared with mul...
Definition: PlantDescrMan.hpp:19
ArrayT< SharedTerrainT * > m_Terrains
Terrains are shared among the BspTree (graphics world) and the CollModel (physics world)...
Definition: World.hpp:73
BoundingBox3dT BB
The lateral dimensions of the terrain.
Definition: World.hpp:53
This class represents a surface material ("A datastructural representation of a scripts material def...
Definition: Material.hpp:22
The class represents a BSP Tree node, implementing the Composite design pattern.
Definition: BspTreeNode.hpp:30
This class represents a static collision model.
Definition: CollisionModel_static.hpp:25
This class is used for managing model instances.
Definition: ModelManager.hpp:31
static const double RoundEpsilon
The maximum amount that is allowed for geometry-related rounding errors.
Definition: World.hpp:36
ArrayT< unsigned short > HeightData
The height data this terrain is created from (size==SideLength*SideLength).
Definition: World.hpp:55
MaterialT * Material
The material for the terrain surface.
Definition: World.hpp:56
This class manages and provides resources (fonts and models) for GuiImplT instances.
Definition: GuiResources.hpp:26
static const double MinVertexDist
The minimum distance that vertices of faces and portals must be apart.
Definition: World.hpp:37