Rigs of Rods 2026.01
Soft-body Physics Simulation
Loading...
Searching...
No Matches
Data Structures | Public Member Functions | Private Member Functions | Private Attributes
Hydrax::Module::RadialGrid Class Reference

Description

Hydrax radial grid module.

Definition at line 44 of file RadialGrid.h.

+ Inheritance diagram for Hydrax::Module::RadialGrid:

Data Structures

struct  Options
 

Public Member Functions

 RadialGrid (Hydrax *h, Noise::Noise *n, const MaterialManager::NormalMode &NormalMode)
 
 RadialGrid (Hydrax *h, Noise::Noise *n, const MaterialManager::NormalMode &NormalMode, const Options &Options)
 
 ~RadialGrid ()
 
void create ()
 
void remove ()
 
void update (const Ogre::Real &timeSinceLastFrame)
 
void setOptions (const Options &Options)
 
void saveCfg (Ogre::String &Data)
 
bool loadCfg (Ogre::ConfigFile &CfgFile)
 
float getHeigth (const Ogre::Vector2 &Position)
 
const Options & getOptions () const
 
const bool _createGeometry (Mesh *mMesh) const
 
- Public Member Functions inherited from Hydrax::Module::Module
 Module (const Ogre::String &Name, Noise::Noise *n, const Mesh::Options &MeshOptions, const MaterialManager::NormalMode &NormalMode)
 
virtual ~Module ()
 
void setNoise (Noise::Noise *Noise, GPUNormalMapManager *g=0, const bool &DeleteOldNoise=true)
 
const Ogre::String & getName () const
 
const bool & isCreated () const
 
const MaterialManager::NormalMode & getNormalMode () const
 
const Mesh::Options & getMeshOptions () const
 
Noise::Noise * getNoise ()
 

Private Member Functions

void _calculeNormals ()
 
void _performChoppyWaves ()
 

Private Attributes

void * mVertices
 
Mesh::POS_NORM_VERTEX * mVerticesChoppyBuffer
 
Options mOptions
 
Hydrax * mHydrax
 

Additional Inherited Members

- Protected Attributes inherited from Hydrax::Module::Module
Ogre::String mName
 
Noise::Noise * mNoise
 
Mesh::Options mMeshOptions
 
MaterialManager::NormalMode mNormalMode
 
bool mCreated
 

Constructor & Destructor Documentation

◆ RadialGrid() [1/2]

Hydrax::Module::RadialGrid::RadialGrid ( Hydrax *  h,
Noise::Noise *  n,
const MaterialManager::NormalMode &  NormalMode 
)

Constructor.

Parameters
hHydrax manager pointer
nHydrax noise module
NormalModeSwitch between MaterialManager::NM_VERTEX and Materialmanager::NM_RTT

Definition at line 50 of file RadialGrid.cpp.

◆ RadialGrid() [2/2]

Hydrax::Module::RadialGrid::RadialGrid ( Hydrax *  h,
Noise::Noise *  n,
const MaterialManager::NormalMode &  NormalMode,
const Options &  Options 
)

Constructor.

Parameters
hHydrax manager pointer
nHydrax noise module
NormalModeSwitch between MaterialManager::NM_VERTEX and Materialmanager::NM_RTT
OptionsPerlin options

Definition at line 59 of file RadialGrid.cpp.

◆ ~RadialGrid()

Hydrax::Module::RadialGrid::~RadialGrid ( )

Destructor.

Definition at line 69 of file RadialGrid.cpp.

Member Function Documentation

◆ _calculeNormals()

void Hydrax::Module::RadialGrid::_calculeNormals ( )
private

Calcule current normals.

Definition at line 528 of file RadialGrid.cpp.

◆ _createGeometry()

const bool Hydrax::Module::RadialGrid::_createGeometry ( Mesh *  mMesh) const
virtual

Create geometry in module(If special geometry is needed)

Parameters
mMeshMesh
Returns
false if it must be create by default Mesh::_createGeometry() fnc.

Reimplemented from Hydrax::Module::Module.

Definition at line 254 of file RadialGrid.cpp.

◆ _performChoppyWaves()

void Hydrax::Module::RadialGrid::_performChoppyWaves ( )
private

Perform choppy waves.

Definition at line 603 of file RadialGrid.cpp.

◆ create()

void Hydrax::Module::RadialGrid::create ( )
virtual

Create.

Reimplemented from Hydrax::Module::Module.

Definition at line 173 of file RadialGrid.cpp.

◆ getHeigth()

float Hydrax::Module::RadialGrid::getHeigth ( const Ogre::Vector2 &  Position)
virtual

Get the current heigth at a especified world-space point.

Parameters
PositionX/Z World position
Returns
Heigth at the given position in y-World coordinates, if it's outside of the water return -1

Reimplemented from Hydrax::Module::Module.

Definition at line 665 of file RadialGrid.cpp.

◆ getOptions()

const Options & Hydrax::Module::RadialGrid::getOptions ( ) const
inline

Get current options.

Returns
Current options

Definition at line 201 of file RadialGrid.h.

◆ loadCfg()

bool Hydrax::Module::RadialGrid::loadCfg ( Ogre::ConfigFile &  CfgFile)
virtual

Load config.

Returns
True if is the correct module config

Reimplemented from Hydrax::Module::Module.

Definition at line 412 of file RadialGrid.cpp.

◆ remove()

void Hydrax::Module::RadialGrid::remove ( )
virtual

Remove.

Reimplemented from Hydrax::Module::Module.

Definition at line 367 of file RadialGrid.cpp.

◆ saveCfg()

void Hydrax::Module::RadialGrid::saveCfg ( Ogre::String &  Data)
virtual

Save config.

Parameters
DataString reference

Reimplemented from Hydrax::Module::Module.

Definition at line 396 of file RadialGrid.cpp.

◆ setOptions()

void Hydrax::Module::RadialGrid::setOptions ( const Options &  Options)

Set options.

Parameters
OptionsOptions

Definition at line 76 of file RadialGrid.cpp.

◆ update()

void Hydrax::Module::RadialGrid::update ( const Ogre::Real &  timeSinceLastFrame)
virtual

Call it each frame.

Parameters
timeSinceLastFrameTime since last frame(delta)

Reimplemented from Hydrax::Module::Module.

Definition at line 434 of file RadialGrid.cpp.

Field Documentation

◆ mHydrax

Hydrax* Hydrax::Module::RadialGrid::mHydrax
private

Our Hydrax pointer.

Definition at line 231 of file RadialGrid.h.

◆ mOptions

Options Hydrax::Module::RadialGrid::mOptions
private

Our projected grid options.

Definition at line 228 of file RadialGrid.h.

◆ mVertices

void* Hydrax::Module::RadialGrid::mVertices
private

Vertex pointer (Mesh::POS_NORM_VERTEX or Mesh::POS_VERTEX)

Definition at line 222 of file RadialGrid.h.

◆ mVerticesChoppyBuffer

Mesh::POS_NORM_VERTEX* Hydrax::Module::RadialGrid::mVerticesChoppyBuffer
private

Use it to store vertex positions when choppy displacement is enabled.

Definition at line 225 of file RadialGrid.h.


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