Rigs of Rods 2023.09
Soft-body Physics Simulation
All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
Loading...
Searching...
No Matches
Public Member Functions | Static Public Attributes | Private Member Functions | Private Attributes
RoR::Terrain Class Reference

#include <Terrain.h>

+ Inheritance diagram for RoR::Terrain:

Public Member Functions

 Terrain (CacheEntryPtr entry, Terrn2DocumentPtr def)
 
virtual ~Terrain () override
 
bool initialize ()
 
void dispose ()
 
General
std::string getTerrainName () const
 
std::string getTerrainFileName ()
 
std::string getTerrainFileResourceGroup ()
 
std::string getGUID () const
 
int getVersion () const
 
CacheEntryPtr getCacheEntry ()
 
Gameplay
bool isFlat ()
 
float getHeightAt (float x, float z)
 
Ogre::Vector3 getSpawnPos ()
 
Ogre::Degree getSpawnRot ()
 
Subsystems
void addSurveyMapEntity (const std::string &type, const std::string &filename, const std::string &resource_group, const std::string &caption, const Ogre::Vector3 &pos, float angle, int id)
 
void delSurveyMapEntities (int id)
 
SurveyMapEntityVecgetSurveyMapEntities ()
 
ProceduralManagerPtr getProceduralManager ()
 
float getWaterHeight () const
 
TerrainGeometryManagergetGeometryManager ()
 
TerrainObjectManagergetObjectManager ()
 
HydraxWatergetHydraxManager ()
 
SkyManager * getSkyManager ()
 
SkyXManagergetSkyXManager ()
 
ShadowManagergetShadowManager ()
 
TerrainEditorGetTerrainEditor ()
 
CollisionsGetCollisions ()
 
WavefieldgetWater ()
 
IGfxWatergetGfxWater ()
 
Visuals
Ogre::Light * getMainLight ()
 
int getFarClip () const
 
float getPagedDetailFactor () const
 
Simulation
void setGravity (float value)
 
float getGravity () const
 
Ogre::Vector3 GetNormalAt (float x, float y, float z)
 
Ogre::Vector3 getMaxTerrainSize ()
 
Ogre::AxisAlignedBox getTerrainCollisionAAB ()
 
Utility
Terrn2DocumentPtr GetDef ()
 
void LoadTelepoints ()
 
void LoadPredefinedActors ()
 
bool HasPredefinedActors ()
 
- Public Member Functions inherited from RefCountingObject< Terrain >
 RefCountingObject ()
 
virtual ~RefCountingObject ()
 
void AddRef ()
 
void Release ()
 

Static Public Attributes

static const int UNLIMITED_SIGHTRANGE = 4999
 

Private Member Functions

void initCamera ()
 
void initTerrainCollisions ()
 
void initFog ()
 
void initLight ()
 
void initObjects ()
 
void initScripting ()
 
void initAiPresets ()
 
void initShadows ()
 
void initSkySubSystem ()
 
void initVegetation ()
 
void initWater ()
 
void fixCompositorClearColor ()
 
void loadTerrainObjects ()
 

Private Attributes

TerrainObjectManagerm_object_manager = nullptr
 
TerrainGeometryManagerm_geometry_manager = nullptr
 
std::unique_ptr< IGfxWaterm_gfx_water
 
std::unique_ptr< Wavefieldm_wavefield
 
TerrainEditor m_terrain_editor
 
Collisionsm_collisions = nullptr
 
ShadowManagerm_shadow_manager = nullptr
 
SkyManager * m_sky_manager = nullptr
 
SkyXManagerSkyX_manager = nullptr
 
HydraxWaterm_hydrax_water = nullptr
 
CacheEntryPtr m_cache_entry
 
Terrn2DocumentPtr m_def
 
float m_paged_detail_factor = 0.f
 
int m_sight_range = 1000
 
Ogre::Light * m_main_light = nullptr
 
float m_cur_gravity = DEFAULT_GRAVITY
 
bool m_disposed = false
 

Additional Inherited Members

- Static Public Member Functions inherited from RefCountingObject< Terrain >
static void RegisterRefCountingObject (AS_NAMESPACE_QUALIFIER asIScriptEngine *engine, const char *name)
 
- Data Fields inherited from RefCountingObject< Terrain >
int m_refcount
 
std::mutex m_refcount_mtx
 

Detailed Description

Definition at line 41 of file Terrain.h.

Constructor & Destructor Documentation

◆ Terrain()

RoR::Terrain::Terrain ( CacheEntryPtr  entry,
Terrn2DocumentPtr  def 
)

Definition at line 54 of file Terrain.cpp.

◆ ~Terrain()

RoR::Terrain::~Terrain ( )
overridevirtual

Definition at line 71 of file Terrain.cpp.

Member Function Documentation

◆ addSurveyMapEntity()

void RoR::Terrain::addSurveyMapEntity ( const std::string &  type,
const std::string &  filename,
const std::string &  resource_group,
const std::string &  caption,
const Ogre::Vector3 &  pos,
float  angle,
int  id 
)

