24 #ifndef _SkyX_VClouds_GeometryBlock_H_
25 #define _SkyX_VClouds_GeometryBlock_H_
29 namespace SkyX {
namespace VClouds {
64 const float& Height,
const Ogre::Radian& Alpha,
65 const Ogre::Radian& Beta,
66 const float& Radius,
const Ogre::Radian& Phi,
const int& Na,
67 const int& Nb,
const int& Nc,
const int& A,
68 const int& B,
const int& C,
const int& Position);
86 void updateGeometry(Ogre::Camera* c,
const Ogre::Vector3& displacement);
125 return mVertexBuffer;
141 mWorldOffset = WorldOffset;
148 bool isInFrustum(Ogre::Camera *c)
const;
155 const Ogre::AxisAlignedBox _buildAABox(
const float& fd)
const;
159 void _calculateDataSize();
163 void _createGeometry();
167 void _updateGeometry();
172 void _updateZoneCSlice(
const int& n);
177 void _updateZoneBSlice(
const int& n);
182 void _updateZoneASlice(
const int& n);
189 void _setVertexData(
const int& index,
const Ogre::Vector3& p,
199 Ogre::SubMesh *mSubMesh;
202 Ogre::Entity *mEntity;
208 int mNumberOfTriangles;
215 Ogre::Radian mAlpha, mBeta;
231 Ogre::Vector3 mDisplacement;
233 Ogre::Vector2 mWorldOffset;
239 float mLastFallingDistance;
244 Ogre::HardwareVertexBufferSharedPtr mVertexBuffer;
246 Ogre::HardwareIndexBufferSharedPtr mIndexBuffer;
249 Ogre::Vector2 mV2Cos;
250 Ogre::Vector2 mV2Sin;
const bool & isCreated() const
Has been create() already called?
Definition: GeometryBlock.h:91
Ogre::MeshPtr getMesh()
Get mesh.
Definition: GeometryBlock.h:99
Vertex struct.
Definition: GeometryBlock.h:38
Ogre::HardwareVertexBufferSharedPtr & getHardwareVertexBuffer()
Get hardware vertex buffer reference.
Definition: GeometryBlock.h:123
Ogre::SubMesh * getSubMesh()
Get sub mesh.
Definition: GeometryBlock.h:107
Ogre::HardwareIndexBufferSharedPtr & getHardwareIndexBuffer()
Get hardware index buffer reference.
Definition: GeometryBlock.h:131
void create()
Create SkyX.
Ogre::Entity * getEntity()
Get entity.
Definition: GeometryBlock.h:115
Ogre::Camera * mCamera
Current rendering camera.
Definition: SkyX.h:404
void setWorldOffset(const Ogre::Vector2 &WorldOffset)
Set world offset.
Definition: GeometryBlock.h:139
Definition: GeometryBlock.h:33
SkyX(Ogre::SceneManager *sm, Controller *c)
Contructor.
float zc
Definition: GeometryBlock.h:40
bool mCreated
Is SkyX created?
Definition: SkyX.h:422
#define DllExport
Include external headers.
Definition: Prerequisites.h:45