|
RigsofRods
Soft-body Physics Simulation
|
Go to the documentation of this file.
24 #ifndef _SkyX_VClouds_GeometryManager_H_
25 #define _SkyX_VClouds_GeometryManager_H_
27 #include "Prerequisites.h"
31 namespace SkyX {
namespace VClouds{
57 void create(
const Ogre::Vector2& Height,
const float& Radius,
58 const Ogre::Radian& Alpha,
const Ogre::Radian& Beta,
59 const int& NumberOfBlocks,
const int& Na,
const int& Nb,
const int& Nc);
68 void update(
const Ogre::Real& timeSinceLastFrame);
74 void updateGeometry(Ogre::Camera* c,
const Ogre::Real& timeSinceLastCameraFrame);
130 void _updateGeometry(Ogre::Camera* c,
const Ogre::Real& timeSinceLastFrame);
Ogre::Radian mAlpha
Angles.
void _updateRenderQueueGroup(const Ogre::uint8 &rqg)
Update render queue group.
Ogre::Vector3 mCurrentDistance
Current camera-clouds distance.
const Ogre::Vector3 _getCurrentDistance() const
Get current camera to cloud field distance.
std::vector< GeometryBlock * > mGeometryBlocks
Geometry blocks.
const Ogre::Vector2 getHeight() const
Get height (x = Altitude over the camera, y: Field height (both in world coordinates))
Ogre::Vector2 mHeight
Height: x = Altitude over the camera, y: Field height (both in world coordinates)
void create(const Ogre::Vector2 &Height, const float &Radius, const Ogre::Radian &Alpha, const Ogre::Radian &Beta, const int &NumberOfBlocks, const int &Na, const int &Nb, const int &Nc)
Create.
Ogre::SceneNode * getSceneNode()
Get scene node.
GeometryManager(VClouds *vc)
Constructor.
float mA
A, B and C radius.
~GeometryManager()
Destructor.
int mNa
Number of slices per geometry zone.
void update(const Ogre::Real &timeSinceLastFrame)
Update, to be invoked per frame.
const bool & isCreated() const
Has been create() already called?
Ogre::SceneNode * mSceneNode
Scene node.
void _createGeometry()
Create geometry.
bool mCreated
Has been create() already called?
int mNumberOfBlocks
Number of blocks.
VClouds * mVClouds
VClouds pointer.
Ogre::Vector2 mWorldOffset
World coords offset.
void updateGeometry(Ogre::Camera *c, const Ogre::Real &timeSinceLastCameraFrame)
Update geoemtry.
Ogre::Radian mPhi
Azimutal angle per block.
void _setMaterialName(const Ogre::String &mn)
Set material name.
void _updateGeometry(Ogre::Camera *c, const Ogre::Real &timeSinceLastFrame)
Update geometry.