Definition at line 569 of file Terrain.cpp.

◆ delSurveyMapEntities()

void RoR::Terrain::delSurveyMapEntities ( int  id)

Definition at line 574 of file Terrain.cpp.

◆ dispose()

void RoR::Terrain::dispose ( )

Definition at line 79 of file Terrain.cpp.

◆ fixCompositorClearColor()

void RoR::Terrain::fixCompositorClearColor ( )
private

Definition at line 363 of file Terrain.cpp.

◆ getCacheEntry()

CacheEntryPtr RoR::Terrain::getCacheEntry ( )

Definition at line 592 of file Terrain.cpp.

◆ GetCollisions()

Collisions * RoR::Terrain::GetCollisions ( )
inline

Definition at line 86 of file Terrain.h.

◆ GetDef()

Terrn2DocumentPtr RoR::Terrain::GetDef ( )

Definition at line 584 of file Terrain.cpp.

◆ getFarClip()

int RoR::Terrain::getFarClip ( ) const
inline

Definition at line 94 of file Terrain.h.

◆ getGeometryManager()

TerrainGeometryManager * RoR::Terrain::getGeometryManager ( )
inline

Definition at line 79 of file Terrain.h.

◆ getGfxWater()

IGfxWater * RoR::Terrain::getGfxWater ( )
inline

Definition at line 88 of file Terrain.h.

◆ getGravity()

float RoR::Terrain::getGravity ( ) const
inline

Definition at line 101 of file Terrain.h.

◆ getGUID()

std::string RoR::Terrain::getGUID ( ) const

Definition at line 588 of file Terrain.cpp.

◆ getHeightAt()

float RoR::Terrain::getHeightAt ( float  x,
float  z 
)

Definition at line 512 of file Terrain.cpp.

◆ getHydraxManager()

HydraxWater * RoR::Terrain::getHydraxManager ( )
inline

Definition at line 81 of file Terrain.h.

◆ getMainLight()

Ogre::Light * RoR::Terrain::getMainLight ( )
inline

Definition at line 93 of file Terrain.h.

◆ getMaxTerrainSize()

Ogre::Vector3 RoR::Terrain::getMaxTerrainSize ( )

Definition at line 505 of file Terrain.cpp.

◆ GetNormalAt()

Ogre::Vector3 RoR::Terrain::GetNormalAt ( float  x,
float  y,
float  z 
)

Definition at line 517 of file Terrain.cpp.

◆ getObjectManager()

TerrainObjectManager * RoR::Terrain::getObjectManager ( )
inline

Definition at line 80 of file Terrain.h.

◆ getPagedDetailFactor()

float RoR::Terrain::getPagedDetailFactor ( ) const
inline

Definition at line 95 of file Terrain.h.

◆ getProceduralManager()

ProceduralManagerPtr RoR::Terrain::getProceduralManager ( )

Definition at line 554 of file Terrain.cpp.

◆ getShadowManager()

ShadowManager * RoR::Terrain::getShadowManager ( )
inline

Definition at line 84 of file Terrain.h.

◆ getSkyManager()

SkyManager * RoR::Terrain::getSkyManager ( )

Definition at line 522 of file Terrain.cpp.

◆ getSkyXManager()

SkyXManager * RoR::Terrain::getSkyXManager ( )
inline

Definition at line 83 of file Terrain.h.

◆ getSpawnPos()

Ogre::Vector3 RoR::Terrain::getSpawnPos ( )

Definition at line 594 of file Terrain.cpp.

◆ getSpawnRot()

Ogre::Degree RoR::Terrain::getSpawnRot ( )

Definition at line 596 of file Terrain.cpp.

◆ getSurveyMapEntities()

SurveyMapEntityVec & RoR::Terrain::getSurveyMapEntities ( )

Definition at line 579 of file Terrain.cpp.

◆ getTerrainCollisionAAB()

Ogre::AxisAlignedBox RoR::Terrain::getTerrainCollisionAAB ( )

Definition at line 500 of file Terrain.cpp.

◆ GetTerrainEditor()

TerrainEditor * RoR::Terrain::GetTerrainEditor ( )
inline

Definition at line 85 of file Terrain.h.

◆ getTerrainFileName()

std::string RoR::Terrain::getTerrainFileName ( )

Definition at line 559 of file Terrain.cpp.

◆ getTerrainFileResourceGroup()

std::string RoR::Terrain::getTerrainFileResourceGroup ( )

Definition at line 564 of file Terrain.cpp.

◆ getTerrainName()

std::string RoR::Terrain::getTerrainName ( ) const

Definition at line 586 of file Terrain.cpp.

◆ getVersion()

int RoR::Terrain::getVersion ( ) const

Definition at line 590 of file Terrain.cpp.

◆ getWater()

Wavefield * RoR::Terrain::getWater ( )
inline

Definition at line 87 of file Terrain.h.

◆ getWaterHeight()

float RoR::Terrain::getWaterHeight ( ) const

Definition at line 598 of file Terrain.cpp.

◆ HasPredefinedActors()

bool RoR::Terrain::HasPredefinedActors ( )

Definition at line 547 of file Terrain.cpp.

◆ initAiPresets()

void RoR::Terrain::initAiPresets ( )
private

Definition at line 482 of file Terrain.cpp.

◆ initCamera()

void RoR::Terrain::initCamera ( )
private

Definition at line 232 of file Terrain.cpp.

◆ initFog()

void RoR::Terrain::initFog ( )
private

Definition at line 336 of file Terrain.cpp.

◆ initialize()

bool RoR::Terrain::initialize ( )

Definition at line 151 of file Terrain.cpp.

◆ initLight()

void RoR::Terrain::initLight ( )
private

Definition at line 306 of file Terrain.cpp.

◆ initObjects()

void RoR::Terrain::initObjects ( )
private

Definition at line 495 of file Terrain.cpp.

◆ initScripting()

void RoR::Terrain::initScripting ( )
private

Definition at line 458 of file Terrain.cpp.

◆ initShadows()

void RoR::Terrain::initShadows ( )
private

Definition at line 436 of file Terrain.cpp.

◆ initSkySubSystem()

void RoR::Terrain::initSkySubSystem ( )
private

Definition at line 260 of file Terrain.cpp.

◆ initTerrainCollisions()

void RoR::Terrain::initTerrainCollisions ( )
private

Definition at line 450 of file Terrain.cpp.

◆ initVegetation()

void RoR::Terrain::initVegetation ( )
private

Definition at line 344 of file Terrain.cpp.

◆ initWater()

void RoR::Terrain::initWater ( )
private

Definition at line 390 of file Terrain.cpp.

◆ isFlat()

bool RoR::Terrain::isFlat ( )

Definition at line 527 of file Terrain.cpp.

◆ LoadPredefinedActors()

void RoR::Terrain::LoadPredefinedActors ( )

Definition at line 541 of file Terrain.cpp.

◆ LoadTelepoints()

void RoR::Terrain::LoadTelepoints ( )

Definition at line 535 of file Terrain.cpp.

◆ loadTerrainObjects()

void RoR::Terrain::loadTerrainObjects ( )
private

Definition at line 442 of file Terrain.cpp.

◆ setGravity()

void RoR::Terrain::setGravity ( float  value)

Definition at line 490 of file Terrain.cpp.

Field Documentation

◆ m_cache_entry

CacheEntryPtr RoR::Terrain::m_cache_entry
private

Definition at line 148 of file Terrain.h.

◆ m_collisions

Collisions* RoR::Terrain::m_collisions = nullptr
private

Definition at line 140 of file Terrain.h.

◆ m_cur_gravity

float RoR::Terrain::m_cur_gravity = DEFAULT_GRAVITY
private

Definition at line 156 of file Terrain.h.

◆ m_def

Terrn2DocumentPtr RoR::Terrain::m_def
private

Definition at line 149 of file Terrain.h.

◆ m_disposed

bool RoR::Terrain::m_disposed = false
private

Definition at line 157 of file Terrain.h.

◆ m_geometry_manager

TerrainGeometryManager* RoR::Terrain::m_geometry_manager = nullptr
private

Definition at line 136 of file Terrain.h.

◆ m_gfx_water

std::unique_ptr<IGfxWater> RoR::Terrain::m_gfx_water
private

Definition at line 137 of file Terrain.h.

◆ m_hydrax_water

HydraxWater* RoR::Terrain::m_hydrax_water = nullptr
private

Definition at line 144 of file Terrain.h.

◆ m_main_light

Ogre::Light* RoR::Terrain::m_main_light = nullptr
private

Definition at line 155 of file Terrain.h.

◆ m_object_manager

TerrainObjectManager* RoR::Terrain::m_object_manager = nullptr
private

Definition at line 135 of file Terrain.h.

◆ m_paged_detail_factor

float RoR::Terrain::m_paged_detail_factor = 0.f
private

Definition at line 150 of file Terrain.h.

◆ m_shadow_manager

ShadowManager* RoR::Terrain::m_shadow_manager = nullptr
private

Definition at line 141 of file Terrain.h.

◆ m_sight_range

int RoR::Terrain::m_sight_range = 1000
private

Definition at line 151 of file Terrain.h.

◆ m_sky_manager

SkyManager* RoR::Terrain::m_sky_manager = nullptr
private

Definition at line 142 of file Terrain.h.

◆ m_terrain_editor

TerrainEditor RoR::Terrain::m_terrain_editor
private

Definition at line 139 of file Terrain.h.

◆ m_wavefield

std::unique_ptr<Wavefield> RoR::Terrain::m_wavefield
private

Definition at line 138 of file Terrain.h.

◆ SkyX_manager

SkyXManager* RoR::Terrain::SkyX_manager = nullptr
private

Definition at line 143 of file Terrain.h.

◆ UNLIMITED_SIGHTRANGE

const int RoR::Terrain::UNLIMITED_SIGHTRANGE = 4999
static

Definition at line 44 of file Terrain.h.


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